New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

inprint

Package Overview
Dependencies
Maintainers
1
Versions
33
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

inprint - npm Package Compare versions

Comparing version

to
1.0.19

2

lib/embeddedFeatures/index.js

@@ -31,2 +31,2 @@ "use strict";

exports.embeddedFeatures = embeddedFeatures;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbWJlZGRlZEZlYXR1cmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbImVtYmVkZGVkRmVhdHVyZXMiLCJpbmRleFRzRW1iZWRkZWRGZWF0dXJlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBT0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUxBO0FBQ0E7QUFDQTtBQUVBO0FBSU8sTUFBTUEsZ0JBQWtDLEdBQUcsQ0FBQ0MsK0JBQUQsQ0FBM0MsQyxDQUNQIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW1iZWRkZWRGZWF0dXJlIH0gZnJvbSBcIi4uL0VtYmVkZGVkRmVhdHVyZVwiO1xyXG5cclxuLy8gZXhwb3J0ICogZnJvbSBcIi4vaW5kZXhUc1wiO1xyXG4vLyBpbXBvcnQge2luZGV4VHNFbWJlZGRlZEZlYXR1cmV9IGZyb20gXCIuL2luZGV4VHNcIjtcclxuLy8gZXhwb3J0IGNvbnN0IGVtYmVkZGVkRmVhdHVyZXM6RW1iZWRkZWRGZWF0dXJlW10gPSBbaW5kZXhUc0VtYmVkZGVkRmVhdHVyZV07XHJcblxyXG4vLyBASU5QUklOVF9TVEFSVCB7ZXhjbHVkZTpbXCJcIl0sIG1lcmdlOlt7bmFtZTpcImVtYmVkZGVkRmVhdHVyZXM6RW1iZWRkZWRGZWF0dXJlW11cIiwgc3VmZml4OlwiRW1iZWRkZWRGZWF0dXJlXCJ9XX1cclxuZXhwb3J0ICogZnJvbSBcIi4vaW5kZXhUc1wiO1xuXG5pbXBvcnQge2luZGV4VHNFbWJlZGRlZEZlYXR1cmV9IGZyb20gXCIuL2luZGV4VHNcIjtcbmV4cG9ydCBjb25zdCBlbWJlZGRlZEZlYXR1cmVzOkVtYmVkZGVkRmVhdHVyZVtdID0gW2luZGV4VHNFbWJlZGRlZEZlYXR1cmVdO1xuLy8gQElOUFJJTlRfRU5EXHJcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbWJlZGRlZEZlYXR1cmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbImVtYmVkZGVkRmVhdHVyZXMiLCJpbmRleFRzRW1iZWRkZWRGZWF0dXJlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBT0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUxBO0FBQ0E7QUFDQTtBQUVBO0FBSU8sTUFBTUEsZ0JBQW1DLEdBQUcsQ0FBQ0MsK0JBQUQsQ0FBNUMsQyxDQUVQIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW1iZWRkZWRGZWF0dXJlIH0gZnJvbSBcIi4uL0VtYmVkZGVkRmVhdHVyZVwiO1xyXG5cclxuLy8gZXhwb3J0ICogZnJvbSBcIi4vaW5kZXhUc1wiO1xyXG4vLyBpbXBvcnQge2luZGV4VHNFbWJlZGRlZEZlYXR1cmV9IGZyb20gXCIuL2luZGV4VHNcIjtcclxuLy8gZXhwb3J0IGNvbnN0IGVtYmVkZGVkRmVhdHVyZXM6RW1iZWRkZWRGZWF0dXJlW10gPSBbaW5kZXhUc0VtYmVkZGVkRmVhdHVyZV07XHJcblxyXG4vLyBASU5QUklOVF9TVEFSVCB7ZXhjbHVkZTpbXCJcIl0sIG1lcmdlOlt7bmFtZTpcImVtYmVkZGVkRmVhdHVyZXM6RW1iZWRkZWRGZWF0dXJlW11cIiwgc3VmZml4OlwiRW1iZWRkZWRGZWF0dXJlXCJ9XX1cclxuZXhwb3J0ICogZnJvbSBcIi4vaW5kZXhUc1wiO1xuXG5pbXBvcnQgeyBpbmRleFRzRW1iZWRkZWRGZWF0dXJlIH0gZnJvbSBcIi4vaW5kZXhUc1wiO1xuZXhwb3J0IGNvbnN0IGVtYmVkZGVkRmVhdHVyZXM6IEVtYmVkZGVkRmVhdHVyZVtdID0gW2luZGV4VHNFbWJlZGRlZEZlYXR1cmVdO1xuXG4vLyBASU5QUklOVF9FTkRcclxuIl19

@@ -155,3 +155,3 @@ "use strict";

// @ts-ignore
console.log("1.0.18");
console.log("1.0.19");
return;

@@ -161,4 +161,3 @@ }

let optionsPath = undefined;
try {
if (process.argv[2]) try {
if (!options0) {

@@ -168,3 +167,8 @@ optionsPath = process.argv[2];

}
} catch (e) {}
} catch (e) {
console.error(`CODE00000000 INPRINT failed to load '${optionsPath}' because of exception:`);
console.error(e);
process.exit(1);
return;
}

