brainloper-ui 1.2.16 → 4.0.0

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 (115) hide show
  1. package/{esm2022 → esm2020}/brainloper-ui.mjs +4 -4
  2. package/esm2020/public_api.mjs +51 -0
  3. package/esm2020/src/app/modules/brainloper-ui/brainloper-ui.module.mjs +305 -0
  4. package/esm2020/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.mjs +29 -0
  5. package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.mjs +23 -0
  6. package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.mjs +83 -0
  7. package/esm2020/src/app/modules/brainloper-ui/components/carousel/carousel.component.mjs +31 -0
  8. package/esm2020/src/app/modules/brainloper-ui/components/combos/combos.component.mjs +159 -0
  9. package/esm2020/src/app/modules/brainloper-ui/components/data-table/data-table.component.mjs +486 -0
  10. package/esm2020/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.mjs +118 -0
  11. package/esm2020/src/app/modules/brainloper-ui/components/file-input/file-input.component.mjs +185 -0
  12. package/{esm2022 → esm2020}/src/app/modules/brainloper-ui/components/file-input/imagenes/doc.mjs +1 -1
  13. package/{esm2022 → esm2020}/src/app/modules/brainloper-ui/components/file-input/imagenes/fondoTransparente.mjs +1 -1
  14. package/{esm2022 → esm2020}/src/app/modules/brainloper-ui/components/file-input/imagenes/pdf.mjs +1 -1
  15. package/esm2020/src/app/modules/brainloper-ui/components/filters/filters.component.mjs +222 -0
  16. package/esm2020/src/app/modules/brainloper-ui/components/report/generate-pdf/generate-pdf.component.mjs +80 -0
  17. package/esm2020/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.mjs +81 -0
  18. package/esm2020/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.mjs +108 -0
  19. package/{esm2022 → esm2020}/src/app/modules/interfaces/buttons/button-icon.mjs +1 -1
  20. package/{esm2022 → esm2020}/src/app/modules/interfaces/buttons/button-lavel-edit.mjs +1 -1
  21. package/{esm2022 → esm2020}/src/app/modules/interfaces/combos/combos-configuration.mjs +1 -1
  22. package/{esm2022 → esm2020}/src/app/modules/interfaces/data-table/params.mjs +1 -1
  23. package/{esm2022 → esm2020}/src/app/modules/interfaces/data-table/rules.mjs +1 -1
  24. package/{esm2022 → esm2020}/src/app/modules/interfaces/data-table/table-columns.mjs +1 -1
  25. package/{esm2022 → esm2020}/src/app/modules/interfaces/data-table/table-configuration.mjs +1 -1
  26. package/{esm2022 → esm2020}/src/app/modules/interfaces/enum/enumActions.mjs +6 -6
  27. package/{esm2022 → esm2020}/src/app/modules/interfaces/enum/enumRules.mjs +7 -7
  28. package/{esm2022 → esm2020}/src/app/modules/interfaces/file-forms-service/file-forms-params.mjs +1 -1
  29. package/{esm2022 → esm2020}/src/app/modules/interfaces/file-forms-service/file-input-params.mjs +1 -1
  30. package/{esm2022 → esm2020}/src/app/modules/interfaces/filters/header-filters.mjs +1 -1
  31. package/esm2020/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.mjs +8 -0
  32. package/{esm2022 → esm2020}/src/app/modules/interfaces/report/template-pdf-ot.mjs +1 -1
  33. package/{esm2022 → esm2020}/src/app/modules/interfaces/report/template-pfd-fo.mjs +1 -1
  34. package/esm2020/src/app/modules/services/crypto.service.mjs +37 -0
  35. package/esm2020/src/app/modules/services/export-data.service.mjs +143 -0
  36. package/{esm2022 → esm2020}/src/app/modules/services/file-forms.service.mjs +24 -24
  37. package/{esm2022 → esm2020}/src/app/modules/services/functions.service.mjs +54 -54
  38. package/esm2020/src/app/modules/services/generate-pdf.service.mjs +58 -0
  39. package/esm2020/src/app/modules/services/http.service.mjs +154 -0
  40. package/esm2020/src/app/modules/services/loading/loading.component.mjs +28 -0
  41. package/{esm2022 → esm2020}/src/app/modules/services/local-storage.service.mjs +115 -115
  42. package/esm2020/src/app/modules/services/message.service.mjs +196 -0
  43. package/{esm2022 → esm2020}/src/app/modules/services/screen-size-util.mjs +5 -5
  44. package/esm2020/src/app/modules/services/session.service.mjs +42 -0
  45. package/fesm2015/brainloper-ui.mjs +2690 -0
  46. package/fesm2015/brainloper-ui.mjs.map +1 -0
  47. package/{fesm2022 → fesm2020}/brainloper-ui.mjs +2563 -2520
  48. package/fesm2020/brainloper-ui.mjs.map +1 -0
  49. package/index.d.ts +5 -5
  50. package/package.json +25 -19
  51. package/public_api.d.ts +50 -49
  52. package/src/app/modules/brainloper-ui/brainloper-ui.module.d.ts +73 -71
  53. package/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.d.ts +13 -13
  54. package/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.d.ts +10 -10
  55. package/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.d.ts +24 -24
  56. package/src/app/modules/brainloper-ui/components/carousel/carousel.component.d.ts +12 -12
  57. package/src/app/modules/brainloper-ui/components/combos/combos.component.d.ts +46 -46
  58. package/src/app/modules/brainloper-ui/components/data-table/data-table.component.d.ts +104 -104
  59. package/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.d.ts +21 -21
  60. package/src/app/modules/brainloper-ui/components/file-input/file-input.component.d.ts +42 -42
  61. package/src/app/modules/brainloper-ui/components/file-input/imagenes/doc.d.ts +2 -2
  62. package/src/app/modules/brainloper-ui/components/file-input/imagenes/fondoTransparente.d.ts +2 -2
  63. package/src/app/modules/brainloper-ui/components/file-input/imagenes/pdf.d.ts +2 -2
  64. package/src/app/modules/brainloper-ui/components/filters/filters.component.d.ts +30 -30
  65. package/src/app/modules/brainloper-ui/components/report/generate-pdf/generate-pdf.component.d.ts +35 -35
  66. package/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.d.ts +36 -36
  67. package/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.d.ts +26 -0
  68. package/src/app/modules/interfaces/buttons/button-icon.d.ts +9 -9
  69. package/src/app/modules/interfaces/buttons/button-lavel-edit.d.ts +6 -6
  70. package/src/app/modules/interfaces/combos/combos-configuration.d.ts +13 -13
  71. package/src/app/modules/interfaces/data-table/params.d.ts +7 -7
  72. package/src/app/modules/interfaces/data-table/rules.d.ts +8 -8
  73. package/src/app/modules/interfaces/data-table/table-columns.d.ts +25 -25
  74. package/src/app/modules/interfaces/data-table/table-configuration.d.ts +19 -19
  75. package/src/app/modules/interfaces/enum/enumActions.d.ts +5 -5
  76. package/src/app/modules/interfaces/enum/enumRules.d.ts +6 -6
  77. package/src/app/modules/interfaces/file-forms-service/file-forms-params.d.ts +4 -4
  78. package/src/app/modules/interfaces/file-forms-service/file-input-params.d.ts +13 -13
  79. package/src/app/modules/interfaces/filters/header-filters.d.ts +13 -13
  80. package/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.d.ts +10 -10
  81. package/src/app/modules/interfaces/report/template-pdf-ot.d.ts +19 -19
  82. package/src/app/modules/interfaces/report/template-pfd-fo.d.ts +20 -20
  83. package/src/app/modules/services/crypto.service.d.ts +10 -10
  84. package/src/app/modules/services/export-data.service.d.ts +15 -15
  85. package/src/app/modules/services/file-forms.service.d.ts +7 -7
  86. package/src/app/modules/services/functions.service.d.ts +13 -13
  87. package/src/app/modules/services/generate-pdf.service.d.ts +12 -12
  88. package/src/app/modules/services/http.service.d.ts +21 -21
  89. package/src/app/modules/services/loading/loading.component.d.ts +15 -15
  90. package/src/app/modules/services/local-storage.service.d.ts +49 -49
  91. package/src/app/modules/services/message.service.d.ts +23 -23
  92. package/src/app/modules/services/screen-size-util.d.ts +3 -3
  93. package/src/app/modules/services/session.service.d.ts +14 -14
  94. package/esm2022/public_api.mjs +0 -50
  95. package/esm2022/src/app/modules/brainloper-ui/brainloper-ui.module.mjs +0 -296
  96. package/esm2022/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.mjs +0 -30
  97. package/esm2022/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.mjs +0 -23
  98. package/esm2022/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.mjs +0 -83
  99. package/esm2022/src/app/modules/brainloper-ui/components/carousel/carousel.component.mjs +0 -30
  100. package/esm2022/src/app/modules/brainloper-ui/components/combos/combos.component.mjs +0 -165
  101. package/esm2022/src/app/modules/brainloper-ui/components/data-table/data-table.component.mjs +0 -501
  102. package/esm2022/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.mjs +0 -122
  103. package/esm2022/src/app/modules/brainloper-ui/components/file-input/file-input.component.mjs +0 -203
  104. package/esm2022/src/app/modules/brainloper-ui/components/filters/filters.component.mjs +0 -226
  105. package/esm2022/src/app/modules/brainloper-ui/components/report/generate-pdf/generate-pdf.component.mjs +0 -84
  106. package/esm2022/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.mjs +0 -85
  107. package/esm2022/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.mjs +0 -6
  108. package/esm2022/src/app/modules/services/crypto.service.mjs +0 -38
  109. package/esm2022/src/app/modules/services/export-data.service.mjs +0 -146
  110. package/esm2022/src/app/modules/services/generate-pdf.service.mjs +0 -59
  111. package/esm2022/src/app/modules/services/http.service.mjs +0 -156
  112. package/esm2022/src/app/modules/services/loading/loading.component.mjs +0 -30
  113. package/esm2022/src/app/modules/services/message.service.mjs +0 -198
  114. package/esm2022/src/app/modules/services/session.service.mjs +0 -43
  115. package/fesm2022/brainloper-ui.mjs.map +0 -1
