Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@dataform/grpc-web-proxy

Package Overview
Dependencies
Maintainers
2
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@dataform/grpc-web-proxy - npm Package Compare versions

Comparing version 0.1.1 to 0.1.2

8

index.js

@@ -94,2 +94,4 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

function corsResponseAllowOrigin(requestHeaders) {
const allowRequestHeaders = requestHeaders["access-control-request-headers"];
const allowRequestHeadersList = typeof allowRequestHeaders === "string" ? [allowRequestHeaders] : allowRequestHeaders;
return {

@@ -100,3 +102,4 @@ "access-control-allow-credentials": "true",

"content-type",
...Object.keys(requestHeaders)
...Object.keys(requestHeaders),
...allowRequestHeadersList
].join(", "),

@@ -128,2 +131,3 @@ "access-control-allow-methods": "POST",

delete newHeaders[":status"];
newHeaders["grpc-status"] = newHeaders["grpc-status"] || 0;
newHeaders["content-type"] = GRPC_CONTENT_TYPE;

@@ -200,2 +204,2 @@ newHeaders["access-control-allow-origin"] = origin;

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90b29scy9ncnBjLXdlYi1wcm94eS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBQUEsK0JBQStCO0lBRS9CLE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLENBQUM7SUFDN0MsTUFBTSxxQkFBcUIsR0FBRyxzQkFBc0IsQ0FBQztJQUNyRCxNQUFNLDBCQUEwQixHQUFHLDJCQUEyQixDQUFDO0lBYy9ELE1BQWEsWUFBWTtRQUl2QixZQUFZLE9BQTZCO1lBRXZDLE9BQU8sbUJBQUssTUFBTSxFQUFFLFlBQVksSUFBSyxPQUFPLENBQUUsQ0FBQztZQUcvQyxJQUFJLENBQUMsU0FBUztnQkFFWixPQUFPLENBQUMsTUFBTSxLQUFLLFlBQVk7b0JBQzdCLENBQUMsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO29CQUNuRixDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxVQUFVO3dCQUMvQixDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO3dCQUMzQyxDQUFDLENBQUMsS0FBSyxDQUFDLGtCQUFrQixtQkFBTSxPQUFPLENBQUMsTUFBTSxFQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUczRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7Z0JBQzlDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDN0MsQ0FBQyxDQUFDLENBQUM7WUFHSCxNQUFN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VUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4QixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzlDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E2QmhCLENBQUM7SUFDRixNQUFNLFNBQVMsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXNCakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGh0dHAyIGZyb20gXCJodHRwMlwiO1xuXG5jb25zdCBHUlBDX0NPTlRFTlRfVFlQRSA9IFwiYXBwbGljYXRpb24vZ3JwY1wiO1xuY29uc3QgR1JQQ19XRUJfQ09OVEVOVF9UWVBFID0gXCJhcHBsaWNhdGlvbi9ncnBjLXdlYlwiO1xuY29uc3QgR1JQQ19XRUJfVEVYVF9DT05URU5UX1RZUEUgPSBcImFwcGxpY2F0aW9uL2dycGMtd2ViLXRleHRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJR3JwY1dlYlByb3h5T3B0aW9ucyB7XG4gIGJhY2tlbmQ6IHN0cmluZztcbiAgcG9ydDogbnVtYmVyO1xuICBzZWN1cmU/OlxuICAgIHwgXCJmYWtlLWh0dHBzXCJcbiAgICB8IFwiaW5zZWN1cmVcIlxuICAgIHwge1xuICAgICAgICBrZXk6IHN0cmluZztcbiAgICAgICAgY2VydDogc3RyaW5nO1xuICAgICAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIEdycGNXZWJQcm94eSB7XG4gIHByaXZhdGUgd2ViU2VydmVyOiBodHRwMi5IdHRwMlNlcnZlcjtcbiAgcHJpdmF0ZSBncnBjQ2xpZW50OiBodHRwMi5DbGllbnRIdHRwMlNlc3Npb247XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogSUdycGNXZWJQcm94eU9wdGlvbnMpIHtcbiAgICAvLyBTZXQgZGVmYXVsdHMuXG4gICAgb3B0aW9ucyA9IHsgc2VjdXJlOiBcImZha2UtaHR0cHNcIiwgLi4ub3B0aW9ucyB9O1xuXG4gICAgLy8gQ3JlYXRlIHRoZSBzZXJ2ZXIuXG4gICAgdGhpcy53ZWJTZXJ2ZXIgPVxuICAgICAgLy8gQXMgdGhpcyBpcyBodHRwMiBzZXJ2ZXIsIG1vc3QgYnJvd3NlcnMgcmVxdWlyZSBpdCB0byBiZSBodHRwcywgc28gdGhpcyBpcyB0aGUgZGVmYXVsdC5cbiAgICAgIG9wdGlvbnMuc2VjdXJlID09PSBcImZha2UtaHR0cHNcIlxuICAgICAgICA/IGh0dHAyLmNyZWF0ZVNlY3VyZVNlcnZlcih7IGtleTogRkFLRV9LRVksIGNlcnQ6IEZBS0VfQ0VSVCB9KS5saXN0ZW4ob3B0aW9ucy5wb3J0KVxuICAgICAgICA6IG9wdGlvbnMuc2VjdXJlID09PSBcImluc2VjdXJlXCJcbiAgICAgICAgPyBodHRwMi5jcmVhdGVTZXJ2ZXIoKS5saXN0ZW4ob3B0aW9ucy5wb3J0KVxuICAgICAgICA6IGh0dHAyLmNyZWF0ZVNlY3VyZVNlcnZlcih7IC4uLm9wdGlvbnMuc2VjdXJlIH0pLmxpc3RlbihvcHRpb25zLnBvcnQpO1xuXG4gICAgLy8gSGFuZGxlIHJlcXVlc3RzLlxuICAgIHRoaXMud2ViU2VydmVyLm9uKFwic3RyZWFtXCIsIChzdHJlYW0sIGhlYWRlcnMpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlR3JwY1dlYlJlcXVlc3Qoc3RyZWFtLCBoZWFkZXJzKTtcbiAgICB9KTtcblxuICAgIC8vIENvbnN0YW50bHkgdHJ5IHRvIGNvbm5lY3QgdG8gdGhlIGJhY2tlbmQuXG4gICAgY29uc3QgXyA9IHRoaXMuY29ubmVjdEFuZEtlZXBBbGl2ZShvcHRpb25zLmJhY2tlbmQpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjb25uZWN0QW5kS2VlcEFsaXZlKGJhY2tlbmQ6IHN0cmluZykge1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBpZiAoIXRoaXMuZ3JwY0NsaWVudCB8fCB0aGlzLmdycGNDbGllbnQuZGVzdHJveWVkKSB7XG4gICAgICAgIHRoaXMuZ3JwY0NsaWVudCA9IGh0dHAyLmNvbm5lY3QoYmFja2VuZCk7XG4gICAgICAgIHRoaXMuZ3JwY0NsaWVudC5vbihcImNvbm5lY3RcIiwgKCkgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuaW5mbyhgU3VjY2Vzc2Z1bGx5IGNvbm5lY3RlZCB0byBiYWNrZW5kOiAke2JhY2tlbmR9YCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmdycGNDbGllbnQub24oXCJlcnJvclwiLCBlcnJvciA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGNvbm5lY3QgdG8gYmFja2VuZDogJHtiYWNrZW5kfVxcbiR7ZXJyb3J9YCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDEwMDApKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUdycGNXZWJSZXF1ZXN0KFxuICAgIHdlYlN0cmVhbTogaHR0cDIuU2VydmVySHR0cDJTdHJlYW0sXG4gICAgd2ViSGVhZGVyczogaHR0cDIuSW5jb21pbmdIdHRwSGVhZGVyc1xuICApIHtcbiAgICB0cnkge1xuICAgICAgLy8gQ09SUyByZXF1ZXN0cy5cbiAgICAgIGlmICh3ZWJIZWFkZXJzW1wiOm1ldGhvZFwiXSA9PT0gXCJPUFRJT05TXCIpIHtcbiAgICAgICAgd2ViU3RyZWFtLnJlc3BvbmQoeyAuLi5jb3JzUmVzcG9uc2VBbGxvd09yaWdpbih3ZWJIZWFkZXJzKSwgXCI6c3RhdHVzXCI6IDIwMCB9KTtcbiAgICAgICAgd2ViU3RyZWFtLmVuZCgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIGdSUEMtd2ViIHJlcXVlc3RzLlxuICAgICAgY29uc3QgZ3JwY1JlcXVlc3RIZWFkZXJzID0gY2xlYW5SZXF1ZXN0SGVhZGVycyh3ZWJIZWFkZXJzKTtcbiAgICAgIGNvbnN0IGdycGNSZXF1ZXN0ID0gdGhpcy5ncnBjQ2xpZW50LnJlcXVlc3QoZ3JwY1JlcXVlc3RIZWFkZXJzKTtcblxuICAgICAgd2ViU3RyZWFtLm9uKFwiZGF0YVwiLCBjaHVuayA9PiB7XG4gICAgICAgIGdycGNSZXF1ZXN0LndyaXRlKGNodW5rKTtcbiAgICAgIH0pO1xuICAgICAgd2ViU3RyZWFtLm9uKFwiY2xvc2VcIiwgKCkgPT4ge1xuICAgICAgICBncnBjUmVxdWVzdC5lbmQoKTtcbiAgICAgIH0pO1xuICAgICAgZ3JwY1JlcXVlc3Qub24oXCJyZXNwb25zZVwiLCBoZWFkZXJzID0+IHtcbiAgICAgICAgd2ViU3RyZWFtLnJlc3BvbmQoY2xlYW5SZXNwb25zZUhlYWRlcnMoaGVhZGVycywgd2ViSGVhZGVycy5vcmlnaW4pKTtcbiAgICAgIH0pO1xuICAgICAgZ3JwY1JlcXVlc3Qub24oXCJ0cmFpbGVyc1wiLCBoZWFkZXJzID0+IHtcbiAgICAgICAgd2ViU3RyZWFtLndyaXRlKHRyYWlsZXJzVG9QYXlsb2FkKGhlYWRlcnMpKTtcbiAgICAgIH0pO1xuICAgICAgZ3JwY1JlcXVlc3Qub24oXCJkYXRhXCIsIGNodW5rID0+IHtcbiAgICAgICAgd2ViU3RyZWFtLndyaXRlKGNodW5rKTtcbiAgICAgIH0pO1xuICAgICAgZ3JwY1JlcXVlc3Qub24oXCJlcnJvclwiLCBlID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgd2ViU3RyZWFtLmVuZCgpO1xuICAgICAgfSk7XG4gICAgICBncnBjUmVxdWVzdC5vbihcImVuZFwiLCAoKSA9PiB7XG4gICAgICAgIHdlYlN0cmVhbS5lbmQoKTtcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHdlYlN0cmVhbS5lbmQoKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGxlbmllbnQgY29ycyByZXNwb25zZSwgYWxsb3dpbmcgYW55IG9yaWdpbiBhbmQgYWxsIGhlYWRlcnMgc2VudC5cbiAqL1xuZnVuY3Rpb24gY29yc1Jlc3BvbnNlQWxsb3dPcmlnaW4ocmVxdWVzdEhlYWRlcnM6IGh0dHAyLkluY29taW5nSHR0cEhlYWRlcnMpIHtcbiAgcmV0dXJuIHtcbiAgICBcImFjY2Vzcy1jb250cm9sLWFsbG93LWNyZWRlbnRpYWxzXCI6IFwidHJ1ZVwiLFxuICAgIFwiYWNjZXNzLWNvbnRyb2wtYWxsb3ctaGVhZGVyc1wiOiBbXG4gICAgICBcIngtZ3JwYy13ZWJcIixcbiAgICAgIFwiY29udGVudC10eXBlXCIsXG4gICAgICAuLi5PYmplY3Qua2V5cyhyZXF1ZXN0SGVhZGVycylcbiAgICBdLmpvaW4oXCIsIFwiKSxcbiAgICBcImFjY2Vzcy1jb250cm9sLWFsbG93LW1ldGhvZHNcIjogXCJQT1NUXCIsXG4gICAgXCJhY2Nlc3MtY29udHJvbC1hbGxvdy1vcmlnaW5cIjogcmVxdWVzdEhlYWRlcnMub3JpZ2luLFxuICAgIFwiYWNjZXNzLWNvbnRyb2wtbWF4LWFnZVwiOiA2MDAsXG4gICAgXCJjb250ZW50LWxlbmd0aFwiOiAwLFxuICAgIHZhcnk6IFwib3JpZ2luLCBhY2Nlc3MtY29udHJvbC1yZXF1ZXN0LW1ldGhvZCwgYWNjZXNzLWNvbnRyb2wtcmVxdWVzdC1oZWFkZXJzXCJcbiAgfTtcbn1cblxuLyoqXG4gKiBDbGVhbiB0aGUgcmVxdWVzdCBoZWFkZXJzIGZyb20gd2ViIHRvIGdycGMgc2VydmljZS5cbiAqL1xuZnVuY3Rpb24gY2xlYW5SZXF1ZXN0SGVhZGVycyh3ZWJIZWFkZXJzOiBodHRwMi5JbmNvbWluZ0h0dHBIZWFkZXJzKTogaHR0cDIuT3V0Z29pbmdIdHRwSGVhZGVycyB7XG4gIGNvbnN0IGNvbnRlbnRUeXBlID0gd2ViSGVhZGVyc1tcImNvbnRlbnQtdHlwZVwiXSB8fCBHUlBDX1dFQl9DT05URU5UX1RZUEU7XG4gIGNvbnN0IGluY29taW5nQ29udGVudFR5cGUgPSBHUlBDX1dFQl9DT05URU5UX1RZUEU7XG4gIGNvbnN0IGlzVGV4dEZvcm1hdCA9IGNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoR1JQQ19XRUJfVEVYVF9DT05URU5UX1RZUEUpO1xuICBpZiAoaXNUZXh0Rm9ybWF0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiVGV4dCBmb3JtYXQgaXMgdW5zdXBwb3J0ZWQuXCIpO1xuICB9XG4gIGNvbnN0IGdycGNSZXF1ZXN0SGVhZGVyczogaHR0cDIuT3V0Z29pbmdIdHRwSGVhZGVycyA9IHsgLi4ud2ViSGVhZGVycyB9O1xuICBncnBjUmVxdWVzdEhlYWRlcnNbXCJjb250ZW50LXR5cGVcIl0gPSBjb250ZW50VHlwZS5yZXBsYWNlKGluY29taW5nQ29udGVudFR5cGUsIEdSUENfQ09OVEVOVF9UWVBFKTtcbiAgZGVsZXRlIGdycGNSZXF1ZXN0SGVhZGVyc1tcImNvbnRlbnQtbGVuZ3RoXCJdO1xuICBncnBjUmVxdWVzdEhlYWRlcnMucHJvdG9tYWpvciA9IDI7XG4gIGdycGNSZXF1ZXN0SGVhZGVycy5wcm90b21pbm9yID0gMDtcbiAgZ3JwY1JlcXVlc3RIZWFkZXJzLnRlID0gXCJ0cmFpbGVyc1wiO1xuICByZXR1cm4gZ3JwY1JlcXVlc3RIZWFkZXJzO1xufVxuXG4vKipcbiAqIENsZWFuIHRoZSByZXNwb25zZSBoZWFkZXJzIGZyb20gZ3JwYyBzZXJ2aWNlIHRvIHdlYi5cbiAqL1xuZnVuY3Rpb24gY2xlYW5SZXNwb25zZUhlYWRlcnMoXG4gIGdycGNIZWFkZXJzOiBodHRwMi5JbmNvbWluZ0h0dHBIZWFkZXJzLFxuICBvcmlnaW46IHN0cmluZyB8IHN0cmluZ1tdXG4pOiBodHRwMi5PdXRnb2luZ0h0dHBIZWFkZXJzIHtcbiAgY29uc3QgbmV3SGVhZGVyczogaHR0cDIuT3V0Z29pbmdIdHRwSGVhZGVycyA9IHsgLi4uZ3JwY0hlYWRlcnMgfTtcbiAgLy8gTm90IGVudGlyZWx5IHN1cmUgd2h5IHRoaXMgbmVlZHMgdG8gYmUgcmVtb3ZlZCwgYnV0IGl0IGRvZXMuXG4gIGRlbGV0ZSBuZXdIZWFkZXJzW1wiOnN0YXR1c1wiXTtcbiAgLy8gVGhlIG9yaWdpbmFsIGNvbnRlbnQgdHlwZSB3YXMgZ3JwYywgY2hhbmdlIHRvIHdlYi5cbiAgbmV3SGVhZGVyc1tcImNvbnRlbnQtdHlwZVwiXSA9IEdSUENfQ09OVEVOVF9UWVBFO1xuICBuZXdIZWFkZXJzW1wiYWNjZXNzLWNvbnRyb2wtYWxsb3ctb3JpZ2luXCJdID0gb3JpZ2luO1xuICBuZXdIZWFkZXJzW1wiYWNjZXNzLWNvbnRyb2wtZXhwb3NlLWhlYWRlcnNcIl0gPSBbLi4uT2JqZWN0LmtleXMobmV3SGVhZGVycyldLmpvaW4oXCIsIFwiKTtcbiAgcmV0dXJuIG5ld0hlYWRlcnM7XG59XG5cbi8qKlxuICogVHVybiB0cmFpbGVycyBpbnRvIHJlc3BvbnNlIGNodW5rcyBhcyBwZXIgdGhlIGdycGMtd2ViIHByb3RvY29sLlxuICovXG5mdW5jdGlvbiB0cmFpbGVyc1RvUGF5bG9hZCh0cmFpbGVySGVhZGVyczogaHR0cDIuSW5jb21pbmdIdHRwSGVhZGVycykge1xuICBjb25zdCBoZWFkZXJzQnVmZmVyID0gQnVmZmVyLmZyb20oXG4gICAgT2JqZWN0LmtleXModHJhaWxlckhlYWRlcnMpXG4gICAgICAuZmlsdGVyKGtleSA9PiBbXCJncnBjLXN0YXR1c1wiXS5pbmNsdWRlcyhrZXkpKVxuICAgICAgLm1hcChrZXkgPT4gYCR7a2V5fTogJHt0cmFpbGVySGVhZGVyc1trZXldfVxcclxcbmApXG4gICAgICAuam9pbihcIlwiKVxuICApO1xuICBjb25zdCBidWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoNSk7XG4gIGNvbnN0IHVpbnQ4VmlldyA9IG5ldyBVaW50OEFycmF5KGJ1ZmZlcik7XG4gIGNvbnN0IHVpbnQzMlZpZXcgPSBuZXcgVWludDhBcnJheShidWZmZXIpO1xuICB1aW50OFZpZXcuc2V0KFsxMjhdLCAwKTtcbiAgdWludDMyVmlldy5zZXQoW2hlYWRlcnNCdWZmZXIuYnl0ZUxlbmd0aF0sIDEpO1xuICByZXR1cm4gQnVmZmVyLmNvbmNhdChbdWludDhWaWV3LCBoZWFkZXJzQnVmZmVyXSk7XG59XG5cbmNvbnN0IEZBS0VfS0VZID0gYFxuLS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tXG5NSUlFdndJQkFEQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0JLa3dnZ1NsQWdFQUFvSUJBUUROSW9Cb2ppWm56aVpjXG4xRXRhd3ZvOFpLUFlDREVRL2ZZN2xhTzQzYkROUmFwbUtmb3FYSkRRZkJ1cU53UnY4UFJNN3ZCWW03K2IwUlhFXG5LbjNSSFFEOVdLZTU5K1Rud2YzVktHaktJd1E5NnM5a0hoL0ZFZkZYZVpCYTJiN3Q4dER4SGh0dHJ1aEsxZzMrXG5uaERpdnVmdi9BYXJ6N1JxYXVHNnUzdjNwRkdSWWFSTm45eXVaZHU4emJ5ZXJSTFRyaFlvc2xJdW9CZDBObDQwXG5TUGJUY3dSRVlKUmF5alFxcEdXbHp2R0p2TGhWSkVOVkdBenp1TWQ1d1hCVkVHTjNXZzVmQWN3cFpDZGRDVzE2XG51TlpFS1JoVkZ2NkN2Y2UzbExCM012TnJkL01PcC9Xb1hWc3pZWEErYnNlN0ZoM3duUWU0ZzZKQkpmWjJNeU1yXG5pQitlQmV0ckFnTUJBQUVDZ2dFQkFMSUpyOGtQRnVZaFZjcGJ0c3NmVG0vOEtQZm1wQzlMTzlxYkZXM3Rldld0XG44U2FhYURVOEFiUHhBMUhJVG1HWmoyNzJNa08xYWFlaTRIRlJMOEcrbW8xSDFNcmpEQmpabGFUYlhaZVNyS3ZRXG5rQThrMWc0RWRLS25MMUtxaWJ1YmN4elNOSndOb2k3UmVYUHpYRlJ2dkgzZER5MHZLRGIwYk5YVXd0TThHazlDXG5ENUpURmhjMnVoSTZNdnY2TlhUc2JPbHB5MHJKZWpGQ2QvNG93Tzh4V3dYZ09KbFAyUVNPNzU2dUN3SEU5RVZkXG5tNnJ4T2xaS3pydC8ydjhybHpFaVcvd1FrNk16eVVjQmtTOUNpYU9EUkJPd3FjTkRDWmMrcmhPRGQvMlYycWdOXG5nOHNPUlpaK2FHcmdrSTAxNmNIQ3hYUHplWUJmRGliMXVZY2xVTEpaMGdFQ2dZRUEvbWVieU5XaE9jTkJwam9xXG44aVZiUUVscHB4bEh2Vmg0Y2tuYk43N09xRERSeFpnMnhuT254eHptT0svb0lzcU1FaHM5bVJ5NnIxUzg0cHFCXG5ya3BFZk9yWWVrMlBBOWFndHRZVm5neTdKM3lPQlhSWDRaVFBJNTBLcEZzTjQ1TDNYeGRpelhmSndqNmJwdlZxXG5qZ21mNU9HY2ZzZlh2VmtvbFdpSWFKU1dpaHNDZ1lFQXptdk5CZWIzK0pCa1BlWWtKWUoxMHh3SCt5T25aZDZ3XG4vV2xobEtGWGVrbmdMKzZ1Unoydkhjb1crMUZ3OXlSbTdwTzh3cFlXVnVqM2ZZZlU5a245WXFkT0MvMmsrcVZsXG5wdkRoZUNLaDA2WmsxYTVaZEljZVBuNTY3UTFUMkFzK1V6SjluSGxBalF4aTRnOXozYlpBdU9GeXg2Um0yNHN6XG5kRFk0MjB2SU9QRUNnWUVBcy9abTVUTDUwZnFsdmdqM3lFTlV3YTBzNTkraU4vY1ZmUU54NTRVNmV3L04xSkZRXG5iaUh5VlkvRDYrWER1SmkvYlMrSDYzKy9MN2dweGNLMmFheHZ0azRLeExtSXFaWnlLZVJYZG01YkZodXQrMzNKXG5qUEhQZGNucGRVcFVFT0F0elQ2bHplTW0vaGw3MGlkWk1SRHQ0dU1WNlRsRkM5UytPTEt4akFsUVZIRUNnWUJuXG5IaDB1bktJMWp0UTB3OW84enI1VGRzWlo1QWJFOGdsU25xazdtWm5jb2prWFdOSEJEd1NEQ2lpTzViRmNGTmhDXG55SlRjVkNQV3lNeVI3aUFwNU81cXNROWhHQldwaktTS1QvMGlpWkp6NjhTbHBsSlR6d2dCeWlkWWNuYjNEeTdVXG5XdjI3QkN1R0NyRC9JeDhMbS9jYkpLeTFKT0NwUGhHM05Uc1QrZmlNMFFLQmdRREV0b3QzaE0zRE5IaUtCYlVDXG5YYms3bFBkNi9TeVlKMnlqcUd2RWhIaUUwNDdaK003aG12WVYrZ3doeGIzaTZRTW9ZUjQ2NGxnaTFKSDRpR2dHXG5vbjhtamhwa1VhOWpRak9iWkVhdStwanNtOEJqaFVXVE5oTFlNYTVwaTFQT3l3am5Fb1dpcXZQSEpVTTdZUExDXG5NbDdDaENFM2kvdW8xRk5QVm1aOXZtTm8xZz09XG4tLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tXG5gO1xuY29uc3QgRkFLRV9DRVJUID0gYFxuLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tXG5NSUlEYXpDQ0FsT2dBd0lCQWdJVU1OV0lWbkp5UkRwQVE0YUNPSzlKTGMzL04yMHdEUVlKS29aSWh2Y05BUUVMXG5CUUF3UlRFTE1Ba0dBMVVFQmhNQ1FWVXhFekFSQmdOVkJBZ01DbE52YldVdFUzUmhkR1V4SVRBZkJnTlZCQW9NXG5HRWx1ZEdWeWJtVjBJRmRwWkdkcGRITWdVSFI1SUV4MFpEQWVGdzB4T1RFeE1ESXhOakUyTkRKYUZ3MHhPVEV5XG5NREl4TmpFMk5ESmFNRVV4Q3pBSkJnTlZCQVlUQWtGVk1STXdFUVlEVlFRSURBcFRiMjFsTFZOMFlYUmxNU0V3XG5Id1lEVlFRS0RCaEpiblJsY201bGRDQlhhV1JuYVhSeklGQjBlU0JNZEdRd2dnRWlNQTBHQ1NxR1NJYjNEUUVCXG5BUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRE5Jb0JvamlabnppWmMxRXRhd3ZvOFpLUFlDREVRL2ZZN2xhTzQzYkROXG5SYXBtS2ZvcVhKRFFmQnVxTndSdjhQUk03dkJZbTcrYjBSWEVLbjNSSFFEOVdLZTU5K1Rud2YzVktHaktJd1E5XG42czlrSGgvRkVmRlhlWkJhMmI3dDh0RHhIaHR0cnVoSzFnMytuaERpdnVmdi9BYXJ6N1JxYXVHNnUzdjNwRkdSXG5ZYVJObjl5dVpkdTh6YnllclJMVHJoWW9zbEl1b0JkME5sNDBTUGJUY3dSRVlKUmF5alFxcEdXbHp2R0p2TGhWXG5KRU5WR0F6enVNZDV3WEJWRUdOM1dnNWZBY3dwWkNkZENXMTZ1TlpFS1JoVkZ2NkN2Y2UzbExCM012TnJkL01PXG5wL1dvWFZzellYQStic2U3Rmgzd25RZTRnNkpCSmZaMk15TXJpQitlQmV0ckFnTUJBQUdqVXpCUk1CMEdBMVVkXG5EZ1FXQkJRKzhpRXExakorMG8yZW1UTTFjcVVzSm5KZkd6QWZCZ05WSFNNRUdEQVdnQlErOGlFcTFqSiswbzJlXG5tVE0xY3FVc0puSmZHekFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUM2XG5XdndNRG9ZL0lRMkhsUE1hZS9oYjVSY0JZQmFuTTJpTHdxUFZPRWpZdytmWGllajR1TkozekwrK3RDWDUwV3dwXG5KZ1g5ZTcrRmlDM0tEZjRUZUdEeitWVUEwS2NCY2Z0NmJRWWN0RFdOMldMYXZSa3RZMkJseTNmK2VRbFhSdGFKXG5aaHhGaTJhU3h0aG1sSWEzcUtIa0Frd0dmU1RPYkd1NjJIakphL3h0WFNMeUtBN3dpZDNTay9jL1F3dTlSQWQxXG5KNDQ4TUVScmcwdGN2czJOTDcvTW1kRXdNU3NNbkhRVytYeWVQZnFEdk1DaWNvYnUrUFk5WU5UT3VERlkrZFpsXG5PY0k5RW5ScVpyVklDUmFXSy9wOVU5VU5ML21xb1l5RnFyMU8wdDRmU3NMaWp6VTRUZnliZTNHSzM2UlpGdTNrXG54SDJRdFpxR0JXU0RqUERUVXlwMlxuLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLVxuYDtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90b29scy9ncnBjLXdlYi1wcm94eS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBQUEsK0JBQStCO0lBRS9CLE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLENBQUM7SUFDN0MsTUFBTSxxQkFBcUIsR0FBRyxzQkFBc0IsQ0FBQztJQUNyRCxNQUFNLDBCQUEwQixHQUFHLDJCQUEyQixDQUFDO0lBYy9ELE1BQWEsWUFBWTtRQUl2QixZQUFZLE9BQTZCO1lBRXZDLE9BQU8sbUJBQUssTUFBTSxFQUFFLFlBQVksSUFBSyxPQUFPLENBQUUsQ0FBQztZQUcvQyxJQUFJLENBQUMsU0FBUztnQkFFWixPQUFPLENBQUMsTUFBTSxLQUFLLFlBQVk7b0JBQzdCLENBQUMsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO29CQUNuRixDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxVQUFVO3dCQUMvQixDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO3dCQUMzQyxDQUFDLENBQUMsS0FBSyxDQUFDLGtCQUFrQixtQkFBTSxPQUFPLENBQUMsTUFBTSxFQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUczRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7Z0JBQzlDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDN0MsQ0FBQyxDQUFDLENBQUM7WUFHSCxNQUFN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Q0FBQyxDQUFDO2FBQzVDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxLQUFLLGNBQWMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO2FBQ2hELElBQUksQ0FBQyxFQUFFLENBQUMsQ0FDWixDQUFDO1FBQ0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekMsTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQTZCaEIsQ0FBQztJQUNGLE1BQU0sU0FBUyxHQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBc0JqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaHR0cDIgZnJvbSBcImh0dHAyXCI7XG5cbmNvbnN0IEdSUENfQ09OVEVOVF9UWVBFID0gXCJhcHBsaWNhdGlvbi9ncnBjXCI7XG5jb25zdCBHUlBDX1dFQl9DT05URU5UX1RZUEUgPSBcImFwcGxpY2F0aW9uL2dycGMtd2ViXCI7XG5jb25zdCBHUlBDX1dFQl9URVhUX0NPTlRFTlRfVFlQRSA9IFwiYXBwbGljYXRpb24vZ3JwYy13ZWItdGV4dFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElHcnBjV2ViUHJveHlPcHRpb25zIHtcbiAgYmFja2VuZDogc3RyaW5nO1xuICBwb3J0OiBudW1iZXI7XG4gIHNlY3VyZT86XG4gICAgfCBcImZha2UtaHR0cHNcIlxuICAgIHwgXCJpbnNlY3VyZVwiXG4gICAgfCB7XG4gICAgICAgIGtleTogc3RyaW5nO1xuICAgICAgICBjZXJ0OiBzdHJpbmc7XG4gICAgICB9O1xufVxuXG5leHBvcnQgY2xhc3MgR3JwY1dlYlByb3h5IHtcbiAgcHJpdmF0ZSB3ZWJTZXJ2ZXI6IGh0dHAyLkh0dHAyU2VydmVyO1xuICBwcml2YXRlIGdycGNDbGllbnQ6IGh0dHAyLkNsaWVudEh0dHAyU2Vzc2lvbjtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJR3JwY1dlYlByb3h5T3B0aW9ucykge1xuICAgIC8vIFNldCBkZWZhdWx0cy5cbiAgICBvcHRpb25zID0geyBzZWN1cmU6IFwiZmFrZS1odHRwc1wiLCAuLi5vcHRpb25zIH07XG5cbiAgICAvLyBDcmVhdGUgdGhlIHNlcnZlci5cbiAgICB0aGlzLndlYlNlcnZlciA9XG4gICAgICAvLyBBcyB0aGlzIGlzIGh0dHAyIHNlcnZlciwgbW9zdCBicm93c2VycyByZXF1aXJlIGl0IHRvIGJlIGh0dHBzLCBzbyB0aGlzIGlzIHRoZSBkZWZhdWx0LlxuICAgICAgb3B0aW9ucy5zZWN1cmUgPT09IFwiZmFrZS1odHRwc1wiXG4gICAgICAgID8gaHR0cDIuY3JlYXRlU2VjdXJlU2VydmVyKHsga2V5OiBGQUtFX0tFWSwgY2VydDogRkFLRV9DRVJUIH0pLmxpc3RlbihvcHRpb25zLnBvcnQpXG4gICAgICAgIDogb3B0aW9ucy5zZWN1cmUgPT09IFwiaW5zZWN1cmVcIlxuICAgICAgICA/IGh0dHAyLmNyZWF0ZVNlcnZlcigpLmxpc3RlbihvcHRpb25zLnBvcnQpXG4gICAgICAgIDogaHR0cDIuY3JlYXRlU2VjdXJlU2VydmVyKHsgLi4ub3B0aW9ucy5zZWN1cmUgfSkubGlzdGVuKG9wdGlvbnMucG9ydCk7XG5cbiAgICAvLyBIYW5kbGUgcmVxdWVzdHMuXG4gICAgdGhpcy53ZWJTZXJ2ZXIub24oXCJzdHJlYW1cIiwgKHN0cmVhbSwgaGVhZGVycykgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVHcnBjV2ViUmVxdWVzdChzdHJlYW0sIGhlYWRlcnMpO1xuICAgIH0pO1xuXG4gICAgLy8gQ29uc3RhbnRseSB0cnkgdG8gY29ubmVjdCB0byB0aGUgYmFja2VuZC5cbiAgICBjb25zdCBfID0gdGhpcy5jb25uZWN0QW5kS2VlcEFsaXZlKG9wdGlvbnMuYmFja2VuZCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNvbm5lY3RBbmRLZWVwQWxpdmUoYmFja2VuZDogc3RyaW5nKSB7XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmICghdGhpcy5ncnBjQ2xpZW50IHx8IHRoaXMuZ3JwY0NsaWVudC5kZXN0cm95ZWQpIHtcbiAgICAgICAgdGhpcy5ncnBjQ2xpZW50ID0gaHR0cDIuY29ubmVjdChiYWNrZW5kKTtcbiAgICAgICAgdGhpcy5ncnBjQ2xpZW50Lm9uKFwiY29ubmVjdFwiLCAoKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5pbmZvKGBTdWNjZXNzZnVsbHkgY29ubmVjdGVkIHRvIGJhY2tlbmQ6ICR7YmFja2VuZH1gKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZ3JwY0NsaWVudC5vbihcImVycm9yXCIsIGVycm9yID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gY29ubmVjdCB0byBiYWNrZW5kOiAke2JhY2tlbmR9XFxuJHtlcnJvcn1gKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMTAwMCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlR3JwY1dlYlJlcXVlc3QoXG4gICAgd2ViU3RyZWFtOiBodHRwMi5TZXJ2ZXJIdHRwMlN0cmVhbSxcbiAgICB3ZWJIZWFkZXJzOiBodHRwMi5JbmNvbWluZ0h0dHBIZWFkZXJzXG4gICkge1xuICAgIHRyeSB7XG4gICAgICAvLyBDT1JTIHJlcXVlc3RzLlxuICAgICAgaWYgKHdlYkhlYWRlcnNbXCI6bWV0aG9kXCJdID09PSBcIk9QVElPTlNcIikge1xuICAgICAgICB3ZWJTdHJlYW0ucmVzcG9uZCh7IC4uLmNvcnNSZXNwb25zZUFsbG93T3JpZ2luKHdlYkhlYWRlcnMpLCBcIjpzdGF0dXNcIjogMjAwIH0pO1xuICAgICAgICB3ZWJTdHJlYW0uZW5kKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gZ1JQQy13ZWIgcmVxdWVzdHMuXG4gICAgICBjb25zdCBncnBjUmVxdWVzdEhlYWRlcnMgPSBjbGVhblJlcXVlc3RIZWFkZXJzKHdlYkhlYWRlcnMpO1xuICAgICAgY29uc3QgZ3JwY1JlcXVlc3QgPSB0aGlzLmdycGNDbGllbnQucmVxdWVzdChncnBjUmVxdWVzdEhlYWRlcnMpO1xuXG4gICAgICB3ZWJTdHJlYW0ub24oXCJkYXRhXCIsIGNodW5rID0+IHtcbiAgICAgICAgZ3JwY1JlcXVlc3Qud3JpdGUoY2h1bmspO1xuICAgICAgfSk7XG4gICAgICB3ZWJTdHJlYW0ub24oXCJjbG9zZVwiLCAoKSA9PiB7XG4gICAgICAgIGdycGNSZXF1ZXN0LmVuZCgpO1xuICAgICAgfSk7XG4gICAgICBncnBjUmVxdWVzdC5vbihcInJlc3BvbnNlXCIsIGhlYWRlcnMgPT4ge1xuICAgICAgICB3ZWJTdHJlYW0ucmVzcG9uZChjbGVhblJlc3BvbnNlSGVhZGVycyhoZWFkZXJzLCB3ZWJIZWFkZXJzLm9yaWdpbikpO1xuICAgICAgfSk7XG4gICAgICBncnBjUmVxdWVzdC5vbihcInRyYWlsZXJzXCIsIGhlYWRlcnMgPT4ge1xuICAgICAgICB3ZWJTdHJlYW0ud3JpdGUodHJhaWxlcnNUb1BheWxvYWQoaGVhZGVycykpO1xuICAgICAgfSk7XG4gICAgICBncnBjUmVxdWVzdC5vbihcImRhdGFcIiwgY2h1bmsgPT4ge1xuICAgICAgICB3ZWJTdHJlYW0ud3JpdGUoY2h1bmspO1xuICAgICAgfSk7XG4gICAgICBncnBjUmVxdWVzdC5vbihcImVycm9yXCIsIGUgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICB3ZWJTdHJlYW0uZW5kKCk7XG4gICAgICB9KTtcbiAgICAgIGdycGNSZXF1ZXN0Lm9uKFwiZW5kXCIsICgpID0+IHtcbiAgICAgICAgd2ViU3RyZWFtLmVuZCgpO1xuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgd2ViU3RyZWFtLmVuZCgpO1xuICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgbGVuaWVudCBjb3JzIHJlc3BvbnNlLCBhbGxvd2luZyBhbnkgb3JpZ2luIGFuZCBhbGwgaGVhZGVycyBzZW50LlxuICovXG5mdW5jdGlvbiBjb3JzUmVzcG9uc2VBbGxvd09yaWdpbihyZXF1ZXN0SGVhZGVyczogaHR0cDIuSW5jb21pbmdIdHRwSGVhZGVycykge1xuICBjb25zdCBhbGxvd1JlcXVlc3RIZWFkZXJzID0gcmVxdWVzdEhlYWRlcnNbXCJhY2Nlc3MtY29udHJvbC1yZXF1ZXN0LWhlYWRlcnNcIl07XG4gIGNvbnN0IGFsbG93UmVxdWVzdEhlYWRlcnNMaXN0ID0gdHlwZW9mIGFsbG93UmVxdWVzdEhlYWRlcnMgPT09IFwic3RyaW5nXCIgPyBbYWxsb3dSZXF1ZXN0SGVhZGVyc10gOiBhbGxvd1JlcXVlc3RIZWFkZXJzO1xuICByZXR1cm4ge1xuICAgIFwiYWNjZXNzLWNvbnRyb2wtYWxsb3ctY3JlZGVudGlhbHNcIjogXCJ0cnVlXCIsXG4gICAgXCJhY2Nlc3MtY29udHJvbC1hbGxvdy1oZWFkZXJzXCI6IFtcbiAgICAgIFwieC1ncnBjLXdlYlwiLFxuICAgICAgXCJjb250ZW50LXR5cGVcIixcbiAgICAgIC4uLk9iamVjdC5rZXlzKHJlcXVlc3RIZWFkZXJzKSxcbiAgICAgIC4uLmFsbG93UmVxdWVzdEhlYWRlcnNMaXN0XG4gICAgXS5qb2luKFwiLCBcIiksXG4gICAgXCJhY2Nlc3MtY29udHJvbC1hbGxvdy1tZXRob2RzXCI6IFwiUE9TVFwiLFxuICAgIFwiYWNjZXNzLWNvbnRyb2wtYWxsb3ctb3JpZ2luXCI6IHJlcXVlc3RIZWFkZXJzLm9yaWdpbixcbiAgICBcImFjY2Vzcy1jb250cm9sLW1heC1hZ2VcIjogNjAwLFxuICAgIFwiY29udGVudC1sZW5ndGhcIjogMCxcbiAgICB2YXJ5OiBcIm9yaWdpbiwgYWNjZXNzLWNvbnRyb2wtcmVxdWVzdC1tZXRob2QsIGFjY2Vzcy1jb250cm9sLXJlcXVlc3QtaGVhZGVyc1wiXG4gIH07XG59XG5cbi8qKlxuICogQ2xlYW4gdGhlIHJlcXVlc3QgaGVhZGVycyBmcm9tIHdlYiB0byBncnBjIHNlcnZpY2UuXG4gKi9cbmZ1bmN0aW9uIGNsZWFuUmVxdWVzdEhlYWRlcnMod2ViSGVhZGVyczogaHR0cDIuSW5jb21pbmdIdHRwSGVhZGVycyk6IGh0dHAyLk91dGdvaW5nSHR0cEhlYWRlcnMge1xuICBjb25zdCBjb250ZW50VHlwZSA9IHdlYkhlYWRlcnNbXCJjb250ZW50LXR5cGVcIl0gfHwgR1JQQ19XRUJfQ09OVEVOVF9UWVBFO1xuICBjb25zdCBpbmNvbWluZ0NvbnRlbnRUeXBlID0gR1JQQ19XRUJfQ09OVEVOVF9UWVBFO1xuICBjb25zdCBpc1RleHRGb3JtYXQgPSBjb250ZW50VHlwZS5zdGFydHNXaXRoKEdSUENfV0VCX1RFWFRfQ09OVEVOVF9UWVBFKTtcbiAgaWYgKGlzVGV4dEZvcm1hdCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlRleHQgZm9ybWF0IGlzIHVuc3VwcG9ydGVkLlwiKTtcbiAgfVxuICBjb25zdCBncnBjUmVxdWVzdEhlYWRlcnM6IGh0dHAyLk91dGdvaW5nSHR0cEhlYWRlcnMgPSB7IC4uLndlYkhlYWRlcnMgfTtcbiAgZ3JwY1JlcXVlc3RIZWFkZXJzW1wiY29udGVudC10eXBlXCJdID0gY29udGVudFR5cGUucmVwbGFjZShpbmNvbWluZ0NvbnRlbnRUeXBlLCBHUlBDX0NPTlRFTlRfVFlQRSk7XG4gIGRlbGV0ZSBncnBjUmVxdWVzdEhlYWRlcnNbXCJjb250ZW50LWxlbmd0aFwiXTtcbiAgZ3JwY1JlcXVlc3RIZWFkZXJzLnByb3RvbWFqb3IgPSAyO1xuICBncnBjUmVxdWVzdEhlYWRlcnMucHJvdG9taW5vciA9IDA7XG4gIGdycGNSZXF1ZXN0SGVhZGVycy50ZSA9IFwidHJhaWxlcnNcIjtcbiAgcmV0dXJuIGdycGNSZXF1ZXN0SGVhZGVycztcbn1cblxuLyoqXG4gKiBDbGVhbiB0aGUgcmVzcG9uc2UgaGVhZGVycyBmcm9tIGdycGMgc2VydmljZSB0byB3ZWIuXG4gKi9cbmZ1bmN0aW9uIGNsZWFuUmVzcG9uc2VIZWFkZXJzKFxuICBncnBjSGVhZGVyczogaHR0cDIuSW5jb21pbmdIdHRwSGVhZGVycyxcbiAgb3JpZ2luOiBzdHJpbmcgfCBzdHJpbmdbXVxuKTogaHR0cDIuT3V0Z29pbmdIdHRwSGVhZGVycyB7XG4gIGNvbnN0IG5ld0hlYWRlcnM6IGh0dHAyLk91dGdvaW5nSHR0cEhlYWRlcnMgPSB7IC4uLmdycGNIZWFkZXJzIH07XG4gIC8vIE5vdCBlbnRpcmVseSBzdXJlIHdoeSB0aGlzIG5lZWRzIHRvIGJlIHJlbW92ZWQsIGJ1dCBpdCBkb2VzLlxuICBkZWxldGUgbmV3SGVhZGVyc1tcIjpzdGF0dXNcIl07XG4gIC8vIFNldCBncnBjLXN0YXR1cyB0byAwIGlmIGl0J3Mgbm90IHByZXNlbnQgaW4gdGhlIHNlcnZlciByZXNwb25zZS5cbiAgbmV3SGVhZGVyc1tcImdycGMtc3RhdHVzXCJdID0gbmV3SGVhZGVyc1tcImdycGMtc3RhdHVzXCJdIHx8IDA7XG4gIC8vIFRoZSBvcmlnaW5hbCBjb250ZW50IHR5cGUgd2FzIGdycGMsIGNoYW5nZSB0byB3ZWIuXG4gIG5ld0hlYWRlcnNbXCJjb250ZW50LXR5cGVcIl0gPSBHUlBDX0NPTlRFTlRfVFlQRTtcbiAgbmV3SGVhZGVyc1tcImFjY2Vzcy1jb250cm9sLWFsbG93LW9yaWdpblwiXSA9IG9yaWdpbjtcbiAgbmV3SGVhZGVyc1tcImFjY2Vzcy1jb250cm9sLWV4cG9zZS1oZWFkZXJzXCJdID0gWy4uLk9iamVjdC5rZXlzKG5ld0hlYWRlcnMpXS5qb2luKFwiLCBcIik7XG4gIHJldHVybiBuZXdIZWFkZXJzO1xufVxuXG4vKipcbiAqIFR1cm4gdHJhaWxlcnMgaW50byByZXNwb25zZSBjaHVua3MgYXMgcGVyIHRoZSBncnBjLXdlYiBwcm90b2NvbC5cbiAqL1xuZnVuY3Rpb24gdHJhaWxlcnNUb1BheWxvYWQodHJhaWxlckhlYWRlcnM6IGh0dHAyLkluY29taW5nSHR0cEhlYWRlcnMpIHtcbiAgY29uc3QgaGVhZGVyc0J1ZmZlciA9IEJ1ZmZlci5mcm9tKFxuICAgIE9iamVjdC5rZXlzKHRyYWlsZXJIZWFkZXJzKVxuICAgICAgLmZpbHRlcihrZXkgPT4gW1wiZ3JwYy1zdGF0dXNcIl0uaW5jbHVkZXMoa2V5KSlcbiAgICAgIC5tYXAoa2V5ID0+IGAke2tleX06ICR7dHJhaWxlckhlYWRlcnNba2V5XX1cXHJcXG5gKVxuICAgICAgLmpvaW4oXCJcIilcbiAgKTtcbiAgY29uc3QgYnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKDUpO1xuICBjb25zdCB1aW50OFZpZXcgPSBuZXcgVWludDhBcnJheShidWZmZXIpO1xuICBjb25zdCB1aW50MzJWaWV3ID0gbmV3IFVpbnQ4QXJyYXkoYnVmZmVyKTtcbiAgdWludDhWaWV3LnNldChbMTI4XSwgMCk7XG4gIHVpbnQzMlZpZXcuc2V0KFtoZWFkZXJzQnVmZmVyLmJ5dGVMZW5ndGhdLCAxKTtcbiAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoW3VpbnQ4VmlldywgaGVhZGVyc0J1ZmZlcl0pO1xufVxuXG5jb25zdCBGQUtFX0tFWSA9IGBcbi0tLS0tQkVHSU4gUFJJVkFURSBLRVktLS0tLVxuTUlJRXZ3SUJBREFOQmdrcWhraUc5dzBCQVFFRkFBU0NCS2t3Z2dTbEFnRUFBb0lCQVFETklvQm9qaVpuemlaY1xuMUV0YXd2bzhaS1BZQ0RFUS9mWTdsYU80M2JETlJhcG1LZm9xWEpEUWZCdXFOd1J2OFBSTTd2QlltNytiMFJYRVxuS24zUkhRRDlXS2U1OStUbndmM1ZLR2pLSXdROTZzOWtIaC9GRWZGWGVaQmEyYjd0OHREeEhodHRydWhLMWczK1xubmhEaXZ1ZnYvQWFyejdScWF1RzZ1M3YzcEZHUllhUk5uOXl1WmR1OHpieWVyUkxUcmhZb3NsSXVvQmQwTmw0MFxuU1BiVGN3UkVZSlJheWpRcXBHV2x6dkdKdkxoVkpFTlZHQXp6dU1kNXdYQlZFR04zV2c1ZkFjd3BaQ2RkQ1cxNlxudU5aRUtSaFZGdjZDdmNlM2xMQjNNdk5yZC9NT3AvV29YVnN6WVhBK2JzZTdGaDN3blFlNGc2SkJKZloyTXlNclxuaUIrZUJldHJBZ01CQUFFQ2dnRUJBTElKcjhrUEZ1WWhWY3BidHNzZlRtLzhLUGZtcEM5TE85cWJGVzN0ZXZXdFxuOFNhYWFEVThBYlB4QTFISVRtR1pqMjcyTWtPMWFhZWk0SEZSTDhHK21vMUgxTXJqREJqWmxhVGJYWmVTckt2UVxua0E4azFnNEVkS0tuTDFLcWlidWJjeHpTTkp3Tm9pN1JlWFB6WEZSdnZIM2REeTB2S0RiMGJOWFV3dE04R2s5Q1xuRDVKVEZoYzJ1aEk2TXZ2Nk5YVHNiT2xweTBySmVqRkNkLzRvd084eFd3WGdPSmxQMlFTTzc1NnVDd0hFOUVWZFxubTZyeE9sWkt6cnQvMnY4cmx6RWlXL3dRazZNenlVY0JrUzlDaWFPRFJCT3dxY05EQ1pjK3JoT0RkLzJWMnFnTlxuZzhzT1JaWithR3Jna0kwMTZjSEN4WFB6ZVlCZkRpYjF1WWNsVUxKWjBnRUNnWUVBL21lYnlOV2hPY05CcGpvcVxuOGlWYlFFbHBweGxIdlZoNGNrbmJONzdPcUREUnhaZzJ4bk9ueHh6bU9LL29Jc3FNRWhzOW1SeTZyMVM4NHBxQlxucmtwRWZPclllazJQQTlhZ3R0WVZuZ3k3SjN5T0JYUlg0WlRQSTUwS3BGc040NUwzWHhkaXpYZkp3ajZicHZWcVxuamdtZjVPR2Nmc2ZYdlZrb2xXaUlhSlNXaWhzQ2dZRUF6bXZOQmViMytKQmtQZVlrSllKMTB4d0greU9uWmQ2d1xuL1dsaGxLRlhla25nTCs2dVJ6MnZIY29XKzFGdzl5Um03cE84d3BZV1Z1ajNmWWZVOWtuOVlxZE9DLzJrK3FWbFxucHZEaGVDS2gwNlprMWE1WmRJY2VQbjU2N1ExVDJBcytVeko5bkhsQWpReGk0Zzl6M2JaQXVPRnl4NlJtMjRzelxuZERZNDIwdklPUEVDZ1lFQXMvWm01VEw1MGZxbHZnajN5RU5Vd2EwczU5K2lOL2NWZlFOeDU0VTZldy9OMUpGUVxuYmlIeVZZL0Q2K1hEdUppL2JTK0g2MysvTDdncHhjSzJhYXh2dGs0S3hMbUlxWlp5S2VSWGRtNWJGaHV0KzMzSlxualBIUGRjbnBkVXBVRU9BdHpUNmx6ZU1tL2hsNzBpZFpNUkR0NHVNVjZUbEZDOVMrT0xLeGpBbFFWSEVDZ1lCblxuSGgwdW5LSTFqdFEwdzlvOHpyNVRkc1paNUFiRThnbFNucWs3bVpuY29qa1hXTkhCRHdTRENpaU81YkZjRk5oQ1xueUpUY1ZDUFd5TXlSN2lBcDVPNXFzUTloR0JXcGpLU0tULzBpaVpKejY4U2xwbEpUendnQnlpZFljbmIzRHk3VVxuV3YyN0JDdUdDckQvSXg4TG0vY2JKS3kxSk9DcFBoRzNOVHNUK2ZpTTBRS0JnUURFdG90M2hNM0ROSGlLQmJVQ1xuWGJrN2xQZDYvU3lZSjJ5anFHdkVoSGlFMDQ3WitNN2htdllWK2d3aHhiM2k2UU1vWVI0NjRsZ2kxSkg0aUdnR1xub244bWpocGtVYTlqUWpPYlpFYXUrcGpzbThCamhVV1ROaExZTWE1cGkxUE95d2puRW9XaXF2UEhKVU03WVBMQ1xuTWw3Q2hDRTNpL3VvMUZOUFZtWjl2bU5vMWc9PVxuLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLVxuYDtcbmNvbnN0IEZBS0VfQ0VSVCA9IGBcbi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLVxuTUlJRGF6Q0NBbE9nQXdJQkFnSVVNTldJVm5KeVJEcEFRNGFDT0s5SkxjMy9OMjB3RFFZSktvWklodmNOQVFFTFxuQlFBd1JURUxNQWtHQTFVRUJoTUNRVlV4RXpBUkJnTlZCQWdNQ2xOdmJXVXRVM1JoZEdVeElUQWZCZ05WQkFvTVxuR0VsdWRHVnlibVYwSUZkcFpHZHBkSE1nVUhSNUlFeDBaREFlRncweE9URXhNREl4TmpFMk5ESmFGdzB4T1RFeVxuTURJeE5qRTJOREphTUVVeEN6QUpCZ05WQkFZVEFrRlZNUk13RVFZRFZRUUlEQXBUYjIxbExWTjBZWFJsTVNFd1xuSHdZRFZRUUtEQmhKYm5SbGNtNWxkQ0JYYVdSbmFYUnpJRkIwZVNCTWRHUXdnZ0VpTUEwR0NTcUdTSWIzRFFFQlxuQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUROSW9Cb2ppWm56aVpjMUV0YXd2bzhaS1BZQ0RFUS9mWTdsYU80M2JETlxuUmFwbUtmb3FYSkRRZkJ1cU53UnY4UFJNN3ZCWW03K2IwUlhFS24zUkhRRDlXS2U1OStUbndmM1ZLR2pLSXdROVxuNnM5a0hoL0ZFZkZYZVpCYTJiN3Q4dER4SGh0dHJ1aEsxZzMrbmhEaXZ1ZnYvQWFyejdScWF1RzZ1M3YzcEZHUlxuWWFSTm45eXVaZHU4emJ5ZXJSTFRyaFlvc2xJdW9CZDBObDQwU1BiVGN3UkVZSlJheWpRcXBHV2x6dkdKdkxoVlxuSkVOVkdBenp1TWQ1d1hCVkVHTjNXZzVmQWN3cFpDZGRDVzE2dU5aRUtSaFZGdjZDdmNlM2xMQjNNdk5yZC9NT1xucC9Xb1hWc3pZWEErYnNlN0ZoM3duUWU0ZzZKQkpmWjJNeU1yaUIrZUJldHJBZ01CQUFHalV6QlJNQjBHQTFVZFxuRGdRV0JCUSs4aUVxMWpKKzBvMmVtVE0xY3FVc0puSmZHekFmQmdOVkhTTUVHREFXZ0JRKzhpRXExakorMG8yZVxubVRNMWNxVXNKbkpmR3pBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFDNlxuV3Z3TURvWS9JUTJIbFBNYWUvaGI1UmNCWUJhbk0yaUx3cVBWT0VqWXcrZlhpZWo0dU5KM3pMKyt0Q1g1MFd3cFxuSmdYOWU3K0ZpQzNLRGY0VGVHRHorVlVBMEtjQmNmdDZiUVljdERXTjJXTGF2Umt0WTJCbHkzZitlUWxYUnRhSlxuWmh4RmkyYVN4dGhtbElhM3FLSGtBa3dHZlNUT2JHdTYySGpKYS94dFhTTHlLQTd3aWQzU2svYy9Rd3U5UkFkMVxuSjQ0OE1FUnJnMHRjdnMyTkw3L01tZEV3TVNzTW5IUVcrWHllUGZxRHZNQ2ljb2J1K1BZOVlOVE91REZZK2RabFxuT2NJOUVuUnFaclZJQ1JhV0svcDlVOVVOTC9tcW9ZeUZxcjFPMHQ0ZlNzTGlqelU0VGZ5YmUzR0szNlJaRnUza1xueEgyUXRacUdCV1NEalBEVFV5cDJcbi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS1cbmA7XG4iXX0=
{
"name": "@dataform/grpc-web-proxy",
"version": "0.1.1",
"version": "0.1.2",
"description": "A simple HTTP2 grpc-web-proxy for Node.",

@@ -5,0 +5,0 @@ "homepage": "https://github.com/dataform-co/dataform/tools/grpc-web-proxy",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc