ng-pli-commons 1.0.135 → 1.0.137

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 (226) hide show
  1. package/esm2022/lib/components/backoffice.commons.component.mjs +41 -0
  2. package/esm2022/lib/components/common.lists.component.mjs +177 -0
  3. package/esm2022/lib/components/configuration-token/configuration-token-subject.service.mjs +23 -0
  4. package/esm2022/lib/components/configuration-token/configuration-token.component.mjs +665 -0
  5. package/esm2022/lib/components/configuration-token/guarantee-token/guarantee-token.component.mjs +103 -0
  6. package/esm2022/lib/components/configuration-token/snapshot-token/snapshot-token.component.mjs +108 -0
  7. package/esm2022/lib/components/configuration.commons.component.mjs +41 -0
  8. package/esm2022/lib/components/dashboard.commons.component.mjs +85 -0
  9. package/esm2022/lib/components/dynamic-filter/dynamic-filter.component.mjs +131 -0
  10. package/esm2022/lib/components/excel-to-json/excel-to-json.component.mjs +54 -0
  11. package/esm2022/lib/components/frontoffice.commons.component.mjs +89 -0
  12. package/esm2022/lib/components/pdf-analyzer/pdf-analyzer.component.mjs +162 -0
  13. package/esm2022/lib/components/pdf-config/pdf-config.component.mjs +170 -0
  14. package/esm2022/lib/components/pdf-generator/pdf-generator.component.mjs +207 -0
  15. package/esm2022/lib/components/pdf-merge-visualizer/pdf-merge-visualizer.component.mjs +307 -0
  16. package/esm2022/lib/components/pdf-visualizer/pdf-visualizer.component.mjs +387 -0
  17. package/esm2022/lib/components/progress-bar/progress-bar.component.mjs +92 -0
  18. package/esm2022/lib/components/segmentation-tokens/segmentation-tokens.component.mjs +199 -0
  19. package/esm2022/lib/components/select-ppp/select-ppp.component.mjs +200 -0
  20. package/esm2022/lib/components/show-hide-columns/show-hide-columns-table.component.mjs +116 -0
  21. package/esm2022/lib/components/token/token.component.mjs +1047 -0
  22. package/esm2022/lib/components/tokens-calculator/tokens-calculator.component.mjs +128 -0
  23. package/esm2022/lib/directives/currency-colfuturo-formatter.directive.mjs +48 -0
  24. package/esm2022/lib/directives/currency-decimal-colfuturo-formatter.directive.mjs +35 -0
  25. package/esm2022/lib/ng-pli-commons.module.mjs +385 -0
  26. package/esm2022/lib/ng-pli-commons.service.mjs +14 -0
  27. package/esm2022/lib/pipes/currency-colfuturo.pipe.mjs +36 -0
  28. package/esm2022/lib/pipes/currency-decimal-colfuturo.pipe.mjs +39 -0
  29. package/esm2022/lib/pipes/currency-print-colfuturo.pipe.mjs +34 -0
  30. package/esm2022/lib/pipes/thousands.pipe.mjs +61 -0
  31. package/esm2022/lib/services/application-fill-percentage.service.mjs +30 -0
  32. package/esm2022/lib/services/application-pdf-form.service.mjs +27 -0
  33. package/esm2022/lib/services/application-tag.service.mjs +56 -0
  34. package/esm2022/lib/services/application.service.mjs +253 -0
  35. package/esm2022/lib/services/assign-task.service.mjs +30 -0
  36. package/esm2022/lib/services/authentication.service.mjs +133 -0
  37. package/esm2022/lib/services/blocked-beneficiary.service.mjs +42 -0
  38. package/esm2022/lib/services/budget-application.service.mjs +265 -0
  39. package/esm2022/lib/services/budget-setup.service.mjs +26 -0
  40. package/esm2022/lib/services/budget-simulation.service.mjs +65 -0
  41. package/esm2022/lib/services/budget.service.mjs +205 -0
  42. package/esm2022/lib/services/closure-wallet.service.mjs +39 -0
  43. package/esm2022/lib/services/cnf-correspondence-document-manager.service.mjs +39 -0
  44. package/esm2022/lib/services/codebtors.service.mjs +28 -0
  45. package/esm2022/lib/services/committee-assistant.service.mjs +55 -0
  46. package/esm2022/lib/services/committee-money.service.mjs +44 -0
  47. package/esm2022/lib/services/committee-pdf.service.mjs +27 -0
  48. package/esm2022/lib/services/committee-snapshot.service.mjs +60 -0
  49. package/esm2022/lib/services/common-info.service.mjs +51 -0
  50. package/esm2022/lib/services/common.service.mjs +285 -0
  51. package/esm2022/lib/services/configuration-document.service.mjs +297 -0
  52. package/esm2022/lib/services/configuration-minisite.service.mjs +26 -0
  53. package/esm2022/lib/services/configuration.service.mjs +53 -0
  54. package/esm2022/lib/services/correspondence-document-category.service.mjs +31 -0
  55. package/esm2022/lib/services/correspondence-manager.service.mjs +74 -0
  56. package/esm2022/lib/services/credit-score.service.mjs +48 -0
  57. package/esm2022/lib/services/credit-study.service.mjs +292 -0
  58. package/esm2022/lib/services/cube.service.mjs +27 -0
  59. package/esm2022/lib/services/data-form-history.service.mjs +25 -0
  60. package/esm2022/lib/services/data-form.service.mjs +176 -0
  61. package/esm2022/lib/services/data-letter-segmentation.service.mjs +64 -0
  62. package/esm2022/lib/services/document-analysis-auto.service.mjs +27 -0
  63. package/esm2022/lib/services/document-history.service.mjs +43 -0
  64. package/esm2022/lib/services/document-management.service.mjs +57 -0
  65. package/esm2022/lib/services/document-process.service.mjs +27 -0
  66. package/esm2022/lib/services/document-validation-attempt.service.mjs +32 -0
  67. package/esm2022/lib/services/document.service.mjs +144 -0
  68. package/esm2022/lib/services/documentary.type.service.mjs +69 -0
  69. package/esm2022/lib/services/email.service.mjs +30 -0
  70. package/esm2022/lib/services/evaluation.service.mjs +181 -0
  71. package/esm2022/lib/services/export-excel.service.mjs +32 -0
  72. package/esm2022/lib/services/file.service.mjs +153 -0
  73. package/esm2022/lib/services/form.service.mjs +112 -0
  74. package/esm2022/lib/services/gic-client-disbursement-metadata.service.mjs +31 -0
  75. package/esm2022/lib/services/gic-client.service.mjs +49 -0
  76. package/esm2022/lib/services/gic-cnf-bankvision-transaction.service.mjs +31 -0
  77. package/esm2022/lib/services/gic-cnf-closing-date.service.mjs +34 -0
  78. package/esm2022/lib/services/gic-cnf-maintenance.service.mjs +30 -0
  79. package/esm2022/lib/services/gic-collection.service.mjs +53 -0
  80. package/esm2022/lib/services/gic-disbursement.service.mjs +39 -0
  81. package/esm2022/lib/services/gic-extract.service.mjs +41 -0
  82. package/esm2022/lib/services/gic-log.service.mjs +41 -0
  83. package/esm2022/lib/services/gic-payment-application.service.mjs +35 -0
  84. package/esm2022/lib/services/gic-payment-plan-cube.service.mjs +27 -0
  85. package/esm2022/lib/services/gic-payment-plan.service.mjs +32 -0
  86. package/esm2022/lib/services/gic-trm.service.mjs +27 -0
  87. package/esm2022/lib/services/global.show.task.service.mjs +37 -0
  88. package/esm2022/lib/services/guarantee-document.service.mjs +52 -0
  89. package/esm2022/lib/services/guarantee-enrollment.service.mjs +37 -0
  90. package/esm2022/lib/services/guarantee.service.mjs +128 -0
  91. package/esm2022/lib/services/guarantees-summary-service.mjs +26 -0
  92. package/esm2022/lib/services/hash.service.mjs +36 -0
  93. package/esm2022/lib/services/import-data.service.mjs +27 -0
  94. package/esm2022/lib/services/import-excel-gic.service.mjs +53 -0
  95. package/esm2022/lib/services/initial-configuration-gic-parameters.service.mjs +51 -0
  96. package/esm2022/lib/services/initial-record.service.mjs +51 -0
  97. package/esm2022/lib/services/integration-ado.service.mjs +54 -0
  98. package/esm2022/lib/services/interaction-application-user.service.mjs +81 -0
  99. package/esm2022/lib/services/interest-adjustment.service.mjs +34 -0
  100. package/esm2022/lib/services/keys-assignation.service.mjs +127 -0
  101. package/esm2022/lib/services/legalization.service.mjs +150 -0
  102. package/esm2022/lib/services/letter-campaing.service.mjs +49 -0
  103. package/esm2022/lib/services/letter-task-mapping.service.mjs +40 -0
  104. package/esm2022/lib/services/log.service.mjs +41 -0
  105. package/esm2022/lib/services/maintenance.service.mjs +86 -0
  106. package/esm2022/lib/services/master-category.service.mjs +66 -0
  107. package/esm2022/lib/services/master-program.service.mjs +78 -0
  108. package/esm2022/lib/services/master-university.service.mjs +79 -0
  109. package/esm2022/lib/services/migration-plis.service.mjs +27 -0
  110. package/esm2022/lib/services/migration-survey-queue.service.mjs +24 -0
  111. package/esm2022/lib/services/openkm-document.service.mjs +27 -0
  112. package/esm2022/lib/services/page.service.mjs +38 -0
  113. package/esm2022/lib/services/partner-system.service.mjs +30 -0
  114. package/esm2022/lib/services/partner.service.mjs +34 -0
  115. package/esm2022/lib/services/pdf-analyzer.service.mjs +33 -0
  116. package/esm2022/lib/services/people-master.service.mjs +42 -0
  117. package/esm2022/lib/services/permission.service.mjs +29 -0
  118. package/esm2022/lib/services/pli-cnf-acuity-fields.service.mjs +34 -0
  119. package/esm2022/lib/services/pli-cnf-app-card-filter.service.mjs +40 -0
  120. package/esm2022/lib/services/pli-cnf-appointment-type.service.mjs +41 -0
  121. package/esm2022/lib/services/pli-cnf-budget-program-type.service.mjs +54 -0
  122. package/esm2022/lib/services/pli-cnf-budget.service.mjs +31 -0
  123. package/esm2022/lib/services/pli-cnf-cloning.service.mjs +27 -0
  124. package/esm2022/lib/services/pli-cnf-committee-pdf-config-table-config.service.mjs +47 -0
  125. package/esm2022/lib/services/pli-cnf-committee-pdf-gen-status.service.mjs +30 -0
  126. package/esm2022/lib/services/pli-cnf-committee-valpro-columns.service.mjs +42 -0
  127. package/esm2022/lib/services/pli-cnf-committee-visualization-mode.service.mjs +42 -0
  128. package/esm2022/lib/services/pli-cnf-committee.service.mjs +66 -0
  129. package/esm2022/lib/services/pli-cnf-config-minisite.service.mjs +90 -0
  130. package/esm2022/lib/services/pli-cnf-configuration-credit-study.service.mjs +41 -0
  131. package/esm2022/lib/services/pli-cnf-document-management.service.mjs +40 -0
  132. package/esm2022/lib/services/pli-cnf-dynamic-keys-assign.service.mjs +52 -0
  133. package/esm2022/lib/services/pli-cnf-evaluation-task-mailing.service.mjs +31 -0
  134. package/esm2022/lib/services/pli-cnf-evaluation-task-template.service.mjs +39 -0
  135. package/esm2022/lib/services/pli-cnf-evaluation-task.service.mjs +112 -0
  136. package/esm2022/lib/services/pli-cnf-evaluation-template.service.mjs +95 -0
  137. package/esm2022/lib/services/pli-cnf-form-edit.service.mjs +68 -0
  138. package/esm2022/lib/services/pli-cnf-form-multiaplicacion.service.mjs +46 -0
  139. package/esm2022/lib/services/pli-cnf-guarantee-documents-template.service.mjs +40 -0
  140. package/esm2022/lib/services/pli-cnf-guarantee-token.service.mjs +42 -0
  141. package/esm2022/lib/services/pli-cnf-header.service.mjs +39 -0
  142. package/esm2022/lib/services/pli-cnf-indicator.service.mjs +39 -0
  143. package/esm2022/lib/services/pli-cnf-information-system.service.mjs +24 -0
  144. package/esm2022/lib/services/pli-cnf-interaction.service.mjs +78 -0
  145. package/esm2022/lib/services/pli-cnf-letter-template-type.service.mjs +29 -0
  146. package/esm2022/lib/services/pli-cnf-letter-template.service.mjs +48 -0
  147. package/esm2022/lib/services/pli-cnf-look-and-feel.service.mjs +28 -0
  148. package/esm2022/lib/services/pli-cnf-mail.service.mjs +30 -0
  149. package/esm2022/lib/services/pli-cnf-menu-form.service.mjs +34 -0
  150. package/esm2022/lib/services/pli-cnf-migration-plis-field-budget.service.mjs +34 -0
  151. package/esm2022/lib/services/pli-cnf-migration-plis-field.service.mjs +47 -0
  152. package/esm2022/lib/services/pli-cnf-migration-status-plis.service.mjs +44 -0
  153. package/esm2022/lib/services/pli-cnf-page-section-form.service.mjs +66 -0
  154. package/esm2022/lib/services/pli-cnf-page-sub-process.service.mjs +25 -0
  155. package/esm2022/lib/services/pli-cnf-pdfs.service.mjs +31 -0
  156. package/esm2022/lib/services/pli-cnf-profile-form.service.mjs +40 -0
  157. package/esm2022/lib/services/pli-cnf-profile-user.service.mjs +49 -0
  158. package/esm2022/lib/services/pli-cnf-project-summary.service.mjs +39 -0
  159. package/esm2022/lib/services/pli-cnf-scenario.service.mjs +47 -0
  160. package/esm2022/lib/services/pli-cnf-segmentation.service.mjs +72 -0
  161. package/esm2022/lib/services/pli-cnf-snapshot-token.service.mjs +42 -0
  162. package/esm2022/lib/services/pli-cnf-status-flow-interaction.service.mjs +74 -0
  163. package/esm2022/lib/services/pli-cnf-status-flow.service.mjs +56 -0
  164. package/esm2022/lib/services/pli-cnf-support-document-category.service.mjs +47 -0
  165. package/esm2022/lib/services/pli-cnf-support-document.service.mjs +56 -0
  166. package/esm2022/lib/services/pli-cnf-survey-document.service.mjs +37 -0
  167. package/esm2022/lib/services/pli-cnf-survey-pdf.service.mjs +34 -0
  168. package/esm2022/lib/services/pli-cnf-survey.service.mjs +46 -0
  169. package/esm2022/lib/services/pli-cnf-task-group.service.mjs +33 -0
  170. package/esm2022/lib/services/pli-cnf-text-category.service.mjs +38 -0
  171. package/esm2022/lib/services/pli-cnf-text-option.service.mjs +39 -0
  172. package/esm2022/lib/services/pli-cnf-text.service.mjs +62 -0
  173. package/esm2022/lib/services/pli-cnf-type-text.service.mjs +45 -0
  174. package/esm2022/lib/services/pli-cnf-university-article.service.mjs +39 -0
  175. package/esm2022/lib/services/pli-cnf-user-calendar.service.mjs +36 -0
  176. package/esm2022/lib/services/pli-cnf-user-workspace.service.mjs +35 -0
  177. package/esm2022/lib/services/pli-cnf-valpro-keys.service.mjs +35 -0
  178. package/esm2022/lib/services/pli-cnf-workspace-segmentation.service.mjs +31 -0
  179. package/esm2022/lib/services/pli-message-type.service.mjs +40 -0
  180. package/esm2022/lib/services/pli-multiple-value-filter.service.mjs +39 -0
  181. package/esm2022/lib/services/pli-promocion-username.service.mjs +57 -0
  182. package/esm2022/lib/services/pli-seg-action-user.service.mjs +37 -0
  183. package/esm2022/lib/services/pli-segmentation.service.mjs +130 -0
  184. package/esm2022/lib/services/pli-tag-assignment.service.mjs +36 -0
  185. package/esm2022/lib/services/pli-tag.service.mjs +55 -0
  186. package/esm2022/lib/services/pli-user.service.mjs +51 -0
  187. package/esm2022/lib/services/plis-beneficiario.service.mjs +29 -0
  188. package/esm2022/lib/services/plis-estatus-change.service.mjs +30 -0
  189. package/esm2022/lib/services/post-selection.service.mjs +25 -0
  190. package/esm2022/lib/services/ppp.service.mjs +360 -0
  191. package/esm2022/lib/services/profile.service.mjs +60 -0
  192. package/esm2022/lib/services/progress-bar.service.mjs +40 -0
  193. package/esm2022/lib/services/promotion-score.service.mjs +44 -0
  194. package/esm2022/lib/services/registry-identifier.service.mjs +49 -0
  195. package/esm2022/lib/services/return-refund.service.mjs +53 -0
  196. package/esm2022/lib/services/segmentation-tokens.service.mjs +43 -0
  197. package/esm2022/lib/services/segmentation-user-service.service.mjs +94 -0
  198. package/esm2022/lib/services/segmentation.service.mjs +31 -0
  199. package/esm2022/lib/services/send-application.service.mjs +541 -0
  200. package/esm2022/lib/services/sesion-form.service.mjs +31 -0
  201. package/esm2022/lib/services/sesion.service.mjs +48 -0
  202. package/esm2022/lib/services/spinner.service.mjs +16 -0
  203. package/esm2022/lib/services/sponsorship-letter.service.mjs +68 -0
  204. package/esm2022/lib/services/status.service.mjs +104 -0
  205. package/esm2022/lib/services/summary-budget.service.mjs +24 -0
  206. package/esm2022/lib/services/survey-metadata.service.mjs +28 -0
  207. package/esm2022/lib/services/survey-queue.service.mjs +24 -0
  208. package/esm2022/lib/services/survey.service.mjs +52 -0
  209. package/esm2022/lib/services/tag-management.service.mjs +58 -0
  210. package/esm2022/lib/services/tasa.cambio.service.mjs +35 -0
  211. package/esm2022/lib/services/token-transformation.service.mjs +62 -0
  212. package/esm2022/lib/services/token.service.mjs +1477 -0
  213. package/esm2022/lib/services/university.service.mjs +50 -0
  214. package/esm2022/lib/services/upload-documents.service.mjs +60 -0
  215. package/esm2022/lib/services/user.service.mjs +28 -0
  216. package/esm2022/lib/services/visualization-committee.service.mjs +91 -0
  217. package/esm2022/lib/utils/custom-validator.mjs +95 -0
  218. package/esm2022/lib/utils/form-util.mjs +35 -0
  219. package/esm2022/lib/utils/formio-util.mjs +582 -0
  220. package/esm2022/lib/utils/version-commons.mjs +10 -0
  221. package/esm2022/ng-pli-commons.mjs +5 -0
  222. package/esm2022/public-api.mjs +226 -0
  223. package/esm2022/version.mjs +29 -0
  224. package/fesm2022/ng-pli-commons.mjs +657 -657
  225. package/fesm2022/ng-pli-commons.mjs.map +1 -1
  226. package/package.json +3 -1