@@ -1,198 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import Swal from 'sweetalert2';
3
- import { LoadingComponent } from './loading/loading.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/material/legacy-dialog";
6
- export class MessageService {
7
- dialog;
8
- loadingNow = false;
9
- warningQueue = [];
10
- showingWarning = false;
11
- loading;
12
- constructor(dialog) {
13
- this.dialog = dialog;
14
- }
15
- openLoading(title, message) {
16
- if (!this.loadingNow) {
17
- this.loadingNow = true;
18
- this.loading = this.dialog.open(LoadingComponent, {
19
- data: {
20
- title,
21
- message
22
- },
23
- width: '250px',
24
- // height:'280px',
25
- disableClose: true,
26
- });
27
- }
28
- }
29
- closeLoading() {
30
- if (this.loadingNow) {
31
- this.loading.close();
32
- this.loadingNow = false;
33
- }
34
- }
35
- Error(title, message, showCancelButton = false, confirmButtonText = 'Aceptar', cancelButtonText = 'Cancelar') {
36
- return new Promise((resolve, reject) => {
37
- Swal.fire({
38
- title: title,
39
- text: message,
40
- icon: 'error',
41
- showCancelButton: showCancelButton,
42
- confirmButtonText: confirmButtonText,
43
- cancelButtonText: cancelButtonText,
44
- customClass: {
45
- confirmButton: 'confirm-button-class',
46
- cancelButton: 'cancel-button-class',
47
- }
48
- }).then((result) => {
49
- if (result.value) {
50
- resolve(true);
51
- }
52
- else if (result.dismiss === Swal.DismissReason.cancel) {
53
- resolve(false);
54
- }
55
- });
56
- });
57
- }
58
- Success(title, message, showCancelButton = false, confirmButtonText = 'Aceptar', cancelButtonText = 'Cancelar') {
59
- return new Promise((resolve, reject) => {
60
- Swal.fire({
61
- title: title,
62
- text: message,
63
- icon: 'success',
64
- showCancelButton: showCancelButton,
65
- confirmButtonText: confirmButtonText,
66
- cancelButtonText: cancelButtonText,
67
- customClass: {
68
- confirmButton: 'confirm-button-class',
69
- cancelButton: 'cancel-button-class',
70
- }
71
- }).then((result) => {
72
- if (result.value) {
73
- resolve(true);
74
- }
75
- else if (result.dismiss === Swal.DismissReason.cancel) {
76
- resolve(false);
77
- }
78
- });
79
- });
80
- }
81
- Warning(title, message, showCancelButton = false, confirmButtonText = 'Aceptar', cancelButtonText = 'Cancelar', allowOutsideClick = false) {
82
- return new Promise((resolve, reject) => {
83
- const warningData = {
84
- title: title,
85
- message: message,
86
- showCancelButton: showCancelButton,
87
- confirmButtonText: confirmButtonText,
88
- cancelButtonText: cancelButtonText,
89
- resolve: resolve,
90
- allowOutsideClick
91
- };
92
- this.warningQueue.push(warningData);
93
- if (!this.showingWarning) {
94
- this.showNextWarning();
95
- }
96
- });
97
- }
98
- showNextWarning() {
99
- if (this.warningQueue.length > 0) {
100
- this.showingWarning = true;
101
- const warningData = this.warningQueue.shift();
102
- Swal.fire({
103
- title: warningData.title,
104
- text: warningData.message,
105
- icon: 'warning',
106
- showCancelButton: warningData.showCancelButton,
107
- confirmButtonText: warningData.confirmButtonText,
108
- cancelButtonText: warningData.cancelButtonText,
109
- customClass: {
110
- confirmButton: 'confirm-button-class',
111
- cancelButton: 'cancel-button-class',
112
- },
113
- allowOutsideClick: warningData.allowOutsideClick,
114
- }).then((result) => {
115
- this.showingWarning = false;
116
- if (result.value) {
117
- warningData.resolve(true);
118
- }
119
- else if (result.dismiss === Swal.DismissReason.cancel) {
120
- warningData.resolve(false);
121
- }
122
- this.showNextWarning();
123
- });
124
- }
125
- }
126
- Info(title, message, showCancelButton = false, confirmButtonText = 'Aceptar', cancelButtonText = 'Cancelar') {
127
- return new Promise((resolve, reject) => {
128
- Swal.fire({
129
- title: title,
130
- text: message,
131
- icon: 'info',
132
- showCancelButton: showCancelButton,
133
- confirmButtonText: confirmButtonText,
134
- cancelButtonText: cancelButtonText,
135
- customClass: {
136
- confirmButton: 'confirm-button-class',
137
- cancelButton: 'cancel-button-class',
138
- }
139
- }).then((result) => {
140
- if (result.value) {
141
- resolve(true);
142
- }
143
- else if (result.dismiss === Swal.DismissReason.cancel) {
144
- resolve(false);
145
- }
146
- });
147
- });
148
- }
149
- SuccessToast(message, duration = 4000) {
150
- Swal.fire({
151
- position: 'top-end',
152
- icon: 'success',
153
- title: message,
154
- showConfirmButton: false,
155
- toast: true,
156
- timer: duration
157
- });
158
- }
159
- ErrorToast(message, duration = 4000) {
160
- Swal.fire({
161
- position: 'top-end',
162
- icon: 'error',
163
- title: message,
164
- showConfirmButton: false,
165
- toast: true,
166
- timer: duration
167
- });
168
- }
169
- WarningToast(message, duration = 4000) {
170
- Swal.fire({
171
- position: 'top-end',
172
- icon: 'warning',
173
- title: message,
174
- showConfirmButton: false,
175
- toast: true,
176
- timer: duration
177
- });
178
- }
179
- InfoToast(message, duration = 4000) {
180
- Swal.fire({
181
- position: 'top-end',
182
- icon: 'info',
183
- title: message,
184
- showConfirmButton: false,
185
- toast: true,
186
- timer: duration
187
- });
188
- }
189
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageService, deps: [{ token: i1.MatLegacyDialog }], target: i0.ɵɵFactoryTarget.Injectable });
190
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageService, providedIn: 'root' });
191
- }
192
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageService, decorators: [{
193
- type: Injectable,
194
- args: [{
195
- providedIn: 'root'
196
- }]
197
- }], ctorParameters: function () { return [{ type: i1.MatLegacyDialog }]; } });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUU5QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBSy9ELE1BQU0sT0FBTyxjQUFjO0lBT2Y7SUFMRixVQUFVLEdBQVksS0FBSyxDQUFBO0lBQzNCLFlBQVksR0FBVSxFQUFFLENBQUM7SUFDekIsY0FBYyxHQUFZLEtBQUssQ0FBQztJQUNoQyxPQUFPLENBQUE7SUFDZixZQUNVLE1BQWdCO1FBQWhCLFdBQU0sR0FBTixNQUFNLENBQVU7SUFDdEIsQ0FBQztJQUVMLFdBQVcsQ0FBQyxLQUFLLEVBQUMsT0FBTztRQUN2QixJQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQztZQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQTtZQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUNoRCxJQUFJLEVBQUM7b0JBQ0gsS0FBSztvQkFDTCxPQUFPO2lCQUNSO2dCQUNELEtBQUssRUFBQyxPQUFPO2dCQUNiLGtCQUFrQjtnQkFDbEIsWUFBWSxFQUFDLElBQUk7YUFFbEIsQ0FBQyxDQUFBO1NBQ0g7SUFFSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUcsSUFBSSxDQUFDLFVBQVUsRUFBQztZQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFBO1lBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFBO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFZ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LEtBQUssRUFBRSxRQUFRO1NBQ2hCLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBYyxFQUFFLFdBQWtCLElBQUk7UUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLFFBQVEsRUFBRSxTQUFTO1lBQ25CLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLE9BQU87WUFDZCxpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLEtBQUssRUFBQyxJQUFJO1lBQ1YsS0FBSyxFQUFFLFFBQVE7U0FDaEIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFjLEVBQUUsV0FBa0IsSUFBSTtRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ1IsUUFBUSxFQUFFLFNBQVM7WUFDbkIsSUFBSSxFQUFFLE1BQU07WUFDWixLQUFLLEVBQUUsT0FBTztZQUNkLGlCQUFpQixFQUFFLEtBQUs7WUFDeEIsS0FBSyxFQUFDLElBQUk7WUFDVixLQUFLLEVBQUUsUUFBUTtTQUNoQixDQUFDLENBQUE7SUFDSixDQUFDO3dHQTVNVSxjQUFjOzRHQUFkLGNBQWMsY0FGYixNQUFNOzs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInXHJcbmltcG9ydCB7IE1hdExlZ2FjeURpYWxvZyBhcyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktZGlhbG9nJztcclxuaW1wb3J0IHsgTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4vbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZXNzYWdlU2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgbG9hZGluZ05vdzogYm9vbGVhbiA9IGZhbHNlXHJcbiAgcHJpdmF0ZSB3YXJuaW5nUXVldWU6IGFueVtdID0gW107XHJcbiAgcHJpdmF0ZSBzaG93aW5nV2FybmluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgbG9hZGluZ1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6TWF0RGlhbG9nXHJcbiAgKSB7IH1cclxuXHJcbiAgb3BlbkxvYWRpbmcodGl0bGUsbWVzc2FnZSl7XHJcbiAgICBpZighdGhpcy5sb2FkaW5nTm93KXtcclxuICAgICAgdGhpcy5sb2FkaW5nTm93ID0gdHJ1ZVxyXG4gICAgICB0aGlzLmxvYWRpbmcgPSB0aGlzLmRpYWxvZy5vcGVuKExvYWRpbmdDb21wb25lbnQsIHtcclxuICAgICAgICBkYXRhOntcclxuICAgICAgICAgIHRpdGxlLFxyXG4gICAgICAgICAgbWVzc2FnZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgd2lkdGg6JzI1MHB4JyxcclxuICAgICAgICAvLyBoZWlnaHQ6JzI4MHB4JyxcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6dHJ1ZSxcclxuXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgY2xvc2VMb2FkaW5nKCl7XHJcbiAgICBpZih0aGlzLmxvYWRpbmdOb3cpe1xyXG4gICAgICB0aGlzLmxvYWRpbmcuY2xvc2UoKVxyXG4gICAgICB0aGlzLmxvYWRpbmdOb3cgPSBmYWxzZVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgRXJyb3IodGl0bGU6c3RyaW5nLCBtZXNzYWdlOnN0cmluZywgc2hvd0NhbmNlbEJ1dHRvbjpib29sZWFuPWZhbHNlLGNvbmZpcm1CdXR0b25UZXh0OnN0cmluZz0nQWNlcHRhcicsIGNhbmNlbEJ1dHRvblRleHQ6c3RyaW5nPSdDYW5jZWxhcicpe1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLHJlamVjdCk9PntcclxuICAgICAgU3dhbC5maXJlKHtcclxuICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgdGV4dDogbWVzc2FnZSxcclxuICAgICAgICBpY29uOiAnZXJyb3InLFxyXG4gICAgICAgIHNob3dDYW5jZWxCdXR0b246IHNob3dDYW5jZWxCdXR0b24sXHJcbiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IGNvbmZpcm1CdXR0b25UZXh0LFxyXG4gICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IGNhbmNlbEJ1dHRvblRleHQsXHJcbiAgICAgICAgY3VzdG9tQ2xhc3M6IHtcclxuICAgICAgICAgIGNvbmZpcm1CdXR0b246ICdjb25maXJtLWJ1dHRvbi1jbGFzcycsXHJcbiAgICAgICAgICBjYW5jZWxCdXR0b246ICdjYW5jZWwtYnV0dG9uLWNsYXNzJyxcclxuICAgICAgICB9XHJcbiAgICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsdWUpIHtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSlcclxuICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdC5kaXNtaXNzID09PSBTd2FsLkRpc21pc3NSZWFzb24uY2FuY2VsKSB7XHJcbiAgICAgICAgICByZXNvbHZlKGZhbHNlKVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBTdWNjZXNzKHRpdGxlOnN0cmluZywgbWVzc2FnZTpzdHJpbmcsIHNob3dDYW5jZWxCdXR0b246Ym9vbGVhbj1mYWxzZSxjb25maXJtQnV0dG9uVGV4dDpzdHJpbmc9J0FjZXB0YXInLCBjYW5jZWxCdXR0b25UZXh0OnN0cmluZz0nQ2FuY2VsYXInKXtcclxuXHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUscmVqZWN0KT0+e1xyXG4gICAgICBTd2FsLmZpcmUoe1xyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICB0ZXh0OiBtZXNzYWdlLFxyXG4gICAgICAgIGljb246ICdzdWNjZXNzJyxcclxuICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiBzaG93Q2FuY2VsQnV0dG9uLFxyXG4gICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBjb25maXJtQnV0dG9uVGV4dCxcclxuICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiBjYW5jZWxCdXR0b25UZXh0LFxyXG4gICAgICAgIGN1c3RvbUNsYXNzOiB7XHJcbiAgICAgICAgICBjb25maXJtQnV0dG9uOiAnY29uZmlybS1idXR0b24tY2xhc3MnLFxyXG4gICAgICAgICAgY2FuY2VsQnV0dG9uOiAnY2FuY2VsLWJ1dHRvbi1jbGFzcycsXHJcbiAgICAgICAgfVxyXG4gICAgICB9KS50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbHVlKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpXHJcbiAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQuZGlzbWlzcyA9PT0gU3dhbC5EaXNtaXNzUmVhc29uLmNhbmNlbCkge1xyXG4gICAgICAgICAgcmVzb2x2ZShmYWxzZSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgV2FybmluZyhcclxuICAgIHRpdGxlOiBzdHJpbmcsXHJcbiAgICBtZXNzYWdlOiBzdHJpbmcsXHJcbiAgICBzaG93Q2FuY2VsQnV0dG9uOiBib29sZWFuID0gZmFsc2UsXHJcbiAgICBjb25maXJtQnV0dG9uVGV4dDogc3RyaW5nID0gJ0FjZXB0YXInLFxyXG4gICAgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nID0gJ0NhbmNlbGFyJyxcclxuICAgIGFsbG93T3V0c2lkZUNsaWNrID0gZmFsc2VcclxuICApIHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHdhcm5pbmdEYXRhID0ge1xyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxyXG4gICAgICAgIHNob3dDYW5jZWxCdXR0b246IHNob3dDYW5jZWxCdXR0b24sXHJcbiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IGNvbmZpcm1CdXR0b25UZXh0LFxyXG4gICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IGNhbmNlbEJ1dHRvblRleHQsXHJcbiAgICAgICAgcmVzb2x2ZTogcmVzb2x2ZSxcclxuICAgICAgICBhbGxvd091dHNpZGVDbGlja1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgdGhpcy53YXJuaW5nUXVldWUucHVzaCh3YXJuaW5nRGF0YSk7XHJcblxyXG4gICAgICBpZiAoIXRoaXMuc2hvd2luZ1dhcm5pbmcpIHtcclxuICAgICAgICB0aGlzLnNob3dOZXh0V2FybmluZygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2hvd05leHRXYXJuaW5nKCkge1xyXG4gICAgaWYgKHRoaXMud2FybmluZ1F1ZXVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5zaG93aW5nV2FybmluZyA9IHRydWU7XHJcbiAgICAgIGNvbnN0IHdhcm5pbmdEYXRhID0gdGhpcy53YXJuaW5nUXVldWUuc2hpZnQoKTtcclxuXHJcbiAgICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgICAgdGl0bGU6IHdhcm5pbmdEYXRhLnRpdGxlLFxyXG4gICAgICAgIHRleHQ6IHdhcm5pbmdEYXRhLm1lc3NhZ2UsXHJcbiAgICAgICAgaWNvbjogJ3dhcm5pbmcnLFxyXG4gICAgICAgIHNob3dDYW5jZWxCdXR0b246IHdhcm5pbmdEYXRhLnNob3dDYW5jZWxCdXR0b24sXHJcbiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IHdhcm5pbmdEYXRhLmNvbmZpcm1CdXR0b25UZXh0LFxyXG4gICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IHdhcm5pbmdEYXRhLmNhbmNlbEJ1dHRvblRleHQsXHJcbiAgICAgICAgY3VzdG9tQ2xhc3M6IHtcclxuICAgICAgICAgIGNvbmZpcm1CdXR0b246ICdjb25maXJtLWJ1dHRvbi1jbGFzcycsXHJcbiAgICAgICAgICBjYW5jZWxCdXR0b246ICdjYW5jZWwtYnV0dG9uLWNsYXNzJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFsbG93T3V0c2lkZUNsaWNrOiB3YXJuaW5nRGF0YS5hbGxvd091dHNpZGVDbGljayxcclxuICAgICAgfSkudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zaG93aW5nV2FybmluZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICBpZiAocmVzdWx0LnZhbHVlKSB7XHJcbiAgICAgICAgICB3YXJuaW5nRGF0YS5yZXNvbHZlKHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAocmVzdWx0LmRpc21pc3MgPT09IFN3YWwuRGlzbWlzc1JlYXNvbi5jYW5jZWwpIHtcclxuICAgICAgICAgIHdhcm5pbmdEYXRhLnJlc29sdmUoZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNob3dOZXh0V2FybmluZygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEluZm8odGl0bGU6c3RyaW5nLCBtZXNzYWdlOnN0cmluZywgc2hvd0NhbmNlbEJ1dHRvbjpib29sZWFuPWZhbHNlLGNvbmZpcm1CdXR0b25UZXh0OnN0cmluZz0nQWNlcHRhcicsIGNhbmNlbEJ1dHRvblRleHQ6c3RyaW5nPSdDYW5jZWxhcicpe1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLHJlamVjdCk9PntcclxuICAgICAgU3dhbC5maXJlKHtcclxuICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgdGV4dDogbWVzc2FnZSxcclxuICAgICAgICBpY29uOiAnaW5mbycsXHJcbiAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogc2hvd0NhbmNlbEJ1dHRvbixcclxuICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogY29uZmlybUJ1dHRvblRleHQsXHJcbiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogY2FuY2VsQnV0dG9uVGV4dCxcclxuICAgICAgICBjdXN0b21DbGFzczoge1xyXG4gICAgICAgICAgY29uZmlybUJ1dHRvbjogJ2NvbmZpcm0tYnV0dG9uLWNsYXNzJyxcclxuICAgICAgICAgIGNhbmNlbEJ1dHRvbjogJ2NhbmNlbC1idXR0b24tY2xhc3MnLFxyXG4gICAgICAgIH1cclxuICAgICAgfSkudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWx1ZSkge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0cnVlKVxyXG4gICAgICAgIH0gZWxzZSBpZiAocmVzdWx0LmRpc21pc3MgPT09IFN3YWwuRGlzbWlzc1JlYXNvbi5jYW5jZWwpIHtcclxuICAgICAgICAgIHJlc29sdmUoZmFsc2UpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfSlcclxuICB9XHJcblxyXG5cclxuICBTdWNjZXNzVG9hc3QobWVzc2FnZTpzdHJpbmcsIGR1cmF0aW9uOm51bWJlciA9IDQwMDApe1xyXG4gICAgU3dhbC5maXJlKHtcclxuICAgICAgcG9zaXRpb246ICd0b3AtZW5kJyxcclxuICAgICAgaWNvbjogJ3N1Y2Nlc3MnLFxyXG4gICAgICB0aXRsZTogbWVzc2FnZSxcclxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxyXG4gICAgICB0b2FzdDp0cnVlLFxyXG4gICAgICB0aW1lcjogZHVyYXRpb25cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBFcnJvclRvYXN0KG1lc3NhZ2U6c3RyaW5nLCBkdXJhdGlvbjpudW1iZXIgPSA0MDAwKXtcclxuICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgIHBvc2l0aW9uOiAndG9wLWVuZCcsXHJcbiAgICAgIGljb246ICdlcnJvcicsXHJcbiAgICAgIHRpdGxlOiBtZXNzYWdlLFxyXG4gICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXHJcbiAgICAgIHRvYXN0OnRydWUsXHJcbiAgICAgIHRpbWVyOiBkdXJhdGlvblxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIFdhcm5pbmdUb2FzdChtZXNzYWdlOnN0cmluZywgZHVyYXRpb246bnVtYmVyID0gNDAwMCl7XHJcbiAgICBTd2FsLmZpcmUoe1xyXG4gICAgICBwb3NpdGlvbjogJ3RvcC1lbmQnLFxyXG4gICAgICBpY29uOiAnd2FybmluZycsXHJcbiAgICAgIHRpdGxlOiBtZXNzYWdlLFxyXG4gICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXHJcbiAgICAgIHRvYXN0OnRydWUsXHJcbiAgICAgIHRpbWVyOiBkdXJhdGlvblxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIEluZm9Ub2FzdChtZXNzYWdlOnN0cmluZywgZHVyYXRpb246bnVtYmVyID0gNDAwMCl7XHJcbiAgICBTd2FsLmZpcmUoe1xyXG4gICAgICBwb3NpdGlvbjogJ3RvcC1lbmQnLFxyXG4gICAgICBpY29uOiAnaW5mbycsXHJcbiAgICAgIHRpdGxlOiBtZXNzYWdlLFxyXG4gICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXHJcbiAgICAgIHRvYXN0OnRydWUsXHJcbiAgICAgIHRpbWVyOiBkdXJhdGlvblxyXG4gICAgfSlcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,43 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./crypto.service";
4
- export class SessionService {
5
- cripto;
6
- key = "V2xoU2JHTnBRbnBpTWxvd1pESkdlVnBUUW10YVYzaHNaRzFXZG1OSE1XeGlibEU9"; //btoa 3 rounds
7
- constructor(cripto) {
8
- this.cripto = cripto;
9
- }
10
- getMain() {
11
- const info = sessionStorage.getItem(this.key);
12
- if (info) {
13
- return this.cripto.decode(info);
14
- }
15
- return {};
16
- }
17
- keyAssign(key) {
18
- this.key = key;
19
- }
20
- getData(key) {
21
- var sesion = this.getMain();
22
- return sesion[key] || '';
23
- }
24
- setData(key, value) {
25
- var actual = this.getMain() || {};
26
- actual[key] = value;
27
- const dataF = this.cripto.encode(actual);
28
- sessionStorage.setItem(this.key, dataF);
29
- }
30
- getSessionVars() {
31
- const info = this.getMain();
32
- return info || {};
33
- }
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SessionService, deps: [{ token: i1.CryptoService }], target: i0.ɵɵFactoryTarget.Injectable });
35
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SessionService, providedIn: 'root' });
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SessionService, decorators: [{
38
- type: Injectable,
39
- args: [{
40
- providedIn: 'root'
41
- }]
42
- }], ctorParameters: function () { return [{ type: i1.CryptoService }]; } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL3NlcnZpY2VzL3Nlc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLGNBQWM7SUFHSDtJQURwQixHQUFHLEdBQUcsa0VBQWtFLENBQUMsQ0FBRSxlQUFlO0lBQzFGLFlBQW9CLE1BQXFCO1FBQXJCLFdBQU0sR0FBTixNQUFNLENBQWU7SUFDekMsQ0FBQztJQUVPLE9BQU87UUFDWCxNQUFNLElBQUksR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLElBQUksRUFBRTtZQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7U0FDbEM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBRztRQUNULElBQUksQ0FBQyxHQUFHLEdBQUMsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFHRCxPQUFPLENBQUMsR0FBRztRQUNQLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM1QixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUdELE9BQU8sQ0FBQyxHQUFPLEVBQUUsS0FBUztRQUN0QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBQyxLQUFLLENBQUM7UUFDbEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxjQUFjO1FBQ1YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO3dHQW5DUSxjQUFjOzRHQUFkLGNBQWMsY0FGWCxNQUFNOzs0RkFFVCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ3J5cHRvU2VydmljZSB9IGZyb20gJy4vY3J5cHRvLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbiAgfSlcclxuZXhwb3J0IGNsYXNzIFNlc3Npb25TZXJ2aWNlIHtcclxuXHJcbiAgICBrZXkgPSBcIlYyeG9VMkpIVG5CUmJuQnBUV3h2ZDFwRVNrZGxWbkJVVVcxMFlWWXphSE5hUnpGWFpHMU9TRTFYZUdsaWJFVTlcIjsgIC8vYnRvYSAzIHJvdW5kc1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjcmlwdG86IENyeXB0b1NlcnZpY2UpIHtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldE1haW4oKXtcclxuICAgICAgICBjb25zdCBpbmZvID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmtleSk7XHJcbiAgICAgICAgaWYgKGluZm8pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JpcHRvLmRlY29kZShpbmZvKSAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHt9O1xyXG4gICAgfVxyXG5cclxuICAgIGtleUFzc2lnbihrZXkpe1xyXG4gICAgICAgIHRoaXMua2V5PWtleTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgZ2V0RGF0YShrZXkpIHtcclxuICAgICAgICB2YXIgc2VzaW9uID0gdGhpcy5nZXRNYWluKCk7XHJcbiAgICAgICAgcmV0dXJuIHNlc2lvbltrZXldIHx8ICcnO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzZXREYXRhKGtleTphbnksIHZhbHVlOmFueSkge1xyXG4gICAgICAgIHZhciBhY3R1YWwgPSB0aGlzLmdldE1haW4oKSB8fCB7fTtcclxuICAgICAgICBhY3R1YWxba2V5XT12YWx1ZTtcclxuICAgICAgICBjb25zdCBkYXRhRiA9IHRoaXMuY3JpcHRvLmVuY29kZShhY3R1YWwpO1xyXG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0odGhpcy5rZXksIGRhdGFGKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRTZXNzaW9uVmFycygpe1xyXG4gICAgICAgIGNvbnN0IGluZm8gPSB0aGlzLmdldE1haW4oKTtcclxuICAgICAgICByZXR1cm4gaW5mbyB8fCB7fTtcclxuICAgIH1cclxufVxyXG5cclxuIl19