Comparing version 1.2.2 to 1.2.3
@@ -190,3 +190,3 @@ export const defaultCmdChannelSettings = { | ||
}); | ||
channel.once("close", () => rej(new Error("Ssh channel closed, check why the socket was closed or lost connection"))); | ||
channel.once("close", (...params) => channel.emit("exit", ...params)); | ||
channel.once("exit", (code, signal, dump, desc) => { | ||
@@ -237,2 +237,2 @@ if (!channel.closed) { | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3NoRXhlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Tc2hFeGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCQSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBdUI7SUFDekQsR0FBRyxFQUFFLEdBQUc7SUFDUixhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ2pCLElBQUksRUFBRSxLQUFLO0NBQ2QsQ0FBQTtBQWdCRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsS0FBSztJQUcvQjtJQUZYLFlBQ0ksT0FBZSxFQUNSLElBQW9CO1FBRTNCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUZQLFNBQUksR0FBSixJQUFJLENBQWdCO0lBRy9CLENBQUM7Q0FDSjtBQWNELE1BQU0sVUFBVSxZQUFZLENBQ3hCLE9BQXNCLEVBQ3RCLE1BQXdCO0lBRXhCLE1BQU0sVUFBVSxHQUFHLE9BQWMsQ0FBQTtJQUVqQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN6QyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2pDLENBQUM7SUFFRCxPQUFPLFVBQVUsQ0FBQTtBQUNyQixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxjQUFjLENBQ2hDLFNBQW9CLEVBQ3BCLEdBQVcsRUFDWCxPQUEyQjtJQUUzQixNQUFNLFFBQVEsR0FBdUI7UUFDakMsR0FBRyx5QkFBeUI7UUFDNUIsR0FBRyxPQUFPO0tBQ2IsQ0FBQTtJQUVELFFBQVEsQ0FBQyxHQUFHLEdBQUc7UUFDWCxHQUFHLFFBQVEsQ0FBQyxHQUFHO1FBQ2YsR0FBRyxFQUFFLFFBQVEsQ0FBQyxHQUFHO0tBQ3BCLENBQUE7SUFFRCxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQixHQUFHLEdBQUcsT0FBTyxHQUFHLEdBQUcsQ0FBQTtJQUN2QixDQUFDO0lBRUQs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LHdDQUF3Qzt3QkFDeEMsTUFBTSxDQUFDLE1BQU0sQ0FDVCxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQ3pCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUNkLElBQUksQ0FDUCxDQUFDLENBQUE7b0JBQ0YsT0FBTTtnQkFFVixDQUFDO1lBQ0wsQ0FBQztZQUVELEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNiLENBQUMsQ0FBQyxDQUFBO1FBR0YsT0FBTyxJQUFJLE9BQU8sQ0FDZCxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNYLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO2dCQUNsQixPQUFNO1lBQ1YsQ0FBQztpQkFBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7Z0JBQ2xCLE9BQU07WUFDVixDQUFDO1lBRUQsR0FBRyxHQUFHLElBQUksQ0FBQTtZQUNWLEdBQUcsR0FBRyxJQUFJLENBQUE7UUFDZCxDQUFDLENBQ0osQ0FBQTtJQUNMLENBQUMsQ0FBQTtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGllbnRDaGFubmVsLCBFeGVjT3B0aW9ucywgQ2xpZW50IGFzIFNzaENsaWVudCB9IGZyb20gXCJzc2gyXCI7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gXCJzdHJlYW1cIjtcbmltcG9ydCB7IEF3YWl0YWJsZSB9IGZyb20gXCIuL3V0aWxzL2Jhc2UuanNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBcnJheU9wdGlvbnMge1xuICAgIGNvbmN1cnJlbmN5PzogbnVtYmVyO1xuICAgIHNpZ25hbD86IEFib3J0U2lnbmFsO1xuICAgIGVuY29kaW5nPzogQnVmZmVyRW5jb2Rpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbWRDaGFubmVsT3B0aW9ucyBleHRlbmRzIEV4ZWNPcHRpb25zIHtcbiAgICBwd2Q/OiBzdHJpbmcsXG4gICAgdGltZW91dE1pbGxpcz86IG51bWJlcixcbiAgICBzdWRvPzogYm9vbGVhbixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbWRDaGFubmVsU2V0dGluZ3MgZXh0ZW5kcyBFeGVjT3B0aW9ucyB7XG4gICAgcHdkOiBzdHJpbmcsXG4gICAgdGltZW91dE1pbGxpczogbnVtYmVyLFxuICAgIHN1ZG86IGJvb2xlYW4sXG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0Q21kQ2hhbm5lbFNldHRpbmdzOiBDbWRDaGFubmVsU2V0dGluZ3MgPSB7XG4gICAgcHdkOiBcIi9cIixcbiAgICB0aW1lb3V0TWlsbGlzOiAtMSxcbiAgICBzdWRvOiBmYWxzZSxcbn1cblxuZXhwb3J0IHR5cGUgQ21kRXhlY09wdGlvbnMgPSBDbWRDaGFubmVsT3B0aW9ucyAmIENoYW5uZWxUb1Byb21pc2VPcHRpb25zXG5cbmV4cG9ydCBpbnRlcmZhY2UgU3NoQ2hhbm5lbEV4aXQge1xuICAgIGNtZDogc3RyaW5nLFxuICAgIG91dDogc3RyaW5nLFxuICAgIGNodW5rczogW2Jvb2xlYW4sIHN0cmluZ11bXSxcbiAgICBhbnlFcnI6IGJvb2xlYW4sXG4gICAgYW55U3RkOiBib29sZWFuLFxuICAgIGNvZGU6IG51bWJlcixcbiAgICBzaWduYWw/OiBzdHJpbmcsXG4gICAgZHVtcD86IHN0cmluZyxcbiAgICBkZXNjPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBTc2hDaGFubmVsRXhpdEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyBleGl0OiBTc2hDaGFubmVsRXhpdCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSlcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIFNzaENoYW5uZWxUb1Byb21pc2UgPSAob3B0aW9ucz86IENoYW5uZWxUb1Byb21pc2VPcHRpb25zKSA9PiBQcm9taXNlPFNzaENoYW5uZWxFeGl0PlxuXG5leHBvcnQgaW50ZXJmYWNlIFNzaENoYW5uZWxFeHRyYXMge1xuICAgIGNtZDogc3RyaW5nLFxuICAgIHRpbWVvdXQ/OiBOb2RlSlMuVGltZW91dCB8IHVuZGVmaW5lZCxcbiAgICBzZXR0aW5nczogQ21kQ2hhbm5lbFNldHRpbmdzLFxuICAgIHN0ZG91dDogUmVhZGFibGUsXG4gICAgdG9Qcm9taXNlOiBTc2hDaGFubmVsVG9Qcm9taXNlXG59XG5cbmV4cG9ydCB0eXBlIFNzaENoYW5uZWwgPSBPbWl0PENsaWVudENoYW5uZWwsIFwic3Rkb3V0XCI+ICYgU3NoQ2hhbm5lbEV4dHJhc1xuXG5leHBvcnQgZnVuY3Rpb24gdG9Tc2hDaGFubmVsKFxuICAgIGNoYW5uZWw6IENsaWVudENoYW5uZWwsXG4gICAgZXh0cmFzOiBTc2hDaGFubmVsRXh0cmFzLFxuKTogU3NoQ2hhbm5lbCB7XG4gICAgY29uc3Qgc3NoQ2hhbm5lbCA9IGNoYW5uZWwgYXMgYW55XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3QudHlwZWRLZXlzKGV4dHJhcykpIHtcbiAgICAgICAgc3NoQ2hhbm5lbFtrZXldID0gZXh0cmFzW2tleV1cbiAgICB9XG5cbiAgICByZXR1cm4gc3NoQ2hhbm5lbFxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXhlY1NzaENoYW5uZWwoXG4gICAgc3NoQ2xpZW50OiBTc2hDbGllbnQsXG4gICAgY21kOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IENtZENoYW5uZWxPcHRpb25zXG4pOiBQcm9taXNlPFNzaENoYW5uZWw+IHtcbiAgICBjb25zdCBzZXR0aW5nczogQ21kQ2hhbm5lbFNldHRpbmdzID0ge1xuICAgICAgICAuLi5kZWZhdWx0Q21kQ2hhbm5lbFNldHRpbmdzLFxuICAgICAgICAuLi5vcHRpb25zLFxuICAgIH1cblxuICAgIHNldHRpbmdzLmVudiA9IHtcbiAgICAgICAgLi4uc2V0dGluZ3MuZW52LFxuICAgICAgICBQV0Q6IHNldHRpbmdzLnB3ZCxcbiAgICB9XG5cbiAgICBpZiAoc2V0dGluZ3Muc3Vkbykge1xuICAgICAgICBjbWQgPSBcInN1ZG8gXCIgKyBjbWRcbiAgICB9XG5cbiAgICBjb25zdCBiYXNlQ2hhbm5lbCA9IGF3YWl0IG5ldyBQcm9taXNlPENsaWVudENoYW5uZWw+KFxuICAgICAgICAocmVzLCByZWopID0+IHNzaENsaWVudC5leGVjKFxuICAgICAgICAgICAgY21kLFxuICAgICAgICAgICAgc2V0dGluZ3MsXG4gICAgICAgICAgICAoZXJyLCBjaGFubmVsKSA9PlxuICAgICAgICAgICAgICAgIGVyciA/XG4gICAgICAgICAgICAgICAgICAgIHJlaihlcnIpIDpcbiAgICAgICAgICAgICAgICAgICAgcmVzKGNoYW5uZWwpXG4gICAgICAgIClcbiAgICApXG5cbiAgICBjb25zdCBjaGFubmVsID0gdG9Tc2hDaGFubmVsKFxuICAgICAgICBiYXNlQ2hhbm5lbCxcbiAgICAgICAge1xuICAgICAgICAgICAgY21kLFxuICAgICAgICAgICAgc2V0dGluZ3MsXG4gICAgICAgICAgICBzdGRvdXQ6IGJhc2VDaGFubmVsLnN0ZG91dCxcbiAgICAgICAgICAgIHRvUHJvbWlzZTogc3NoQ2hhbm5lbFRvUHJvbWlzZShcbiAgICAgICAgICAgICAgICBiYXNlQ2hhbm5lbCxcbiAgICAgICAgICAgICAgICBjbWQsXG4gICAgICAgICAgICApXG4gICAgICAgIH1cbiAgICApXG5cbiAgICBpZiAoXG4gICAgICAgIHR5cGVvZiBzZXR0aW5ncy50aW1lb3V0TWlsbGlzID09IFwibnVtYmVyXCIgJiZcbiAgICAgICAgc2V0dGluZ3MudGltZW91dE1pbGxpcyA+IDBcbiAgICApIHtcblxuICAgICAgICBjaGFubmVsLnRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghY2hhbm5lbC5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hhbm5lbC5jbG9zZShcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiVGltZW91dFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MudGltZW91dE1pbGxpc1xuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldHRpbmdzLnRpbWVvdXRNaWxsaXNcbiAgICAgICAgKVxuICAgICAgICBjaGFubmVsLm9uY2UoXG4gICAgICAgICAgICBcImNsb3NlXCIsXG4gICAgICAgICAgICAoKSA9PiBjbGVhclRpbWVvdXQoXG4gICAgICAgICAgICAgICAgY2hhbm5lbC50aW1lb3V0XG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gY2hhbm5lbFxufVxuXG5leHBvcnQgdHlwZSBTdHJlYW1EYXRhTWFwcGVyID0gKFxuICAgIGRhdGE6IHN0cmluZyxcbiAgICBlcnI6IGJvb2xlYW5cbikgPT4gQXdhaXRhYmxlPHN0cmluZyB8IHVuZGVmaW5lZCB8IHZvaWQ+XG5cbmV4cG9ydCB0eXBlIFN0cmVhbURhdGFGaWx0ZXIgPSAoXG4gICAgZGF0YTogc3RyaW5nLFxuICAgIGVycjogYm9vbGVhbixcbiAgICBvcHRpb25zPzogUGljazxBcnJheU9wdGlvbnMsIFwic2lnbmFsXCI+XG4pID0+IEF3YWl0YWJsZTxib29sZWFuPlxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5uZWxUb1Byb21pc2VPcHRpb25zIHtcbiAgICBtYXBPdXQ/OiBTdHJlYW1EYXRhTWFwcGVyLFxuICAgIG1hcFN0ZE91dD86IFN0cmVhbURhdGFNYXBwZXIsXG4gICAgbWFwRXJyT3V0PzogU3RyZWFtRGF0YU1hcHBlcixcbiAgICBmaWx0ZXJPdXQ/OiBTdHJlYW1EYXRhRmlsdGVyLFxuICAgIGZpbHRlclN0ZE91dD86IFN0cmVhbURhdGFGaWx0ZXIsXG4gICAgZmlsdGVyRXJyT3V0PzogU3RyZWFtRGF0YUZpbHRlcixcbiAgICBmaWx0ZXJPdXRPcHRpb25zPzogQXJyYXlPcHRpb25zLFxuICAgIGZpbHRlclN0ZE91dE9wdGlvbnM/OiBBcnJheU9wdGlvbnMsXG4gICAgZmlsdGVyRXJyT3V0T3B0aW9ucz86IEFycmF5T3B0aW9ucyxcbiAgICB0aHJvd09uT3V0PzogYm9vbGVhbixcbiAgICB0aHJvd09uU3RkT3V0PzogYm9vbGVhbixcbiAgICB0aHJvd09uRXJyT3V0PzogYm9vbGVhbixcbiAgICBleHBlY3RlZEV4aXRDb2RlPzogbnVtYmVyIHwgbnVtYmVyW10sXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbm5lbFRvUHJvbWlzZVNldHRpbmdzIHtcbiAgICBtYXBPdXQ6IFN0cmVhbURhdGFNYXBwZXIgfCB1bmRlZmluZWQsXG4gICAgbWFwU3RkT3V0OiBTdHJlYW1EYXRhTWFwcGVyIHwgdW5kZWZpbmVkLFxuICAgIG1hcEVyck91dDogU3RyZWFtRGF0YU1hcHBlciB8IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJPdXQ6IFN0cmVhbURhdGFGaWx0ZXIgfCB1bmRlZmluZWQsXG4gICAgZmlsdGVyU3RkT3V0OiBTdHJlYW1EYXRhRmlsdGVyIHwgdW5kZWZpbmVkLFxuICAgIGZpbHRlckVyck91dDogU3RyZWFtRGF0YUZpbHRlciB8IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJPdXRPcHRpb25zOiBBcnJheU9wdGlvbnMgfCB1bmRlZmluZWQsXG4gICAgZmlsdGVyU3RkT3V0T3B0aW9uczogQXJyYXlPcHRpb25zIHwgdW5kZWZpbmVkLFxuICAgIGZpbHRlckVyck91dE9wdGlvbnM6IEFycmF5T3B0aW9ucyB8IHVuZGVmaW5lZCxcbiAgICB0aHJvd09uT3V0OiBib29sZWFuIHwgdW5kZWZpbmVkLFxuICAgIHRocm93T25TdGRPdXQ6IGJvb2xlYW4sXG4gICAgdGhyb3dPbkVyck91dDogYm9vbGVhbixcbiAgICBleHBlY3RlZEV4aXRDb2RlOiBudW1iZXJbXSxcbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRDaGFubmVsVG9Qcm9taXNlU2V0dGluZ3M6IENoYW5uZWxUb1Byb21pc2VTZXR0aW5ncyA9IHtcbiAgICBtYXBPdXQ6IHVuZGVmaW5lZCxcbiAgICBtYXBTdGRPdXQ6IHVuZGVmaW5lZCxcbiAgICBtYXBFcnJPdXQ6IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJPdXQ6IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJTdGRPdXQ6IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJFcnJPdXQ6IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJPdXRPcHRpb25zOiB1bmRlZmluZWQsXG4gICAgZmlsdGVyU3RkT3V0T3B0aW9uczogdW5kZWZpbmVkLFxuICAgIGZpbHRlckVyck91dE9wdGlvbnM6IHVuZGVmaW5lZCxcbiAgICB0aHJvd09uT3V0OiB1bmRlZmluZWQsXG4gICAgdGhyb3dPblN0ZE91dDogZmFsc2UsXG4gICAgdGhyb3dPbkVyck91dDogdHJ1ZSxcbiAgICBleHBlY3RlZEV4aXRDb2RlOiBbMF0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0RhdGFDaHVuayhjaHVuazogYW55KTogc3RyaW5nIHtcbiAgICBpZiAoY2h1bmsgaW5zdGFuY2VvZiBCdWZmZXIpIHtcbiAgICAgICAgcmV0dXJuIGNodW5rLnRvU3RyaW5nKFwidXRmOFwiKVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGNodW5rICE9IFwic3RyaW5nXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgXCJVbmV4cGVjdGVkIGNodW5rIHR5cGU6ICdcIiArIHR5cGVvZiBjaHVuayArIFwiJ1xcblwiICtcbiAgICAgICAgICAgIFwiVmFsdWU6ICdcIiArIGNodW5rICsgXCInXCJcbiAgICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gY2h1bmtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNzaENoYW5uZWxUb1Byb21pc2UoXG4gICAgY2hhbm5lbDogQ2xpZW50Q2hhbm5lbCxcbiAgICBjbWQ6IHN0cmluZyxcbik6IFNzaENoYW5uZWxUb1Byb21pc2Uge1xuICAgIHJldHVybiAoXG4gICAgICAgIG9wdGlvbnM/OiBDaGFubmVsVG9Qcm9taXNlT3B0aW9uc1xuICAgICkgPT4ge1xuICAgICAgICBsZXQgcmVzb2x2ZWQ6IGJvb2xlYW4gPSBmYWxzZVxuICAgICAgICBsZXQgcmVzb2x2ZVZhbHVlOiBTc2hDaGFubmVsRXhpdCB8IFByb21pc2VMaWtlPFNzaENoYW5uZWxFeGl0PlxuXG4gICAgICAgIGxldCByZWplY3RlZDogYm9vbGVhbiA9IGZhbHNlXG4gICAgICAgIGxldCByZWplY3RSZWFzb246IGFueVxuXG4gICAgICAgIGxldCByZXM6ICh2YWx1ZTogU3NoQ2hhbm5lbEV4aXQgfCBQcm9taXNlTGlrZTxTc2hDaGFubmVsRXhpdD4pID0+IHZvaWQgPSAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmIChyZWplY3RlZCB8fCByZXNvbHZlZCkge1xuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzb2x2ZWQgPSB0cnVlXG4gICAgICAgICAgICByZXNvbHZlVmFsdWUgPSB2YWx1ZVxuICAgICAgICB9XG4gICAgICAgIGxldCByZWo6IChyZWFzb24/OiBhbnkpID0+IHZvaWQgPSAocmVhc29uKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVqZWN0ZWQgfHwgcmVzb2x2ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlamVjdGVkID0gdHJ1ZVxuICAgICAgICAgICAgcmVqZWN0UmVhc29uID0gcmVhc29uXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZXR0aW5nczogQ2hhbm5lbFRvUHJvbWlzZVNldHRpbmdzID0ge1xuICAgICAgICAgICAgLi4uZGVmYXVsdENoYW5uZWxUb1Byb21pc2VTZXR0aW5ncyxcbiAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICBleHBlY3RlZEV4aXRDb2RlOiB1bmRlZmluZWQgYXMgYW55LFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBzZXR0aW5ncy5leHBlY3RlZEV4aXRDb2RlID09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgIHNldHRpbmdzLmV4cGVjdGVkRXhpdENvZGUgPSBbc2V0dGluZ3MuZXhwZWN0ZWRFeGl0Q29kZV1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNodW5rczogW2Jvb2xlYW4sIHN0cmluZ11bXSA9IFtdXG4gICAgICAgIGxldCBhbnlFcnI6IGJvb2xlYW4gPSBmYWxzZVxuICAgICAgICBsZXQgYW55U3RkOiBib29sZWFuID0gZmFsc2VcbiAgICAgICAgbGV0IHN0ZG91dDogUmVhZGFibGUgPSBjaGFubmVsLnN0ZG91dFxuICAgICAgICBsZXQgc3RkZXJyOiBSZWFkYWJsZSA9IGNoYW5uZWwuc3RkZXJyXG5cbiAgICAgICAgaWYgKHR5cGVvZiBzZXR0aW5ncyA9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICBpZiAoc2V0dGluZ3MuZmlsdGVyT3V0KSB7XG4gICAgICAgICAgICAgICAgc2V0dGluZ3MuZmlsdGVyU3RkT3V0ID0gc2V0dGluZ3MuZmlsdGVyT3V0XG4gICAgICAgICAgICAgICAgc2V0dGluZ3MuZmlsdGVyRXJyT3V0ID0gc2V0dGluZ3MuZmlsdGVyT3V0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2V0dGluZ3MuZmlsdGVyT3V0T3B0aW9ucykge1xuICAgICAgICAgICAgICAgIHNldHRpbmdzLmZpbHRlclN0ZE91dE9wdGlvbnMgPSBzZXR0aW5ncy5maWx0ZXJPdXRPcHRpb25zXG4gICAgICAgICAgICAgICAgc2V0dGluZ3MuZmlsdGVyRXJyT3V0T3B0aW9ucyA9IHNldHRpbmdzLmZpbHRlck91dE9wdGlvbnNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzZXR0aW5ncy50aHJvd09uT3V0KSB7XG4gICAgICAgICAgICAgICAgc2V0dGluZ3MudGhyb3dPblN0ZE91dCA9IHNldHRpbmdzLnRocm93T25PdXRcbiAgICAgICAgICAgICAgICBzZXR0aW5ncy50aHJvd09uRXJyT3V0ID0gc2V0dGluZ3MudGhyb3dPbk91dFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoc2V0dGluZ3MubWFwT3V0KSB7XG4gICAgICAgICAgICAgICAgc2V0dGluZ3MubWFwU3RkT3V0ID0gc2V0dGluZ3MubWFwT3V0XG4gICAgICAgICAgICAgICAgc2V0dGluZ3MubWFwRXJyT3V0ID0gc2V0dGluZ3MubWFwT3V0XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzZXR0aW5ncy5maWx0ZXJTdGRPdXQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJTdGRPdXQgPSBzZXR0aW5ncy5maWx0ZXJTdGRPdXRcbiAgICAgICAgICAgICAgICBzdGRvdXQuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAoZGF0YSwgb3B0aW9ucykgPT4gZmlsdGVyU3RkT3V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uc1xuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncy5maWx0ZXJTdGRPdXRPcHRpb25zXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNldHRpbmdzLmZpbHRlckVyck91dCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlckVyck91dCA9IHNldHRpbmdzLmZpbHRlckVyck91dFxuICAgICAgICAgICAgICAgIHN0ZGVyci5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgIChkYXRhLCBvcHRpb25zKSA9PiBmaWx0ZXJFcnJPdXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MuZmlsdGVyRXJyT3V0T3B0aW9uc1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNldHRpbmdzLm1hcFN0ZE91dCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hcFN0ZE91dCA9IHNldHRpbmdzLm1hcFN0ZE91dFxuICAgICAgICAgICAgICAgIHN0ZG91dC5vbihcImRhdGFcIiwgKGNodW5rKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNodW5rID0gY2hlY2tEYXRhQ2h1bmsoY2h1bmspXG4gICAgICAgICAgICAgICAgICAgIGNodW5rID0gbWFwU3RkT3V0KGNodW5rLCBmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjaHVuayA9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaHVua3MucHVzaChbZmFsc2UsIFwiXCIgKyBjaHVua10pXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzdGRvdXQub24oXCJkYXRhXCIsIChjaHVuaykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjaHVuayA9IGNoZWNrRGF0YUNodW5rKGNodW5rKVxuICAgICAgICAgICAgICAgICAgICBjaHVua3MucHVzaChbZmFsc2UsIFwiXCIgKyBjaHVua10pXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNldHRpbmdzLm1hcEVyck91dCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hcEVyck91dCA9IHNldHRpbmdzLm1hcEVyck91dFxuICAgICAgICAgICAgICAgIHN0ZGVyci5vbihcImRhdGFcIiwgKGNodW5rKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNodW5rID0gY2hlY2tEYXRhQ2h1bmsoY2h1bmspXG4gICAgICAgICAgICAgICAgICAgIGNodW5rID0gbWFwRXJyT3V0KGNodW5rLCB0cnVlKVxuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNodW5rID09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rcy5wdXNoKFt0cnVlLCBcIlwiICsgY2h1bmtdKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc3RkZXJyLm9uKFwiZGF0YVwiLCAoY2h1bmspID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY2h1bmsgPSBjaGVja0RhdGFDaHVuayhjaHVuaylcbiAgICAgICAgICAgICAgICAgICAgY2h1bmtzLnB1c2goW3RydWUsIFwiXCIgKyBjaHVua10pXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0ZG91dC5vbihcImRhdGFcIiwgKGNodW5rKSA9PiB7XG4gICAgICAgICAgICAgICAgY2h1bmsgPSBjaGVja0RhdGFDaHVuayhjaHVuaylcbiAgICAgICAgICAgICAgICBjaHVua3MucHVzaChbZmFsc2UsIFwiXCIgKyBjaHVua10pXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBzdGRlcnIub24oXCJkYXRhXCIsIChjaHVuaykgPT4ge1xuICAgICAgICAgICAgICAgIGNodW5rID0gY2hlY2tEYXRhQ2h1bmsoY2h1bmspXG4gICAgICAgICAgICAgICAgY2h1bmtzLnB1c2goW3RydWUsIFwiXCIgKyBjaHVua10pXG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgc3Rkb3V0Lm9uKFwiZGF0YVwiLCAoKSA9PiB7XG4gICAgICAgICAgICBhbnlTdGQgPSB0cnVlXG4gICAgICAgIH0pXG5cbiAgICAgICAgc3RkZXJyLm9uKFwiZGF0YVwiLCAoKSA9PiB7XG4gICAgICAgICAgICBhbnlFcnIgPSB0cnVlXG4gICAgICAgIH0pXG5cbiAgICAgICAgY2hhbm5lbC5vbmNlKFxuICAgICAgICAgICAgXCJlcnJvclwiLFxuICAgICAgICAgICAgKGVycjogRXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICByZWooZXJyKVxuICAgICAgICAgICAgICAgIGlmICghY2hhbm5lbC5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hhbm5lbC5jbG9zZSgpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApXG5cbiAgICAgICAgY2hhbm5lbC5vbmNlKFxuICAgICAgICAgICAgXCJjbG9zZVwiLFxuICAgICAgICAgICAgKCkgPT4gcmVqKG5ldyBFcnJvcihcIlNzaCBjaGFubmVsIGNsb3NlZCwgY2hlY2sgd2h5IHRoZSBzb2NrZXQgd2FzIGNsb3NlZCBvciBsb3N0IGNvbm5lY3Rpb25cIikpXG4gICAgICAgIClcblxuICAgICAgICBjaGFubmVsLm9uY2UoXCJleGl0XCIsIChcbiAgICAgICAgICAgIGNvZGU6IG51bWJlciB8IG51bGwsXG4gICAgICAgICAgICBzaWduYWw/OiBzdHJpbmcsXG4gICAgICAgICAgICBkdW1wPzogc3RyaW5nLFxuICAgICAgICAgICAgZGVzYz86IHN0cmluZyxcbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWNoYW5uZWwuY2xvc2VkKSB7XG4gICAgICAgICAgICAgICAgY2hhbm5lbC5jbG9zZSgpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGV4aXQ6IFNzaENoYW5uZWxFeGl0ID0ge1xuICAgICAgICAgICAgICAgIGNtZCxcbiAgICAgICAgICAgICAgICBjb2RlOiBjb2RlID09PSBudWxsID8gLTEgOiBjb2RlLFxuICAgICAgICAgICAgICAgIHNpZ25hbCxcbiAgICAgICAgICAgICAgICBkdW1wLFxuICAgICAgICAgICAgICAgIGRlc2MsXG4gICAgICAgICAgICAgICAgY2h1bmtzLFxuICAgICAgICAgICAgICAgIGFueUVycixcbiAgICAgICAgICAgICAgICBhbnlTdGQsXG4gICAgICAgICAgICAgICAgb3V0OiBjaHVua3MubWFwKCh2KSA9PiB2WzFdKS5qb2luKFwiXFxuXCIpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLnRocm93T25FcnJPdXQgJiZcbiAgICAgICAgICAgICAgICAgICAgYW55RXJyXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlaihuZXcgU3NoQ2hhbm5lbEV4aXRFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiVW5leHBlY3RlZCBlcnJvciBzdHJlYW0gb3V0cHV0OlxcbiAgXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgY2h1bmtzLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2h1bmtzKSA9PiBjaHVua3NbMF1cbiAgICAgICAgICAgICAgICAgICAgICAgICkuam9pbihcIlxcbiAgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhpdFxuICAgICAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLnRocm93T25TdGRPdXQgJiZcbiAgICAgICAgICAgICAgICAgICAgYW55U3RkXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlaihuZXcgU3NoQ2hhbm5lbEV4aXRFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiVW5leHBlY3RlZCBzdGFuZGFyZCBzdHJlYW0gb3V0cHV0OlxcbiAgXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgY2h1bmtzLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2h1bmtzKSA9PiAhY2h1bmtzWzBdXG4gICAgICAgICAgICAgICAgICAgICAgICApLmpvaW4oXCJcXG4gIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4aXRcbiAgICAgICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuXG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJlcyhleGl0KVxuICAgICAgICB9KVxuXG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPFNzaENoYW5uZWxFeGl0PihcbiAgICAgICAgICAgIChyZXMyLCByZWoyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc29sdmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlczIocmVzb2x2ZVZhbHVlKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlamVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlajIocmVqZWN0UmVhc29uKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXMgPSByZXMyXG4gICAgICAgICAgICAgICAgcmVqID0gcmVqMlxuICAgICAgICAgICAgfVxuICAgICAgICApXG4gICAgfVxufSJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3NoRXhlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Tc2hFeGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCQSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBdUI7SUFDekQsR0FBRyxFQUFFLEdBQUc7SUFDUixhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ2pCLElBQUksRUFBRSxLQUFLO0NBQ2QsQ0FBQTtBQWdCRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsS0FBSztJQUcvQjtJQUZYLFlBQ0ksT0FBZSxFQUNSLElBQW9CO1FBRTNCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUZQLFNBQUksR0FBSixJQUFJLENBQWdCO0lBRy9CLENBQUM7Q0FDSjtBQWNELE1BQU0sVUFBVSxZQUFZLENBQ3hCLE9BQXNCLEVBQ3RCLE1BQXdCO0lBRXhCLE1BQU0sVUFBVSxHQUFHLE9BQWMsQ0FBQTtJQUVqQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN6QyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2pDLENBQUM7SUFFRCxPQUFPLFVBQVUsQ0FBQTtBQUNyQixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxjQUFjLENBQ2hDLFNBQW9CLEVBQ3BCLEdBQVcsRUFDWCxPQUEyQjtJQUUzQixNQUFNLFFBQVEsR0FBdUI7UUFDakMsR0FBRyx5QkFBeUI7UUFDNUIsR0FBRyxPQUFPO0tBQ2IsQ0FBQTtJQUVELFFBQVEsQ0FBQyxHQUFHLEdBQUc7UUFDWCxHQUFHLFFBQVEsQ0FBQyxHQUFHO1FBQ2YsR0FBRyxFQUFFLFFBQVEsQ0FBQyxHQUFHO0tBQ3BCLENBQUE7SUFFRCxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQixHQUFHLEdBQUcsT0FBTyxHQUFHLEdBQUcsQ0FBQTtJQUN2QixDQUFDO0lBRUQs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LElBQUksbUJBQW1CLENBQ3ZCLHdDQUF3Qzt3QkFDeEMsTUFBTSxDQUFDLE1BQU0sQ0FDVCxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQ3pCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUNkLElBQUksQ0FDUCxDQUFDLENBQUE7b0JBQ0YsT0FBTTtnQkFFVixDQUFDO1lBQ0wsQ0FBQztZQUVELEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNiLENBQUMsQ0FBQyxDQUFBO1FBR0YsT0FBTyxJQUFJLE9BQU8sQ0FDZCxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNYLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO2dCQUNsQixPQUFNO1lBQ1YsQ0FBQztpQkFBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7Z0JBQ2xCLE9BQU07WUFDVixDQUFDO1lBRUQsR0FBRyxHQUFHLElBQUksQ0FBQTtZQUNWLEdBQUcsR0FBRyxJQUFJLENBQUE7UUFDZCxDQUFDLENBQ0osQ0FBQTtJQUNMLENBQUMsQ0FBQTtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGllbnRDaGFubmVsLCBFeGVjT3B0aW9ucywgQ2xpZW50IGFzIFNzaENsaWVudCB9IGZyb20gXCJzc2gyXCI7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gXCJzdHJlYW1cIjtcbmltcG9ydCB7IEF3YWl0YWJsZSB9IGZyb20gXCIuL3V0aWxzL2Jhc2UuanNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBcnJheU9wdGlvbnMge1xuICAgIGNvbmN1cnJlbmN5PzogbnVtYmVyO1xuICAgIHNpZ25hbD86IEFib3J0U2lnbmFsO1xuICAgIGVuY29kaW5nPzogQnVmZmVyRW5jb2Rpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbWRDaGFubmVsT3B0aW9ucyBleHRlbmRzIEV4ZWNPcHRpb25zIHtcbiAgICBwd2Q/OiBzdHJpbmcsXG4gICAgdGltZW91dE1pbGxpcz86IG51bWJlcixcbiAgICBzdWRvPzogYm9vbGVhbixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbWRDaGFubmVsU2V0dGluZ3MgZXh0ZW5kcyBFeGVjT3B0aW9ucyB7XG4gICAgcHdkOiBzdHJpbmcsXG4gICAgdGltZW91dE1pbGxpczogbnVtYmVyLFxuICAgIHN1ZG86IGJvb2xlYW4sXG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0Q21kQ2hhbm5lbFNldHRpbmdzOiBDbWRDaGFubmVsU2V0dGluZ3MgPSB7XG4gICAgcHdkOiBcIi9cIixcbiAgICB0aW1lb3V0TWlsbGlzOiAtMSxcbiAgICBzdWRvOiBmYWxzZSxcbn1cblxuZXhwb3J0IHR5cGUgQ21kRXhlY09wdGlvbnMgPSBDbWRDaGFubmVsT3B0aW9ucyAmIENoYW5uZWxUb1Byb21pc2VPcHRpb25zXG5cbmV4cG9ydCBpbnRlcmZhY2UgU3NoQ2hhbm5lbEV4aXQge1xuICAgIGNtZDogc3RyaW5nLFxuICAgIG91dDogc3RyaW5nLFxuICAgIGNodW5rczogW2Jvb2xlYW4sIHN0cmluZ11bXSxcbiAgICBhbnlFcnI6IGJvb2xlYW4sXG4gICAgYW55U3RkOiBib29sZWFuLFxuICAgIGNvZGU6IG51bWJlcixcbiAgICBzaWduYWw/OiBzdHJpbmcsXG4gICAgZHVtcD86IHN0cmluZyxcbiAgICBkZXNjPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBTc2hDaGFubmVsRXhpdEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyBleGl0OiBTc2hDaGFubmVsRXhpdCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSlcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIFNzaENoYW5uZWxUb1Byb21pc2UgPSAob3B0aW9ucz86IENoYW5uZWxUb1Byb21pc2VPcHRpb25zKSA9PiBQcm9taXNlPFNzaENoYW5uZWxFeGl0PlxuXG5leHBvcnQgaW50ZXJmYWNlIFNzaENoYW5uZWxFeHRyYXMge1xuICAgIGNtZDogc3RyaW5nLFxuICAgIHRpbWVvdXQ/OiBOb2RlSlMuVGltZW91dCB8IHVuZGVmaW5lZCxcbiAgICBzZXR0aW5nczogQ21kQ2hhbm5lbFNldHRpbmdzLFxuICAgIHN0ZG91dDogUmVhZGFibGUsXG4gICAgdG9Qcm9taXNlOiBTc2hDaGFubmVsVG9Qcm9taXNlXG59XG5cbmV4cG9ydCB0eXBlIFNzaENoYW5uZWwgPSBPbWl0PENsaWVudENoYW5uZWwsIFwic3Rkb3V0XCI+ICYgU3NoQ2hhbm5lbEV4dHJhc1xuXG5leHBvcnQgZnVuY3Rpb24gdG9Tc2hDaGFubmVsKFxuICAgIGNoYW5uZWw6IENsaWVudENoYW5uZWwsXG4gICAgZXh0cmFzOiBTc2hDaGFubmVsRXh0cmFzLFxuKTogU3NoQ2hhbm5lbCB7XG4gICAgY29uc3Qgc3NoQ2hhbm5lbCA9IGNoYW5uZWwgYXMgYW55XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3QudHlwZWRLZXlzKGV4dHJhcykpIHtcbiAgICAgICAgc3NoQ2hhbm5lbFtrZXldID0gZXh0cmFzW2tleV1cbiAgICB9XG5cbiAgICByZXR1cm4gc3NoQ2hhbm5lbFxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXhlY1NzaENoYW5uZWwoXG4gICAgc3NoQ2xpZW50OiBTc2hDbGllbnQsXG4gICAgY21kOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IENtZENoYW5uZWxPcHRpb25zXG4pOiBQcm9taXNlPFNzaENoYW5uZWw+IHtcbiAgICBjb25zdCBzZXR0aW5nczogQ21kQ2hhbm5lbFNldHRpbmdzID0ge1xuICAgICAgICAuLi5kZWZhdWx0Q21kQ2hhbm5lbFNldHRpbmdzLFxuICAgICAgICAuLi5vcHRpb25zLFxuICAgIH1cblxuICAgIHNldHRpbmdzLmVudiA9IHtcbiAgICAgICAgLi4uc2V0dGluZ3MuZW52LFxuICAgICAgICBQV0Q6IHNldHRpbmdzLnB3ZCxcbiAgICB9XG5cbiAgICBpZiAoc2V0dGluZ3Muc3Vkbykge1xuICAgICAgICBjbWQgPSBcInN1ZG8gXCIgKyBjbWRcbiAgICB9XG5cbiAgICBjb25zdCBiYXNlQ2hhbm5lbCA9IGF3YWl0IG5ldyBQcm9taXNlPENsaWVudENoYW5uZWw+KFxuICAgICAgICAocmVzLCByZWopID0+IHNzaENsaWVudC5leGVjKFxuICAgICAgICAgICAgY21kLFxuICAgICAgICAgICAgc2V0dGluZ3MsXG4gICAgICAgICAgICAoZXJyLCBjaGFubmVsKSA9PlxuICAgICAgICAgICAgICAgIGVyciA/XG4gICAgICAgICAgICAgICAgICAgIHJlaihlcnIpIDpcbiAgICAgICAgICAgICAgICAgICAgcmVzKGNoYW5uZWwpXG4gICAgICAgIClcbiAgICApXG5cbiAgICBjb25zdCBjaGFubmVsID0gdG9Tc2hDaGFubmVsKFxuICAgICAgICBiYXNlQ2hhbm5lbCxcbiAgICAgICAge1xuICAgICAgICAgICAgY21kLFxuICAgICAgICAgICAgc2V0dGluZ3MsXG4gICAgICAgICAgICBzdGRvdXQ6IGJhc2VDaGFubmVsLnN0ZG91dCxcbiAgICAgICAgICAgIHRvUHJvbWlzZTogc3NoQ2hhbm5lbFRvUHJvbWlzZShcbiAgICAgICAgICAgICAgICBiYXNlQ2hhbm5lbCxcbiAgICAgICAgICAgICAgICBjbWQsXG4gICAgICAgICAgICApXG4gICAgICAgIH1cbiAgICApXG5cbiAgICBpZiAoXG4gICAgICAgIHR5cGVvZiBzZXR0aW5ncy50aW1lb3V0TWlsbGlzID09IFwibnVtYmVyXCIgJiZcbiAgICAgICAgc2V0dGluZ3MudGltZW91dE1pbGxpcyA+IDBcbiAgICApIHtcblxuICAgICAgICBjaGFubmVsLnRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghY2hhbm5lbC5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hhbm5lbC5jbG9zZShcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiVGltZW91dFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MudGltZW91dE1pbGxpc1xuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldHRpbmdzLnRpbWVvdXRNaWxsaXNcbiAgICAgICAgKVxuICAgICAgICBjaGFubmVsLm9uY2UoXG4gICAgICAgICAgICBcImNsb3NlXCIsXG4gICAgICAgICAgICAoKSA9PiBjbGVhclRpbWVvdXQoXG4gICAgICAgICAgICAgICAgY2hhbm5lbC50aW1lb3V0XG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gY2hhbm5lbFxufVxuXG5leHBvcnQgdHlwZSBTdHJlYW1EYXRhTWFwcGVyID0gKFxuICAgIGRhdGE6IHN0cmluZyxcbiAgICBlcnI6IGJvb2xlYW5cbikgPT4gQXdhaXRhYmxlPHN0cmluZyB8IHVuZGVmaW5lZCB8IHZvaWQ+XG5cbmV4cG9ydCB0eXBlIFN0cmVhbURhdGFGaWx0ZXIgPSAoXG4gICAgZGF0YTogc3RyaW5nLFxuICAgIGVycjogYm9vbGVhbixcbiAgICBvcHRpb25zPzogUGljazxBcnJheU9wdGlvbnMsIFwic2lnbmFsXCI+XG4pID0+IEF3YWl0YWJsZTxib29sZWFuPlxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5uZWxUb1Byb21pc2VPcHRpb25zIHtcbiAgICBtYXBPdXQ/OiBTdHJlYW1EYXRhTWFwcGVyLFxuICAgIG1hcFN0ZE91dD86IFN0cmVhbURhdGFNYXBwZXIsXG4gICAgbWFwRXJyT3V0PzogU3RyZWFtRGF0YU1hcHBlcixcbiAgICBmaWx0ZXJPdXQ/OiBTdHJlYW1EYXRhRmlsdGVyLFxuICAgIGZpbHRlclN0ZE91dD86IFN0cmVhbURhdGFGaWx0ZXIsXG4gICAgZmlsdGVyRXJyT3V0PzogU3RyZWFtRGF0YUZpbHRlcixcbiAgICBmaWx0ZXJPdXRPcHRpb25zPzogQXJyYXlPcHRpb25zLFxuICAgIGZpbHRlclN0ZE91dE9wdGlvbnM/OiBBcnJheU9wdGlvbnMsXG4gICAgZmlsdGVyRXJyT3V0T3B0aW9ucz86IEFycmF5T3B0aW9ucyxcbiAgICB0aHJvd09uT3V0PzogYm9vbGVhbixcbiAgICB0aHJvd09uU3RkT3V0PzogYm9vbGVhbixcbiAgICB0aHJvd09uRXJyT3V0PzogYm9vbGVhbixcbiAgICBleHBlY3RlZEV4aXRDb2RlPzogbnVtYmVyIHwgbnVtYmVyW10sXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbm5lbFRvUHJvbWlzZVNldHRpbmdzIHtcbiAgICBtYXBPdXQ6IFN0cmVhbURhdGFNYXBwZXIgfCB1bmRlZmluZWQsXG4gICAgbWFwU3RkT3V0OiBTdHJlYW1EYXRhTWFwcGVyIHwgdW5kZWZpbmVkLFxuICAgIG1hcEVyck91dDogU3RyZWFtRGF0YU1hcHBlciB8IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJPdXQ6IFN0cmVhbURhdGFGaWx0ZXIgfCB1bmRlZmluZWQsXG4gICAgZmlsdGVyU3RkT3V0OiBTdHJlYW1EYXRhRmlsdGVyIHwgdW5kZWZpbmVkLFxuICAgIGZpbHRlckVyck91dDogU3RyZWFtRGF0YUZpbHRlciB8IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJPdXRPcHRpb25zOiBBcnJheU9wdGlvbnMgfCB1bmRlZmluZWQsXG4gICAgZmlsdGVyU3RkT3V0T3B0aW9uczogQXJyYXlPcHRpb25zIHwgdW5kZWZpbmVkLFxuICAgIGZpbHRlckVyck91dE9wdGlvbnM6IEFycmF5T3B0aW9ucyB8IHVuZGVmaW5lZCxcbiAgICB0aHJvd09uT3V0OiBib29sZWFuIHwgdW5kZWZpbmVkLFxuICAgIHRocm93T25TdGRPdXQ6IGJvb2xlYW4sXG4gICAgdGhyb3dPbkVyck91dDogYm9vbGVhbixcbiAgICBleHBlY3RlZEV4aXRDb2RlOiBudW1iZXJbXSxcbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRDaGFubmVsVG9Qcm9taXNlU2V0dGluZ3M6IENoYW5uZWxUb1Byb21pc2VTZXR0aW5ncyA9IHtcbiAgICBtYXBPdXQ6IHVuZGVmaW5lZCxcbiAgICBtYXBTdGRPdXQ6IHVuZGVmaW5lZCxcbiAgICBtYXBFcnJPdXQ6IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJPdXQ6IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJTdGRPdXQ6IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJFcnJPdXQ6IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJPdXRPcHRpb25zOiB1bmRlZmluZWQsXG4gICAgZmlsdGVyU3RkT3V0T3B0aW9uczogdW5kZWZpbmVkLFxuICAgIGZpbHRlckVyck91dE9wdGlvbnM6IHVuZGVmaW5lZCxcbiAgICB0aHJvd09uT3V0OiB1bmRlZmluZWQsXG4gICAgdGhyb3dPblN0ZE91dDogZmFsc2UsXG4gICAgdGhyb3dPbkVyck91dDogdHJ1ZSxcbiAgICBleHBlY3RlZEV4aXRDb2RlOiBbMF0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0RhdGFDaHVuayhjaHVuazogYW55KTogc3RyaW5nIHtcbiAgICBpZiAoY2h1bmsgaW5zdGFuY2VvZiBCdWZmZXIpIHtcbiAgICAgICAgcmV0dXJuIGNodW5rLnRvU3RyaW5nKFwidXRmOFwiKVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGNodW5rICE9IFwic3RyaW5nXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgXCJVbmV4cGVjdGVkIGNodW5rIHR5cGU6ICdcIiArIHR5cGVvZiBjaHVuayArIFwiJ1xcblwiICtcbiAgICAgICAgICAgIFwiVmFsdWU6ICdcIiArIGNodW5rICsgXCInXCJcbiAgICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gY2h1bmtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNzaENoYW5uZWxUb1Byb21pc2UoXG4gICAgY2hhbm5lbDogQ2xpZW50Q2hhbm5lbCxcbiAgICBjbWQ6IHN0cmluZyxcbik6IFNzaENoYW5uZWxUb1Byb21pc2Uge1xuICAgIHJldHVybiAoXG4gICAgICAgIG9wdGlvbnM/OiBDaGFubmVsVG9Qcm9taXNlT3B0aW9uc1xuICAgICkgPT4ge1xuICAgICAgICBsZXQgcmVzb2x2ZWQ6IGJvb2xlYW4gPSBmYWxzZVxuICAgICAgICBsZXQgcmVzb2x2ZVZhbHVlOiBTc2hDaGFubmVsRXhpdCB8IFByb21pc2VMaWtlPFNzaENoYW5uZWxFeGl0PlxuXG4gICAgICAgIGxldCByZWplY3RlZDogYm9vbGVhbiA9IGZhbHNlXG4gICAgICAgIGxldCByZWplY3RSZWFzb246IGFueVxuXG4gICAgICAgIGxldCByZXM6ICh2YWx1ZTogU3NoQ2hhbm5lbEV4aXQgfCBQcm9taXNlTGlrZTxTc2hDaGFubmVsRXhpdD4pID0+IHZvaWQgPSAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmIChyZWplY3RlZCB8fCByZXNvbHZlZCkge1xuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzb2x2ZWQgPSB0cnVlXG4gICAgICAgICAgICByZXNvbHZlVmFsdWUgPSB2YWx1ZVxuICAgICAgICB9XG4gICAgICAgIGxldCByZWo6IChyZWFzb24/OiBhbnkpID0+IHZvaWQgPSAocmVhc29uKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVqZWN0ZWQgfHwgcmVzb2x2ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlamVjdGVkID0gdHJ1ZVxuICAgICAgICAgICAgcmVqZWN0UmVhc29uID0gcmVhc29uXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZXR0aW5nczogQ2hhbm5lbFRvUHJvbWlzZVNldHRpbmdzID0ge1xuICAgICAgICAgICAgLi4uZGVmYXVsdENoYW5uZWxUb1Byb21pc2VTZXR0aW5ncyxcbiAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICBleHBlY3RlZEV4aXRDb2RlOiB1bmRlZmluZWQgYXMgYW55LFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBzZXR0aW5ncy5leHBlY3RlZEV4aXRDb2RlID09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgIHNldHRpbmdzLmV4cGVjdGVkRXhpdENvZGUgPSBbc2V0dGluZ3MuZXhwZWN0ZWRFeGl0Q29kZV1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNodW5rczogW2Jvb2xlYW4sIHN0cmluZ11bXSA9IFtdXG4gICAgICAgIGxldCBhbnlFcnI6IGJvb2xlYW4gPSBmYWxzZVxuICAgICAgICBsZXQgYW55U3RkOiBib29sZWFuID0gZmFsc2VcbiAgICAgICAgbGV0IHN0ZG91dDogUmVhZGFibGUgPSBjaGFubmVsLnN0ZG91dFxuICAgICAgICBsZXQgc3RkZXJyOiBSZWFkYWJsZSA9IGNoYW5uZWwuc3RkZXJyXG5cbiAgICAgICAgaWYgKHR5cGVvZiBzZXR0aW5ncyA9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICBpZiAoc2V0dGluZ3MuZmlsdGVyT3V0KSB7XG4gICAgICAgICAgICAgICAgc2V0dGluZ3MuZmlsdGVyU3RkT3V0ID0gc2V0dGluZ3MuZmlsdGVyT3V0XG4gICAgICAgICAgICAgICAgc2V0dGluZ3MuZmlsdGVyRXJyT3V0ID0gc2V0dGluZ3MuZmlsdGVyT3V0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2V0dGluZ3MuZmlsdGVyT3V0T3B0aW9ucykge1xuICAgICAgICAgICAgICAgIHNldHRpbmdzLmZpbHRlclN0ZE91dE9wdGlvbnMgPSBzZXR0aW5ncy5maWx0ZXJPdXRPcHRpb25zXG4gICAgICAgICAgICAgICAgc2V0dGluZ3MuZmlsdGVyRXJyT3V0T3B0aW9ucyA9IHNldHRpbmdzLmZpbHRlck91dE9wdGlvbnNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzZXR0aW5ncy50aHJvd09uT3V0KSB7XG4gICAgICAgICAgICAgICAgc2V0dGluZ3MudGhyb3dPblN0ZE91dCA9IHNldHRpbmdzLnRocm93T25PdXRcbiAgICAgICAgICAgICAgICBzZXR0aW5ncy50aHJvd09uRXJyT3V0ID0gc2V0dGluZ3MudGhyb3dPbk91dFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoc2V0dGluZ3MubWFwT3V0KSB7XG4gICAgICAgICAgICAgICAgc2V0dGluZ3MubWFwU3RkT3V0ID0gc2V0dGluZ3MubWFwT3V0XG4gICAgICAgICAgICAgICAgc2V0dGluZ3MubWFwRXJyT3V0ID0gc2V0dGluZ3MubWFwT3V0XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzZXR0aW5ncy5maWx0ZXJTdGRPdXQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJTdGRPdXQgPSBzZXR0aW5ncy5maWx0ZXJTdGRPdXRcbiAgICAgICAgICAgICAgICBzdGRvdXQuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAoZGF0YSwgb3B0aW9ucykgPT4gZmlsdGVyU3RkT3V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uc1xuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncy5maWx0ZXJTdGRPdXRPcHRpb25zXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNldHRpbmdzLmZpbHRlckVyck91dCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlckVyck91dCA9IHNldHRpbmdzLmZpbHRlckVyck91dFxuICAgICAgICAgICAgICAgIHN0ZGVyci5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgIChkYXRhLCBvcHRpb25zKSA9PiBmaWx0ZXJFcnJPdXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MuZmlsdGVyRXJyT3V0T3B0aW9uc1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNldHRpbmdzLm1hcFN0ZE91dCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hcFN0ZE91dCA9IHNldHRpbmdzLm1hcFN0ZE91dFxuICAgICAgICAgICAgICAgIHN0ZG91dC5vbihcImRhdGFcIiwgKGNodW5rKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNodW5rID0gY2hlY2tEYXRhQ2h1bmsoY2h1bmspXG4gICAgICAgICAgICAgICAgICAgIGNodW5rID0gbWFwU3RkT3V0KGNodW5rLCBmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjaHVuayA9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaHVua3MucHVzaChbZmFsc2UsIFwiXCIgKyBjaHVua10pXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzdGRvdXQub24oXCJkYXRhXCIsIChjaHVuaykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjaHVuayA9IGNoZWNrRGF0YUNodW5rKGNodW5rKVxuICAgICAgICAgICAgICAgICAgICBjaHVua3MucHVzaChbZmFsc2UsIFwiXCIgKyBjaHVua10pXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNldHRpbmdzLm1hcEVyck91dCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hcEVyck91dCA9IHNldHRpbmdzLm1hcEVyck91dFxuICAgICAgICAgICAgICAgIHN0ZGVyci5vbihcImRhdGFcIiwgKGNodW5rKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNodW5rID0gY2hlY2tEYXRhQ2h1bmsoY2h1bmspXG4gICAgICAgICAgICAgICAgICAgIGNodW5rID0gbWFwRXJyT3V0KGNodW5rLCB0cnVlKVxuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNodW5rID09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rcy5wdXNoKFt0cnVlLCBcIlwiICsgY2h1bmtdKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc3RkZXJyLm9uKFwiZGF0YVwiLCAoY2h1bmspID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY2h1bmsgPSBjaGVja0RhdGFDaHVuayhjaHVuaylcbiAgICAgICAgICAgICAgICAgICAgY2h1bmtzLnB1c2goW3RydWUsIFwiXCIgKyBjaHVua10pXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0ZG91dC5vbihcImRhdGFcIiwgKGNodW5rKSA9PiB7XG4gICAgICAgICAgICAgICAgY2h1bmsgPSBjaGVja0RhdGFDaHVuayhjaHVuaylcbiAgICAgICAgICAgICAgICBjaHVua3MucHVzaChbZmFsc2UsIFwiXCIgKyBjaHVua10pXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBzdGRlcnIub24oXCJkYXRhXCIsIChjaHVuaykgPT4ge1xuICAgICAgICAgICAgICAgIGNodW5rID0gY2hlY2tEYXRhQ2h1bmsoY2h1bmspXG4gICAgICAgICAgICAgICAgY2h1bmtzLnB1c2goW3RydWUsIFwiXCIgKyBjaHVua10pXG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgc3Rkb3V0Lm9uKFwiZGF0YVwiLCAoKSA9PiB7XG4gICAgICAgICAgICBhbnlTdGQgPSB0cnVlXG4gICAgICAgIH0pXG5cbiAgICAgICAgc3RkZXJyLm9uKFwiZGF0YVwiLCAoKSA9PiB7XG4gICAgICAgICAgICBhbnlFcnIgPSB0cnVlXG4gICAgICAgIH0pXG5cbiAgICAgICAgY2hhbm5lbC5vbmNlKFxuICAgICAgICAgICAgXCJlcnJvclwiLFxuICAgICAgICAgICAgKGVycjogRXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICByZWooZXJyKVxuICAgICAgICAgICAgICAgIGlmICghY2hhbm5lbC5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hhbm5lbC5jbG9zZSgpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApXG5cbiAgICAgICAgY2hhbm5lbC5vbmNlKFxuICAgICAgICAgICAgXCJjbG9zZVwiLFxuICAgICAgICAgICAgKC4uLnBhcmFtczogYW55W10pID0+IGNoYW5uZWwuZW1pdChcImV4aXRcIiwgLi4ucGFyYW1zKVxuICAgICAgICApXG5cbiAgICAgICAgY2hhbm5lbC5vbmNlKFwiZXhpdFwiLCAoXG4gICAgICAgICAgICBjb2RlOiBudW1iZXIgfCBudWxsLFxuICAgICAgICAgICAgc2lnbmFsPzogc3RyaW5nLFxuICAgICAgICAgICAgZHVtcD86IHN0cmluZyxcbiAgICAgICAgICAgIGRlc2M/OiBzdHJpbmcsXG4gICAgICAgICkgPT4ge1xuICAgICAgICAgICAgaWYgKCFjaGFubmVsLmNsb3NlZCkge1xuICAgICAgICAgICAgICAgIGNoYW5uZWwuY2xvc2UoKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBleGl0OiBTc2hDaGFubmVsRXhpdCA9IHtcbiAgICAgICAgICAgICAgICBjbWQsXG4gICAgICAgICAgICAgICAgY29kZTogY29kZSA9PT0gbnVsbCA/IC0xIDogY29kZSxcbiAgICAgICAgICAgICAgICBzaWduYWwsXG4gICAgICAgICAgICAgICAgZHVtcCxcbiAgICAgICAgICAgICAgICBkZXNjLFxuICAgICAgICAgICAgICAgIGNodW5rcyxcbiAgICAgICAgICAgICAgICBhbnlFcnIsXG4gICAgICAgICAgICAgICAgYW55U3RkLFxuICAgICAgICAgICAgICAgIG91dDogY2h1bmtzLm1hcCgodikgPT4gdlsxXSkuam9pbihcIlxcblwiKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy50aHJvd09uRXJyT3V0ICYmXG4gICAgICAgICAgICAgICAgICAgIGFueUVyclxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICByZWoobmV3IFNzaENoYW5uZWxFeGl0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlVuZXhwZWN0ZWQgZXJyb3Igc3RyZWFtIG91dHB1dDpcXG4gIFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rcy5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNodW5rcykgPT4gY2h1bmtzWzBdXG4gICAgICAgICAgICAgICAgICAgICAgICApLmpvaW4oXCJcXG4gIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4aXRcbiAgICAgICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy50aHJvd09uU3RkT3V0ICYmXG4gICAgICAgICAgICAgICAgICAgIGFueVN0ZFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICByZWoobmV3IFNzaENoYW5uZWxFeGl0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlVuZXhwZWN0ZWQgc3RhbmRhcmQgc3RyZWFtIG91dHB1dDpcXG4gIFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rcy5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNodW5rcykgPT4gIWNodW5rc1swXVxuICAgICAgICAgICAgICAgICAgICAgICAgKS5qb2luKFwiXFxuICBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICBleGl0XG4gICAgICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgICAgIHJldHVyblxuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXMoZXhpdClcbiAgICAgICAgfSlcblxuXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxTc2hDaGFubmVsRXhpdD4oXG4gICAgICAgICAgICAocmVzMiwgcmVqMikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXNvbHZlZCkge1xuICAgICAgICAgICAgICAgICAgICByZXMyKHJlc29sdmVWYWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZWplY3RlZCkge1xuICAgICAgICAgICAgICAgICAgICByZWoyKHJlamVjdFJlYXNvbilcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmVzID0gcmVzMlxuICAgICAgICAgICAgICAgIHJlaiA9IHJlajJcbiAgICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgIH1cbn0iXX0= |
{ | ||
"name": "hivessh", | ||
"version": "1.2.2", | ||
"version": "1.2.3", | ||
"description": "HiveSsh is an innovative library designed to streamline SSH2 connections and simplify task execution on Linux servers.", | ||
@@ -71,2 +71,2 @@ "type": "module", | ||
} | ||
} | ||
} |
313126