@@ -176,3 +180,10 @@ try {

}
} catch (e) {}
} catch (e) {
if (e.code !== "MODULE_NOT_FOUND") {
console.error(`CODE00000000 INPRINT failed to load '${optionsPath}' because of exception:`);
console.error(e);
process.exit(1);
return;
}
}

@@ -184,3 +195,10 @@ try {

}
} catch (e) {}
} catch (e) {
if (e.code !== "MODULE_NOT_FOUND") {
console.error(`CODE00000000 INPRINT failed to load '${optionsPath}' because of exception:`);
console.error(e);
process.exit(1);
return;
}
}

@@ -204,2 +222,2 @@ const options = _objectSpread(_objectSpread({}, _InprintOptions.defaultInprintOptions), options0);

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnByaW50LnRzIl0sIm5hbWVzIjpbImlucHJpbnRfcHJlZml4Iiwic3RhcnRQcmVmaXgiLCJlbmRQcmVmaXgiLCJ1c2FnZU5vdGljZSIsIndyaXRlRmlsZVN5bmNJZkNoYW5nZWQiLCJmaWxlTmFtZSIsImNvbnRlbnQiLCJjdXJyZW50IiwiZSIsImhhbmRsZUZpbGUiLCJmaWxlUGF0aCIsIm9wdGlvbnMiLCJjb250ZW50U3RyIiwiaW5jbHVkZXMiLCJmaWxlSGVhZGVyIiwicGFydHMwIiwic3BsaXQiLCJwYXJ0cyIsImkiLCJsZW5ndGgiLCJzIiwic3RhcnRzV2l0aCIsImNvbnNvbGUiLCJlcnJvciIsImhlYWRlciIsIm1pZGRsZVBhcnRzIiwibGFzdFBhcnQiLCJwb3AiLCJwYXJhbXNTdHIiLCJzdWJzdHIiLCJ0cmltIiwibWlkZGxlIiwiam9pbiIsInRhaWwiLCJwYXJhbXMiLCJhYnNvbHV0ZVBhdGgiLCJKU09ONSIsInBhcnNlIiwicHVzaCIsIm5ld01pZGRsZSIsIm1lc3NhZ2UiLCJwYXJ0IiwiZG9JbnByaW50IiwicHJldHRpZXJPcHRzIiwic3RhY2siLCJuZXdDb250ZW50IiwibWFwIiwicCIsImNhbGxFbWJlZGRlZEZlYXR1cmVzIiwiZW1iZWRkZWRGZWF0dXJlIiwiZW1iZWRkZWRGZWF0dXJlcyIsInIiLCJmdW5jIiwidW5kZWZpbmVkIiwiaW5wcmludCIsInJ1biIsIm9wdGlvbnMwIiwicHJvY2VzcyIsImFyZ3YiLCJsb2ciLCJvcHRpb25zUGF0aCIsInJlcXVpcmUiLCJjd2QiLCJkZWZhdWx0SW5wcmludE9wdGlvbnMiLCJwcm9jZXNzZWRDb3VudCIsImxvZ2dpbmciLCJwYXRocyIsImZpbGVzIiwic2tpcE5vZGVNb2R1bGVzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7O0FBRU8sTUFBTUEsY0FBYyxHQUFHLE1BQU0sU0FBN0I7O0FBQ0Es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LGNBQWxCLEtBQXFDRixPQUFPLENBQUN5RCxlQUFqRCxFQUFrRTtBQUNsRSxVQUFJM0QsVUFBVSxDQUFDQyxRQUFELEVBQVdDLE9BQVgsQ0FBZCxFQUFtQ3FELGNBQWM7QUFDcEQ7O0FBQ0QsUUFBSXJELE9BQU8sQ0FBQ3NELE9BQVosRUFDSTNDLE9BQU8sQ0FBQ3FDLEdBQVIsQ0FDSyxrQ0FBaUNPLEtBQUssQ0FBQy9DLE1BQU8sbUJBQWtCNkMsY0FBZSxpQkFDNUVFLEtBQUssQ0FBQy9DLE1BQU4sR0FBZTZDLGNBQ2xCLFlBSEw7QUFLUCxHQWZEO0FBZ0JIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEpTT041IGZyb20gXCJqc29uNVwiO1xuaW1wb3J0IGdsb2JieSBmcm9tIFwiZ2xvYmJ5XCI7XG5pbXBvcnQgeyByZWFkRmlsZVN5bmMsIHdyaXRlRmlsZVN5bmMgfSBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgZW1iZWRkZWRGZWF0dXJlcyB9IGZyb20gXCIuL2VtYmVkZGVkRmVhdHVyZXNcIjtcbmltcG9ydCB7IGRlZmF1bHRJbnByaW50T3B0aW9ucywgSW5wcmludE9wdGlvbnMgfSBmcm9tIFwiLi9JbnByaW50T3B0aW9uc1wiO1xuaW1wb3J0IHsgZm9ybWF0VHlwZXNjcmlwdCB9IGZyb20gXCIuL2Zvcm1hdFR5cGVzY3JpcHRcIjtcblxuZXhwb3J0IGNvbnN0IGlucHJpbnRfcHJlZml4ID0gXCJAXCIgKyBcIklOUFJJTlRcIjtcbmV4cG9ydCBjb25zdCBzdGFydFByZWZpeCA9IFwiX1NUQVJUXCI7XG5leHBvcnQgY29uc3QgZW5kUHJlZml4ID0gXCJfRU5EXCI7XG5leHBvcnQgY29uc3QgdXNhZ2VOb3RpY2UgPSBgXG5VU0FHRTpcblxuLy8gJHtpbnByaW50X3ByZWZpeH1fU1RBUlQgey4uLmFueV9qc29uX3BhcmFtcy4uLn1cbi8vIEdlbmVyYXRlZCBjb2RlIHdpbGwgZ28gaGVyZVxuLy8gJHtpbnByaW50X3ByZWZpeH1fRU5EXG5gO1xuXG5pbnRlcmZhY2UgSW5wcmludEZpbGVQYXJ0IHtcbiAgICBoZWFkZXI6IHN0cmluZztcbiAgICBwYXJhbXM6IGFueTtcbiAgICBtaWRkbGU6IHN0cmluZztcbiAgICB0YWlsOiBzdHJpbmc7XG4gICAgbmV3TWlkZGxlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCB3cml0ZUZpbGVTeW5jSWZDaGFuZ2VkID0gKGZpbGVOYW1lOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZykgPT4ge1xuICAgIGxldCBjdXJyZW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgdHJ5IHtcbiAgICAgICAgY3VycmVudCA9IHJlYWRGaWxlU3luYyhmaWxlTmFtZSwgXCJ1dGYtOFwiKTtcbiAgICB9IGNhdGNoIChlKSB7fVxuXG4gICAgaWYgKGN1cnJlbnQgIT09IGNvbnRlbnQpIHtcbiAgICAgICAgd3JpdGVGaWxlU3luYyhmaWxlTmFtZSwgY29udGVudCwgXCJ1dGYtOFwiKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVGaWxlKGZpbGVQYXRoOiBzdHJpbmcsIG9wdGlvbnM6IElucHJpbnRPcHRpb25zKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY29udGVudFN0ciA9IHJlYWRGaWxlU3luYyhmaWxlUGF0aCwgXCJ1dGYtOFwiKTtcblxuICAgIGlmICghY29udGVudFN0ci5pbmNsdWRlcyhpbnByaW50X3ByZWZpeCkpIHJldHVybiBmYWxzZTtcblxuICAgIGNvbnN0IFtmaWxlSGVhZGVyLCAuLi5wYXJ0czBdID0gY29udGVudFN0ci5zcGxpdChpbnByaW50X3ByZWZpeCk7XG4gICAgY29uc3QgcGFydHM6IElucHJpbnRGaWxlUGFydFtdID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJ0czAubGVuZ3RoOyBpICs9IDIpIHtcbiAgICAgICAgY29uc3QgcyA9IHBhcnRzMFtpXTtcbiAgICAgICAgaWYgKCFzLnN0YXJ0c1dpdGgoc3RhcnRQcmVmaXgpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBDT0RFMDAwMDAwMDEgSU5QUklOVF9FUlJPUiBObyAke2lucHJpbnRfcHJlZml4fSR7c3RhcnRQcmVmaXh9IGluICR7ZmlsZVBhdGh9YCk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXBhcnRzMFtpICsgMV0uc3RhcnRzV2l0aChlbmRQcmVmaXgpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBDT0RFMDAwMDAwMDIgSU5QUklOVF9FUlJPUiBObyAke2lucHJpbnRfcHJlZml4fSR7ZW5kUHJlZml4fSBpbiAke2ZpbGVQYXRofWApO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IFtoZWFkZXIsIC4uLm1pZGRsZVBhcnRzXSA9IHMuc3BsaXQoXCJcXG5cIik7XG4gICAgICAgICAgICBjb25zdCBsYXN0UGFydCA9IG1pZGRsZVBhcnRzLnBvcCgpO1xuXG4gICAgICAgICAgICBjb25zdCBwYXJhbXNTdHIgPSBoZWFkZXIuc3Vic3RyKHN0YXJ0UHJlZml4Lmxlbmd0aCkudHJpbSgpO1xuICAgICAgICAgICAgY29uc3QgbWlkZGxlID0gbWlkZGxlUGFydHMuam9pbihcIlxcblwiKTtcbiAgICAgICAgICAgIGNvbnN0IHRhaWwgPSBsYXN0UGFydCArIGlucHJpbnRfcHJlZml4ICsgcGFydHMwW2kgKyAxXTtcblxuICAgICAgICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1pZGRsZSxcbiAgICAgICAgICAgICAgICBhYnNvbHV0ZVBhdGg6IGZpbGVQYXRoLFxuICAgICAgICAgICAgICAgIC4uLkpTT041LnBhcnNlKHBhcmFtc1N0ciksXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcGFydHMucHVzaCh7IGhlYWRlciwgcGFyYW1zLCBtaWRkbGUsIHRhaWwsIG5ld01pZGRsZTogXCJcIiB9KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgQ09ERTAwMDAwMDAzIElOUFJJTlRfRVJST1IgJHtlLm1lc3NhZ2V9IGluICR7ZmlsZVBhdGh9YCk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGxldCBwYXJ0IG9mIHBhcnRzKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBwYXJ0Lm5ld01pZGRsZSA9IGZvcm1hdFR5cGVzY3JpcHQoZG9JbnByaW50KHBhcnQucGFyYW1zLCBvcHRpb25zKSwgb3B0aW9ucy5wcmV0dGllck9wdHMpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBwYXJ0Lm5ld01pZGRsZSA9IGAvLyBJTlBSSU5UX0ZBSUxFRCBiZWNhdXNlIG9mIGV4Y2VwdGlvbjpcXG4ke2UubWVzc2FnZSB8fCBcIk5PX0VSUk9SX01FU1NBR0VcIn1cXFxcbiR7XG4gICAgICAgICAgICAgICAgZS5zdGFjayB8fCBcIk5PX1NUQUNLX1RSQUNFXCJcbiAgICAgICAgICAgIH1gXG4gICAgICAgICAgICAgICAgLnNwbGl0KFwiXFxuXCIpXG4gICAgICAgICAgICAgICAgLmpvaW4oXCJcXG4vLyAgICAgXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbmV3Q29udGVudCA9XG4gICAgICAgIGZpbGVIZWFkZXIgKyBpbnByaW50X3ByZWZpeCArIHBhcnRzLm1hcCgocCkgPT4gYCR7cC5oZWFkZXJ9XFxuJHtwLm5ld01pZGRsZX1cXG4ke3AudGFpbH1gKS5qb2luKGlucHJpbnRfcHJlZml4KTtcbiAgICB3cml0ZUZpbGVTeW5jSWZDaGFuZ2VkKGZpbGVQYXRoLCBuZXdDb250ZW50KTtcbiAgICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGxFbWJlZGRlZEZlYXR1cmVzKHBhcmFtczogYW55LCBvcHRpb25zOiBJbnByaW50T3B0aW9ucyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgZm9yIChsZXQgZW1iZWRkZWRGZWF0dXJlIG9mIGVtYmVkZGVkRmVhdHVyZXMpIHtcbiAgICAgICAgY29uc3QgciA9IGVtYmVkZGVkRmVhdHVyZS5mdW5jKHBhcmFtcywgb3B0aW9ucyk7XG4gICAgICAgIGlmIChyKSByZXR1cm4gcjtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRvSW5wcmludChwYXJhbXM6IGFueSwgb3B0aW9uczogSW5wcmludE9wdGlvbnMpOiBzdHJpbmcge1xuICAgIGlmIChvcHRpb25zLmVtYmVkZGVkRmVhdHVyZXMgPT09IFwiZmlyc3RcIiB8fCBvcHRpb25zLmVtYmVkZGVkRmVhdHVyZXMgPT09IHRydWUpIHtcbiAgICAgICAgY29uc3QgciA9IGNhbGxFbWJlZGRlZEZlYXR1cmVzKHBhcmFtcywgb3B0aW9ucyk7XG4gICAgICAgIGlmIChyKSByZXR1cm4gcjtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5pbnByaW50KSB7XG4gICAgICAgIGNvbnN0IHIgPSBvcHRpb25zLmlucHJpbnQocGFyYW1zLCBvcHRpb25zKTtcbiAgICAgICAgaWYgKHIpIHJldHVybiByO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmVtYmVkZGVkRmVhdHVyZXMgPT09IFwibGFzdFwiKSB7XG4gICAgICAgIGNvbnN0IHIgPSBjYWxsRW1iZWRkZWRGZWF0dXJlcyhwYXJhbXMsIG9wdGlvbnMpO1xuICAgICAgICBpZiAocikgcmV0dXJuIHI7XG4gICAgfVxuICAgIHJldHVybiBgLy8gSU5QUklOVF9FUlJPUiBOb25lIG9mIGlucHJpbnQgZnVuY3Rpb25zIHJldHVybmVkIGEgcmVzdWx0LiBUaGV5IGFsbCByZXR1cm5lZCB1bmRlZmluZWQhYDtcbn1cblxuLy8gY29uc3QgdGVzdEZpbGVQYXRoID0gYEQ6XFxcXGJcXFxcTWluZVxcXFxHSVRfV29ya1xcXFx5YXRhc2tzX29uZV9hcGlcXFxcc3JjXFxcXGlucHJpbnRUZXN0RmlsZS50c2A7XG4vLyBoYW5kbGVGaWxlKHRlc3RGaWxlUGF0aCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBydW4ob3B0aW9uczA/OiBJbnByaW50T3B0aW9ucyB8IHVuZGVmaW5lZCkge1xuICAgIGlmIChwcm9jZXNzLmFyZ3ZbMl0gPT09IFwiLS12ZXJzaW9uXCIgfHwgcHJvY2Vzcy5hcmd2WzJdID09PSBcIi12XCIpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBjb25zb2xlLmxvZyhfX1ZFUlNJT05fXyk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgb3B0aW9uc1BhdGg6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICB0cnkge1xuICAgICAgICBpZiAoIW9wdGlvbnMwKSB7XG4gICAgICAgICAgICBvcHRpb25zUGF0aCA9IHByb2Nlc3MuYXJndlsyXTtcbiAgICAgICAgICAgIG9wdGlvbnMwID0gcmVxdWlyZShvcHRpb25zUGF0aCk7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7fVxuXG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKCFvcHRpb25zMCkge1xuICAgICAgICAgICAgb3B0aW9uc1BhdGggPSByZXNvbHZlKHByb2Nlc3MuY3dkKCksIFwiaW5wcmludC5janNcIik7XG4gICAgICAgICAgICBvcHRpb25zMCA9IHJlcXVpcmUob3B0aW9uc1BhdGgpO1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge31cblxuICAgIHRyeSB7XG4gICAgICAgIGlmICghb3B0aW9uczApIHtcbiAgICAgICAgICAgIG9wdGlvbnNQYXRoID0gcmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBcImlucHJpbnQuanNcIik7XG4gICAgICAgICAgICBvcHRpb25zMCA9IHJlcXVpcmUob3B0aW9uc1BhdGgpO1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge31cblxuICAgIGNvbnN0IG9wdGlvbnM6IElucHJpbnRPcHRpb25zID0geyAuLi5kZWZhdWx0SW5wcmludE9wdGlvbnMsIC4uLm9wdGlvbnMwIH07XG4gICAgbGV0IHByb2Nlc3NlZENvdW50ID0gMDtcbiAgICAoYXN5bmMgKCkgPT4ge1xuICAgICAgICBpZiAob3B0aW9ucy5sb2dnaW5nKSBjb25zb2xlLmxvZyhgQ09ERTAwMDAwMDA1IElOUFJJTlQgb3B0aW9ucyBmcm9tICR7b3B0aW9uc1BhdGh9YCk7XG4gICAgICAgIGNvbnN0IHBhdGhzID0gYXdhaXQgZ2xvYmJ5KG9wdGlvbnMuZmlsZXMpO1xuXG4gICAgICAgIGZvciAobGV0IGZpbGVQYXRoIG9mIHBhdGhzKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5sb2dnaW5nID09PSBcImZpbGVzXCIpIGNvbnNvbGUubG9nKGBDT0RFMDAwMDAwMDYgSU5QUklOVCAke2ZpbGVQYXRofWApO1xuICAgICAgICAgICAgaWYgKGZpbGVQYXRoLmluY2x1ZGVzKFwibm9kZV9tb2R1bGVzXCIpICYmIG9wdGlvbnMuc2tpcE5vZGVNb2R1bGVzKSBjb250aW51ZTtcbiAgICAgICAgICAgIGlmIChoYW5kbGVGaWxlKGZpbGVQYXRoLCBvcHRpb25zKSkgcHJvY2Vzc2VkQ291bnQrKztcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucy5sb2dnaW5nKVxuICAgICAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICAgICAgYENPREUwMDAwMDAwNyBJTlBSSU5UIGZpbmlzaGVkLCAke3BhdGhzLmxlbmd0aH0gLSB0b3RhbCBmaWxlcywgJHtwcm9jZXNzZWRDb3VudH0gLSBwcm9jZXNzZWQsICR7XG4gICAgICAgICAgICAgICAgICAgIHBhdGhzLmxlbmd0aCAtIHByb2Nlc3NlZENvdW50XG4gICAgICAgICAgICAgICAgfSAtIHNraXBwZWRgXG4gICAgICAgICAgICApO1xuICAgIH0pKCk7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnByaW50LnRzIl0sIm5hbWVzIjpbImlucHJpbnRfcHJlZml4Iiwic3RhcnRQcmVmaXgiLCJlbmRQcmVmaXgiLCJ1c2FnZU5vdGljZSIsIndyaXRlRmlsZVN5bmNJZkNoYW5nZWQiLCJmaWxlTmFtZSIsImNvbnRlbnQiLCJjdXJyZW50IiwiZSIsImhhbmRsZUZpbGUiLCJmaWxlUGF0aCIsIm9wdGlvbnMiLCJjb250ZW50U3RyIiwiaW5jbHVkZXMiLCJmaWxlSGVhZGVyIiwicGFydHMwIiwic3BsaXQiLCJwYXJ0cyIsImkiLCJsZW5ndGgiLCJzIiwic3RhcnRzV2l0aCIsImNvbnNvbGUiLCJlcnJvciIsImhlYWRlciIsIm1pZGRsZVBhcnRzIiwibGFzdFBhcnQiLCJwb3AiLCJwYXJhbXNTdHIiLCJzdWJzdHIiLCJ0cmltIiwibWlkZGxlIiwiam9pbiIsInRhaWwiLCJwYXJhbXMiLCJhYnNvbHV0ZVBhdGgiLCJKU09ONSIsInBhcnNlIiwicHVzaCIsIm5ld01pZGRsZSIsIm1lc3NhZ2UiLCJwYXJ0IiwiZG9JbnByaW50IiwicHJldHRpZXJPcHRzIiwic3RhY2siLCJuZXdDb250ZW50IiwibWFwIiwicCIsImNhbGxFbWJlZGRlZEZlYXR1cmVzIiwiZW1iZWRkZWRGZWF0dXJlIiwiZW1iZWRkZWRGZWF0dXJlcyIsInIiLCJmdW5jIiwidW5kZWZpbmVkIiwiaW5wcmludCIsInJ1biIsIm9wdGlvbnMwIiwicHJvY2VzcyIsImFyZ3YiLCJsb2ciLCJvcHRpb25zUGF0aCIsInJlcXVpcmUiLCJleGl0IiwiY3dkIiwiY29kZSIsImRlZmF1bHRJbnByaW50T3B0aW9ucyIsInByb2Nlc3NlZENvdW50IiwibG9nZ2luZyIsInBhdGhzIiwiZmlsZXMiLCJza2lwTm9kZU1vZHVsZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7QUFFTyxNQUFNQSxjQUFjLEdBQUcsTUFB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XCJnbG9iYnlcIjtcbmltcG9ydCB7IHJlYWRGaWxlU3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBlbWJlZGRlZEZlYXR1cmVzIH0gZnJvbSBcIi4vZW1iZWRkZWRGZWF0dXJlc1wiO1xuaW1wb3J0IHsgZGVmYXVsdElucHJpbnRPcHRpb25zLCBJbnByaW50T3B0aW9ucyB9IGZyb20gXCIuL0lucHJpbnRPcHRpb25zXCI7XG5pbXBvcnQgeyBmb3JtYXRUeXBlc2NyaXB0IH0gZnJvbSBcIi4vZm9ybWF0VHlwZXNjcmlwdFwiO1xuXG5leHBvcnQgY29uc3QgaW5wcmludF9wcmVmaXggPSBcIkBcIiArIFwiSU5QUklOVFwiO1xuZXhwb3J0IGNvbnN0IHN0YXJ0UHJlZml4ID0gXCJfU1RBUlRcIjtcbmV4cG9ydCBjb25zdCBlbmRQcmVmaXggPSBcIl9FTkRcIjtcbmV4cG9ydCBjb25zdCB1c2FnZU5vdGljZSA9IGBcblVTQUdFOlxuXG4vLyAke2lucHJpbnRfcHJlZml4fV9TVEFSVCB7Li4uYW55X2pzb25fcGFyYW1zLi4ufVxuLy8gR2VuZXJhdGVkIGNvZGUgd2lsbCBnbyBoZXJlXG4vLyAke2lucHJpbnRfcHJlZml4fV9FTkRcbmA7XG5cbmludGVyZmFjZSBJbnByaW50RmlsZVBhcnQge1xuICAgIGhlYWRlcjogc3RyaW5nO1xuICAgIHBhcmFtczogYW55O1xuICAgIG1pZGRsZTogc3RyaW5nO1xuICAgIHRhaWw6IHN0cmluZztcbiAgICBuZXdNaWRkbGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IHdyaXRlRmlsZVN5bmNJZkNoYW5nZWQgPSAoZmlsZU5hbWU6IHN0cmluZywgY29udGVudDogc3RyaW5nKSA9PiB7XG4gICAgbGV0IGN1cnJlbnQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICB0cnkge1xuICAgICAgICBjdXJyZW50ID0gcmVhZEZpbGVTeW5jKGZpbGVOYW1lLCBcInV0Zi04XCIpO1xuICAgIH0gY2F0Y2ggKGUpIHt9XG5cbiAgICBpZiAoY3VycmVudCAhPT0gY29udGVudCkge1xuICAgICAgICB3cml0ZUZpbGVTeW5jKGZpbGVOYW1lLCBjb250ZW50LCBcInV0Zi04XCIpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUZpbGUoZmlsZVBhdGg6IHN0cmluZywgb3B0aW9uczogSW5wcmludE9wdGlvbnMpOiBib29sZWFuIHtcbiAgICBjb25zdCBjb250ZW50U3RyID0gcmVhZEZpbGVTeW5jKGZpbGVQYXRoLCBcInV0Zi04XCIpO1xuXG4gICAgaWYgKCFjb250ZW50U3RyLmluY2x1ZGVzKGlucHJpbnRfcHJlZml4KSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3QgW2ZpbGVIZWFkZXIsIC4uLnBhcnRzMF0gPSBjb250ZW50U3RyLnNwbGl0KGlucHJpbnRfcHJlZml4KTtcbiAgICBjb25zdCBwYXJ0czogSW5wcmludEZpbGVQYXJ0W10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcnRzMC5sZW5ndGg7IGkgKz0gMikge1xuICAgICAgICBjb25zdCBzID0gcGFydHMwW2ldO1xuICAgICAgICBpZiAoIXMuc3RhcnRzV2l0aChzdGFydFByZWZpeCkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYENPREUwMDAwMDAwMSBJTlBSSU5UX0VSUk9SIE5vICR7aW5wcmludF9wcmVmaXh9JHtzdGFydFByZWZpeH0gaW4gJHtmaWxlUGF0aH1gKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcGFydHMwW2kgKyAxXS5zdGFydHNXaXRoKGVuZFByZWZpeCkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYENPREUwMDAwMDAwMiBJTlBSSU5UX0VSUk9SIE5vICR7aW5wcmludF9wcmVmaXh9JHtlbmRQcmVmaXh9IGluICR7ZmlsZVBhdGh9YCk7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgW2hlYWRlciwgLi4ubWlkZGxlUGFydHNdID0gcy5zcGxpdChcIlxcblwiKTtcbiAgICAgICAgICAgIGNvbnN0IGxhc3RQYXJ0ID0gbWlkZGxlUGFydHMucG9wKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IHBhcmFtc1N0ciA9IGhlYWRlci5zdWJzdHIoc3RhcnRQcmVmaXgubGVuZ3RoKS50cmltKCk7XG4gICAgICAgICAgICBjb25zdCBtaWRkbGUgPSBtaWRkbGVQYXJ0cy5qb2luKFwiXFxuXCIpO1xuICAgICAgICAgICAgY29uc3QgdGFpbCA9IGxhc3RQYXJ0ICsgaW5wcmludF9wcmVmaXggKyBwYXJ0czBbaSArIDFdO1xuXG4gICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogbWlkZGxlLFxuICAgICAgICAgICAgICAgIGFic29sdXRlUGF0aDogZmlsZVBhdGgsXG4gICAgICAgICAgICAgICAgLi4uSlNPTjUucGFyc2UocGFyYW1zU3RyKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKHsgaGVhZGVyLCBwYXJhbXMsIG1pZGRsZSwgdGFpbCwgbmV3TWlkZGxlOiBcIlwiIH0pO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBDT0RFMDAwMDAwMDMgSU5QUklOVF9FUlJPUiAke2UubWVzc2FnZX0gaW4gJHtmaWxlUGF0aH1gKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvciAobGV0IHBhcnQgb2YgcGFydHMpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHBhcnQubmV3TWlkZGxlID0gZm9ybWF0VHlwZXNjcmlwdChkb0lucHJpbnQocGFydC5wYXJhbXMsIG9wdGlvbnMpLCBvcHRpb25zLnByZXR0aWVyT3B0cyk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHBhcnQubmV3TWlkZGxlID0gYC8vIElOUFJJTlRfRkFJTEVEIGJlY2F1c2Ugb2YgZXhjZXB0aW9uOlxcbiR7ZS5tZXNzYWdlIHx8IFwiTk9fRVJST1JfTUVTU0FHRVwifVxcXFxuJHtcbiAgICAgICAgICAgICAgICBlLnN0YWNrIHx8IFwiTk9fU1RBQ0tfVFJBQ0VcIlxuICAgICAgICAgICAgfWBcbiAgICAgICAgICAgICAgICAuc3BsaXQoXCJcXG5cIilcbiAgICAgICAgICAgICAgICAuam9pbihcIlxcbi8vICAgICBcIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBuZXdDb250ZW50ID1cbiAgICAgICAgZmlsZUhlYWRlciArIGlucHJpbnRfcHJlZml4ICsgcGFydHMubWFwKChwKSA9PiBgJHtwLmhlYWRlcn1cXG4ke3AubmV3TWlkZGxlfVxcbiR7cC50YWlsfWApLmpvaW4oaW5wcmludF9wcmVmaXgpO1xuICAgIHdyaXRlRmlsZVN5bmNJZkNoYW5nZWQoZmlsZVBhdGgsIG5ld0NvbnRlbnQpO1xuICAgIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FsbEVtYmVkZGVkRmVhdHVyZXMocGFyYW1zOiBhbnksIG9wdGlvbnM6IElucHJpbnRPcHRpb25zKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBmb3IgKGxldCBlbWJlZGRlZEZlYXR1cmUgb2YgZW1iZWRkZWRGZWF0dXJlcykge1xuICAgICAgICBjb25zdCByID0gZW1iZWRkZWRGZWF0dXJlLmZ1bmMocGFyYW1zLCBvcHRpb25zKTtcbiAgICAgICAgaWYgKHIpIHJldHVybiByO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZG9JbnByaW50KHBhcmFtczogYW55LCBvcHRpb25zOiBJbnByaW50T3B0aW9ucyk6IHN0cmluZyB7XG4gICAgaWYgKG9wdGlvbnMuZW1iZWRkZWRGZWF0dXJlcyA9PT0gXCJmaXJzdFwiIHx8IG9wdGlvbnMuZW1iZWRkZWRGZWF0dXJlcyA9PT0gdHJ1ZSkge1xuICAgICAgICBjb25zdCByID0gY2FsbEVtYmVkZGVkRmVhdHVyZXMocGFyYW1zLCBvcHRpb25zKTtcbiAgICAgICAgaWYgKHIpIHJldHVybiByO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmlucHJpbnQpIHtcbiAgICAgICAgY29uc3QgciA9IG9wdGlvbnMuaW5wcmludChwYXJhbXMsIG9wdGlvbnMpO1xuICAgICAgICBpZiAocikgcmV0dXJuIHI7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuZW1iZWRkZWRGZWF0dXJlcyA9PT0gXCJsYXN0XCIpIHtcbiAgICAgICAgY29uc3QgciA9IGNhbGxFbWJlZGRlZEZlYXR1cmVzKHBhcmFtcywgb3B0aW9ucyk7XG4gICAgICAgIGlmIChyKSByZXR1cm4gcjtcbiAgICB9XG4gICAgcmV0dXJuIGAvLyBJTlBSSU5UX0VSUk9SIE5vbmUgb2YgaW5wcmludCBmdW5jdGlvbnMgcmV0dXJuZWQgYSByZXN1bHQuIFRoZXkgYWxsIHJldHVybmVkIHVuZGVmaW5lZCFgO1xufVxuXG4vLyBjb25zdCB0ZXN0RmlsZVBhdGggPSBgRDpcXFxcYlxcXFxNaW5lXFxcXEdJVF9Xb3JrXFxcXHlhdGFza3Nfb25lX2FwaVxcXFxzcmNcXFxcaW5wcmludFRlc3RGaWxlLnRzYDtcbi8vIGhhbmRsZUZpbGUodGVzdEZpbGVQYXRoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJ1bihvcHRpb25zMD86IElucHJpbnRPcHRpb25zIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHByb2Nlc3MuYXJndlsyXSA9PT0gXCItLXZlcnNpb25cIiB8fCBwcm9jZXNzLmFyZ3ZbMl0gPT09IFwiLXZcIikge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGNvbnNvbGUubG9nKF9fVkVSU0lPTl9fKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBvcHRpb25zUGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlmIChwcm9jZXNzLmFyZ3ZbMl0pXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAoIW9wdGlvbnMwKSB7XG4gICAgICAgICAgICAgICAgb3B0aW9uc1BhdGggPSBwcm9jZXNzLmFyZ3ZbMl07XG4gICAgICAgICAgICAgICAgb3B0aW9uczAgPSByZXF1aXJlKG9wdGlvbnNQYXRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgQ09ERTAwMDAwMDAwIElOUFJJTlQgZmFpbGVkIHRvIGxvYWQgJyR7b3B0aW9uc1BhdGh9JyBiZWNhdXNlIG9mIGV4Y2VwdGlvbjpgKTtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgIHRyeSB7XG4gICAgICAgIGlmICghb3B0aW9uczApIHtcbiAgICAgICAgICAgIG9wdGlvbnNQYXRoID0gcmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBcImlucHJpbnQuY2pzXCIpO1xuICAgICAgICAgICAgb3B0aW9uczAgPSByZXF1aXJlKG9wdGlvbnNQYXRoKTtcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgaWYgKGUuY29kZSAhPT0gXCJNT0RVTEVfTk9UX0ZPVU5EXCIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYENPREUwMDAwMDAwMCBJTlBSSU5UIGZhaWxlZCB0byBsb2FkICcke29wdGlvbnNQYXRofScgYmVjYXVzZSBvZiBleGNlcHRpb246YCk7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKCFvcHRpb25zMCkge1xuICAgICAgICAgICAgb3B0aW9uc1BhdGggPSByZXNvbHZlKHByb2Nlc3MuY3dkKCksIFwiaW5wcmludC5qc1wiKTtcbiAgICAgICAgICAgIG9wdGlvbnMwID0gcmVxdWlyZShvcHRpb25zUGF0aCk7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGlmIChlLmNvZGUgIT09IFwiTU9EVUxFX05PVF9GT1VORFwiKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBDT0RFMDAwMDAwMDAgSU5QUklOVCBmYWlsZWQgdG8gbG9hZCAnJHtvcHRpb25zUGF0aH0nIGJlY2F1c2Ugb2YgZXhjZXB0aW9uOmApO1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnM6IElucHJpbnRPcHRpb25zID0geyAuLi5kZWZhdWx0SW5wcmludE9wdGlvbnMsIC4uLm9wdGlvbnMwIH07XG4gICAgbGV0IHByb2Nlc3NlZENvdW50ID0gMDtcbiAgICAoYXN5bmMgKCkgPT4ge1xuICAgICAgICBpZiAob3B0aW9ucy5sb2dnaW5nKSBjb25zb2xlLmxvZyhgQ09ERTAwMDAwMDA1IElOUFJJTlQgb3B0aW9ucyBmcm9tICR7b3B0aW9uc1BhdGh9YCk7XG4gICAgICAgIGNvbnN0IHBhdGhzID0gYXdhaXQgZ2xvYmJ5KG9wdGlvbnMuZmlsZXMpO1xuXG4gICAgICAgIGZvciAobGV0IGZpbGVQYXRoIG9mIHBhdGhzKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5sb2dnaW5nID09PSBcImZpbGVzXCIpIGNvbnNvbGUubG9nKGBDT0RFMDAwMDAwMDYgSU5QUklOVCAke2ZpbGVQYXRofWApO1xuICAgICAgICAgICAgaWYgKGZpbGVQYXRoLmluY2x1ZGVzKFwibm9kZV9tb2R1bGVzXCIpICYmIG9wdGlvbnMuc2tpcE5vZGVNb2R1bGVzKSBjb250aW51ZTtcbiAgICAgICAgICAgIGlmIChoYW5kbGVGaWxlKGZpbGVQYXRoLCBvcHRpb25zKSkgcHJvY2Vzc2VkQ291bnQrKztcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucy5sb2dnaW5nKVxuICAgICAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICAgICAgYENPREUwMDAwMDAwNyBJTlBSSU5UIGZpbmlzaGVkLCAke3BhdGhzLmxlbmd0aH0gLSB0b3RhbCBmaWxlcywgJHtwcm9jZXNzZWRDb3VudH0gLSBwcm9jZXNzZWQsICR7XG4gICAgICAgICAgICAgICAgICAgIHBhdGhzLmxlbmd0aCAtIHByb2Nlc3NlZENvdW50XG4gICAgICAgICAgICAgICAgfSAtIHNraXBwZWRgXG4gICAgICAgICAgICApO1xuICAgIH0pKCk7XG59XG4iXX0=
{
"name": "inprint",
"version": "1.0.18",
"version": "1.0.19",
"private": false,

@@ -5,0 +5,0 @@ "description": "A very simple precompiler written in typescript. With it you can make a dynamically generated blocks in your code.",