tnp-core 13.1.3 → 13.1.15

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 (113) hide show
  1. package/README.md +3 -3
  2. package/app.d.ts +1 -1
  3. package/app.js +6 -6
  4. package/app.js.map +1 -1
  5. package/browser/README.md +24 -24
  6. package/browser/esm2020/lib/core-config.mjs +5 -5
  7. package/browser/esm2020/lib/core-imports.mjs +107 -107
  8. package/browser/esm2020/lib/core-models.mjs +1 -1
  9. package/browser/esm2020/lib/helpers-isomorphic.mjs +52 -52
  10. package/browser/esm2020/lib/helpers-messages.mjs +435 -293
  11. package/browser/esm2020/lib/helpers.mjs +940 -914
  12. package/browser/esm2020/lib/index.mjs +7 -7
  13. package/browser/esm2020/lib/progress-data.mjs +51 -50
  14. package/browser/esm2020/public-api.mjs +1 -1
  15. package/browser/esm2020/tnp-core.mjs +4 -4
  16. package/browser/fesm2015/tnp-core.mjs +1570 -1402
  17. package/browser/fesm2015/tnp-core.mjs.map +1 -1
  18. package/browser/fesm2020/tnp-core.mjs +1568 -1400
  19. package/browser/fesm2020/tnp-core.mjs.map +1 -1
  20. package/browser/lib/core-config.d.ts +5 -5
  21. package/browser/lib/core-imports.d.ts +6 -6
  22. package/browser/lib/core-models.d.ts +42 -42
  23. package/browser/lib/helpers-isomorphic.d.ts +7 -7
  24. package/browser/lib/helpers-messages.d.ts +11 -8
  25. package/browser/lib/helpers.d.ts +33 -33
  26. package/browser/lib/index.d.ts +7 -7
  27. package/browser/lib/progress-data.d.ts +18 -18
  28. package/browser/public-api.d.ts +1 -1
  29. package/browser/tnp-core.d.ts +5 -5
  30. package/client/README.md +24 -24
  31. package/client/esm2020/lib/core-config.mjs +5 -5
  32. package/client/esm2020/lib/core-imports.mjs +107 -107
  33. package/client/esm2020/lib/core-models.mjs +1 -1
  34. package/client/esm2020/lib/helpers-isomorphic.mjs +52 -52
  35. package/client/esm2020/lib/helpers-messages.mjs +435 -293
  36. package/client/esm2020/lib/helpers.mjs +940 -914
  37. package/client/esm2020/lib/index.mjs +7 -7
  38. package/client/esm2020/lib/progress-data.mjs +51 -50
  39. package/client/esm2020/public-api.mjs +1 -1
  40. package/client/esm2020/tnp-core.mjs +4 -4
  41. package/client/fesm2015/tnp-core.mjs +1570 -1402
  42. package/client/fesm2015/tnp-core.mjs.map +1 -1
  43. package/client/fesm2020/tnp-core.mjs +1568 -1400
  44. package/client/fesm2020/tnp-core.mjs.map +1 -1
  45. package/client/lib/core-config.d.ts +5 -5
  46. package/client/lib/core-imports.d.ts +6 -6
  47. package/client/lib/core-models.d.ts +42 -42
  48. package/client/lib/helpers-isomorphic.d.ts +7 -7
  49. package/client/lib/helpers-messages.d.ts +11 -8
  50. package/client/lib/helpers.d.ts +33 -33
  51. package/client/lib/index.d.ts +7 -7
  52. package/client/lib/progress-data.d.ts +18 -18
  53. package/client/public-api.d.ts +1 -1
  54. package/client/tnp-core.d.ts +5 -5
  55. package/index.d.ts +1 -1
  56. package/index.js +5 -5
  57. package/index.js.map +1 -1
  58. package/lib/core-config.d.ts +5 -5
  59. package/lib/core-config.js +9 -9
  60. package/lib/core-config.js.map +1 -1
  61. package/lib/core-imports.d.ts +31 -31
  62. package/lib/core-imports.js +113 -113
  63. package/lib/core-imports.js.map +1 -1
  64. package/lib/core-models.d.ts +42 -42
  65. package/lib/core-models.js +3 -3
  66. package/lib/core-models.js.map +1 -1
  67. package/lib/helpers-isomorphic.d.ts +9 -9
  68. package/lib/helpers-isomorphic.js +74 -74
  69. package/lib/helpers-isomorphic.js.map +1 -1
  70. package/lib/helpers-messages.d.ts +11 -8
  71. package/lib/helpers-messages.js +474 -338
  72. package/lib/helpers-messages.js.map +1 -1
  73. package/lib/helpers.d.ts +111 -111
  74. package/lib/helpers.js +1127 -1112
  75. package/lib/helpers.js.map +1 -1
  76. package/lib/index.d.ts +7 -7
  77. package/lib/index.js +13 -13
  78. package/lib/index.js.map +1 -1
  79. package/lib/progress-data.d.ts +18 -18
  80. package/lib/progress-data.js +59 -58
  81. package/lib/progress-data.js.map +1 -1
  82. package/lib/public-api.d.ts +7 -7
  83. package/lib/public-api.js +13 -13
  84. package/lib/public-api.js.map +1 -1
  85. package/package.json +2 -2
  86. package/package.json_devDependencies.json +202 -202
  87. package/package.json_tnp.json5 +62 -62
  88. package/tmp-environment.json +7 -7
  89. package/websql/README.md +24 -24
  90. package/websql/esm2020/lib/core-config.mjs +5 -5
  91. package/websql/esm2020/lib/core-imports.mjs +108 -108
  92. package/websql/esm2020/lib/core-models.mjs +1 -1
  93. package/websql/esm2020/lib/helpers-isomorphic.mjs +54 -54
  94. package/websql/esm2020/lib/helpers-messages.mjs +435 -293
  95. package/websql/esm2020/lib/helpers.mjs +940 -914
  96. package/websql/esm2020/lib/index.mjs +7 -7
  97. package/websql/esm2020/lib/progress-data.mjs +51 -50
  98. package/websql/esm2020/public-api.mjs +1 -1
  99. package/websql/esm2020/tnp-core.mjs +4 -4
  100. package/websql/fesm2015/tnp-core.mjs +1566 -1398
  101. package/websql/fesm2015/tnp-core.mjs.map +1 -1
  102. package/websql/fesm2020/tnp-core.mjs +1564 -1396
  103. package/websql/fesm2020/tnp-core.mjs.map +1 -1
  104. package/websql/lib/core-config.d.ts +5 -5
  105. package/websql/lib/core-imports.d.ts +8 -8
  106. package/websql/lib/core-models.d.ts +42 -42
  107. package/websql/lib/helpers-isomorphic.d.ts +9 -9
  108. package/websql/lib/helpers-messages.d.ts +11 -8
  109. package/websql/lib/helpers.d.ts +33 -33
  110. package/websql/lib/index.d.ts +7 -7
  111. package/websql/lib/progress-data.d.ts +18 -18
  112. package/websql/public-api.d.ts +1 -1
  113. package/websql/tnp-core.d.ts +5 -5
