@magic-xpa/mscorelib 4.702.0 → 4.800.0-dev000.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.
- package/bundles/magic-xpa-mscorelib.umd.js +79 -170
- package/bundles/magic-xpa-mscorelib.umd.js.map +1 -1
- package/bundles/magic-xpa-mscorelib.umd.min.js +1 -15
- package/bundles/magic-xpa-mscorelib.umd.min.js.map +1 -1
- package/esm2015/index.js +1 -1
- package/esm2015/magic-xpa-mscorelib.js +1 -4
- package/esm2015/src/ApplicationException.js +1 -1
- package/esm2015/src/ArrayEnumerator.js +1 -1
- package/esm2015/src/BitArray.js +2 -22
- package/esm2015/src/Char.js +1 -1
- package/esm2015/src/CultureInfo.js +1 -1
- package/esm2015/src/DateTime.js +1 -6
- package/esm2015/src/Debug.js +1 -1
- package/esm2015/src/Dictionary.js +1 -1
- package/esm2015/src/Encoding.js +44 -52
- package/esm2015/src/Exception.js +1 -14
- package/esm2015/src/HashTable.js +3 -20
- package/esm2015/src/IComparable.js +1 -1
- package/esm2015/src/ISO_8859_1_Encoding.js +1 -1
- package/esm2015/src/Int32.js +1 -1
- package/esm2015/src/Int64.js +1 -1
- package/esm2015/src/List.js +2 -6
- package/esm2015/src/NChar.js +1 -1
- package/esm2015/src/NNumber.js +2 -15
- package/esm2015/src/NString.js +2 -8
- package/esm2015/src/NotImplementedException.js +1 -1
- package/esm2015/src/NumberFormatInfo.js +2 -2
- package/esm2015/src/RefParam.js +1 -1
- package/esm2015/src/Stack.js +1 -1
- package/esm2015/src/StackFrame.js +1 -3
- package/esm2015/src/StackTrace.js +1 -6
- package/esm2015/src/StringBuilder.js +1 -15
- package/esm2015/src/StringUtils.js +1 -1
- package/esm2015/src/Thread.js +1 -5
- package/esm2015/src/WebException.js +1 -1
- package/esm2015/src/XmlConvert.js +1 -2
- package/fesm2015/magic-xpa-mscorelib.js +53 -167
- package/fesm2015/magic-xpa-mscorelib.js.map +1 -1
- package/magic-xpa-mscorelib.d.ts +0 -3
- package/package.json +1 -1
package/esm2015/src/DateTime.js
CHANGED
|
@@ -5,14 +5,11 @@ export var DateTimeKind;
|
|
|
5
5
|
DateTimeKind[DateTimeKind["Local"] = 0] = "Local";
|
|
6
6
|
DateTimeKind[DateTimeKind["Utc"] = 1] = "Utc";
|
|
7
7
|
})(DateTimeKind || (DateTimeKind = {}));
|
|
8
|
-
// @dynamic
|
|
9
8
|
export class DateTime {
|
|
10
9
|
constructor(yearOrDate, month, day, hour, minute, second) {
|
|
11
10
|
this.dt = null;
|
|
12
11
|
this.kind = null;
|
|
13
|
-
// the number of .net ticks at the unix epoch
|
|
14
12
|
this.epochTicks = 621355968000000000;
|
|
15
|
-
// there are 10000 .net ticks per millisecond
|
|
16
13
|
this.ticksPerMillisecond = 10000;
|
|
17
14
|
if (arguments.length === 1) {
|
|
18
15
|
this.dt = yearOrDate;
|
|
@@ -26,8 +23,6 @@ export class DateTime {
|
|
|
26
23
|
this.kind = DateTimeKind.Local;
|
|
27
24
|
}
|
|
28
25
|
get Ticks() {
|
|
29
|
-
// https://stackoverflow.com/questions/7966559/how-to-convert-javascript-date-object-to-ticks
|
|
30
|
-
// TODO - check if we need this or to use Misc.getSystemMilliseconds()
|
|
31
26
|
return ((this.dt.getTime() * this.ticksPerMillisecond) + this.epochTicks) - (this.dt.getTimezoneOffset() * 600000000);
|
|
32
27
|
}
|
|
33
28
|
get Year() {
|
|
@@ -78,4 +73,4 @@ export class DateTime {
|
|
|
78
73
|
return (hh * 60 * 60 + mm * 60 + ss) * 1000 + ms;
|
|
79
74
|
}
|
|
80
75
|
}
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZVRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc2NvcmVsaWIvc3JjL0RhdGVUaW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxRQUFRLE1BQU0sUUFBUSxDQUFDO0FBQ25DLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQztBQUV4QixNQUFNLENBQU4sSUFBWSxZQUdYO0FBSEQsV0FBWSxZQUFZO0lBQ3RCLGlEQUFLLENBQUE7SUFDTCw2Q0FBRyxDQUFBO0FBQ0wsQ0FBQyxFQUhXLFlBQVksS0FBWixZQUFZLFFBR3ZCO0FBR0QsTUFBTSxPQUFPLFFBQVE7SUFnRG5CLFlBQVksVUFBZSxFQUFFLEtBQWMsRUFBRSxHQUFZLEVBQUUsSUFBYSxFQUFFLE1BQWUsRUFBRSxNQUFlO1FBL0NsRyxPQUFFLEdBQVMsSUFBSSxDQUFDO1FBQ2hCLFNBQUksR0FBaUIsSUFBSSxDQUFDO1FBR2pCLGVBQVUsR0FBRyxrQkFBa0IsQ0FBQztRQUdoQyx3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUF5QzNDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEVBQUUsR0FBUyxVQUFVLENBQUM7U0FDNUI7UUFDRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzFCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQVMsVUFBVSxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDeEQ7UUFDRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzFCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQVMsVUFBVSxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDOUU7UUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQWpERCxJQUFJLEtBQUs7UUFHUCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUN4SCxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDM0YsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVELElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25GLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyRixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDekYsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3pGLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ25HLENBQUM7SUFzQkQsTUFBTSxDQUFDLFlBQW9CO1FBQ3pCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELE1BQU0sS0FBSyxNQUFNO1FBQ2YsSUFBSSxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQztRQUMxQixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRztRQUNaLElBQUksQ0FBQyxHQUFHLElBQUksUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDNUIsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsTUFBTSxDQUFDLDJCQUEyQixDQUFDLE9BQWdCLEVBQUUsSUFBVTtRQUM3RCxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hELElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDNUQsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUU1RCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLENBQUMsZ0NBQWdDLENBQUMsT0FBZ0IsRUFBRSxJQUFVO1FBQ2xFLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEQsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM1RCxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzVELElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDakUsT0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFJLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBtb21lbnROcyBmcm9tICdtb21lbnQnO1xyXG5jb25zdCBtb21lbnQgPSBtb21lbnROcztcclxuXHJcbmV4cG9ydCBlbnVtIERhdGVUaW1lS2luZCB7XHJcbiAgTG9jYWwsXHJcbiAgVXRjXHJcbn1cclxuXHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBEYXRlVGltZSB7XHJcbiAgcHJpdmF0ZSBkdDogRGF0ZSA9IG51bGw7XHJcbiAgcHJpdmF0ZSBraW5kOiBEYXRlVGltZUtpbmQgPSBudWxsO1xyXG5cclxuICAvLyB0aGUgbnVtYmVyIG9mIC5uZXQgdGlja3MgYXQgdGhlIHVuaXggZXBvY2hcclxuICBwcml2YXRlIHJlYWRvbmx5IGVwb2NoVGlja3MgPSA2MjEzNTU5NjgwMDAwMDAwMDA7XHJcblxyXG4gIC8vIHRoZXJlIGFyZSAxMDAwMCAubmV0IHRpY2tzIHBlciBtaWxsaXNlY29uZFxyXG4gIHByaXZhdGUgcmVhZG9ubHkgdGlja3NQZXJNaWxsaXNlY29uZCA9IDEwMDAwO1xyXG5cclxuICBnZXQgVGlja3MoKTogbnVtYmVyIHtcclxuICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzc5NjY1NTkvaG93LXRvLWNvbnZlcnQtamF2YXNjcmlwdC1kYXRlLW9iamVjdC10by10aWNrc1xyXG4gICAgLy8gVE9ETyAtIGNoZWNrIGlmIHdlIG5lZWQgdGhpcyBvciB0byB1c2UgTWlzYy5nZXRTeXN0ZW1NaWxsaXNlY29uZHMoKVxyXG4gICAgcmV0dXJuICgodGhpcy5kdC5nZXRUaW1lKCkgKiB0aGlzLnRpY2tzUGVyTWlsbGlzZWNvbmQpICsgdGhpcy5lcG9jaFRpY2tzKSAtICh0aGlzLmR0LmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MDAwMDAwMDApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IFllYXIoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmtpbmQgPT09IERhdGVUaW1lS2luZC5VdGMgPyB0aGlzLmR0LmdldFVUQ0Z1bGxZZWFyKCkgOiB0aGlzLmR0LmdldEZ1bGxZZWFyKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgTW9udGgoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmtpbmQgPT09IERhdGVUaW1lS2luZC5VdGMgPyB0aGlzLmR0LmdldFVUQ01vbnRoKCkgKyAxIDogdGhpcy5kdC5nZXRNb250aCgpICsgMTtcclxuICB9XHJcblxyXG4gIGdldCBEYXkoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmtpbmQgPT09IERhdGVUaW1lS2luZC5VdGMgPyB0aGlzLmR0LmdldFVUQ0RhdGUoKSA6IHRoaXMuZHQuZ2V0RGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IEhvdXIoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmtpbmQgPT09IERhdGVUaW1lS2luZC5VdGMgPyB0aGlzLmR0LmdldFVUQ0hvdXJzKCkgOiB0aGlzLmR0LmdldEhvdXJzKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgTWludXRlKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5raW5kID09PSBEYXRlVGltZUtpbmQuVXRjID8gdGhpcy5kdC5nZXRVVENNaW51dGVzKCkgOiB0aGlzLmR0LmdldE1pbnV0ZXMoKTtcclxuICB9XHJcblxyXG4gIGdldCBTZWNvbmQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmtpbmQgPT09IERhdGVUaW1lS2luZC5VdGMgPyB0aGlzLmR0LmdldFVUQ1NlY29uZHMoKSA6IHRoaXMuZHQuZ2V0U2Vjb25kcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IE1pbGxpc2Vjb25kKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5raW5kID09PSBEYXRlVGltZUtpbmQuVXRjID8gdGhpcy5kdC5nZXRVVENNaWxsaXNlY29uZHMoKSA6IHRoaXMuZHQuZ2V0TWlsbGlzZWNvbmRzKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoZGF0ZTogRGF0ZSk7XHJcbiAgY29uc3RydWN0b3IoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXk6IG51bWJlcik7XHJcbiAgY29uc3RydWN0b3IoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXk6IG51bWJlciwgaG91ciA6IG51bWJlciwgbWludXRlIDogbnVtYmVyLCBzZWNvbmQ6IG51bWJlcik7XHJcbiAgY29uc3RydWN0b3IoeWVhck9yRGF0ZTogYW55LCBtb250aD86IG51bWJlciwgZGF5PzogbnVtYmVyLCBob3VyPzogbnVtYmVyLCBtaW51dGU/OiBudW1iZXIsIHNlY29uZD86IG51bWJlcikge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgdGhpcy5kdCA9IDxEYXRlPnllYXJPckRhdGU7XHJcbiAgICB9XHJcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMykge1xyXG4gICAgICB0aGlzLmR0ID0gbmV3IERhdGUoPG51bWJlcj55ZWFyT3JEYXRlLCBtb250aCAtIDEsIGRheSk7XHJcbiAgICB9XHJcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gNikge1xyXG4gICAgICB0aGlzLmR0ID0gbmV3IERhdGUoPG51bWJlcj55ZWFyT3JEYXRlLCBtb250aCAtIDEsIGRheSwgaG91ciwgbWludXRlLCBzZWNvbmQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5raW5kID0gRGF0ZVRpbWVLaW5kLkxvY2FsO1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcbiAgRm9ybWF0KGZvcm1hdFN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBtb21lbnQodGhpcy5kdCkuZm9ybWF0KGZvcm1hdFN0cmluZyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0IFV0Y05vdygpOiBEYXRlVGltZSB7XHJcbiAgICBsZXQgZCA9IG5ldyBEYXRlVGltZShuZXcgRGF0ZSgpKTtcclxuICAgIGQua2luZCA9IERhdGVUaW1lS2luZC5VdGM7XHJcbiAgICByZXR1cm4gZDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXQgTm93KCk6IERhdGVUaW1lIHtcclxuICAgIGxldCBkID0gbmV3IERhdGVUaW1lKG5ldyBEYXRlKCkpO1xyXG4gICAgZC5raW5kID0gRGF0ZVRpbWVLaW5kLkxvY2FsO1xyXG4gICAgcmV0dXJuIGQ7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgR2V0VG90YWxTZWNvbmRzRnJvbU1pZG5pZ2h0KHV0Y1RpbWU6IGJvb2xlYW4sIGRhdGU6IERhdGUpOiBudW1iZXIge1xyXG4gICAgbGV0IGhoID0gdXRjVGltZSA/IGRhdGUuZ2V0VVRDSG91cnMoKSA6IGRhdGUuZ2V0SG91cnMoKTtcclxuICAgIGxldCBtbSA9IHV0Y1RpbWUgPyBkYXRlLmdldFVUQ01pbnV0ZXMoKSA6IGRhdGUuZ2V0TWludXRlcygpO1xyXG4gICAgbGV0IHNzID0gdXRjVGltZSA/IGRhdGUuZ2V0VVRDU2Vjb25kcygpIDogZGF0ZS5nZXRTZWNvbmRzKCk7XHJcblxyXG4gICAgcmV0dXJuIGhoICogNjAgKiA2MCArIG1tICogNjAgKyBzcztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBHZXRUb3RhbE1pbGxpU2Vjb25kc0Zyb21NaWRuaWdodCh1dGNUaW1lOiBib29sZWFuLCBkYXRlOiBEYXRlKTogbnVtYmVyIHtcclxuICAgIGxldCBoaCA9IHV0Y1RpbWUgPyBkYXRlLmdldFVUQ0hvdXJzKCkgOiBkYXRlLmdldEhvdXJzKCk7XHJcbiAgICBsZXQgbW0gPSB1dGNUaW1lID8gZGF0ZS5nZXRVVENNaW51dGVzKCkgOiBkYXRlLmdldE1pbnV0ZXMoKTtcclxuICAgIGxldCBzcyA9IHV0Y1RpbWUgPyBkYXRlLmdldFVUQ1NlY29uZHMoKSA6IGRhdGUuZ2V0U2Vjb25kcygpO1xyXG4gICAgbGV0IG1zID0gdXRjVGltZSA/IGRhdGUuZ2V0VVRDU2Vjb25kcygpIDogZGF0ZS5nZXRNaWxsaXNlY29uZHMoKTtcclxuICAgIHJldHVybiAoaGggKiA2MCAqIDYwICsgbW0gKiA2MCArIHNzKSAqIDEwMDAgICsgbXM7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuIl19
|
package/esm2015/src/Debug.js
CHANGED
|
@@ -7,4 +7,4 @@ export class Debug {
|
|
|
7
7
|
alert(message);
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc2NvcmVsaWIvc3JjL0RlYnVnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxLQUFLO0lBQ2hCLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBWTtRQUMzQixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQXVCLEVBQUUsT0FBZ0IsRUFBRSxlQUF3QjtRQUMvRSxJQUFJLENBQUMsY0FBYztZQUNqQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIERlYnVnIHtcclxuICBzdGF0aWMgV3JpdGVMaW5lKHRleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2codGV4dCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgQXNzZXJ0KGFzc2VydENvbmR0aW9uOiBib29sZWFuLCBtZXNzYWdlPzogc3RyaW5nLCBkZXRhaWxlZE1lc3NhZ2U/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICghYXNzZXJ0Q29uZHRpb24pXHJcbiAgICAgIGFsZXJ0KG1lc3NhZ2UpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -38,4 +38,4 @@ export class Dictionary {
|
|
|
38
38
|
return Object.keys(this.values);
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGljdGlvbmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zY29yZWxpYi9zcmMvRGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBRXRDLE1BQU0sT0FBTyxVQUFVO0lBQXZCO1FBQ1UsV0FBTSxHQUFhLElBQUksS0FBSyxFQUFFLENBQUM7SUEwQ3pDLENBQUM7SUF4Q0MsUUFBUSxDQUFDLEdBQVc7UUFDbEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUM7WUFDakMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDOztZQUV4QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQVcsRUFBRSxLQUFRO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQVE7UUFDdkIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUM7WUFDakMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxrREFBa0QsQ0FBQyxDQUFDOztZQUV4RSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVcsRUFBRSxNQUFtQjtRQUMxQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ25DLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQyxPQUFPLElBQUksQ0FBQztTQUNiO2FBQ0k7WUFDSCxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNwQixPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlZlBhcmFtfSBmcm9tIFwiLi9SZWZQYXJhbVwiO1xyXG5pbXBvcnQge0V4Y2VwdGlvbn0gZnJvbSBcIi4vRXhjZXB0aW9uXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgRGljdGlvbmFyeTxWPiB7XHJcbiAgcHJpdmF0ZSB2YWx1ZXM6IEFycmF5PFY+ID0gbmV3IEFycmF5KCk7XHJcblxyXG4gIGdldF9JdGVtKGtleTogc3RyaW5nKTogViB7XHJcbiAgICBpZiAodGhpcy52YWx1ZXMuaGFzT3duUHJvcGVydHkoa2V5KSlcclxuICAgICAgcmV0dXJuIHRoaXMudmFsdWVzW2tleV07XHJcbiAgICBlbHNlXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgc2V0X0l0ZW0oa2V5OiBzdHJpbmcsIHZhbHVlOiBWKSB7XHJcbiAgICB0aGlzLnZhbHVlc1trZXldID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBBZGQoa2V5OiBzdHJpbmcsIHZhbHVlOiBWKSB7XHJcbiAgICBpZiAodGhpcy52YWx1ZXMuaGFzT3duUHJvcGVydHkoa2V5KSlcclxuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcIkFuIGl0ZW0gd2l0aCB0aGUgc2FtZSBrZXkgaGFzIGFscmVhZHkgYmVlbiBhZGRlZFwiKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy52YWx1ZXNba2V5XSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgQ29udGFpbnNLZXkoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eShrZXkpO1xyXG4gIH1cclxuXHJcbiAgVHJ5R2V0VmFsdWUoa2V5OiBzdHJpbmcsIHB2YWx1ZTogUmVmUGFyYW08Vj4pOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgIHB2YWx1ZS52YWx1ZSA9IHRoaXMudmFsdWVzW2tleV07XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHB2YWx1ZS52YWx1ZSA9IG51bGw7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIFJlbW92ZShrZXk6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgZGVsZXRlIHRoaXMudmFsdWVzW2tleV07XHJcbiAgfVxyXG5cclxuICBnZXQgS2V5cygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy52YWx1ZXMpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm2015/src/Encoding.js
CHANGED
|
@@ -15,11 +15,6 @@ export class Encoding {
|
|
|
15
15
|
bytes = this.textEncoder.encode(str);
|
|
16
16
|
}
|
|
17
17
|
catch (ex) {
|
|
18
|
-
// In C#, if any character is not within the range of specified charset, it is replaced by '?'.
|
|
19
|
-
// TextEncoder.encode() throws an error in such a case.
|
|
20
|
-
// We can modify the implementation of TextEncoder.encode() to put '?' instead of throwing error.
|
|
21
|
-
// But, it can be problematic if we change the library version.
|
|
22
|
-
// So, we will catch this error and handle the encoding ourselves.
|
|
23
18
|
bytes = new Uint8Array(str.length * 3);
|
|
24
19
|
let bytesCount = 0;
|
|
25
20
|
let tmpBytes;
|
|
@@ -38,7 +33,6 @@ export class Encoding {
|
|
|
38
33
|
return bytes;
|
|
39
34
|
}
|
|
40
35
|
GetByteCount(str) {
|
|
41
|
-
// TODO: this is not the best way.
|
|
42
36
|
return this.GetBytes(str).length;
|
|
43
37
|
}
|
|
44
38
|
GetString(bytes, index, count) {
|
|
@@ -63,53 +57,51 @@ export class Encoding {
|
|
|
63
57
|
}
|
|
64
58
|
static PopulateCodePageToEncodingMap() {
|
|
65
59
|
let hashTable = new Object;
|
|
66
|
-
|
|
67
|
-
hashTable[
|
|
68
|
-
hashTable[
|
|
69
|
-
hashTable[
|
|
70
|
-
hashTable[
|
|
71
|
-
hashTable[
|
|
72
|
-
hashTable[
|
|
73
|
-
hashTable[
|
|
74
|
-
hashTable[
|
|
75
|
-
hashTable[
|
|
76
|
-
hashTable[
|
|
77
|
-
hashTable[
|
|
78
|
-
hashTable[
|
|
79
|
-
hashTable[
|
|
80
|
-
hashTable[
|
|
81
|
-
hashTable[
|
|
82
|
-
hashTable[
|
|
83
|
-
hashTable[
|
|
84
|
-
hashTable[
|
|
85
|
-
hashTable[
|
|
86
|
-
hashTable[
|
|
87
|
-
hashTable[
|
|
88
|
-
hashTable[
|
|
89
|
-
hashTable[
|
|
90
|
-
hashTable[
|
|
91
|
-
hashTable[
|
|
92
|
-
hashTable[
|
|
93
|
-
hashTable[
|
|
94
|
-
hashTable[
|
|
95
|
-
hashTable[
|
|
96
|
-
hashTable[
|
|
97
|
-
hashTable[
|
|
98
|
-
hashTable[
|
|
99
|
-
hashTable[
|
|
100
|
-
hashTable[
|
|
101
|
-
hashTable[
|
|
102
|
-
hashTable[
|
|
103
|
-
hashTable[
|
|
104
|
-
hashTable[
|
|
105
|
-
hashTable[
|
|
106
|
-
hashTable[
|
|
107
|
-
hashTable[
|
|
108
|
-
hashTable[
|
|
109
|
-
hashTable[51932] = "x-euc"; // Japanese (EUC)
|
|
60
|
+
hashTable[20106] = "DIN_66003";
|
|
61
|
+
hashTable[20107] = "SEN_850200_B";
|
|
62
|
+
hashTable[50932] = "_autodetect";
|
|
63
|
+
hashTable[20108] = "NS_4551-1";
|
|
64
|
+
hashTable[50949] = "_autodetect_kr";
|
|
65
|
+
hashTable[950] = "big5";
|
|
66
|
+
hashTable[50221] = "csISO2022JP";
|
|
67
|
+
hashTable[51949] = "euc-kr";
|
|
68
|
+
hashTable[936] = "gb2312";
|
|
69
|
+
hashTable[52936] = "hz-gb-2312";
|
|
70
|
+
hashTable[852] = "ibm852";
|
|
71
|
+
hashTable[866] = "ibm866";
|
|
72
|
+
hashTable[20105] = "irv";
|
|
73
|
+
hashTable[50220] = "iso-2022-jp";
|
|
74
|
+
hashTable[50222] = "iso-2022-jp";
|
|
75
|
+
hashTable[50225] = "iso-2022-kr";
|
|
76
|
+
hashTable[28591] = "iso-8859-1";
|
|
77
|
+
hashTable[28592] = "iso-8859-2";
|
|
78
|
+
hashTable[28593] = "iso-8859-3";
|
|
79
|
+
hashTable[28594] = "iso-8859-4";
|
|
80
|
+
hashTable[28595] = "iso-8859-5";
|
|
81
|
+
hashTable[28596] = "iso-8859-6";
|
|
82
|
+
hashTable[28597] = "iso-8859-7";
|
|
83
|
+
hashTable[28598] = "iso-8859-8";
|
|
84
|
+
hashTable[20866] = "koi8-r";
|
|
85
|
+
hashTable[949] = "ks_c_5601";
|
|
86
|
+
hashTable[932] = "shift-jis";
|
|
87
|
+
hashTable[1200] = "unicode";
|
|
88
|
+
hashTable[1201] = "unicodeFEFF";
|
|
89
|
+
hashTable[65000] = "utf-7";
|
|
90
|
+
hashTable[65001] = "utf-8";
|
|
91
|
+
hashTable[1250] = "windows-1250";
|
|
92
|
+
hashTable[1251] = "windows-1251";
|
|
93
|
+
hashTable[1252] = "windows-1252";
|
|
94
|
+
hashTable[1253] = "windows-1253";
|
|
95
|
+
hashTable[1254] = "windows-1254";
|
|
96
|
+
hashTable[1255] = "windows-1255";
|
|
97
|
+
hashTable[1256] = "windows-1256";
|
|
98
|
+
hashTable[1257] = "windows-1257";
|
|
99
|
+
hashTable[1258] = "windows-1258";
|
|
100
|
+
hashTable[874] = "windows-874";
|
|
101
|
+
hashTable[20127] = "US-ASCII";
|
|
102
|
+
hashTable[51932] = "x-euc";
|
|
110
103
|
return hashTable;
|
|
111
104
|
}
|
|
112
|
-
// return the name of encoding used
|
|
113
105
|
toString() {
|
|
114
106
|
return this.label;
|
|
115
107
|
}
|
|
@@ -118,4 +110,4 @@ Encoding.ASCII = new Encoding("ascii");
|
|
|
118
110
|
Encoding.UTF8 = new Encoding("utf-8");
|
|
119
111
|
Encoding.Unicode = new Encoding("utf-16le");
|
|
120
112
|
Encoding.CodePageToEncodingMap = Encoding.PopulateCodePageToEncodingMap();
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW5jb2RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tc2NvcmVsaWIvc3JjL0VuY29kaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxXQUFXLEVBQUUsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZELE1BQU0sT0FBTyxRQUFRO0lBU2xCLFlBQW9CLEtBQWE7UUFBYixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBRmpCLGdCQUFXLEdBQWdCLElBQUksQ0FBQztRQUNoQyxnQkFBVyxHQUFnQixJQUFJLENBQUM7UUFFL0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBQywrQkFBK0IsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQUMsK0JBQStCLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQVc7UUFFbEIsSUFBSSxHQUFHLEtBQUssSUFBSTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUV0QyxJQUFJLEtBQUssR0FBZSxJQUFJLENBQUM7UUFFN0IsSUFBSTtZQUNGLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN0QztRQUNELE9BQU8sRUFBRSxFQUFFO1lBQ1QsK0ZBQStGO1lBQy9GLHVEQUF1RDtZQUN2RCxpR0FBaUc7WUFDakcsK0RBQStEO1lBQy9ELGtFQUFrRTtZQUNsRSxLQUFLLEdBQUcsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2QyxJQUFJLFVBQVUsR0FBVyxDQUFDLENBQUM7WUFDM0IsSUFBSSxRQUFvQixDQUFDO1lBRXpCLEtBQUss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S0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQXdCLGlCQUFpQjtRQUVwRSxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsb0NBQW9DO0lBQzdCLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQzs7QUEzSWUsY0FBSyxHQUFhLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3hDLGFBQUksR0FBYSxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN2QyxnQkFBTyxHQUFhLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBRTdDLDhCQUFxQixHQUFHLFFBQVEsQ0FBQyw2QkFBNkIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUZXh0RGVjb2RlciwgVGV4dEVuY29kZXJ9IGZyb20gXCJ0ZXh0LWVuY29kaW5nXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgRW5jb2Rpbmcge1xyXG4gIHN0YXRpYyByZWFkb25seSBBU0NJSTogRW5jb2RpbmcgPSBuZXcgRW5jb2RpbmcoXCJhc2NpaVwiKTtcclxuICBzdGF0aWMgcmVhZG9ubHkgVVRGODogRW5jb2RpbmcgPSBuZXcgRW5jb2RpbmcoXCJ1dGYtOFwiKTtcclxuICBzdGF0aWMgcmVhZG9ubHkgVW5pY29kZTogRW5jb2RpbmcgPSBuZXcgRW5jb2RpbmcoXCJ1dGYtMTZsZVwiKTtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IENvZGVQYWdlVG9FbmNvZGluZ01hcCA9IEVuY29kaW5nLlBvcHVsYXRlQ29kZVBhZ2VUb0VuY29kaW5nTWFwKCk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgdGV4dEVuY29kZXI6IFRleHRFbmNvZGVyID0gbnVsbDtcclxuICBwcml2YXRlIHJlYWRvbmx5IHRleHREZWNvZGVyOiBUZXh0RGVjb2RlciA9IG51bGw7XHJcbiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbGFiZWw6IHN0cmluZykge1xyXG4gICAgdGhpcy50ZXh0RW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcihsYWJlbCwge05PTlNUQU5EQVJEX2FsbG93TGVnYWN5RW5jb2Rpbmc6IHRydWV9KTtcclxuICAgIHRoaXMudGV4dERlY29kZXIgPSBuZXcgVGV4dERlY29kZXIobGFiZWwsIHtOT05TVEFOREFSRF9hbGxvd0xlZ2FjeUVuY29kaW5nOiB0cnVlfSk7XHJcbiAgfVxyXG5cclxuICBHZXRCeXRlcyhzdHI6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xyXG5cclxuICAgIGlmIChzdHIgPT09IG51bGwpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkFyZ3VtZW50IGlzIG51bGxcIik7XHJcblxyXG4gICAgbGV0IGJ5dGVzOiBVaW50OEFycmF5ID0gbnVsbDtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBieXRlcyA9IHRoaXMudGV4dEVuY29kZXIuZW5jb2RlKHN0cik7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXgpIHtcclxuICAgICAgLy8gSW4gQyMsIGlmIGFueSBjaGFyYWN0ZXIgaXMgbm90IHdpdGhpbiB0aGUgcmFuZ2Ugb2Ygc3BlY2lmaWVkIGNoYXJzZXQsIGl0IGlzIHJlcGxhY2VkIGJ5ICc/Jy5cclxuICAgICAgLy8gVGV4dEVuY29kZXIuZW5jb2RlKCkgdGhyb3dzIGFuIGVycm9yIGluIHN1Y2ggYSBjYXNlLlxyXG4gICAgICAvLyBXZSBjYW4gbW9kaWZ5IHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBUZXh0RW5jb2Rlci5lbmNvZGUoKSB0byBwdXQgJz8nIGluc3RlYWQgb2YgdGhyb3dpbmcgZXJyb3IuXHJcbiAgICAgIC8vIEJ1dCwgaXQgY2FuIGJlIHByb2JsZW1hdGljIGlmIHdlIGNoYW5nZSB0aGUgbGlicmFyeSB2ZXJzaW9uLlxyXG4gICAgICAvLyBTbywgd2Ugd2lsbCBjYXRjaCB0aGlzIGVycm9yIGFuZCBoYW5kbGUgdGhlIGVuY29kaW5nIG91cnNlbHZlcy5cclxuICAgICAgYnl0ZXMgPSBuZXcgVWludDhBcnJheShzdHIubGVuZ3RoICogMyk7XHJcbiAgICAgIGxldCBieXRlc0NvdW50OiBudW1iZXIgPSAwO1xyXG4gICAgICBsZXQgdG1wQnl0ZXM6IFVpbnQ4QXJyYXk7XHJcblxyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKylcclxuICAgICAge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICB0bXBCeXRlcyA9IHRoaXMudGV4dEVuY29kZXIuZW5jb2RlKHN0cltpXSk7XHJcbiAgICAgICAgICBieXRlcy5zZXQodG1wQnl0ZXMsIGJ5dGVzQ291bnQpO1xyXG4gICAgICAgICAgYnl0ZXNDb3VudCArPSB0bXBCeXRlcy5sZW5ndGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChleCkge1xyXG4gICAgICAgICAgYnl0ZXNbYnl0ZXNDb3VudCsrXSA9IFwiP1wiLmNoYXJDb2RlQXQoMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBieXRlcyA9IGJ5dGVzLnN1YmFycmF5KDAsIDAgKyBieXRlc0NvdW50KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gYnl0ZXM7XHJcbiAgfVxyXG5cclxuICBHZXRCeXRlQ291bnQoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgLy8gVE9ETzogdGhpcyBpcyBub3QgdGhlIGJlc3Qgd2F5LlxyXG4gICAgcmV0dXJuIHRoaXMuR2V0Qnl0ZXMoc3RyKS5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICBHZXRTdHJpbmcoYnl0ZXM6IFVpbnQ4QXJyYXksIGluZGV4OiBudW1iZXIsIGNvdW50OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgbGV0IHN0cjogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgICBpZiAoYnl0ZXMgPT09IG51bGwpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkFyZ3VtZW50IGlzIG51bGxcIik7XHJcblxyXG4gICAgaWYgKGluZGV4IDwgMCB8fCBjb3VudCA8IDAgfHwgKGluZGV4ICsgY291bnQpID4gYnl0ZXMubGVuZ3RoKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBcmd1bWVudCBvdXQgb2YgcmFuZ2VcIik7XHJcblxyXG4gICAgYnl0ZXMgPSBieXRlcy5zdWJhcnJheShpbmRleCwgaW5kZXggKyBjb3VudCk7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgc3RyID0gdGhpcy50ZXh0RGVjb2Rlci5kZWNvZGUoYnl0ZXMpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGV4KSB7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHN0cjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBHZXRFbmNvZGluZyhjb2RlcGFnZTogbnVtYmVyKTogRW5jb2Rpbmcge1xyXG4gICAgbGV0IGxhYmVsOiBzdHJpbmcgPSBFbmNvZGluZy5Db2RlUGFnZVRvRW5jb2RpbmdNYXBbY29kZXBhZ2VdO1xyXG5cclxuICAgIGlmIChsYWJlbCA9PSBudWxsKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGNvZGVwYWdlLlwiKTtcclxuXHJcbiAgICAgIHJldHVybiBuZXcgRW5jb2RpbmcobGFiZWwpO1xyXG4gICB9XHJcbiAgcHJpdmF0ZSBzdGF0aWMgUG9wdWxhdGVDb2RlUGFnZVRvRW5jb2RpbmdNYXAoKTogYW55IHtcclxuXHJcbiAgICBsZXQgaGFzaFRhYmxlID0gbmV3IE9iamVjdDtcclxuXHJcbiAgICAvLyBUaGVzZSBtYXAgaXMgc2ltaWxhciB0byBlbmNfbWFwX3RhYmxlIG9mIGV4cF94bWwuY3BwXHJcbiAgICBoYXNoVGFibGVbMjAxMDZdID0gXCJESU5fNjYwMDNcIjsgICAgICAgICAgICAgICAgICAgIC8vIElBNSAoR2VybWFuKVxyXG4gICAgaGFzaFRhYmxlWzIwMTA3XSA9IFwiU0VOXzg1MDIwMF9CXCI7ICAgICAgICAgICAgICAgICAvLyBJQTUgKFN3ZWRpc2gpXHJcbiAgICBoYXNoVGFibGVbNTA5MzJdID0gXCJfYXV0b2RldGVjdFwiOyAgICAgICAgICAgICAgICAgIC8vIEphcGFuZXNlIChBdXRvIFNlbGVjdClcclxuICAgIGhhc2hUYWJsZVsyMDEwOF0gPSBcIk5TXzQ1NTEtMVwiOyAgICAgICAgICAgICAgICAgICAgLy8gSUE1IChOb3J3ZWdpYW4pXHJcbiAgICBoYXNoVGFibGVbNTA5NDldID0gXCJfYXV0b2RldGVjdF9rclwiOyAgICAgICAgICAgICAgIC8vIEtvcmVhbiAoQXV0byBTZWxlY3QpXHJcbiAgICBoYXNoVGFibGVbOTUwXSA9IFwiYmlnNVwiOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENoaW5lc2UgVHJhZGl0aW9uYWwgKEJpZzUpXHJcbiAgICBoYXNoVGFibGVbNTAyMjFdID0gXCJjc0lTTzIwMjJKUFwiOyAgICAgICAgICAgICAgICAgIC8vIEphcGFuZXNlIChKSVMtQWxsb3cgMSBieXRlIEthbmEpXHJcbiAgICBoYXNoVGFibGVbNTE5NDldID0gXCJldWMta3JcIjsgICAgICAgICAgICAgICAgICAgICAgIC8vIEtvcmVhbiAoRVVDKVxyXG4gICAgaGFzaFRhYmxlWzkzNl0gPSBcImdiMjMxMlwiOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDaGluZXNlIFNpbXBsaWZpZWQgKEdCMjMxMilcclxuICAgIGhhc2hUYWJsZVs1MjkzNl0gPSBcImh6LWdiLTIzMTJcIjsgICAgICAgICAgICAgICAgICAgLy8gQ2hpbmVzZSBTaW1wbGlmaWVkIChIWilcclxuICAgIGhhc2hUYWJsZVs4NTJdID0gXCJpYm04NTJcIjsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2VudHJhbCBFdXJvcGVhbiAoRE9TKVxyXG4gICAgaGFzaFRhYmxlWzg2Nl0gPSBcImlibTg2NlwiOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDeXJpbGxpYyBBbHBoYWJldCAoRE9TKVxyXG4gICAgaGFzaFRhYmxlWzIwMTA1XSA9IFwiaXJ2XCI7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJQTUgKElSVilcclxuICAgIGhhc2hUYWJsZVs1MDIyMF0gPSBcImlzby0yMDIyLWpwXCI7ICAgICAgICAgICAgICAgICAgLy8gSmFwYW5lc2UgKEpJUylcclxuICAgIGhhc2hUYWJsZVs1MDIyMl0gPSBcImlzby0yMDIyLWpwXCI7ICAgICAgICAgICAgICAgICAgLy8gSmFwYW5lc2UgKEpJUy1BbGxvdyAxIGJ5dGUgS2FuYSlcclxuICAgIGhhc2hUYWJsZVs1MDIyNV0gPSBcImlzby0yMDIyLWtyXCI7ICAgICAgICAgICAgICAgICAgLy8gS29yZWFuIChJU08pXHJcbiAgICBoYXNoVGFibGVbMjg1OTFdID0gXCJpc28tODg1OS0xXCI7ICAgICAgICAgICAgICAgICAgIC8vIFdlc3Rlcm4gQWxwaGFiZXQgKElTTylcclxuICAgIGhhc2hUYWJsZVsyODU5Ml0gPSBcImlzby04ODU5LTJcIjsgICAgICAgICAgICAgICAgICAgLy8gQ2VudHJhbCBFdXJvcGVhbiBBbHBoYWJldCAoSVNPKVxyXG4gICAgaGFzaFRhYmxlWzI4NTkzXSA9IFwiaXNvLTg4NTktM1wiOyAgICAgICAgICAgICAgICAgICAvLyBMYXRpbiAzIEFscGhhYmV0IChJU08pXHJcbiAgICBoYXNoVGFibGVbMjg1OTRdID0gXCJpc28tODg1OS00XCI7ICAgICAgICAgICAgICAgICAgIC8vIEJhbHRpYyBBbHBoYWJldCAoSVNPKVxyXG4gICAgaGFzaFRhYmxlWzI4NTk1XSA9IFwiaXNvLTg4NTktNVwiOyAgICAgICAgICAgICAgICAgICAvLyBDeXJpbGxpYyBBbHBoYWJldCAoSVNPKVxyXG4gICAgaGFzaFRhYmxlWzI4NTk2XSA9IFwiaXNvLTg4NTktNlwiOyAgICAgICAgICAgICAgICAgICAvLyBBcmFiaWMgQWxwaGFiZXQgKElTTylcclxuICAgIGhhc2hUYWJsZVsyODU5N10gPSBcImlzby04ODU5LTdcIjsgICAgICAgICAgICAgICAgICAgLy8gR3JlZWsgQWxwaGFiZXQgKElTTylcclxuICAgIGhhc2hUYWJsZVsyODU5OF0gPSBcImlzby04ODU5LThcIjsgICAgICAgICAgICAgICAgICAgLy8gSGVicmV3IEFscGhhYmV0IChJU08pXHJcbiAgICBoYXNoVGFibGVbMjA4NjZdID0gXCJrb2k4LXJcIjsgICAgICAgICAgICAgICAgICAgICAgIC8vIEN5cmlsbGljIEFscGhhYmV0IChLT0k4LVIpXHJcbiAgICBoYXNoVGFibGVbOTQ5XSA9IFwia3NfY181NjAxXCI7ICAgICAgICAgICAgICAgICAgICAgIC8vIEtvcmVhblxyXG4gICAgaGFzaFRhYmxlWzkzMl0gPSBcInNoaWZ0LWppc1wiOyAgICAgICAgICAgICAgICAgICAgICAvLyBKYXBhbmVzZSAoU2hpZnQtSklTKVxyXG4gICAgaGFzaFRhYmxlWzEyMDBdID0gXCJ1bmljb2RlXCI7ICAgICAgICAgICAgICAgICAgICAgICAvLyBVbml2ZXJzYWwgQWxwaGFiZXRcclxuICAgIGhhc2hUYWJsZVsxMjAxXSA9IFwidW5pY29kZUZFRkZcIjsgICAgICAgICAgICAgICAgICAgLy8gVW5pdmVyc2FsIEFscGhhYmV0IChCaWctRW5kaWFuKVxyXG4gICAgaGFzaFRhYmxlWzY1MDAwXSA9IFwidXRmLTdcIjsgICAgICAgICAgICAgICAgICAgICAgICAvLyBVbml2ZXJzYWwgQWxwaGFiZXQgKFVURi03KVxyXG4gICAgaGFzaFRhYmxlWzY1MDAxXSA9IFwidXRmLThcIjsgICAgICAgICAgICAgICAgICAgICAgICAvLyBVbml2ZXJzYWwgQWxwaGFiZXQgKFVURi04KVxyXG4gICAgaGFzaFRhYmxlWzEyNTBdID0gXCJ3aW5kb3dzLTEyNTBcIjsgICAgICAgICAgICAgICAgICAvLyBDZW50cmFsIEV1cm9wZWFuIEFscGhhYmV0IChXaW5kb3dzKVxyXG4gICAgaGFzaFRhYmxlWzEyNTFdID0gXCJ3aW5kb3dzLTEyNTFcIjsgICAgICAgICAgICAgICAgICAvLyBDeXJpbGxpYyBBbHBoYWJldCAoV2luZG93cylcclxuICAgIGhhc2hUYWJsZVsxMjUyXSA9IFwid2luZG93cy0xMjUyXCI7ICAgICAgICAgICAgICAgICAgLy8gV2VzdGVybiBBbHBoYWJldCAoV2luZG93cylcclxuICAgIGhhc2hUYWJsZVsxMjUzXSA9IFwid2luZG93cy0xMjUzXCI7ICAgICAgICAgICAgICAgICAgLy8gR3JlZWsgQWxwaGFiZXQgKFdpbmRvd3MpXHJcbiAgICBoYXNoVGFibGVbMTI1NF0gPSBcIndpbmRvd3MtMTI1NFwiOyAgICAgICAgICAgICAgICAgIC8vIFR1cmtpc2ggQWxwaGFiZXRcclxuICAgIGhhc2hUYWJsZVsxMjU1XSA9IFwid2luZG93cy0xMjU1XCI7ICAgICAgICAgICAgICAgICAgLy8gSGVicmV3IEFscGhhYmV0IChXaW5kb3dzKVxyXG4gICAgaGFzaFRhYmxlWzEyNTZdID0gXCJ3aW5kb3dzLTEyNTZcIjsgICAgICAgICAgICAgICAgICAvLyBBcmFiaWMgQWxwaGFiZXQgKFdpbmRvd3MpXHJcbiAgICBoYXNoVGFibGVbMTI1N10gPSBcIndpbmRvd3MtMTI1N1wiOyAgICAgICAgICAgICAgICAgIC8vIEJhbHRpYyBBbHBoYWJldCAoV2luZG93cylcclxuICAgIGhhc2hUYWJsZVsxMjU4XSA9IFwid2luZG93cy0xMjU4XCI7ICAgICAgICAgICAgICAgICAgLy8gVmlldG5hbWVzZSBBbHBoYWJldCAoV2luZG93cylcclxuICAgIGhhc2hUYWJsZVs4NzRdID0gXCJ3aW5kb3dzLTg3NFwiOyAgICAgICAgICAgICAgICAgICAgLy8gVGhhaSAoV2luZG93cylcclxuICAgIGhhc2hUYWJsZVsyMDEyN10gPSBcIlVTLUFTQ0lJXCI7ICAgICAgICAgICAgICAgICAgICAgLy8gdXMtYXNjaWlcclxuICAgIGhhc2hUYWJsZVs1MTkzMl0gPSBcIngtZXVjXCI7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gSmFwYW5lc2UgKEVVQylcclxuXHJcbiAgICByZXR1cm4gaGFzaFRhYmxlO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJuIHRoZSBuYW1lIG9mIGVuY29kaW5nIHVzZWQgXHJcbiAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5sYWJlbDtcclxuICB9XHJcbn1cclxuIl19
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW5jb2RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc2NvcmVsaWIvc3JjL0VuY29kaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxXQUFXLEVBQUUsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZELE1BQU0sT0FBTyxRQUFRO0lBU2xCLFlBQW9CLEtBQWE7UUFBYixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBRmpCLGdCQUFXLEdBQWdCLElBQUksQ0FBQztRQUNoQyxnQkFBVyxHQUFnQixJQUFJLENBQUM7UUFFL0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBQywrQkFBK0IsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQUMsK0JBQStCLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQVc7UUFFbEIsSUFBSSxHQUFHLEtBQUssSUFBSTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUV0QyxJQUFJLEtBQUssR0FBZSxJQUFJLENBQUM7UUFFN0IsSUFBSTtZQUNGLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN0QztRQUNELE9BQU8sRUFBRSxFQUFFO1lBTVQsS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdkMsSUFBSSxVQUFVLEdBQVcsQ0FBQyxDQUFDO1lBQzNCLElBQUksUUFBb0IsQ0FBQztZQUV6QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVB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QyxHQUFHLGNBQWMsQ0FBQztRQUNqQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsY0FBYyxDQUFDO1FBQ2pDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxjQUFjLENBQUM7UUFDakMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLGNBQWMsQ0FBQztRQUNqQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsY0FBYyxDQUFDO1FBQ2pDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxhQUFhLENBQUM7UUFDL0IsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLFVBQVUsQ0FBQztRQUM5QixTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBRTNCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFHTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7O0FBM0llLGNBQUssR0FBYSxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN4QyxhQUFJLEdBQWEsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDdkMsZ0JBQU8sR0FBYSxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUU3Qyw4QkFBcUIsR0FBRyxRQUFRLENBQUMsNkJBQTZCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VGV4dERlY29kZXIsIFRleHRFbmNvZGVyfSBmcm9tIFwidGV4dC1lbmNvZGluZ1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEVuY29kaW5nIHtcclxuICBzdGF0aWMgcmVhZG9ubHkgQVNDSUk6IEVuY29kaW5nID0gbmV3IEVuY29kaW5nKFwiYXNjaWlcIik7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFVURjg6IEVuY29kaW5nID0gbmV3IEVuY29kaW5nKFwidXRmLThcIik7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFVuaWNvZGU6IEVuY29kaW5nID0gbmV3IEVuY29kaW5nKFwidXRmLTE2bGVcIik7XHJcblxyXG4gIHN0YXRpYyByZWFkb25seSBDb2RlUGFnZVRvRW5jb2RpbmdNYXAgPSBFbmNvZGluZy5Qb3B1bGF0ZUNvZGVQYWdlVG9FbmNvZGluZ01hcCgpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IHRleHRFbmNvZGVyOiBUZXh0RW5jb2RlciA9IG51bGw7XHJcbiAgcHJpdmF0ZSByZWFkb25seSB0ZXh0RGVjb2RlcjogVGV4dERlY29kZXIgPSBudWxsO1xyXG4gICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxhYmVsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudGV4dEVuY29kZXIgPSBuZXcgVGV4dEVuY29kZXIobGFiZWwsIHtOT05TVEFOREFSRF9hbGxvd0xlZ2FjeUVuY29kaW5nOiB0cnVlfSk7XHJcbiAgICB0aGlzLnRleHREZWNvZGVyID0gbmV3IFRleHREZWNvZGVyKGxhYmVsLCB7Tk9OU1RBTkRBUkRfYWxsb3dMZWdhY3lFbmNvZGluZzogdHJ1ZX0pO1xyXG4gIH1cclxuXHJcbiAgR2V0Qnl0ZXMoc3RyOiBzdHJpbmcpOiBVaW50OEFycmF5IHtcclxuXHJcbiAgICBpZiAoc3RyID09PSBudWxsKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBcmd1bWVudCBpcyBudWxsXCIpO1xyXG5cclxuICAgIGxldCBieXRlczogVWludDhBcnJheSA9IG51bGw7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgYnl0ZXMgPSB0aGlzLnRleHRFbmNvZGVyLmVuY29kZShzdHIpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGV4KSB7XHJcbiAgICAgIC8vIEluIEMjLCBpZiBhbnkgY2hhcmFjdGVyIGlzIG5vdCB3aXRoaW4gdGhlIHJhbmdlIG9mIHNwZWNpZmllZCBjaGFyc2V0LCBpdCBpcyByZXBsYWNlZCBieSAnPycuXHJcbiAgICAgIC8vIFRleHRFbmNvZGVyLmVuY29kZSgpIHRocm93cyBhbiBlcnJvciBpbiBzdWNoIGEgY2FzZS5cclxuICAgICAgLy8gV2UgY2FuIG1vZGlmeSB0aGUgaW1wbGVtZW50YXRpb24gb2YgVGV4dEVuY29kZXIuZW5jb2RlKCkgdG8gcHV0ICc/JyBpbnN0ZWFkIG9mIHRocm93aW5nIGVycm9yLlxyXG4gICAgICAvLyBCdXQsIGl0IGNhbiBiZSBwcm9ibGVtYXRpYyBpZiB3ZSBjaGFuZ2UgdGhlIGxpYnJhcnkgdmVyc2lvbi5cclxuICAgICAgLy8gU28sIHdlIHdpbGwgY2F0Y2ggdGhpcyBlcnJvciBhbmQgaGFuZGxlIHRoZSBlbmNvZGluZyBvdXJzZWx2ZXMuXHJcbiAgICAgIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoc3RyLmxlbmd0aCAqIDMpO1xyXG4gICAgICBsZXQgYnl0ZXNDb3VudDogbnVtYmVyID0gMDtcclxuICAgICAgbGV0IHRtcEJ5dGVzOiBVaW50OEFycmF5O1xyXG5cclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspXHJcbiAgICAgIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgdG1wQnl0ZXMgPSB0aGlzLnRleHRFbmNvZGVyLmVuY29kZShzdHJbaV0pO1xyXG4gICAgICAgICAgYnl0ZXMuc2V0KHRtcEJ5dGVzLCBieXRlc0NvdW50KTtcclxuICAgICAgICAgIGJ5dGVzQ291bnQgKz0gdG1wQnl0ZXMubGVuZ3RoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZXgpIHtcclxuICAgICAgICAgIGJ5dGVzW2J5dGVzQ291bnQrK10gPSBcIj9cIi5jaGFyQ29kZUF0KDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgYnl0ZXMgPSBieXRlcy5zdWJhcnJheSgwLCAwICsgYnl0ZXNDb3VudCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGJ5dGVzO1xyXG4gIH1cclxuXHJcbiAgR2V0Qnl0ZUNvdW50KHN0cjogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIC8vIFRPRE86IHRoaXMgaXMgbm90IHRoZSBiZXN0IHdheS5cclxuICAgIHJldHVybiB0aGlzLkdldEJ5dGVzKHN0cikubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgR2V0U3RyaW5nKGJ5dGVzOiBVaW50OEFycmF5LCBpbmRleDogbnVtYmVyLCBjb3VudDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGxldCBzdHI6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gICAgaWYgKGJ5dGVzID09PSBudWxsKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBcmd1bWVudCBpcyBudWxsXCIpO1xyXG5cclxuICAgIGlmIChpbmRleCA8IDAgfHwgY291bnQgPCAwIHx8IChpbmRleCArIGNvdW50KSA+IGJ5dGVzLmxlbmd0aClcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQXJndW1lbnQgb3V0IG9mIHJhbmdlXCIpO1xyXG5cclxuICAgIGJ5dGVzID0gYnl0ZXMuc3ViYXJyYXkoaW5kZXgsIGluZGV4ICsgY291bnQpO1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIHN0ciA9IHRoaXMudGV4dERlY29kZXIuZGVjb2RlKGJ5dGVzKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChleCkge1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBzdHI7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgR2V0RW5jb2RpbmcoY29kZXBhZ2U6IG51bWJlcik6IEVuY29kaW5nIHtcclxuICAgIGxldCBsYWJlbDogc3RyaW5nID0gRW5jb2RpbmcuQ29kZVBhZ2VUb0VuY29kaW5nTWFwW2NvZGVwYWdlXTtcclxuXHJcbiAgICBpZiAobGFiZWwgPT0gbnVsbClcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjb2RlcGFnZS5cIik7XHJcblxyXG4gICAgICByZXR1cm4gbmV3IEVuY29kaW5nKGxhYmVsKTtcclxuICAgfVxyXG4gIHByaXZhdGUgc3RhdGljIFBvcHVsYXRlQ29kZVBhZ2VUb0VuY29kaW5nTWFwKCk6IGFueSB7XHJcblxyXG4gICAgbGV0IGhhc2hUYWJsZSA9IG5ldyBPYmplY3Q7XHJcblxyXG4gICAgLy8gVGhlc2UgbWFwIGlzIHNpbWlsYXIgdG8gZW5jX21hcF90YWJsZSBvZiBleHBfeG1sLmNwcFxyXG4gICAgaGFzaFRhYmxlWzIwMTA2XSA9IFwiRElOXzY2MDAzXCI7ICAgICAgICAgICAgICAgICAgICAvLyBJQTUgKEdlcm1hbilcclxuICAgIGhhc2hUYWJsZVsyMDEwN10gPSBcIlNFTl84NTAyMDBfQlwiOyAgICAgICAgICAgICAgICAgLy8gSUE1IChTd2VkaXNoKVxyXG4gICAgaGFzaFRhYmxlWzUwOTMyXSA9IFwiX2F1dG9kZXRlY3RcIjsgICAgICAgICAgICAgICAgICAvLyBKYXBhbmVzZSAoQXV0byBTZWxlY3QpXHJcbiAgICBoYXNoVGFibGVbMjAxMDhdID0gXCJOU180NTUxLTFcIjsgICAgICAgICAgICAgICAgICAgIC8vIElBNSAoTm9yd2VnaWFuKVxyXG4gICAgaGFzaFRhYmxlWzUwOTQ5XSA9IFwiX2F1dG9kZXRlY3Rfa3JcIjsgICAgICAgICAgICAgICAvLyBLb3JlYW4gKEF1dG8gU2VsZWN0KVxyXG4gICAgaGFzaFRhYmxlWzk1MF0gPSBcImJpZzVcIjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDaGluZXNlIFRyYWRpdGlvbmFsIChCaWc1KVxyXG4gICAgaGFzaFRhYmxlWzUwMjIxXSA9IFwiY3NJU08yMDIySlBcIjsgICAgICAgICAgICAgICAgICAvLyBKYXBhbmVzZSAoSklTLUFsbG93IDEgYnl0ZSBLYW5hKVxyXG4gICAgaGFzaFRhYmxlWzUxOTQ5XSA9IFwiZXVjLWtyXCI7ICAgICAgICAgICAgICAgICAgICAgICAvLyBLb3JlYW4gKEVVQylcclxuICAgIGhhc2hUYWJsZVs5MzZdID0gXCJnYjIzMTJcIjsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2hpbmVzZSBTaW1wbGlmaWVkIChHQjIzMTIpXHJcbiAgICBoYXNoVGFibGVbNTI5MzZdID0gXCJoei1nYi0yMzEyXCI7ICAgICAgICAgICAgICAgICAgIC8vIENoaW5lc2UgU2ltcGxpZmllZCAoSFopXHJcbiAgICBoYXNoVGFibGVbODUyXSA9IFwiaWJtODUyXCI7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENlbnRyYWwgRXVyb3BlYW4gKERPUylcclxuICAgIGhhc2hUYWJsZVs4NjZdID0gXCJpYm04NjZcIjsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ3lyaWxsaWMgQWxwaGFiZXQgKERPUylcclxuICAgIGhhc2hUYWJsZVsyMDEwNV0gPSBcImlydlwiOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSUE1IChJUlYpXHJcbiAgICBoYXNoVGFibGVbNTAyMjBdID0gXCJpc28tMjAyMi1qcFwiOyAgICAgICAgICAgICAgICAgIC8vIEphcGFuZXNlIChKSVMpXHJcbiAgICBoYXNoVGFibGVbNTAyMjJdID0gXCJpc28tMjAyMi1qcFwiOyAgICAgICAgICAgICAgICAgIC8vIEphcGFuZXNlIChKSVMtQWxsb3cgMSBieXRlIEthbmEpXHJcbiAgICBoYXNoVGFibGVbNTAyMjVdID0gXCJpc28tMjAyMi1rclwiOyAgICAgICAgICAgICAgICAgIC8vIEtvcmVhbiAoSVNPKVxyXG4gICAgaGFzaFRhYmxlWzI4NTkxXSA9IFwiaXNvLTg4NTktMVwiOyAgICAgICAgICAgICAgICAgICAvLyBXZXN0ZXJuIEFscGhhYmV0IChJU08pXHJcbiAgICBoYXNoVGFibGVbMjg1OTJdID0gXCJpc28tODg1OS0yXCI7ICAgICAgICAgICAgICAgICAgIC8vIENlbnRyYWwgRXVyb3BlYW4gQWxwaGFiZXQgKElTTylcclxuICAgIGhhc2hUYWJsZVsyODU5M10gPSBcImlzby04ODU5LTNcIjsgICAgICAgICAgICAgICAgICAgLy8gTGF0aW4gMyBBbHBoYWJldCAoSVNPKVxyXG4gICAgaGFzaFRhYmxlWzI4NTk0XSA9IFwiaXNvLTg4NTktNFwiOyAgICAgICAgICAgICAgICAgICAvLyBCYWx0aWMgQWxwaGFiZXQgKElTTylcclxuICAgIGhhc2hUYWJsZVsyODU5NV0gPSBcImlzby04ODU5LTVcIjsgICAgICAgICAgICAgICAgICAgLy8gQ3lyaWxsaWMgQWxwaGFiZXQgKElTTylcclxuICAgIGhhc2hUYWJsZVsyODU5Nl0gPSBcImlzby04ODU5LTZcIjsgICAgICAgICAgICAgICAgICAgLy8gQXJhYmljIEFscGhhYmV0IChJU08pXHJcbiAgICBoYXNoVGFibGVbMjg1OTddID0gXCJpc28tODg1OS03XCI7ICAgICAgICAgICAgICAgICAgIC8vIEdyZWVrIEFscGhhYmV0IChJU08pXHJcbiAgICBoYXNoVGFibGVbMjg1OThdID0gXCJpc28tODg1OS04XCI7ICAgICAgICAgICAgICAgICAgIC8vIEhlYnJldyBBbHBoYWJldCAoSVNPKVxyXG4gICAgaGFzaFRhYmxlWzIwODY2XSA9IFwia29pOC1yXCI7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDeXJpbGxpYyBBbHBoYWJldCAoS09JOC1SKVxyXG4gICAgaGFzaFRhYmxlWzk0OV0gPSBcImtzX2NfNTYwMVwiOyAgICAgICAgICAgICAgICAgICAgICAvLyBLb3JlYW5cclxuICAgIGhhc2hUYWJsZVs5MzJdID0gXCJzaGlmdC1qaXNcIjsgICAgICAgICAgICAgICAgICAgICAgLy8gSmFwYW5lc2UgKFNoaWZ0LUpJUylcclxuICAgIGhhc2hUYWJsZVsxMjAwXSA9IFwidW5pY29kZVwiOyAgICAgICAgICAgICAgICAgICAgICAgLy8gVW5pdmVyc2FsIEFscGhhYmV0XHJcbiAgICBoYXNoVGFibGVbMTIwMV0gPSBcInVuaWNvZGVGRUZGXCI7ICAgICAgICAgICAgICAgICAgIC8vIFVuaXZlcnNhbCBBbHBoYWJldCAoQmlnLUVuZGlhbilcclxuICAgIGhhc2hUYWJsZVs2NTAwMF0gPSBcInV0Zi03XCI7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gVW5pdmVyc2FsIEFscGhhYmV0IChVVEYtNylcclxuICAgIGhhc2hUYWJsZVs2NTAwMV0gPSBcInV0Zi04XCI7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gVW5pdmVyc2FsIEFscGhhYmV0IChVVEYtOClcclxuICAgIGhhc2hUYWJsZVsxMjUwXSA9IFwid2luZG93cy0xMjUwXCI7ICAgICAgICAgICAgICAgICAgLy8gQ2VudHJhbCBFdXJvcGVhbiBBbHBoYWJldCAoV2luZG93cylcclxuICAgIGhhc2hUYWJsZVsxMjUxXSA9IFwid2luZG93cy0xMjUxXCI7ICAgICAgICAgICAgICAgICAgLy8gQ3lyaWxsaWMgQWxwaGFiZXQgKFdpbmRvd3MpXHJcbiAgICBoYXNoVGFibGVbMTI1Ml0gPSBcIndpbmRvd3MtMTI1MlwiOyAgICAgICAgICAgICAgICAgIC8vIFdlc3Rlcm4gQWxwaGFiZXQgKFdpbmRvd3MpXHJcbiAgICBoYXNoVGFibGVbMTI1M10gPSBcIndpbmRvd3MtMTI1M1wiOyAgICAgICAgICAgICAgICAgIC8vIEdyZWVrIEFscGhhYmV0IChXaW5kb3dzKVxyXG4gICAgaGFzaFRhYmxlWzEyNTRdID0gXCJ3aW5kb3dzLTEyNTRcIjsgICAgICAgICAgICAgICAgICAvLyBUdXJraXNoIEFscGhhYmV0XHJcbiAgICBoYXNoVGFibGVbMTI1NV0gPSBcIndpbmRvd3MtMTI1NVwiOyAgICAgICAgICAgICAgICAgIC8vIEhlYnJldyBBbHBoYWJldCAoV2luZG93cylcclxuICAgIGhhc2hUYWJsZVsxMjU2XSA9IFwid2luZG93cy0xMjU2XCI7ICAgICAgICAgICAgICAgICAgLy8gQXJhYmljIEFscGhhYmV0IChXaW5kb3dzKVxyXG4gICAgaGFzaFRhYmxlWzEyNTddID0gXCJ3aW5kb3dzLTEyNTdcIjsgICAgICAgICAgICAgICAgICAvLyBCYWx0aWMgQWxwaGFiZXQgKFdpbmRvd3MpXHJcbiAgICBoYXNoVGFibGVbMTI1OF0gPSBcIndpbmRvd3MtMTI1OFwiOyAgICAgICAgICAgICAgICAgIC8vIFZpZXRuYW1lc2UgQWxwaGFiZXQgKFdpbmRvd3MpXHJcbiAgICBoYXNoVGFibGVbODc0XSA9IFwid2luZG93cy04NzRcIjsgICAgICAgICAgICAgICAgICAgIC8vIFRoYWkgKFdpbmRvd3MpXHJcbiAgICBoYXNoVGFibGVbMjAxMjddID0gXCJVUy1BU0NJSVwiOyAgICAgICAgICAgICAgICAgICAgIC8vIHVzLWFzY2lpXHJcbiAgICBoYXNoVGFibGVbNTE5MzJdID0gXCJ4LWV1Y1wiOyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEphcGFuZXNlIChFVUMpXHJcblxyXG4gICAgcmV0dXJuIGhhc2hUYWJsZTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybiB0aGUgbmFtZSBvZiBlbmNvZGluZyB1c2VkIFxyXG4gIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubGFiZWw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
package/esm2015/src/Exception.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/// <summary>
|
|
2
|
-
/// The base class of all exceptions
|
|
3
|
-
/// </summary>
|
|
4
1
|
import { isNullOrUndefined } from "util";
|
|
5
2
|
export class Exception {
|
|
6
3
|
constructor(messageOrError) {
|
|
@@ -19,27 +16,17 @@ export class Exception {
|
|
|
19
16
|
}
|
|
20
17
|
}
|
|
21
18
|
}
|
|
22
|
-
/// <summary>
|
|
23
|
-
/// get the message of exception
|
|
24
|
-
/// </summary>
|
|
25
19
|
get Message() {
|
|
26
20
|
return this.message;
|
|
27
21
|
}
|
|
28
|
-
/// <summary>
|
|
29
|
-
/// get the stack trace of exception
|
|
30
|
-
/// </summary>
|
|
31
22
|
get StackTrace() {
|
|
32
23
|
let stackTrace = this.stack || '';
|
|
33
24
|
let stackLines = stackTrace.split("\n").map(function (line) { return line.trim(); });
|
|
34
|
-
// On some browsers (e.g. Chrome), the statck includes a title as "Error", so remove it.
|
|
35
25
|
stackTrace = stackLines.splice(stackLines[0] === 'Error' ? this.errorLevel + 1 : this.errorLevel).join("\n");
|
|
36
26
|
return "\n" + stackTrace;
|
|
37
27
|
}
|
|
38
|
-
/// <summary>
|
|
39
|
-
/// get the type of exception
|
|
40
|
-
/// </summary>
|
|
41
28
|
GetType() {
|
|
42
29
|
return this.name;
|
|
43
30
|
}
|
|
44
31
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXNjb3JlbGliL3NyYy9FeGNlcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE1BQU0sT0FBTyxTQUFTO0lBZXBCLFlBQVksY0FBOEI7UUFiMUMsU0FBSSxHQUFXLFdBQVcsQ0FBQztRQUMzQixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFHbkIsZUFBVSxHQUFHLENBQUMsQ0FBQztRQVNiLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUN0QyxJQUFJLGNBQWMsWUFBWSxLQUFLLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxLQUFLLEdBQVcsY0FBZSxDQUFDLEtBQUssQ0FBQztnQkFDM0MsSUFBSSxDQUFDLE9BQU8sR0FBVyxjQUFlLENBQUMsT0FBTyxDQUFDO2FBQ2hEO2lCQUNJO2dCQUNILElBQUksQ0FBQyxPQUFPLEdBQVcsY0FBYyxDQUFDO2dCQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDO2FBQ2hDO1NBQ0Y7SUFDSCxDQUFDO0lBS0QsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFLRCxJQUFJLFVBQVU7UUFFWixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNsQyxJQUFJLFVBQVUsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBR3JGLFVBQVUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdHLE9BQU8sSUFBSSxHQUFHLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBS00sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHN1bW1hcnk+XHJcbi8vLyBUaGUgYmFzZSBjbGFzcyBvZiBhbGwgZXhjZXB0aW9uc1xyXG4vLy8gPC9zdW1tYXJ5PlxyXG5cclxuaW1wb3J0IHtpc051bGxPclVuZGVmaW5lZH0gZnJvbSBcInV0aWxcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBFeGNlcHRpb257XHJcblxyXG4gIG5hbWU6IHN0cmluZyA9IFwiRXhjZXB0aW9uXCI7XHJcbiAgbWVzc2FnZTogc3RyaW5nID0gXCJcIjtcclxuICBzdGFjazogc3RyaW5nID0gXCJcIjtcclxuXHJcblxyXG4gIGVycm9yTGV2ZWwgPSAxO1xyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gY29uc3RydWN0b3JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm1lc3NhZ2VcIiAgZGVub3RlcyB0aGUgbWVzc2FnZSBvZiBleGNlcHRpb24+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJuYW1lXCIgIGRlbm90ZXMgdGhlIHR5cGUgb2YgZXhjZXB0aW9uPjwvcGFyYW0+XHJcbiAgY29uc3RydWN0b3IobWVzc2FnZT86IHN0cmluZylcclxuICBjb25zdHJ1Y3RvcihlcnJvcjogRXJyb3IpXHJcbiAgY29uc3RydWN0b3IobWVzc2FnZU9yRXJyb3I6IHN0cmluZyB8IEVycm9yKSB7XHJcbiAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKG1lc3NhZ2VPckVycm9yKSkge1xyXG4gICAgICBpZiAobWVzc2FnZU9yRXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xyXG4gICAgICAgIHRoaXMuc3RhY2sgPSAoPEVycm9yPm1lc3NhZ2VPckVycm9yKS5zdGFjaztcclxuICAgICAgICB0aGlzLm1lc3NhZ2UgPSAoPEVycm9yPm1lc3NhZ2VPckVycm9yKS5tZXNzYWdlO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZSA9IDxzdHJpbmc+bWVzc2FnZU9yRXJyb3I7XHJcbiAgICAgICAgdGhpcy5zdGFjayA9IG5ldyBFcnJvcigpLnN0YWNrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGdldCB0aGUgbWVzc2FnZSBvZiBleGNlcHRpb25cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGdldCBNZXNzYWdlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gZ2V0IHRoZSBzdGFjayB0cmFjZSBvZiBleGNlcHRpb25cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGdldCBTdGFja1RyYWNlKCkge1xyXG5cclxuICAgIGxldCBzdGFja1RyYWNlID0gdGhpcy5zdGFjayB8fCAnJztcclxuICAgIGxldCBzdGFja0xpbmVzID0gc3RhY2tUcmFjZS5zcGxpdChcIlxcblwiKS5tYXAoZnVuY3Rpb24gKGxpbmUpIHsgcmV0dXJuIGxpbmUudHJpbSgpOyB9KTtcclxuXHJcbiAgICAvLyBPbiBzb21lIGJyb3dzZXJzIChlLmcuIENocm9tZSksIHRoZSBzdGF0Y2sgaW5jbHVkZXMgYSB0aXRsZSBhcyBcIkVycm9yXCIsIHNvIHJlbW92ZSBpdC5cclxuICAgIHN0YWNrVHJhY2UgPSBzdGFja0xpbmVzLnNwbGljZShzdGFja0xpbmVzWzBdID09PSAnRXJyb3InID8gdGhpcy5lcnJvckxldmVsICsgMSA6IHRoaXMuZXJyb3JMZXZlbCkuam9pbihcIlxcblwiKTtcclxuXHJcbiAgICByZXR1cm4gXCJcXG5cIiArIHN0YWNrVHJhY2U7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGdldCB0aGUgdHlwZSBvZiBleGNlcHRpb25cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHB1YmxpYyBHZXRUeXBlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbiJdfQ==
|
package/esm2015/src/HashTable.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
// Reference: https://github.com/rkostrzewski/hashtable-ts/blob/master/src/hashtable.ts
|
|
2
1
|
import { Array_Enumerator } from "./ArrayEnumerator";
|
|
3
2
|
import { Exception } from "./Exception";
|
|
4
3
|
import { Encoding } from "./Encoding";
|
|
5
4
|
export class HashUtils {
|
|
6
|
-
// Pay attention that in server there is the same function and it must
|
|
7
|
-
// return the same hash value.
|
|
8
5
|
static GetHashCode(str) {
|
|
9
6
|
let bytes = null;
|
|
10
7
|
bytes = Encoding.UTF8.GetBytes(str);
|
|
@@ -31,11 +28,10 @@ export class HashUtils {
|
|
|
31
28
|
}
|
|
32
29
|
}
|
|
33
30
|
const HashTableLoadFactor = 0.75;
|
|
34
|
-
// Hashtable implementation for key TKey and Value TValue
|
|
35
31
|
export class Hashtable {
|
|
36
32
|
constructor(bucketCount = 8, loadFactor = HashTableLoadFactor) {
|
|
37
|
-
this._buckets = [];
|
|
38
|
-
this._elementsCount = 0;
|
|
33
|
+
this._buckets = [];
|
|
34
|
+
this._elementsCount = 0;
|
|
39
35
|
this._bucketCount = 0;
|
|
40
36
|
this._loadFactor = 0;
|
|
41
37
|
this._bucketCount = bucketCount;
|
|
@@ -44,7 +40,6 @@ export class Hashtable {
|
|
|
44
40
|
throw new Exception('Bucket count must be a positive number and be multiple of 2.');
|
|
45
41
|
}
|
|
46
42
|
}
|
|
47
|
-
// Generic Hash funtion
|
|
48
43
|
HashFunction(key) {
|
|
49
44
|
if (typeof key.GetHashCode === 'function') {
|
|
50
45
|
return key.GetHashCode();
|
|
@@ -57,11 +52,9 @@ export class Hashtable {
|
|
|
57
52
|
}
|
|
58
53
|
return 0;
|
|
59
54
|
}
|
|
60
|
-
// returns elementCount
|
|
61
55
|
get Count() {
|
|
62
56
|
return this._elementsCount;
|
|
63
57
|
}
|
|
64
|
-
// returns ValueCollection (Array Enumerator)
|
|
65
58
|
get Values() {
|
|
66
59
|
let array = [];
|
|
67
60
|
this._buckets.forEach(b => b.forEach(item => {
|
|
@@ -69,7 +62,6 @@ export class Hashtable {
|
|
|
69
62
|
}));
|
|
70
63
|
return new Array_Enumerator(array);
|
|
71
64
|
}
|
|
72
|
-
// returns KeyCollection (Array Enumerator)
|
|
73
65
|
get Keys() {
|
|
74
66
|
let array = [];
|
|
75
67
|
this._buckets.forEach(b => b.forEach(item => {
|
|
@@ -77,15 +69,12 @@ export class Hashtable {
|
|
|
77
69
|
}));
|
|
78
70
|
return new Array_Enumerator(array);
|
|
79
71
|
}
|
|
80
|
-
// adds item to Hashtable
|
|
81
72
|
Add(key, value) {
|
|
82
73
|
this.Insert(key, value, true);
|
|
83
74
|
}
|
|
84
|
-
// sets item in Hashtable
|
|
85
75
|
set_Item(key, value) {
|
|
86
76
|
this.Insert(key, value, false);
|
|
87
77
|
}
|
|
88
|
-
// Insert element in Hashtable
|
|
89
78
|
Insert(key, value, add) {
|
|
90
79
|
let bucketIndex = this.GetBucketIndex(key);
|
|
91
80
|
if (typeof this._buckets[bucketIndex] === "undefined") {
|
|
@@ -106,7 +95,6 @@ export class Hashtable {
|
|
|
106
95
|
this.Resize(this._bucketCount * 2);
|
|
107
96
|
}
|
|
108
97
|
}
|
|
109
|
-
// Gets value for key TKey
|
|
110
98
|
get_Item(key) {
|
|
111
99
|
let bucketIndex = this.GetBucketIndex(key);
|
|
112
100
|
let bucket = this._buckets[bucketIndex];
|
|
@@ -119,7 +107,6 @@ export class Hashtable {
|
|
|
119
107
|
}
|
|
120
108
|
return null;
|
|
121
109
|
}
|
|
122
|
-
// Returns if key TKey is present in Hashtable
|
|
123
110
|
ContainsKey(key) {
|
|
124
111
|
let bucketIndex = this.GetBucketIndex(key);
|
|
125
112
|
let bucket = this._buckets[bucketIndex];
|
|
@@ -129,7 +116,6 @@ export class Hashtable {
|
|
|
129
116
|
let itemIndex = bucket.findIndex(x => x.key === key);
|
|
130
117
|
return (itemIndex > -1);
|
|
131
118
|
}
|
|
132
|
-
// Removes item with key TKey from Hashtable
|
|
133
119
|
Remove(key) {
|
|
134
120
|
let bucketIndex = this.GetBucketIndex(key);
|
|
135
121
|
let bucket = this._buckets[bucketIndex];
|
|
@@ -145,7 +131,6 @@ export class Hashtable {
|
|
|
145
131
|
}
|
|
146
132
|
}
|
|
147
133
|
}
|
|
148
|
-
// Resize bucket (Hashtable)
|
|
149
134
|
Resize(newBucketCount) {
|
|
150
135
|
let _oldBuckets = this._buckets;
|
|
151
136
|
this._elementsCount = 0;
|
|
@@ -153,7 +138,6 @@ export class Hashtable {
|
|
|
153
138
|
this._bucketCount = newBucketCount;
|
|
154
139
|
_oldBuckets.forEach(b => b.forEach(item => this.Add(item.key, item.value)));
|
|
155
140
|
}
|
|
156
|
-
// returns bucketIndex for key
|
|
157
141
|
GetBucketIndex(key) {
|
|
158
142
|
let hash = this.HashFunction(key);
|
|
159
143
|
if (hash % 1 !== 0) {
|
|
@@ -165,10 +149,9 @@ export class Hashtable {
|
|
|
165
149
|
}
|
|
166
150
|
return index;
|
|
167
151
|
}
|
|
168
|
-
// Clears Hashtable
|
|
169
152
|
Clear() {
|
|
170
153
|
this._elementsCount = 0;
|
|
171
154
|
this._buckets = [];
|
|
172
155
|
}
|
|
173
156
|
}
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGFzaFRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbXNjb3JlbGliL3NyYy9IYXNoVGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUZBQXVGO0FBRXZGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDdEMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUVwQyxNQUFNLE9BQU8sU0FBUztJQUNwQixzRUFBc0U7SUFDdEUsOEJBQThCO0lBQzlCLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBVztRQUM1QixJQUFJLEtBQUssR0FBZSxJQUFJLENBQUM7UUFFN0IsS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXBDLE9BQU8sU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFxQjtRQUM5QyxJQUFJLE9BQWUsQ0FBQztRQUVwQixJQUFJLEtBQUssR0FBVyxJQUFJLENBQUM7UUFDekIsSUFBSSxLQUFLLEdBQVcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBUyxDQUFDO1FBRWQsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNwRCxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUM5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RUFBRTtZQUNsQixNQUFNLElBQUksU0FBUyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7U0FDeEQ7UUFFRCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFFL0MsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzNDLE1BQU0sSUFBSSxTQUFTLENBQUMsaUNBQWlDLENBQUMsQ0FBQztTQUN4RDtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVILG1CQUFtQjtJQUNqQixLQUFLO1FBQ0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gUmVmZXJlbmNlOiBodHRwczovL2dpdGh1Yi5jb20vcmtvc3RyemV3c2tpL2hhc2h0YWJsZS10cy9ibG9iL21hc3Rlci9zcmMvaGFzaHRhYmxlLnRzXHJcblxyXG5pbXBvcnQge0FycmF5X0VudW1lcmF0b3J9IGZyb20gXCIuL0FycmF5RW51bWVyYXRvclwiO1xyXG5pbXBvcnQge0V4Y2VwdGlvbn0gZnJvbSBcIi4vRXhjZXB0aW9uXCI7XHJcbmltcG9ydCB7RW5jb2Rpbmd9IGZyb20gXCIuL0VuY29kaW5nXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgSGFzaFV0aWxzIHtcclxuICAvLyBQYXkgYXR0ZW50aW9uIHRoYXQgaW4gc2VydmVyIHRoZXJlIGlzIHRoZSBzYW1lIGZ1bmN0aW9uIGFuZCBpdCBtdXN0XHJcbiAgLy8gcmV0dXJuIHRoZSBzYW1lIGhhc2ggdmFsdWUuXHJcbiAgc3RhdGljIEdldEhhc2hDb2RlKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIGxldCBieXRlczogVWludDhBcnJheSA9IG51bGw7XHJcblxyXG4gICAgYnl0ZXMgPSBFbmNvZGluZy5VVEY4LkdldEJ5dGVzKHN0cik7XHJcblxyXG4gICAgcmV0dXJuIEhhc2hVdGlscy5nZXRIYXNoQ29kZShieXRlcyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBnZXRIYXNoQ29kZShieXRlQXJyYXk6IFVpbnQ4QXJyYXkpIHtcclxuICAgIGxldCBoYXNodmFsOiBudW1iZXI7XHJcblxyXG4gICAgbGV0IGhhc2gxOiBudW1iZXIgPSA1MzgxO1xyXG4gICAgbGV0IGhhc2gyOiBudW1iZXIgPSBoYXNoMTtcclxuICAgIGxldCBjOiBudW1iZXI7XHJcblxyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGJ5dGVBcnJheS5sZW5ndGg7IGkgKz0gMikge1xyXG4gICAgICBjID0gYnl0ZUFycmF5W2ldO1xyXG4gICAgICBoYXNoMSA9ICgoaGFzaDEgPDwgNSkgKyBoYXNoMSkgXiBjO1xyXG4gICAgICBpZiAoKGkgKyAxKSA9PT0gYnl0ZUFycmF5Lmxlbmd0aClcclxuICAgICAgICBicmVhaztcclxuICAgICAgYyA9IGJ5dGVBcnJheVtpICsgMV07XHJcbiAgICAgIGhhc2gyID0gKChoYXNoMiA8PCA1KSArIGhhc2gyKSBeIGM7XHJcbiAgICAgIGhhc2gxID0gaGFzaDEgJiAweGZmZmY7XHJcbiAgICAgIGhhc2gyID0gaGFzaDIgJiAweGZmZmY7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGhhc2gzOiBudW1iZXIgPSAoaGFzaDIgKiAxMzU3Nyk7XHJcbiAgICBoYXNodmFsID0gKGhhc2gxICsgaGFzaDMpO1xyXG4gICAgcmV0dXJuIChoYXNodmFsKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUhhc2hDb2RlIHtcclxuICBHZXRIYXNoQ29kZSgpOiBudW1iZXI7XHJcbn1cclxuXHJcbnR5cGUgQnVja2V0RWxlbWVudDxUS2V5LCBUVmFsdWU+ID0geyBrZXk6IFRLZXksIHZhbHVlOiBUVmFsdWUgfTtcclxudHlwZSBCdWNrZXQ8VEtleSwgVFZhbHVlPiA9IFtCdWNrZXRFbGVtZW50PFRLZXksIFRWYWx1ZT5dO1xyXG5cclxuY29uc3QgSGFzaFRhYmxlTG9hZEZhY3RvciA9IDAuNzU7XHJcblxyXG4vLyBIYXNodGFibGUgaW1wbGVtZW50YXRpb24gZm9yIGtleSBUS2V5IGFuZCBWYWx1ZSBUVmFsdWVcclxuZXhwb3J0IGNsYXNzIEhhc2h0YWJsZTxUS2V5IGV4dGVuZHMgKElIYXNoQ29kZSB8IHN0cmluZyB8IG51bWJlciksIFRWYWx1ZT4ge1xyXG5cclxuICBwcml2YXRlIF9idWNrZXRzOiBCdWNrZXQ8VEtleSwgVFZhbHVlPltdID0gW107IC8vIHRvdGFsIG5vLiBvZiBidWNrZXRzXHJcbiAgcHJpdmF0ZSBfZWxlbWVudHNDb3VudCA9IDA7IC8vIHRvdGFsIGVsZW1lbnRzXHJcbiAgcHJpdmF0ZSBfYnVja2V0Q291bnQ6IG51bWJlciA9IDA7XHJcbiAgcHJpdmF0ZSBfbG9hZEZhY3RvcjogbnVtYmVyID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoYnVja2V0Q291bnQ6IG51bWJlciA9IDgsIGxvYWRGYWN0b3I6IG51bWJlciA9IEhhc2hUYWJsZUxvYWRGYWN0b3IpIHtcclxuICAgIHRoaXMuX2J1Y2tldENvdW50ID0gYnVja2V0Q291bnQ7XHJcbiAgICB0aGlzLl9sb2FkRmFjdG9yID0gbG9hZEZhY3RvcjtcclxuXHJcbiAgICBpZiAodGhpcy5fYnVja2V0Q291bnQgJSAyICE9PSAwKSB7XHJcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0J1Y2tldCBjb3VudCBtdXN0IGJlIGEgcG9zaXRpdmUgbnVtYmVyIGFuZCBiZSBtdWx0aXBsZSBvZiAyLicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gR2VuZXJpYyBIYXNoIGZ1bnRpb25cclxuICBwcml2YXRlIEhhc2hGdW5jdGlvbihrZXkpOiBudW1iZXIge1xyXG4gICAgaWYgKHR5cGVvZiBrZXkuR2V0SGFzaENvZGUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmV0dXJuIGtleS5HZXRIYXNoQ29kZSgpO1xyXG4gICAgfSBlbHNlIGlmIChrZXkuY29uc3RydWN0b3IgPT09IFN0cmluZykge1xyXG4gICAgICAgIHJldHVybiBIYXNoVXRpbHMuR2V0SGFzaENvZGUoa2V5LnRvU3RyaW5nKCkpO1xyXG4gICAgfSBlbHNlIGlmIChrZXkuY29uc3RydWN0b3IgPT09IE51bWJlcikge1xyXG4gICAgICByZXR1cm4gK2tleTtcclxuICAgIH1cclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyBlbGVtZW50Q291bnRcclxuICBnZXQgQ291bnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudHNDb3VudDtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgVmFsdWVDb2xsZWN0aW9uIChBcnJheSBFbnVtZXJhdG9yKVxyXG4gIGdldCBWYWx1ZXMoKTogQXJyYXlfRW51bWVyYXRvcjxUVmFsdWU+IHtcclxuICAgIGxldCBhcnJheTogQXJyYXk8VFZhbHVlPiA9IFtdO1xyXG4gICAgdGhpcy5fYnVja2V0cy5mb3JFYWNoKGIgPT4gYi5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBhcnJheS5wdXNoKGl0ZW0udmFsdWUpO1xyXG4gICAgfSkpO1xyXG4gICAgcmV0dXJuIG5ldyBBcnJheV9FbnVtZXJhdG9yKGFycmF5KTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgS2V5Q29sbGVjdGlvbiAoQXJyYXkgRW51bWVyYXRvcilcclxuICBnZXQgS2V5cygpOiBBcnJheV9FbnVtZXJhdG9yPFRLZXk+IHtcclxuICAgIGxldCBhcnJheTogQXJyYXk8VEtleT4gPSBbXTtcclxuICAgIHRoaXMuX2J1Y2tldHMuZm9yRWFjaChiID0+IGIuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgYXJyYXkucHVzaChpdGVtLmtleSk7XHJcbiAgICB9KSk7XHJcbiAgICByZXR1cm4gbmV3IEFycmF5X0VudW1lcmF0b3IoYXJyYXkpO1xyXG4gIH1cclxuXHJcbiAgLy8gYWRkcyBpdGVtIHRvIEhhc2h0YWJsZVxyXG4gIEFkZChrZXk6IFRLZXksIHZhbHVlOiBUVmFsdWUpOiB2b2lkIHtcclxuICAgIHRoaXMuSW5zZXJ0KGtleSwgdmFsdWUsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gc2V0cyBpdGVtIGluIEhhc2h0YWJsZVxyXG4gIHNldF9JdGVtKGtleTogVEtleSwgdmFsdWU6IFRWYWx1ZSkge1xyXG4gICAgdGhpcy5JbnNlcnQoa2V5LCB2YWx1ZSwgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgLy8gSW5zZXJ0IGVsZW1lbnQgaW4gSGFzaHRhYmxlXHJcbiAgcHJpdmF0ZSBJbnNlcnQoa2V5OiBUS2V5LCB2YWx1ZTogVFZhbHVlLCBhZGQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGxldCBidWNrZXRJbmRleCA9IHRoaXMuR2V0QnVja2V0SW5kZXgoa2V5KTtcclxuXHJcbiAgICBpZiAodHlwZW9mIHRoaXMuX2J1Y2tldHNbYnVja2V0SW5kZXhdID09PSBcInVuZGVmaW5lZFwiKSB7XHJcbiAgICAgIHRoaXMuX2J1Y2tldHNbYnVja2V0SW5kZXhdID0gPEJ1Y2tldDxUS2V5LCBUVmFsdWU+Pjx1bmtub3duPltdO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLl9idWNrZXRzW2J1Y2tldEluZGV4XS5maW5kKHggPT4geC5rZXkgPT09IGtleSkpIHtcclxuICAgICAgaWYgKGFkZCkge1xyXG4gICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0l0ZW0gd2l0aCBwcm92aWRlZCBrZXkgYWxyZWFkeSBleGlzdHMhJyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5SZW1vdmUoa2V5KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9idWNrZXRzW2J1Y2tldEluZGV4XS5wdXNoKHtrZXk6IGtleSwgdmFsdWU6IHZhbHVlfSk7XHJcblxyXG4gICAgdGhpcy5fZWxlbWVudHNDb3VudCsrO1xyXG4gICAgaWYgKHRoaXMuX2VsZW1lbnRzQ291bnQgPiB0aGlzLl9idWNrZXRDb3VudCAqIHRoaXMuX2xvYWRGYWN0b3IpIHtcclxuICAgICAgdGhpcy5SZXNpemUodGhpcy5fYnVja2V0Q291bnQgKiAyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4vLyBHZXRzIHZhbHVlIGZvciBrZXkgVEtleVxyXG4gIGdldF9JdGVtKGtleTogVEtleSk6IFRWYWx1ZSB7XHJcbiAgICBsZXQgYnVja2V0SW5kZXggPSB0aGlzLkdldEJ1Y2tldEluZGV4KGtleSk7XHJcbiAgICBsZXQgYnVja2V0ID0gdGhpcy5fYnVja2V0c1tidWNrZXRJbmRleF07XHJcbiAgICBpZiAoIWJ1Y2tldCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgaXRlbSA9IGJ1Y2tldC5maW5kKHggPT4geC5rZXkgPT09IGtleSk7XHJcbiAgICBpZiAoaXRlbSkge1xyXG4gICAgICByZXR1cm4gaXRlbS52YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8vIFJldHVybnMgaWYga2V5IFRLZXkgaXMgcHJlc2VudCBpbiBIYXNodGFibGVcclxuICBDb250YWluc0tleShrZXk6IFRLZXkpOiBib29sZWFuIHtcclxuICAgIGxldCBidWNrZXRJbmRleCA9IHRoaXMuR2V0QnVja2V0SW5kZXgoa2V5KTtcclxuICAgIGxldCBidWNrZXQgPSB0aGlzLl9idWNrZXRzW2J1Y2tldEluZGV4XTtcclxuICAgIGlmICghYnVja2V0KSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgaXRlbUluZGV4ID0gYnVja2V0LmZpbmRJbmRleCh4ID0+IHgua2V5ID09PSBrZXkpO1xyXG4gICAgcmV0dXJuIChpdGVtSW5kZXggPiAtMSk7XHJcbiAgfVxyXG5cclxuICAvLyBSZW1vdmVzIGl0ZW0gd2l0aCBrZXkgVEtleSBmcm9tIEhhc2h0YWJsZVxyXG4gIFJlbW92ZShrZXk6IFRLZXkpIHtcclxuICAgIGxldCBidWNrZXRJbmRleCA9IHRoaXMuR2V0QnVja2V0SW5kZXgoa2V5KTtcclxuICAgIGxldCBidWNrZXQgPSB0aGlzLl9idWNrZXRzW2J1Y2tldEluZGV4XTtcclxuICAgIGlmICghYnVja2V0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgaXRlbUluZGV4ID0gYnVja2V0LmZpbmRJbmRleCh4ID0+IHgua2V5ID09PSBrZXkpO1xyXG4gICAgaWYgKGl0ZW1JbmRleCA+IC0xKSB7XHJcbiAgICAgIGJ1Y2tldC5zcGxpY2UoaXRlbUluZGV4LCAxKTtcclxuICAgICAgdGhpcy5fZWxlbWVudHNDb3VudC0tO1xyXG4gICAgICBpZiAodGhpcy5fZWxlbWVudHNDb3VudCA8PSB0aGlzLl9idWNrZXRDb3VudCAqICgxIC0gdGhpcy5fbG9hZEZhY3RvcikpIHtcclxuICAgICAgICB0aGlzLlJlc2l6ZSh0aGlzLl9idWNrZXRDb3VudCAvIDIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBSZXNpemUgYnVja2V0IChIYXNodGFibGUpXHJcbiAgcHJpdmF0ZSBSZXNpemUobmV3QnVja2V0Q291bnQ6IG51bWJlcikge1xyXG4gICAgbGV0IF9vbGRCdWNrZXRzID0gdGhpcy5fYnVja2V0cztcclxuICAgIHRoaXMuX2VsZW1lbnRzQ291bnQgPSAwO1xyXG4gICAgdGhpcy5fYnVja2V0cyA9IFtdO1xyXG4gICAgdGhpcy5fYnVja2V0Q291bnQgPSBuZXdCdWNrZXRDb3VudDtcclxuXHJcbiAgICBfb2xkQnVja2V0cy5mb3JFYWNoKGIgPT4gYi5mb3JFYWNoKGl0ZW0gPT4gdGhpcy5BZGQoaXRlbS5rZXksIGl0ZW0udmFsdWUpKSk7XHJcbiAgfVxyXG5cclxuLy8gcmV0dXJucyBidWNrZXRJbmRleCBmb3Iga2V5XHJcbiAgcHJpdmF0ZSBHZXRCdWNrZXRJbmRleChrZXk6IFRLZXkpIHtcclxuICAgIGxldCBoYXNoID0gdGhpcy5IYXNoRnVuY3Rpb24oa2V5KTtcclxuICAgIGlmIChoYXNoICUgMSAhPT0gMCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdLZXlcXCdzIGhhc2ggbXVzdCBiZSBhbiBpbnRlZ2VyIScpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBpbmRleCA9IE1hdGguYWJzKGhhc2gpICUgdGhpcy5fYnVja2V0Q291bnQ7XHJcblxyXG4gICAgaWYgKGluZGV4IDwgMCB8fCBpbmRleCA+PSB0aGlzLl9idWNrZXRDb3VudCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbmRleCBleGNlZWRzIGJ1Y2tldCBib3VuZGFyaWVzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGluZGV4O1xyXG4gIH1cclxuXHJcbi8vIENsZWFycyBIYXNodGFibGVcclxuICBDbGVhcigpOiB2b2lkIHtcclxuICAgIHRoaXMuX2VsZW1lbnRzQ291bnQgPSAwO1xyXG4gICAgdGhpcy5fYnVja2V0cyA9IFtdO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGFzaFRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXNjb3JlbGliL3NyYy9IYXNoVGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBRXBDLE1BQU0sT0FBTyxTQUFTO0lBR3BCLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBVztRQUM1QixJQUFJLEtBQUssR0FBZSxJQUFJLENBQUM7UUFFN0IsS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXBDLE9BQU8sU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFxQjtRQUM5QyxJQUFJLE9BQWUsQ0FBQztRQUVwQixJQUFJLEtBQUssR0FBVyxJQUFJLENBQUM7UUFDekIsSUFBSSxLQUFLLEdBQVcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBUyxDQUFDO1FBRWQsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNwRCxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUM5QixNQUFNO1lBQ1IsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFD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Q0FBQztTQUN4RDtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUdELEtBQUs7UUFDSCxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBSZWZlcmVuY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9ya29zdHJ6ZXdza2kvaGFzaHRhYmxlLXRzL2Jsb2IvbWFzdGVyL3NyYy9oYXNodGFibGUudHNcclxuXHJcbmltcG9ydCB7QXJyYXlfRW51bWVyYXRvcn0gZnJvbSBcIi4vQXJyYXlFbnVtZXJhdG9yXCI7XHJcbmltcG9ydCB7RXhjZXB0aW9ufSBmcm9tIFwiLi9FeGNlcHRpb25cIjtcclxuaW1wb3J0IHtFbmNvZGluZ30gZnJvbSBcIi4vRW5jb2RpbmdcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBIYXNoVXRpbHMge1xyXG4gIC8vIFBheSBhdHRlbnRpb24gdGhhdCBpbiBzZXJ2ZXIgdGhlcmUgaXMgdGhlIHNhbWUgZnVuY3Rpb24gYW5kIGl0IG11c3RcclxuICAvLyByZXR1cm4gdGhlIHNhbWUgaGFzaCB2YWx1ZS5cclxuICBzdGF0aWMgR2V0SGFzaENvZGUoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgbGV0IGJ5dGVzOiBVaW50OEFycmF5ID0gbnVsbDtcclxuXHJcbiAgICBieXRlcyA9IEVuY29kaW5nLlVURjguR2V0Qnl0ZXMoc3RyKTtcclxuXHJcbiAgICByZXR1cm4gSGFzaFV0aWxzLmdldEhhc2hDb2RlKGJ5dGVzKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGdldEhhc2hDb2RlKGJ5dGVBcnJheTogVWludDhBcnJheSkge1xyXG4gICAgbGV0IGhhc2h2YWw6IG51bWJlcjtcclxuXHJcbiAgICBsZXQgaGFzaDE6IG51bWJlciA9IDUzODE7XHJcbiAgICBsZXQgaGFzaDI6IG51bWJlciA9IGhhc2gxO1xyXG4gICAgbGV0IGM6IG51bWJlcjtcclxuXHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgYnl0ZUFycmF5Lmxlbmd0aDsgaSArPSAyKSB7XHJcbiAgICAgIGMgPSBieXRlQXJyYXlbaV07XHJcbiAgICAgIGhhc2gxID0gKChoYXNoMSA8PCA1KSArIGhhc2gxKSBeIGM7XHJcbiAgICAgIGlmICgoaSArIDEpID09PSBieXRlQXJyYXkubGVuZ3RoKVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjID0gYnl0ZUFycmF5W2kgKyAxXTtcclxuICAgICAgaGFzaDIgPSAoKGhhc2gyIDw8IDUpICsgaGFzaDIpIF4gYztcclxuICAgICAgaGFzaDEgPSBoYXNoMSAmIDB4ZmZmZjtcclxuICAgICAgaGFzaDIgPSBoYXNoMiAmIDB4ZmZmZjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgaGFzaDM6IG51bWJlciA9IChoYXNoMiAqIDEzNTc3KTtcclxuICAgIGhhc2h2YWwgPSAoaGFzaDEgKyBoYXNoMyk7XHJcbiAgICByZXR1cm4gKGhhc2h2YWwpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSGFzaENvZGUge1xyXG4gIEdldEhhc2hDb2RlKCk6IG51bWJlcjtcclxufVxyXG5cclxudHlwZSBCdWNrZXRFbGVtZW50PFRLZXksIFRWYWx1ZT4gPSB7IGtleTogVEtleSwgdmFsdWU6IFRWYWx1ZSB9O1xyXG50eXBlIEJ1Y2tldDxUS2V5LCBUVmFsdWU+ID0gW0J1Y2tldEVsZW1lbnQ8VEtleSwgVFZhbHVlPl07XHJcblxyXG5jb25zdCBIYXNoVGFibGVMb2FkRmFjdG9yID0gMC43NTtcclxuXHJcbi8vIEhhc2h0YWJsZSBpbXBsZW1lbnRhdGlvbiBmb3Iga2V5IFRLZXkgYW5kIFZhbHVlIFRWYWx1ZVxyXG5leHBvcnQgY2xhc3MgSGFzaHRhYmxlPFRLZXkgZXh0ZW5kcyAoSUhhc2hDb2RlIHwgc3RyaW5nIHwgbnVtYmVyKSwgVFZhbHVlPiB7XHJcblxyXG4gIHByaXZhdGUgX2J1Y2tldHM6IEJ1Y2tldDxUS2V5LCBUVmFsdWU+W10gPSBbXTsgLy8gdG90YWwgbm8uIG9mIGJ1Y2tldHNcclxuICBwcml2YXRlIF9lbGVtZW50c0NvdW50ID0gMDsgLy8gdG90YWwgZWxlbWVudHNcclxuICBwcml2YXRlIF9idWNrZXRDb3VudDogbnVtYmVyID0gMDtcclxuICBwcml2YXRlIF9sb2FkRmFjdG9yOiBudW1iZXIgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihidWNrZXRDb3VudDogbnVtYmVyID0gOCwgbG9hZEZhY3RvcjogbnVtYmVyID0gSGFzaFRhYmxlTG9hZEZhY3Rvcikge1xyXG4gICAgdGhpcy5fYnVja2V0Q291bnQgPSBidWNrZXRDb3VudDtcclxuICAgIHRoaXMuX2xvYWRGYWN0b3IgPSBsb2FkRmFjdG9yO1xyXG5cclxuICAgIGlmICh0aGlzLl9idWNrZXRDb3VudCAlIDIgIT09IDApIHtcclxuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQnVja2V0IGNvdW50IG11c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXIgYW5kIGJlIG11bHRpcGxlIG9mIDIuJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBHZW5lcmljIEhhc2ggZnVudGlvblxyXG4gIHByaXZhdGUgSGFzaEZ1bmN0aW9uKGtleSk6IG51bWJlciB7XHJcbiAgICBpZiAodHlwZW9mIGtleS5HZXRIYXNoQ29kZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICByZXR1cm4ga2V5LkdldEhhc2hDb2RlKCk7XHJcbiAgICB9IGVsc2UgaWYgKGtleS5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIEhhc2hVdGlscy5HZXRIYXNoQ29kZShrZXkudG9TdHJpbmcoKSk7XHJcbiAgICB9IGVsc2UgaWYgKGtleS5jb25zdHJ1Y3RvciA9PT0gTnVtYmVyKSB7XHJcbiAgICAgIHJldHVybiAra2V5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIDA7XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm5zIGVsZW1lbnRDb3VudFxyXG4gIGdldCBDb3VudCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9lbGVtZW50c0NvdW50O1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyBWYWx1ZUNvbGxlY3Rpb24gKEFycmF5IEVudW1lcmF0b3IpXHJcbiAgZ2V0IFZhbHVlcygpOiBBcnJheV9FbnVtZXJhdG9yPFRWYWx1ZT4ge1xyXG4gICAgbGV0IGFycmF5OiBBcnJheTxUVmFsdWU+ID0gW107XHJcbiAgICB0aGlzLl9idWNrZXRzLmZvckVhY2goYiA9PiBiLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgIGFycmF5LnB1c2goaXRlbS52YWx1ZSk7XHJcbiAgICB9KSk7XHJcbiAgICByZXR1cm4gbmV3IEFycmF5X0VudW1lcmF0b3IoYXJyYXkpO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyBLZXlDb2xsZWN0aW9uIChBcnJheSBFbnVtZXJhdG9yKVxyXG4gIGdldCBLZXlzKCk6IEFycmF5X0VudW1lcmF0b3I8VEtleT4ge1xyXG4gICAgbGV0IGFycmF5OiBBcnJheTxUS2V5PiA9IFtdO1xyXG4gICAgdGhpcy5fYnVja2V0cy5mb3JFYWNoKGIgPT4gYi5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBhcnJheS5wdXNoKGl0ZW0ua2V5KTtcclxuICAgIH0pKTtcclxuICAgIHJldHVybiBuZXcgQXJyYXlfRW51bWVyYXRvcihhcnJheSk7XHJcbiAgfVxyXG5cclxuICAvLyBhZGRzIGl0ZW0gdG8gSGFzaHRhYmxlXHJcbiAgQWRkKGtleTogVEtleSwgdmFsdWU6IFRWYWx1ZSk6IHZvaWQge1xyXG4gICAgdGhpcy5JbnNlcnQoa2V5LCB2YWx1ZSwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvLyBzZXRzIGl0ZW0gaW4gSGFzaHRhYmxlXHJcbiAgc2V0X0l0ZW0oa2V5OiBUS2V5LCB2YWx1ZTogVFZhbHVlKSB7XHJcbiAgICB0aGlzLkluc2VydChrZXksIHZhbHVlLCBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICAvLyBJbnNlcnQgZWxlbWVudCBpbiBIYXNodGFibGVcclxuICBwcml2YXRlIEluc2VydChrZXk6IFRLZXksIHZhbHVlOiBUVmFsdWUsIGFkZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgbGV0IGJ1Y2tldEluZGV4ID0gdGhpcy5HZXRCdWNrZXRJbmRleChrZXkpO1xyXG5cclxuICAgIGlmICh0eXBlb2YgdGhpcy5fYnVja2V0c1tidWNrZXRJbmRleF0gPT09IFwidW5kZWZpbmVkXCIpIHtcclxuICAgICAgdGhpcy5fYnVja2V0c1tidWNrZXRJbmRleF0gPSA8QnVja2V0PFRLZXksIFRWYWx1ZT4+PHVua25vd24+W107XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX2J1Y2tldHNbYnVja2V0SW5kZXhdLmZpbmQoeCA9PiB4LmtleSA9PT0ga2V5KSkge1xyXG4gICAgICBpZiAoYWRkKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignSXRlbSB3aXRoIHByb3ZpZGVkIGtleSBhbHJlYWR5IGV4aXN0cyEnKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLlJlbW92ZShrZXkpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2J1Y2tldHNbYnVja2V0SW5kZXhdLnB1c2goe2tleToga2V5LCB2YWx1ZTogdmFsdWV9KTtcclxuXHJcbiAgICB0aGlzLl9lbGVtZW50c0NvdW50Kys7XHJcbiAgICBpZiAodGhpcy5fZWxlbWVudHNDb3VudCA+IHRoaXMuX2J1Y2tldENvdW50ICogdGhpcy5fbG9hZEZhY3Rvcikge1xyXG4gICAgICB0aGlzLlJlc2l6ZSh0aGlzLl9idWNrZXRDb3VudCAqIDIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbi8vIEdldHMgdmFsdWUgZm9yIGtleSBUS2V5XHJcbiAgZ2V0X0l0ZW0oa2V5OiBUS2V5KTogVFZhbHVlIHtcclxuICAgIGxldCBidWNrZXRJbmRleCA9IHRoaXMuR2V0QnVja2V0SW5kZXgoa2V5KTtcclxuICAgIGxldCBidWNrZXQgPSB0aGlzLl9idWNrZXRzW2J1Y2tldEluZGV4XTtcclxuICAgIGlmICghYnVja2V0KSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBpdGVtID0gYnVja2V0LmZpbmQoeCA9PiB4LmtleSA9PT0ga2V5KTtcclxuICAgIGlmIChpdGVtKSB7XHJcbiAgICAgIHJldHVybiBpdGVtLnZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLy8gUmV0dXJucyBpZiBrZXkgVEtleSBpcyBwcmVzZW50IGluIEhhc2h0YWJsZVxyXG4gIENvbnRhaW5zS2V5KGtleTogVEtleSk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGJ1Y2tldEluZGV4ID0gdGhpcy5HZXRCdWNrZXRJbmRleChrZXkpO1xyXG4gICAgbGV0IGJ1Y2tldCA9IHRoaXMuX2J1Y2tldHNbYnVja2V0SW5kZXhdO1xyXG4gICAgaWYgKCFidWNrZXQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBpdGVtSW5kZXggPSBidWNrZXQuZmluZEluZGV4KHggPT4geC5rZXkgPT09IGtleSk7XHJcbiAgICByZXR1cm4gKGl0ZW1JbmRleCA+IC0xKTtcclxuICB9XHJcblxyXG4gIC8vIFJlbW92ZXMgaXRlbSB3aXRoIGtleSBUS2V5IGZyb20gSGFzaHRhYmxlXHJcbiAgUmVtb3ZlKGtleTogVEtleSkge1xyXG4gICAgbGV0IGJ1Y2tldEluZGV4ID0gdGhpcy5HZXRCdWNrZXRJbmRleChrZXkpO1xyXG4gICAgbGV0IGJ1Y2tldCA9IHRoaXMuX2J1Y2tldHNbYnVja2V0SW5kZXhdO1xyXG4gICAgaWYgKCFidWNrZXQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBpdGVtSW5kZXggPSBidWNrZXQuZmluZEluZGV4KHggPT4geC5rZXkgPT09IGtleSk7XHJcbiAgICBpZiAoaXRlbUluZGV4ID4gLTEpIHtcclxuICAgICAgYnVja2V0LnNwbGljZShpdGVtSW5kZXgsIDEpO1xyXG4gICAgICB0aGlzLl9lbGVtZW50c0NvdW50LS07XHJcbiAgICAgIGlmICh0aGlzLl9lbGVtZW50c0NvdW50IDw9IHRoaXMuX2J1Y2tldENvdW50ICogKDEgLSB0aGlzLl9sb2FkRmFjdG9yKSkge1xyXG4gICAgICAgIHRoaXMuUmVzaXplKHRoaXMuX2J1Y2tldENvdW50IC8gMik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFJlc2l6ZSBidWNrZXQgKEhhc2h0YWJsZSlcclxuICBwcml2YXRlIFJlc2l6ZShuZXdCdWNrZXRDb3VudDogbnVtYmVyKSB7XHJcbiAgICBsZXQgX29sZEJ1Y2tldHMgPSB0aGlzLl9idWNrZXRzO1xyXG4gICAgdGhpcy5fZWxlbWVudHNDb3VudCA9IDA7XHJcbiAgICB0aGlzLl9idWNrZXRzID0gW107XHJcbiAgICB0aGlzLl9idWNrZXRDb3VudCA9IG5ld0J1Y2tldENvdW50O1xyXG5cclxuICAgIF9vbGRCdWNrZXRzLmZvckVhY2goYiA9PiBiLmZvckVhY2goaXRlbSA9PiB0aGlzLkFkZChpdGVtLmtleSwgaXRlbS52YWx1ZSkpKTtcclxuICB9XHJcblxyXG4vLyByZXR1cm5zIGJ1Y2tldEluZGV4IGZvciBrZXlcclxuICBwcml2YXRlIEdldEJ1Y2tldEluZGV4KGtleTogVEtleSkge1xyXG4gICAgbGV0IGhhc2ggPSB0aGlzLkhhc2hGdW5jdGlvbihrZXkpO1xyXG4gICAgaWYgKGhhc2ggJSAxICE9PSAwKSB7XHJcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0tleVxcJ3MgaGFzaCBtdXN0IGJlIGFuIGludGVnZXIhJyk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGluZGV4ID0gTWF0aC5hYnMoaGFzaCkgJSB0aGlzLl9idWNrZXRDb3VudDtcclxuXHJcbiAgICBpZiAoaW5kZXggPCAwIHx8IGluZGV4ID49IHRoaXMuX2J1Y2tldENvdW50KSB7XHJcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0luZGV4IGV4Y2VlZHMgYnVja2V0IGJvdW5kYXJpZXMnKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gaW5kZXg7XHJcbiAgfVxyXG5cclxuLy8gQ2xlYXJzIEhhc2h0YWJsZVxyXG4gIENsZWFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZWxlbWVudHNDb3VudCA9IDA7XHJcbiAgICB0aGlzLl9idWNrZXRzID0gW107XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUNvbXBhcmFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc2NvcmVsaWIvc3JjL0lDb21wYXJhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElDb21wYXJhYmxlIHtcclxuICBDb21wYXJlVG8ob2JqOiBhbnkpOiBudW1iZXI7XHJcbn1cclxuIl19
|
|
@@ -36,4 +36,4 @@ export class ISO_8859_1_Encoding extends Encoding {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
ISO_8859_1_Encoding.ISO_8859_1 = new ISO_8859_1_Encoding("iso_8859-1");
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVNPXzg4NTlfMV9FbmNvZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zY29yZWxpYi9zcmMvSVNPXzg4NTlfMV9FbmNvZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBRXBDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxRQUFRO0lBRy9DLFlBQVksS0FBYTtRQUN6QixLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQVc7UUFFbEIsSUFBSSxHQUFHLEtBQUssSUFBSTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUV0QyxJQUFJLEtBQUssR0FBZSxJQUFJLENBQUM7UUFFN0IsS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkMsSUFBSSxVQUFVLEdBQVcsQ0FBQyxDQUFDO1FBQzNCLElBQUksUUFBb0IsQ0FBQztRQUV6QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFDbkM7WUFDRSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztRQUMxQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBaUIsRUFBRSxLQUFhLEVBQUUsS0FBYTtRQUN2RCxJQUFJLEdBQUcsR0FBVyxJQUFJLENBQUM7UUFFdkIsSUFBSSxLQUFLLEtBQUssSUFBSTtZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFdEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU07WUFDMUQsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBRTNDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFFN0MsSUFBSTtZQUVGLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDVCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFDckM7Z0JBQ0UsR0FBRyxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdEM7WUFBQSxDQUFDO1NBQ0g7UUFDRCxPQUFPLEVBQUUsRUFBRTtTQUNWO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOztBQWhEZSw4QkFBVSxHQUF3QixJQUFJLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbmNvZGluZ30gZnJvbSBcIi4vRW5jb2RpbmdcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBJU09fODg1OV8xX0VuY29kaW5nIGV4dGVuZHMgRW5jb2Rpbmcge1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgSVNPXzg4NTlfMTogSVNPXzg4NTlfMV9FbmNvZGluZyA9IG5ldyBJU09fODg1OV8xX0VuY29kaW5nKFwiaXNvXzg4NTktMVwiKTtcclxuICBjb25zdHJ1Y3RvcihsYWJlbDogc3RyaW5nKSB7XHJcbiAgc3VwZXIobGFiZWwpO1xyXG4gIH1cclxuXHJcbiAgR2V0Qnl0ZXMoc3RyOiBzdHJpbmcpOiBVaW50OEFycmF5IHtcclxuXHJcbiAgICBpZiAoc3RyID09PSBudWxsKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBcmd1bWVudCBpcyBudWxsXCIpO1xyXG5cclxuICAgIGxldCBieXRlczogVWludDhBcnJheSA9IG51bGw7XHJcblxyXG4gICAgYnl0ZXMgPSBuZXcgVWludDhBcnJheShzdHIubGVuZ3RoICogMyk7XHJcbiAgICBsZXQgYnl0ZXNDb3VudDogbnVtYmVyID0gMDtcclxuICAgIGxldCB0bXBCeXRlczogVWludDhBcnJheTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKylcclxuICAgIHtcclxuICAgICAgYnl0ZXNbYnl0ZXNDb3VudCsrXSA9IHN0cltpXS5jaGFyQ29kZUF0KDApO1xyXG4gICAgfVxyXG5cclxuICAgIGJ5dGVzID0gYnl0ZXMuc3ViYXJyYXkoMCwgMCArIGJ5dGVzQ291bnQpO1xyXG4gICAgcmV0dXJuIGJ5dGVzO1xyXG4gIH1cclxuXHJcbiAgR2V0U3RyaW5nKGJ5dGVzOiBVaW50OEFycmF5LCBpbmRleDogbnVtYmVyLCBjb3VudDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGxldCBzdHI6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gICAgaWYgKGJ5dGVzID09PSBudWxsKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBcmd1bWVudCBpcyBudWxsXCIpO1xyXG5cclxuICAgIGlmIChpbmRleCA8IDAgfHwgY291bnQgPCAwIHx8IChpbmRleCArIGNvdW50KSA+IGJ5dGVzLmxlbmd0aClcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQXJndW1lbnQgb3V0IG9mIHJhbmdlXCIpO1xyXG5cclxuICAgIGJ5dGVzID0gYnl0ZXMuc3ViYXJyYXkoaW5kZXgsIGluZGV4ICsgY291bnQpO1xyXG5cclxuICAgIHRyeSB7XHJcblxyXG4gICAgICBzdHIgPSAnJztcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBieXRlcy5sZW5ndGg7IGkrKylcclxuICAgICAge1xyXG4gICAgICAgIHN0ciArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGJ5dGVzW2ldKTtcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGNhdGNoIChleCkge1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBzdHI7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
package/esm2015/src/Int32.js
CHANGED
|
@@ -2,4 +2,4 @@ export class Int32 {
|
|
|
2
2
|
}
|
|
3
3
|
Int32.MinValue = -2147483648;
|
|
4
4
|
Int32.MaxValue = 2147483647;
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50MzIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc2NvcmVsaWIvc3JjL0ludDMyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxLQUFLOztBQUNULGNBQVEsR0FBVyxDQUFDLFVBQVUsQ0FBQztBQUMvQixjQUFRLEdBQVcsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEludDMyIHtcclxuICBzdGF0aWMgTWluVmFsdWU6IG51bWJlciA9IC0yMTQ3NDgzNjQ4O1xyXG4gIHN0YXRpYyBNYXhWYWx1ZTogbnVtYmVyID0gMjE0NzQ4MzY0NztcclxufVxyXG4iXX0=
|
package/esm2015/src/Int64.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export class Int64 {
|
|
2
2
|
}
|
|
3
3
|
Int64.MinValue = -9223372036854775808;
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50NjQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc2NvcmVsaWIvc3JjL0ludDY0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxLQUFLOztBQUNULGNBQVEsR0FBVyxDQUFDLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEludDY0IHtcclxuICBzdGF0aWMgTWluVmFsdWU6IG51bWJlciA9IC05MjIzMzcyMDM2ODU0Nzc1ODA4O1xyXG59XHJcbiJdfQ==
|