@experteam-mx/ngx-services 20.0.0 → 20.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 (170) hide show
  1. package/README.md +24 -24
  2. package/esm2022/experteam-mx-ngx-services.mjs +5 -0
  3. package/esm2022/lib/apis/api-billing-do.service.mjs +41 -0
  4. package/esm2022/lib/apis/api-billing-gt.service.mjs +61 -0
  5. package/esm2022/lib/apis/api-billing-mx.service.mjs +62 -0
  6. package/esm2022/lib/apis/api-billing-pa.service.mjs +105 -0
  7. package/esm2022/lib/apis/api-billing-sv.service.mjs +83 -0
  8. package/esm2022/lib/apis/api-cash-operations.service.mjs +93 -0
  9. package/esm2022/lib/apis/api-catalogs.service.mjs +626 -0
  10. package/esm2022/lib/apis/api-companies.service.mjs +1031 -0
  11. package/esm2022/lib/apis/api-composition.service.mjs +55 -0
  12. package/esm2022/lib/apis/api-customs.service.mjs +157 -0
  13. package/esm2022/lib/apis/api-discounts.service.mjs +243 -0
  14. package/esm2022/lib/apis/api-e-tools-auto-billing.service.mjs +75 -0
  15. package/esm2022/lib/apis/api-events.service.mjs +53 -0
  16. package/esm2022/lib/apis/api-external-pickups.service.mjs +74 -0
  17. package/esm2022/lib/apis/api-inventories.service.mjs +208 -0
  18. package/esm2022/lib/apis/api-invoices.service.mjs +398 -0
  19. package/esm2022/lib/apis/api-notifications.service.mjs +104 -0
  20. package/esm2022/lib/apis/api-open-items.service.mjs +62 -0
  21. package/esm2022/lib/apis/api-reports.service.mjs +172 -0
  22. package/esm2022/lib/apis/api-security.service.mjs +245 -0
  23. package/esm2022/lib/apis/api-services.service.mjs +93 -0
  24. package/esm2022/lib/apis/api-shipments.service.mjs +116 -0
  25. package/esm2022/lib/apis/api-supplies.service.mjs +133 -0
  26. package/esm2022/lib/apis/models/api-billing-do.interfaces.mjs +2 -0
  27. package/esm2022/lib/apis/models/api-billing-do.types.mjs +2 -0
  28. package/esm2022/lib/apis/models/api-billing-mx.interfaces.mjs +2 -0
  29. package/esm2022/lib/apis/models/api-billing-mx.types.mjs +2 -0
  30. package/esm2022/lib/apis/models/api-billing-pa.interfaces.mjs +2 -0
  31. package/esm2022/lib/apis/models/api-billing-pa.types.mjs +2 -0
  32. package/esm2022/lib/apis/models/api-billing-sv.interfaces.mjs +2 -0
  33. package/esm2022/lib/apis/models/api-billing-sv.types.mjs +2 -0
  34. package/esm2022/lib/apis/models/api-billing.models.mjs +2 -0
  35. package/esm2022/lib/apis/models/api-cash-operations.interfaces.mjs +2 -0
  36. package/esm2022/lib/apis/models/api-cash-operations.types.mjs +2 -0
  37. package/esm2022/lib/apis/models/api-catalog.enum.mjs +9 -0
  38. package/esm2022/lib/apis/models/api-catalog.interfaces.mjs +2 -0
  39. package/esm2022/lib/apis/models/api-catalog.types.mjs +2 -0
  40. package/esm2022/lib/apis/models/api-companies.interfaces.mjs +2 -0
  41. package/esm2022/lib/apis/models/api-companies.types.mjs +2 -0
  42. package/esm2022/lib/apis/models/api-composition.interfaces.mjs +2 -0
  43. package/esm2022/lib/apis/models/api-composition.types.mjs +2 -0
  44. package/esm2022/lib/apis/models/api-customs.interfaces.mjs +2 -0
  45. package/esm2022/lib/apis/models/api-customs.types.mjs +2 -0
  46. package/esm2022/lib/apis/models/api-discounts.interfaces.mjs +2 -0
  47. package/esm2022/lib/apis/models/api-discounts.types.mjs +2 -0
  48. package/esm2022/lib/apis/models/api-e-tools-auto-billing.interfaces.mjs +2 -0
  49. package/esm2022/lib/apis/models/api-e-tools-auto-billing.types.mjs +2 -0
  50. package/esm2022/lib/apis/models/api-events.enum.mjs +7 -0
  51. package/esm2022/lib/apis/models/api-events.interfaces.mjs +2 -0
  52. package/esm2022/lib/apis/models/api-events.types.mjs +2 -0
  53. package/esm2022/lib/apis/models/api-external-pickups.types.mjs +2 -0
  54. package/esm2022/lib/apis/models/api-inventories.enum.mjs +22 -0
  55. package/esm2022/lib/apis/models/api-inventories.interfaces.mjs +2 -0
  56. package/esm2022/lib/apis/models/api-inventories.types.mjs +2 -0
  57. package/esm2022/lib/apis/models/api-invoices.interfaces.mjs +2 -0
  58. package/esm2022/lib/apis/models/api-invoices.types.mjs +2 -0
  59. package/esm2022/lib/apis/models/api-notifications.interfaces.mjs +2 -0
  60. package/esm2022/lib/apis/models/api-notifications.types.mjs +2 -0
  61. package/esm2022/lib/apis/models/api-open-items.interfaces.mjs +2 -0
  62. package/esm2022/lib/apis/models/api-open-items.types.mjs +2 -0
  63. package/esm2022/lib/apis/models/api-reports.interfaces.mjs +2 -0
  64. package/esm2022/lib/apis/models/api-reports.types.mjs +2 -0
  65. package/esm2022/lib/apis/models/api-security.interfaces.mjs +2 -0
  66. package/esm2022/lib/apis/models/api-security.types.mjs +2 -0
  67. package/esm2022/lib/apis/models/api-services.interfaces.mjs +2 -0
  68. package/esm2022/lib/apis/models/api-services.types.mjs +2 -0
  69. package/esm2022/lib/apis/models/api-shipments.enums.mjs +8 -0
  70. package/esm2022/lib/apis/models/api-shipments.interfaces.mjs +2 -0
  71. package/esm2022/lib/apis/models/api-shipments.types.mjs +2 -0
  72. package/esm2022/lib/apis/models/api-supplies.interfaces.mjs +2 -0
  73. package/esm2022/lib/apis/models/api-supplies.types.mjs +2 -0
  74. package/esm2022/lib/apis/models/api.models.mjs +2 -0
  75. package/esm2022/lib/cypher/crypto.service.mjs +93 -0
  76. package/esm2022/lib/helpers/files.mjs +9 -0
  77. package/esm2022/lib/helpers/http.mjs +66 -0
  78. package/esm2022/lib/interceptors/api-headers.interceptor.mjs +24 -0
  79. package/esm2022/lib/interceptors/api-token.interceptor.mjs +28 -0
  80. package/esm2022/lib/interceptors/http-caching.interceptor.mjs +37 -0
  81. package/esm2022/lib/ngx-services.models.mjs +11 -0
  82. package/esm2022/lib/ngx-services.module.mjs +33 -0
  83. package/esm2022/lib/websockets/web-sockets.service.mjs +115 -0
  84. package/esm2022/public-api.mjs +90 -0
  85. package/fesm2022/experteam-mx-ngx-services.mjs +125 -14
  86. package/fesm2022/experteam-mx-ngx-services.mjs.map +1 -1
  87. package/index.d.ts +285 -2
  88. package/lib/apis/api-billing-do.service.d.ts +24 -0
  89. package/lib/apis/api-billing-gt.service.d.ts +38 -0
  90. package/lib/apis/api-billing-mx.service.d.ts +39 -0
  91. package/lib/apis/api-billing-pa.service.d.ts +68 -0
  92. package/lib/apis/api-billing-sv.service.d.ts +55 -0
  93. package/lib/apis/api-cash-operations.service.d.ts +62 -0
  94. package/lib/apis/api-catalogs.service.d.ts +458 -0
  95. package/lib/apis/api-companies.service.d.ts +714 -0
  96. package/lib/apis/api-composition.service.d.ts +35 -0
  97. package/lib/apis/api-customs.service.d.ts +110 -0
  98. package/lib/apis/api-discounts.service.d.ts +167 -0
  99. package/lib/apis/api-e-tools-auto-billing.service.d.ts +49 -0
  100. package/lib/apis/api-events.service.d.ts +33 -0
  101. package/lib/apis/api-external-pickups.service.d.ts +46 -0
  102. package/lib/apis/api-inventories.service.d.ts +145 -0
  103. package/lib/apis/api-invoices.service.d.ts +280 -0
  104. package/lib/apis/api-notifications.service.d.ts +70 -0
  105. package/lib/apis/api-open-items.service.d.ts +41 -0
  106. package/lib/apis/api-reports.service.d.ts +120 -0
  107. package/lib/apis/api-security.service.d.ts +162 -0
  108. package/lib/apis/api-services.service.d.ts +61 -0
  109. package/lib/apis/api-shipments.service.d.ts +77 -0
  110. package/lib/apis/api-supplies.service.d.ts +93 -0
  111. package/lib/apis/models/api-billing-do.interfaces.d.ts +6 -0
  112. package/lib/apis/models/api-billing-do.types.d.ts +5 -0
  113. package/lib/apis/models/api-billing-mx.interfaces.d.ts +21 -0
  114. package/lib/apis/models/api-billing-mx.types.d.ts +13 -0
  115. package/lib/apis/models/api-billing-pa.interfaces.d.ts +26 -0
  116. package/lib/apis/models/api-billing-pa.types.d.ts +16 -0
  117. package/lib/apis/models/api-billing-sv.interfaces.d.ts +22 -0
  118. package/lib/apis/models/api-billing-sv.types.d.ts +21 -0
  119. package/lib/apis/models/api-billing.models.d.ts +27 -0
  120. package/lib/apis/models/api-cash-operations.interfaces.d.ts +40 -0
  121. package/lib/apis/models/api-cash-operations.types.d.ts +30 -0
  122. package/lib/apis/models/api-catalog.enum.d.ts +7 -0
  123. package/lib/apis/models/api-catalog.interfaces.d.ts +219 -0
  124. package/lib/apis/models/api-catalog.types.d.ts +217 -0
  125. package/lib/apis/models/api-companies.interfaces.d.ts +341 -0
  126. package/lib/apis/models/api-companies.types.d.ts +457 -0
  127. package/lib/apis/models/api-composition.interfaces.d.ts +272 -0
  128. package/lib/apis/models/api-composition.types.d.ts +9 -0
  129. package/lib/apis/models/api-customs.interfaces.d.ts +125 -0
  130. package/lib/apis/models/api-customs.types.d.ts +90 -0
  131. package/lib/apis/models/api-discounts.interfaces.d.ts +78 -0
  132. package/lib/apis/models/api-discounts.types.d.ts +89 -0
  133. package/lib/apis/models/api-e-tools-auto-billing.interfaces.d.ts +45 -0
  134. package/lib/apis/models/api-e-tools-auto-billing.types.d.ts +30 -0
  135. package/lib/apis/models/api-events.enum.d.ts +5 -0
  136. package/lib/apis/models/api-events.interfaces.d.ts +21 -0
  137. package/lib/apis/models/api-events.types.d.ts +14 -0
  138. package/lib/apis/models/api-external-pickups.types.d.ts +31 -0
  139. package/lib/apis/models/api-inventories.enum.d.ts +18 -0
  140. package/lib/apis/models/api-inventories.interfaces.d.ts +40 -0
  141. package/lib/apis/models/api-inventories.types.d.ts +62 -0
  142. package/lib/apis/models/api-invoices.interfaces.d.ts +267 -0
  143. package/lib/apis/models/api-invoices.types.d.ts +195 -0
  144. package/lib/apis/models/api-notifications.interfaces.d.ts +36 -0
  145. package/lib/apis/models/api-notifications.types.d.ts +34 -0
  146. package/lib/apis/models/api-open-items.interfaces.d.ts +32 -0
  147. package/lib/apis/models/api-open-items.types.d.ts +58 -0
  148. package/lib/apis/models/api-reports.interfaces.d.ts +342 -0
  149. package/lib/apis/models/api-reports.types.d.ts +59 -0
  150. package/lib/apis/models/api-security.interfaces.d.ts +68 -0
  151. package/lib/apis/models/api-security.types.d.ts +72 -0
  152. package/lib/apis/models/api-services.interfaces.d.ts +43 -0
  153. package/lib/apis/models/api-services.types.d.ts +57 -0
  154. package/lib/apis/models/api-shipments.enums.d.ts +6 -0
  155. package/lib/apis/models/api-shipments.interfaces.d.ts +41 -0
  156. package/lib/apis/models/api-shipments.types.d.ts +121 -0
  157. package/lib/apis/models/api-supplies.interfaces.d.ts +40 -0
  158. package/lib/apis/models/api-supplies.types.d.ts +50 -0
  159. package/lib/apis/models/api.models.d.ts +36 -0
  160. package/lib/cypher/crypto.service.d.ts +15 -0
  161. package/lib/helpers/files.d.ts +2 -0
  162. package/lib/helpers/http.d.ts +38 -0
  163. package/lib/interceptors/api-headers.interceptor.d.ts +12 -0
  164. package/lib/interceptors/api-token.interceptor.d.ts +11 -0
  165. package/lib/interceptors/http-caching.interceptor.d.ts +12 -0
  166. package/lib/ngx-services.models.d.ts +62 -0
  167. package/lib/ngx-services.module.d.ts +16 -0
  168. package/lib/websockets/web-sockets.service.d.ts +49 -0
  169. package/package.json +1 -1
  170. package/public-api.d.ts +80 -0
