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

@open-flash/stream

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@open-flash/stream - npm Package Compare versions

Comparing version 0.1.0 to 0.1.1

8

_src/writable.ts

@@ -256,5 +256,5 @@ import { Incident } from "incident";

const chunk: Uint8[] = [];
do {
let nextByte: Uint8 = value & 0x7f;
value = value >> 7;
while (value !== 0 || chunk.length === 0) {
let nextByte: Uint8 = value % 0x80; // value & 0x7f
value = (value - nextByte) / 0x80; // value >> 7
if (value !== 0) {

@@ -264,3 +264,3 @@ nextByte |= 0x80;

chunk.push(nextByte);
} while (value !== 0);
}
this.chunks.push(new Uint8Array(chunk));

@@ -267,0 +267,0 @@ this.bytePos += chunk.length;

{
"name": "@open-flash/stream",
"version": "0.1.0",
"version": "0.1.1",
"homepage": "https://github.com/open-flash/stream",

@@ -48,3 +48,3 @@ "description": "Streams for Open Flash",

},
"gitHead": "1286f6ec8ff3f5ccbd3d30eaeb956bfa3bbbbfa5"
"gitHead": "1c23c0acb1013c76a8a27468097acb446616f1c7"
}

@@ -145,5 +145,5 @@ "use strict";

const chunk = [];
do {
let nextByte = value & 0x7f;
value = value >> 7;
while (value !== 0 || chunk.length === 0) {
let nextByte = value % 0x80; // value & 0x7f
value = (value - nextByte) / 0x80; // value >> 7
if (value !== 0) {

@@ -153,3 +153,3 @@ nextByte |= 0x80;

chunk.push(nextByte);
} while (value !== 0);
}
this.chunks.push(new Uint8Array(chunk));

@@ -232,2 +232,2 @@ this.bytePos += chunk.length;

//# sourceMappingURL=data:application/json;charset=utf8;base64,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UUFDckUsUUFBUSxFQUFFLENBQUM7S0FDWjtJQUNELElBQUksUUFBUSxLQUFLLFlBQVksRUFBRTtRQUM3QixPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVztLQUMzRDtTQUFNO1FBQ0wsTUFBTSxRQUFRLEdBQVcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2RyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0tBQ2pFO0FBQ0gsQ0FBQyIsImZpbGUiOiJ3cml0YWJsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluY2lkZW50IH0gZnJvbSBcImluY2lkZW50XCI7XG5pbXBvcnQgeyBGbG9hdDE2LCBGbG9hdDMyLCBGbG9hdDY0LCBTaW50MTYsIFNpbnQzMiwgU2ludDgsIFVpbnQxNiwgVWludDMyLCBVaW50OCwgVWludFNpemUgfSBmcm9tIFwic2VtYW50aWMtdHlwZXNcIjtcbmltcG9ydCB7IGNvbmNhdEJ5dGVzIH0gZnJvbSBcIi4vY29uY2F0LWJ5dGVzXCI7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG5vbi1ieXRlLWFsaWduZWQgc3RyZWFtXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV3JpdGFibGVCaXRTdHJlYW0ge1xuICBieXRlUG9zOiBVaW50U2l6ZTtcbiAgYml0UG9zOiBVaW50U2l6ZTtcblxuICBhbGlnbigpOiB2b2lkO1xuXG4gIGFzQnl0ZVN0cmVhbSgpOiBXcml0YWJsZUJ5dGVTdHJlYW07XG5cbiAgd3JpdGVaZXJvc0JpdHMobjogVWludFNpemUpOiB2b2lkO1xuXG4gIHdyaXRlQm9vbEJpdHModmFsdWU6IGJvb2xlYW4pOiB2b2lkO1xuXG4gIHdyaXRlU2ludDE2Qml0cyhuOiBVaW50U2l6ZSwgdmFsdWU6IFNpbnQxNik6IHZvaWQ7XG5cbiAgd3JpdGVTaW50MzJCaXRzKG46IFVpbnRTaXplLCB2YWx1ZTogU2ludDMyKTogdm9pZDtcblxuICB3cml0ZVVpbnQxNkJpdHMobjogVWludFNpemUsIHZhbHVlOiBVaW50MTYpOiB2b2lkO1xuXG4gIHdyaXRlVWludDMyQml0cyhuOiBVaW50U2l6ZSwgdmFsdWU6IFVpbnQzMik6IHZvaWQ7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGJ5dGUtYWxpZ25lZCBzdHJlYW1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXcml0YWJsZUJ5dGVTdHJlYW0ge1xuICBieXRlUG9zOiBVaW50U2l6ZTtcblxuICB3cml0ZVplcm9zKHNpemU6IFVpbnRTaXplKTogdm9pZDtcblxuICBhc0JpdFN0cmVhbSgpOiBXcml0YWJsZUJpdFN0cmVhbTtcblxuICB3cml0ZSh2YWx1ZTogV3JpdGFibGVCeXRlU3RyZWFtKTogdm9pZDtcblxuICB3cml0ZUJ5dGVzKHZhbHVlOiBVaW50OEFycmF5KTogdm9pZDtcblxuICB3cml0ZVN0cmluZyh2YWx1ZTogc3RyaW5nKTogdm9pZDtcblxuICB3cml0ZUNTdHJpbmcodmFsdWU6IHN0cmluZyk6IHZvaWQ7XG5cbiAgd3JpdGVVaW50OCh2YWx1ZTogVWludDgpOiB2b2lkO1xuXG4gIHdyaXRlVWludDE2QkUodmFsdWU6IFVpbnQxNik6IHZvaWQ7XG5cbiAgd3JpdGVVaW50MTZMRSh2YWx1ZTogVWludDE2KTogdm9pZDtcblxuICB3cml0ZVVpbnQzMkJFKHZhbHVlOiBVaW50MzIpOiB2b2lkO1xuXG4gIHdyaXRlVWludDMyTEUodmFsdWU6IFVpbnQzMik6IHZvaWQ7XG5cbiAgd3JpdGVVaW50MzJMZWIxMjgodmFsdWU6IFVpbnQzMik6IHZvaWQ7XG5cbiAgd3JpdGVTaW50OCh2YWx1ZTogU2ludDgpOiB2b2lkO1xuXG4gIHdyaXRlU2ludDE2TEUodmFsdWU6IFNpbnQxNik6IHZvaWQ7XG5cbiAgd3JpdGVTaW50MzJMRSh2YWx1ZTogU2ludDMyKTogdm9pZDtcblxuICB3cml0ZUZsb2F0MTZCRSh2YWx1ZTogRmxvYXQxNik6IHZvaWQ7XG5cbiAgd3JpdGVGbG9hdDE2TEUodmFsdWU6IEZsb2F0MTYpOiB2b2lkO1xuXG4gIHdyaXRlRmxvYXQzMkJFKHZhbHVlOiBGbG9hdDMyKTogdm9pZDtcblxuICB3cml0ZUZsb2F0MzJMRSh2YWx1ZTogRmxvYXQzMik6IHZvaWQ7XG5cbiAgd3JpdGVGbG9hdDY0QkUodmFsdWU6IEZsb2F0NjQpOiB2b2lkO1xuXG4gIHdyaXRlRmxvYXQ2NExFKHZhbHVlOiBGbG9hdDY0KTogdm9pZDtcblxuICBnZXRCeXRlcygpOiBVaW50OEFycmF5O1xufVxuXG5jb25zdCBUTVBfQlVGRkVSOiBBcnJheUJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcig4KTtcbmNvbnN0IFRNUF9EQVRBX1ZJRVc6IERhdGFWaWV3ID0gbmV3IERhdGFWaWV3KFRNUF9CVUZGRVIpO1xuXG5leHBvcnQgY2xhc3MgV3JpdGFibGVTdHJlYW0gaW1wbGVtZW50cyBXcml0YWJsZUJpdFN0cmVhbSwgV3JpdGFibGVCeXRlU3RyZWFtIHtcbiAgYnl0ZVBvczogVWludFNpemU7XG4gIGJpdFBvczogVWludFNpemU7XG5cbiAgcHJpdmF0ZSBjaHVua3M6IFVpbnQ4QXJyYXlbXTtcbiAgcHJpdmF0ZSBiaXRzQnVmZmVyOiBVaW50ODtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmJ5dGVQb3MgPSAwO1xuICAgIHRoaXMuYml0UG9zID0gMDtcbiAgICB0aGlzLmJpdHNCdWZmZXIgPSAwO1xuICAgIHRoaXMuY2h1bmtzID0gW107XG4gIH1cblxuICBhc0JpdFN0cmVhbSgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGFzQnl0ZVN0cmVhbSgpOiB0aGlzIHtcbiAgICB0aGlzLmFsaWduKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhbGlnbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5iaXRQb3MgIT09IDApIHtcbiAgICAgIHRoaXMud3JpdGVVaW50OCh0aGlzLmJpdHNCdWZmZXIpOyAvLyBJbmNyZW1lbnRzIGB0aGlzLmJ5dGVQb3NgXG4gICAgICB0aGlzLmJpdFBvcyA9IDA7XG4gICAgICB0aGlzLmJpdHNCdWZmZXIgPSAwO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlKHZhbHVlOiBXcml0YWJsZUJ5dGVTdHJlYW0pOiB2b2lkIHtcbiAgICB0aGlzLndyaXRlQnl0ZXModmFsdWUuZ2V0Qnl0ZXMoKSk7XG4gIH1cblxuICB3cml0ZUJ5dGVzKHZhbHVlOiBVaW50OEFycmF5KTogdm9pZCB7XG4gICAgdGhpcy5jaHVua3MucHVzaCh2YWx1ZSk7XG4gICAgdGhpcy5ieXRlUG9zICs9IHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIHdyaXRlWmVyb3Moc2l6ZTogVWludFNpemUpOiB2b2lkIHtcbiAgICB0aGlzLmNodW5rcy5wdXNoKG5ldyBVaW50OEFycmF5KHNpemUpKTtcbiAgICB0aGlzLmJ5dGVQb3MgKz0gc2l6ZTtcbiAgfVxuXG4gIHdyaXRlWmVyb3NCaXRzKHNpemU6IFVpbnRTaXplKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYml0UG9zICsgc2l6ZSA8IDgpIHtcbiAgICAgIHRoaXMuYml0UG9zICs9IHNpemU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy53cml0ZVVpbnQ4KHRoaXMuYml0c0J1ZmZlcik7XG4gICAgdGhpcy5iaXRzQnVmZmVyID0gMDtcbiAgICBzaXplIC09IDggLSB0aGlzLmJpdFBvcztcblxuICAgIGNvbnN0IGJpdFBvczogVWludFNpemUgPSBzaXplICUgODtcbiAgICB0aGlzLndyaXRlWmVyb3MoKHNpemUgLSBiaXRQb3MpIC8gOCk7XG4gICAgdGhpcy5iaXRQb3MgPSBiaXRQb3M7XG4gIH1cblxuICB3cml0ZVNpbnQ4KHZhbHVlOiBTaW50OCk6IHZvaWQge1xuICAgIHRoaXMud3JpdGVVaW50OCh2YWx1ZSA8IDAgPyAoMSA8PCA4KSArIHZhbHVlIDogdmFsdWUpO1xuICB9XG5cbiAgd3JpdGVTaW50MTZMRSh2YWx1ZTogU2ludDE2KTogdm9pZCB7XG4gICAgdGhpcy53cml0ZVVpbnQxNkxFKHZhbHVlIDwgMCA/ICgxIDw8IDE2KSArIHZhbHVlIDogdmFsdWUpO1xuICB9XG5cbiAgd3JpdGVTaW50MzJMRSh2YWx1ZTogU2ludDMyKTogdm9pZCB7XG4gICAgdGhpcy5jaHVua3MucHVzaChCdWZmZXIuZnJvbShbXG4gICAgICAodmFsdWUgPj4+IDApICYgMHhmZixcbiAgICAgICh2YWx1ZSA+Pj4gOCkgJiAweGZmLFxuICAgICAgKHZhbHVlID4+PiAxNikgJiAweGZmLFxuICAgICAgKHZhbHVlID4+PiAyNCkgJiAweGZmLFxuICAgIF0pKTtcbiAgICB0aGlzLmJ5dGVQb3MgKz0gNDtcbiAgfVxuXG4gIHdyaXRlVWludDgodmFsdWU6IFVpbnQ4KTogdm9pZCB7XG4gICAgdGhpcy5jaHVua3MucHVzaChCdWZmZXIuZnJvbShbdmFsdWUgJiAweGZmXSkpO1xuICAgIHRoaXMuYnl0ZVBvcysrO1xuICB9XG5cbiAgd3JpdGVVaW50MTZCRSh2YWx1ZTogVWludDE2KTogdm9pZCB7XG4gICAgdGhpcy5jaHVua3MucHVzaChCdWZmZXIuZnJvbShbXG4gICAgICAodmFsdWUgPj4+IDgpICYgMHhmZixcbiAgICAgICh2YWx1ZSA+Pj4gMCkgJiAweGZmLFxuICAgIF0pKTtcbiAgICB0aGlzLmJ5dGVQb3MgKz0gMjtcbiAgfVxuXG4gIHdyaXRlVWludDE2TEUodmFsdWU6IFVpbnQxNik6IHZvaWQge1xuICAgIHRoaXMuY2h1bmtzLnB1c2goQnVmZmVyLmZyb20oW1xuICAgICAgKHZhbHVlID4+PiAwKSAmIDB4ZmYsXG4gICAgICAodmFsdWUgPj4+IDgpICYgMHhmZixcbiAgICBdKSk7XG4gICAgdGhpcy5ieXRlUG9zICs9IDI7XG4gIH1cblxuICB3cml0ZVVpbnQzMkJFKHZhbHVlOiBVaW50MzIpOiB2b2lkIHtcbiAgICB0aGlzLmNodW5rcy5wdXNoKEJ1ZmZlci5mcm9tKFtcbiAgICAgICh2YWx1ZSA+Pj4gMjQpICYgMHhmZixcbiAgICAgICh2YWx1ZSA+Pj4gMTYpICYgMHhmZixcbiAgICAgICh2YWx1ZSA+Pj4gOCkgJiAweGZmLFxuICAgICAgKHZhbHVlID4+PiAwKSAmIDB4ZmYsXG4gICAgXSkpO1xuICAgIHRoaXMuYnl0ZVBvcyArPSA0O1xuICB9XG5cbiAgd3JpdGVVaW50MzJMRSh2YWx1ZTogVWludDMyKTogdm9pZCB7XG4gICAgdGhpcy53cml0ZVNpbnQzMkxFKHZhbHVlIHwgMCk7XG4gIH1cblxuICB3cml0ZUZsb2F0MTZCRSh2YWx1ZTogRmxvYXQxNik6IHZvaWQge1xuICAgIHRoaXMud3JpdGVVaW50MTZCRShyZWludGVycHJldEZsb2F0MTZBc1VpbnQxNih2YWx1ZSkpO1xuICB9XG5cbiAgd3JpdGVGbG9hdDE2TEUodmFsdWU6IEZsb2F0MTYpOiB2b2lkIHtcbiAgICB0aGlzLndyaXRlVWludDE2TEUocmVpbnRlcnByZXRGbG9hdDE2QXNVaW50MTYodmFsdWUpKTtcbiAgfVxuXG4gIHdyaXRlRmxvYXQzMkJFKHZhbHVlOiBGbG9hdDMyKTogdm9pZCB7XG4gICAgVE1QX0RBVEFfVklFVy5zZXRGbG9hdDMyKDAsIHZhbHVlLCBmYWxzZSk7XG4gICAgdGhpcy5jaHVua3MucHVzaChuZXcgVWludDhBcnJheShUTVBfQlVGRkVSLnNsaWNlKDAsIDQpKSk7XG4gICAgdGhpcy5ieXRlUG9zICs9IDQ7XG4gIH1cblxuICB3cml0ZUZsb2F0MzJMRSh2YWx1ZTogRmxvYXQzMik6IHZvaWQge1xuICAgIFRNUF9EQVRBX1ZJRVcuc2V0RmxvYXQzMigwLCB2YWx1ZSwgdHJ1ZSk7XG4gICAgdGhpcy5jaHVua3MucHVzaChuZXcgVWludDhBcnJheShUTVBfQlVGRkVSLnNsaWNlKDAsIDQpKSk7XG4gICAgdGhpcy5ieXRlUG9zICs9IDQ7XG4gIH1cblxuICB3cml0ZUZsb2F0NjRCRSh2YWx1ZTogRmxvYXQ2NCk6IHZvaWQge1xuICAgIFRNUF9EQVRBX1ZJRVcuc2V0RmxvYXQ2NCgwLCB2YWx1ZSwgZmFsc2UpO1xuICAgIHRoaXMuY2h1bmtzLnB1c2gobmV3IFVpbnQ4QXJyYXkoVE1QX0JVRkZFUi5zbGljZSgwLCA4KSkpO1xuICAgIHRoaXMuYnl0ZVBvcyArPSA4O1xuICB9XG5cbiAgd3JpdGVGbG9hdDY0TEUodmFsdWU6IEZsb2F0NjQpOiB2b2lkIHtcbiAgICBUTVBfREFUQV9WSUVXLnNldEZsb2F0NjQoMCwgdmFsdWUsIHRydWUpO1xuICAgIHRoaXMuY2h1bmtzLnB1c2gobmV3IFVpbnQ4QXJyYXkoVE1QX0JVRkZFUi5zbGljZSgwLCA4KSkpO1xuICAgIHRoaXMuYnl0ZVBvcyArPSA4O1xuICB9XG5cbiAgd3JpdGVCb29sQml0cyh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLndyaXRlVWludEJpdHMoMSwgdmFsdWUgPyAxIDogMCk7XG4gIH1cblxuICB3cml0ZVNpbnQxNkJpdHMobjogbnVtYmVyLCB2YWx1ZTogU2ludDE2KTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMud3JpdGVTaW50Qml0cyhuLCB2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogU0Jbbl1cbiAgICovXG4gIHdyaXRlU2ludDMyQml0cyhuOiBVaW50U2l6ZSwgdmFsdWU6IFNpbnQzMik6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLndyaXRlU2ludEJpdHMobiwgdmFsdWUpO1xuICB9XG5cbiAgd3JpdGVVaW50MTZCaXRzKG46IFVpbnRTaXplLCB2YWx1ZTogVWludDE2KTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMud3JpdGVVaW50Qml0cyhuLCB2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogVUJbbl1cbiAgICovXG4gIHdyaXRlVWludDMyQml0cyhuOiBVaW50U2l6ZSwgdmFsdWU6IFVpbnQzMik6IHZvaWQge1xuICAgIHRoaXMud3JpdGVVaW50Qml0cyhuLCB2YWx1ZSk7XG4gIH1cblxuICB3cml0ZVVpbnQzMkxlYjEyOCh2YWx1ZTogVWludDMyKTogdm9pZCB7XG4gICAgY29uc3QgY2h1bms6IFVpbnQ4W10gPSBbXTtcbiAgICBkbyB7XG4gICAgICBsZXQgbmV4dEJ5dGU6IFVpbnQ4ID0gdmFsdWUgJiAweDdmO1xuICAgICAgdmFsdWUgPSB2YWx1ZSA+PiA3O1xuICAgICAgaWYgKHZhbHVlICE9PSAwKSB7XG4gICAgICAgIG5leHRCeXRlIHw9IDB4ODA7XG4gICAgICB9XG4gICAgICBjaHVuay5wdXNoKG5leHRCeXRlKTtcbiAgICB9IHdoaWxlICh2YWx1ZSAhPT0gMCk7XG4gICAgdGhpcy5jaHVua3MucHVzaChuZXcgVWludDhBcnJheShjaHVuaykpO1xuICAgIHRoaXMuYnl0ZVBvcyArPSBjaHVuay5sZW5ndGg7XG4gIH1cblxuICB3cml0ZVN0cmluZyh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy53cml0ZUJ5dGVzKEJ1ZmZlci5mcm9tKHZhbHVlLCBcInV0ZjhcIikpO1xuICB9XG5cbiAgd3JpdGVDU3RyaW5nKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLndyaXRlQnl0ZXMoQnVmZmVyLmZyb20odmFsdWUsIFwidXRmOFwiKSk7XG4gICAgdGhpcy53cml0ZVVpbnQ4KDApO1xuICB9XG5cbiAgZ2V0Qnl0ZXMoKTogVWludDhBcnJheSB7XG4gICAgY29uc3QgYnl0ZXM6IFVpbnQ4QXJyYXkgPSBjb25jYXRCeXRlcyh0aGlzLmNodW5rcyk7XG4gICAgdGhpcy5jaHVua3MgPSBbYnl0ZXNdO1xuICAgIHJldHVybiBieXRlcztcbiAgfVxuXG4gIHByaXZhdGUgd3JpdGVVaW50Qml0cyhiaXRzOiBudW1iZXIsIHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoYml0cyA+IDMyKSB7XG4gICAgICAvLyBFdmVuIGlmIHdlIGNvdWxkIHJlYWQgdXAgdG8gNTMgYml0cywgd2UgcmVzdHJpY3QgaXQgdG8gMzIgYml0cyAod2hpY2ggaXMgYWxyZWFkeSB1bnNhZmVcbiAgICAgIC8vIGlmIHdlIGNvbnNpZGVyIHRoYXQgdGhlIG1heCBwb3NpdGl2ZSBudW1iZXIgc2FmZSByZWdhcmRpbmcgYml0IG9wZXJhdGlvbnMgaXMgMl4zMSAtIDEpXG4gICAgICB0aHJvdyBuZXcgSW5jaWRlbnQoXCJCaXRPdmVyZmxvd1wiLCBcIkNhbm5vdCByZWFkIGFib3ZlIDMyIGJpdHMgd2l0aG91dCBvdmVyZmxvd1wiKTtcbiAgICB9XG4gICAgd2hpbGUgKGJpdHMgPiAwKSB7XG4gICAgICBjb25zdCBhdmFpbGFibGVCaXRzOiBudW1iZXIgPSA4IC0gdGhpcy5iaXRQb3M7XG5cbiAgICAgIGNvbnN0IGNvbnN1bWVkQml0czogbnVtYmVyID0gTWF0aC5taW4oYXZhaWxhYmxlQml0cywgYml0cyk7XG4gICAgICBjb25zdCBjaHVuazogbnVtYmVyID0gKHZhbHVlID4+PiAoYml0cyAtIGNvbnN1bWVkQml0cykpICYgKCgxIDw8IGNvbnN1bWVkQml0cykgLSAxKTtcbiAgICAgIHRoaXMuYml0c0J1ZmZlciA9IHRoaXMuYml0c0J1ZmZlciB8IChjaHVuayA8PCAoYXZhaWxhYmxlQml0cyAtIGNvbnN1bWVkQml0cykpO1xuICAgICAgYml0cyAtPSBjb25zdW1lZEJpdHM7XG4gICAgICB0aGlzLmJpdFBvcyArPSBjb25zdW1lZEJpdHM7XG4gICAgICBpZiAodGhpcy5iaXRQb3MgPT09IDgpIHtcbiAgICAgICAgdGhpcy53cml0ZVVpbnQ4KHRoaXMuYml0c0J1ZmZlcik7XG4gICAgICAgIHRoaXMuYml0c0J1ZmZlciA9IDA7XG4gICAgICAgIHRoaXMuYml0UG9zID0gMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHdyaXRlU2ludEJpdHMoYml0czogbnVtYmVyLCB2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgdGhpcy53cml0ZVVpbnRCaXRzKGJpdHMsIDIgKiogYml0cyArIHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53cml0ZVVpbnRCaXRzKGJpdHMsIHZhbHVlKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBGbG9hdDE2OlxuICogMSBzaWduIGJpdCAoUylcbiAqIDUgZXhwb25lbnQgYml0cyAoRSlcbiAqIDEwIGZyYWN0aW9uIGJpdHMgKEYpXG4gKlxuICogRm9ybWF0OiBTRUVFRUVGRkZGRkZGRkZGXG4gKi9cbmZ1bmN0aW9uIHJlaW50ZXJwcmV0RmxvYXQxNkFzVWludDE2KHZhbHVlOiBGbG9hdDE2KTogVWludDE2IHtcbiAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgIHJldHVybiAweGZmZmY7XG4gIH1cbiAgY29uc3Qgc2lnbkJpdDogMCB8IDEgPSAodmFsdWUgPCAwIHx8IE9iamVjdC5pcyh2YWx1ZSwgLTApKSA/IDEgOiAwO1xuICB2YWx1ZSA9IE1hdGguYWJzKHZhbHVlKTtcbiAgaWYgKHZhbHVlIDwgTWF0aC5wb3coMiwgLTE0KSkge1xuICAgIGNvbnN0IGZyYWN0aW9uOiBVaW50MTYgPSBNYXRoLmZsb29yKHZhbHVlIC8gTWF0aC5wb3coMiwgLTI0KSk7XG4gICAgcmV0dXJuIChzaWduQml0IDw8IDE1KSB8IChmcmFjdGlvbiAmIDB4MDNmZik7XG4gIH1cbiAgY29uc3QgTUFYX0VYUE9ORU5UOiBudW1iZXIgPSAweDFmO1xuICBsZXQgZXhwb25lbnQ6IG51bWJlciA9IDE7XG4gIHdoaWxlIChleHBvbmVudCA8IE1BWF9FWFBPTkVOVCAmJiB2YWx1ZSA+PSBNYXRoLnBvdygyLCBleHBvbmVudCAtIDE0KSkge1xuICAgIGV4cG9uZW50Kys7XG4gIH1cbiAgaWYgKGV4cG9uZW50ID09PSBNQVhfRVhQT05FTlQpIHtcbiAgICByZXR1cm4gKHNpZ25CaXQgPDwgMTUpIHwgKE1BWF9FWFBPTkVOVCA8PCAxMCk7IC8vIEluZmluaXR5XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZnJhY3Rpb246IG51bWJlciA9IE1hdGguZmxvb3IoKHZhbHVlIC0gTWF0aC5wb3coMiwgZXhwb25lbnQgLSAxNSkpIC8gTWF0aC5wb3coMiwgZXhwb25lbnQgLSAyNSkpO1xuICAgIHJldHVybiAoc2lnbkJpdCA8PCAxNSkgfCAoZXhwb25lbnQgPDwgMTApIHwgKGZyYWN0aW9uICYgMHgwM2ZmKTtcbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,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S0FBSyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFFBQVEsR0FBRyxFQUFFLENBQUMsRUFBRTtRQUNyRSxRQUFRLEVBQUUsQ0FBQztLQUNaO0lBQ0QsSUFBSSxRQUFRLEtBQUssWUFBWSxFQUFFO1FBQzdCLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXO0tBQzNEO1NBQU07UUFDTCxNQUFNLFFBQVEsR0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZHLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLENBQUM7S0FDakU7QUFDSCxDQUFDIiwiZmlsZSI6IndyaXRhYmxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5jaWRlbnQgfSBmcm9tIFwiaW5jaWRlbnRcIjtcbmltcG9ydCB7IEZsb2F0MTYsIEZsb2F0MzIsIEZsb2F0NjQsIFNpbnQxNiwgU2ludDMyLCBTaW50OCwgVWludDE2LCBVaW50MzIsIFVpbnQ4LCBVaW50U2l6ZSB9IGZyb20gXCJzZW1hbnRpYy10eXBlc1wiO1xuaW1wb3J0IHsgY29uY2F0Qnl0ZXMgfSBmcm9tIFwiLi9jb25jYXQtYnl0ZXNcIjtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbm9uLWJ5dGUtYWxpZ25lZCBzdHJlYW1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXcml0YWJsZUJpdFN0cmVhbSB7XG4gIGJ5dGVQb3M6IFVpbnRTaXplO1xuICBiaXRQb3M6IFVpbnRTaXplO1xuXG4gIGFsaWduKCk6IHZvaWQ7XG5cbiAgYXNCeXRlU3RyZWFtKCk6IFdyaXRhYmxlQnl0ZVN0cmVhbTtcblxuICB3cml0ZVplcm9zQml0cyhuOiBVaW50U2l6ZSk6IHZvaWQ7XG5cbiAgd3JpdGVCb29sQml0cyh2YWx1ZTogYm9vbGVhbik6IHZvaWQ7XG5cbiAgd3JpdGVTaW50MTZCaXRzKG46IFVpbnRTaXplLCB2YWx1ZTogU2ludDE2KTogdm9pZDtcblxuICB3cml0ZVNpbnQzMkJpdHMobjogVWludFNpemUsIHZhbHVlOiBTaW50MzIpOiB2b2lkO1xuXG4gIHdyaXRlVWludDE2Qml0cyhuOiBVaW50U2l6ZSwgdmFsdWU6IFVpbnQxNik6IHZvaWQ7XG5cbiAgd3JpdGVVaW50MzJCaXRzKG46IFVpbnRTaXplLCB2YWx1ZTogVWludDMyKTogdm9pZDtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgYnl0ZS1hbGlnbmVkIHN0cmVhbVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdyaXRhYmxlQnl0ZVN0cmVhbSB7XG4gIGJ5dGVQb3M6IFVpbnRTaXplO1xuXG4gIHdyaXRlWmVyb3Moc2l6ZTogVWludFNpemUpOiB2b2lkO1xuXG4gIGFzQml0U3RyZWFtKCk6IFdyaXRhYmxlQml0U3RyZWFtO1xuXG4gIHdyaXRlKHZhbHVlOiBXcml0YWJsZUJ5dGVTdHJlYW0pOiB2b2lkO1xuXG4gIHdyaXRlQnl0ZXModmFsdWU6IFVpbnQ4QXJyYXkpOiB2b2lkO1xuXG4gIHdyaXRlU3RyaW5nKHZhbHVlOiBzdHJpbmcpOiB2b2lkO1xuXG4gIHdyaXRlQ1N0cmluZyh2YWx1ZTogc3RyaW5nKTogdm9pZDtcblxuICB3cml0ZVVpbnQ4KHZhbHVlOiBVaW50OCk6IHZvaWQ7XG5cbiAgd3JpdGVVaW50MTZCRSh2YWx1ZTogVWludDE2KTogdm9pZDtcblxuICB3cml0ZVVpbnQxNkxFKHZhbHVlOiBVaW50MTYpOiB2b2lkO1xuXG4gIHdyaXRlVWludDMyQkUodmFsdWU6IFVpbnQzMik6IHZvaWQ7XG5cbiAgd3JpdGVVaW50MzJMRSh2YWx1ZTogVWludDMyKTogdm9pZDtcblxuICB3cml0ZVVpbnQzMkxlYjEyOCh2YWx1ZTogVWludDMyKTogdm9pZDtcblxuICB3cml0ZVNpbnQ4KHZhbHVlOiBTaW50OCk6IHZvaWQ7XG5cbiAgd3JpdGVTaW50MTZMRSh2YWx1ZTogU2ludDE2KTogdm9pZDtcblxuICB3cml0ZVNpbnQzMkxFKHZhbHVlOiBTaW50MzIpOiB2b2lkO1xuXG4gIHdyaXRlRmxvYXQxNkJFKHZhbHVlOiBGbG9hdDE2KTogdm9pZDtcblxuICB3cml0ZUZsb2F0MTZMRSh2YWx1ZTogRmxvYXQxNik6IHZvaWQ7XG5cbiAgd3JpdGVGbG9hdDMyQkUodmFsdWU6IEZsb2F0MzIpOiB2b2lkO1xuXG4gIHdyaXRlRmxvYXQzMkxFKHZhbHVlOiBGbG9hdDMyKTogdm9pZDtcblxuICB3cml0ZUZsb2F0NjRCRSh2YWx1ZTogRmxvYXQ2NCk6IHZvaWQ7XG5cbiAgd3JpdGVGbG9hdDY0TEUodmFsdWU6IEZsb2F0NjQpOiB2b2lkO1xuXG4gIGdldEJ5dGVzKCk6IFVpbnQ4QXJyYXk7XG59XG5cbmNvbnN0IFRNUF9CVUZGRVI6IEFycmF5QnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKDgpO1xuY29uc3QgVE1QX0RBVEFfVklFVzogRGF0YVZpZXcgPSBuZXcgRGF0YVZpZXcoVE1QX0JVRkZFUik7XG5cbmV4cG9ydCBjbGFzcyBXcml0YWJsZVN0cmVhbSBpbXBsZW1lbnRzIFdyaXRhYmxlQml0U3RyZWFtLCBXcml0YWJsZUJ5dGVTdHJlYW0ge1xuICBieXRlUG9zOiBVaW50U2l6ZTtcbiAgYml0UG9zOiBVaW50U2l6ZTtcblxuICBwcml2YXRlIGNodW5rczogVWludDhBcnJheVtdO1xuICBwcml2YXRlIGJpdHNCdWZmZXI6IFVpbnQ4O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYnl0ZVBvcyA9IDA7XG4gICAgdGhpcy5iaXRQb3MgPSAwO1xuICAgIHRoaXMuYml0c0J1ZmZlciA9IDA7XG4gICAgdGhpcy5jaHVua3MgPSBbXTtcbiAgfVxuXG4gIGFzQml0U3RyZWFtKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgYXNCeXRlU3RyZWFtKCk6IHRoaXMge1xuICAgIHRoaXMuYWxpZ24oKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGFsaWduKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmJpdFBvcyAhPT0gMCkge1xuICAgICAgdGhpcy53cml0ZVVpbnQ4KHRoaXMuYml0c0J1ZmZlcik7IC8vIEluY3JlbWVudHMgYHRoaXMuYnl0ZVBvc2BcbiAgICAgIHRoaXMuYml0UG9zID0gMDtcbiAgICAgIHRoaXMuYml0c0J1ZmZlciA9IDA7XG4gICAgfVxuICB9XG5cbiAgd3JpdGUodmFsdWU6IFdyaXRhYmxlQnl0ZVN0cmVhbSk6IHZvaWQge1xuICAgIHRoaXMud3JpdGVCeXRlcyh2YWx1ZS5nZXRCeXRlcygpKTtcbiAgfVxuXG4gIHdyaXRlQnl0ZXModmFsdWU6IFVpbnQ4QXJyYXkpOiB2b2lkIHtcbiAgICB0aGlzLmNodW5rcy5wdXNoKHZhbHVlKTtcbiAgICB0aGlzLmJ5dGVQb3MgKz0gdmFsdWUubGVuZ3RoO1xuICB9XG5cbiAgd3JpdGVaZXJvcyhzaXplOiBVaW50U2l6ZSk6IHZvaWQge1xuICAgIHRoaXMuY2h1bmtzLnB1c2gobmV3IFVpbnQ4QXJyYXkoc2l6ZSkpO1xuICAgIHRoaXMuYnl0ZVBvcyArPSBzaXplO1xuICB9XG5cbiAgd3JpdGVaZXJvc0JpdHMoc2l6ZTogVWludFNpemUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5iaXRQb3MgKyBzaXplIDwgOCkge1xuICAgICAgdGhpcy5iaXRQb3MgKz0gc2l6ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLndyaXRlVWludDgodGhpcy5iaXRzQnVmZmVyKTtcbiAgICB0aGlzLmJpdHNCdWZmZXIgPSAwO1xuICAgIHNpemUgLT0gOCAtIHRoaXMuYml0UG9zO1xuXG4gICAgY29uc3QgYml0UG9zOiBVaW50U2l6ZSA9IHNpemUgJSA4O1xuICAgIHRoaXMud3JpdGVaZXJvcygoc2l6ZSAtIGJpdFBvcykgLyA4KTtcbiAgICB0aGlzLmJpdFBvcyA9IGJpdFBvcztcbiAgfVxuXG4gIHdyaXRlU2ludDgodmFsdWU6IFNpbnQ4KTogdm9pZCB7XG4gICAgdGhpcy53cml0ZVVpbnQ4KHZhbHVlIDwgMCA/ICgxIDw8IDgpICsgdmFsdWUgOiB2YWx1ZSk7XG4gIH1cblxuICB3cml0ZVNpbnQxNkxFKHZhbHVlOiBTaW50MTYpOiB2b2lkIHtcbiAgICB0aGlzLndyaXRlVWludDE2TEUodmFsdWUgPCAwID8gKDEgPDwgMTYpICsgdmFsdWUgOiB2YWx1ZSk7XG4gIH1cblxuICB3cml0ZVNpbnQzMkxFKHZhbHVlOiBTaW50MzIpOiB2b2lkIHtcbiAgICB0aGlzLmNodW5rcy5wdXNoKEJ1ZmZlci5mcm9tKFtcbiAgICAgICh2YWx1ZSA+Pj4gMCkgJiAweGZmLFxuICAgICAgKHZhbHVlID4+PiA4KSAmIDB4ZmYsXG4gICAgICAodmFsdWUgPj4+IDE2KSAmIDB4ZmYsXG4gICAgICAodmFsdWUgPj4+IDI0KSAmIDB4ZmYsXG4gICAgXSkpO1xuICAgIHRoaXMuYnl0ZVBvcyArPSA0O1xuICB9XG5cbiAgd3JpdGVVaW50OCh2YWx1ZTogVWludDgpOiB2b2lkIHtcbiAgICB0aGlzLmNodW5rcy5wdXNoKEJ1ZmZlci5mcm9tKFt2YWx1ZSAmIDB4ZmZdKSk7XG4gICAgdGhpcy5ieXRlUG9zKys7XG4gIH1cblxuICB3cml0ZVVpbnQxNkJFKHZhbHVlOiBVaW50MTYpOiB2b2lkIHtcbiAgICB0aGlzLmNodW5rcy5wdXNoKEJ1ZmZlci5mcm9tKFtcbiAgICAgICh2YWx1ZSA+Pj4gOCkgJiAweGZmLFxuICAgICAgKHZhbHVlID4+PiAwKSAmIDB4ZmYsXG4gICAgXSkpO1xuICAgIHRoaXMuYnl0ZVBvcyArPSAyO1xuICB9XG5cbiAgd3JpdGVVaW50MTZMRSh2YWx1ZTogVWludDE2KTogdm9pZCB7XG4gICAgdGhpcy5jaHVua3MucHVzaChCdWZmZXIuZnJvbShbXG4gICAgICAodmFsdWUgPj4+IDApICYgMHhmZixcbiAgICAgICh2YWx1ZSA+Pj4gOCkgJiAweGZmLFxuICAgIF0pKTtcbiAgICB0aGlzLmJ5dGVQb3MgKz0gMjtcbiAgfVxuXG4gIHdyaXRlVWludDMyQkUodmFsdWU6IFVpbnQzMik6IHZvaWQge1xuICAgIHRoaXMuY2h1bmtzLnB1c2goQnVmZmVyLmZyb20oW1xuICAgICAgKHZhbHVlID4+PiAyNCkgJiAweGZmLFxuICAgICAgKHZhbHVlID4+PiAxNikgJiAweGZmLFxuICAgICAgKHZhbHVlID4+PiA4KSAmIDB4ZmYsXG4gICAgICAodmFsdWUgPj4+IDApICYgMHhmZixcbiAgICBdKSk7XG4gICAgdGhpcy5ieXRlUG9zICs9IDQ7XG4gIH1cblxuICB3cml0ZVVpbnQzMkxFKHZhbHVlOiBVaW50MzIpOiB2b2lkIHtcbiAgICB0aGlzLndyaXRlU2ludDMyTEUodmFsdWUgfCAwKTtcbiAgfVxuXG4gIHdyaXRlRmxvYXQxNkJFKHZhbHVlOiBGbG9hdDE2KTogdm9pZCB7XG4gICAgdGhpcy53cml0ZVVpbnQxNkJFKHJlaW50ZXJwcmV0RmxvYXQxNkFzVWludDE2KHZhbHVlKSk7XG4gIH1cblxuICB3cml0ZUZsb2F0MTZMRSh2YWx1ZTogRmxvYXQxNik6IHZvaWQge1xuICAgIHRoaXMud3JpdGVVaW50MTZMRShyZWludGVycHJldEZsb2F0MTZBc1VpbnQxNih2YWx1ZSkpO1xuICB9XG5cbiAgd3JpdGVGbG9hdDMyQkUodmFsdWU6IEZsb2F0MzIpOiB2b2lkIHtcbiAgICBUTVBfREFUQV9WSUVXLnNldEZsb2F0MzIoMCwgdmFsdWUsIGZhbHNlKTtcbiAgICB0aGlzLmNodW5rcy5wdXNoKG5ldyBVaW50OEFycmF5KFRNUF9CVUZGRVIuc2xpY2UoMCwgNCkpKTtcbiAgICB0aGlzLmJ5dGVQb3MgKz0gNDtcbiAgfVxuXG4gIHdyaXRlRmxvYXQzMkxFKHZhbHVlOiBGbG9hdDMyKTogdm9pZCB7XG4gICAgVE1QX0RBVEFfVklFVy5zZXRGbG9hdDMyKDAsIHZhbHVlLCB0cnVlKTtcbiAgICB0aGlzLmNodW5rcy5wdXNoKG5ldyBVaW50OEFycmF5KFRNUF9CVUZGRVIuc2xpY2UoMCwgNCkpKTtcbiAgICB0aGlzLmJ5dGVQb3MgKz0gNDtcbiAgfVxuXG4gIHdyaXRlRmxvYXQ2NEJFKHZhbHVlOiBGbG9hdDY0KTogdm9pZCB7XG4gICAgVE1QX0RBVEFfVklFVy5zZXRGbG9hdDY0KDAsIHZhbHVlLCBmYWxzZSk7XG4gICAgdGhpcy5jaHVua3MucHVzaChuZXcgVWludDhBcnJheShUTVBfQlVGRkVSLnNsaWNlKDAsIDgpKSk7XG4gICAgdGhpcy5ieXRlUG9zICs9IDg7XG4gIH1cblxuICB3cml0ZUZsb2F0NjRMRSh2YWx1ZTogRmxvYXQ2NCk6IHZvaWQge1xuICAgIFRNUF9EQVRBX1ZJRVcuc2V0RmxvYXQ2NCgwLCB2YWx1ZSwgdHJ1ZSk7XG4gICAgdGhpcy5jaHVua3MucHVzaChuZXcgVWludDhBcnJheShUTVBfQlVGRkVSLnNsaWNlKDAsIDgpKSk7XG4gICAgdGhpcy5ieXRlUG9zICs9IDg7XG4gIH1cblxuICB3cml0ZUJvb2xCaXRzKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMud3JpdGVVaW50Qml0cygxLCB2YWx1ZSA/IDEgOiAwKTtcbiAgfVxuXG4gIHdyaXRlU2ludDE2Qml0cyhuOiBudW1iZXIsIHZhbHVlOiBTaW50MTYpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy53cml0ZVNpbnRCaXRzKG4sIHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTQltuXVxuICAgKi9cbiAgd3JpdGVTaW50MzJCaXRzKG46IFVpbnRTaXplLCB2YWx1ZTogU2ludDMyKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMud3JpdGVTaW50Qml0cyhuLCB2YWx1ZSk7XG4gIH1cblxuICB3cml0ZVVpbnQxNkJpdHMobjogVWludFNpemUsIHZhbHVlOiBVaW50MTYpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy53cml0ZVVpbnRCaXRzKG4sIHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVQltuXVxuICAgKi9cbiAgd3JpdGVVaW50MzJCaXRzKG46IFVpbnRTaXplLCB2YWx1ZTogVWludDMyKTogdm9pZCB7XG4gICAgdGhpcy53cml0ZVVpbnRCaXRzKG4sIHZhbHVlKTtcbiAgfVxuXG4gIHdyaXRlVWludDMyTGViMTI4KHZhbHVlOiBVaW50MzIpOiB2b2lkIHtcbiAgICBjb25zdCBjaHVuazogVWludDhbXSA9IFtdO1xuICAgIHdoaWxlICh2YWx1ZSAhPT0gMCB8fCBjaHVuay5sZW5ndGggPT09IDApIHtcbiAgICAgIGxldCBuZXh0Qnl0ZTogVWludDggPSB2YWx1ZSAlIDB4ODA7IC8vIHZhbHVlICYgMHg3ZlxuICAgICAgdmFsdWUgPSAodmFsdWUgLSBuZXh0Qnl0ZSkgLyAweDgwOyAvLyB2YWx1ZSA+PiA3XG4gICAgICBpZiAodmFsdWUgIT09IDApIHtcbiAgICAgICAgbmV4dEJ5dGUgfD0gMHg4MDtcbiAgICAgIH1cbiAgICAgIGNodW5rLnB1c2gobmV4dEJ5dGUpO1xuICAgIH1cbiAgICB0aGlzLmNodW5rcy5wdXNoKG5ldyBVaW50OEFycmF5KGNodW5rKSk7XG4gICAgdGhpcy5ieXRlUG9zICs9IGNodW5rLmxlbmd0aDtcbiAgfVxuXG4gIHdyaXRlU3RyaW5nKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLndyaXRlQnl0ZXMoQnVmZmVyLmZyb20odmFsdWUsIFwidXRmOFwiKSk7XG4gIH1cblxuICB3cml0ZUNTdHJpbmcodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMud3JpdGVCeXRlcyhCdWZmZXIuZnJvbSh2YWx1ZSwgXCJ1dGY4XCIpKTtcbiAgICB0aGlzLndyaXRlVWludDgoMCk7XG4gIH1cblxuICBnZXRCeXRlcygpOiBVaW50OEFycmF5IHtcbiAgICBjb25zdCBieXRlczogVWludDhBcnJheSA9IGNvbmNhdEJ5dGVzKHRoaXMuY2h1bmtzKTtcbiAgICB0aGlzLmNodW5rcyA9IFtieXRlc107XG4gICAgcmV0dXJuIGJ5dGVzO1xuICB9XG5cbiAgcHJpdmF0ZSB3cml0ZVVpbnRCaXRzKGJpdHM6IG51bWJlciwgdmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChiaXRzID4gMzIpIHtcbiAgICAgIC8vIEV2ZW4gaWYgd2UgY291bGQgcmVhZCB1cCB0byA1MyBiaXRzLCB3ZSByZXN0cmljdCBpdCB0byAzMiBiaXRzICh3aGljaCBpcyBhbHJlYWR5IHVuc2FmZVxuICAgICAgLy8gaWYgd2UgY29uc2lkZXIgdGhhdCB0aGUgbWF4IHBvc2l0aXZlIG51bWJlciBzYWZlIHJlZ2FyZGluZyBiaXQgb3BlcmF0aW9ucyBpcyAyXjMxIC0gMSlcbiAgICAgIHRocm93IG5ldyBJbmNpZGVudChcIkJpdE92ZXJmbG93XCIsIFwiQ2Fubm90IHJlYWQgYWJvdmUgMzIgYml0cyB3aXRob3V0IG92ZXJmbG93XCIpO1xuICAgIH1cbiAgICB3aGlsZSAoYml0cyA+IDApIHtcbiAgICAgIGNvbnN0IGF2YWlsYWJsZUJpdHM6IG51bWJlciA9IDggLSB0aGlzLmJpdFBvcztcblxuICAgICAgY29uc3QgY29uc3VtZWRCaXRzOiBudW1iZXIgPSBNYXRoLm1pbihhdmFpbGFibGVCaXRzLCBiaXRzKTtcbiAgICAgIGNvbnN0IGNodW5rOiBudW1iZXIgPSAodmFsdWUgPj4+IChiaXRzIC0gY29uc3VtZWRCaXRzKSkgJiAoKDEgPDwgY29uc3VtZWRCaXRzKSAtIDEpO1xuICAgICAgdGhpcy5iaXRzQnVmZmVyID0gdGhpcy5iaXRzQnVmZmVyIHwgKGNodW5rIDw8IChhdmFpbGFibGVCaXRzIC0gY29uc3VtZWRCaXRzKSk7XG4gICAgICBiaXRzIC09IGNvbnN1bWVkQml0cztcbiAgICAgIHRoaXMuYml0UG9zICs9IGNvbnN1bWVkQml0cztcbiAgICAgIGlmICh0aGlzLmJpdFBvcyA9PT0gOCkge1xuICAgICAgICB0aGlzLndyaXRlVWludDgodGhpcy5iaXRzQnVmZmVyKTtcbiAgICAgICAgdGhpcy5iaXRzQnVmZmVyID0gMDtcbiAgICAgICAgdGhpcy5iaXRQb3MgPSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgd3JpdGVTaW50Qml0cyhiaXRzOiBudW1iZXIsIHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUgPCAwKSB7XG4gICAgICB0aGlzLndyaXRlVWludEJpdHMoYml0cywgMiAqKiBiaXRzICsgdmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndyaXRlVWludEJpdHMoYml0cywgdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEZsb2F0MTY6XG4gKiAxIHNpZ24gYml0IChTKVxuICogNSBleHBvbmVudCBiaXRzIChFKVxuICogMTAgZnJhY3Rpb24gYml0cyAoRilcbiAqXG4gKiBGb3JtYXQ6IFNFRUVFRUZGRkZGRkZGRkZcbiAqL1xuZnVuY3Rpb24gcmVpbnRlcnByZXRGbG9hdDE2QXNVaW50MTYodmFsdWU6IEZsb2F0MTYpOiBVaW50MTYge1xuICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgcmV0dXJuIDB4ZmZmZjtcbiAgfVxuICBjb25zdCBzaWduQml0OiAwIHwgMSA9ICh2YWx1ZSA8IDAgfHwgT2JqZWN0LmlzKHZhbHVlLCAtMCkpID8gMSA6IDA7XG4gIHZhbHVlID0gTWF0aC5hYnModmFsdWUpO1xuICBpZiAodmFsdWUgPCBNYXRoLnBvdygyLCAtMTQpKSB7XG4gICAgY29uc3QgZnJhY3Rpb246IFVpbnQxNiA9IE1hdGguZmxvb3IodmFsdWUgLyBNYXRoLnBvdygyLCAtMjQpKTtcbiAgICByZXR1cm4gKHNpZ25CaXQgPDwgMTUpIHwgKGZyYWN0aW9uICYgMHgwM2ZmKTtcbiAgfVxuICBjb25zdCBNQVhfRVhQT05FTlQ6IG51bWJlciA9IDB4MWY7XG4gIGxldCBleHBvbmVudDogbnVtYmVyID0gMTtcbiAgd2hpbGUgKGV4cG9uZW50IDwgTUFYX0VYUE9ORU5UICYmIHZhbHVlID49IE1hdGgucG93KDIsIGV4cG9uZW50IC0gMTQpKSB7XG4gICAgZXhwb25lbnQrKztcbiAgfVxuICBpZiAoZXhwb25lbnQgPT09IE1BWF9FWFBPTkVOVCkge1xuICAgIHJldHVybiAoc2lnbkJpdCA8PCAxNSkgfCAoTUFYX0VYUE9ORU5UIDw8IDEwKTsgLy8gSW5maW5pdHlcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBmcmFjdGlvbjogbnVtYmVyID0gTWF0aC5mbG9vcigodmFsdWUgLSBNYXRoLnBvdygyLCBleHBvbmVudCAtIDE1KSkgLyBNYXRoLnBvdygyLCBleHBvbmVudCAtIDI1KSk7XG4gICAgcmV0dXJuIChzaWduQml0IDw8IDE1KSB8IChleHBvbmVudCA8PCAxMCkgfCAoZnJhY3Rpb24gJiAweDAzZmYpO1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9

Sorry, the diff of this file is not supported yet

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