@@ -0,0 +1,48 @@
1
+ import { Injectable, Inject } from '@angular/core';
2
+ import { HttpParams } from '@angular/common/http';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common/http";
5
+ export class CreditScoreService {
6
+ constructor(environment, httpClient) {
7
+ this.environment = environment;
8
+ this.httpClient = httpClient;
9
+ }
10
+ calculateCodebtorsScore(promCodigo, applicationId, cccodebtor) {
11
+ return this.httpClient.get(this.environment.host.backend.backoffice + 'credit-score/calculateCodebtorsScore', {
12
+ params: new HttpParams()
13
+ .set('applicationId', applicationId)
14
+ .set('cccodebtor', cccodebtor)
15
+ .set('promCodigo', String(promCodigo))
16
+ });
17
+ }
18
+ calculateScore(promCodigo, lApplicationId) {
19
+ return this.httpClient.post(this.environment.host.backend.backoffice + 'credit-score/calculateScore', lApplicationId, {
20
+ params: new HttpParams().set('promCodigo', String(promCodigo))
21
+ });
22
+ }
23
+ getCreditScoreDate(identification, promCodigo) {
24
+ return this.httpClient.post(this.environment.host.backend.backoffice + 'credit-score/getCreditScoreDate', identification, {
25
+ params: new HttpParams().set('promCodigo', String(promCodigo))
26
+ });
27
+ }
28
+ getByIdentificationAndPromCodigo(identification, promCodigo) {
29
+ return this.httpClient.get(this.environment.host.backend.backoffice +
30
+ 'credit-score/getByIdentificationAndPromCodigo', {
31
+ params: new HttpParams()
32
+ .set('promCodigo', String(promCodigo))
33
+ .set('identification', identification)
34
+ });
35
+ }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreditScoreService, deps: [{ token: 'environment' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreditScoreService, providedIn: 'root' }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreditScoreService, decorators: [{
40
+ type: Injectable,
41
+ args: [{
42
+ providedIn: 'root'
43
+ }]
44
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
45
+ type: Inject,
46
+ args: ['environment']
47
+ }] }, { type: i1.HttpClient }] });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LXNjb3JlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wbGktY29tbW9ucy9zcmMvbGliL3NlcnZpY2VzL2NyZWRpdC1zY29yZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBTTlELE1BQU0sT0FBTyxrQkFBa0I7SUFDOUIsWUFBMkMsV0FBZ0IsRUFBVSxVQUFzQjtRQUFoRCxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBRyxDQUFDO0lBRS9GLHVCQUF1QixDQUN0QixVQUFrQixFQUNsQixhQUFxQixFQUNyQixVQUFrQjtRQUVsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLHNDQUFzQyxFQUNqRjtZQUNDLE1BQU0sRUFBRSxJQUFJLFVBQVUsRUFBRTtpQkFDdEIsR0FBRyxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUM7aUJBQ25DLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDO2lCQUM3QixHQUFHLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN2QyxDQUNELENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLFVBQWtCLEVBQUUsY0FBd0I7UUFDMUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyw2QkFBNkIsRUFDeEUsY0FBYyxFQUNkO1lBQ0MsTUFBTSxFQUFFLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDOUQsQ0FDRCxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLGNBQXdCLEVBQUUsVUFBa0I7UUFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxpQ0FBaUMsRUFDNUUsY0FBYyxFQUNkO1lBQ0MsTUFBTSxFQUFFLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDOUQsQ0FDRCxDQUFDO0lBQ0gsQ0FBQztJQUVELGdDQUFnQyxDQUFDLGNBQXNCLEVBQUUsVUFBa0I7UUFDMUUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVU7WUFDdkMsK0NBQStDLEVBQ2hEO1lBQ0MsTUFBTSxFQUFFLElBQUksVUFBVSxFQUFFO2lCQUN0QixHQUFHLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDckMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQztTQUN2QyxDQUNELENBQUM7SUFDSCxDQUFDOytHQWpEVyxrQkFBa0Isa0JBQ1YsYUFBYTttSEFEckIsa0JBQWtCLGNBRmxCLE1BQU07OzRGQUVOLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEI7OzBCQUVhLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcmVkaXRTY29yZVNlcnZpY2Uge1xyXG5cdGNvbnN0cnVjdG9yKEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55LCBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHt9XHJcblxyXG5cdGNhbGN1bGF0ZUNvZGVidG9yc1Njb3JlKFxyXG5cdFx0cHJvbUNvZGlnbzogbnVtYmVyLFxyXG5cdFx0YXBwbGljYXRpb25JZDogc3RyaW5nLFxyXG5cdFx0Y2Njb2RlYnRvcjogc3RyaW5nXHJcblx0KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5iYWNrb2ZmaWNlICsgJ2NyZWRpdC1zY29yZS9jYWxjdWxhdGVDb2RlYnRvcnNTY29yZScsXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKClcclxuXHRcdFx0XHRcdC5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkKVxyXG5cdFx0XHRcdFx0LnNldCgnY2Njb2RlYnRvcicsIGNjY29kZWJ0b3IpXHJcblx0XHRcdFx0XHQuc2V0KCdwcm9tQ29kaWdvJywgU3RyaW5nKHByb21Db2RpZ28pKVxyXG5cdFx0XHR9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0Y2FsY3VsYXRlU2NvcmUocHJvbUNvZGlnbzogbnVtYmVyLCBsQXBwbGljYXRpb25JZDogc3RyaW5nW10pIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuYmFja29mZmljZSArICdjcmVkaXQtc2NvcmUvY2FsY3VsYXRlU2NvcmUnLFxyXG5cdFx0XHRsQXBwbGljYXRpb25JZCxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3Byb21Db2RpZ28nLCBTdHJpbmcocHJvbUNvZGlnbykpXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRnZXRDcmVkaXRTY29yZURhdGUoaWRlbnRpZmljYXRpb246IHN0cmluZ1tdLCBwcm9tQ29kaWdvOiBudW1iZXIpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuYmFja29mZmljZSArICdjcmVkaXQtc2NvcmUvZ2V0Q3JlZGl0U2NvcmVEYXRlJyxcclxuXHRcdFx0aWRlbnRpZmljYXRpb24sXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwcm9tQ29kaWdvJywgU3RyaW5nKHByb21Db2RpZ28pKVxyXG5cdFx0XHR9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0Z2V0QnlJZGVudGlmaWNhdGlvbkFuZFByb21Db2RpZ28oaWRlbnRpZmljYXRpb246IHN0cmluZywgcHJvbUNvZGlnbzogbnVtYmVyKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuYmFja29mZmljZSArXHJcblx0XHRcdFx0J2NyZWRpdC1zY29yZS9nZXRCeUlkZW50aWZpY2F0aW9uQW5kUHJvbUNvZGlnbycsXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKClcclxuXHRcdFx0XHRcdC5zZXQoJ3Byb21Db2RpZ28nLCBTdHJpbmcocHJvbUNvZGlnbykpXHJcblx0XHRcdFx0XHQuc2V0KCdpZGVudGlmaWNhdGlvbicsIGlkZW50aWZpY2F0aW9uKVxyXG5cdFx0XHR9XHJcblx0XHQpO1xyXG5cdH1cclxufVxyXG4iXX0=
@@ -0,0 +1,292 @@
1
+ import { HttpHeaders, HttpParams } from '@angular/common/http';
2
+ import { Inject, Injectable } from '@angular/core';
3
+ import { Subject } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common/http";
6
+ export class CreditStudyService {
7
+ constructor(environment, httpClient) {
8
+ this.environment = environment;
9
+ this.httpClient = httpClient;
10
+ this.headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };
11
+ this.creditStudySubjectValidation = new Subject();
12
+ }
13
+ getCreditStudySubjectValidation() {
14
+ return this.creditStudySubjectValidation.asObservable();
15
+ }
16
+ setCreditStudySubjectValidation(isComplete, pageSectionKey) {
17
+ this.creditStudySubjectValidation.next({ isComplete, pageSectionKey });
18
+ }
19
+ getCreditStudyByApplicationId(applicationId) {
20
+ return this.httpClient.get(this.environment.host.backend.frontoffice + 'creditStudy/getCreditStudy', {
21
+ params: new HttpParams().set('applicationId', applicationId)
22
+ });
23
+ }
24
+ getListCodebtors(applicationId) {
25
+ return this.httpClient.get(this.environment.host.backend.frontoffice + 'creditStudy/getCodebtors', {
26
+ params: new HttpParams().set('applicationId', applicationId)
27
+ });
28
+ }
29
+ getCodebtorByIdentification(applicationId, identification) {
30
+ return this.httpClient.get(this.environment.host.backend.frontoffice + 'creditStudy/getCodebtorByIdentification', {
31
+ params: new HttpParams()
32
+ .set('applicationId', applicationId)
33
+ .set('identification', identification)
34
+ });
35
+ }
36
+ getCodebtorByApplicationIdAndIdentification(applicationId, identification) {
37
+ return this.httpClient.get(this.environment.host.backend.frontoffice +
38
+ 'creditStudy/getCodebtorByApplicationIdAndIdentification', {
39
+ params: new HttpParams()
40
+ .set('applicationId', applicationId)
41
+ .set('identification', identification)
42
+ });
43
+ }
44
+ saveCodebtorDocument(applicationId, identification, doc) {
45
+ return this.httpClient.post(this.environment.host.backend.frontoffice + 'creditStudy/saveCodebtorDocument', doc, {
46
+ params: new HttpParams()
47
+ .set('applicationId', applicationId)
48
+ .set('identification', identification),
49
+ headers: this.headerJson.headers
50
+ });
51
+ }
52
+ saveSelectedReviewerDocument(applicationId, doc) {
53
+ return this.httpClient.post(this.environment.host.backend.frontoffice + 'creditStudy/saveSelectedReviewerDocument', doc, {
54
+ params: new HttpParams().set('applicationId', applicationId),
55
+ headers: this.headerJson.headers
56
+ });
57
+ }
58
+ saveCodebtorResponsabilitiesAnswer(applicationId, identification, answer) {
59
+ return this.httpClient.post(this.environment.host.backend.frontoffice +
60
+ 'creditStudy/saveCodebtorResponsabilitiesAnswer', {}, {
61
+ params: new HttpParams()
62
+ .set('applicationId', applicationId)
63
+ .set('identification', identification)
64
+ .set('answer', answer.toString()),
65
+ headers: this.headerJson.headers
66
+ });
67
+ }
68
+ removeCodebtorResponsabilitiesAnswer(applicationId, identification) {
69
+ return this.httpClient.post(this.environment.host.backend.frontoffice +
70
+ 'creditStudy/removeCodebtorResponsabilitiesAnswer', {}, {
71
+ params: new HttpParams()
72
+ .set('applicationId', applicationId)
73
+ .set('identification', identification),
74
+ headers: this.headerJson.headers
75
+ });
76
+ }
77
+ saveCodebtorHabeasDataAnswer(applicationId, identification, answer) {
78
+ return this.httpClient.post(this.environment.host.backend.frontoffice + 'creditStudy/saveCodebtorHabeasDataAnswer', {}, {
79
+ params: new HttpParams()
80
+ .set('applicationId', applicationId)
81
+ .set('identification', identification)
82
+ .set('answer', answer.toString()),
83
+ headers: this.headerJson.headers
84
+ });
85
+ }
86
+ saveCreditReviewerDocument(applicationId, identification, doc) {
87
+ return this.httpClient.post(this.environment.host.backend.frontoffice + 'creditStudy/saveCreditReviewerDocument', doc, {
88
+ params: new HttpParams()
89
+ .set('applicationId', applicationId)
90
+ .set('identification', identification),
91
+ headers: this.headerJson.headers
92
+ });
93
+ }
94
+ getSelectedCreditReviewerDocuments(applicationId) {
95
+ return this.httpClient.get(this.environment.host.backend.frontoffice +
96
+ 'creditStudy/getSelectedCreditReviewerDocuments', {
97
+ params: new HttpParams().set('applicationId', applicationId.toString())
98
+ });
99
+ }
100
+ getSelectedCreditReviewerDocumentByConfigurationDocumentId(applicationId, configurationDocumentId) {
101
+ return this.httpClient.get(this.environment.host.backend.frontoffice +
102
+ 'creditStudy/getSelectedCreditReviewerDocumentByConfigurationDocumentId', {
103
+ params: new HttpParams()
104
+ .set('applicationId', applicationId.toString())
105
+ .set('configurationDocumentId', configurationDocumentId.toString())
106
+ });
107
+ }
108
+ getCodebtorDocuments(applicationId, identification) {
109
+ return this.httpClient.get(this.environment.host.backend.frontoffice + 'creditStudy/getCodebtorDocuments', {
110
+ params: new HttpParams()
111
+ .set('applicationId', applicationId.toString())
112
+ .set('identification', identification.toString())
113
+ });
114
+ }
115
+ getCodebtorDocumentByConfigurationDocumentId(applicationId, identification, configurationDocumentId) {
116
+ return this.httpClient.get(this.environment.host.backend.frontoffice +
117
+ 'creditStudy/getCodebtorDocumentByConfigurationDocumentId', {
118
+ params: new HttpParams()
119
+ .set('applicationId', applicationId.toString())
120
+ .set('identification', identification.toString())
121
+ .set('configurationDocumentId', configurationDocumentId.toString())
122
+ });
123
+ }
124
+ getCodebtorCreditReviewerDocuments(applicationId, identification) {
125
+ return this.httpClient.get(this.environment.host.backend.frontoffice +
126
+ 'creditStudy/getCodebtorCreditReviewerDocuments', {
127
+ params: new HttpParams()
128
+ .set('applicationId', applicationId.toString())
129
+ .set('identification', identification.toString())
130
+ });
131
+ }
132
+ getCodebtorCreditReviewerDocumentByConfigurationDocumentId(applicationId, identification, configurationDocumentId) {
133
+ return this.httpClient.get(this.environment.host.backend.frontoffice +
134
+ 'creditStudy/getCodebtorCreditReviewerDocumentByConfigurationDocumentId', {
135
+ params: new HttpParams()
136
+ .set('applicationId', applicationId.toString())
137
+ .set('identification', identification.toString())
138
+ .set('configurationDocumentId', configurationDocumentId.toString())
139
+ });
140
+ }
141
+ saveCodebtorCreditReviewerObservation(applicationId, identification, codebtor) {
142
+ return this.httpClient.post(this.environment.host.backend.frontoffice +
143
+ 'creditStudy/saveCodebtorCreditReviewerObservation', codebtor, {
144
+ params: new HttpParams()
145
+ .set('applicationId', applicationId)
146
+ .set('identification', identification),
147
+ headers: this.headerJson.headers
148
+ });
149
+ }
150
+ saveCodebtorFormData(applicationId, codebtor) {
151
+ return this.httpClient.post(this.environment.host.backend.frontoffice + 'creditStudy/saveCodebtorFormData', codebtor, {
152
+ params: new HttpParams().set('applicationId', applicationId),
153
+ headers: this.headerJson.headers
154
+ });
155
+ }
156
+ updateCodebtorState(applicationId, codebtor) {
157
+ return this.httpClient.post(this.environment.host.backend.frontoffice + 'creditStudy/updateCodebtorState', codebtor, {
158
+ params: new HttpParams().set('applicationId', applicationId),
159
+ headers: this.headerJson.headers
160
+ });
161
+ }
162
+ updateCompletedFlag(application, completed, idFlag) {
163
+ return this.httpClient.put(this.environment.host.backend.frontoffice + 'creditStudy/updateCompletedFlag', application, {
164
+ params: new HttpParams()
165
+ .set('completed', completed.toString())
166
+ .set('idFlag', idFlag.toString()),
167
+ headers: this.headerJson.headers
168
+ });
169
+ }
170
+ acceptConsultation(application, response) {
171
+ return this.httpClient.post(this.environment.host.backend.frontoffice + 'creditStudy/acceptConsultation', application, {
172
+ params: new HttpParams().set('response', response.toString()),
173
+ headers: this.headerJson.headers
174
+ });
175
+ }
176
+ saveCodebtor(applicationId, codebtor) {
177
+ return this.httpClient.post(this.environment.host.backend.frontoffice + 'creditStudy/saveCodebtor', codebtor, {
178
+ params: new HttpParams().set('applicationId', applicationId),
179
+ headers: this.headerJson.headers
180
+ });
181
+ }
182
+ removeCodebtor(applicationId, identification) {
183
+ return this.httpClient.delete(this.environment.host.backend.frontoffice + 'creditStudy/removeCodebtor', {
184
+ params: new HttpParams()
185
+ .set('applicationId', applicationId)
186
+ .set('identification', identification.toString()),
187
+ headers: this.headerJson.headers
188
+ });
189
+ }
190
+ saveCodebtorCheckSum(applicationId, codebtor) {
191
+ return this.httpClient.put(this.environment.host.backend.frontoffice + 'creditStudy/saveCodebtorCheckSum', codebtor, {
192
+ params: new HttpParams().set('applicationId', applicationId),
193
+ headers: this.headerJson.headers
194
+ });
195
+ }
196
+ updateCodebtorDateForm(applicationId, codebtor) {
197
+ return this.httpClient.put(this.environment.host.backend.frontoffice + 'creditStudy/updateCodebtorDateForm', codebtor, {
198
+ params: new HttpParams().set('applicationId', applicationId),
199
+ headers: this.headerJson.headers
200
+ });
201
+ }
202
+ saveAllCodebtors(applicationId, lCodebtor) {
203
+ return this.httpClient.post(this.environment.host.backend.frontoffice + 'creditStudy/saveAllCodebtors', lCodebtor, {
204
+ params: new HttpParams().set('applicationId', applicationId),
205
+ headers: this.headerJson.headers
206
+ });
207
+ }
208
+ codebtorsSendInitialEmail(applicationId) {
209
+ return this.httpClient.post(this.environment.host.backend.frontoffice + 'creditStudy/codebtorsSendInitialEmail', null, {
210
+ params: new HttpParams().set('applicationId', applicationId),
211
+ headers: this.headerJson.headers
212
+ });
213
+ }
214
+ saveBeneficiaryCreditReviewerObservation(applicationId, lObservations) {
215
+ return this.httpClient.post(this.environment.host.backend.frontoffice +
216
+ 'creditStudy/saveBeneficiaryCreditReviewerObservation', lObservations, {
217
+ params: new HttpParams().set('applicationId', applicationId),
218
+ headers: this.headerJson.headers
219
+ });
220
+ }
221
+ getBeneficiaryCreditReviewerObservation(applicationId) {
222
+ return this.httpClient.get(this.environment.host.backend.frontoffice +
223
+ 'creditStudy/getBeneficiaryCreditReviewerObservation', {
224
+ params: new HttpParams().set('applicationId', applicationId),
225
+ headers: this.headerJson.headers
226
+ });
227
+ }
228
+ acceptConsultationCodebtor(application, codebtorIdentification, response) {
229
+ return this.httpClient.post(this.environment.host.backend.frontoffice + 'creditStudy/acceptConsultationCodebtor', application, {
230
+ params: new HttpParams()
231
+ .set('response', response.toString())
232
+ .set('codebtorIdentification', codebtorIdentification.toString()),
233
+ headers: this.headerJson.headers
234
+ });
235
+ }
236
+ enableCodebtor(applicationId, codebtor, changeStatusByCategoryDto) {
237
+ return this.httpClient.post(this.environment.host.backend.frontoffice + 'creditStudy/enableCodebtor', changeStatusByCategoryDto, {
238
+ params: new HttpParams()
239
+ .set('applicationId', applicationId)
240
+ .set('codebtor', codebtor),
241
+ headers: this.headerJson.headers
242
+ });
243
+ }
244
+ completeCreditStudyInfo(applicationId) {
245
+ return this.httpClient.post(this.environment.host.backend.frontoffice + 'creditStudy/completeCreditStudyInfo', null, {
246
+ params: new HttpParams().set('applicationId', applicationId),
247
+ headers: this.headerJson.headers
248
+ });
249
+ }
250
+ getApprovedCodebtors(applicationId, promCodigo) {
251
+ return this.httpClient.get(this.environment.host.backend.frontoffice + 'creditStudy/getApprovedCodebtors', {
252
+ params: new HttpParams()
253
+ .set('applicationId', String(applicationId))
254
+ .set('promCodigo', String(promCodigo))
255
+ });
256
+ }
257
+ getApprovedCodebtorsByAppId(lAppId, promCodigo) {
258
+ return this.httpClient.post(this.environment.host.backend.frontoffice + 'creditStudy/getApprovedCodebtorsByAppId', lAppId, {
259
+ params: new HttpParams().set('promCodigo', promCodigo.toString())
260
+ });
261
+ }
262
+ checkCreditStudyFinalStatus(applicationId) {
263
+ return this.httpClient.get(this.environment.host.backend.frontoffice + 'creditStudy/checkCreditStudyFinalStatus', {
264
+ params: new HttpParams().set('applicationId', applicationId)
265
+ });
266
+ }
267
+ updateCreditStudyDocuments(lCreditStudyDocumentTO) {
268
+ return this.httpClient.put(this.environment.host.backend.frontoffice + 'creditStudy/updateCreditStudyDocuments', lCreditStudyDocumentTO, {
269
+ headers: this.headerJson.headers
270
+ });
271
+ }
272
+ externalReviewerRejectCreditStudy(applicationId, promCodigo, changeStatusByCategoryDto) {
273
+ return this.httpClient.post(this.environment.host.backend.frontoffice +
274
+ 'creditStudy/externalReviewerRejectCreditStudy', changeStatusByCategoryDto, {
275
+ params: new HttpParams()
276
+ .set('applicationId', applicationId)
277
+ .set('promCodigo', promCodigo.toString())
278
+ });
279
+ }
280
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreditStudyService, deps: [{ token: 'environment' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
281
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreditStudyService, providedIn: 'root' }); }
282
+ }
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreditStudyService, decorators: [{
284
+ type: Injectable,
285
+ args: [{
286
+ providedIn: 'root'
287
+ }]
288
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
289
+ type: Inject,
290
+ args: ['environment']
291
+ }] }, { type: i1.HttpClient }] });
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LXN0dWR5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wbGktY29tbW9ucy9zcmMvbGliL3NlcnZpY2VzL2NyZWRpdC1zdHVkeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRbkQsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBSzNDLE1BQU0sT0FBTyxrQkFBa0I7SUFLOUIsWUFBMkMsV0FBZ0IsRUFBVSxVQUFzQjtRQUFoRCxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFKbkYsZUFBVSxHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLENBQUMsRUFBRSxDQUFDO1FBRWxGLGlDQUE0QixHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7SUFFb0MsQ0FBQztJQUUvRiwrQkFBK0I7UUFDOUIsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVELCtCQUErQixDQUFDLFVBQW1CLEVBQUUsY0FBc0I7UUFDMUUsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCw2QkFBNkIsQ0FBQyxhQUFxQjtRQUNsRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLDRCQUE0QixFQUN4RTtZQUNDLE1BQU0sRUFBRSxJ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QUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMxQyxDQUNELENBQUM7SUFDSCxDQUFDOytHQXBlVyxrQkFBa0Isa0JBS1YsYUFBYTttSEFMckIsa0JBQWtCLGNBRmxCLE1BQU07OzRGQUVOLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEI7OzBCQU1hLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuXHRBcHBsaWNhdGlvbixcclxuXHRDaGFuZ2VTdGF0dXNCeUNhdGVnb3J5RHRvLFxyXG5cdENvZGVidG9yLFxyXG5cdENyZWRpdFJldmlld2VyT2JzZXJ2YXRpb24sXHJcblx0RG9jdW1lbnRcclxufSBmcm9tICduZy1wbGktdXRpbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENyZWRpdFN0dWR5U2VydmljZSB7XHJcblx0cHJpdmF0ZSBoZWFkZXJKc29uID0geyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0pIH07XHJcblxyXG5cdHByaXZhdGUgY3JlZGl0U3R1ZHlTdWJqZWN0VmFsaWRhdGlvbiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuXHJcblx0Y29uc3RydWN0b3IoQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnksIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCkge31cclxuXHJcblx0Z2V0Q3JlZGl0U3R1ZHlTdWJqZWN0VmFsaWRhdGlvbigpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuY3JlZGl0U3R1ZHlTdWJqZWN0VmFsaWRhdGlvbi5hc09ic2VydmFibGUoKTtcclxuXHR9XHJcblxyXG5cdHNldENyZWRpdFN0dWR5U3ViamVjdFZhbGlkYXRpb24oaXNDb21wbGV0ZTogYm9vbGVhbiwgcGFnZVNlY3Rpb25LZXk6IHN0cmluZykge1xyXG5cdFx0dGhpcy5jcmVkaXRTdHVkeVN1YmplY3RWYWxpZGF0aW9uLm5leHQoeyBpc0NvbXBsZXRlLCBwYWdlU2VjdGlvbktleSB9KTtcclxuXHR9XHJcblxyXG5cdGdldENyZWRpdFN0dWR5QnlBcHBsaWNhdGlvbklkKGFwcGxpY2F0aW9uSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyAnY3JlZGl0U3R1ZHkvZ2V0Q3JlZGl0U3R1ZHknLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpLnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQpXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRnZXRMaXN0Q29kZWJ0b3JzKGFwcGxpY2F0aW9uSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyAnY3JlZGl0U3R1ZHkvZ2V0Q29kZWJ0b3JzJyxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkKVxyXG5cdFx0XHR9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0Z2V0Q29kZWJ0b3JCeUlkZW50aWZpY2F0aW9uKGFwcGxpY2F0aW9uSWQ6IHN0cmluZywgaWRlbnRpZmljYXRpb246IHN0cmluZykge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgJ2NyZWRpdFN0dWR5L2dldENvZGVidG9yQnlJZGVudGlmaWNhdGlvbicsXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKClcclxuXHRcdFx0XHRcdC5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkKVxyXG5cdFx0XHRcdFx0LnNldCgnaWRlbnRpZmljYXRpb24nLCBpZGVudGlmaWNhdGlvbilcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdGdldENvZGVidG9yQnlBcHBsaWNhdGlvbklkQW5kSWRlbnRpZmljYXRpb24oXHJcblx0XHRhcHBsaWNhdGlvbklkOiBzdHJpbmcsXHJcblx0XHRpZGVudGlmaWNhdGlvbjogc3RyaW5nXHJcblx0KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArXHJcblx0XHRcdFx0J2NyZWRpdFN0dWR5L2dldENvZGVidG9yQnlBcHBsaWNhdGlvbklkQW5kSWRlbnRpZmljYXRpb24nLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpXHJcblx0XHRcdFx0XHQuc2V0KCdhcHBsaWNhdGlvbklkJywgYXBwbGljYXRpb25JZClcclxuXHRcdFx0XHRcdC5zZXQoJ2lkZW50aWZpY2F0aW9uJywgaWRlbnRpZmljYXRpb24pXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRzYXZlQ29kZWJ0b3JEb2N1bWVudChhcHBsaWNhdGlvbklkOiBzdHJpbmcsIGlkZW50aWZpY2F0aW9uOiBzdHJpbmcsIGRvYzogRG9jdW1lbnQpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyAnY3JlZGl0U3R1ZHkvc2F2ZUNvZGVidG9yRG9jdW1lbnQnLFxyXG5cdFx0XHRkb2MsXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKClcclxuXHRcdFx0XHRcdC5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkKVxyXG5cdFx0XHRcdFx0LnNldCgnaWRlbnRpZmljYXRpb24nLCBpZGVudGlmaWNhdGlvbiksXHJcblx0XHRcdFx0aGVhZGVyczogdGhpcy5oZWFkZXJKc29uLmhlYWRlcnNcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHNhdmVTZWxlY3RlZFJldmlld2VyRG9jdW1lbnQoYXBwbGljYXRpb25JZDogc3RyaW5nLCBkb2M6IERvY3VtZW50KSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgJ2NyZWRpdFN0dWR5L3NhdmVTZWxlY3RlZFJldmlld2VyRG9jdW1lbnQnLFxyXG5cdFx0XHRkb2MsXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdhcHBsaWNhdGlvbklkJywgYXBwbGljYXRpb25JZCksXHJcblx0XHRcdFx0aGVhZGVyczogdGhpcy5oZWFkZXJKc29uLmhlYWRlcnNcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHNhdmVDb2RlYnRvclJlc3BvbnNhYmlsaXRpZXNBbnN3ZXIoXHJcblx0XHRhcHBsaWNhdGlvbklkOiBzdHJpbmcsXHJcblx0XHRpZGVudGlmaWNhdGlvbjogc3RyaW5nLFxyXG5cdFx0YW5zd2VyOiBib29sZWFuXHJcblx0KSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICtcclxuXHRcdFx0XHQnY3JlZGl0U3R1ZHkvc2F2ZUNvZGVidG9yUmVzcG9uc2FiaWxpdGllc0Fuc3dlcicsXHJcblx0XHRcdHt9LFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpXHJcblx0XHRcdFx0XHQuc2V0KCdhcHBsaWNhdGlvbklkJywgYXBwbGljYXRpb25JZClcclxuXHRcdFx0XHRcdC5zZXQoJ2lkZW50aWZpY2F0aW9uJywgaWRlbnRpZmljYXRpb24pXHJcblx0XHRcdFx0XHQuc2V0KCdhbnN3ZXInLCBhbnN3ZXIudG9TdHJpbmcoKSksXHJcblx0XHRcdFx0aGVhZGVyczogdGhpcy5oZWFkZXJKc29uLmhlYWRlcnNcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHJlbW92ZUNvZGVidG9yUmVzcG9uc2FiaWxpdGllc0Fuc3dlcihhcHBsaWNhdGlvbklkOiBzdHJpbmcsIGlkZW50aWZpY2F0aW9uOiBzdHJpbmcpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgK1xyXG5cdFx0XHRcdCdjcmVkaXRTdHVkeS9yZW1vdmVDb2RlYnRvclJlc3BvbnNhYmlsaXRpZXNBbnN3ZXInLFxyXG5cdFx0XHR7fSxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKVxyXG5cdFx0XHRcdFx0LnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQpXHJcblx0XHRcdFx0XHQuc2V0KCdpZGVudGlmaWNhdGlvbicsIGlkZW50aWZpY2F0aW9uKSxcclxuXHRcdFx0XHRoZWFkZXJzOiB0aGlzLmhlYWRlckpzb24uaGVhZGVyc1xyXG5cdFx0XHR9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0c2F2ZUNvZGVidG9ySGFiZWFzRGF0YUFuc3dlcihhcHBsaWNhdGlvbklkOiBzdHJpbmcsIGlkZW50aWZpY2F0aW9uOiBzdHJpbmcsIGFuc3dlcjogYm9vbGVhbikge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArICdjcmVkaXRTdHVkeS9zYXZlQ29kZWJ0b3JIYWJlYXNEYXRhQW5zd2VyJyxcclxuXHRcdFx0e30sXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKClcclxuXHRcdFx0XHRcdC5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkKVxyXG5cdFx0XHRcdFx0LnNldCgnaWRlbnRpZmljYXRpb24nLCBpZGVudGlmaWNhdGlvbilcclxuXHRcdFx0XHRcdC5zZXQoJ2Fuc3dlcicsIGFuc3dlci50b1N0cmluZygpKSxcclxuXHRcdFx0XHRoZWFkZXJzOiB0aGlzLmhlYWRlckpzb24uaGVhZGVyc1xyXG5cdFx0XHR9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0c2F2ZUNyZWRpdFJldmlld2VyRG9jdW1lbnQoYXBwbGljYXRpb25JZDogc3RyaW5nLCBpZGVudGlmaWNhdGlvbjogc3RyaW5nLCBkb2M6IERvY3VtZW50KSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgJ2NyZWRpdFN0dWR5L3NhdmVDcmVkaXRSZXZpZXdlckRvY3VtZW50JyxcclxuXHRcdFx0ZG9jLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpXHJcblx0XHRcdFx0XHQuc2V0KCdhcHBsaWNhdGlvbklkJywgYXBwbGljYXRpb25JZClcclxuXHRcdFx0XHRcdC5zZXQoJ2lkZW50aWZpY2F0aW9uJywgaWRlbnRpZmljYXRpb24pLFxyXG5cdFx0XHRcdGhlYWRlcnM6IHRoaXMuaGVhZGVySnNvbi5oZWFkZXJzXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRnZXRTZWxlY3RlZENyZWRpdFJldmlld2VyRG9jdW1lbnRzKGFwcGxpY2F0aW9uSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgK1xyXG5cdFx0XHRcdCdjcmVkaXRTdHVkeS9nZXRTZWxlY3RlZENyZWRpdFJldmlld2VyRG9jdW1lbnRzJyxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkLnRvU3RyaW5nKCkpXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRnZXRTZWxlY3RlZENyZWRpdFJldmlld2VyRG9jdW1lbnRCeUNvbmZpZ3VyYXRpb25Eb2N1bWVudElkKFxyXG5cdFx0YXBwbGljYXRpb25JZDogc3RyaW5nLFxyXG5cdFx0Y29uZmlndXJhdGlvbkRvY3VtZW50SWQ6IG51bWJlclxyXG5cdCk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgK1xyXG5cdFx0XHRcdCdjcmVkaXRTdHVkeS9nZXRTZWxlY3RlZENyZWRpdFJldmlld2VyRG9jdW1lbnRCeUNvbmZpZ3VyYXRpb25Eb2N1bWVudElkJyxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKVxyXG5cdFx0XHRcdFx0LnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQudG9TdHJpbmcoKSlcclxuXHRcdFx0XHRcdC5zZXQoJ2NvbmZpZ3VyYXRpb25Eb2N1bWVudElkJywgY29uZmlndXJhdGlvbkRvY3VtZW50SWQudG9TdHJpbmcoKSlcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdGdldENvZGVidG9yRG9jdW1lbnRzKGFwcGxpY2F0aW9uSWQ6IHN0cmluZywgaWRlbnRpZmljYXRpb246IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyAnY3JlZGl0U3R1ZHkvZ2V0Q29kZWJ0b3JEb2N1bWVudHMnLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpXHJcblx0XHRcdFx0XHQuc2V0KCdhcHBsaWNhdGlvbklkJywgYXBwbGljYXRpb25JZC50b1N0cmluZygpKVxyXG5cdFx0XHRcdFx0LnNldCgnaWRlbnRpZmljYXRpb24nLCBpZGVudGlmaWNhdGlvbi50b1N0cmluZygpKVxyXG5cdFx0XHR9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0Z2V0Q29kZWJ0b3JEb2N1bWVudEJ5Q29uZmlndXJhdGlvbkRvY3VtZW50SWQoXHJcblx0XHRhcHBsaWNhdGlvbklkOiBzdHJpbmcsXHJcblx0XHRpZGVudGlmaWNhdGlvbjogc3RyaW5nLFxyXG5cdFx0Y29uZmlndXJhdGlvbkRvY3VtZW50SWQ6IG51bWJlclxyXG5cdCk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgK1xyXG5cdFx0XHRcdCdjcmVkaXRTdHVkeS9nZXRDb2RlYnRvckRvY3VtZW50QnlDb25maWd1cmF0aW9uRG9jdW1lbnRJZCcsXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKClcclxuXHRcdFx0XHRcdC5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkLnRvU3RyaW5nKCkpXHJcblx0XHRcdFx0XHQuc2V0KCdpZGVudGlmaWNhdGlvbicsIGlkZW50aWZpY2F0aW9uLnRvU3RyaW5nKCkpXHJcblx0XHRcdFx0XHQuc2V0KCdjb25maWd1cmF0aW9uRG9jdW1lbnRJZCcsIGNvbmZpZ3VyYXRpb25Eb2N1bWVudElkLnRvU3RyaW5nKCkpXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRnZXRDb2RlYnRvckNyZWRpdFJldmlld2VyRG9jdW1lbnRzKFxyXG5cdFx0YXBwbGljYXRpb25JZDogc3RyaW5nLFxyXG5cdFx0aWRlbnRpZmljYXRpb246IHN0cmluZ1xyXG5cdCk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgK1xyXG5cdFx0XHRcdCdjcmVkaXRTdHVkeS9nZXRDb2RlYnRvckNyZWRpdFJldmlld2VyRG9jdW1lbnRzJyxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKVxyXG5cdFx0XHRcdFx0LnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQudG9TdHJpbmcoKSlcclxuXHRcdFx0XHRcdC5zZXQoJ2lkZW50aWZpY2F0aW9uJywgaWRlbnRpZmljYXRpb24udG9TdHJpbmcoKSlcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdGdldENvZGVidG9yQ3JlZGl0UmV2aWV3ZXJEb2N1bWVudEJ5Q29uZmlndXJhdGlvbkRvY3VtZW50SWQoXHJcblx0XHRhcHBsaWNhdGlvbklkOiBzdHJpbmcsXHJcblx0XHRpZGVudGlmaWNhdGlvbjogc3RyaW5nLFxyXG5cdFx0Y29uZmlndXJhdGlvbkRvY3VtZW50SWQ6IG51bWJlclxyXG5cdCk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgK1xyXG5cdFx0XHRcdCdjcmVkaXRTdHVkeS9nZXRDb2RlYnRvckNyZWRpdFJldmlld2VyRG9jdW1lbnRCeUNvbmZpZ3VyYXRpb25Eb2N1bWVudElkJyxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKVxyXG5cdFx0XHRcdFx0LnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQudG9TdHJpbmcoKSlcclxuXHRcdFx0XHRcdC5zZXQoJ2lkZW50aWZpY2F0aW9uJywgaWRlbnRpZmljYXRpb24udG9TdHJpbmcoKSlcclxuXHRcdFx0XHRcdC5zZXQoJ2NvbmZpZ3VyYXRpb25Eb2N1bWVudElkJywgY29uZmlndXJhdGlvbkRvY3VtZW50SWQudG9TdHJpbmcoKSlcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHNhdmVDb2RlYnRvckNyZWRpdFJldmlld2VyT2JzZXJ2YXRpb24oXHJcblx0XHRhcHBsaWNhdGlvbklkOiBzdHJpbmcsXHJcblx0XHRpZGVudGlmaWNhdGlvbjogc3RyaW5nLFxyXG5cdFx0Y29kZWJ0b3I6IENvZGVidG9yXHJcblx0KSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICtcclxuXHRcdFx0XHQnY3JlZGl0U3R1ZHkvc2F2ZUNvZGVidG9yQ3JlZGl0UmV2aWV3ZXJPYnNlcnZhdGlvbicsXHJcblx0XHRcdGNvZGVidG9yLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpXHJcblx0XHRcdFx0XHQuc2V0KCdhcHBsaWNhdGlvbklkJywgYXBwbGljYXRpb25JZClcclxuXHRcdFx0XHRcdC5zZXQoJ2lkZW50aWZpY2F0aW9uJywgaWRlbnRpZmljYXRpb24pLFxyXG5cdFx0XHRcdGhlYWRlcnM6IHRoaXMuaGVhZGVySnNvbi5oZWFkZXJzXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRzYXZlQ29kZWJ0b3JGb3JtRGF0YShhcHBsaWNhdGlvbklkOiBzdHJpbmcsIGNvZGVidG9yOiBDb2RlYnRvcikge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArICdjcmVkaXRTdHVkeS9zYXZlQ29kZWJ0b3JGb3JtRGF0YScsXHJcblx0XHRcdGNvZGVidG9yLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpLnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQpLFxyXG5cdFx0XHRcdGhlYWRlcnM6IHRoaXMuaGVhZGVySnNvbi5oZWFkZXJzXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHR1cGRhdGVDb2RlYnRvclN0YXRlKGFwcGxpY2F0aW9uSWQ6IHN0cmluZywgY29kZWJ0b3I6IENvZGVidG9yKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgJ2NyZWRpdFN0dWR5L3VwZGF0ZUNvZGVidG9yU3RhdGUnLFxyXG5cdFx0XHRjb2RlYnRvcixcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkKSxcclxuXHRcdFx0XHRoZWFkZXJzOiB0aGlzLmhlYWRlckpzb24uaGVhZGVyc1xyXG5cdFx0XHR9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0dXBkYXRlQ29tcGxldGVkRmxhZyhhcHBsaWNhdGlvbjogQXBwbGljYXRpb24sIGNvbXBsZXRlZDogYm9vbGVhbiwgaWRGbGFnOiBudW1iZXIpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArICdjcmVkaXRTdHVkeS91cGRhdGVDb21wbGV0ZWRGbGFnJyxcclxuXHRcdFx0YXBwbGljYXRpb24sXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKClcclxuXHRcdFx0XHRcdC5zZXQoJ2NvbXBsZXRlZCcsIGNvbXBsZXRlZC50b1N0cmluZygpKVxyXG5cdFx0XHRcdFx0LnNldCgnaWRGbGFnJywgaWRGbGFnLnRvU3RyaW5nKCkpLFxyXG5cdFx0XHRcdGhlYWRlcnM6IHRoaXMuaGVhZGVySnNvbi5oZWFkZXJzXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRhY2NlcHRDb25zdWx0YXRpb24oYXBwbGljYXRpb246IEFwcGxpY2F0aW9uLCByZXNwb25zZTogYm9vbGVhbikge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArICdjcmVkaXRTdHVkeS9hY2NlcHRDb25zdWx0YXRpb24nLFxyXG5cdFx0XHRhcHBsaWNhdGlvbixcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3Jlc3BvbnNlJywgcmVzcG9uc2UudG9TdHJpbmcoKSksXHJcblx0XHRcdFx0aGVhZGVyczogdGhpcy5oZWFkZXJKc29uLmhlYWRlcnNcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHNhdmVDb2RlYnRvcihhcHBsaWNhdGlvbklkOiBzdHJpbmcsIGNvZGVidG9yOiBDb2RlYnRvcikge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArICdjcmVkaXRTdHVkeS9zYXZlQ29kZWJ0b3InLFxyXG5cdFx0XHRjb2RlYnRvcixcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkKSxcclxuXHRcdFx0XHRoZWFkZXJzOiB0aGlzLmhlYWRlckpzb24uaGVhZGVyc1xyXG5cdFx0XHR9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0cmVtb3ZlQ29kZWJ0b3IoYXBwbGljYXRpb25JZDogc3RyaW5nLCBpZGVudGlmaWNhdGlvbjogc3RyaW5nKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZShcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyAnY3JlZGl0U3R1ZHkvcmVtb3ZlQ29kZWJ0b3InLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpXHJcblx0XHRcdFx0XHQuc2V0KCdhcHBsaWNhdGlvbklkJywgYXBwbGljYXRpb25JZClcclxuXHRcdFx0XHRcdC5zZXQoJ2lkZW50aWZpY2F0aW9uJywgaWRlbnRpZmljYXRpb24udG9TdHJpbmcoKSksXHJcblx0XHRcdFx0aGVhZGVyczogdGhpcy5oZWFkZXJKc29uLmhlYWRlcnNcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHNhdmVDb2RlYnRvckNoZWNrU3VtKGFwcGxpY2F0aW9uSWQ6IHN0cmluZywgY29kZWJ0b3I6IENvZGVidG9yKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LnB1dChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyAnY3JlZGl0U3R1ZHkvc2F2ZUNvZGVidG9yQ2hlY2tTdW0nLFxyXG5cdFx0XHRjb2RlYnRvcixcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkKSxcclxuXHRcdFx0XHRoZWFkZXJzOiB0aGlzLmhlYWRlckpzb24uaGVhZGVyc1xyXG5cdFx0XHR9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0dXBkYXRlQ29kZWJ0b3JEYXRlRm9ybShhcHBsaWNhdGlvbklkOiBzdHJpbmcsIGNvZGVidG9yOiBDb2RlYnRvcikge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wdXQoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgJ2NyZWRpdFN0dWR5L3VwZGF0ZUNvZGVidG9yRGF0ZUZvcm0nLFxyXG5cdFx0XHRjb2RlYnRvcixcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkKSxcclxuXHRcdFx0XHRoZWFkZXJzOiB0aGlzLmhlYWRlckpzb24uaGVhZGVyc1xyXG5cdFx0XHR9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0c2F2ZUFsbENvZGVidG9ycyhhcHBsaWNhdGlvbklkOiBzdHJpbmcsIGxDb2RlYnRvcjogQ29kZWJ0b3JbXSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArICdjcmVkaXRTdHVkeS9zYXZlQWxsQ29kZWJ0b3JzJyxcclxuXHRcdFx0bENvZGVidG9yLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpLnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQpLFxyXG5cdFx0XHRcdGhlYWRlcnM6IHRoaXMuaGVhZGVySnNvbi5oZWFkZXJzXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRjb2RlYnRvcnNTZW5kSW5pdGlhbEVtYWlsKGFwcGxpY2F0aW9uSWQ6IHN0cmluZykge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArICdjcmVkaXRTdHVkeS9jb2RlYnRvcnNTZW5kSW5pdGlhbEVtYWlsJyxcclxuXHRcdFx0bnVsbCxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkKSxcclxuXHRcdFx0XHRoZWFkZXJzOiB0aGlzLmhlYWRlckpzb24uaGVhZGVyc1xyXG5cdFx0XHR9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0c2F2ZUJlbmVmaWNpYXJ5Q3JlZGl0UmV2aWV3ZXJPYnNlcnZhdGlvbihcclxuXHRcdGFwcGxpY2F0aW9uSWQ6IHN0cmluZyxcclxuXHRcdGxPYnNlcnZhdGlvbnM6IENyZWRpdFJldmlld2VyT2JzZXJ2YXRpb25bXVxyXG5cdCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArXHJcblx0XHRcdFx0J2NyZWRpdFN0dWR5L3NhdmVCZW5lZmljaWFyeUNyZWRpdFJldmlld2VyT2JzZXJ2YXRpb24nLFxyXG5cdFx0XHRsT2JzZXJ2YXRpb25zLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpLnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQpLFxyXG5cdFx0XHRcdGhlYWRlcnM6IHRoaXMuaGVhZGVySnNvbi5oZWFkZXJzXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRnZXRCZW5lZmljaWFyeUNyZWRpdFJldmlld2VyT2JzZXJ2YXRpb24oYXBwbGljYXRpb25JZDogc3RyaW5nKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgK1xyXG5cdFx0XHRcdCdjcmVkaXRTdHVkeS9nZXRCZW5lZmljaWFyeUNyZWRpdFJldmlld2VyT2JzZXJ2YXRpb24nLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpLnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQpLFxyXG5cdFx0XHRcdGhlYWRlcnM6IHRoaXMuaGVhZGVySnNvbi5oZWFkZXJzXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cdGFjY2VwdENvbnN1bHRhdGlvbkNvZGVidG9yKFxyXG5cdFx0YXBwbGljYXRpb246IEFwcGxpY2F0aW9uLFxyXG5cdFx0Y29kZWJ0b3JJZGVudGlmaWNhdGlvbjogc3RyaW5nLFxyXG5cdFx0cmVzcG9uc2U6IGJvb2xlYW5cclxuXHQpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyAnY3JlZGl0U3R1ZHkvYWNjZXB0Q29uc3VsdGF0aW9uQ29kZWJ0b3InLFxyXG5cdFx0XHRhcHBsaWNhdGlvbixcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKVxyXG5cdFx0XHRcdFx0LnNldCgncmVzcG9uc2UnLCByZXNwb25zZS50b1N0cmluZygpKVxyXG5cdFx0XHRcdFx0LnNldCgnY29kZWJ0b3JJZGVudGlmaWNhdGlvbicsIGNvZGVidG9ySWRlbnRpZmljYXRpb24udG9TdHJpbmcoKSksXHJcblx0XHRcdFx0aGVhZGVyczogdGhpcy5oZWFkZXJKc29uLmhlYWRlcnNcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdGVuYWJsZUNvZGVidG9yKFxyXG5cdFx0YXBwbGljYXRpb25JZDogc3RyaW5nLFxyXG5cdFx0Y29kZWJ0b3I6IHN0cmluZyxcclxuXHRcdGNoYW5nZVN0YXR1c0J5Q2F0ZWdvcnlEdG86IENoYW5nZVN0YXR1c0J5Q2F0ZWdvcnlEdG9cclxuXHQpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyAnY3JlZGl0U3R1ZHkvZW5hYmxlQ29kZWJ0b3InLFxyXG5cdFx0XHRjaGFuZ2VTdGF0dXNCeUNhdGVnb3J5RHRvLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpXHJcblx0XHRcdFx0XHQuc2V0KCdhcHBsaWNhdGlvbklkJywgYXBwbGljYXRpb25JZClcclxuXHRcdFx0XHRcdC5zZXQoJ2NvZGVidG9yJywgY29kZWJ0b3IpLFxyXG5cdFx0XHRcdGhlYWRlcnM6IHRoaXMuaGVhZGVySnNvbi5oZWFkZXJzXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRjb21wbGV0ZUNyZWRpdFN0dWR5SW5mbyhhcHBsaWNhdGlvbklkOiBzdHJpbmcpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyAnY3JlZGl0U3R1ZHkvY29tcGxldGVDcmVkaXRTdHVkeUluZm8nLFxyXG5cdFx0XHRudWxsLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpLnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQpLFxyXG5cdFx0XHRcdGhlYWRlcnM6IHRoaXMuaGVhZGVySnNvbi5oZWFkZXJzXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRnZXRBcHByb3ZlZENvZGVidG9ycyhhcHBsaWNhdGlvbklkOiBzdHJpbmcsIHByb21Db2RpZ286IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyAnY3JlZGl0U3R1ZHkvZ2V0QXBwcm92ZWRDb2RlYnRvcnMnLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpXHJcblx0XHRcdFx0XHQuc2V0KCdhcHBsaWNhdGlvbklkJywgU3RyaW5nKGFwcGxpY2F0aW9uSWQpKVxyXG5cdFx0XHRcdFx0LnNldCgncHJvbUNvZGlnbycsIFN0cmluZyhwcm9tQ29kaWdvKSlcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdGdldEFwcHJvdmVkQ29kZWJ0b3JzQnlBcHBJZChsQXBwSWQ6IHN0cmluZ1tdLCBwcm9tQ29kaWdvOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArICdjcmVkaXRTdHVkeS9nZXRBcHByb3ZlZENvZGVidG9yc0J5QXBwSWQnLFxyXG5cdFx0XHRsQXBwSWQsXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwcm9tQ29kaWdvJywgcHJvbUNvZGlnby50b1N0cmluZygpKVxyXG5cdFx0XHR9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0Y2hlY2tDcmVkaXRTdHVkeUZpbmFsU3RhdHVzKGFwcGxpY2F0aW9uSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyAnY3JlZGl0U3R1ZHkvY2hlY2tDcmVkaXRTdHVkeUZpbmFsU3RhdHVzJyxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkKVxyXG5cdFx0XHR9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0dXBkYXRlQ3JlZGl0U3R1ZHlEb2N1bWVudHMobENyZWRpdFN0dWR5RG9jdW1lbnRUTzogYW55W10pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wdXQoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgJ2NyZWRpdFN0dWR5L3VwZGF0ZUNyZWRpdFN0dWR5RG9jdW1lbnRzJyxcclxuXHRcdFx0bENyZWRpdFN0dWR5RG9jdW1lbnRUTyxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdGhlYWRlcnM6IHRoaXMuaGVhZGVySnNvbi5oZWFkZXJzXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRleHRlcm5hbFJldmlld2VyUmVqZWN0Q3JlZGl0U3R1ZHkoXHJcblx0XHRhcHBsaWNhdGlvbklkOiBzdHJpbmcsXHJcblx0XHRwcm9tQ29kaWdvOiBudW1iZXIsXHJcblx0XHRjaGFuZ2VTdGF0dXNCeUNhdGVnb3J5RHRvOiBDaGFuZ2VTdGF0dXNCeUNhdGVnb3J5RHRvXHJcblx0KSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICtcclxuXHRcdFx0XHQnY3JlZGl0U3R1ZHkvZXh0ZXJuYWxSZXZpZXdlclJlamVjdENyZWRpdFN0dWR5JyxcclxuXHRcdFx0Y2hhbmdlU3RhdHVzQnlDYXRlZ29yeUR0byxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKVxyXG5cdFx0XHRcdFx0LnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQpXHJcblx0XHRcdFx0XHQuc2V0KCdwcm9tQ29kaWdvJywgcHJvbUNvZGlnby50b1N0cmluZygpKVxyXG5cdFx0XHR9XHJcblx0XHQpO1xyXG5cdH1cclxufVxyXG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { HttpHeaders } from '@angular/common/http';
2
+ import { Injectable, Inject } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common/http";
5
+ export class CubeService {
6
+ constructor(environment, httpClient) {
7
+ this.environment = environment;
8
+ this.httpClient = httpClient;
9
+ this.headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };
10
+ }
11
+ /** It sends a request to migration quueue */
12
+ send(lCubeRequestTO) {
13
+ return this.httpClient.post(this.environment.host.backend.queue + 'cube/send', lCubeRequestTO, this.headerJson);
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CubeService, deps: [{ token: 'environment' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
16
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CubeService, providedIn: 'root' }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CubeService, decorators: [{
19
+ type: Injectable,
20
+ args: [{
21
+ providedIn: 'root'
22
+ }]
23
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
24
+ type: Inject,
25
+ args: ['environment']
26
+ }] }, { type: i1.HttpClient }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcGxpLWNvbW1vbnMvc3JjL2xpYi9zZXJ2aWNlcy9jdWJlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNbkQsTUFBTSxPQUFPLFdBQVc7SUFHdkIsWUFBMkMsV0FBVyxFQUFVLFVBQXNCO1FBQTNDLGdCQUFXLEdBQVgsV0FBVyxDQUFBO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUY5RSxlQUFVLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFFRCxDQUFDO0lBRTFGLDZDQUE2QztJQUM3QyxJQUFJLENBQUMsY0FBNkI7UUFDakMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxXQUFXLEVBQ2pELGNBQWMsRUFDZCxJQUFJLENBQUMsVUFBVSxDQUNmLENBQUM7SUFDSCxDQUFDOytHQVpXLFdBQVcsa0JBR0gsYUFBYTttSEFIckIsV0FBVyxjQUZYLE1BQU07OzRGQUVOLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCOzswQkFJYSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ3ViZVJlcXVlc3RUTyB9IGZyb20gJ25nLXBsaS11dGlsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1YmVTZXJ2aWNlIHtcclxuXHRwcml2YXRlIGhlYWRlckpzb24gPSB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSkgfTtcclxuXHJcblx0Y29uc3RydWN0b3IoQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50LCBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHt9XHJcblxyXG5cdC8qKiBJdCBzZW5kcyBhIHJlcXVlc3QgdG8gbWlncmF0aW9uIHF1dWV1ZSAqL1xyXG5cdHNlbmQobEN1YmVSZXF1ZXN0VE86IEN1YmVSZXF1ZXN0VE8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5xdWV1ZSArICdjdWJlL3NlbmQnLFxyXG5cdFx0XHRsQ3ViZVJlcXVlc3RUTyxcclxuXHRcdFx0dGhpcy5oZWFkZXJKc29uXHJcblx0XHQpO1xyXG5cdH1cclxufVxyXG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common/http";
4
+ export class DataFormHistoryService {
5
+ constructor(environment, httpClient) {
6
+ this.environment = environment;
7
+ this.httpClient = httpClient;
8
+ }
9
+ /** It returns the list of application by dataTableParameters */
10
+ getApplicationsByDataTableParameters(dataTableParameters) {
11
+ return this.httpClient.post(this.environment.host.backend.backoffice + 'data-form-history/getByDataTableParameters', dataTableParameters);
12
+ }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DataFormHistoryService, deps: [{ token: 'environment' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
14
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DataFormHistoryService, providedIn: 'root' }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DataFormHistoryService, decorators: [{
17
+ type: Injectable,
18
+ args: [{
19
+ providedIn: 'root'
20
+ }]
21
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
22
+ type: Inject,
23
+ args: ['environment']
24
+ }] }, { type: i1.HttpClient }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1mb3JtLWhpc3Rvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvc2VydmljZXMvZGF0YS1mb3JtLWhpc3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBaUJuRCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2xDLFlBQTJDLFdBQWdCLEVBQVUsVUFBc0I7UUFBaEQsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztJQUUvRixnRUFBZ0U7SUFDaEUsb0NBQW9DLENBQ25DLG1CQUF3QztRQUV4QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLDRDQUE0QyxFQUN2RixtQkFBbUIsQ0FDbkIsQ0FBQztJQUNILENBQUM7K0dBWFcsc0JBQXNCLGtCQUNkLGFBQWE7bUhBRHJCLHNCQUFzQixjQUZ0QixNQUFNOzs0RkFFTixzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCOzswQkFFYSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcblx0QXBwbGljYXRpb24sXHJcblx0QXBwbGljYXRpb25EYXRhRm9ybVJlcXVlc3QsXHJcblx0RGF0YVRhYmxlUGFyYW1ldGVycyxcclxuXHRDaGFuZ2VTdGF0dXNCeUNhdGVnb3J5RHRvLFxyXG5cdEluaXRpYWxSZWNvcmQsXHJcblx0QXBwbGljYXRpb25WYWx1ZVJlcXVlc3RUTyxcclxuXHRDaGFuZ2VTdGF0dXNEb2N1bWVuVmFsaWRhdGlvblJlcXVlc3QsXHJcblx0U2VuZERvY0FuYWx5c2lzQXV0b0R0byxcclxuXHRBcHBsaWNhdGlvbkZvcm1UT1xyXG59IGZyb20gJ25nLXBsaS11dGlsJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0YUZvcm1IaXN0b3J5U2VydmljZSB7XHJcblx0Y29uc3RydWN0b3IoQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnksIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCkge31cclxuXHJcblx0LyoqIEl0IHJldHVybnMgdGhlIGxpc3Qgb2YgYXBwbGljYXRpb24gYnkgZGF0YVRhYmxlUGFyYW1ldGVycyAqL1xyXG5cdGdldEFwcGxpY2F0aW9uc0J5RGF0YVRhYmxlUGFyYW1ldGVycyhcclxuXHRcdGRhdGFUYWJsZVBhcmFtZXRlcnM6IERhdGFUYWJsZVBhcmFtZXRlcnNcclxuXHQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5iYWNrb2ZmaWNlICsgJ2RhdGEtZm9ybS1oaXN0b3J5L2dldEJ5RGF0YVRhYmxlUGFyYW1ldGVycycsXHJcblx0XHRcdGRhdGFUYWJsZVBhcmFtZXRlcnNcclxuXHRcdCk7XHJcblx0fVxyXG59XHJcbiJdfQ==