necessary 11.2.0 → 11.2.2
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/lib/characters.js +14 -2
- package/lib/utilities/logging.js +3 -3
- package/lib/utilities/shell.js +35 -28
- package/license.txt +1 -1
- package/package.json +1 -1
- package/src/characters.js +8 -0
- package/src/utilities/logging.js +3 -3
- package/src/utilities/shell.js +50 -39
package/lib/characters.js
CHANGED
|
@@ -2,13 +2,21 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports.default = exports.EXCLAMATION_MARK_CHARACTER = exports.CARRIAGE_RETURN_CHARACTER = exports.FORWARD_SLASH_CHARACTER = exports.GREATER_THAN_CHARACTER = exports.LESS_THAN_CHARACTER = exports.AMPERSAND_CHARACTER = exports.BACKSPACE_CHARACTER = exports.NEW_LINE_CHARACTER = exports.BACKTICK_DELIMITER = exports.WILDCARD_CHARACTER = exports.CTRL_C_CHARACTER = exports.PERIOD_CHARACTER = exports.COLON_CHARACTER = exports.COMMA_CHARACTER = exports.SPACE_CHARACTER = exports.DASH_CHARACTER = exports.BAR_CHARACTER = exports.ETX_CHARACTER = void 0;
|
|
5
|
+
exports.default = exports.EXCLAMATION_MARK_CHARACTER = exports.CARRIAGE_RETURN_CHARACTER = exports.FORWARD_SLASH_CHARACTER = exports.GREATER_THAN_CHARACTER = exports.LESS_THAN_CHARACTER = exports.AMPERSAND_CHARACTER = exports.BACKSPACE_CHARACTER = exports.NEW_LINE_CHARACTER = exports.BACKTICK_DELIMITER = exports.WILDCARD_CHARACTER = exports.CTRL_C_CHARACTER = exports.PERIOD_CHARACTER = exports.COLON_CHARACTER = exports.COMMA_CHARACTER = exports.SPACE_CHARACTER = exports.RIGHT_CHARACTER = exports.LEFT_CHARACTER = exports.DOWN_CHARACTER = exports.DASH_CHARACTER = exports.BAR_CHARACTER = exports.ETX_CHARACTER = exports.UP_CHARACTER = void 0;
|
|
6
|
+
var UP_CHARACTER = "\x1b[A";
|
|
7
|
+
exports.UP_CHARACTER = UP_CHARACTER;
|
|
6
8
|
var ETX_CHARACTER = "\x03";
|
|
7
9
|
exports.ETX_CHARACTER = ETX_CHARACTER;
|
|
8
10
|
var BAR_CHARACTER = "|";
|
|
9
11
|
exports.BAR_CHARACTER = BAR_CHARACTER;
|
|
10
12
|
var DASH_CHARACTER = "-";
|
|
11
13
|
exports.DASH_CHARACTER = DASH_CHARACTER;
|
|
14
|
+
var DOWN_CHARACTER = "\x1b[B";
|
|
15
|
+
exports.DOWN_CHARACTER = DOWN_CHARACTER;
|
|
16
|
+
var LEFT_CHARACTER = "\x1b[D";
|
|
17
|
+
exports.LEFT_CHARACTER = LEFT_CHARACTER;
|
|
18
|
+
var RIGHT_CHARACTER = "\x1b[C";
|
|
19
|
+
exports.RIGHT_CHARACTER = RIGHT_CHARACTER;
|
|
12
20
|
var SPACE_CHARACTER = " ";
|
|
13
21
|
exports.SPACE_CHARACTER = SPACE_CHARACTER;
|
|
14
22
|
var COMMA_CHARACTER = ",";
|
|
@@ -40,9 +48,13 @@ exports.CARRIAGE_RETURN_CHARACTER = CARRIAGE_RETURN_CHARACTER;
|
|
|
40
48
|
var EXCLAMATION_MARK_CHARACTER = "!";
|
|
41
49
|
exports.EXCLAMATION_MARK_CHARACTER = EXCLAMATION_MARK_CHARACTER;
|
|
42
50
|
var _default = {
|
|
51
|
+
UP_CHARACTER: UP_CHARACTER,
|
|
43
52
|
ETX_CHARACTER: ETX_CHARACTER,
|
|
44
53
|
BAR_CHARACTER: BAR_CHARACTER,
|
|
45
54
|
DASH_CHARACTER: DASH_CHARACTER,
|
|
55
|
+
DOWN_CHARACTER: DOWN_CHARACTER,
|
|
56
|
+
LEFT_CHARACTER: LEFT_CHARACTER,
|
|
57
|
+
RIGHT_CHARACTER: RIGHT_CHARACTER,
|
|
46
58
|
SPACE_CHARACTER: SPACE_CHARACTER,
|
|
47
59
|
COMMA_CHARACTER: COMMA_CHARACTER,
|
|
48
60
|
COLON_CHARACTER: COLON_CHARACTER,
|
|
@@ -61,4 +73,4 @@ var _default = {
|
|
|
61
73
|
};
|
|
62
74
|
exports.default = _default;
|
|
63
75
|
|
|
64
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jaGFyYWN0ZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgVVBfQ0hBUkFDVEVSID0gXCJcdTAwMWJbQVwiO1xuZXhwb3J0IGNvbnN0IEVUWF9DSEFSQUNURVIgPSBcIlxcdTAwMDNcIjtcbmV4cG9ydCBjb25zdCBCQVJfQ0hBUkFDVEVSID0gXCJ8XCI7XG5leHBvcnQgY29uc3QgREFTSF9DSEFSQUNURVIgPSBcIi1cIjtcbmV4cG9ydCBjb25zdCBET1dOX0NIQVJBQ1RFUiA9IFwiXHUwMDFiW0JcIjtcbmV4cG9ydCBjb25zdCBMRUZUX0NIQVJBQ1RFUiA9IFwiXHUwMDFiW0RcIjtcbmV4cG9ydCBjb25zdCBSSUdIVF9DSEFSQUNURVIgPSBcIlx1MDAxYltDXCI7XG5leHBvcnQgY29uc3QgU1BBQ0VfQ0hBUkFDVEVSID0gXCIgXCI7XG5leHBvcnQgY29uc3QgQ09NTUFfQ0hBUkFDVEVSID0gXCIsXCI7XG5leHBvcnQgY29uc3QgQ09MT05fQ0hBUkFDVEVSID0gXCI6XCI7XG5leHBvcnQgY29uc3QgUEVSSU9EX0NIQVJBQ1RFUiA9IFwiLlwiO1xuZXhwb3J0IGNvbnN0IENUUkxfQ19DSEFSQUNURVIgPSBcIl5DXCI7XG5leHBvcnQgY29uc3QgV0lMRENBUkRfQ0hBUkFDVEVSID0gXCIqXCI7XG5leHBvcnQgY29uc3QgQkFDS1RJQ0tfREVMSU1JVEVSID0gXCJgXCI7XG5leHBvcnQgY29uc3QgTkVXX0xJTkVfQ0hBUkFDVEVSID0gXCJcXG5cIjtcbmV4cG9ydCBjb25zdCBCQUNLU1BBQ0VfQ0hBUkFDVEVSID0gU3RyaW5nLmZyb21DaGFyQ29kZSgxMjcpO1xuZXhwb3J0IGNvbnN0IEFNUEVSU0FORF9DSEFSQUNURVIgPSBcIiZcIjtcbmV4cG9ydCBjb25zdCBMRVNTX1RIQU5fQ0hBUkFDVEVSID0gXCImbHQ7XCI7XG5leHBvcnQgY29uc3QgR1JFQVRFUl9USEFOX0NIQVJBQ1RFUiA9IFwiJmd0O1wiO1xuZXhwb3J0IGNvbnN0IEZPUldBUkRfU0xBU0hfQ0hBUkFDVEVSID0gXCIvXCI7XG5leHBvcnQgY29uc3QgQ0FSUklBR0VfUkVUVVJOX0NIQVJBQ1RFUiA9IFwiXFxyXCI7XG5leHBvcnQgY29uc3QgRVhDTEFNQVRJT05fTUFSS19DSEFSQUNURVIgPSBcIiFcIjtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBVUF9DSEFSQUNURVIsXG4gIEVUWF9DSEFSQUNURVIsXG4gIEJBUl9DSEFSQUNURVIsXG4gIERBU0hfQ0hBUkFDVEVSLFxuICBET1dOX0NIQVJBQ1RFUixcbiAgTEVGVF9DSEFSQUNURVIsXG4gIFJJR0hUX0NIQVJBQ1RFUixcbiAgU1BBQ0VfQ0hBUkFDVEVSLFxuICBDT01NQV9DSEFSQUNURVIsXG4gIENPTE9OX0NIQVJBQ1RFUixcbiAgUEVSSU9EX0NIQVJBQ1RFUixcbiAgQ1RSTF9DX0NIQVJBQ1RFUixcbiAgV0lMRENBUkRfQ0hBUkFDVEVSLFxuICBCQUNLVElDS19ERUxJTUlURVIsXG4gIE5FV19MSU5FX0NIQVJBQ1RFUixcbiAgQU1QRVJTQU5EX0NIQVJBQ1RFUixcbiAgQkFDS1NQQUNFX0NIQVJBQ1RFUixcbiAgTEVTU19USEFOX0NIQVJBQ1RFUixcbiAgR1JFQVRFUl9USEFOX0NIQVJBQ1RFUixcbiAgRk9SV0FSRF9TTEFTSF9DSEFSQUNURVIsXG4gIENBUlJJQUdFX1JFVFVSTl9DSEFSQUNURVIsXG4gIEVYQ0xBTUFUSU9OX01BUktfQ0hBUkFDVEVSXG59O1xuIl0sIm5hbWVzIjpbIlVQX0NIQVJBQ1RFUiIsIkVUWF9DSEFSQUNURVIiLCJCQVJfQ0hBUkFDVEVSIiwiREFTSF9DSEFSQUNURVIiLCJET1dOX0NIQVJBQ1RFUiIsIkxFRlRfQ0hBUkFDVEVSIiwiUklHSFRfQ0hBUkFDVEVSIiwiU1BBQ0VfQ0hBUkFDVEVSIiwiQ09NTUFfQ0hBUkFDVEVSIiwiQ09MT05fQ0hBUkFDVEVSIiwiUEVSSU9EX0NIQVJBQ1RFUiIsIkNUUkxfQ19DSEFSQUNURVIiLCJXSUxEQ0FSRF9DSEFSQUNURVIiLCJCQUNLVElDS19ERUxJTUlURVIiLCJORVdfTElORV9DSEFSQUNURVIiLCJCQUNLU1BBQ0VfQ0hBUkFDVEVSIiwiU3RyaW5nIiwiZnJvbUNoYXJDb2RlIiwiQU1QRVJTQU5EX0NIQVJBQ1RFUiIsIkxFU1NfVEhBTl9DSEFSQUNURVIiLCJHUkVBVEVSX1RIQU5fQ0hBUkFDVEVSIiwiRk9SV0FSRF9TTEFTSF9DSEFSQUNURVIiLCJDQVJSSUFHRV9SRVRVUk5fQ0hBUkFDVEVSIiwiRVhDTEFNQVRJT05fTUFSS19DSEFSQUNURVIiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7O0FBRUwsR0FBSyxDQUFDQSxZQUFZLEdBQUcsQ0FBSztRQUFwQkEsWUFBWSxHQUFaQSxZQUFZO0FBQ2xCLEdBQUssQ0FBQ0MsYUFBYSxHQUFHLENBQVE7UUFBeEJBLGFBQWEsR0FBYkEsYUFBYTtBQUNuQixHQUFLLENBQUNDLGFBQWEsR0FBRyxDQUFHO1FBQW5CQSxhQUFhLEdBQWJBLGFBQWE7QUFDbkIsR0FBSyxDQUFDQyxjQUFjLEdBQUcsQ0FBRztRQUFwQkEsY0FBYyxHQUFkQSxjQUFjO0FBQ3BCLEdBQUssQ0FBQ0MsY0FBYyxHQUFHLENBQUs7UUFBdEJBLGNBQWMsR0FBZEEsY0FBYztBQUNwQixHQUFLLENBQUNDLGNBQWMsR0FBRyxDQUFLO1FBQXRCQSxjQUFjLEdBQWRBLGNBQWM7QUFDcEIsR0FBSyxDQUFDQyxlQUFlLEdBQUcsQ0FBSztRQUF2QkEsZUFBZSxHQUFmQSxlQUFlO0FBQ3JCLEdBQUssQ0FBQ0MsZUFBZSxHQUFHLENBQUc7UUFBckJBLGVBQWUsR0FBZkEsZUFBZTtBQUNyQixHQUFLLENBQUNDLGVBQWUsR0FBRyxDQUFHO1FBQXJCQSxlQUFlLEdBQWZBLGVBQWU7QUFDckIsR0FBSyxDQUFDQyxlQUFlLEdBQUcsQ0FBRztRQUFyQkEsZUFBZSxHQUFmQSxlQUFlO0FBQ3JCLEdBQUssQ0FBQ0MsZ0JBQWdCLEdBQUcsQ0FBRztRQUF0QkEsZ0JBQWdCLEdBQWhCQSxnQkFBZ0I7QUFDdEIsR0FBSyxDQUFDQyxnQkFBZ0IsR0FBRyxDQUFJO1FBQXZCQSxnQkFBZ0IsR0FBaEJBLGdCQUFnQjtBQUN0QixHQUFLLENBQUNDLGtCQUFrQixHQUFHLENBQUc7UUFBeEJBLGtCQUFrQixHQUFsQkEsa0JBQWtCO0FBQ3hCLEdBQUssQ0FBQ0Msa0JBQWtCLEdBQUcsQ0FBRztRQUF4QkEsa0JBQWtCLEdBQWxCQSxrQkFBa0I7QUFDeEIsR0FBSyxDQUFDQyxrQkFBa0IsR0FBRyxDQUFJO1FBQXpCQSxrQkFBa0IsR0FBbEJBLGtCQUFrQjtBQUN4QixHQUFLLENBQUNDLG1CQUFtQixHQUFHQyxNQUFNLENBQUNDLFlBQVksQ0FBQyxHQUFHO1FBQTdDRixtQkFBbUIsR0FBbkJBLG1CQUFtQjtBQUN6QixHQUFLLENBQUNHLG1CQUFtQixHQUFHLENBQUc7UUFBekJBLG1CQUFtQixHQUFuQkEsbUJBQW1CO0FBQ3pCLEdBQUssQ0FBQ0MsbUJBQW1CLEdBQUcsQ0FBTTtRQUE1QkEsbUJBQW1CLEdBQW5CQSxtQkFBbUI7QUFDekIsR0FBSyxDQUFDQyxzQkFBc0IsR0FBRyxDQUFNO1FBQS9CQSxzQkFBc0IsR0FBdEJBLHNCQUFzQjtBQUM1QixHQUFLLENBQUNDLHVCQUF1QixHQUFHLENBQUc7UUFBN0JBLHVCQUF1QixHQUF2QkEsdUJBQXVCO0FBQzdCLEdBQUssQ0FBQ0MseUJBQXlCLEdBQUcsQ0FBSTtRQUFoQ0EseUJBQXlCLEdBQXpCQSx5QkFBeUI7QUFDL0IsR0FBSyxDQUFDQywwQkFBMEIsR0FBRyxDQUFHO1FBQWhDQSwwQkFBMEIsR0FBMUJBLDBCQUEwQjtlQUV4QixDQUFDO0lBQ2R2QixZQUFZLEVBQVpBLFlBQVk7SUFDWkMsYUFBYSxFQUFiQSxhQUFhO0lBQ2JDLGFBQWEsRUFBYkEsYUFBYTtJQUNiQyxjQUFjLEVBQWRBLGNBQWM7SUFDZEMsY0FBYyxFQUFkQSxjQUFjO0lBQ2RDLGNBQWMsRUFBZEEsY0FBYztJQUNkQyxlQUFlLEVBQWZBLGVBQWU7SUFDZkMsZUFBZSxFQUFmQSxlQUFlO0lBQ2ZDLGVBQWUsRUFBZkEsZUFBZTtJQUNmQyxlQUFlLEVBQWZBLGVBQWU7SUFDZkMsZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7SUFDaEJDLGdCQUFnQixFQUFoQkEsZ0JBQWdCO0lBQ2hCQyxrQkFBa0IsRUFBbEJBLGtCQUFrQjtJQUNsQkMsa0JBQWtCLEVBQWxCQSxrQkFBa0I7SUFDbEJDLGtCQUFrQixFQUFsQkEsa0JBQWtCO0lBQ2xCSSxtQkFBbUIsRUFBbkJBLG1CQUFtQjtJQUNuQkgsbUJBQW1CLEVBQW5CQSxtQkFBbUI7SUFDbkJJLG1CQUFtQixFQUFuQkEsbUJBQW1CO0lBQ25CQyxzQkFBc0IsRUFBdEJBLHNCQUFzQjtJQUN0QkMsdUJBQXVCLEVBQXZCQSx1QkFBdUI7SUFDdkJDLHlCQUF5QixFQUF6QkEseUJBQXlCO0lBQ3pCQywwQkFBMEIsRUFBMUJBLDBCQUEwQjtBQUM1QixDQUFDIn0=
|
package/lib/utilities/logging.js
CHANGED
|
@@ -40,7 +40,7 @@ function log(messageOrError) {
|
|
|
40
40
|
if (levelIndex < logLevelIndex) {
|
|
41
41
|
return;
|
|
42
42
|
}
|
|
43
|
-
salientStackMessageIndex +=
|
|
43
|
+
salientStackMessageIndex += 2;
|
|
44
44
|
level = "".concat(level); ///
|
|
45
45
|
}
|
|
46
46
|
var error1, message;
|
|
@@ -51,7 +51,7 @@ function log(messageOrError) {
|
|
|
51
51
|
message = messageOrError; ///
|
|
52
52
|
error1 = new Error(message);
|
|
53
53
|
}
|
|
54
|
-
var stack = error1.stack, stackMessages = stackMessagesFromStack(stack),
|
|
54
|
+
var stack = error1.stack, stackMessages = stackMessagesFromStack(stack), salientStackMessage = stackMessages[salientStackMessageIndex], stackMessage = salientStackMessage, upperCaseLevel = level.toUpperCase(), currentDateAndTimeString = getCurrentDateAndTimeString(), filePath = filePathFromStackMessage(stackMessage), lineNumber = lineNumberFromStackMessage(stackMessage), logMessage = "".concat(upperCaseLevel, " ").concat(currentDateAndTimeString, " ").concat(filePath, "(").concat(lineNumber, ") ").concat(message);
|
|
55
55
|
console.log(logMessage);
|
|
56
56
|
if (logDirectoryPath !== null) {
|
|
57
57
|
rollOverLogFile();
|
|
@@ -183,4 +183,4 @@ function padStart(string, targetLength, padString) {
|
|
|
183
183
|
return paddedString;
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbG9nZ2luZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgc2Vjb25kIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgY29uY2F0ZW5hdGVQYXRocyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcGF0aFwiO1xuaW1wb3J0IHsgWkVSTywgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgY2hlY2tGaWxlRXhpc3RzLCByZWFkRmlsZSwgYXBwZW5kVG9GaWxlLCByZW5hbWVGaWxlLCBnZXRTdGF0cyB9IGZyb20gXCIuLi91dGlsaXRpZXMvZmlsZVN5c3RlbVwiO1xuaW1wb3J0IHsgREVGQVVMVF9MT0dfTEVWRUwsIERFRkFVTFRfTE9HX0ZJTEVfQkFTRV9OQU1FLCBERUZBVUxUX0xPR19ESVJFQ1RPUllfUEFUSCB9IGZyb20gXCIuLi9kZWZhdWx0c1wiO1xuaW1wb3J0IHsgVFJBQ0VfTEVWRUwsIERFQlVHX0xFVkVMLCBJTkZPX0xFVkVMLCBXQVJOSU5HX0xFVkVMLCBFUlJPUl9MRVZFTCwgRkFUQUxfTEVWRUwgfSBmcm9tIFwiLi4vbGV2ZWxzXCI7XG5cbmNvbnN0IGxldmVscyA9IFtcbiAgVFJBQ0VfTEVWRUwsXG4gIERFQlVHX0xFVkVMLFxuICBJTkZPX0xFVkVMLFxuICBXQVJOSU5HX0xFVkVMLFxuICBFUlJPUl9MRVZFTCxcbiAgRkFUQUxfTEVWRUwsXG5dO1xuXG5sZXQgbG9nTGV2ZWwgPSBERUZBVUxUX0xPR19MRVZFTCxcbiAgICBsb2dGaWxlQmFzZU5hbWUgPSBERUZBVUxUX0xPR19GSUxFX0JBU0VfTkFNRSxcbiAgICBsb2dEaXJlY3RvcnlQYXRoID0gREVGQVVMVF9MT0dfRElSRUNUT1JZX1BBVEg7XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2cobWVzc2FnZU9yRXJyb3IsIGxldmVsID0gRU1QVFlfU1RSSU5HKSB7XG4gIGxldCBzYWxpZW50U3RhY2tNZXNzYWdlSW5kZXggPSAxO1xuXG4gIGlmIChsZXZlbCAhPT0gRU1QVFlfU1RSSU5HKSB7XG4gICAgY29uc3QgbGV2ZWxJbmRleCA9IGxldmVscy5pbmRleE9mKGxldmVsKSxcbiAgICAgICAgICBsb2dMZXZlbEluZGV4ID0gbGV2ZWxzLmluZGV4T2YobG9nTGV2ZWwpO1xuXG4gICAgaWYgKGxldmVsSW5kZXggPCBsb2dMZXZlbEluZGV4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2FsaWVudFN0YWNrTWVzc2FnZUluZGV4ICs9IDE7XG5cbiAgICBsZXZlbCA9IGAke2xldmVsfWA7ICAvLy9cbiAgfVxuXG4gIGxldCBlcnJvcixcbiAgICAgIG1lc3NhZ2U7XG5cbiAgaWYgKG1lc3NhZ2VPckVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICBlcnJvciA9IG1lc3NhZ2VPckVycm9yOyAvLy9cblxuICAgICh7IG1lc3NhZ2UgfSA9IGVycm9yKTtcbiAgfSBlbHNlIHtcbiAgICBtZXNzYWdlID0gbWVzc2FnZU9yRXJyb3I7IC8vL1xuXG4gICAgZXJyb3IgPSBuZXcgRXJyb3IobWVzc2FnZSk7XG4gIH1cblxuICBjb25zdCB7IHN0YWNrIH0gPSBlcnJvcixcbiAgICAgICAgc3RhY2tNZXNzYWdlcyA9IHN0YWNrTWVzc2FnZXNGcm9tU3RhY2soc3RhY2spLFxuICAgICAgICBwZXJ0aW5lbnRTdGFja01lc3NhZ2UgPSBzdGFja01lc3NhZ2VzW3NhbGllbnRTdGFja01lc3NhZ2VJbmRleF0sXG4gICAgICAgIHN0YWNrTWVzc2FnZSA9IHBlcnRpbmVudFN0YWNrTWVzc2FnZSwgLy8vXG4gICAgICAgIHVwcGVyQ2FzZUxldmVsID0gbGV2ZWwudG9VcHBlckNhc2UoKSxcbiAgICAgICAgY3VycmVudERhdGVBbmRUaW1lU3RyaW5nID0gZ2V0Q3VycmVudERhdGVBbmRUaW1lU3RyaW5nKCksXG4gICAgICAgIGZpbGVQYXRoID0gZmlsZVBhdGhGcm9tU3RhY2tNZXNzYWdlKHN0YWNrTWVzc2FnZSksXG4gICAgICAgIGxpbmVOdW1iZXIgPSBsaW5lTnVtYmVyRnJvbVN0YWNrTWVzc2FnZShzdGFja01lc3NhZ2UpLFxuICAgICAgICBsb2dNZXNzYWdlID0gYCR7dXBwZXJDYXNlTGV2ZWx9ICR7Y3VycmVudERhdGVBbmRUaW1lU3RyaW5nfSAke2ZpbGVQYXRofSgke2xpbmVOdW1iZXJ9KSAke21lc3NhZ2V9YDtcblxuICBjb25zb2xlLmxvZyhsb2dNZXNzYWdlKTtcblxuICBpZiAobG9nRGlyZWN0b3J5UGF0aCAhPT0gbnVsbCkge1xuICAgIHJvbGxPdmVyTG9nRmlsZSgpO1xuXG4gICAgY29uc3QgbG9nRmlsZVBhdGggPSBnZXRMb2dGaWxlUGF0aCgpLFxuICAgICAgICAgIGxvZ0ZpbGVDb250ZW50ID0gYCR7bG9nTWVzc2FnZX1cXG5gO1xuXG4gICAgYXBwZW5kVG9GaWxlKGxvZ0ZpbGVQYXRoLCBsb2dGaWxlQ29udGVudCk7XG4gIH1cblxuICByZXR1cm4gbG9nTWVzc2FnZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBsb2dcbn1cblxuZnVuY3Rpb24gdHJhY2UobWVzc2FnZSkgeyByZXR1cm4gbG9nKG1lc3NhZ2UsIFRSQUNFX0xFVkVMKTsgfVxuXG5mdW5jdGlvbiBkZWJ1ZyhtZXNzYWdlKSB7IHJldHVybiBsb2cobWVzc2FnZSwgREVCVUdfTEVWRUwpOyB9XG5cbmZ1bmN0aW9uIGluZm8obWVzc2FnZSkgeyByZXR1cm4gbG9nKG1lc3NhZ2UsIElORk9fTEVWRUwpOyB9XG5cbmZ1bmN0aW9uIHdhcm5pbmcobWVzc2FnZSkgeyByZXR1cm4gbG9nKG1lc3NhZ2UsIFdBUk5JTkdfTEVWRUwpOyB9XG5cbmZ1bmN0aW9uIGVycm9yKG1lc3NhZ2UpIHsgcmV0dXJuIGxvZyhtZXNzYWdlLCBFUlJPUl9MRVZFTCk7IH1cblxuZnVuY3Rpb24gZmF0YWwobWVzc2FnZSkgeyByZXR1cm4gbG9nKG1lc3NhZ2UsIEZBVEFMX0xFVkVMKTsgfVxuXG5mdW5jdGlvbiBzZXRMb2dMZXZlbChsZXZlbCkgeyBsb2dMZXZlbCA9IGxldmVsOyB9XG5cbmZ1bmN0aW9uIHNldExvZ09wdGlvbnMobG9nT3B0aW9ucykge1xuICBjb25zdCB7IGxldmVsLCBmaWxlQmFzZU5hbWUsIGRpcmVjdG9yeVBhdGggfSA9IGxvZ09wdGlvbnM7XG5cbiAgc2V0TG9nTGV2ZWwobGV2ZWwpO1xuXG4gIHNldExvZ0ZpbGVCYXNlTmFtZShmaWxlQmFzZU5hbWUpO1xuXG4gIHNldExvZ0RpcmVjdG9yeVBhdGgoZGlyZWN0b3J5UGF0aCk7XG59XG5cbmZ1bmN0aW9uIGdldExvZ0ZpbGVDb250ZW50KCkge1xuICBjb25zdCBsb2dGaWxlUGF0aCA9IGdldExvZ0ZpbGVQYXRoKCksXG4gICAgICAgIGxvZ0ZpbGVDb250ZW50ID0gcmVhZEZpbGUobG9nRmlsZVBhdGgpO1xuXG4gIHJldHVybiBsb2dGaWxlQ29udGVudDtcbn1cblxuZnVuY3Rpb24gc2V0TG9nRmlsZUJhc2VOYW1lKGZpbGVCYXNlTmFtZSkgeyBsb2dGaWxlQmFzZU5hbWUgPSBmaWxlQmFzZU5hbWU7IH1cblxuZnVuY3Rpb24gc2V0TG9nRGlyZWN0b3J5UGF0aChkaXJlY3RvcnlQYXRoKSB7IGxvZ0RpcmVjdG9yeVBhdGggPSBkaXJlY3RvcnlQYXRoOyB9XG5cbk9iamVjdC5hc3NpZ24obG9nLCB7XG4gIHRyYWNlLFxuICBkZWJ1ZyxcbiAgaW5mbyxcbiAgd2FybmluZyxcbiAgZXJyb3IsXG4gIGZhdGFsLFxuICBzZXRMb2dMZXZlbCxcbiAgc2V0TG9nT3B0aW9ucyxcbiAgZ2V0TG9nRmlsZUNvbnRlbnQsXG4gIHNldExvZ0ZpbGVCYXNlTmFtZSxcbiAgc2V0TG9nRGlyZWN0b3J5UGF0aFxufSk7XG5cbmZ1bmN0aW9uIGdldExvZ0ZpbGVQYXRoKCkge1xuICBjb25zdCBsb2dGaWxlTmFtZSA9IGAke2xvZ0ZpbGVCYXNlTmFtZX0ubG9nYCxcbiAgICAgICAgbG9nRmlsZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKGxvZ0RpcmVjdG9yeVBhdGgsIGxvZ0ZpbGVOYW1lKTtcblxuICByZXR1cm4gbG9nRmlsZVBhdGg7XG59XG5cbmZ1bmN0aW9uIGdldFJvbGxlZE92ZXJMb2dGaWxlUGF0aCgpIHtcbiAgY29uc3QgY3VycmVudERhdGVTdHJpbmcgPSBnZXRDdXJyZW50RGF0ZVN0cmluZygpLFxuICAgICAgICByb2xsZWRPdmVyTG9nRmlsZU5hbWUgPSBgJHtsb2dGaWxlQmFzZU5hbWV9LiR7Y3VycmVudERhdGVTdHJpbmd9LmxvZ2AsXG4gICAgICAgIHJvbGxlZE92ZXJMb2dGaWxlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMobG9nRGlyZWN0b3J5UGF0aCwgcm9sbGVkT3ZlckxvZ0ZpbGVOYW1lKTtcblxuICByZXR1cm4gcm9sbGVkT3ZlckxvZ0ZpbGVQYXRoO1xufVxuXG5mdW5jdGlvbiBnZXRMb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZSgpIHtcbiAgY29uc3QgbG9nRmlsZVBhdGggPSBnZXRMb2dGaWxlUGF0aCgpLFxuICAgICAgICBsb2dGaWxlU3RhdHMgPSBnZXRTdGF0cyhsb2dGaWxlUGF0aCksXG4gICAgICAgIHsgbXRpbWUgfSA9IGxvZ0ZpbGVTdGF0cyxcbiAgICAgICAgbG9nRmlsZUxhc3RNb2RpZmllZERhdGUgPSBuZXcgRGF0ZShtdGltZSk7ICAvLy9cblxuICByZXR1cm4gbG9nRmlsZUxhc3RNb2RpZmllZERhdGU7XG59XG5cbmZ1bmN0aW9uIHJvbGxPdmVyTG9nRmlsZSgpIHtcbiAgY29uc3QgbG9nRmlsZVBhdGggPSBnZXRMb2dGaWxlUGF0aCgpLFxuICAgICAgICBsb2dGaWxlRXhpc3RzID0gY2hlY2tGaWxlRXhpc3RzKGxvZ0ZpbGVQYXRoKTtcblxuICBpZiAoIWxvZ0ZpbGVFeGlzdHMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBsb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZSA9IGdldExvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlKCksXG4gICAgICAgIGxvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlQ3VycmVudERhdGUgPSBpc0RhdGVDdXJyZW50RGF0ZShsb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZSk7XG5cbiAgaWYgKCFsb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZUN1cnJlbnREYXRlKSB7XG4gICAgY29uc3Qgcm9sbGVkT3ZlckxvZ0ZpbGVQYXRoID0gZ2V0Um9sbGVkT3ZlckxvZ0ZpbGVQYXRoKCk7XG5cbiAgICByZW5hbWVGaWxlKGxvZ0ZpbGVQYXRoLCByb2xsZWRPdmVyTG9nRmlsZVBhdGgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzRGF0ZUN1cnJlbnREYXRlKGRhdGUpIHtcbiAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpLFxuICAgICAgICBkYXRlU3RyaW5nID0gZGF0ZS50b0RhdGVTdHJpbmcoKSxcbiAgICAgICAgY3VycmVudERhdGVTdHJpbmcgPSBjdXJyZW50RGF0ZS50b0RhdGVTdHJpbmcoKSxcbiAgICAgICAgZGF0ZUN1cnJlbnREYXRlID0gKGRhdGVTdHJpbmcgPT09IGN1cnJlbnREYXRlU3RyaW5nKTtcblxuICByZXR1cm4gZGF0ZUN1cnJlbnREYXRlO1xufVxuXG5mdW5jdGlvbiBnZXRDdXJyZW50RGF0ZVN0cmluZygpIHtcbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCksXG4gICAgICAgIGRheSA9IHBhZFN0YXJ0V2l0aFplcm9lcyhkYXRlLmdldERhdGUoKSwgMiksICAvLy9cbiAgICAgICAgbW9udGggPSBwYWRTdGFydFdpdGhaZXJvZXMoZGF0ZS5nZXRNb250aCgpICsgMSwgMiksIC8vL1xuICAgICAgICB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBjdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmcgPSBgJHtkYXl9LSR7bW9udGh9LSR7eWVhcn1gO1xuXG4gIHJldHVybiBjdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldEN1cnJlbnREYXRlQW5kVGltZVN0cmluZygpIHtcbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCksXG4gICAgICAgIGRheSA9IHBhZFN0YXJ0V2l0aFplcm9lcyhkYXRlLmdldERhdGUoKSwgMiksICAvLy9cbiAgICAgICAgbW9udGggPSBwYWRTdGFydFdpdGhaZXJvZXMoZGF0ZS5nZXRNb250aCgpICsgMSwgMiksIC8vL1xuICAgICAgICB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBob3VycyA9IHBhZFN0YXJ0V2l0aFplcm9lcyhkYXRlLmdldEhvdXJzKCksIDIpLFxuICAgICAgICBtaW51dGVzID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0TWludXRlcygpLCAyKSxcbiAgICAgICAgc2Vjb25kcyA9IHBhZFN0YXJ0V2l0aFplcm9lcyhkYXRlLmdldFNlY29uZHMoKSwgMiksXG4gICAgICAgIG1pbGxpc2Vjb25kcyA9IHBhZFN0YXJ0V2l0aFplcm9lcyhkYXRlLmdldE1pbGxpc2Vjb25kcygpLCAzKSxcbiAgICAgICAgY3VycmVudERhdGVBbmRUaW1lU3RyaW5nID0gYCR7ZGF5fS0ke21vbnRofS0ke3llYXJ9ICR7aG91cnN9OiR7bWludXRlc306JHtzZWNvbmRzfS4ke21pbGxpc2Vjb25kc31gO1xuXG4gIHJldHVybiBjdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIHN0YWNrTWVzc2FnZXNGcm9tU3RhY2soc3RhY2spIHtcbiAgY29uc3Qgc3RhY2tNZXNzYWdlcyA9IFtdLFxuICAgICAgICBzdGFja0xpbmVzID0gc3RhY2suc3BsaXQoL1xcclxcbnxcXG4vKTtcblxuICBsZXQgc3RhY2tNZXNzYWdlID0gRU1QVFlfU1RSSU5HO1xuXG4gIHN0YWNrTGluZXMuZm9yRWFjaCgoc3RhY2tMaW5lKSA9PiB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IC9eXFxzKmF0LiovLnRlc3Qoc3RhY2tMaW5lKTtcblxuICAgIHN0YWNrTWVzc2FnZSA9IChzdGFja01lc3NhZ2UgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgICAgICAgICAgICAgICAgIHN0YWNrTGluZSA6XG4gICAgICAgICAgICAgICAgICAgICAgICBgJHtzdGFja01lc3NhZ2V9XFxuJHtzdGFja0xpbmV9YDtcblxuICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICBzdGFja01lc3NhZ2VzLnB1c2goc3RhY2tNZXNzYWdlKTtcblxuICAgICAgc3RhY2tNZXNzYWdlID0gRU1QVFlfU1RSSU5HO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHN0YWNrTWVzc2FnZXM7XG59XG5cbmZ1bmN0aW9uIGZpbGVQYXRoRnJvbVN0YWNrTWVzc2FnZShzdGFja01lc3NhZ2UpIHtcbiAgY29uc3QgbWF0Y2hlcyA9IHN0YWNrTWVzc2FnZS5tYXRjaCgvKFxcLy4rKTpcXGQrOlxcZCsvbSksXG4gICAgICAgIHNlY29uZE1hdGNoID0gc2Vjb25kKG1hdGNoZXMpLFxuICAgICAgICBhYnNvbHV0ZUZpbGVQYXRoID0gc2Vjb25kTWF0Y2gsICAvLy9cbiAgICAgICAgY3VycmVudFdvcmtpbmdEaXJlY3RvcnlQYXRoID0gcGF0aC5yZXNvbHZlKFwiLlwiKSwgIC8vL1xuICAgICAgICBjdXJyZW50V29ya2luZ0RpcmVjdG9yeVBhdGhMZW5ndGggPSBjdXJyZW50V29ya2luZ0RpcmVjdG9yeVBhdGgubGVuZ3RoLFxuICAgICAgICBzdGFydCA9IGN1cnJlbnRXb3JraW5nRGlyZWN0b3J5UGF0aExlbmd0aCArIDEsICAvLy9cbiAgICAgICAgZmlsZVBhdGggPSBhYnNvbHV0ZUZpbGVQYXRoLnN1YnN0cihzdGFydCk7XG5cbiAgcmV0dXJuIGZpbGVQYXRoO1xufVxuXG5mdW5jdGlvbiBsaW5lTnVtYmVyRnJvbVN0YWNrTWVzc2FnZShzdGFja01lc3NhZ2UpIHtcbiAgY29uc3QgbWF0Y2hlcyA9IHN0YWNrTWVzc2FnZS5tYXRjaCgvOihcXGQrKS9tKSxcbiAgICAgICAgc2Vjb25kTWF0Y2ggPSBzZWNvbmQobWF0Y2hlcyksXG4gICAgICAgIGxpbmVOdW1iZXIgPSBzZWNvbmRNYXRjaDsgLy8vXG5cbiAgcmV0dXJuIGxpbmVOdW1iZXI7XG59XG5cbmZ1bmN0aW9uIHBhZFN0YXJ0V2l0aFplcm9lcyhzdHJpbmcsIHRhcmdldExlbmd0aCkge1xuICBjb25zdCBwYWRTdHJpbmcgPSBaRVJPLCAvLy9cbiAgICAgICAgcGFkZGVkU3RyaW5nID0gcGFkU3RhcnQoc3RyaW5nLCB0YXJnZXRMZW5ndGgsIHBhZFN0cmluZyk7XG5cbiAgcmV0dXJuIHBhZGRlZFN0cmluZztcbn1cblxuZnVuY3Rpb24gcGFkU3RhcnQoc3RyaW5nLCB0YXJnZXRMZW5ndGgsIHBhZFN0cmluZykge1xuICBsZXQgcGFkZGluZyA9IEVNUFRZX1NUUklORztcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdGFyZ2V0TGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgcGFkZGluZyArPSBwYWRTdHJpbmc7XG4gIH1cblxuICBjb25zdCBwYWRkZWRTdHJpbmcgPSBgJHtwYWRkaW5nfSR7c3RyaW5nfWAuc3Vic3RyKC10YXJnZXRMZW5ndGgpO1xuXG4gIHJldHVybiBwYWRkZWRTdHJpbmc7XG59XG4iXSwibmFtZXMiOlsibG9nIiwibGV2ZWxzIiwibG9nTGV2ZWwiLCJsb2dGaWxlQmFzZU5hbWUiLCJsb2dEaXJlY3RvcnlQYXRoIiwibWVzc2FnZU9yRXJyb3IiLCJsZXZlbCIsInNhbGllbnRTdGFja01lc3NhZ2VJbmRleCIsImxldmVsSW5kZXgiLCJpbmRleE9mIiwibG9nTGV2ZWxJbmRleCIsImVycm9yIiwibWVzc2FnZSIsIkVycm9yIiwic3RhY2siLCJzdGFja01lc3NhZ2VzIiwic3RhY2tNZXNzYWdlc0Zyb21TdGFjayIsInBlcnRpbmVudFN0YWNrTWVzc2FnZSIsInN0YWNrTWVzc2FnZSIsInVwcGVyQ2FzZUxldmVsIiwidG9VcHBlckNhc2UiLCJjdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmciLCJnZXRDdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmciLCJmaWxlUGF0aCIsImZpbGVQYXRoRnJvbVN0YWNrTWVzc2FnZSIsImxpbmVOdW1iZXIiLCJsaW5lTnVtYmVyRnJvbVN0YWNrTWVzc2FnZSIsImxvZ01lc3NhZ2UiLCJjb25zb2xlIiwicm9sbE92ZXJMb2dGaWxlIiwibG9nRmlsZVBhdGgiLCJnZXRMb2dGaWxlUGF0aCIsImxvZ0ZpbGVDb250ZW50IiwidHJhY2UiLCJkZWJ1ZyIsImluZm8iLCJ3YXJuaW5nIiwiZmF0YWwiLCJzZXRMb2dMZXZlbCIsInNldExvZ09wdGlvbnMiLCJsb2dPcHRpb25zIiwiZmlsZUJhc2VOYW1lIiwiZGlyZWN0b3J5UGF0aCIsInNldExvZ0ZpbGVCYXNlTmFtZSIsInNldExvZ0RpcmVjdG9yeVBhdGgiLCJnZXRMb2dGaWxlQ29udGVudCIsIk9iamVjdCIsImFzc2lnbiIsImxvZ0ZpbGVOYW1lIiwiZ2V0Um9sbGVkT3ZlckxvZ0ZpbGVQYXRoIiwiY3VycmVudERhdGVTdHJpbmciLCJnZXRDdXJyZW50RGF0ZVN0cmluZyIsInJvbGxlZE92ZXJMb2dGaWxlTmFtZSIsInJvbGxlZE92ZXJMb2dGaWxlUGF0aCIsImdldExvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlIiwibG9nRmlsZVN0YXRzIiwibXRpbWUiLCJsb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZSIsIkRhdGUiLCJsb2dGaWxlRXhpc3RzIiwibG9nRmlsZUxhc3RNb2RpZmllZERhdGVDdXJyZW50RGF0ZSIsImlzRGF0ZUN1cnJlbnREYXRlIiwiZGF0ZSIsImN1cnJlbnREYXRlIiwiZGF0ZVN0cmluZyIsInRvRGF0ZVN0cmluZyIsImRhdGVDdXJyZW50RGF0ZSIsImRheSIsInBhZFN0YXJ0V2l0aFplcm9lcyIsImdldERhdGUiLCJtb250aCIsImdldE1vbnRoIiwieWVhciIsImdldEZ1bGxZZWFyIiwiaG91cnMiLCJnZXRIb3VycyIsIm1pbnV0ZXMiLCJnZXRNaW51dGVzIiwic2Vjb25kcyIsImdldFNlY29uZHMiLCJtaWxsaXNlY29uZHMiLCJnZXRNaWxsaXNlY29uZHMiLCJzdGFja0xpbmVzIiwic3BsaXQiLCJmb3JFYWNoIiwic3RhY2tMaW5lIiwibWF0Y2hlcyIsInRlc3QiLCJwdXNoIiwibWF0Y2giLCJzZWNvbmRNYXRjaCIsImFic29sdXRlRmlsZVBhdGgiLCJjdXJyZW50V29ya2luZ0RpcmVjdG9yeVBhdGgiLCJyZXNvbHZlIiwiY3VycmVudFdvcmtpbmdEaXJlY3RvcnlQYXRoTGVuZ3RoIiwibGVuZ3RoIiwic3RhcnQiLCJzdWJzdHIiLCJzdHJpbmciLCJ0YXJnZXRMZW5ndGgiLCJwYWRTdHJpbmciLCJwYWRkZWRTdHJpbmciLCJwYWRTdGFydCIsInBhZGRpbmciLCJpbmRleCJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7OztRQXdCSUEsR0FBRyxHQUFIQSxHQUFHOztBQXRCRixHQUFNLENBQU4sS0FBTTtBQUVBLEdBQW9CLENBQXBCLE1BQW9CO0FBQ1YsR0FBbUIsQ0FBbkIsTUFBbUI7QUFDakIsR0FBYyxDQUFkLFVBQWM7QUFDNkIsR0FBeUIsQ0FBekIsV0FBeUI7QUFDYixHQUFhLENBQWIsU0FBYTtBQUNULEdBQVcsQ0FBWCxPQUFXOzs7Ozs7Ozs7Ozs7O0FBRXpHLEdBQUssQ0FBQ0MsTUFBTSxHQUFHLENBQUM7SUFGOEUsT0FBVztJQUFYLE9BQVc7SUFBWCxPQUFXO0lBQVgsT0FBVztJQUFYLE9BQVc7SUFBWCxPQUFXO0FBU3pHLENBQUM7QUFFRCxHQUFHLENBQUNDLFFBQVEsR0FaOEUsU0FBYSxvQkFhbkdDLGVBQWUsR0FidUUsU0FBYSw2QkFjbkdDLGdCQUFnQixHQWRzRSxTQUFhO1NBZ0J2RkosR0FBRyxDQUFDSyxjQUFjLEVBQXdCLENBQUM7UUFBdkJDLEtBQUssb0VBbEJOLFVBQWM7SUFtQi9DLEdBQUcsQ0FBQ0Msd0JBQXdCLEdBQUcsQ0FBQztJQUVoQyxFQUFFLEVBQUVELEtBQUssS0FyQndCLFVBQWMsZUFxQm5CLENBQUM7UUFDM0IsR0FBSyxDQUFDRSxVQUFVLEdBQUdQLE1BQU0sQ0FBQ1EsT0FBTyxDQUFDSCxLQUFLLEdBQ2pDSSxhQUFhLEdBQUdULE1BQU0sQ0FBQ1EsT0FBTyxDQUFDUCxRQUFRO1FBRTdDLEVBQUUsRUFBRU0sVUFBVSxHQUFHRSxh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
|
|
186
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbG9nZ2luZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgc2Vjb25kIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgY29uY2F0ZW5hdGVQYXRocyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcGF0aFwiO1xuaW1wb3J0IHsgWkVSTywgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgY2hlY2tGaWxlRXhpc3RzLCByZWFkRmlsZSwgYXBwZW5kVG9GaWxlLCByZW5hbWVGaWxlLCBnZXRTdGF0cyB9IGZyb20gXCIuLi91dGlsaXRpZXMvZmlsZVN5c3RlbVwiO1xuaW1wb3J0IHsgREVGQVVMVF9MT0dfTEVWRUwsIERFRkFVTFRfTE9HX0ZJTEVfQkFTRV9OQU1FLCBERUZBVUxUX0xPR19ESVJFQ1RPUllfUEFUSCB9IGZyb20gXCIuLi9kZWZhdWx0c1wiO1xuaW1wb3J0IHsgVFJBQ0VfTEVWRUwsIERFQlVHX0xFVkVMLCBJTkZPX0xFVkVMLCBXQVJOSU5HX0xFVkVMLCBFUlJPUl9MRVZFTCwgRkFUQUxfTEVWRUwgfSBmcm9tIFwiLi4vbGV2ZWxzXCI7XG5cbmNvbnN0IGxldmVscyA9IFtcbiAgVFJBQ0VfTEVWRUwsXG4gIERFQlVHX0xFVkVMLFxuICBJTkZPX0xFVkVMLFxuICBXQVJOSU5HX0xFVkVMLFxuICBFUlJPUl9MRVZFTCxcbiAgRkFUQUxfTEVWRUwsXG5dO1xuXG5sZXQgbG9nTGV2ZWwgPSBERUZBVUxUX0xPR19MRVZFTCxcbiAgICBsb2dGaWxlQmFzZU5hbWUgPSBERUZBVUxUX0xPR19GSUxFX0JBU0VfTkFNRSxcbiAgICBsb2dEaXJlY3RvcnlQYXRoID0gREVGQVVMVF9MT0dfRElSRUNUT1JZX1BBVEg7XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2cobWVzc2FnZU9yRXJyb3IsIGxldmVsID0gRU1QVFlfU1RSSU5HKSB7XG4gIGxldCBzYWxpZW50U3RhY2tNZXNzYWdlSW5kZXggPSAxO1xuXG4gIGlmIChsZXZlbCAhPT0gRU1QVFlfU1RSSU5HKSB7XG4gICAgY29uc3QgbGV2ZWxJbmRleCA9IGxldmVscy5pbmRleE9mKGxldmVsKSxcbiAgICAgICAgICBsb2dMZXZlbEluZGV4ID0gbGV2ZWxzLmluZGV4T2YobG9nTGV2ZWwpO1xuXG4gICAgaWYgKGxldmVsSW5kZXggPCBsb2dMZXZlbEluZGV4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2FsaWVudFN0YWNrTWVzc2FnZUluZGV4ICs9IDI7XG5cbiAgICBsZXZlbCA9IGAke2xldmVsfWA7ICAvLy9cbiAgfVxuXG4gIGxldCBlcnJvcixcbiAgICAgIG1lc3NhZ2U7XG5cbiAgaWYgKG1lc3NhZ2VPckVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICBlcnJvciA9IG1lc3NhZ2VPckVycm9yOyAvLy9cblxuICAgICh7IG1lc3NhZ2UgfSA9IGVycm9yKTtcbiAgfSBlbHNlIHtcbiAgICBtZXNzYWdlID0gbWVzc2FnZU9yRXJyb3I7IC8vL1xuXG4gICAgZXJyb3IgPSBuZXcgRXJyb3IobWVzc2FnZSk7XG4gIH1cblxuICBjb25zdCB7IHN0YWNrIH0gPSBlcnJvcixcbiAgICAgICAgc3RhY2tNZXNzYWdlcyA9IHN0YWNrTWVzc2FnZXNGcm9tU3RhY2soc3RhY2spLFxuICAgICAgICBzYWxpZW50U3RhY2tNZXNzYWdlID0gc3RhY2tNZXNzYWdlc1tzYWxpZW50U3RhY2tNZXNzYWdlSW5kZXhdLFxuICAgICAgICBzdGFja01lc3NhZ2UgPSBzYWxpZW50U3RhY2tNZXNzYWdlLCAvLy9cbiAgICAgICAgdXBwZXJDYXNlTGV2ZWwgPSBsZXZlbC50b1VwcGVyQ2FzZSgpLFxuICAgICAgICBjdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmcgPSBnZXRDdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmcoKSxcbiAgICAgICAgZmlsZVBhdGggPSBmaWxlUGF0aEZyb21TdGFja01lc3NhZ2Uoc3RhY2tNZXNzYWdlKSxcbiAgICAgICAgbGluZU51bWJlciA9IGxpbmVOdW1iZXJGcm9tU3RhY2tNZXNzYWdlKHN0YWNrTWVzc2FnZSksXG4gICAgICAgIGxvZ01lc3NhZ2UgPSBgJHt1cHBlckNhc2VMZXZlbH0gJHtjdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmd9ICR7ZmlsZVBhdGh9KCR7bGluZU51bWJlcn0pICR7bWVzc2FnZX1gO1xuXG4gIGNvbnNvbGUubG9nKGxvZ01lc3NhZ2UpO1xuXG4gIGlmIChsb2dEaXJlY3RvcnlQYXRoICE9PSBudWxsKSB7XG4gICAgcm9sbE92ZXJMb2dGaWxlKCk7XG5cbiAgICBjb25zdCBsb2dGaWxlUGF0aCA9IGdldExvZ0ZpbGVQYXRoKCksXG4gICAgICAgICAgbG9nRmlsZUNvbnRlbnQgPSBgJHtsb2dNZXNzYWdlfVxcbmA7XG5cbiAgICBhcHBlbmRUb0ZpbGUobG9nRmlsZVBhdGgsIGxvZ0ZpbGVDb250ZW50KTtcbiAgfVxuXG4gIHJldHVybiBsb2dNZXNzYWdlO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGxvZ1xufVxuXG5mdW5jdGlvbiB0cmFjZShtZXNzYWdlKSB7IHJldHVybiBsb2cobWVzc2FnZSwgVFJBQ0VfTEVWRUwpOyB9XG5cbmZ1bmN0aW9uIGRlYnVnKG1lc3NhZ2UpIHsgcmV0dXJuIGxvZyhtZXNzYWdlLCBERUJVR19MRVZFTCk7IH1cblxuZnVuY3Rpb24gaW5mbyhtZXNzYWdlKSB7IHJldHVybiBsb2cobWVzc2FnZSwgSU5GT19MRVZFTCk7IH1cblxuZnVuY3Rpb24gd2FybmluZyhtZXNzYWdlKSB7IHJldHVybiBsb2cobWVzc2FnZSwgV0FSTklOR19MRVZFTCk7IH1cblxuZnVuY3Rpb24gZXJyb3IobWVzc2FnZSkgeyByZXR1cm4gbG9nKG1lc3NhZ2UsIEVSUk9SX0xFVkVMKTsgfVxuXG5mdW5jdGlvbiBmYXRhbChtZXNzYWdlKSB7IHJldHVybiBsb2cobWVzc2FnZSwgRkFUQUxfTEVWRUwpOyB9XG5cbmZ1bmN0aW9uIHNldExvZ0xldmVsKGxldmVsKSB7IGxvZ0xldmVsID0gbGV2ZWw7IH1cblxuZnVuY3Rpb24gc2V0TG9nT3B0aW9ucyhsb2dPcHRpb25zKSB7XG4gIGNvbnN0IHsgbGV2ZWwsIGZpbGVCYXNlTmFtZSwgZGlyZWN0b3J5UGF0aCB9ID0gbG9nT3B0aW9ucztcblxuICBzZXRMb2dMZXZlbChsZXZlbCk7XG5cbiAgc2V0TG9nRmlsZUJhc2VOYW1lKGZpbGVCYXNlTmFtZSk7XG5cbiAgc2V0TG9nRGlyZWN0b3J5UGF0aChkaXJlY3RvcnlQYXRoKTtcbn1cblxuZnVuY3Rpb24gZ2V0TG9nRmlsZUNvbnRlbnQoKSB7XG4gIGNvbnN0IGxvZ0ZpbGVQYXRoID0gZ2V0TG9nRmlsZVBhdGgoKSxcbiAgICAgICAgbG9nRmlsZUNvbnRlbnQgPSByZWFkRmlsZShsb2dGaWxlUGF0aCk7XG5cbiAgcmV0dXJuIGxvZ0ZpbGVDb250ZW50O1xufVxuXG5mdW5jdGlvbiBzZXRMb2dGaWxlQmFzZU5hbWUoZmlsZUJhc2VOYW1lKSB7IGxvZ0ZpbGVCYXNlTmFtZSA9IGZpbGVCYXNlTmFtZTsgfVxuXG5mdW5jdGlvbiBzZXRMb2dEaXJlY3RvcnlQYXRoKGRpcmVjdG9yeVBhdGgpIHsgbG9nRGlyZWN0b3J5UGF0aCA9IGRpcmVjdG9yeVBhdGg7IH1cblxuT2JqZWN0LmFzc2lnbihsb2csIHtcbiAgdHJhY2UsXG4gIGRlYnVnLFxuICBpbmZvLFxuICB3YXJuaW5nLFxuICBlcnJvcixcbiAgZmF0YWwsXG4gIHNldExvZ0xldmVsLFxuICBzZXRMb2dPcHRpb25zLFxuICBnZXRMb2dGaWxlQ29udGVudCxcbiAgc2V0TG9nRmlsZUJhc2VOYW1lLFxuICBzZXRMb2dEaXJlY3RvcnlQYXRoXG59KTtcblxuZnVuY3Rpb24gZ2V0TG9nRmlsZVBhdGgoKSB7XG4gIGNvbnN0IGxvZ0ZpbGVOYW1lID0gYCR7bG9nRmlsZUJhc2VOYW1lfS5sb2dgLFxuICAgICAgICBsb2dGaWxlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMobG9nRGlyZWN0b3J5UGF0aCwgbG9nRmlsZU5hbWUpO1xuXG4gIHJldHVybiBsb2dGaWxlUGF0aDtcbn1cblxuZnVuY3Rpb24gZ2V0Um9sbGVkT3ZlckxvZ0ZpbGVQYXRoKCkge1xuICBjb25zdCBjdXJyZW50RGF0ZVN0cmluZyA9IGdldEN1cnJlbnREYXRlU3RyaW5nKCksXG4gICAgICAgIHJvbGxlZE92ZXJMb2dGaWxlTmFtZSA9IGAke2xvZ0ZpbGVCYXNlTmFtZX0uJHtjdXJyZW50RGF0ZVN0cmluZ30ubG9nYCxcbiAgICAgICAgcm9sbGVkT3ZlckxvZ0ZpbGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhsb2dEaXJlY3RvcnlQYXRoLCByb2xsZWRPdmVyTG9nRmlsZU5hbWUpO1xuXG4gIHJldHVybiByb2xsZWRPdmVyTG9nRmlsZVBhdGg7XG59XG5cbmZ1bmN0aW9uIGdldExvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlKCkge1xuICBjb25zdCBsb2dGaWxlUGF0aCA9IGdldExvZ0ZpbGVQYXRoKCksXG4gICAgICAgIGxvZ0ZpbGVTdGF0cyA9IGdldFN0YXRzKGxvZ0ZpbGVQYXRoKSxcbiAgICAgICAgeyBtdGltZSB9ID0gbG9nRmlsZVN0YXRzLFxuICAgICAgICBsb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZSA9IG5ldyBEYXRlKG10aW1lKTsgIC8vL1xuXG4gIHJldHVybiBsb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZTtcbn1cblxuZnVuY3Rpb24gcm9sbE92ZXJMb2dGaWxlKCkge1xuICBjb25zdCBsb2dGaWxlUGF0aCA9IGdldExvZ0ZpbGVQYXRoKCksXG4gICAgICAgIGxvZ0ZpbGVFeGlzdHMgPSBjaGVja0ZpbGVFeGlzdHMobG9nRmlsZVBhdGgpO1xuXG4gIGlmICghbG9nRmlsZUV4aXN0cykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGxvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlID0gZ2V0TG9nRmlsZUxhc3RNb2RpZmllZERhdGUoKSxcbiAgICAgICAgbG9nRmlsZUxhc3RNb2RpZmllZERhdGVDdXJyZW50RGF0ZSA9IGlzRGF0ZUN1cnJlbnREYXRlKGxvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlKTtcblxuICBpZiAoIWxvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlQ3VycmVudERhdGUpIHtcbiAgICBjb25zdCByb2xsZWRPdmVyTG9nRmlsZVBhdGggPSBnZXRSb2xsZWRPdmVyTG9nRmlsZVBhdGgoKTtcblxuICAgIHJlbmFtZUZpbGUobG9nRmlsZVBhdGgsIHJvbGxlZE92ZXJMb2dGaWxlUGF0aCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNEYXRlQ3VycmVudERhdGUoZGF0ZSkge1xuICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCksXG4gICAgICAgIGRhdGVTdHJpbmcgPSBkYXRlLnRvRGF0ZVN0cmluZygpLFxuICAgICAgICBjdXJyZW50RGF0ZVN0cmluZyA9IGN1cnJlbnREYXRlLnRvRGF0ZVN0cmluZygpLFxuICAgICAgICBkYXRlQ3VycmVudERhdGUgPSAoZGF0ZVN0cmluZyA9PT0gY3VycmVudERhdGVTdHJpbmcpO1xuXG4gIHJldHVybiBkYXRlQ3VycmVudERhdGU7XG59XG5cbmZ1bmN0aW9uIGdldEN1cnJlbnREYXRlU3RyaW5nKCkge1xuICBjb25zdCBkYXRlID0gbmV3IERhdGUoKSxcbiAgICAgICAgZGF5ID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0RGF0ZSgpLCAyKSwgIC8vL1xuICAgICAgICBtb250aCA9IHBhZFN0YXJ0V2l0aFplcm9lcyhkYXRlLmdldE1vbnRoKCkgKyAxLCAyKSwgLy8vXG4gICAgICAgIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgIGN1cnJlbnREYXRlQW5kVGltZVN0cmluZyA9IGAke2RheX0tJHttb250aH0tJHt5ZWFyfWA7XG5cbiAgcmV0dXJuIGN1cnJlbnREYXRlQW5kVGltZVN0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0Q3VycmVudERhdGVBbmRUaW1lU3RyaW5nKCkge1xuICBjb25zdCBkYXRlID0gbmV3IERhdGUoKSxcbiAgICAgICAgZGF5ID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0RGF0ZSgpLCAyKSwgIC8vL1xuICAgICAgICBtb250aCA9IHBhZFN0YXJ0V2l0aFplcm9lcyhkYXRlLmdldE1vbnRoKCkgKyAxLCAyKSwgLy8vXG4gICAgICAgIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgIGhvdXJzID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0SG91cnMoKSwgMiksXG4gICAgICAgIG1pbnV0ZXMgPSBwYWRTdGFydFdpdGhaZXJvZXMoZGF0ZS5nZXRNaW51dGVzKCksIDIpLFxuICAgICAgICBzZWNvbmRzID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0U2Vjb25kcygpLCAyKSxcbiAgICAgICAgbWlsbGlzZWNvbmRzID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCksIDMpLFxuICAgICAgICBjdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmcgPSBgJHtkYXl9LSR7bW9udGh9LSR7eWVhcn0gJHtob3Vyc306JHttaW51dGVzfToke3NlY29uZHN9LiR7bWlsbGlzZWNvbmRzfWA7XG5cbiAgcmV0dXJuIGN1cnJlbnREYXRlQW5kVGltZVN0cmluZztcbn1cblxuZnVuY3Rpb24gc3RhY2tNZXNzYWdlc0Zyb21TdGFjayhzdGFjaykge1xuICBjb25zdCBzdGFja01lc3NhZ2VzID0gW10sXG4gICAgICAgIHN0YWNrTGluZXMgPSBzdGFjay5zcGxpdCgvXFxyXFxufFxcbi8pO1xuXG4gIGxldCBzdGFja01lc3NhZ2UgPSBFTVBUWV9TVFJJTkc7XG5cbiAgc3RhY2tMaW5lcy5mb3JFYWNoKChzdGFja0xpbmUpID0+IHtcbiAgICBjb25zdCBtYXRjaGVzID0gL15cXHMqYXQuKi8udGVzdChzdGFja0xpbmUpO1xuXG4gICAgc3RhY2tNZXNzYWdlID0gKHN0YWNrTWVzc2FnZSA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgICAgICAgICAgICAgICAgICAgc3RhY2tMaW5lIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGAke3N0YWNrTWVzc2FnZX1cXG4ke3N0YWNrTGluZX1gO1xuXG4gICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgIHN0YWNrTWVzc2FnZXMucHVzaChzdGFja01lc3NhZ2UpO1xuXG4gICAgICBzdGFja01lc3NhZ2UgPSBFTVBUWV9TVFJJTkc7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gc3RhY2tNZXNzYWdlcztcbn1cblxuZnVuY3Rpb24gZmlsZVBhdGhGcm9tU3RhY2tNZXNzYWdlKHN0YWNrTWVzc2FnZSkge1xuICBjb25zdCBtYXRjaGVzID0gc3RhY2tNZXNzYWdlLm1hdGNoKC8oXFwvLispOlxcZCs6XFxkKy9tKSxcbiAgICAgICAgc2Vjb25kTWF0Y2ggPSBzZWNvbmQobWF0Y2hlcyksXG4gICAgICAgIGFic29sdXRlRmlsZVBhdGggPSBzZWNvbmRNYXRjaCwgIC8vL1xuICAgICAgICBjdXJyZW50V29ya2luZ0RpcmVjdG9yeVBhdGggPSBwYXRoLnJlc29sdmUoXCIuXCIpLCAgLy8vXG4gICAgICAgIGN1cnJlbnRXb3JraW5nRGlyZWN0b3J5UGF0aExlbmd0aCA9IGN1cnJlbnRXb3JraW5nRGlyZWN0b3J5UGF0aC5sZW5ndGgsXG4gICAgICAgIHN0YXJ0ID0gY3VycmVudFdvcmtpbmdEaXJlY3RvcnlQYXRoTGVuZ3RoICsgMSwgIC8vL1xuICAgICAgICBmaWxlUGF0aCA9IGFic29sdXRlRmlsZVBhdGguc3Vic3RyKHN0YXJ0KTtcblxuICByZXR1cm4gZmlsZVBhdGg7XG59XG5cbmZ1bmN0aW9uIGxpbmVOdW1iZXJGcm9tU3RhY2tNZXNzYWdlKHN0YWNrTWVzc2FnZSkge1xuICBjb25zdCBtYXRjaGVzID0gc3RhY2tNZXNzYWdlLm1hdGNoKC86KFxcZCspL20pLFxuICAgICAgICBzZWNvbmRNYXRjaCA9IHNlY29uZChtYXRjaGVzKSxcbiAgICAgICAgbGluZU51bWJlciA9IHNlY29uZE1hdGNoOyAvLy9cblxuICByZXR1cm4gbGluZU51bWJlcjtcbn1cblxuZnVuY3Rpb24gcGFkU3RhcnRXaXRoWmVyb2VzKHN0cmluZywgdGFyZ2V0TGVuZ3RoKSB7XG4gIGNvbnN0IHBhZFN0cmluZyA9IFpFUk8sIC8vL1xuICAgICAgICBwYWRkZWRTdHJpbmcgPSBwYWRTdGFydChzdHJpbmcsIHRhcmdldExlbmd0aCwgcGFkU3RyaW5nKTtcblxuICByZXR1cm4gcGFkZGVkU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBwYWRTdGFydChzdHJpbmcsIHRhcmdldExlbmd0aCwgcGFkU3RyaW5nKSB7XG4gIGxldCBwYWRkaW5nID0gRU1QVFlfU1RSSU5HO1xuXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0YXJnZXRMZW5ndGg7IGluZGV4KyspIHtcbiAgICBwYWRkaW5nICs9IHBhZFN0cmluZztcbiAgfVxuXG4gIGNvbnN0IHBhZGRlZFN0cmluZyA9IGAke3BhZGRpbmd9JHtzdHJpbmd9YC5zdWJzdHIoLXRhcmdldExlbmd0aCk7XG5cbiAgcmV0dXJuIHBhZGRlZFN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJsb2ciLCJsZXZlbHMiLCJsb2dMZXZlbCIsImxvZ0ZpbGVCYXNlTmFtZSIsImxvZ0RpcmVjdG9yeVBhdGgiLCJtZXNzYWdlT3JFcnJvciIsImxldmVsIiwic2FsaWVudFN0YWNrTWVzc2FnZUluZGV4IiwibGV2ZWxJbmRleCIsImluZGV4T2YiLCJsb2dMZXZlbEluZGV4IiwiZXJyb3IiLCJtZXNzYWdlIiwiRXJyb3IiLCJzdGFjayIsInN0YWNrTWVzc2FnZXMiLCJzdGFja01lc3NhZ2VzRnJvbVN0YWNrIiwic2FsaWVudFN0YWNrTWVzc2FnZSIsInN0YWNrTWVzc2FnZSIsInVwcGVyQ2FzZUxldmVsIiwidG9VcHBlckNhc2UiLCJjdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmciLCJnZXRDdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmciLCJmaWxlUGF0aCIsImZpbGVQYXRoRnJvbVN0YWNrTWVzc2FnZSIsImxpbmVOdW1iZXIiLCJsaW5lTnVtYmVyRnJvbVN0YWNrTWVzc2FnZSIsImxvZ01lc3NhZ2UiLCJjb25zb2xlIiwicm9sbE92ZXJMb2dGaWxlIiwibG9nRmlsZVBhdGgiLCJnZXRMb2dGaWxlUGF0aCIsImxvZ0ZpbGVDb250ZW50IiwidHJhY2UiLCJkZWJ1ZyIsImluZm8iLCJ3YXJuaW5nIiwiZmF0YWwiLCJzZXRMb2dMZXZlbCIsInNldExvZ09wdGlvbnMiLCJsb2dPcHRpb25zIiwiZmlsZUJhc2VOYW1lIiwiZGlyZWN0b3J5UGF0aCIsInNldExvZ0ZpbGVCYXNlTmFtZSIsInNldExvZ0RpcmVjdG9yeVBhdGgiLCJnZXRMb2dGaWxlQ29udGVudCIsIk9iamVjdCIsImFzc2lnbiIsImxvZ0ZpbGVOYW1lIiwiZ2V0Um9sbGVkT3ZlckxvZ0ZpbGVQYXRoIiwiY3VycmVudERhdGVTdHJpbmciLCJnZXRDdXJyZW50RGF0ZVN0cmluZyIsInJvbGxlZE92ZXJMb2dGaWxlTmFtZSIsInJvbGxlZE92ZXJMb2dGaWxlUGF0aCIsImdldExvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlIiwibG9nRmlsZVN0YXRzIiwibXRpbWUiLCJsb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZSIsIkRhdGUiLCJsb2dGaWxlRXhpc3RzIiwibG9nRmlsZUxhc3RNb2RpZmllZERhdGVDdXJyZW50RGF0ZSIsImlzRGF0ZUN1cnJlbnREYXRlIiwiZGF0ZSIsImN1cnJlbnREYXRlIiwiZGF0ZVN0cmluZyIsInRvRGF0ZVN0cmluZyIsImRhdGVDdXJyZW50RGF0ZSIsImRheSIsInBhZFN0YXJ0V2l0aFplcm9lcyIsImdldERhdGUiLCJtb250aCIsImdldE1vbnRoIiwieWVhciIsImdldEZ1bGxZZWFyIiwiaG91cnMiLCJnZXRIb3VycyIsIm1pbnV0ZXMiLCJnZXRNaW51dGVzIiwic2Vjb25kcyIsImdldFNlY29uZHMiLCJtaWxsaXNlY29uZHMiLCJnZXRNaWxsaXNlY29uZHMiLCJzdGFja0xpbmVzIiwic3BsaXQiLCJmb3JFYWNoIiwic3RhY2tMaW5lIiwibWF0Y2hlcyIsInRlc3QiLCJwdXNoIiwibWF0Y2giLCJzZWNvbmRNYXRjaCIsImFic29sdXRlRmlsZVBhdGgiLCJjdXJyZW50V29ya2luZ0RpcmVjdG9yeVBhdGgiLCJyZXNvbHZlIiwiY3VycmVudFdvcmtpbmdEaXJlY3RvcnlQYXRoTGVuZ3RoIiwibGVuZ3RoIiwic3RhcnQiLCJzdWJzdHIiLCJzdHJpbmciLCJ0YXJnZXRMZW5ndGgiLCJwYWRTdHJpbmciLCJwYWRkZWRTdHJpbmciLCJwYWRTdGFydCIsInBhZGRpbmciLCJpbmRleCJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7OztRQXdCSUEsR0FBRyxHQUFIQSxHQUFHOztBQXRCRixHQUFNLENBQU4sS0FBTTtBQUVBLEdBQW9CLENBQXBCLE1BQW9CO0FBQ1YsR0FBbUIsQ0FBbkIsTUFBbUI7QUFDakIsR0FBYyxDQUFkLFVBQWM7QUFDNkIsR0FBeUIsQ0FBekIsV0FBeUI7QUFDYixHQUFhLENBQWIsU0FBYTtBQUNULEdBQVcsQ0FBWCxPQUFXOzs7Ozs7Ozs7Ozs7O0FBRXpHLEdBQUssQ0FBQ0MsTUFBTSxHQUFHLENBQUM7SUFGOEUsT0FBVztJQUFYLE9BQVc7SUFBWCxPQUFXO0lBQVgsT0FBVztJQUFYLE9BQVc7SUFBWCxPQUFXO0FBU3pHLENBQUM7QUFFRCxHQUFHLENBQUNDLFFBQVEsR0FaOEUsU0FBYSxvQkFhbkdDLGVBQWUsR0FidUUsU0FBYSw2QkFjbkdDLGdCQUFnQixHQWRzRSxTQUFhO1NBZ0J2RkosR0FBRyxDQUFDSyxjQUFjLEVBQXdCLENBQUM7UUFBdkJDLEtBQUssb0VBbEJOLFVBQWM7SUFtQi9DLEdBQUcsQ0FBQ0Msd0JBQXdCLEdBQUcsQ0FBQztJQUVoQyxFQUFFLEVBQUVELEtBQUssS0FyQndCLFVBQWMsZUFxQm5CLENBQUM7UUFDM0IsR0FBSyxDQUFDRSxVQUFVLEdBQUdQLE1BQU0sQ0FBQ1EsT0FBTyxDQUFDSCxLQUFLLEdBQ2pDSSxhQUFhLEdBQUdULE1BQU0sQ0FBQ1EsT0FBTyxDQUFDUCxRQUFRO1FBRTdDLEVBQUUsRUFBRU0sVUFBVSxHQUFHRSxhQUFhLEVB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
|
package/lib/utilities/shell.js
CHANGED
|
@@ -6,8 +6,8 @@ exports.onETX = onETX;
|
|
|
6
6
|
exports.prompt = prompt;
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _asynchronous = require("../utilities/asynchronous");
|
|
9
|
-
var _encodings = require("../encodings");
|
|
10
9
|
var _constants = require("../constants");
|
|
10
|
+
var _encodings = require("../encodings");
|
|
11
11
|
var _defaults = require("../defaults");
|
|
12
12
|
var _characters = require("../characters");
|
|
13
13
|
function onETX(handler) {
|
|
@@ -76,30 +76,51 @@ function attempt(next, done, context) {
|
|
|
76
76
|
}
|
|
77
77
|
function input(initialAnswer, hidden, description, encoding, callback) {
|
|
78
78
|
var answer = initialAnswer; ///
|
|
79
|
-
hidden ? hiddenInput(answer, description, encoding, callback) : visibleInput(answer, description, encoding, callback);
|
|
80
|
-
}
|
|
81
|
-
function hiddenInput(answer, description, encoding, callback) {
|
|
82
79
|
var rawMode = true;
|
|
83
80
|
process.stdout.write(description);
|
|
84
|
-
|
|
81
|
+
if (!hidden) {
|
|
82
|
+
process.stdout.write(initialAnswer);
|
|
83
|
+
}
|
|
85
84
|
process.stdin.setRawMode(rawMode);
|
|
86
|
-
process.stdin.
|
|
85
|
+
process.stdin.setEncoding(encoding);
|
|
86
|
+
process.stdin.addListener(_constants.DATA, listener);
|
|
87
87
|
process.stdin.resume();
|
|
88
88
|
function listener(data) {
|
|
89
89
|
var character = data.toString(encoding);
|
|
90
90
|
switch(character){
|
|
91
91
|
case _characters.NEW_LINE_CHARACTER:
|
|
92
92
|
case _characters.CARRIAGE_RETURN_CHARACTER:
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
93
|
+
{
|
|
94
|
+
process.stdout.write(_characters.NEW_LINE_CHARACTER);
|
|
95
|
+
process.stdin.removeListener(_constants.DATA, listener);
|
|
96
|
+
process.stdin.pause();
|
|
97
|
+
callback(answer);
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
case _characters.UP_CHARACTER:
|
|
101
|
+
case _characters.DOWN_CHARACTER:
|
|
102
|
+
case _characters.LEFT_CHARACTER:
|
|
103
|
+
case _characters.RIGHT_CHARACTER:
|
|
104
|
+
{
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
98
107
|
case _characters.BACKSPACE_CHARACTER:
|
|
99
|
-
|
|
100
|
-
|
|
108
|
+
{
|
|
109
|
+
var answerLength = answer.length, start = 0, end = answerLength - 1;
|
|
110
|
+
answer = answer.slice(start, end);
|
|
111
|
+
if (!hidden) {
|
|
112
|
+
process.stdout.clearLine();
|
|
113
|
+
process.stdout.cursorTo(0);
|
|
114
|
+
process.stdout.write(description);
|
|
115
|
+
process.stdout.write(answer);
|
|
116
|
+
}
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
101
119
|
default:
|
|
102
120
|
answer += character;
|
|
121
|
+
if (!hidden) {
|
|
122
|
+
process.stdout.write(character);
|
|
123
|
+
}
|
|
103
124
|
break;
|
|
104
125
|
case _characters.ETX_CHARACTER:
|
|
105
126
|
console.log(_characters.CTRL_C_CHARACTER);
|
|
@@ -107,19 +128,5 @@ function hiddenInput(answer, description, encoding, callback) {
|
|
|
107
128
|
}
|
|
108
129
|
}
|
|
109
130
|
}
|
|
110
|
-
function visibleInput(answer2, description, encoding, callback) {
|
|
111
|
-
var listener = function listener(data) {
|
|
112
|
-
var answer = data.replace(/\n$/, _constants.EMPTY_STRING);
|
|
113
|
-
process.stdin.pause();
|
|
114
|
-
callback(answer);
|
|
115
|
-
};
|
|
116
|
-
var rawMode = false;
|
|
117
|
-
process.stdout.write(description);
|
|
118
|
-
process.stdout.write(answer2);
|
|
119
|
-
process.stdin.setEncoding(encoding);
|
|
120
|
-
process.stdin.setRawMode(rawMode);
|
|
121
|
-
process.stdin.once(_constants.DATA, listener);
|
|
122
|
-
process.stdin.resume();
|
|
123
|
-
}
|
|
124
131
|
|
|
125
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc2hlbGwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHdoaWxzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXN5bmNocm9ub3VzXCI7XG5cbmltcG9ydCB7IFVURjhfRU5DT0RJTkcgfSBmcm9tIFwiLi4vZW5jb2RpbmdzXCI7XG5pbXBvcnQgeyBEQVRBLCBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VOQ09ESU5HLCBERUZBVUxUX0FUVEVNUFRTLCBERUZBVUxUX0lOSVRJQUxfQU5TV0VSIH0gZnJvbSBcIi4uL2RlZmF1bHRzXCI7XG5pbXBvcnQgeyBFVFhfQ0hBUkFDVEVSLCBDVFJMX0NfQ0hBUkFDVEVSLCBCQUNLU1BBQ0VfQ0hBUkFDVEVSLCBORVdfTElORV9DSEFSQUNURVIsIENBUlJJQUdFX1JFVFVSTl9DSEFSQUNURVIgfSBmcm9tIFwiLi4vY2hhcmFjdGVyc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gb25FVFgoaGFuZGxlcikge1xuICBpZiAocHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKSB7XG4gICAgY29uc3QgcmF3TW9kZSA9IHRydWUsXG4gICAgICAgICAgZW5jb2RpbmcgPSBVVEY4X0VOQ09ESU5HO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKHJhd01vZGUpO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5zZXRFbmNvZGluZyhlbmNvZGluZyk7XG5cbiAgICBwcm9jZXNzLnN0ZGluLmFkZExpc3RlbmVyKERBVEEsIGxpc3RlbmVyKTtcblxuICAgIHByb2Nlc3Muc3RkaW4ucmVzdW1lKCk7XG5cbiAgICByZXR1cm4gb2ZmRXh0O1xuICB9XG5cbiAgZnVuY3Rpb24gb2ZmRXh0KCkge1xuICAgIHByb2Nlc3Muc3RkaW4ucmVtb3ZlTGlzdGVuZXIoREFUQSwgbGlzdGVuZXIpO1xuICB9XG5cbiAgZnVuY3Rpb24gbGlzdGVuZXIoY2hhcmFjdGVyKSB7XG4gICAgaWYgKGNoYXJhY3RlciA9PT0gRVRYX0NIQVJBQ1RFUikge1xuICAgICAgaGFuZGxlcigpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvbXB0KG9wdGlvbnMsIGNhbGxiYWNrKSB7XG4gIGxldCB7IGFuc3dlciA9IG51bGwgfSA9IG9wdGlvbnM7XG5cbiAgaWYgKGFuc3dlciAhPT0gbnVsbCkge1xuICAgIGNhbGxiYWNrKGFuc3dlcik7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB7IGF0dGVtcHRzID0gREVGQVVMVF9BVFRFTVBUUyB9ID0gb3B0aW9ucyxcbiAgICAgICAgY29udGV4dCA9IHtcbiAgICAgICAgICBhbnN3ZXIsXG4gICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICBhdHRlbXB0c1xuICAgICAgICB9O1xuXG4gIHdoaWxzdChhdHRlbXB0LCAoKSA9PiB7XG4gICAgY29uc3QgeyBhbnN3ZXIgfSA9IGNvbnRleHQ7XG4gICAgXG4gICAgY2FsbGJhY2soYW5zd2VyKTtcbiAgfSwgY29udGV4dCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgb25FVFgsXG4gIHByb21wdFxufVxuXG5mdW5jdGlvbiBhdHRlbXB0KG5leHQsIGRvbmUsIGNvbnRleHQpIHtcbiAgbGV0IHsgYXR0ZW1wdHMgfSA9IGNvbnRleHQ7XG5cbiAgY29uc3QgdGVybWluYXRlID0gKGF0dGVtcHRzLS0gPT09IDApO1xuICBcbiAgaWYgKHRlcm1pbmF0ZSkge1xuICAgIGRvbmUoKTtcbiAgICBcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB7IG9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgaGlkZGVuID0gZmFsc2UsXG4gICAgICAgICAgZW5jb2RpbmcgPSBERUZBVUxUX0VOQ09ESU5HLFxuICAgICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICAgIGVycm9yTWVzc2FnZSxcbiAgICAgICAgICBpbml0aWFsQW5zd2VyID0gREVGQVVMVF9JTklUSUFMX0FOU1dFUixcbiAgICAgICAgICB2YWxpZGF0aW9uUGF0dGVybiA9IG51bGwsXG4gICAgICAgICAgdmFsaWRhdGlvbkZ1bmN0aW9uID0gbnVsbCB9ID0gb3B0aW9ucztcblxuICBpbnB1dChpbml0aWFsQW5zd2VyLCBoaWRkZW4sIGRlc2NyaXB0aW9uLCBlbmNvZGluZywgY2FsbGJhY2spO1xuXG4gIGZ1bmN0aW9uIGNhbGxiYWNrKGFuc3dlcikge1xuICAgIGNvbnN0IHZhbGlkID0gdmFsaWRhdGlvbkZ1bmN0aW9uID8gIC8vL1xuICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uRnVuY3Rpb24oYW5zd2VyKSA6XG4gICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvblBhdHRlcm4udGVzdChhbnN3ZXIpO1xuXG4gICAgaWYgKHZhbGlkKSB7XG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgYW5zd2VyXG4gICAgICB9KTtcblxuICAgICAgZG9uZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZyhlcnJvck1lc3NhZ2UpO1xuXG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgYXR0ZW1wdHNcbiAgICAgIH0pO1xuXG4gICAgICBuZXh0KCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlucHV0KGluaXRpYWxBbnN3ZXIsIGhpZGRlbiwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjaykge1xuICBjb25zdCBhbnN3ZXIgPSBpbml0aWFsQW5zd2VyOyAvLy9cblxuICBoaWRkZW4gP1xuICAgIGhpZGRlbklucHV0KGFuc3dlciwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjaykgOlxuICAgICAgdmlzaWJsZUlucHV0KGFuc3dlciwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjayk7XG59XG5cbmZ1bmN0aW9uIGhpZGRlbklucHV0KGFuc3dlciwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjaykge1xuICBjb25zdCByYXdNb2RlID0gdHJ1ZTtcblxuICBwcm9jZXNzLnN0ZG91dC53cml0ZShkZXNjcmlwdGlvbik7XG5cbiAgcHJvY2Vzcy5zdGRpbi5zZXRFbmNvZGluZyhlbmNvZGluZyk7XG5cbiAgcHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKHJhd01vZGUpO1xuXG4gIHByb2Nlc3Muc3RkaW4ub24oREFUQSwgbGlzdGVuZXIpO1xuXG4gIHByb2Nlc3Muc3RkaW4ucmVzdW1lKCk7XG5cbiAgZnVuY3Rpb24gbGlzdGVuZXIoZGF0YSkge1xuICAgIGNvbnN0IGNoYXJhY3RlciA9IGRhdGEudG9TdHJpbmcoZW5jb2RpbmcpO1xuXG4gICAgc3dpdGNoIChjaGFyYWN0ZXIpIHtcbiAgICAgIGNhc2UgTkVXX0xJTkVfQ0hBUkFDVEVSIDpcbiAgICAgIGNhc2UgQ0FSUklBR0VfUkVUVVJOX0NIQVJBQ1RFUiA6XG4gICAgICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKE5FV19MSU5FX0NIQVJBQ1RFUik7XG5cbiAgICAgICAgcHJvY2Vzcy5zdGRpbi5yZW1vdmVMaXN0ZW5lcihEQVRBLCBsaXN0ZW5lcik7XG5cbiAgICAgICAgcHJvY2Vzcy5zdGRpbi5wYXVzZSgpO1xuXG4gICAgICAgIGNhbGxiYWNrKGFuc3dlcik7XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgQkFDS1NQQUNFX0NIQVJBQ1RFUiA6XG4gICAgICAgIGFuc3dlciA9IGFuc3dlci5zbGljZSgwLCBhbnN3ZXIubGVuZ3RoIC0gMSk7XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGFuc3dlciArPSBjaGFyYWN0ZXI7XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgRVRYX0NIQVJBQ1RFUiA6XG4gICAgICAgIGNvbnNvbGUubG9nKENUUkxfQ19DSEFSQUNURVIpO1xuXG4gICAgICAgIHByb2Nlc3MuZXhpdCgpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB2aXNpYmxlSW5wdXQoYW5zd2VyLCBkZXNjcmlwdGlvbiwgZW5jb2RpbmcsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHJhd01vZGUgPSBmYWxzZTtcblxuICBwcm9jZXNzLnN0ZG91dC53cml0ZShkZXNjcmlwdGlvbik7XG5cbiAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoYW5zd2VyKTtcblxuICBwcm9jZXNzLnN0ZGluLnNldEVuY29kaW5nKGVuY29kaW5nKTtcblxuICBwcm9jZXNzLnN0ZGluLnNldFJhd01vZGUocmF3TW9kZSk7XG5cbiAgcHJvY2Vzcy5zdGRpbi5vbmNlKERBVEEsIGxpc3RlbmVyKTtcblxuICBwcm9jZXNzLnN0ZGluLnJlc3VtZSgpO1xuXG4gIGZ1bmN0aW9uIGxpc3RlbmVyKGRhdGEpIHtcbiAgICBjb25zdCBhbnN3ZXIgPSBkYXRhLnJlcGxhY2UoL1xcbiQvLCBFTVBUWV9TVFJJTkcpO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5wYXVzZSgpO1xuXG4gICAgY2FsbGJhY2soYW5zd2VyKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIm9uRVRYIiwicHJvbXB0IiwiaGFuZGxlciIsIm9mZkV4dCIsInByb2Nlc3MiLCJzdGRpbiIsInJlbW92ZUxpc3RlbmVyIiwibGlzdGVuZXIiLCJjaGFyYWN0ZXIiLCJzZXRSYXdNb2RlIiwicmF3TW9kZSIsImVuY29kaW5nIiwic2V0RW5jb2RpbmciLCJhZGRMaXN0ZW5lciIsInJlc3VtZSIsIm9wdGlvbnMiLCJjYWxsYmFjayIsImFuc3dlciIsImF0dGVtcHRzIiwiY29udGV4dCIsImF0dGVtcHQiLCJuZXh0IiwiZG9uZSIsInZhbGlkIiwidmFsaWRhdGlvbkZ1bmN0aW9uIiwidmFsaWRhdGlvblBhdHRlcm4iLCJ0ZXN0IiwiT2JqZWN0IiwiYXNzaWduIiwiY29uc29sZSIsImxvZyIsImVycm9yTWVzc2FnZSIsInRlcm1pbmF0ZSIsImhpZGRlbiIsImRlc2NyaXB0aW9uIiwiaW5pdGlhbEFuc3dlciIsImlucHV0IiwiaGlkZGVuSW5wdXQiLCJ2aXNpYmxlSW5wdXQiLCJzdGRvdXQiLCJ3cml0ZSIsIm9uIiwiZGF0YSIsInRvU3RyaW5nIiwicGF1c2UiLCJzbGljZSIsImxlbmd0aCIsImV4aXQiLCJyZXBsYWNlIiwib25jZSJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7OztRQVNJQSxLQUFLLEdBQUxBLEtBQUs7UUEyQkxDLE1BQU0sR0FBTkEsTUFBTTs7QUFsQ0MsR0FBMkIsQ0FBM0IsYUFBMkI7QUFFcEIsR0FBYyxDQUFkLFVBQWM7QUFDVCxHQUFjLENBQWQsVUFBYztBQUMwQixHQUFhLENBQWIsU0FBYTtBQUM0QixHQUFlLENBQWYsV0FBZTtTQUVuSEQsS0FBSyxDQUFDRSxPQUFPLEVBQUUsQ0FBQztRQWdCckJDLE1BQU0sR0FBZixRQUFRLENBQUNBLE1BQU0sR0FBRyxDQUFDO1FBQ2pCQyxPQUFPLENBQUNDLEtBQUssQ0FBQ0MsY0FBYyxDQXJCRyxVQUFjLE9BcUJWQyxRQUFRO0lBQzdDLENBQUM7UUFFUUEsUUFBUSxHQUFqQixRQUFRLENBQUNBLFFBQVEsQ0FBQ0MsU0FBUyxFQUFFLENBQUM7UUFDNUIsRUFBRSxFQUFFQSxTQUFTLEtBdkJtRyxXQUFlLGdCQXVCOUYsQ0FBQztZQUNoQ04sT0FBTztRQUNULENBQUM7SUFDSCxDQUFDO0lBdkJELEVBQUUsRUFBRUUsT0FBTyxDQUFDQyxLQUFLLENBQUNJLFVBQVUsRUFBRSxDQUFDO1FBQzdCLEdBQUssQ0FBQ0MsT0FBTyxHQUFHLElBQUksRUFDZEMsUUFBUSxHQVJZLFVBQWM7UUFVeENQLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDSSxVQUFVLENBQUNDLE9BQU87UUFFaENOLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDTyxXQUFXLENBQUNELFFBQVE7UUFFbENQLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDUSxXQUFXLENBYk0sVUFBYyxPQWFiTixRQUFRO1FBRXhDSCxPQUFPLENBQUNDLEtBQUssQ0FBQ1MsTUFBTTtRQUVwQixNQUFNLENBQUNYLE1BQU07SUFDZixDQUFDO0FBV0gsQ0FBQztTQUVlRixNQUFN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
|
|
132
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc2hlbGwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHdoaWxzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXN5bmNocm9ub3VzXCI7XG5cbmltcG9ydCB7IERBVEEgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBVVEY4X0VOQ09ESU5HIH0gZnJvbSBcIi4uL2VuY29kaW5nc1wiO1xuaW1wb3J0IHsgREVGQVVMVF9FTkNPRElORywgREVGQVVMVF9BVFRFTVBUUywgREVGQVVMVF9JTklUSUFMX0FOU1dFUiB9IGZyb20gXCIuLi9kZWZhdWx0c1wiO1xuaW1wb3J0IHsgVVBfQ0hBUkFDVEVSLFxuICAgICAgICAgRVRYX0NIQVJBQ1RFUixcbiAgICAgICAgIERPV05fQ0hBUkFDVEVSLFxuICAgICAgICAgTEVGVF9DSEFSQUNURVIsXG4gICAgICAgICBSSUdIVF9DSEFSQUNURVIsXG4gICAgICAgICBDVFJMX0NfQ0hBUkFDVEVSLFxuICAgICAgICAgTkVXX0xJTkVfQ0hBUkFDVEVSLFxuICAgICAgICAgQkFDS1NQQUNFX0NIQVJBQ1RFUixcbiAgICAgICAgIENBUlJJQUdFX1JFVFVSTl9DSEFSQUNURVIgfSBmcm9tIFwiLi4vY2hhcmFjdGVyc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gb25FVFgoaGFuZGxlcikge1xuICBpZiAocHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKSB7XG4gICAgY29uc3QgcmF3TW9kZSA9IHRydWUsXG4gICAgICAgICAgZW5jb2RpbmcgPSBVVEY4X0VOQ09ESU5HO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKHJhd01vZGUpO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5zZXRFbmNvZGluZyhlbmNvZGluZyk7XG5cbiAgICBwcm9jZXNzLnN0ZGluLmFkZExpc3RlbmVyKERBVEEsIGxpc3RlbmVyKTtcblxuICAgIHByb2Nlc3Muc3RkaW4ucmVzdW1lKCk7XG5cbiAgICByZXR1cm4gb2ZmRXh0O1xuICB9XG5cbiAgZnVuY3Rpb24gb2ZmRXh0KCkge1xuICAgIHByb2Nlc3Muc3RkaW4ucmVtb3ZlTGlzdGVuZXIoREFUQSwgbGlzdGVuZXIpO1xuICB9XG5cbiAgZnVuY3Rpb24gbGlzdGVuZXIoY2hhcmFjdGVyKSB7XG4gICAgaWYgKGNoYXJhY3RlciA9PT0gRVRYX0NIQVJBQ1RFUikge1xuICAgICAgaGFuZGxlcigpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvbXB0KG9wdGlvbnMsIGNhbGxiYWNrKSB7XG4gIGxldCB7IGFuc3dlciA9IG51bGwgfSA9IG9wdGlvbnM7XG5cbiAgaWYgKGFuc3dlciAhPT0gbnVsbCkge1xuICAgIGNhbGxiYWNrKGFuc3dlcik7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB7IGF0dGVtcHRzID0gREVGQVVMVF9BVFRFTVBUUyB9ID0gb3B0aW9ucyxcbiAgICAgICAgY29udGV4dCA9IHtcbiAgICAgICAgICBhbnN3ZXIsXG4gICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICBhdHRlbXB0c1xuICAgICAgICB9O1xuXG4gIHdoaWxzdChhdHRlbXB0LCAoKSA9PiB7XG4gICAgY29uc3QgeyBhbnN3ZXIgfSA9IGNvbnRleHQ7XG4gICAgXG4gICAgY2FsbGJhY2soYW5zd2VyKTtcbiAgfSwgY29udGV4dCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgb25FVFgsXG4gIHByb21wdFxufVxuXG5mdW5jdGlvbiBhdHRlbXB0KG5leHQsIGRvbmUsIGNvbnRleHQpIHtcbiAgbGV0IHsgYXR0ZW1wdHMgfSA9IGNvbnRleHQ7XG5cbiAgY29uc3QgdGVybWluYXRlID0gKGF0dGVtcHRzLS0gPT09IDApO1xuICBcbiAgaWYgKHRlcm1pbmF0ZSkge1xuICAgIGRvbmUoKTtcbiAgICBcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB7IG9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgaGlkZGVuID0gZmFsc2UsXG4gICAgICAgICAgZW5jb2RpbmcgPSBERUZBVUxUX0VOQ09ESU5HLFxuICAgICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICAgIGVycm9yTWVzc2FnZSxcbiAgICAgICAgICBpbml0aWFsQW5zd2VyID0gREVGQVVMVF9JTklUSUFMX0FOU1dFUixcbiAgICAgICAgICB2YWxpZGF0aW9uUGF0dGVybiA9IG51bGwsXG4gICAgICAgICAgdmFsaWRhdGlvbkZ1bmN0aW9uID0gbnVsbCB9ID0gb3B0aW9ucztcblxuICBpbnB1dChpbml0aWFsQW5zd2VyLCBoaWRkZW4sIGRlc2NyaXB0aW9uLCBlbmNvZGluZywgY2FsbGJhY2spO1xuXG4gIGZ1bmN0aW9uIGNhbGxiYWNrKGFuc3dlcikge1xuICAgIGNvbnN0IHZhbGlkID0gdmFsaWRhdGlvbkZ1bmN0aW9uID8gIC8vL1xuICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uRnVuY3Rpb24oYW5zd2VyKSA6XG4gICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvblBhdHRlcm4udGVzdChhbnN3ZXIpO1xuXG4gICAgaWYgKHZhbGlkKSB7XG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgYW5zd2VyXG4gICAgICB9KTtcblxuICAgICAgZG9uZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZyhlcnJvck1lc3NhZ2UpO1xuXG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgYXR0ZW1wdHNcbiAgICAgIH0pO1xuXG4gICAgICBuZXh0KCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlucHV0KGluaXRpYWxBbnN3ZXIsIGhpZGRlbiwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjaykge1xuICBsZXQgYW5zd2VyID0gaW5pdGlhbEFuc3dlcjsgLy8vXG5cbiAgY29uc3QgcmF3TW9kZSA9IHRydWU7XG5cbiAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoZGVzY3JpcHRpb24pO1xuXG4gIGlmICghaGlkZGVuKSB7XG4gICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoaW5pdGlhbEFuc3dlcik7XG4gIH1cblxuICBwcm9jZXNzLnN0ZGluLnNldFJhd01vZGUocmF3TW9kZSk7XG5cbiAgcHJvY2Vzcy5zdGRpbi5zZXRFbmNvZGluZyhlbmNvZGluZyk7XG5cbiAgcHJvY2Vzcy5zdGRpbi5hZGRMaXN0ZW5lcihEQVRBLCBsaXN0ZW5lcik7XG5cbiAgcHJvY2Vzcy5zdGRpbi5yZXN1bWUoKTtcblxuICBmdW5jdGlvbiBsaXN0ZW5lcihkYXRhKSB7XG4gICAgY29uc3QgY2hhcmFjdGVyID0gZGF0YS50b1N0cmluZyhlbmNvZGluZyk7XG5cbiAgICBzd2l0Y2ggKGNoYXJhY3Rlcikge1xuICAgICAgY2FzZSBORVdfTElORV9DSEFSQUNURVI6XG4gICAgICBjYXNlIENBUlJJQUdFX1JFVFVSTl9DSEFSQUNURVI6IHtcbiAgICAgICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoTkVXX0xJTkVfQ0hBUkFDVEVSKTtcblxuICAgICAgICBwcm9jZXNzLnN0ZGluLnJlbW92ZUxpc3RlbmVyKERBVEEsIGxpc3RlbmVyKTtcblxuICAgICAgICBwcm9jZXNzLnN0ZGluLnBhdXNlKCk7XG5cbiAgICAgICAgY2FsbGJhY2soYW5zd2VyKTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBVUF9DSEFSQUNURVI6XG4gICAgICBjYXNlIERPV05fQ0hBUkFDVEVSOlxuICAgICAgY2FzZSBMRUZUX0NIQVJBQ1RFUjpcbiAgICAgIGNhc2UgUklHSFRfQ0hBUkFDVEVSOiB7XG4gICAgICAgIC8vL1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIEJBQ0tTUEFDRV9DSEFSQUNURVI6IHtcbiAgICAgICAgY29uc3QgYW5zd2VyTGVuZ3RoID0gYW5zd2VyLmxlbmd0aCxcbiAgICAgICAgICBzdGFydCA9IDAsXG4gICAgICAgICAgZW5kID0gYW5zd2VyTGVuZ3RoIC0gMTtcblxuICAgICAgICBhbnN3ZXIgPSBhbnN3ZXIuc2xpY2Uoc3RhcnQsIGVuZCk7XG5cbiAgICAgICAgaWYgKCFoaWRkZW4pIHtcbiAgICAgICAgICBwcm9jZXNzLnN0ZG91dC5jbGVhckxpbmUoKTtcblxuICAgICAgICAgIHByb2Nlc3Muc3Rkb3V0LmN1cnNvclRvKDApO1xuXG4gICAgICAgICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoZGVzY3JpcHRpb24pO1xuXG4gICAgICAgICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoYW5zd2VyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBhbnN3ZXIgKz0gY2hhcmFjdGVyO1xuXG4gICAgICAgIGlmICghaGlkZGVuKSB7XG4gICAgICAgICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoY2hhcmFjdGVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEVUWF9DSEFSQUNURVI6XG4gICAgICAgIGNvbnNvbGUubG9nKENUUkxfQ19DSEFSQUNURVIpO1xuXG4gICAgICAgIHByb2Nlc3MuZXhpdCgpO1xuICAgIH1cbiAgfVxufSJdLCJuYW1lcyI6WyJvbkVUWCIsInByb21wdCIsImhhbmRsZXIiLCJvZmZFeHQiLCJwcm9jZXNzIiwic3RkaW4iLCJyZW1vdmVMaXN0ZW5lciIsImxpc3RlbmVyIiwiY2hhcmFjdGVyIiwic2V0UmF3TW9kZSIsInJhd01vZGUiLCJlbmNvZGluZyIsInNldEVuY29kaW5nIiwiYWRkTGlzdGVuZXIiLCJyZXN1bWUiLCJvcHRpb25zIiwiY2FsbGJhY2siLCJhbnN3ZXIiLCJhdHRlbXB0cyIsImNvbnRleHQiLCJhdHRlbXB0IiwibmV4dCIsImRvbmUiLCJ2YWxpZCIsInZhbGlkYXRpb25GdW5jdGlvbiIsInZhbGlkYXRpb25QYXR0ZXJuIiwidGVzdCIsIk9iamVjdCIsImFzc2lnbiIsImNvbnNvbGUiLCJsb2ciLCJlcnJvck1lc3NhZ2UiLCJ0ZXJtaW5hdGUiLCJoaWRkZW4iLCJkZXNjcmlwdGlvbiIsImluaXRpYWxBbnN3ZXIiLCJpbnB1dCIsInN0ZG91dCIsIndyaXRlIiwiZGF0YSIsInRvU3RyaW5nIiwicGF1c2UiLCJhbnN3ZXJMZW5ndGgiLCJsZW5ndGgiLCJzdGFydCIsImVuZCIsInNsaWNlIiwiY2xlYXJMaW5lIiwiY3Vyc29yVG8iLCJleGl0Il0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7O1FBaUJJQSxLQUFLLEdBQUxBLEtBQUs7UUEyQkxDLE1BQU0sR0FBTkEsTUFBTTs7QUExQ0MsR0FBMkIsQ0FBM0IsYUFBMkI7QUFFN0IsR0FBYyxDQUFkLFVBQWM7QUFDTCxHQUFjLENBQWQsVUFBYztBQUMrQixHQUFhLENBQWIsU0FBYTtBQVM5QyxHQUFlLENBQWYsV0FBZTtTQUV6Q0QsS0FBSyxDQUFDRSxPQUFPLEVBQUUsQ0FBQztRQWdCckJDLE1BQU0sR0FBZixRQUFRLENBQUNBLE1BQU0sR0FBRyxDQUFDO1FBQ2pCQyxPQUFPLENBQUNDLEtBQUssQ0FBQ0MsY0FBYyxDQTlCWCxVQUFjLE9BOEJJQyxRQUFRO0lBQzdDLENBQUM7UUFFUUEsUUFBUSxHQUFqQixRQUFRLENBQUNBLFFBQVEsQ0FBQ0MsU0FBUyxFQUFFLENBQUM7UUFDNUIsRUFBRSxFQUFFQSxTQUFTLEtBdkJ5QixXQUFlLGdCQXVCcEIsQ0FBQztZQUNoQ04sT0FBTztRQUNULENBQUM7SUFDSCxDQUFDO0lBdkJELEVBQUUsRUFBRUUsT0FBTyxDQUFDQyxLQUFLLENBQUNJLFVBQVUsRUFBRSxDQUFDO1FBQzdCLEdBQUssQ0FBQ0MsT0FBTyxHQUFHLElBQUksRUFDZEMsUUFBUSxHQWZZLFVBQWM7UUFpQnhDUCxPQUFPLENBQUNDLEtBQUssQ0FBQ0ksVUFBVSxDQUFDQyxPQUFPO1FBRWhDTixPQUFPLENBQUNDLEtBQUssQ0FBQ08sV0FBVyxDQUFDRCxRQUFRO1FBRWxDUCxPQUFPLENBQUNDLEtBQUssQ0FBQ1EsV0FBVyxDQXRCUixVQUFjLE9Bc0JDTixRQUFR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
|
package/license.txt
CHANGED
package/package.json
CHANGED
package/src/characters.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
export const UP_CHARACTER = "[A";
|
|
3
4
|
export const ETX_CHARACTER = "\u0003";
|
|
4
5
|
export const BAR_CHARACTER = "|";
|
|
5
6
|
export const DASH_CHARACTER = "-";
|
|
7
|
+
export const DOWN_CHARACTER = "[B";
|
|
8
|
+
export const LEFT_CHARACTER = "[D";
|
|
9
|
+
export const RIGHT_CHARACTER = "[C";
|
|
6
10
|
export const SPACE_CHARACTER = " ";
|
|
7
11
|
export const COMMA_CHARACTER = ",";
|
|
8
12
|
export const COLON_CHARACTER = ":";
|
|
@@ -20,9 +24,13 @@ export const CARRIAGE_RETURN_CHARACTER = "\r";
|
|
|
20
24
|
export const EXCLAMATION_MARK_CHARACTER = "!";
|
|
21
25
|
|
|
22
26
|
export default {
|
|
27
|
+
UP_CHARACTER,
|
|
23
28
|
ETX_CHARACTER,
|
|
24
29
|
BAR_CHARACTER,
|
|
25
30
|
DASH_CHARACTER,
|
|
31
|
+
DOWN_CHARACTER,
|
|
32
|
+
LEFT_CHARACTER,
|
|
33
|
+
RIGHT_CHARACTER,
|
|
26
34
|
SPACE_CHARACTER,
|
|
27
35
|
COMMA_CHARACTER,
|
|
28
36
|
COLON_CHARACTER,
|
package/src/utilities/logging.js
CHANGED
|
@@ -33,7 +33,7 @@ export function log(messageOrError, level = EMPTY_STRING) {
|
|
|
33
33
|
return;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
salientStackMessageIndex +=
|
|
36
|
+
salientStackMessageIndex += 2;
|
|
37
37
|
|
|
38
38
|
level = `${level}`; ///
|
|
39
39
|
}
|
|
@@ -53,8 +53,8 @@ export function log(messageOrError, level = EMPTY_STRING) {
|
|
|
53
53
|
|
|
54
54
|
const { stack } = error,
|
|
55
55
|
stackMessages = stackMessagesFromStack(stack),
|
|
56
|
-
|
|
57
|
-
stackMessage =
|
|
56
|
+
salientStackMessage = stackMessages[salientStackMessageIndex],
|
|
57
|
+
stackMessage = salientStackMessage, ///
|
|
58
58
|
upperCaseLevel = level.toUpperCase(),
|
|
59
59
|
currentDateAndTimeString = getCurrentDateAndTimeString(),
|
|
60
60
|
filePath = filePathFromStackMessage(stackMessage),
|
package/src/utilities/shell.js
CHANGED
|
@@ -2,10 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
import { whilst } from "../utilities/asynchronous";
|
|
4
4
|
|
|
5
|
+
import { DATA } from "../constants";
|
|
5
6
|
import { UTF8_ENCODING } from "../encodings";
|
|
6
|
-
import { DATA, EMPTY_STRING } from "../constants";
|
|
7
7
|
import { DEFAULT_ENCODING, DEFAULT_ATTEMPTS, DEFAULT_INITIAL_ANSWER } from "../defaults";
|
|
8
|
-
import {
|
|
8
|
+
import { UP_CHARACTER,
|
|
9
|
+
ETX_CHARACTER,
|
|
10
|
+
DOWN_CHARACTER,
|
|
11
|
+
LEFT_CHARACTER,
|
|
12
|
+
RIGHT_CHARACTER,
|
|
13
|
+
CTRL_C_CHARACTER,
|
|
14
|
+
NEW_LINE_CHARACTER,
|
|
15
|
+
BACKSPACE_CHARACTER,
|
|
16
|
+
CARRIAGE_RETURN_CHARACTER } from "../characters";
|
|
9
17
|
|
|
10
18
|
export function onETX(handler) {
|
|
11
19
|
if (process.stdin.setRawMode) {
|
|
@@ -108,23 +116,21 @@ function attempt(next, done, context) {
|
|
|
108
116
|
}
|
|
109
117
|
|
|
110
118
|
function input(initialAnswer, hidden, description, encoding, callback) {
|
|
111
|
-
|
|
119
|
+
let answer = initialAnswer; ///
|
|
112
120
|
|
|
113
|
-
hidden ?
|
|
114
|
-
hiddenInput(answer, description, encoding, callback) :
|
|
115
|
-
visibleInput(answer, description, encoding, callback);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
function hiddenInput(answer, description, encoding, callback) {
|
|
119
121
|
const rawMode = true;
|
|
120
122
|
|
|
121
123
|
process.stdout.write(description);
|
|
122
124
|
|
|
123
|
-
|
|
125
|
+
if (!hidden) {
|
|
126
|
+
process.stdout.write(initialAnswer);
|
|
127
|
+
}
|
|
124
128
|
|
|
125
129
|
process.stdin.setRawMode(rawMode);
|
|
126
130
|
|
|
127
|
-
process.stdin.
|
|
131
|
+
process.stdin.setEncoding(encoding);
|
|
132
|
+
|
|
133
|
+
process.stdin.addListener(DATA, listener);
|
|
128
134
|
|
|
129
135
|
process.stdin.resume();
|
|
130
136
|
|
|
@@ -132,8 +138,8 @@ function hiddenInput(answer, description, encoding, callback) {
|
|
|
132
138
|
const character = data.toString(encoding);
|
|
133
139
|
|
|
134
140
|
switch (character) {
|
|
135
|
-
case NEW_LINE_CHARACTER
|
|
136
|
-
case CARRIAGE_RETURN_CHARACTER
|
|
141
|
+
case NEW_LINE_CHARACTER:
|
|
142
|
+
case CARRIAGE_RETURN_CHARACTER: {
|
|
137
143
|
process.stdout.write(NEW_LINE_CHARACTER);
|
|
138
144
|
|
|
139
145
|
process.stdin.removeListener(DATA, listener);
|
|
@@ -143,45 +149,50 @@ function hiddenInput(answer, description, encoding, callback) {
|
|
|
143
149
|
callback(answer);
|
|
144
150
|
|
|
145
151
|
break;
|
|
152
|
+
}
|
|
146
153
|
|
|
147
|
-
case
|
|
148
|
-
|
|
154
|
+
case UP_CHARACTER:
|
|
155
|
+
case DOWN_CHARACTER:
|
|
156
|
+
case LEFT_CHARACTER:
|
|
157
|
+
case RIGHT_CHARACTER: {
|
|
158
|
+
///
|
|
149
159
|
|
|
150
160
|
break;
|
|
161
|
+
}
|
|
151
162
|
|
|
152
|
-
|
|
153
|
-
|
|
163
|
+
case BACKSPACE_CHARACTER: {
|
|
164
|
+
const answerLength = answer.length,
|
|
165
|
+
start = 0,
|
|
166
|
+
end = answerLength - 1;
|
|
154
167
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
case ETX_CHARACTER :
|
|
158
|
-
console.log(CTRL_C_CHARACTER);
|
|
159
|
-
|
|
160
|
-
process.exit();
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
168
|
+
answer = answer.slice(start, end);
|
|
164
169
|
|
|
165
|
-
|
|
166
|
-
|
|
170
|
+
if (!hidden) {
|
|
171
|
+
process.stdout.clearLine();
|
|
167
172
|
|
|
168
|
-
|
|
173
|
+
process.stdout.cursorTo(0);
|
|
169
174
|
|
|
170
|
-
|
|
175
|
+
process.stdout.write(description);
|
|
171
176
|
|
|
172
|
-
|
|
177
|
+
process.stdout.write(answer);
|
|
178
|
+
}
|
|
173
179
|
|
|
174
|
-
|
|
180
|
+
break;
|
|
181
|
+
}
|
|
175
182
|
|
|
176
|
-
|
|
183
|
+
default:
|
|
184
|
+
answer += character;
|
|
177
185
|
|
|
178
|
-
|
|
186
|
+
if (!hidden) {
|
|
187
|
+
process.stdout.write(character);
|
|
188
|
+
}
|
|
179
189
|
|
|
180
|
-
|
|
181
|
-
const answer = data.replace(/\n$/, EMPTY_STRING);
|
|
190
|
+
break;
|
|
182
191
|
|
|
183
|
-
|
|
192
|
+
case ETX_CHARACTER:
|
|
193
|
+
console.log(CTRL_C_CHARACTER);
|
|
184
194
|
|
|
185
|
-
|
|
195
|
+
process.exit();
|
|
196
|
+
}
|
|
186
197
|
}
|
|
187
|
-
}
|
|
198
|
+
}
|