@@ -1,293 +1,435 @@
1
- /* */
2
- /* */
3
- /* */
4
- // import { config } from 'tnp-config/websql';
5
- // import { PROGRESS_DATA } from 'tnp-models/websql';
6
- import { Helpers } from './index';
7
- import { HelpersIsomorphic } from './helpers-isomorphic';
8
- // TODO handle global.testMode ?
9
- const KEY = {
10
- LAST_ERROR: Symbol(),
11
- LAST_INFO: Symbol(),
12
- LAST_WARN: Symbol(),
13
- LAST_LOG: Symbol(),
14
- };
15
- const KEY_COUNT = {
16
- LAST_ERROR: Symbol(),
17
- LAST_INFO: Symbol(),
18
- LAST_WARN: Symbol(),
19
- LAST_LOG: Symbol(),
20
- };
21
- /* */
22
- /* */
23
- /* */
24
- /* */
25
- /* */
26
- const LIMIT = 10;
27
- // export class Log {
28
- // private static _instance: Log;
29
- // public Instance() {
30
- // if (!Log._instance) {
31
- // Log._instance = new Log();
32
- // }
33
- // return Log._instance;
34
- // }
35
- // create(name: string, level?: Level) {
36
- // if (level === void 0) {
37
- // level = Level.DATA;
38
- // }
39
- // return {
40
- // d(details: string, debugLevel?: number) {
41
- // return Helpers.log(`[${name}] ${details}`, debugLevel)
42
- // },
43
- // i(details: string) {
44
- // return Helpers.info(`[${name}] ${details}`)
45
- // },
46
- // w(details: string, noExit = false, noTrace = false) {
47
- // return Helpers.error(`[${name}] ${details}`, noExit, noTrace);
48
- // },
49
- // er(details: string, ) {
50
- // return Helpers.info(`[${name}] ${details}`)
51
- // },
52
- // }
53
- // }
54
- // }
55
- export class HelpersMessages extends HelpersIsomorphic {
56
- msgCacheClear() {
57
- /* */
58
- /* */
59
- /* */
60
- /* */
61
- /* */
62
- }
63
- //#region error
64
- error(details, noExit = false, noTrace = false) {
65
- if (Helpers.isBrowser) {
66
- console.error(details);
67
- return;
68
- }
69
- /* */
70
- /* */
71
- /* */
72
- /* */
73
- /* */
74
- /* */
75
- /* */
76
- /* */
77
- /* */
78
- /* */
79
- /* */
80
- /* */
81
- /* */
82
- /* */
83
- /* */
84
- /* */
85
- /* */
86
- /* */
87
- /* */
88
- /* */
89
- /* */
90
- /* */
91
- /* */
92
- /* */
93
- /* */
94
- /* */
95
- /* */
96
- /* */
97
- /* */
98
- /* */
99
- /* */
100
- /* */
101
- /* */
102
- /* */
103
- /* */
104
- /* */
105
- /* */
106
- /* */
107
- /* */
108
- /* */
109
- /* */
110
- /* */
111
- /* */
112
- /* */
113
- /* */
114
- /* */
115
- /* */
116
- /* */
117
- /* */
118
- /* */
119
- /* */
120
- /* */
121
- /* */
122
- /* */
123
- /* */
124
- /* */
125
- /* */
126
- /* */
127
- /* */
128
- /* */
129
- /* */
130
- /* */
131
- /* */
132
- /* */
133
- /* */
134
- /* */
135
- /* */
136
- /* */
137
- /* */
138
- /* */
139
- /* */
140
- /* */
141
- /* */
142
- /* */
143
- /* */
144
- /* */
145
- /* */
146
- /* */
147
- /* */
148
- /* */
149
- /* */
150
- /* */
151
- /* */
152
- /* */
153
- /* */
154
- /* */
155
- /* */
156
- /* */
157
- /* */
158
- /* */
159
- /* */
160
- /* */
161
- /* */
162
- /* */
163
- /* */
164
- /* */
165
- /* */
166
- /* */
167
- /* */
168
- /* */
169
- /* */
170
- /* */
171
- /* */
172
- /* */
173
- /* */
174
- /* */
175
- /* */
176
- /* */
177
- /* */
178
- /* */
179
- /* */
180
- /* */
181
- /* */
182
- /* */
183
- /* */
184
- /* */
185
- /* */
186
- /* */
187
- /* */
188
- /* */
189
- /* */
190
- /* */
191
- /* */
192
- }
193
- //#endregion
194
- //#region info
195
- info(details, repeatable = false) {
196
- if (Helpers.isBrowser) {
197
- console.info(details);
198
- return;
199
- }
200
- /* */
201
- /* */
202
- /* */
203
- /* */
204
- /* */
205
- /* */
206
- /* */
207
- /* */
208
- /* */
209
- /* */
210
- /* */
211
- /* */
212
- /* */
213
- /* */
214
- /* */
215
- /* */
216
- /* */
217
- /* */
218
- /* */
219
- }
220
- //#endregion
221
- //#region log
222
- log(details, debugLevel = 0) {
223
- /* */
224
- /* */
225
- if (Helpers.isBrowser) {
226
- console.log(details);
227
- return;
228
- }
229
- /* */
230
- /* */
231
- /* */
232
- /* */
233
- /* */
234
- /* */
235
- /* */
236
- /* */
237
- /* */
238
- /* */
239
- /* */
240
- /* */
241
- /* */
242
- /* */
243
- /* */
244
- /* */
245
- /* */
246
- /* */
247
- /* */
248
- /* */
249
- /* */
250
- /* */
251
- /* */
252
- /* */
253
- /* */
254
- /* */
255
- /* */
256
- /* */
257
- /* */
258
- /* */
259
- }
260
- //#endregion
261
- //#region warn
262
- warn(details, trace = false) {
263
- // if (_.isString(details)) {
264
- // details = (details).toUpperCase();
265
- // }
266
- if (Helpers.isBrowser) {
267
- console.warn(details);
268
- return;
269
- }
270
- /* */
271
- /* */
272
- /* */
273
- /* */
274
- /* */
275
- /* */
276
- /* */
277
- /* */
278
- /* */
279
- /* */
280
- /* */
281
- /* */
282
- /* */
283
- /* */
284
- /* */
285
- /* */
286
- /* */
287
- /* */
288
- /* */
289
- /* */
290
- /* */
291
- }
292
- }
293
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1tZXNzYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUtd2Vic3FsL3RucC1jb3JlL3Byb2plY3RzL3RucC1jb3JlL3NyYy9saWIvaGVscGVycy1tZXNzYWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHTCw4Q0FBOEM7QUFDOUMscURBQXFEO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJekQsZ0NBQWdDO0FBRWhDLE1BQU0sR0FBRyxHQUFHO0lBQ1YsVUFBVSxFQUFFLE1BQU0sRUFBRTtJQUNwQixTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQ25CLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbkIsUUFBUSxFQUFFLE1BQU0sRUFBRTtDQUNuQixDQUFBO0FBRUQsTUFBTSxTQUFTLEdBQUc7SUFDaEIsVUFBVSxFQUFFLE1BQU0sRUFBRTtJQUNwQixTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQ25CLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbkIsUUFBUSxFQUFFLE1BQU0sRUFBRTtDQUNuQixDQUFBO0FBRUQsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHTCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7QUFFakIscUJBQXFCO0FBQ3JCLG1DQUFtQztBQUNuQyx3QkFBd0I7QUFDeEIsNEJBQTRCO0FBQzVCLG1DQUFtQztBQUNuQyxRQUFRO0FBQ1IsNEJBQTRCO0FBQzVCLE1BQU07QUFFTiwwQ0FBMEM7QUFDMUMsOEJBQThCO0FBQzlCLDRCQUE0QjtBQUM1QixRQUFRO0FBQ1IsZUFBZTtBQUNmLGtEQUFrRDtBQUNsRCxpRUFBaUU7QUFDakUsV0FBVztBQUNYLDZCQUE2QjtBQUM3QixzREFBc0Q7QUFDdEQsV0FBVztBQUVYLDhEQUE4RDtBQUM5RCx5RUFBeUU7QUFDekUsV0FBVztBQUNYLGdDQUFnQztBQUNoQyxzREFBc0Q7QUFDdEQsV0FBVztBQUNYLFFBQVE7QUFDUixNQUFNO0FBRU4sSUFBSTtBQUVKLE1BQU0sT0FBTyxlQUFnQixTQUFRLGlCQUFpQjtJQUVwRCxhQUFhO1FBQ2YsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBRUQsZUFBZTtJQUNmLEtBQUssQ0FBQyxPQUFZLEVBQUUsTUFBTSxHQUFHLEtBQUssRUFBRSxPQUFPLEdBQUcsS0FBSztRQUNqRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDckIsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUN0QixPQUFPO1NBQ1I7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBQ0QsWUFBWTtJQUVaLGNBQWM7SUFDZCxJQUFJLENBQUMsT0FBZSxFQUFFLFVBQVUsR0FBRyxLQUFLO1FBQ3RDLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RCLE9BQU87U0FDUjtRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBQ0QsWUFBWTtJQUVaLGFBQWE7SUFDYixHQUFHLENBQUMsT0FBZSxFQUFFLFVBQVUsR0FBRyxDQUFDO1FBQ3JDLEtBQUs7UUFDTCxLQUFLO1FBRUQsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckIsT0FBTztTQUNSO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBRUgsQ0FBQztJQUNELFlBQVk7SUFFWixjQUFjO0lBQ2QsSUFBSSxDQUFDLE9BQWUsRUFBRSxLQUFLLEdBQUcsS0FBSztRQUNqQyw2QkFBNkI7UUFDN0IsdUNBQXVDO1FBQ3ZDLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QixPQUFPO1NBQ1I7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyIvKiAqL1xuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgXyB9IGZyb20gJy4vY29yZS1pbXBvcnRzJztcbi8vIGltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvd2Vic3FsJztcbi8vIGltcG9ydCB7IFBST0dSRVNTX0RBVEEgfSBmcm9tICd0bnAtbW9kZWxzL3dlYnNxbCc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi9pbmRleCc7XG5pbXBvcnQgeyBIZWxwZXJzSXNvbW9ycGhpYyB9IGZyb20gJy4vaGVscGVycy1pc29tb3JwaGljJztcbmltcG9ydCB7IFBST0dSRVNTX0RBVEEgfSBmcm9tICcuL3Byb2dyZXNzLWRhdGEnO1xuaW1wb3J0IHsgQ29yZUNvbmZpZyB9IGZyb20gJy4vY29yZS1jb25maWcnO1xuXG4vLyBUT0RPIGhhbmRsZSBnbG9iYWwudGVzdE1vZGUgP1xuXG5jb25zdCBLRVkgPSB7XG4gIExBU1RfRVJST1I6IFN5bWJvbCgpLFxuICBMQVNUX0lORk86IFN5bWJvbCgpLFxuICBMQVNUX1dBUk46IFN5bWJvbCgpLFxuICBMQVNUX0xPRzogU3ltYm9sKCksXG59XG5cbmNvbnN0IEtFWV9DT1VOVCA9IHtcbiAgTEFTVF9FUlJPUjogU3ltYm9sKCksXG4gIExBU1RfSU5GTzogU3ltYm9sKCksXG4gIExBU1RfV0FSTjogU3ltYm9sKCksXG4gIExBU1RfTE9HOiBTeW1ib2woKSxcbn1cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5jb25zdCBMSU1JVCA9IDEwO1xuXG4vLyBleHBvcnQgY2xhc3MgTG9nIHtcbi8vICAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlOiBMb2c7XG4vLyAgIHB1YmxpYyBJbnN0YW5jZSgpIHtcbi8vICAgICBpZiAoIUxvZy5faW5zdGFuY2UpIHtcbi8vICAgICAgIExvZy5faW5zdGFuY2UgPSBuZXcgTG9nKCk7XG4vLyAgICAgfVxuLy8gICAgIHJldHVybiBMb2cuX2luc3RhbmNlO1xuLy8gICB9XG5cbi8vICAgY3JlYXRlKG5hbWU6IHN0cmluZywgbGV2ZWw/OiBMZXZlbCkge1xuLy8gICAgIGlmIChsZXZlbCA9PT0gdm9pZCAwKSB7XG4vLyAgICAgICBsZXZlbCA9IExldmVsLkRBVEE7XG4vLyAgICAgfVxuLy8gICAgIHJldHVybiB7XG4vLyAgICAgICBkKGRldGFpbHM6IHN0cmluZywgZGVidWdMZXZlbD86IG51bWJlcikge1xuLy8gICAgICAgICByZXR1cm4gSGVscGVycy5sb2coYFske25hbWV9XSAke2RldGFpbHN9YCwgZGVidWdMZXZlbClcbi8vICAgICAgIH0sXG4vLyAgICAgICBpKGRldGFpbHM6IHN0cmluZykge1xuLy8gICAgICAgICByZXR1cm4gSGVscGVycy5pbmZvKGBbJHtuYW1lfV0gJHtkZXRhaWxzfWApXG4vLyAgICAgICB9LFxuXG4vLyAgICAgICB3KGRldGFpbHM6IHN0cmluZywgbm9FeGl0ID0gZmFsc2UsIG5vVHJhY2UgPSBmYWxzZSkge1xuLy8gICAgICAgICByZXR1cm4gSGVscGVycy5lcnJvcihgWyR7bmFtZX1dICR7ZGV0YWlsc31gLCBub0V4aXQsIG5vVHJhY2UpO1xuLy8gICAgICAgfSxcbi8vICAgICAgIGVyKGRldGFpbHM6IHN0cmluZywgKSB7XG4vLyAgICAgICAgIHJldHVybiBIZWxwZXJzLmluZm8oYFske25hbWV9XSAke2RldGFpbHN9YClcbi8vICAgICAgIH0sXG4vLyAgICAgfVxuLy8gICB9XG5cbi8vIH1cblxuZXhwb3J0IGNsYXNzIEhlbHBlcnNNZXNzYWdlcyBleHRlbmRzIEhlbHBlcnNJc29tb3JwaGljIHtcblxuICBtc2dDYWNoZUNsZWFyKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cbiAgLy8jcmVnaW9uIGVycm9yXG4gIGVycm9yKGRldGFpbHM6IGFueSwgbm9FeGl0ID0gZmFsc2UsIG5vVHJhY2UgPSBmYWxzZSkge1xuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgY29uc29sZS5lcnJvcihkZXRhaWxzKVxuICAgICAgcmV0dXJuO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIGluZm9cbiAgaW5mbyhkZXRhaWxzOiBzdHJpbmcsIHJlcGVhdGFibGUgPSBmYWxzZSkge1xuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgY29uc29sZS5pbmZvKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBsb2dcbiAgbG9nKGRldGFpbHM6IHN0cmluZywgZGVidWdMZXZlbCA9IDApIHtcbi8qICovXG4vKiAqL1xuICBcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUubG9nKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIHdhcm5cbiAgd2FybihkZXRhaWxzOiBzdHJpbmcsIHRyYWNlID0gZmFsc2UpIHtcbiAgICAvLyBpZiAoXy5pc1N0cmluZyhkZXRhaWxzKSkge1xuICAgIC8vICAgZGV0YWlscyA9IChkZXRhaWxzKS50b1VwcGVyQ2FzZSgpO1xuICAgIC8vIH1cbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUud2FybihkZXRhaWxzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG4gIC8vI2VuZHJlZ2lvblxufVxuIl19
1
+ /* */
2
+ /* */
3
+ /* */
4
+ // import { config } from 'tnp-config/websql';
5
+ // import { PROGRESS_DATA } from 'tnp-models/websql';
6
+ import { Helpers } from './index';
7
+ import { HelpersIsomorphic } from './helpers-isomorphic';
8
+ // TODO handle global.testMode ?
9
+ const KEY = {
10
+ LAST_ERROR: Symbol(),
11
+ LAST_INFO: Symbol(),
12
+ LAST_WARN: Symbol(),
13
+ LAST_LOG: Symbol(),
14
+ LAST_SUCCESS: Symbol(),
15
+ LAST_TASK_STARTED: Symbol(),
16
+ LAST_TASK_DONE: Symbol(),
17
+ };
18
+ const KEY_COUNT = {
19
+ LAST_ERROR: Symbol(),
20
+ LAST_INFO: Symbol(),
21
+ LAST_WARN: Symbol(),
22
+ LAST_LOG: Symbol(),
23
+ LAST_SUCCESS: Symbol(),
24
+ LAST_TASK_STARTED: Symbol(),
25
+ LAST_TASK_DONE: Symbol(),
26
+ };
27
+ /* */
28
+ /* */
29
+ /* */
30
+ /* */
31
+ /* */
32
+ /* */
33
+ /* */
34
+ /* */
35
+ /* */
36
+ /* */
37
+ /* */
38
+ const LIMIT = 10;
39
+ // export class Log {
40
+ // private static _instance: Log;
41
+ // public Instance() {
42
+ // if (!Log._instance) {
43
+ // Log._instance = new Log();
44
+ // }
45
+ // return Log._instance;
46
+ // }
47
+ // create(name: string, level?: Level) {
48
+ // if (level === void 0) {
49
+ // level = Level.DATA;
50
+ // }
51
+ // return {
52
+ // d(details: string, debugLevel?: number) {
53
+ // return Helpers.log(`[${name}] ${details}`, debugLevel)
54
+ // },
55
+ // i(details: string) {
56
+ // return Helpers.info(`[${name}] ${details}`)
57
+ // },
58
+ // w(details: string, noExit = false, noTrace = false) {
59
+ // return Helpers.error(`[${name}] ${details}`, noExit, noTrace);
60
+ // },
61
+ // er(details: string, ) {
62
+ // return Helpers.info(`[${name}] ${details}`)
63
+ // },
64
+ // }
65
+ // }
66
+ // }
67
+ export class HelpersMessages extends HelpersIsomorphic {
68
+ msgCacheClear() {
69
+ /* */
70
+ /* */
71
+ /* */
72
+ /* */
73
+ /* */
74
+ }
75
+ error(details, noExit = false, noTrace = false) {
76
+ //#region browser mode
77
+ if (Helpers.isBrowser) {
78
+ console.error(details);
79
+ return;
80
+ }
81
+ //#endregion
82
+ /* */
83
+ /* */
84
+ /* */
85
+ /* */
86
+ /* */
87
+ /* */
88
+ /* */
89
+ /* */
90
+ /* */
91
+ /* */
92
+ /* */
93
+ /* */
94
+ /* */
95
+ /* */
96
+ /* */
97
+ /* */
98
+ /* */
99
+ /* */
100
+ /* */
101
+ /* */
102
+ /* */
103
+ /* */
104
+ /* */
105
+ /* */
106
+ /* */
107
+ /* */
108
+ /* */
109
+ /* */
110
+ /* */
111
+ /* */
112
+ /* */
113
+ /* */
114
+ /* */
115
+ /* */
116
+ /* */
117
+ /* */
118
+ /* */
119
+ /* */
120
+ /* */
121
+ /* */
122
+ /* */
123
+ /* */
124
+ /* */
125
+ /* */
126
+ /* */
127
+ /* */
128
+ /* */
129
+ }
130
+ //#endregion
131
+ //#region info
132
+ info(details, repeatable = false) {
133
+ /* */
134
+ /* */
135
+ /* */
136
+ /* */
137
+ /* */
138
+ /* */
139
+ if (Helpers.isBrowser) {
140
+ console.info(details);
141
+ return;
142
+ }
143
+ /* */
144
+ /* */
145
+ /* */
146
+ /* */
147
+ /* */
148
+ /* */
149
+ /* */
150
+ /* */
151
+ /* */
152
+ /* */
153
+ /* */
154
+ /* */
155
+ /* */
156
+ /* */
157
+ /* */
158
+ /* */
159
+ /* */
160
+ /* */
161
+ /* */
162
+ /* */
163
+ /* */
164
+ /* */
165
+ /* */
166
+ /* */
167
+ /* */
168
+ /* */
169
+ /* */
170
+ /* */
171
+ /* */
172
+ /* */
173
+ /* */
174
+ /* */
175
+ /* */
176
+ /* */
177
+ /* */
178
+ }
179
+ //#endregion
180
+ //#region info
181
+ success(details) {
182
+ if (Helpers.isBrowser) {
183
+ console.info(details);
184
+ return;
185
+ }
186
+ /* */
187
+ /* */
188
+ /* */
189
+ /* */
190
+ /* */
191
+ /* */
192
+ /* */
193
+ /* */
194
+ /* */
195
+ /* */
196
+ /* */
197
+ /* */
198
+ /* */
199
+ /* */
200
+ /* */
201
+ /* */
202
+ /* */
203
+ /* */
204
+ /* */
205
+ /* */
206
+ /* */
207
+ /* */
208
+ /* */
209
+ /* */
210
+ /* */
211
+ /* */
212
+ /* */
213
+ /* */
214
+ /* */
215
+ /* */
216
+ /* */
217
+ /* */
218
+ /* */
219
+ /* */
220
+ /* */
221
+ /* */
222
+ /* */
223
+ /* */
224
+ }
225
+ //#endregion
226
+ taskStarted(details) {
227
+ if (Helpers.isBrowser) {
228
+ console.info(details);
229
+ return;
230
+ }
231
+ /* */
232
+ /* */
233
+ /* */
234
+ /* */
235
+ /* */
236
+ /* */
237
+ /* */
238
+ /* */
239
+ /* */
240
+ /* */
241
+ /* */
242
+ /* */
243
+ /* */
244
+ /* */
245
+ /* */
246
+ /* */
247
+ /* */
248
+ /* */
249
+ /* */
250
+ /* */
251
+ /* */
252
+ /* */
253
+ /* */
254
+ /* */
255
+ /* */
256
+ /* */
257
+ /* */
258
+ /* */
259
+ /* */
260
+ /* */
261
+ /* */
262
+ /* */
263
+ /* */
264
+ /* */
265
+ /* */
266
+ /* */
267
+ /* */
268
+ /* */
269
+ }
270
+ //#endregion
271
+ taskDone(details) {
272
+ if (Helpers.isBrowser) {
273
+ console.info(details);
274
+ return;
275
+ }
276
+ /* */
277
+ /* */
278
+ /* */
279
+ /* */
280
+ /* */
281
+ /* */
282
+ /* */
283
+ /* */
284
+ /* */
285
+ /* */
286
+ /* */
287
+ /* */
288
+ /* */
289
+ /* */
290
+ /* */
291
+ /* */
292
+ /* */
293
+ /* */
294
+ /* */
295
+ /* */
296
+ /* */
297
+ /* */
298
+ /* */
299
+ /* */
300
+ /* */
301
+ /* */
302
+ /* */
303
+ /* */
304
+ /* */
305
+ /* */
306
+ /* */
307
+ /* */
308
+ /* */
309
+ /* */
310
+ /* */
311
+ /* */
312
+ /* */
313
+ /* */
314
+ /* */
315
+ /* */
316
+ /* */
317
+ /* */
318
+ /* */
319
+ }
320
+ //#endregion
321
+ //#region log
322
+ log(details, debugLevel = 0) {
323
+ if (Helpers.isBrowser) {
324
+ console.log(details);
325
+ return;
326
+ }
327
+ /* */
328
+ /* */
329
+ /* */
330
+ /* */
331
+ /* */
332
+ /* */
333
+ /* */
334
+ /* */
335
+ /* */
336
+ /* */
337
+ /* */
338
+ /* */
339
+ /* */
340
+ /* */
341
+ /* */
342
+ /* */
343
+ /* */
344
+ /* */
345
+ /* */
346
+ /* */
347
+ /* */
348
+ /* */
349
+ /* */
350
+ /* */
351
+ /* */
352
+ /* */
353
+ /* */
354
+ /* */
355
+ /* */
356
+ /* */
357
+ /* */
358
+ /* */
359
+ /* */
360
+ /* */
361
+ /* */
362
+ /* */
363
+ /* */
364
+ /* */
365
+ /* */
366
+ /* */
367
+ /* */
368
+ /* */
369
+ /* */
370
+ /* */
371
+ }
372
+ //#endregion
373
+ //#region warn
374
+ warn(details, trace = false) {
375
+ if (Helpers.isBrowser) {
376
+ console.warn(details);
377
+ return;
378
+ }
379
+ /* */
380
+ /* */
381
+ /* */
382
+ /* */
383
+ /* */
384
+ /* */
385
+ /* */
386
+ /* */
387
+ /* */
388
+ /* */
389
+ /* */
390
+ /* */
391
+ /* */
392
+ /* */
393
+ /* */
394
+ /* */
395
+ /* */
396
+ /* */
397
+ /* */
398
+ /* */
399
+ /* */
400
+ /* */
401
+ /* */
402
+ /* */
403
+ /* */
404
+ /* */
405
+ /* */
406
+ /* */
407
+ /* */
408
+ /* */
409
+ /* */
410
+ /* */
411
+ /* */
412
+ /* */
413
+ /* */
414
+ /* */
415
+ /* */
416
+ /* */
417
+ /* */
418
+ /* */
419
+ /* */
420
+ }
421
+ }
422
+ function transformData(details) {
423
+ if (typeof details === 'object') {
424
+ if (Array.isArray(details)) {
425
+ return details.join('\n');
426
+ }
427
+ try {
428
+ const json = JSON.stringify(details);
429
+ details = json;
430
+ }
431
+ catch (error) { }
432
+ }
433
+ return details;
434
+ }
435
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1tZXNzYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUtd2Vic3FsL3RucC1jb3JlL3Byb2plY3RzL3RucC1jb3JlL3NyYy9saWIvaGVscGVycy1tZXNzYWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHTCw4Q0FBOEM7QUFDOUMscURBQXFEO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHekQsZ0NBQWdDO0FBRWhDLE1BQU0sR0FBRyxHQUFHO0lBQ1YsVUFBVSxFQUFFLE1BQU0sRUFBRTtJQUNwQixTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQ25CLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbkIsUUFBUSxFQUFFLE1BQU0sRUFBRTtJQUNsQixZQUFZLEVBQUUsTUFBTSxFQUFFO0lBQ3RCLGlCQUFpQixFQUFFLE1BQU0sRUFBRTtJQUMzQixjQUFjLEVBQUUsTUFBTSxFQUFFO0NBQ3pCLENBQUE7QUFFRCxNQUFNLFNBQVMsR0FBRztJQUNoQixVQUFVLEVBQUUsTUFBTSxFQUFFO0lBQ3BCLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbkIsU0FBUyxFQUFFLE1BQU0sRUFBRTtJQUNuQixRQUFRLEVBQUUsTUFBTSxFQUFFO0lBQ2xCLFlBQVksRUFBRSxNQUFNLEVBQUU7SUFDdEIsaUJBQWlCLEVBQUUsTUFBTSxFQUFFO0lBQzNCLGNBQWMsRUFBRSxNQUFNLEVBQUU7Q0FDekIsQ0FBQTtBQUVELEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsTUFBTSxLQUFLLEdB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Q0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBQ0QsWUFBWTtJQUVaLFdBQVcsQ0FBQyxPQUFxQjtRQUMvQixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QixPQUFPO1NBQ1I7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFDRCxZQUFZO0lBRVosUUFBUSxDQUFDLE9BQXNCO1FBQzdCLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RCLE9BQU87U0FDUjtRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBQ0QsWUFBWTtJQUVaLGFBQWE7SUFDYixHQUFHLENBQUMsT0FBWSxFQUFFLFVBQVUsR0FBRyxDQUFDO1FBRTlCLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JCLE9BQU87U0FDUjtRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBRUgsQ0FBQztJQUNELFlBQVk7SUFFWixjQUFjO0lBQ2QsSUFBSSxDQUFDLE9BQWUsRUFBRSxLQUFLLEdBQUcsS0FBSztRQUVqQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QixPQUFPO1NBQ1I7UUFFTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7Q0FFRjtBQUlELFNBQVMsYUFBYSxDQUFDLE9BQVc7SUFDaEMsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUU7UUFDL0IsSUFBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtTQUMxQjtRQUNELElBQUk7WUFDRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FDaEI7UUFBQyxPQUFPLEtBQUssRUFBRSxHQUFHO0tBQ3BCO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5pbXBvcnQgeyBfIH0gZnJvbSAnLi9jb3JlLWltcG9ydHMnO1xuLy8gaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAndG5wLWNvbmZpZy93ZWJzcWwnO1xuLy8gaW1wb3J0IHsgUFJPR1JFU1NfREFUQSB9IGZyb20gJ3RucC1tb2RlbHMvd2Vic3FsJztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuL2luZGV4JztcbmltcG9ydCB7IEhlbHBlcnNJc29tb3JwaGljIH0gZnJvbSAnLi9oZWxwZXJzLWlzb21vcnBoaWMnO1xuaW1wb3J0IHsgUFJPR1JFU1NfREFUQSB9IGZyb20gJy4vcHJvZ3Jlc3MtZGF0YSc7XG5cbi8vIFRPRE8gaGFuZGxlIGdsb2JhbC50ZXN0TW9kZSA/XG5cbmNvbnN0IEtFWSA9IHtcbiAgTEFTVF9FUlJPUjogU3ltYm9sKCksXG4gIExBU1RfSU5GTzogU3ltYm9sKCksXG4gIExBU1RfV0FSTjogU3ltYm9sKCksXG4gIExBU1RfTE9HOiBTeW1ib2woKSxcbiAgTEFTVF9TVUNDRVNTOiBTeW1ib2woKSxcbiAgTEFTVF9UQVNLX1NUQVJURUQ6IFN5bWJvbCgpLFxuICBMQVNUX1RBU0tfRE9ORTogU3ltYm9sKCksXG59XG5cbmNvbnN0IEtFWV9DT1VOVCA9IHtcbiAgTEFTVF9FUlJPUjogU3ltYm9sKCksXG4gIExBU1RfSU5GTzogU3ltYm9sKCksXG4gIExBU1RfV0FSTjogU3ltYm9sKCksXG4gIExBU1RfTE9HOiBTeW1ib2woKSxcbiAgTEFTVF9TVUNDRVNTOiBTeW1ib2woKSxcbiAgTEFTVF9UQVNLX1NUQVJURUQ6IFN5bWJvbCgpLFxuICBMQVNUX1RBU0tfRE9ORTogU3ltYm9sKCksXG59XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuY29uc3QgTElNSVQgPSAxMDtcblxuLy8gZXhwb3J0IGNsYXNzIExvZyB7XG4vLyAgIHByaXZhdGUgc3RhdGljIF9pbnN0YW5jZTogTG9nO1xuLy8gICBwdWJsaWMgSW5zdGFuY2UoKSB7XG4vLyAgICAgaWYgKCFMb2cuX2luc3RhbmNlKSB7XG4vLyAgICAgICBMb2cuX2luc3RhbmNlID0gbmV3IExvZygpO1xuLy8gICAgIH1cbi8vICAgICByZXR1cm4gTG9nLl9pbnN0YW5jZTtcbi8vICAgfVxuXG4vLyAgIGNyZWF0ZShuYW1lOiBzdHJpbmcsIGxldmVsPzogTGV2ZWwpIHtcbi8vICAgICBpZiAobGV2ZWwgPT09IHZvaWQgMCkge1xuLy8gICAgICAgbGV2ZWwgPSBMZXZlbC5EQVRBO1xuLy8gICAgIH1cbi8vICAgICByZXR1cm4ge1xuLy8gICAgICAgZChkZXRhaWxzOiBzdHJpbmcsIGRlYnVnTGV2ZWw/OiBudW1iZXIpIHtcbi8vICAgICAgICAgcmV0dXJuIEhlbHBlcnMubG9nKGBbJHtuYW1lfV0gJHtkZXRhaWxzfWAsIGRlYnVnTGV2ZWwpXG4vLyAgICAgICB9LFxuLy8gICAgICAgaShkZXRhaWxzOiBzdHJpbmcpIHtcbi8vICAgICAgICAgcmV0dXJuIEhlbHBlcnMuaW5mbyhgWyR7bmFtZX1dICR7ZGV0YWlsc31gKVxuLy8gICAgICAgfSxcblxuLy8gICAgICAgdyhkZXRhaWxzOiBzdHJpbmcsIG5vRXhpdCA9IGZhbHNlLCBub1RyYWNlID0gZmFsc2UpIHtcbi8vICAgICAgICAgcmV0dXJuIEhlbHBlcnMuZXJyb3IoYFske25hbWV9XSAke2RldGFpbHN9YCwgbm9FeGl0LCBub1RyYWNlKTtcbi8vICAgICAgIH0sXG4vLyAgICAgICBlcihkZXRhaWxzOiBzdHJpbmcsICkge1xuLy8gICAgICAgICByZXR1cm4gSGVscGVycy5pbmZvKGBbJHtuYW1lfV0gJHtkZXRhaWxzfWApXG4vLyAgICAgICB9LFxuLy8gICAgIH1cbi8vICAgfVxuXG4vLyB9XG5cbmV4cG9ydCBjbGFzcyBIZWxwZXJzTWVzc2FnZXMgZXh0ZW5kcyBIZWxwZXJzSXNvbW9ycGhpYyB7XG5cbiAgbXNnQ2FjaGVDbGVhcigpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG4gIGVycm9yKGRldGFpbHM6IGFueSwgbm9FeGl0ID0gZmFsc2UsIG5vVHJhY2UgPSBmYWxzZSkge1xuICAgIC8vI3JlZ2lvbiBicm93c2VyIG1vZGVcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZGV0YWlscylcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8jZW5kcmVnaW9uXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gaW5mb1xuICBpbmZvKGRldGFpbHM6IHN0cmluZywgcmVwZWF0YWJsZSA9IGZhbHNlKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgY29uc29sZS5pbmZvKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gaW5mb1xuICBzdWNjZXNzKGRldGFpbHM6IGFueSB8IHN0cmluZykge1xuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgY29uc29sZS5pbmZvKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICB0YXNrU3RhcnRlZChkZXRhaWxzOiBhbnkgfCBzdHJpbmcpIHtcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUuaW5mbyhkZXRhaWxzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgdGFza0RvbmUoZGV0YWlscz86IGFueSB8IHN0cmluZykge1xuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgY29uc29sZS5pbmZvKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBsb2dcbiAgbG9nKGRldGFpbHM6IGFueSwgZGVidWdMZXZlbCA9IDApIHtcblxuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgY29uc29sZS5sb2coZGV0YWlscyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiB3YXJuXG4gIHdhcm4oZGV0YWlsczogc3RyaW5nLCB0cmFjZSA9IGZhbHNlKSB7XG5cbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUud2FybihkZXRhaWxzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuICAvLyNlbmRyZWdpb25cbn1cblxuXG5cbmZ1bmN0aW9uIHRyYW5zZm9ybURhdGEoZGV0YWlsczphbnkpIHtcbiAgaWYgKHR5cGVvZiBkZXRhaWxzID09PSAnb2JqZWN0Jykge1xuICAgIGlmKEFycmF5LmlzQXJyYXkoZGV0YWlscykpIHtcbiAgICAgIHJldHVybiBkZXRhaWxzLmpvaW4oJ1xcbicpXG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBqc29uID0gSlNPTi5zdHJpbmdpZnkoZGV0YWlscyk7XG4gICAgICBkZXRhaWxzID0ganNvbjtcbiAgICB9IGNhdGNoIChlcnJvcikgeyB9XG4gIH1cbiAgcmV0dXJuIGRldGFpbHM7XG59XG4iXX0=