primeng 14.2.11-lts → 14.2.13-lts
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.
- package/api/licensemanager.d.ts +1 -1
- package/calendar/calendar.d.ts +1 -0
- package/carousel/carousel.d.ts +2 -1
- package/esm2020/api/licensemanager.mjs +22 -4
- package/esm2020/autocomplete/autocomplete.mjs +6 -6
- package/esm2020/button/button.mjs +4 -3
- package/esm2020/calendar/calendar.mjs +24 -4
- package/esm2020/carousel/carousel.mjs +10 -3
- package/esm2020/dialog/dialog.mjs +2 -2
- package/esm2020/dropdown/dropdown.mjs +3 -2
- package/esm2020/fileupload/fileupload.mjs +2 -1
- package/esm2020/inputnumber/inputnumber.mjs +3 -3
- package/esm2020/picklist/picklist.mjs +8 -4
- package/esm2020/splitter/splitter.mjs +2 -2
- package/fesm2015/primeng-api.mjs +21 -3
- package/fesm2015/primeng-api.mjs.map +1 -1
- package/fesm2015/primeng-autocomplete.mjs +5 -5
- package/fesm2015/primeng-autocomplete.mjs.map +1 -1
- package/fesm2015/primeng-button.mjs +3 -2
- package/fesm2015/primeng-button.mjs.map +1 -1
- package/fesm2015/primeng-calendar.mjs +23 -3
- package/fesm2015/primeng-calendar.mjs.map +1 -1
- package/fesm2015/primeng-carousel.mjs +9 -2
- package/fesm2015/primeng-carousel.mjs.map +1 -1
- package/fesm2015/primeng-dialog.mjs +1 -1
- package/fesm2015/primeng-dialog.mjs.map +1 -1
- package/fesm2015/primeng-dropdown.mjs +2 -1
- package/fesm2015/primeng-dropdown.mjs.map +1 -1
- package/fesm2015/primeng-fileupload.mjs +1 -0
- package/fesm2015/primeng-fileupload.mjs.map +1 -1
- package/fesm2015/primeng-inputnumber.mjs +2 -2
- package/fesm2015/primeng-inputnumber.mjs.map +1 -1
- package/fesm2015/primeng-picklist.mjs +7 -3
- package/fesm2015/primeng-picklist.mjs.map +1 -1
- package/fesm2015/primeng-splitter.mjs +2 -2
- package/fesm2015/primeng-splitter.mjs.map +1 -1
- package/fesm2020/primeng-api.mjs +21 -3
- package/fesm2020/primeng-api.mjs.map +1 -1
- package/fesm2020/primeng-autocomplete.mjs +5 -5
- package/fesm2020/primeng-autocomplete.mjs.map +1 -1
- package/fesm2020/primeng-button.mjs +3 -2
- package/fesm2020/primeng-button.mjs.map +1 -1
- package/fesm2020/primeng-calendar.mjs +23 -3
- package/fesm2020/primeng-calendar.mjs.map +1 -1
- package/fesm2020/primeng-carousel.mjs +9 -2
- package/fesm2020/primeng-carousel.mjs.map +1 -1
- package/fesm2020/primeng-dialog.mjs +1 -1
- package/fesm2020/primeng-dialog.mjs.map +1 -1
- package/fesm2020/primeng-dropdown.mjs +2 -1
- package/fesm2020/primeng-dropdown.mjs.map +1 -1
- package/fesm2020/primeng-fileupload.mjs +1 -0
- package/fesm2020/primeng-fileupload.mjs.map +1 -1
- package/fesm2020/primeng-inputnumber.mjs +2 -2
- package/fesm2020/primeng-inputnumber.mjs.map +1 -1
- package/fesm2020/primeng-picklist.mjs +7 -3
- package/fesm2020/primeng-picklist.mjs.map +1 -1
- package/fesm2020/primeng-splitter.mjs +2 -2
- package/fesm2020/primeng-splitter.mjs.map +1 -1
- package/package.json +1 -1
- package/resources/components/splitter/splitter.css +1 -0
package/api/licensemanager.d.ts
CHANGED
package/calendar/calendar.d.ts
CHANGED
@@ -230,6 +230,7 @@ export declare class Calendar implements OnInit, OnDestroy, ControlValueAccessor
|
|
230
230
|
isComparable(): boolean;
|
231
231
|
isMonthSelected(month: any): boolean;
|
232
232
|
isMonthDisabled(month: any): boolean;
|
233
|
+
isYearDisabled(year: any): boolean;
|
233
234
|
isYearSelected(year: any): boolean;
|
234
235
|
isDateEquals(value: any, dateMeta: any): boolean;
|
235
236
|
isDateBetween(start: any, end: any, dateMeta: any): boolean;
|
package/carousel/carousel.d.ts
CHANGED
@@ -86,7 +86,8 @@ export declare class Carousel implements AfterContentInit, AfterViewInit {
|
|
86
86
|
onDotClick(e: any, index: any): void;
|
87
87
|
step(dir: any, page: any): void;
|
88
88
|
startAutoplay(): void;
|
89
|
-
stopAutoplay(): void;
|
89
|
+
stopAutoplay(changeAllow?: boolean): void;
|
90
|
+
isPlaying(): boolean;
|
90
91
|
onTransitionEnd(): void;
|
91
92
|
onTouchStart(e: any): void;
|
92
93
|
onTouchMove(e: any): void;
|
@@ -1,40 +1,56 @@
|
|
1
1
|
const LicenseManagerImp = {
|
2
2
|
licenseKey: undefined,
|
3
3
|
passKey: undefined,
|
4
|
+
debug: false,
|
4
5
|
valid: false,
|
5
6
|
verified: false,
|
6
|
-
verify: function (licenseKey, passKey) {
|
7
|
-
[LicenseManagerImp.licenseKey, LicenseManagerImp.passKey] = [licenseKey, passKey];
|
7
|
+
verify: function (licenseKey, passKey, debug = false) {
|
8
|
+
[LicenseManagerImp.licenseKey, LicenseManagerImp.passKey, LicenseManagerImp.debug] = [licenseKey, passKey, debug];
|
8
9
|
LicenseManagerImp.valid = LicenseManagerImp.verified = false;
|
9
10
|
},
|
10
11
|
check: async function () {
|
11
12
|
if (!LicenseManagerImp.verified) {
|
12
13
|
const isClient = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
|
13
14
|
LicenseManagerImp.verified = isClient;
|
15
|
+
let debug = LicenseManagerImp.debug;
|
14
16
|
let valid = false;
|
15
17
|
try {
|
16
18
|
const plaintext = await LicenseManagerImp.aesGcmDecrypt(LicenseManagerImp.licenseKey, LicenseManagerImp.passKey);
|
17
19
|
const tokens = plaintext.split('_');
|
18
20
|
const licenseDate = new Date(parseInt(tokens[2]));
|
19
21
|
if (tokens.length !== 8) {
|
22
|
+
if (debug)
|
23
|
+
console.log('Error code: 1333');
|
20
24
|
valid = false;
|
21
25
|
}
|
22
26
|
else if (tokens[0].length !== 2) {
|
27
|
+
if (debug)
|
28
|
+
console.log('Error code: 1334');
|
23
29
|
valid = false;
|
24
30
|
}
|
25
31
|
else if (isNaN(parseInt(tokens[1]))) {
|
32
|
+
if (debug)
|
33
|
+
console.log('Error code: 1335');
|
26
34
|
valid = false;
|
27
35
|
}
|
28
36
|
else if (tokens[3] !== 'PRIMENG') {
|
37
|
+
if (debug)
|
38
|
+
console.log('Error code: 1336');
|
29
39
|
valid = false;
|
30
40
|
}
|
31
41
|
else if (tokens[5] === 'BASIC' && licenseDate <= new Date()) {
|
42
|
+
if (debug)
|
43
|
+
console.log('Error code: 1337');
|
32
44
|
valid = false;
|
33
45
|
}
|
34
|
-
else if (tokens[6] !== '
|
46
|
+
else if (tokens[6] !== '15') {
|
47
|
+
if (debug)
|
48
|
+
console.log('Error code: 1338');
|
35
49
|
valid = false;
|
36
50
|
}
|
37
51
|
else if (tokens[7].length !== 6) {
|
52
|
+
if (debug)
|
53
|
+
console.log('Error code: 1339');
|
38
54
|
valid = false;
|
39
55
|
}
|
40
56
|
else {
|
@@ -42,6 +58,8 @@ const LicenseManagerImp = {
|
|
42
58
|
}
|
43
59
|
}
|
44
60
|
catch (e) {
|
61
|
+
if (debug)
|
62
|
+
console.log('Error code: 1440');
|
45
63
|
valid = false;
|
46
64
|
}
|
47
65
|
if (!valid && isClient) {
|
@@ -93,4 +111,4 @@ export const LicenseManager = Object.freeze({
|
|
93
111
|
verify: LicenseManagerImp.verify,
|
94
112
|
check: LicenseManagerImp.check
|
95
113
|
});
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGljZW5zZW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYXBpL2xpY2Vuc2VtYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0saUJBQWlCLEdBQUc7SUFDdEIsVUFBVSxFQUFFLFNBQVM7SUFDckIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsS0FBSyxFQUFFLEtBQUs7SUFDWixRQUFRLEVBQUUsS0FBSztJQUNmLE1BQU0sRUFBRSxVQUFVLFVBQWtCLEVBQUUsT0FBZTtRQUNqRCxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRixpQkFBaUIsQ0FBQyxLQUFLLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqRSxDQUFDO0lBQ0QsS0FBSyxFQUFFLEtBQUs7UUFDUixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFO1lBQzdCLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdkcsaUJBQWlCLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztZQUV0QyxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbEIsSUFBSTtnQkFDQSxNQUFNLFNBQVMsR0FBRyxNQUFNLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2pILE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3BDLE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxN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R0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sT0FBTyxHQUFHLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVoRixJQUFJO1lBQ0EsTUFBTSxXQUFXLEdBQUcsTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ25FLE1BQU0sU0FBUyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hELE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDUixNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDckM7SUFDTCxDQUFDO0NBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3hDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO0lBQ2hDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxLQUFLO0NBQ2pDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IExpY2Vuc2VNYW5hZ2VySW1wID0ge1xuICAgIGxpY2Vuc2VLZXk6IHVuZGVmaW5lZCxcbiAgICBwYXNzS2V5OiB1bmRlZmluZWQsXG4gICAgdmFsaWQ6IGZhbHNlLFxuICAgIHZlcmlmaWVkOiBmYWxzZSxcbiAgICB2ZXJpZnk6IGZ1bmN0aW9uIChsaWNlbnNlS2V5OiBzdHJpbmcsIHBhc3NLZXk6IHN0cmluZykge1xuICAgICAgICBbTGljZW5zZU1hbmFnZXJJbXAubGljZW5zZUtleSwgTGljZW5zZU1hbmFnZXJJbXAucGFzc0tleV0gPSBbbGljZW5zZUtleSwgcGFzc0tleV07XG4gICAgICAgIExpY2Vuc2VNYW5hZ2VySW1wLnZhbGlkID0gTGljZW5zZU1hbmFnZXJJbXAudmVyaWZpZWQgPSBmYWxzZTtcbiAgICB9LFxuICAgIGNoZWNrOiBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICghTGljZW5zZU1hbmFnZXJJbXAudmVyaWZpZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzQ2xpZW50ID0gISEodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmRvY3VtZW50ICYmIHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KTtcbiAgICAgICAgICAgIExpY2Vuc2VNYW5hZ2VySW1wLnZlcmlmaWVkID0gaXNDbGllbnQ7XG5cbiAgICAgICAgICAgIGxldCB2YWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwbGFpbnRleHQgPSBhd2FpdCBMaWNlbnNlTWFuYWdlckltcC5hZXNHY21EZWNyeXB0KExpY2Vuc2VNYW5hZ2VySW1wLmxpY2Vuc2VLZXksIExpY2Vuc2VNYW5hZ2VySW1wLnBhc3NLZXkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRva2VucyA9IHBsYWludGV4dC5zcGxpdCgnXycpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGxpY2Vuc2VEYXRlID0gbmV3IERhdGUocGFyc2VJbnQodG9rZW5zWzJdKSk7XG4gICAgICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggIT09IDgpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRva2Vuc1swXS5sZW5ndGggIT09IDIpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzTmFOKHBhcnNlSW50KHRva2Vuc1sxXSkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0b2tlbnNbM10gIT09ICdQUklNRU5HJykge1xuICAgICAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodG9rZW5zWzVdID09PSAnQkFTSUMnICYmIGxpY2Vuc2VEYXRlIDw9IG5ldyBEYXRlKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRva2Vuc1s2XSAhPT0gJzE0Jykge1xuICAgICAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodG9rZW5zWzddLmxlbmd0aCAhPT0gNikge1xuICAgICAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbGlkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCF2YWxpZCAmJiBpc0NsaWVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgICAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnaHR0cHM6Ly9wcmltZW5nLm9yZy9sdHMnKTtcbiAgICAgICAgICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgICAgICAgJ3N0eWxlJyxcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtY29sb3I6IHJlZCAhaW1wb3J0YW50OyBjb2xvcjogd2hpdGUgIWltcG9ydGFudDsgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50OyBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgei1pbmRleDogOTk5OTk5OTk5OSAhaW1wb3J0YW50OyB0b3A6IDAgIWltcG9ydGFudDsgbGVmdDogMCAhaW1wb3J0YW50OyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OyBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7IHBvaW50ZXItZXZlbnRzOiBhdXRvICFpbXBvcnRhbnQ7IHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsnXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IG1zZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ21hcnF1ZWUnKTtcbiAgICAgICAgICAgICAgICBtc2cuc2V0QXR0cmlidXRlKCdiZWhhdmlvcicsICdhbHRlcm5hdGUnKTtcbiAgICAgICAgICAgICAgICBtc2cuaW5uZXJUZXh0ID0gJ1lvdSBhcmUgdXNpbmcgYW4gTFRTIHZlcnNpb24gb2YgUHJpbWVORyB3aXRoIGFuIGludmFsaWQgbGljZW5zZSwgeW91IG1heSBlaXRoZXIgc3dpdGNoIGJhY2sgdG8gYSBub24tTFRTIHZlcnNpb24gb3IgcHVyY2hhc2UgYSBsaWNlbnNlIGF0IFByaW1lU3RvcmUuJztcblxuICAgICAgICAgICAgICAgIGxpbmsuYXBwZW5kQ2hpbGQobXNnKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuXG4gICAgICAgICAgICAgICAgbGV0IGxpbmtPYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciwgZG9jdW1lbnRPYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlcjtcbiAgICAgICAgICAgICAgICBjb25zdCBvYnNlcnZlckNhbGxiYWNrID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsaW5rT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudE9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgbGluayAmJiBsaW5rLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgICAgICBMaWNlbnNlTWFuYWdlckltcC52ZXJpZmllZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBMaWNlbnNlTWFuYWdlckltcC5jaGVjaygpO1xuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICBsaW5rT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiBvYnNlcnZlckNhbGxiYWNrKCkpO1xuICAgICAgICAgICAgICAgIGxpbmtPYnNlcnZlci5vYnNlcnZlKGxpbmssIHsgYXR0cmlidXRlczogdHJ1ZSwgY2hpbGRMaXN0OiB0cnVlIH0pO1xuXG4gICAgICAgICAgICAgICAgZG9jdW1lbnRPYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChfKSA9PiBfLmZvckVhY2goKG11dGF0aW9uKSA9PiBtdXRhdGlvbi5yZW1vdmVkTm9kZXMubGVuZ3RoID4gMCAmJiBtdXRhdGlvbi5yZW1vdmVkTm9kZXMuZm9yRWFjaCgoaXRlbSkgPT4gaXRlbS5pc1NhbWVOb2RlKGxpbmspICYmIG9ic2VydmVyQ2FsbGJhY2soKSkpKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudE9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSwgeyBjaGlsZExpc3Q6IHRydWUgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIExpY2Vuc2VNYW5hZ2VySW1wLnZhbGlkID0gdmFsaWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gTGljZW5zZU1hbmFnZXJJbXAudmFsaWQ7XG4gICAgfSxcbiAgICBhZXNHY21EZWNyeXB0OiBhc3luYyBmdW5jdGlvbiAoY2lwaGVydGV4dDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHB3VXRmOCA9IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShwYXNzd29yZCk7XG4gICAgICAgIGNvbnN0IHB3SGFzaCA9IGF3YWl0IGNyeXB0by5zdWJ0bGUuZGlnZXN0KCdTSEEtMjU2JywgcHdVdGY4KTtcblxuICAgICAgICBjb25zdCBpdlN0ciA9IGF0b2IoY2lwaGVydGV4dCkuc2xpY2UoMCwgMTIpO1xuICAgICAgICBjb25zdCBpdiA9IG5ldyBVaW50OEFycmF5KEFycmF5LmZyb20oaXZTdHIpLm1hcCgoY2gpID0+IGNoLmNoYXJDb2RlQXQoMCkpKTtcblxuICAgICAgICBjb25zdCBhbGcgPSB7IG5hbWU6ICdBRVMtR0NNJywgaXY6IGl2IH07XG5cbiAgICAgICAgY29uc3Qga2V5ID0gYXdhaXQgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoJ3JhdycsIHB3SGFzaCwgYWxnLCBmYWxzZSwgWydkZWNyeXB0J10pO1xuXG4gICAgICAgIGNvbnN0IGN0U3RyID0gYXRvYihjaXBoZXJ0ZXh0KS5zbGljZSgxMik7XG4gICAgICAgIGNvbnN0IGN0VWludDggPSBuZXcgVWludDhBcnJheShBcnJheS5mcm9tKGN0U3RyKS5tYXAoKGNoKSA9PiBjaC5jaGFyQ29kZUF0KDApKSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHBsYWluQnVmZmVyID0gYXdhaXQgY3J5cHRvLnN1YnRsZS5kZWNyeXB0KGFsZywga2V5LCBjdFVpbnQ4KTtcbiAgICAgICAgICAgIGNvbnN0IHBsYWludGV4dCA9IG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShwbGFpbkJ1ZmZlcik7XG4gICAgICAgICAgICByZXR1cm4gcGxhaW50ZXh0O1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RlY3J5cHQgZmFpbGVkJyk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGljZW5zZU1hbmFnZXIgPSBPYmplY3QuZnJlZXplKHtcbiAgICB2ZXJpZnk6IExpY2Vuc2VNYW5hZ2VySW1wLnZlcmlmeSxcbiAgICBjaGVjazogTGljZW5zZU1hbmFnZXJJbXAuY2hlY2tcbn0pO1xuIl19
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGljZW5zZW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYXBpL2xpY2Vuc2VtYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0saUJBQWlCLEdBQUc7SUFDdEIsVUFBVSxFQUFFLFNBQVM7SUFDckIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsS0FBSyxFQUFFLEtBQUs7SUFDWixLQUFLLEVBQUUsS0FBSztJQUNaLFFBQVEsRUFBRSxLQUFLO0lBQ2YsTUFBTSxFQUFFLFVBQVUsVUFBa0IsRUFBRSxPQUFlLEVBQUUsUUFBaUIsS0FBSztRQUN6RSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xILGlCQUFpQixDQUFDLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pFLENBQUM7SUFDRCxLQUFLLEVBQUUsS0FBSztRQUNSLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUU7WUFDN0IsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLE1BQU0sQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN2RyxpQkFBaUIsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1lBRXRDLElBQUksS0FBSyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQztZQUNwQyxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbEIsSUFBSTtnQkFDQSxNQUFNLFNBQVMsR0FBRyxNQUFNLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsT0FBTyxDQUFD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QWdCO1FBQy9ELE1BQU0sTUFBTSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTdELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sRUFBRSxHQUFHLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUzRSxNQUFNLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBRXhDLE1BQU0sR0FBRyxHQUFHLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUVsRixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sT0FBTyxHQUFHLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVoRixJQUFJO1lBQ0EsTUFBTSxXQUFXLEdBQUcsTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ25FLE1BQU0sU0FBUyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hELE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDUixNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDckM7SUFDTCxDQUFDO0NBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3hDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO0lBQ2hDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxLQUFLO0NBQ2pDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IExpY2Vuc2VNYW5hZ2VySW1wID0ge1xuICAgIGxpY2Vuc2VLZXk6IHVuZGVmaW5lZCxcbiAgICBwYXNzS2V5OiB1bmRlZmluZWQsXG4gICAgZGVidWc6IGZhbHNlLFxuICAgIHZhbGlkOiBmYWxzZSxcbiAgICB2ZXJpZmllZDogZmFsc2UsXG4gICAgdmVyaWZ5OiBmdW5jdGlvbiAobGljZW5zZUtleTogc3RyaW5nLCBwYXNzS2V5OiBzdHJpbmcsIGRlYnVnOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgW0xpY2Vuc2VNYW5hZ2VySW1wLmxpY2Vuc2VLZXksIExpY2Vuc2VNYW5hZ2VySW1wLnBhc3NLZXksIExpY2Vuc2VNYW5hZ2VySW1wLmRlYnVnXSA9IFtsaWNlbnNlS2V5LCBwYXNzS2V5LCBkZWJ1Z107XG4gICAgICAgIExpY2Vuc2VNYW5hZ2VySW1wLnZhbGlkID0gTGljZW5zZU1hbmFnZXJJbXAudmVyaWZpZWQgPSBmYWxzZTtcbiAgICB9LFxuICAgIGNoZWNrOiBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICghTGljZW5zZU1hbmFnZXJJbXAudmVyaWZpZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzQ2xpZW50ID0gISEodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmRvY3VtZW50ICYmIHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KTtcbiAgICAgICAgICAgIExpY2Vuc2VNYW5hZ2VySW1wLnZlcmlmaWVkID0gaXNDbGllbnQ7XG5cbiAgICAgICAgICAgIGxldCBkZWJ1ZyA9IExpY2Vuc2VNYW5hZ2VySW1wLmRlYnVnO1xuICAgICAgICAgICAgbGV0IHZhbGlkID0gZmFsc2U7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBsYWludGV4dCA9IGF3YWl0IExpY2Vuc2VNYW5hZ2VySW1wLmFlc0djbURlY3J5cHQoTGljZW5zZU1hbmFnZXJJbXAubGljZW5zZUtleSwgTGljZW5zZU1hbmFnZXJJbXAucGFzc0tleSk7XG4gICAgICAgICAgICAgICAgY29uc3QgdG9rZW5zID0gcGxhaW50ZXh0LnNwbGl0KCdfJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgbGljZW5zZURhdGUgPSBuZXcgRGF0ZShwYXJzZUludCh0b2tlbnNbMl0pKTtcbiAgICAgICAgICAgICAgICBpZiAodG9rZW5zLmxlbmd0aCAhPT0gOCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGVidWcpIGNvbnNvbGUubG9nKCdFcnJvciBjb2RlOiAxMzMzJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRva2Vuc1swXS5sZW5ndGggIT09IDIpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRlYnVnKSBjb25zb2xlLmxvZygnRXJyb3IgY29kZTogMTMzNCcpO1xuXG4gICAgICAgICAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpc05hTihwYXJzZUludCh0b2tlbnNbMV0pKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGVidWcpIGNvbnNvbGUubG9nKCdFcnJvciBjb2RlOiAxMzM1Jyk7XG5cbiAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRva2Vuc1szXSAhPT0gJ1BSSU1FTkcnKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkZWJ1ZykgY29uc29sZS5sb2coJ0Vycm9yIGNvZGU6IDEzMzYnKTtcblxuICAgICAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodG9rZW5zWzVdID09PSAnQkFTSUMnICYmIGxpY2Vuc2VEYXRlIDw9IG5ldyBEYXRlKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRlYnVnKSBjb25zb2xlLmxvZygnRXJyb3IgY29kZTogMTMzNycpO1xuXG4gICAgICAgICAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0b2tlbnNbNl0gIT09ICcxNScpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRlYnVnKSBjb25zb2xlLmxvZygnRXJyb3IgY29kZTogMTMzOCcpO1xuXG4gICAgICAgICAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0b2tlbnNbN10ubGVuZ3RoICE9PSA2KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkZWJ1ZykgY29uc29sZS5sb2coJ0Vycm9yIGNvZGU6IDEzMzknKTtcblxuICAgICAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbGlkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRlYnVnKSBjb25zb2xlLmxvZygnRXJyb3IgY29kZTogMTQ0MCcpO1xuXG4gICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCF2YWxpZCAmJiBpc0NsaWVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgICAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnaHR0cHM6Ly9wcmltZW5nLm9yZy9sdHMnKTtcbiAgICAgICAgICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgICAgICAgJ3N0eWxlJyxcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtY29sb3I6IHJlZCAhaW1wb3J0YW50OyBjb2xvcjogd2hpdGUgIWltcG9ydGFudDsgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50OyBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgei1pbmRleDogOTk5OTk5OTk5OSAhaW1wb3J0YW50OyB0b3A6IDAgIWltcG9ydGFudDsgbGVmdDogMCAhaW1wb3J0YW50OyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OyBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7IHBvaW50ZXItZXZlbnRzOiBhdXRvICFpbXBvcnRhbnQ7IHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsnXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IG1zZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ21hcnF1ZWUnKTtcbiAgICAgICAgICAgICAgICBtc2cuc2V0QXR0cmlidXRlKCdiZWhhdmlvcicsICdhbHRlcm5hdGUnKTtcbiAgICAgICAgICAgICAgICBtc2cuaW5uZXJUZXh0ID0gJ1lvdSBhcmUgdXNpbmcgYW4gTFRTIHZlcnNpb24gb2YgUHJpbWVORyB3aXRoIGFuIGludmFsaWQgbGljZW5zZSwgeW91IG1heSBlaXRoZXIgc3dpdGNoIGJhY2sgdG8gYSBub24tTFRTIHZlcnNpb24gb3IgcHVyY2hhc2UgYSBsaWNlbnNlIGF0IFByaW1lU3RvcmUuJztcblxuICAgICAgICAgICAgICAgIGxpbmsuYXBwZW5kQ2hpbGQobXNnKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuXG4gICAgICAgICAgICAgICAgbGV0IGxpbmtPYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciwgZG9jdW1lbnRPYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlcjtcbiAgICAgICAgICAgICAgICBjb25zdCBvYnNlcnZlckNhbGxiYWNrID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsaW5rT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudE9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgbGluayAmJiBsaW5rLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgICAgICBMaWNlbnNlTWFuYWdlckltcC52ZXJpZmllZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBMaWNlbnNlTWFuYWdlckltcC5jaGVjaygpO1xuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICBsaW5rT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiBvYnNlcnZlckNhbGxiYWNrKCkpO1xuICAgICAgICAgICAgICAgIGxpbmtPYnNlcnZlci5vYnNlcnZlKGxpbmssIHsgYXR0cmlidXRlczogdHJ1ZSwgY2hpbGRMaXN0OiB0cnVlIH0pO1xuXG4gICAgICAgICAgICAgICAgZG9jdW1lbnRPYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChfKSA9PiBfLmZvckVhY2goKG11dGF0aW9uKSA9PiBtdXRhdGlvbi5yZW1vdmVkTm9kZXMubGVuZ3RoID4gMCAmJiBtdXRhdGlvbi5yZW1vdmVkTm9kZXMuZm9yRWFjaCgoaXRlbSkgPT4gaXRlbS5pc1NhbWVOb2RlKGxpbmspICYmIG9ic2VydmVyQ2FsbGJhY2soKSkpKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudE9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSwgeyBjaGlsZExpc3Q6IHRydWUgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIExpY2Vuc2VNYW5hZ2VySW1wLnZhbGlkID0gdmFsaWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gTGljZW5zZU1hbmFnZXJJbXAudmFsaWQ7XG4gICAgfSxcbiAgICBhZXNHY21EZWNyeXB0OiBhc3luYyBmdW5jdGlvbiAoY2lwaGVydGV4dDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHB3VXRmOCA9IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShwYXNzd29yZCk7XG4gICAgICAgIGNvbnN0IHB3SGFzaCA9IGF3YWl0IGNyeXB0by5zdWJ0bGUuZGlnZXN0KCdTSEEtMjU2JywgcHdVdGY4KTtcblxuICAgICAgICBjb25zdCBpdlN0ciA9IGF0b2IoY2lwaGVydGV4dCkuc2xpY2UoMCwgMTIpO1xuICAgICAgICBjb25zdCBpdiA9IG5ldyBVaW50OEFycmF5KEFycmF5LmZyb20oaXZTdHIpLm1hcCgoY2gpID0+IGNoLmNoYXJDb2RlQXQoMCkpKTtcblxuICAgICAgICBjb25zdCBhbGcgPSB7IG5hbWU6ICdBRVMtR0NNJywgaXY6IGl2IH07XG5cbiAgICAgICAgY29uc3Qga2V5ID0gYXdhaXQgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoJ3JhdycsIHB3SGFzaCwgYWxnLCBmYWxzZSwgWydkZWNyeXB0J10pO1xuXG4gICAgICAgIGNvbnN0IGN0U3RyID0gYXRvYihjaXBoZXJ0ZXh0KS5zbGljZSgxMik7XG4gICAgICAgIGNvbnN0IGN0VWludDggPSBuZXcgVWludDhBcnJheShBcnJheS5mcm9tKGN0U3RyKS5tYXAoKGNoKSA9PiBjaC5jaGFyQ29kZUF0KDApKSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHBsYWluQnVmZmVyID0gYXdhaXQgY3J5cHRvLnN1YnRsZS5kZWNyeXB0KGFsZywga2V5LCBjdFVpbnQ4KTtcbiAgICAgICAgICAgIGNvbnN0IHBsYWludGV4dCA9IG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShwbGFpbkJ1ZmZlcik7XG4gICAgICAgICAgICByZXR1cm4gcGxhaW50ZXh0O1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RlY3J5cHQgZmFpbGVkJyk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGljZW5zZU1hbmFnZXIgPSBPYmplY3QuZnJlZXplKHtcbiAgICB2ZXJpZnk6IExpY2Vuc2VNYW5hZ2VySW1wLnZlcmlmeSxcbiAgICBjaGVjazogTGljZW5zZU1hbmFnZXJJbXAuY2hlY2tcbn0pO1xuIl19
|