@@ -0,0 +1,53 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { map } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common/http";
5
+ export class ApiEventsService {
6
+ environments;
7
+ http;
8
+ constructor(environments, http) {
9
+ this.environments = environments;
10
+ this.http = http;
11
+ }
12
+ /**
13
+ * Gets the API endpoint URL for Events from the environments configuration.
14
+ *
15
+ * @return {string} The URL for the Events API. Returns an empty string if not defined.
16
+ */
17
+ get url() {
18
+ return this.environments.apiEventsUrl ?? '';
19
+ }
20
+ /**
21
+ * Sends a request to start an event
22
+ *
23
+ * @param {OperationModuleStartIn} body - The event information to be submitted.
24
+ * @return {Observable<OperationModuleOut>} An Observable emitting the server's response containing the created event details.
25
+ */
26
+ postOperationModulesStart(body) {
27
+ return this.http.post(`${this.url}/operation-modules/start`, body)
28
+ .pipe(map(({ data }) => data));
29
+ }
30
+ /**
31
+ * Updates the discount information for a specific item.
32
+ *
33
+ * @param {number} id - The unique identifier of the item whose event is to be updated.
34
+ * @param {OperationModuleEndIn} body - The payload containing the updated event details.
35
+ * @return {Observable<OperationModuleOut>} An observable emitting the updated event details.
36
+ */
37
+ putOperationModulesEnd(id, body) {
38
+ return this.http.put(`${this.url}/operation-modules/${id}/end`, body)
39
+ .pipe(map(({ data }) => data));
40
+ }
41
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiEventsService, deps: [{ token: 'env' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
42
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiEventsService, providedIn: 'root' });
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiEventsService, decorators: [{
45
+ type: Injectable,
46
+ args: [{
47
+ providedIn: 'root'
48
+ }]
49
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
50
+ type: Inject,
51
+ args: ['env']
52
+ }] }, { type: i1.HttpClient }] });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWV2ZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1zZXJ2aWNlcy9zcmMvbGliL2FwaXMvYXBpLWV2ZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRWxELE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUE7OztBQU90QyxNQUFNLE9BQU8sZ0JBQWdCO0lBRUY7SUFDZjtJQUZWLFlBQ3lCLFlBQXlCLEVBQ3hDLElBQWdCO1FBREQsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDeEMsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN0QixDQUFDO0lBRUw7Ozs7T0FJRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFBO0lBQzdDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILHlCQUF5QixDQUFFLElBQTRCO1FBQ3JELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWlDLEdBQUcsSUFBSSxDQUFDLEdBQUcsMEJBQTBCLEVBQUUsSUFBSSxDQUFDO2FBQy9GLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxzQkFBc0IsQ0FBRSxFQUFVLEVBQUUsSUFBMEI7UUFDNUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBaUMsR0FBRyxJQUFJLENBQUMsR0FBRyxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDO2FBQ2xHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7d0dBcENVLGdCQUFnQixrQkFFakIsS0FBSzs0R0FGSixnQkFBZ0IsY0FGZixNQUFNOzs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHSSxNQUFNOzJCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSAnLi4vbmd4LXNlcnZpY2VzLm1vZGVscydcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgQXBpU3VjY2VzcyB9IGZyb20gJy4vbW9kZWxzL2FwaS5tb2RlbHMnXHJcbmltcG9ydCB7IE9wZXJhdGlvbk1vZHVsZUVuZEluLCBPcGVyYXRpb25Nb2R1bGVPdXQsIE9wZXJhdGlvbk1vZHVsZVN0YXJ0SW4gfSBmcm9tICcuL21vZGVscy9hcGktZXZlbnRzLnR5cGVzJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpRXZlbnRzU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IgKFxyXG4gICAgQEluamVjdCgnZW52JykgcHJpdmF0ZSBlbnZpcm9ubWVudHM6IEVudmlyb25tZW50LFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XHJcbiAgKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgQVBJIGVuZHBvaW50IFVSTCBmb3IgRXZlbnRzIGZyb20gdGhlIGVudmlyb25tZW50cyBjb25maWd1cmF0aW9uLlxyXG4gICAqXHJcbiAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgVVJMIGZvciB0aGUgRXZlbnRzIEFQSS4gUmV0dXJucyBhbiBlbXB0eSBzdHJpbmcgaWYgbm90IGRlZmluZWQuXHJcbiAgICovXHJcbiAgZ2V0IHVybCAoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50cy5hcGlFdmVudHNVcmwgPz8gJydcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmRzIGEgcmVxdWVzdCB0byBzdGFydCBhbiBldmVudFxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtPcGVyYXRpb25Nb2R1bGVTdGFydElufSBib2R5IC0gVGhlIGV2ZW50IGluZm9ybWF0aW9uIHRvIGJlIHN1Ym1pdHRlZC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPE9wZXJhdGlvbk1vZHVsZU91dD59IEFuIE9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHNlcnZlcidzIHJlc3BvbnNlIGNvbnRhaW5pbmcgdGhlIGNyZWF0ZWQgZXZlbnQgZGV0YWlscy5cclxuICAgKi9cclxuICBwb3N0T3BlcmF0aW9uTW9kdWxlc1N0YXJ0IChib2R5OiBPcGVyYXRpb25Nb2R1bGVTdGFydEluKTogT2JzZXJ2YWJsZTxPcGVyYXRpb25Nb2R1bGVPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPE9wZXJhdGlvbk1vZHVsZU91dD4+KGAke3RoaXMudXJsfS9vcGVyYXRpb24tbW9kdWxlcy9zdGFydGAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyB0aGUgZGlzY291bnQgaW5mb3JtYXRpb24gZm9yIGEgc3BlY2lmaWMgaXRlbS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaXRlbSB3aG9zZSBldmVudCBpcyB0byBiZSB1cGRhdGVkLlxyXG4gICAqIEBwYXJhbSB7T3BlcmF0aW9uTW9kdWxlRW5kSW59IGJvZHkgLSBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSB1cGRhdGVkIGV2ZW50IGRldGFpbHMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxPcGVyYXRpb25Nb2R1bGVPdXQ+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSB1cGRhdGVkIGV2ZW50IGRldGFpbHMuXHJcbiAgICovXHJcbiAgcHV0T3BlcmF0aW9uTW9kdWxlc0VuZCAoaWQ6IG51bWJlciwgYm9keTogT3BlcmF0aW9uTW9kdWxlRW5kSW4pOiBPYnNlcnZhYmxlPE9wZXJhdGlvbk1vZHVsZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxPcGVyYXRpb25Nb2R1bGVPdXQ+PihgJHt0aGlzLnVybH0vb3BlcmF0aW9uLW1vZHVsZXMvJHtpZH0vZW5kYCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,74 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common/http";
5
+ export class ApiExternalPickupsService {
6
+ httpClient;
7
+ environment;
8
+ appKey;
9
+ constructor(httpClient, environment) {
10
+ this.httpClient = httpClient;
11
+ this.environment = environment;
12
+ this.appKey = environment.apiExternalOperationsKey ?? '';
13
+ }
14
+ /**
15
+ * Getter method to retrieve the API's external operations URL.
16
+ * Fetches the URL from the `apiExternalOperationsUrl` property of the environment object.
17
+ * Defaults to an empty string if the property is undefined or null.
18
+ *
19
+ * @return {string} The external operations URL or an empty string if unavailable.
20
+ */
21
+ get url() {
22
+ return this.environment.apiExternalOperationsUrl ?? '';
23
+ }
24
+ /**
25
+ * Generates a delivery confirmation by sending the provided payload to the API.
26
+ *
27
+ * @param {DeliveryConfirmationGenerateIn} payload - The input payload required to generate the delivery confirmation.
28
+ * @return {Observable<DeliveryConfirmationGenerateOut>} An observable that emits the generated delivery confirmation data.
29
+ */
30
+ postDeliveryConfirmationGenerate(payload) {
31
+ return this.httpClient.post(`${this.url}/delivery-confirmation/generate`, payload, {
32
+ headers: { appkey: this.appKey }
33
+ }).pipe(map(({ data }) => data));
34
+ }
35
+ /**
36
+ * Confirms the completion of a delivery operation by making a PATCH request.
37
+ *
38
+ * @param {Object} input - The input parameters for the method.
39
+ * @param {string} input.operationId - The unique identifier of the delivery operation to be confirmed.
40
+ * @param {string} input.keyOTP - The one-time password (OTP) key associated with the delivery confirmation.
41
+ * @return {Observable<Object>} - An observable containing the response data from the API.
42
+ */
43
+ patchDeliveryConfirmationComplete({ keyOTP, operationId, }) {
44
+ return this.httpClient.patch(`${this.url}/delivery-confirmation/completed/${keyOTP}`, null, {
45
+ headers: { appkey: this.appKey },
46
+ params: { operation_id: operationId }
47
+ }).pipe(map(({ data }) => data));
48
+ }
49
+ /**
50
+ * Cancels a delivery confirmation by sending an OTP and additional data to the server.
51
+ *
52
+ * @param {Object} param0 - The parameter object containing the required properties.
53
+ * @param {string} param0.otp - The one-time password to authenticate the cancellation request.
54
+ * @param {Object} param0.body - Additional body data required for cancellation.
55
+ * @return {Observable<Object>} An observable that emits the server's response when the cancellation is processed.
56
+ */
57
+ putDeliveryConfirmation({ otp, ...body }) {
58
+ return this.httpClient.put(`${this.url}/delivery-confirmation/confirmation/${otp}`, body, {
59
+ headers: { appkey: this.appKey },
60
+ }).pipe(map(({ data }) => data));
61
+ }
62
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiExternalPickupsService, deps: [{ token: i1.HttpClient }, { token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable });
63
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiExternalPickupsService, providedIn: 'root' });
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiExternalPickupsService, decorators: [{
66
+ type: Injectable,
67
+ args: [{
68
+ providedIn: 'root'
69
+ }]
70
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
71
+ type: Inject,
72
+ args: ['env']
73
+ }] }] });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWV4dGVybmFsLXBpY2t1cHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtc2VydmljZXMvc3JjL2xpYi9hcGlzL2FwaS1leHRlcm5hbC1waWNrdXBzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFVbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7QUFNcEMsTUFBTSxPQUFPLHlCQUF5QjtJQUkxQjtJQUNlO0lBSmpCLE1BQU0sQ0FBUTtJQUV0QixZQUNVLFVBQXNCLEVBQ1AsV0FBd0I7UUFEdkMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNQLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRS9DLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLHdCQUF3QixJQUFJLEVBQUUsQ0FBQTtJQUMxRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLHdCQUF3QixJQUFJLEVBQUUsQ0FBQTtJQUN4RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxnQ0FBZ0MsQ0FBRSxPQUF1QztRQUM5RSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN6QixHQUFHLElBQUksQ0FBQyxHQUFHLGlDQUFpQyxFQUM1QyxPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRTtTQUNqQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxpQ0FBaUMsQ0FBRSxFQUN4QyxNQUFNLEVBQ04sV0FBVyxHQUNvQjtRQUMvQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUMxQixHQUFHLElBQUksQ0FBQyxHQUFHLG9DQUFvQyxNQUFNLEVBQUUsRUFDdkQsSUFBSSxFQUFFO1lBQ0osT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEMsTUFBTSxFQUFFLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRTtTQUN0QyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSx1QkFBdUIsQ0FBRSxFQUM5QixHQUFHLEVBQ0gsR0FBRyxJQUFJLEVBQ2dCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3hCLEdBQUcsSUFBSSxDQUFDLEdBQUcsdUNBQXVDLEdBQUcsRUFBRSxFQUN2RCxJQUFJLEVBQUU7WUFDSixPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRTtTQUNqQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDcEMsQ0FBQzt3R0F4RVUseUJBQXlCLDRDQUsxQixLQUFLOzRHQUxKLHlCQUF5QixjQUZ4QixNQUFNOzs0RkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFNSSxNQUFNOzJCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSAnLi4vbmd4LXNlcnZpY2VzLm1vZGVscydcclxuaW1wb3J0IHtcclxuICBEZWxpdmVyeUNvbmZpcm1hdGlvbkNvbXBsZXRlSW4sXHJcbiAgRGVsaXZlcnlDb25maXJtYXRpb25HZW5lcmF0ZUluLFxyXG4gIERlbGl2ZXJ5Q29uZmlybWF0aW9uR2VuZXJhdGVPdXQsXHJcbiAgRGVsaXZlcnlDb25maXJtYXRpb25JblxyXG59IGZyb20gJy4vbW9kZWxzL2FwaS1leHRlcm5hbC1waWNrdXBzLnR5cGVzJ1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcbmltcG9ydCB7IEFwaVN1Y2Nlc3MgfSBmcm9tICcuL21vZGVscy9hcGkubW9kZWxzJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpRXh0ZXJuYWxQaWNrdXBzU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBhcHBLZXk6IHN0cmluZ1xyXG5cclxuICBjb25zdHJ1Y3RvciAoXHJcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGVudmlyb25tZW50OiBFbnZpcm9ubWVudFxyXG4gICkge1xyXG4gICAgdGhpcy5hcHBLZXkgPSBlbnZpcm9ubWVudC5hcGlFeHRlcm5hbE9wZXJhdGlvbnNLZXkgPz8gJydcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHRlciBtZXRob2QgdG8gcmV0cmlldmUgdGhlIEFQSSdzIGV4dGVybmFsIG9wZXJhdGlvbnMgVVJMLlxyXG4gICAqIEZldGNoZXMgdGhlIFVSTCBmcm9tIHRoZSBgYXBpRXh0ZXJuYWxPcGVyYXRpb25zVXJsYCBwcm9wZXJ0eSBvZiB0aGUgZW52aXJvbm1lbnQgb2JqZWN0LlxyXG4gICAqIERlZmF1bHRzIHRvIGFuIGVtcHR5IHN0cmluZyBpZiB0aGUgcHJvcGVydHkgaXMgdW5kZWZpbmVkIG9yIG51bGwuXHJcbiAgICpcclxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBleHRlcm5hbCBvcGVyYXRpb25zIFVSTCBvciBhbiBlbXB0eSBzdHJpbmcgaWYgdW5hdmFpbGFibGUuXHJcbiAgICovXHJcbiAgZ2V0IHVybCAoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmFwaUV4dGVybmFsT3BlcmF0aW9uc1VybCA/PyAnJ1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2VuZXJhdGVzIGEgZGVsaXZlcnkgY29uZmlybWF0aW9uIGJ5IHNlbmRpbmcgdGhlIHByb3ZpZGVkIHBheWxvYWQgdG8gdGhlIEFQSS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7RGVsaXZlcnlDb25maXJtYXRpb25HZW5lcmF0ZUlufSBwYXlsb2FkIC0gVGhlIGlucHV0IHBheWxvYWQgcmVxdWlyZWQgdG8gZ2VuZXJhdGUgdGhlIGRlbGl2ZXJ5IGNvbmZpcm1hdGlvbi5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPERlbGl2ZXJ5Q29uZmlybWF0aW9uR2VuZXJhdGVPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGdlbmVyYXRlZCBkZWxpdmVyeSBjb25maXJtYXRpb24gZGF0YS5cclxuICAgKi9cclxuICBwdWJsaWMgcG9zdERlbGl2ZXJ5Q29uZmlybWF0aW9uR2VuZXJhdGUgKHBheWxvYWQ6IERlbGl2ZXJ5Q29uZmlybWF0aW9uR2VuZXJhdGVJbik6IE9ic2VydmFibGU8RGVsaXZlcnlDb25maXJtYXRpb25HZW5lcmF0ZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PEFwaVN1Y2Nlc3M8RGVsaXZlcnlDb25maXJtYXRpb25HZW5lcmF0ZU91dD4+KFxyXG4gICAgICBgJHt0aGlzLnVybH0vZGVsaXZlcnktY29uZmlybWF0aW9uL2dlbmVyYXRlYCxcclxuICAgICAgcGF5bG9hZCwge1xyXG4gICAgICAgIGhlYWRlcnM6IHsgYXBwa2V5OiB0aGlzLmFwcEtleSB9XHJcbiAgICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb25maXJtcyB0aGUgY29tcGxldGlvbiBvZiBhIGRlbGl2ZXJ5IG9wZXJhdGlvbiBieSBtYWtpbmcgYSBQQVRDSCByZXF1ZXN0LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtPYmplY3R9IGlucHV0IC0gVGhlIGlucHV0IHBhcmFtZXRlcnMgZm9yIHRoZSBtZXRob2QuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGlucHV0Lm9wZXJhdGlvbklkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBkZWxpdmVyeSBvcGVyYXRpb24gdG8gYmUgY29uZmlybWVkLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dC5rZXlPVFAgLSBUaGUgb25lLXRpbWUgcGFzc3dvcmQgKE9UUCkga2V5IGFzc29jaWF0ZWQgd2l0aCB0aGUgZGVsaXZlcnkgY29uZmlybWF0aW9uLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8T2JqZWN0Pn0gLSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHJlc3BvbnNlIGRhdGEgZnJvbSB0aGUgQVBJLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBwYXRjaERlbGl2ZXJ5Q29uZmlybWF0aW9uQ29tcGxldGUgKHtcclxuICAgIGtleU9UUCxcclxuICAgIG9wZXJhdGlvbklkLFxyXG4gIH06IERlbGl2ZXJ5Q29uZmlybWF0aW9uQ29tcGxldGVJbik6IE9ic2VydmFibGU8e30+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucGF0Y2g8QXBpU3VjY2Vzczx7fT4+KFxyXG4gICAgICBgJHt0aGlzLnVybH0vZGVsaXZlcnktY29uZmlybWF0aW9uL2NvbXBsZXRlZC8ke2tleU9UUH1gLFxyXG4gICAgICBudWxsLCB7XHJcbiAgICAgICAgaGVhZGVyczogeyBhcHBrZXk6IHRoaXMuYXBwS2V5IH0sXHJcbiAgICAgICAgcGFyYW1zOiB7IG9wZXJhdGlvbl9pZDogb3BlcmF0aW9uSWQgfVxyXG4gICAgICB9KS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FuY2VscyBhIGRlbGl2ZXJ5IGNvbmZpcm1hdGlvbiBieSBzZW5kaW5nIGFuIE9UUCBhbmQgYWRkaXRpb25hbCBkYXRhIHRvIHRoZSBzZXJ2ZXIuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW0wIC0gVGhlIHBhcmFtZXRlciBvYmplY3QgY29udGFpbmluZyB0aGUgcmVxdWlyZWQgcHJvcGVydGllcy5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW0wLm90cCAtIFRoZSBvbmUtdGltZSBwYXNzd29yZCB0byBhdXRoZW50aWNhdGUgdGhlIGNhbmNlbGxhdGlvbiByZXF1ZXN0LlxyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbTAuYm9keSAtIEFkZGl0aW9uYWwgYm9keSBkYXRhIHJlcXVpcmVkIGZvciBjYW5jZWxsYXRpb24uXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxPYmplY3Q+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHNlcnZlcidzIHJlc3BvbnNlIHdoZW4gdGhlIGNhbmNlbGxhdGlvbiBpcyBwcm9jZXNzZWQuXHJcbiAgICovXHJcbiAgcHVibGljIHB1dERlbGl2ZXJ5Q29uZmlybWF0aW9uICh7XHJcbiAgICBvdHAsXHJcbiAgICAuLi5ib2R5XHJcbiAgfTogRGVsaXZlcnlDb25maXJtYXRpb25Jbik6IE9ic2VydmFibGU8e30+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0PEFwaVN1Y2Nlc3M8e30+PihcclxuICAgICAgYCR7dGhpcy51cmx9L2RlbGl2ZXJ5LWNvbmZpcm1hdGlvbi9jb25maXJtYXRpb24vJHtvdHB9YCxcclxuICAgICAgYm9keSwge1xyXG4gICAgICAgIGhlYWRlcnM6IHsgYXBwa2V5OiB0aGlzLmFwcEtleSB9LFxyXG4gICAgICB9KS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,208 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { map } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common/http";
5
+ export class ApiInventoriesService {
6
+ environments;
7
+ http;
8
+ constructor(environments, http) {
9
+ this.environments = environments;
10
+ this.http = http;
11
+ }
12
+ /**
13
+ * Retrieves the URL for the Inventories API from the environment configurations.
14
+ *
15
+ * @return {string} The URL of the Inventories API.
16
+ */
17
+ get url() {
18
+ return this.environments.apiInventoriesUrl ?? '';
19
+ }
20
+ /**
21
+ * Retrieves a list of checkpoints based on query parameters.
22
+ *
23
+ * @param {QueryParams} params - Query parameters for filtering the checkpoints.
24
+ * @returns {Observable<CheckpointsOut>} The list of checkpoints.
25
+ */
26
+ getCheckpoints(params) {
27
+ return this.http.get(`${this.url}/checkpoints`, {
28
+ params
29
+ }).pipe(map(({ data }) => data));
30
+ }
31
+ /**
32
+ * Retrieves a list of checkpoint event reasons based on query parameters.
33
+ *
34
+ * @param {QueryParams} params - Query parameters for filtering the checkpoint event reasons.
35
+ * @returns {Observable<CheckpointEventReasonsOut>} The list of checkpoint event reasons.
36
+ */
37
+ getCheckpointEventReasons(params) {
38
+ return this.http.get(`${this.url}/checkpoint-event-reasons`, {
39
+ params
40
+ }).pipe(map(({ data }) => data));
41
+ }
42
+ /**
43
+ * Retrieves a list of incidents based on query parameters.
44
+ *
45
+ * @param {QueryParams} params - Query parameters for filtering the incidents.
46
+ * @returns {Observable<IncidentsOut>} An observable that emits the list of incidents.
47
+ */
48
+ getIncidents(params) {
49
+ return this.http.get(`${this.url}/incidents`, {
50
+ params
51
+ }).pipe(map(({ data }) => data));
52
+ }
53
+ /**
54
+ * Fetches the incident details based on the provided incident ID.
55
+ *
56
+ * @param {number} id - The identifier of the incident record to get detail.
57
+ * @return {Observable<IncidentOut>} An observable that emits the detail incident data.
58
+ */
59
+ getIncident(id) {
60
+ return this.http.get(`${this.url}/incidents/${id}`)
61
+ .pipe(map(({ data }) => data));
62
+ }
63
+ /**
64
+ * Creates a new incident.
65
+ *
66
+ * @param {IncidentIn} body - The data for the new incident.
67
+ * @returns {Observable<IncidentOut>} An observable the created incident detail.
68
+ */
69
+ postIncident(body) {
70
+ return this.http.post(`${this.url}/incidents`, body).pipe(map(({ data }) => data));
71
+ }
72
+ /**
73
+ * Updates an existing incident.
74
+ *
75
+ * @param {number} id - The identifier of the incident record to update.
76
+ * @param {IncidentIn} body - The incident data to be updated.
77
+ * @returns {Observable<IncidentOut>} An observable detail of the updated incident.
78
+ */
79
+ putIncident(id, body) {
80
+ return this.http.put(`${this.url}/incidents/${id}`, body).pipe(map(({ data }) => data));
81
+ }
82
+ /**
83
+ * Delete an existing incident.
84
+ *
85
+ * @param {number} id - The unique identifier of the incident to be deleted.
86
+ * @returns {Observable<IncidentOut>} An observable that emits the result of the delete incident.
87
+ */
88
+ deleteIncident(id) {
89
+ return this.http.delete(`${this.url}/incidents/${id}`)
90
+ .pipe(map(({ data }) => data));
91
+ }
92
+ /**
93
+ * Retrieves a list of incident reasons based on query parameters.
94
+ *
95
+ * @param {QueryParams} params - Query parameters for filtering the incident reasons.
96
+ * @returns {Observable<IncidentReasonsOut>} An observable that emits the list of incident reasons.
97
+ */
98
+ getIncidentReasons(params) {
99
+ return this.http.get(`${this.url}/incident-reasons`, {
100
+ params
101
+ }).pipe(map(({ data }) => data));
102
+ }
103
+ /**
104
+ * Fetches the incident reason details based on the provided incident reason ID.
105
+ *
106
+ * @param {number} id - The identifier of the incident reason record to get detail.
107
+ * @return {Observable<IncidentReasonOut>} An observable that emits the detail incident reason data.
108
+ */
109
+ getIncidentReason(id) {
110
+ return this.http.get(`${this.url}/incident-reasons/${id}`)
111
+ .pipe(map(({ data }) => data));
112
+ }
113
+ /**
114
+ * Creates a new incident reason.
115
+ *
116
+ * @param {IncidentReasonIn} body - The data for the new incident reason.
117
+ * @returns {Observable<IncidentReasonOut>} An observable the created incident reason detail.
118
+ */
119
+ postIncidentReason(body) {
120
+ return this.http.post(`${this.url}/incident-reasons`, body).pipe(map(({ data }) => data));
121
+ }
122
+ /**
123
+ * Updates an existing incident reason.
124
+ *
125
+ * @param {number} id - The identifier of the incident reason record to update.
126
+ * @param {IncidentIn} body - The incident reason data to be updated.
127
+ * @returns {Observable<IncidentReasonOut>} An observable detail of the updated incident reason.
128
+ */
129
+ putIncidentReason(id, body) {
130
+ return this.http.put(`${this.url}/incident-reasons/${id}`, body).pipe(map(({ data }) => data));
131
+ }
132
+ /**
133
+ * Delete an existing incident reason.
134
+ *
135
+ * @param {number} id - The unique identifier of the incident reason to be deleted.
136
+ * @returns {Observable<IncidentReasonOut>} An observable that emits the result of the delete incident reason.
137
+ */
138
+ deleteIncidentReason(id) {
139
+ return this.http.delete(`${this.url}/incident-reasons/${id}`)
140
+ .pipe(map(({ data }) => data));
141
+ }
142
+ /**
143
+ * Retrieves a list of incident reason complements based on query parameters.
144
+ *
145
+ * @param {QueryParams} params - Query parameters for filtering the incident reason complements.
146
+ * @returns {Observable<IncidentReasonComplementsOut>} An observable that emits the list of incident reason complements.
147
+ */
148
+ getIncidentReasonComplements(params) {
149
+ return this.http.get(`${this.url}/incident-reason-complements`, {
150
+ params
151
+ }).pipe(map(({ data }) => data));
152
+ }
153
+ /**
154
+ * Creates a new incident reason complement.
155
+ *
156
+ * @param {IncidentReasonIn} body - The data for the new incident reason complement.
157
+ * @returns {Observable<IncidentReasonComplementOut>} An observable the created incident reason complement detail.
158
+ */
159
+ postIncidentReasonComplement(body) {
160
+ return this.http.post(`${this.url}/incident-reason-complements`, body).pipe(map(({ data }) => data));
161
+ }
162
+ /**
163
+ * Updates an existing incident reason complement.
164
+ *
165
+ * @param {number} id - The identifier of the incident reason complement record to update.
166
+ * @param {IncidentIn} body - The incident reason complement data to be updated.
167
+ * @returns {Observable<IncidentReasonComplementOut>} An observable detail of the updated incident reason complement.
168
+ */
169
+ putIncidentReasonComplement(id, body) {
170
+ return this.http.put(`${this.url}/incident-reason-complements/${id}`, body).pipe(map(({ data }) => data));
171
+ }
172
+ /**
173
+ * Delete an existing incident reason complement.
174
+ *
175
+ * @param {number} id - The unique identifier of the incident reason complement to be deleted.
176
+ * @returns {Observable<IncidentReasonComplementOut>} An observable that emits the result of the delete incident reason complement.
177
+ */
178
+ deleteIncidentReasonComplement(id) {
179
+ return this.http.delete(`${this.url}/incident-reason-complements/${id}`)
180
+ .pipe(map(({ data }) => data));
181
+ }
182
+ /**
183
+ * Posts packages that are currently in stock.
184
+ *
185
+ * @param body - The input data containing package stock information
186
+ * @returns {Observable<PackagesInStockOut>} An Observable that emits the packages in stock output data
187
+ *
188
+ * @remarks
189
+ * This method sends a POST request to the `/packages/in-stock` endpoint and
190
+ * extracts the data property from the API success response.
191
+ */
192
+ postPackagesInStock(body) {
193
+ return this.http.post(`${this.url}/packages/in-stock`, body)
194
+ .pipe(map(({ data }) => data));
195
+ }
196
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiInventoriesService, deps: [{ token: 'env' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
197
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiInventoriesService, providedIn: 'root' });
198
+ }
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiInventoriesService, decorators: [{
200
+ type: Injectable,
201
+ args: [{
202
+ providedIn: 'root'
203
+ }]
204
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
205
+ type: Inject,
206
+ args: ['env']
207
+ }] }, { type: i1.HttpClient }] });
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWludmVudG9yaWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LXNlcnZpY2VzL3NyYy9saWIvYXBpcy9hcGktaW52ZW50b3JpZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUlsRCxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFBOzs7QUFNdEMsTUFBTSxPQUFPLHFCQUFxQjtJQUVQO0lBQ2Y7SUFGVixZQUN5QixZQUF5QixFQUN4QyxJQUFnQjtRQURELGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQVk7SUFDdEIsQ0FBQztJQUVMOzs7O09BSUc7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFBO0lBQ2xELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGNBQWMsQ0FBRSxNQUFtQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUE2QixHQUFHLElBQUksQ0FBQyxHQUFHLGNBQWMsRUFBRTtZQUMxRSxNQUFNO1NBQ1AsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILHlCQUF5QixDQUFFLE1BQW1CO1FBQzVDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXdDLEdBQUcsSUFBSSxDQUFDLEdBQUcsMkJBQTJCLEVBQUU7WUFDbEcsTUFBTTtTQUNQLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxZQUFZLENBQUUsTUFBbUI7UUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBMkIsR0FBRyxJQUFJLENBQUMsR0FBRyxZQUFZLEVBQUU7WUFDdEUsTUFBTTtTQUNQLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUUsRUFBVTtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUEwQixHQUFHLElBQUksQ0FBQyxHQUFHLGNBQWMsRUFBRSxFQUFFLENBQUM7YUFDekUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsWUFBWSxDQUFFLElBQWdCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQTBCLEdBQUcsSUFBSSxDQUFDLEdBQUcsWUFBWSxFQUNwRSxJQUFJLENBQ0wsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNqQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsV0FBVyxDQUFFLEVBQVUsRUFBRSxJQUFnQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUEwQixHQUFHLElBQUksQ0FBQyxHQUFHLGNBQWMsRUFBRSxFQUFFLEVBQ3pFLElBQUksQ0FDTCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2pDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGNBQWMsQ0FBRSxFQUFVO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQTBCLEdBQUcsSUFBSSxDQUFDLEdBQUcsY0FBYyxFQUFFLEVBQUUsQ0FBQzthQUM1RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxrQkFBa0IsQ0FBRSxNQUFtQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFpQyxHQUFHLElBQUksQ0FBQyxHQUFHLG1CQUFtQixFQUFFO1lBQ25GLE1BQU07U0FDUCxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsaUJBQWlCLENBQUUsRUFBVTtRQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFnQyxHQUFHLElBQUksQ0FBQyxHQUFHLHFCQUFxQixFQUFFLEVBQUUsQ0FBQzthQUN0RixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxrQkFBa0IsQ0FBRSxJQUFzQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFnQyxHQUFHLElBQUksQ0FBQyxHQUFHLG1CQUFtQixFQUNqRixJQUFJLENBQ0wsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNqQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsaUJBQWlCLENBQUUsRUFBVSxFQUFFLElBQXNCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWdDLEdBQUcsSUFBSSxDQUFDLEdBQUcscUJBQXFCLEVBQUUsRUFBRSxFQUN0RixJQUFJLENBQ0wsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNqQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxvQkFBb0IsQ0FBRSxFQUFVO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQWdDLEdBQUcsSUFBSSxDQUFDLEdBQUcscUJBQXFCLEVBQUUsRUFBRSxDQUFDO2FBQ3pGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILDRCQUE0QixDQUFFLE1BQW1CO1FBQy9DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQTJDLEdBQUcsSUFBSSxDQUFDLEdBQUcsOEJBQThCLEVBQUU7WUFDeEcsTUFBTTtTQUNQLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCw0QkFBNEIsQ0FBRSxJQUFnQztRQUM1RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUEwQyxHQUFHLElBQUksQ0FBQyxHQUFHLDhCQUE4QixFQUN0RyxJQUFJLENBQ0wsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNqQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsMkJBQTJCLENBQUUsRUFBVSxFQUFFLElBQWdDO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQTBDLEdBQUcsSUFBSSxDQUFDLEdBQUcsZ0NBQWdDLEVBQUUsRUFBRSxFQUMzRyxJQUFJLENBQ0wsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNqQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCw4QkFBOEIsQ0FBRSxFQUFVO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQTBDLEdBQUcsSUFBSSxDQUFDLEdBQUcsZ0NBQWdDLEVBQUUsRUFBRSxDQUFDO2FBQzlHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxtQkFBbUIsQ0FBRSxJQUF1QjtRQUMxQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFpQyxHQUFHLElBQUksQ0FBQyxHQUFHLG9CQUFvQixFQUFFLElBQUksQ0FBQzthQUN6RixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO3dHQTFOVSxxQkFBcUIsa0JBRXRCLEtBQUs7NEdBRkoscUJBQXFCLGNBRnBCLE1BQU07OzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdJLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSAnLi4vbmd4LXNlcnZpY2VzLm1vZGVscydcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgeyBBcGlTdWNjZXNzLCBRdWVyeVBhcmFtcyB9IGZyb20gJy4vbW9kZWxzL2FwaS5tb2RlbHMnXHJcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IENoZWNrcG9pbnRFdmVudFJlYXNvbnNPdXQsIENoZWNrcG9pbnRzT3V0LCBJbmNpZGVudEluLCBJbmNpZGVudE91dCwgSW5jaWRlbnRSZWFzb25Db21wbGVtZW50SW4sIEluY2lkZW50UmVhc29uQ29tcGxlbWVudE91dCwgSW5jaWRlbnRSZWFzb25Db21wbGVtZW50c091dCwgSW5jaWRlbnRSZWFzb25JbiwgSW5jaWRlbnRSZWFzb25PdXQsIEluY2lkZW50UmVhc29uc091dCwgSW5jaWRlbnRzT3V0LCBQYWNrYWdlc0luU3RvY2tJbiwgUGFja2FnZXNJblN0b2NrT3V0IH0gZnJvbSAnLi9tb2RlbHMvYXBpLWludmVudG9yaWVzLnR5cGVzJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpSW52ZW50b3JpZXNTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvciAoXHJcbiAgICBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGVudmlyb25tZW50czogRW52aXJvbm1lbnQsXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnRcclxuICApIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIFVSTCBmb3IgdGhlIEludmVudG9yaWVzIEFQSSBmcm9tIHRoZSBlbnZpcm9ubWVudCBjb25maWd1cmF0aW9ucy5cclxuICAgKlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIFVSTCBvZiB0aGUgSW52ZW50b3JpZXMgQVBJLlxyXG4gICAqL1xyXG4gIGdldCB1cmwgKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudHMuYXBpSW52ZW50b3JpZXNVcmwgPz8gJydcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgY2hlY2twb2ludHMgYmFzZWQgb24gcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFF1ZXJ5IHBhcmFtZXRlcnMgZm9yIGZpbHRlcmluZyB0aGUgY2hlY2twb2ludHMuXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8Q2hlY2twb2ludHNPdXQ+fSBUaGUgbGlzdCBvZiBjaGVja3BvaW50cy5cclxuICAgKi9cclxuICBnZXRDaGVja3BvaW50cyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8Q2hlY2twb2ludHNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q2hlY2twb2ludHNPdXQ+PihgJHt0aGlzLnVybH0vY2hlY2twb2ludHNgLCB7XHJcbiAgICAgIHBhcmFtc1xyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgY2hlY2twb2ludCBldmVudCByZWFzb25zIGJhc2VkIG9uIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBRdWVyeSBwYXJhbWV0ZXJzIGZvciBmaWx0ZXJpbmcgdGhlIGNoZWNrcG9pbnQgZXZlbnQgcmVhc29ucy5cclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxDaGVja3BvaW50RXZlbnRSZWFzb25zT3V0Pn0gVGhlIGxpc3Qgb2YgY2hlY2twb2ludCBldmVudCByZWFzb25zLlxyXG4gICAqL1xyXG4gIGdldENoZWNrcG9pbnRFdmVudFJlYXNvbnMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPENoZWNrcG9pbnRFdmVudFJlYXNvbnNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q2hlY2twb2ludEV2ZW50UmVhc29uc091dD4+KGAke3RoaXMudXJsfS9jaGVja3BvaW50LWV2ZW50LXJlYXNvbnNgLCB7XHJcbiAgICAgIHBhcmFtc1xyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgaW5jaWRlbnRzIGJhc2VkIG9uIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBRdWVyeSBwYXJhbWV0ZXJzIGZvciBmaWx0ZXJpbmcgdGhlIGluY2lkZW50cy5cclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxJbmNpZGVudHNPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGxpc3Qgb2YgaW5jaWRlbnRzLlxyXG4gICAqL1xyXG4gIGdldEluY2lkZW50cyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8SW5jaWRlbnRzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEluY2lkZW50c091dD4+KGAke3RoaXMudXJsfS9pbmNpZGVudHNgLCB7XHJcbiAgICAgIHBhcmFtc1xyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgdGhlIGluY2lkZW50IGRldGFpbHMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGluY2lkZW50IElELlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIGlkZW50aWZpZXIgb2YgdGhlIGluY2lkZW50IHJlY29yZCB0byBnZXQgZGV0YWlsLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8SW5jaWRlbnRPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGRldGFpbCBpbmNpZGVudCBkYXRhLlxyXG4gICAqL1xyXG4gIGdldEluY2lkZW50IChpZDogTnVtYmVyKTogT2JzZXJ2YWJsZTxJbmNpZGVudE91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxJbmNpZGVudE91dD4+KGAke3RoaXMudXJsfS9pbmNpZGVudHMvJHtpZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgYSBuZXcgaW5jaWRlbnQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge0luY2lkZW50SW59IGJvZHkgLSBUaGUgZGF0YSBmb3IgdGhlIG5ldyBpbmNpZGVudC5cclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxJbmNpZGVudE91dD59IEFuIG9ic2VydmFibGUgdGhlIGNyZWF0ZWQgaW5jaWRlbnQgZGV0YWlsLlxyXG4gICAqL1xyXG4gIHBvc3RJbmNpZGVudCAoYm9keTogSW5jaWRlbnRJbik6IE9ic2VydmFibGU8SW5jaWRlbnRPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPEluY2lkZW50T3V0Pj4oYCR7dGhpcy51cmx9L2luY2lkZW50c2AsXHJcbiAgICAgIGJvZHlcclxuICAgICkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgYW4gZXhpc3RpbmcgaW5jaWRlbnQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgaWRlbnRpZmllciBvZiB0aGUgaW5jaWRlbnQgcmVjb3JkIHRvIHVwZGF0ZS5cclxuICAgKiBAcGFyYW0ge0luY2lkZW50SW59IGJvZHkgLSBUaGUgaW5jaWRlbnQgZGF0YSB0byBiZSB1cGRhdGVkLlxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEluY2lkZW50T3V0Pn0gQW4gb2JzZXJ2YWJsZSBkZXRhaWwgb2YgdGhlIHVwZGF0ZWQgaW5jaWRlbnQuXHJcbiAgICovXHJcbiAgcHV0SW5jaWRlbnQgKGlkOiBOdW1iZXIsIGJvZHk6IEluY2lkZW50SW4pOiBPYnNlcnZhYmxlPEluY2lkZW50T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPEluY2lkZW50T3V0Pj4oYCR7dGhpcy51cmx9L2luY2lkZW50cy8ke2lkfWAsXHJcbiAgICAgIGJvZHlcclxuICAgICkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZSBhbiBleGlzdGluZyBpbmNpZGVudC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaW5jaWRlbnQgdG8gYmUgZGVsZXRlZC5cclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxJbmNpZGVudE91dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzdWx0IG9mIHRoZSBkZWxldGUgaW5jaWRlbnQuXHJcbiAgICovXHJcbiAgZGVsZXRlSW5jaWRlbnQgKGlkOiBOdW1iZXIpOiBPYnNlcnZhYmxlPEluY2lkZW50T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxBcGlTdWNjZXNzPEluY2lkZW50T3V0Pj4oYCR7dGhpcy51cmx9L2luY2lkZW50cy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBpbmNpZGVudCByZWFzb25zIGJhc2VkIG9uIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBRdWVyeSBwYXJhbWV0ZXJzIGZvciBmaWx0ZXJpbmcgdGhlIGluY2lkZW50IHJlYXNvbnMuXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8SW5jaWRlbnRSZWFzb25zT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBsaXN0IG9mIGluY2lkZW50IHJlYXNvbnMuXHJcbiAgICovXHJcbiAgZ2V0SW5jaWRlbnRSZWFzb25zIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxJbmNpZGVudFJlYXNvbnNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8SW5jaWRlbnRSZWFzb25zT3V0Pj4oYCR7dGhpcy51cmx9L2luY2lkZW50LXJlYXNvbnNgLCB7XHJcbiAgICAgIHBhcmFtc1xyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgdGhlIGluY2lkZW50IHJlYXNvbiBkZXRhaWxzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBpbmNpZGVudCByZWFzb24gSUQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgaWRlbnRpZmllciBvZiB0aGUgaW5jaWRlbnQgcmVhc29uIHJlY29yZCB0byBnZXQgZGV0YWlsLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8SW5jaWRlbnRSZWFzb25PdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGRldGFpbCBpbmNpZGVudCByZWFzb24gZGF0YS5cclxuICAgKi9cclxuICBnZXRJbmNpZGVudFJlYXNvbiAoaWQ6IE51bWJlcik6IE9ic2VydmFibGU8SW5jaWRlbnRSZWFzb25PdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8SW5jaWRlbnRSZWFzb25PdXQ+PihgJHt0aGlzLnVybH0vaW5jaWRlbnQtcmVhc29ucy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBhIG5ldyBpbmNpZGVudCByZWFzb24uXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge0luY2lkZW50UmVhc29uSW59IGJvZHkgLSBUaGUgZGF0YSBmb3IgdGhlIG5ldyBpbmNpZGVudCByZWFzb24uXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8SW5jaWRlbnRSZWFzb25PdXQ+fSBBbiBvYnNlcnZhYmxlIHRoZSBjcmVhdGVkIGluY2lkZW50IHJlYXNvbiBkZXRhaWwuXHJcbiAgICovXHJcbiAgcG9zdEluY2lkZW50UmVhc29uIChib2R5OiBJbmNpZGVudFJlYXNvbkluKTogT2JzZXJ2YWJsZTxJbmNpZGVudFJlYXNvbk91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8SW5jaWRlbnRSZWFzb25PdXQ+PihgJHt0aGlzLnVybH0vaW5jaWRlbnQtcmVhc29uc2AsXHJcbiAgICAgIGJvZHlcclxuICAgICkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgYW4gZXhpc3RpbmcgaW5jaWRlbnQgcmVhc29uLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIGlkZW50aWZpZXIgb2YgdGhlIGluY2lkZW50IHJlYXNvbiByZWNvcmQgdG8gdXBkYXRlLlxyXG4gICAqIEBwYXJhbSB7SW5jaWRlbnRJbn0gYm9keSAtIFRoZSBpbmNpZGVudCByZWFzb24gZGF0YSB0byBiZSB1cGRhdGVkLlxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEluY2lkZW50UmVhc29uT3V0Pn0gQW4gb2JzZXJ2YWJsZSBkZXRhaWwgb2YgdGhlIHVwZGF0ZWQgaW5jaWRlbnQgcmVhc29uLlxyXG4gICAqL1xyXG4gIHB1dEluY2lkZW50UmVhc29uIChpZDogTnVtYmVyLCBib2R5OiBJbmNpZGVudFJlYXNvbkluKTogT2JzZXJ2YWJsZTxJbmNpZGVudFJlYXNvbk91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxJbmNpZGVudFJlYXNvbk91dD4+KGAke3RoaXMudXJsfS9pbmNpZGVudC1yZWFzb25zLyR7aWR9YCxcclxuICAgICAgYm9keVxyXG4gICAgKS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVsZXRlIGFuIGV4aXN0aW5nIGluY2lkZW50IHJlYXNvbi5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaW5jaWRlbnQgcmVhc29uIHRvIGJlIGRlbGV0ZWQuXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8SW5jaWRlbnRSZWFzb25PdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3VsdCBvZiB0aGUgZGVsZXRlIGluY2lkZW50IHJlYXNvbi5cclxuICAgKi9cclxuICBkZWxldGVJbmNpZGVudFJlYXNvbiAoaWQ6IE51bWJlcik6IE9ic2VydmFibGU8SW5jaWRlbnRSZWFzb25PdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPEFwaVN1Y2Nlc3M8SW5jaWRlbnRSZWFzb25PdXQ+PihgJHt0aGlzLnVybH0vaW5jaWRlbnQtcmVhc29ucy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBpbmNpZGVudCByZWFzb24gY29tcGxlbWVudHMgYmFzZWQgb24gcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFF1ZXJ5IHBhcmFtZXRlcnMgZm9yIGZpbHRlcmluZyB0aGUgaW5jaWRlbnQgcmVhc29uIGNvbXBsZW1lbnRzLlxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEluY2lkZW50UmVhc29uQ29tcGxlbWVudHNPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGxpc3Qgb2YgaW5jaWRlbnQgcmVhc29uIGNvbXBsZW1lbnRzLlxyXG4gICAqL1xyXG4gIGdldEluY2lkZW50UmVhc29uQ29tcGxlbWVudHMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPEluY2lkZW50UmVhc29uQ29tcGxlbWVudHNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8SW5jaWRlbnRSZWFzb25Db21wbGVtZW50c091dD4+KGAke3RoaXMudXJsfS9pbmNpZGVudC1yZWFzb24tY29tcGxlbWVudHNgLCB7XHJcbiAgICAgIHBhcmFtc1xyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgYSBuZXcgaW5jaWRlbnQgcmVhc29uIGNvbXBsZW1lbnQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge0luY2lkZW50UmVhc29uSW59IGJvZHkgLSBUaGUgZGF0YSBmb3IgdGhlIG5ldyBpbmNpZGVudCByZWFzb24gY29tcGxlbWVudC5cclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxJbmNpZGVudFJlYXNvbkNvbXBsZW1lbnRPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoZSBjcmVhdGVkIGluY2lkZW50IHJlYXNvbiBjb21wbGVtZW50IGRldGFpbC5cclxuICAgKi9cclxuICBwb3N0SW5jaWRlbnRSZWFzb25Db21wbGVtZW50IChib2R5OiBJbmNpZGVudFJlYXNvbkNvbXBsZW1lbnRJbik6IE9ic2VydmFibGU8SW5jaWRlbnRSZWFzb25Db21wbGVtZW50T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxJbmNpZGVudFJlYXNvbkNvbXBsZW1lbnRPdXQ+PihgJHt0aGlzLnVybH0vaW5jaWRlbnQtcmVhc29uLWNvbXBsZW1lbnRzYCxcclxuICAgICAgYm9keVxyXG4gICAgKS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyBhbiBleGlzdGluZyBpbmNpZGVudCByZWFzb24gY29tcGxlbWVudC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBpbmNpZGVudCByZWFzb24gY29tcGxlbWVudCByZWNvcmQgdG8gdXBkYXRlLlxyXG4gICAqIEBwYXJhbSB7SW5jaWRlbnRJbn0gYm9keSAtIFRoZSBpbmNpZGVudCByZWFzb24gY29tcGxlbWVudCBkYXRhIHRvIGJlIHVwZGF0ZWQuXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8SW5jaWRlbnRSZWFzb25Db21wbGVtZW50T3V0Pn0gQW4gb2JzZXJ2YWJsZSBkZXRhaWwgb2YgdGhlIHVwZGF0ZWQgaW5jaWRlbnQgcmVhc29uIGNvbXBsZW1lbnQuXHJcbiAgICovXHJcbiAgcHV0SW5jaWRlbnRSZWFzb25Db21wbGVtZW50IChpZDogTnVtYmVyLCBib2R5OiBJbmNpZGVudFJlYXNvbkNvbXBsZW1lbnRJbik6IE9ic2VydmFibGU8SW5jaWRlbnRSZWFzb25Db21wbGVtZW50T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPEluY2lkZW50UmVhc29uQ29tcGxlbWVudE91dD4+KGAke3RoaXMudXJsfS9pbmNpZGVudC1yZWFzb24tY29tcGxlbWVudHMvJHtpZH1gLFxyXG4gICAgICBib2R5XHJcbiAgICApLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWxldGUgYW4gZXhpc3RpbmcgaW5jaWRlbnQgcmVhc29uIGNvbXBsZW1lbnQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGluY2lkZW50IHJlYXNvbiBjb21wbGVtZW50IHRvIGJlIGRlbGV0ZWQuXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8SW5jaWRlbnRSZWFzb25Db21wbGVtZW50T3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXN1bHQgb2YgdGhlIGRlbGV0ZSBpbmNpZGVudCByZWFzb24gY29tcGxlbWVudC5cclxuICAgKi9cclxuICBkZWxldGVJbmNpZGVudFJlYXNvbkNvbXBsZW1lbnQgKGlkOiBOdW1iZXIpOiBPYnNlcnZhYmxlPEluY2lkZW50UmVhc29uQ29tcGxlbWVudE91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8QXBpU3VjY2VzczxJbmNpZGVudFJlYXNvbkNvbXBsZW1lbnRPdXQ+PihgJHt0aGlzLnVybH0vaW5jaWRlbnQtcmVhc29uLWNvbXBsZW1lbnRzLyR7aWR9YClcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQb3N0cyBwYWNrYWdlcyB0aGF0IGFyZSBjdXJyZW50bHkgaW4gc3RvY2suXHJcbiAgICpcclxuICAgKiBAcGFyYW0gYm9keSAtIFRoZSBpbnB1dCBkYXRhIGNvbnRhaW5pbmcgcGFja2FnZSBzdG9jayBpbmZvcm1hdGlvblxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPFBhY2thZ2VzSW5TdG9ja091dD59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcGFja2FnZXMgaW4gc3RvY2sgb3V0cHV0IGRhdGFcclxuICAgKlxyXG4gICAqIEByZW1hcmtzXHJcbiAgICogVGhpcyBtZXRob2Qgc2VuZHMgYSBQT1NUIHJlcXVlc3QgdG8gdGhlIGAvcGFja2FnZXMvaW4tc3RvY2tgIGVuZHBvaW50IGFuZFxyXG4gICAqIGV4dHJhY3RzIHRoZSBkYXRhIHByb3BlcnR5IGZyb20gdGhlIEFQSSBzdWNjZXNzIHJlc3BvbnNlLlxyXG4gICAqL1xyXG4gIHBvc3RQYWNrYWdlc0luU3RvY2sgKGJvZHk6IFBhY2thZ2VzSW5TdG9ja0luKTogT2JzZXJ2YWJsZTxQYWNrYWdlc0luU3RvY2tPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPFBhY2thZ2VzSW5TdG9ja091dD4+KGAke3RoaXMudXJsfS9wYWNrYWdlcy9pbi1zdG9ja2AsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxufVxyXG4iXX0=