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

appium-instruments

Package Overview
Dependencies
Maintainers
6
Versions
99
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

appium-instruments - npm Package Compare versions

Comparing version

to
3.0.0-beta9

2

build/lib/instruments.js

@@ -575,2 +575,2 @@ // Wrapper around Apple's Instruments app

// monitoring process termination
//# sourceMappingURL=data:application/json;base64,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YUFDbkMsQ0FBQyxDQUFDOzs7QUFHSCxnQ0FBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztBQUM1QyxnQkFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO0FBQ2Isa0JBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQzNCOzs2Q0FDSyxXQUFXOzs7Z0JBQ2IsYUFBYTs7Ozs7a0JBQ1QsSUFBSSxLQUFLLENBQUMsc0NBQXNDLEdBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLEFBQUMsR0FDaEYsV0FBVyxDQUFDOzs7Ozs7O0tBSWpCOzs7U0FyU0csV0FBVzs7Ozs7cUJBeVNGLFdBQVciLCJmaWxlIjoibGliL2luc3RydW1lbnRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gV3JhcHBlciBhcm91bmQgQXBwbGUncyBJbnN0cnVtZW50cyBhcHBcbid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHsgc3Bhd24gfSBmcm9tICd0ZWVuX3Byb2Nlc3MnO1xuaW1wb3J0IGxvZyBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdGhyb3VnaCB9IGZyb20gJ3Rocm91Z2gnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBta2RpcnAsIHJpbXJhZiwgZnMsIGNhbmNlbGxhYmxlRGVsYXkgfSBmcm9tICdhcHBpdW0tc3VwcG9ydCc7XG5pbXBvcnQgeGNvZGUgZnJvbSAnYXBwaXVtLXhjb2RlJztcbmltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcbmltcG9ydCB7IGdldFhjb2RlVHJhY2VUZW1wbGF0ZVBhdGgsIGtpbGxBbGxTaW11bGF0b3JzLCBraWxsQWxsSW5zdHJ1bWVudHMsXG4gIGdldEluc3RydW1lbnRzUGF0aCwgcGFyc2VMYXVuY2hUaW1lb3V0LCBnZXRJd2RQYXRoIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBvdXRwdXRTdHJlYW0sIGVycm9yU3RyZWFtLCB3ZWJTb2NrZXRBbGVydFN0cmVhbSwgZHVtcFN0cmVhbSB9IGZyb20gJy4vc3RyZWFtcyc7XG5pbXBvcnQgJ2NvbG9ycyc7XG5cbmNvbnN0IEVSUl9ORVZFUl9DSEVDS0VEX0lOID0gXCJJbnN0cnVtZW50cyBuZXZlciBjaGVja2VkIGluXCI7XG5jb25zdCBFUlJfQ1JBU0hFRF9PTl9TVEFSVFVQID0gXCJJbnN0cnVtZW50cyBjcmFzaGVkIG9uIHN0YXJ0dXBcIjtcblxuY2xhc3MgSW5zdHJ1bWVudHMge1xuICAvLyBzaW1wbGVyIGNvbnN0cnVjdG9yXG4gIHN0YXRpYyBhc3luYyBxdWlja0luc3RydW1lbnRzIChvcHRzKSB7XG4gICAgb3B0cyA9IF8uY2xvbmUob3B0cyk7XG4gICAgbGV0IHhjb2RlVHJhY2VUZW1wbGF0ZVBhdGggPSBhd2FpdCBnZXRYY29kZVRyYWNlVGVtcGxhdGVQYXRoKCk7XG4gICAgXy5kZWZhdWx0cyhvcHRzLCB7XG4gICAgICAgICAgbGF1bmNoVGltZW91dDogNjAwMDAsXG4gICAgICAgICAgdGVtcGxhdGU6IHhjb2RlVHJhY2VUZW1wbGF0ZVBhdGgsXG4gICAgICAgICAgd2l0aG91dERlbGF5OiB0cnVlLFxuICAgICAgICAgIHhjb2RlVmVyc2lvbjogJzguMScsXG4gICAgICAgICAgd2ViU29ja2V0OiBudWxsLFxuICAgICAgICAgIGZsYWtleVJldHJpZXM6IDJcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IEluc3RydW1lbnRzKG9wdHMpO1xuICB9XG5cbiAgY29uc3RydWN0b3IgKG9wdHMpIHtcbiAgICBvcHRzID0gXy5jbG9uZURlZXAob3B0cyk7XG4gICAgXy5kZWZhdWx0cyhvcHRzLCB7XG4gICAgICB0ZXJtVGltZW91dDogMzAwMCxcbiAgICAgIHRtcERpcjogJy90bXAvYXBwaXVtLWluc3RydW1lbnRzJyxcbiAgICAgIGxhdW5jaFRpbWVvdXQ6IDkwMDAwLFxuICAgICAgZmxha2V5UmV0cmllczogMFxuICAgIH0pO1xuXG4gICAgLy8gY29uZmlnXG4gICAgZm9yIChsZXQgZiBvZiBbJ2FwcCcsICd0ZXJtVGltZW91dCcsICdmbGFrZXlSZXRyaWVzJywgJ3VkaWQnLCAnYm9vdHN0cmFwJywgJ3RlbXBsYXRlJywgJ3dpdGhvdXREZWxheScsXG4gICAgICAgICAgICAgICAgICAgJ3Byb2Nlc3NBcmd1bWVudHMnLCAnc2ltdWxhdG9yU2RrQW5kRGV2aWNlJywgJ3RtcERpcicsICd0cmFjZURpciddKSB7XG4gICAgICB0aGlzW2ZdID0gb3B0c1tmXTtcbiAgICB9XG4gICAgdGhpcy50cmFjZURpciA9IHRoaXMudHJhY2VEaXIgfHwgdGhpcy50bXBEaXI7XG4gICAgdGhpcy5sYXVuY2hUaW1lb3V0ID0gcGFyc2VMYXVuY2hUaW1lb3V0KG9wdHMubGF1bmNoVGltZW91dCk7XG5cbiAgICAvLyBzdGF0ZVxuICAgIHRoaXMucHJvYyA9IG51bGw7XG4gICAgdGhpcy53ZWJTb2NrZXQgPSBvcHRzLndlYlNvY2tldDtcbiAgICB0aGlzLmluc3RydW1lbnRzUGF0aCA9IG9wdHMuaW5zdHJ1bWVudHNQYXRoO1xuICAgIHRoaXMubGF1bmNoVHJpZXMgPSAwO1xuICAgIHRoaXMuc29ja2V0Q29ubmVjdERlbGF5cyA9IFtdO1xuICAgIHRoaXMuZ290RkJTT3BlbkFwcGxpY2F0aW9uRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLm9uU2h1dGRvd24gPSBuZXcgQigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLm9uU2h1dGRvd25EZWZlcnJlZCA9IHtyZXNvbHZlLCByZWplY3R9OyB9KTtcbiAgICAvLyBhdm9pZHMgVW5oYW5kbGVkRXhjZXB0aW9uXG4gICAgdGhpcy5vblNodXRkb3duLmNhdGNoKCgpID0+IHt9KS5kb25lKCk7XG4gIH1cblxuICBhc3luYyBjb25maWd1cmUoKSB7XG4gICAgaWYgKCF0aGlzLnhjb2RlVmVyc2lvbikge1xuICAgICAgdGhpcy54Y29kZVZlcnNpb24gPSBhd2FpdCB4Y29kZS5nZXRWZXJzaW9uKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnhjb2RlVmVyc2lvbi5zbGljZSgwLCAzKSA9PT0gJzYuMCcgJiYgdGhpcy53aXRob3V0RGVsYXkpIHtcbiAgICAgIGxvZy5pbmZvKFwiT24geGNvZGUgNi4wLCBpbnN0cnVtZW50cy13aXRob3V0LWRlbGF5IGRvZXMgXCIgK1xuICAgICAgICAgICAgICAgICAgXCJub3Qgd29yay4gSWYgdXNpbmcgYXBwaXVtLCB5b3UgY2FuIGRpc2FibGUgaW5zdHJ1bWVudHMtd2l0aG91dC1kZWxheSBcIiArXG4gICAgICAgICAgICAgICAgICBcIndpdGggdGhlIC0tbmF0aXZlLWluc3RydW1lbnRzLWxpYiBzZXJ2ZXIgZmxhZ1wiKTtcbiAgICB9XG4gICAgaWYgKHRoaXMueGNvZGVWZXJzaW9uID09PSBcIjUuMC4xXCIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlhjb2RlIDUuMC4xIHNoaXBzIHdpdGggYSBicm9rZW4gdmVyc2lvbiBvZiBcIiArXG4gICAgICAgIFwiSW5zdHJ1bWVudHMuIHBsZWFzZSB1cGdyYWRlIHRvIDUuMC4yXCIpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy50ZW1wbGF0ZSkge1xuICAgICAgdGhpcy50ZW1wbGF0ZSA9IGF3YWl0IHhjb2RlLmdldEF1dG9tYXRpb25UcmFjZVRlbXBsYXRlUGF0aCgpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5pbnN0cnVtZW50c1BhdGgpIHtcbiAgICAgIHRoaXMuaW5zdHJ1bWVudHNQYXRoID0gYXdhaXQgZ2V0SW5zdHJ1bWVudHNQYXRoKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gcmVtb3ZlZCBsYXVuY2hBbmRLaWxsLCB3ZSBzaG91bGQgYmUgYWJsZSB0byBkbyB0aGF0IHVzaW5nIGxhdW5jaFxuICAvLyBvciBhdCBsZWFzdCBjYWxsaW5nIGxhdW5jaCB3aXRoIHNvbWUgcGFyYW1zLlxuXG4gIGFzeW5jIGxhdW5jaE9uY2UgKCkge1xuICAgIGxvZy5pbmZvKFwiTGF1bmNoaW5nIGluc3RydW1lbnRzXCIpO1xuICAgIC8vIHByZXBhcmUgdGVtcCBkaXJcbiAgICBhd2FpdCByaW1yYWYodGhpcy50bXBEaXIpO1xuICAgIGF3YWl0IG1rZGlycCh0aGlzLnRtcERpcik7XG4gICAgYXdhaXQgbWtkaXJwKHRoaXMudHJhY2VEaXIpO1xuXG4gICAgdGhpcy5leGl0TGlzdGVuZXIgPSBudWxsO1xuICAgIHRoaXMucHJvYyA9IGF3YWl0IHRoaXMuc3Bhd25JbnN0cnVtZW50cygpO1xuICAgIHRoaXMucHJvYy5vbignZXhpdCcsIChjb2RlKSA9PiB7XG4gICAgICBsb2cuZGVidWcoYEluc3RydW1lbnRzIGV4aXRlZCB3aXRoIGNvZGUgJHtjb2RlfWApO1xuICAgIH0pO1xuXG4gICAgbGV0IGxhdW5jaFJlc3VsdFByb21pc2UgPSBuZXcgQigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmxhdW5jaFJlc3VsdERlZmVycmVkID0ge3Jlc29sdmUsIHJlamVjdH07XG4gICAgfSk7XG5cbiAgICAvLyBUaGVyZSB3YXMgYSBzcGVjaWFsIGNhc2UgZm9yIGlnbm9yZVN0YXJ0dXBFeGl0XG4gICAgLy8gYnV0IGl0IGlzIG5vdCBuZWVkZWQgYW55bW9yZSwgeW91IG1heSBqdXN0IGxpc3RlbiBmb3IgZXhpdC5cbiAgICB0aGlzLnNldEV4aXRMaXN0ZW5lcigoKSA9PiB7XG4gICAgICB0aGlzLmxhdW5jaFJlc3VsdERlZmVycmVkLnJlamVjdChuZXcgRXJyb3IoRVJSX0NSQVNIRURfT05fU1RBUlRVUCkpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5wcm9jLm9uKFwiZXJyb3JcIiwgKGVycikgPT4ge1xuICAgICAgbG9nLmRlYnVnKFwiRXJyb3Igd2l0aCBpbnN0cnVtZW50cyBwcm9jOiBcIiArIGVyci5tZXNzYWdlKTtcbiAgICAgIGlmIChlcnIubWVzc2FnZS5pbmRleE9mKFwiRU5PRU5UXCIpICE9PSAtMSkge1xuICAgICAgICB0aGlzLnByb2MgPSBudWxsOyAvLyBvdGhlcndpc2Ugd2UnbGwgdHJ5IHRvIHNlbmQgc2lna2lsbFxuICAgICAgICBsb2cuZXJyb3IoXCJVbmFibGUgdG8gc3Bhd24gaW5zdHJ1bWVudHM6IFwiICsgZXJyLm1lc3NhZ2UpO1xuICAgICAgICB0aGlzLmxhdW5jaFJlc3VsdERlZmVycmVkLnJlamVjdChlcnIpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5wcm9jLnN0ZG91dC5zZXRFbmNvZGluZygndXRmOCcpO1xuICAgIHRoaXMucHJvYy5zdGRvdXQucGlwZShvdXRwdXRTdHJlYW0oKSkucGlwZShkdW1wU3RyZWFtKCkpO1xuXG4gICAgdGhpcy5wcm9jLnN0ZGVyci5zZXRFbmNvZGluZygndXRmOCcpO1xuICAgIGxldCBhY3RPblN0ZGVyciA9IChvdXRwdXQpID0+IHtcbiAgICAgIGlmICh0aGlzLmxhdW5jaFRpbWVvdXQuYWZ0ZXJTaW1MYXVuY2ggJiYgb3V0cHV0ICYmIG91dHB1dC5tYXRjaCgvQ0xUaWxlc01hbmFnZXJDbGllbnQ6IGluaXRpYWxpemUvKSkge1xuICAgICAgICB0aGlzLmFkZFNvY2tldENvbm5lY3RUaW1lcih0aGlzLmxhdW5jaFRpbWVvdXQuYWZ0ZXJTaW1MYXVuY2gsICdhZnRlckxhdW5jaCcsIGFzeW5jICgpID0+IHtcbiAgICAgICAgICBhd2FpdCBraWxsQWxsSW5zdHJ1bWVudHMoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGxldCBmYnNFcnJTdHIgPSBcIihGQlNPcGVuQXBwbGljYXRpb25FcnJvckRvbWFpbiBlcnJvciA4LilcIjtcbiAgICAgIGlmIChvdXRwdXQuaW5kZXhPZihmYnNFcnJTdHIpICE9PSAtMSkge1xuICAgICAgICB0aGlzLmdvdEZCU09wZW5BcHBsaWNhdGlvbkVycm9yID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMucHJvYy5zdGRlcnIucGlwZSh0aHJvdWdoKGZ1bmN0aW9uIChvdXRwdXQpIHtcbiAgICAgIGFjdE9uU3RkZXJyKG91dHB1dCk7XG4gICAgICB0aGlzLnF1ZXVlKG91dHB1dCk7XG4gICAgfSkpLnBpcGUoZXJyb3JTdHJlYW0oKSlcbiAgICAucGlwZSh3ZWJTb2NrZXRBbGVydFN0cmVhbSh0aGlzLndlYlNvY2tldCkpXG4gICAgLnBpcGUoZHVtcFN0cmVhbSgpKTtcblxuICAgIC8vIHN0YXJ0IHdhaXRpbmcgZm9yIGluc3RydW1lbnRzIHRvIGxhdW5jaCBzdWNjZXNzZnVsbHlcbiAgICB0aGlzLmFkZFNvY2tldENvbm5lY3RUaW1lcih0aGlzLmxhdW5jaFRpbWVvdXQuZ2xvYmFsLCAnZ2xvYmFsJywgYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQga2lsbEFsbEluc3RydW1lbnRzKCk7XG4gICAgfSk7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgbGF1bmNoUmVzdWx0UHJvbWlzZTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5jbGVhclNvY2tldENvbm5lY3RUaW1lcnMoKTtcbiAgICB9XG4gICAgdGhpcy5zZXRFeGl0TGlzdGVuZXIoKGNvZGUpID0+IHtcbiAgICAgIHRoaXMucHJvYyA9IG51bGw7XG4gICAgICB0aGlzLm9uU2h1dGRvd25EZWZlcnJlZC5yZWplY3QobmV3IEVycm9yKGBBYm5vcm1hbCBleGl0IHdpdGggY29kZTogJHtjb2RlfWApKTtcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGxhdW5jaCAoKSB7XG4gICAgYXdhaXQgdGhpcy5jb25maWd1cmUoKTtcbiAgICBsZXQgbGF1bmNoVHJpZXMgPSAwO1xuICAgIGRvIHtcbiAgICAgIGlmIChsYXVuY2hUcmllcyA+IDApIHtcbiAgICAgICAgbG9nLmRlYnVnKFwiQXR0ZW1wdGluZyB0byByZXRyeSBsYXVuY2hpbmcgaW5zdHJ1bWVudHMsIHRoaXMgaXMgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcInJldHJ5ICNcIiArIGxhdW5jaFRyaWVzKTtcbiAgICAgIH1cbiAgICAgIHRyeSB7XG4gICAgICAgIGxhdW5jaFRyaWVzICsrO1xuICAgICAgICBhd2FpdCB0aGlzLmxhdW5jaE9uY2UoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgbG9nLmRlYnVnKGVyci5tZXNzYWdlKTtcbiAgICAgICAgbGV0IGVycklzQ2F0Y2hhYmxlID0gZXJyLm1lc3NhZ2UgPT09IEVSUl9ORVZFUl9DSEVDS0VEX0lOIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVyci5tZXNzYWdlID09PSBFUlJfQ1JBU0hFRF9PTl9TVEFSVFVQO1xuICAgICAgICBpZihlcnJJc0NhdGNoYWJsZSkge1xuICAgICAgICAgIGlmKGxhdW5jaFRyaWVzIDwgKHRoaXMuZmxha2V5UmV0cmllcyArIDEpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5nb3RGQlNPcGVuQXBwbGljYXRpb25FcnJvcikge1xuICAgICAgICAgICAgICBsb2cuZGVidWcoXCJHb3QgdGhlIEZCU09wZW5BcHBsaWNhdGlvbkVycm9yLCBub3Qga2lsbGluZyB0aGUgXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzaW0gYnV0IGxlYXZpbmcgaXQgb3BlbiBzbyB0aGUgYXBwIHdpbGwgbGF1bmNoXCIpO1xuICAgICAgICAgICAgICB0aGlzLmdvdEZCU09wZW5BcHBsaWNhdGlvbkVycm9yID0gZmFsc2U7IC8vIGNsZWFyIG91dCBmb3IgbmV4dCBsYXVuY2hcbiAgICAgICAgICAgICAgYXdhaXQgQi5kZWxheSgxMDAwKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGtpbGxBbGxTaW11bGF0b3JzKCk7XG4gICAgICAgICAgICAgIGF3YWl0IEIuZGVsYXkoNTAwMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxvZy5kZWJ1ZyhcIldlIGV4Y2VlZGVkIHRoZSBudW1iZXIgb2YgcmV0cmllcyBhbGxvd2VkIGZvciBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgXCJpbnN0cnVtZW50cyB0byBzdWNjZXNzZnVsbHkgc3RhcnQ7IGZhaWxpbmcgbGF1bmNoXCIpO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IHdoaWxlICh0cnVlKTtcbiAgfVxuXG4gIHJlZ2lzdGVyTGF1bmNoICgpIHtcbiAgICB0aGlzLmxhdW5jaFJlc3VsdERlZmVycmVkLnJlc29sdmUoKTtcbiAgfVxuXG4gIGFzeW5jIHNwYXduSW5zdHJ1bWVudHMgKCkge1xuICAgIGxldCB0cmFjZURpcjtcbiAgICBmb3IgKHZhciBpID0gMDsgOyBpKyspIHtcbiAgICAgIC8vIGxvb3Agd2hpbGUgdGhlcmUgYXJlIHRyYWNlZGlycyB0byBkZWxldGVcbiAgICAgIHRyYWNlRGlyID0gcGF0aC5yZXNvbHZlKHRoaXMudHJhY2VEaXIsICdpbnN0cnVtZW50c2NsaScgKyBpICsgJy50cmFjZScpO1xuICAgICAgaWYgKCFhd2FpdCBmcy5leGlzdHModHJhY2VEaXIpKSBicmVhaztcbiAgICB9XG4gICAgbGV0IGFyZ3MgPSBbXCItdFwiLCB0aGlzLnRlbXBsYXRlLCBcIi1EXCIsIHRyYWNlRGlyXTtcbiAgICBpZiAodGhpcy51ZGlkKSB7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW1wiLXdcIiwgdGhpcy51ZGlkXSk7XG4gICAgICBsb2cuZGVidWcoXCJBdHRlbXB0aW5nIHRvIHJ1biBhcHAgb24gcmVhbCBkZXZpY2Ugd2l0aCBVRElEIFwiICsgdGhpcy51ZGlkKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnVkaWQgJiYgdGhpcy5zaW11bGF0b3JTZGtBbmREZXZpY2UpIHtcbiAgICAgIGFyZ3MgPSBhcmdzLmNvbmNhdChbXCItd1wiLCB0aGlzLnNpbXVsYXRvclNka0FuZERldmljZV0pO1xuICAgICAgbG9nLmRlYnVnKFwiQXR0ZW1wdGluZyB0byBydW4gYXBwIG9uIFwiICsgdGhpcy5zaW11bGF0b3JTZGtBbmREZXZpY2UpO1xuICAgIH1cbiAgICBhcmdzID0gYXJncy5jb25jYXQoW3RoaXMuYXBwXSk7XG4gICAgaWYgKHRoaXMucHJvY2Vzc0FyZ3VtZW50cykge1xuICAgICAgYXJncyA9IGFyZ3MuY29uY2F0KHRoaXMucHJvY2Vzc0FyZ3VtZW50cyk7XG4gICAgICBsb2cuZGVidWcoXCJBdHRlbXB0aW5nIHRvIHJ1biBhcHAgd2l0aCBwcm9jZXNzIGFyZ3VtZW50czogXCIgKyB0aGlzLnByb2Nlc3NBcmd1bWVudHMpO1xuICAgIH1cbiAgICBhcmdzID0gYXJncy5jb25jYXQoW1wiLWVcIiwgXCJVSUFTQ1JJUFRcIiwgdGhpcy5ib290c3RyYXBdKTtcbiAgICBhcmdzID0gYXJncy5jb25jYXQoW1wiLWVcIiwgXCJVSUFSRVNVTFRTUEFUSFwiLCB0aGlzLnRtcERpcl0pO1xuICAgIGxldCBlbnYgPSBfLmNsb25lKHByb2Nlc3MuZW52KTtcbiAgICBsZXQgaXdkUGF0aCA9IGF3YWl0IGdldEl3ZFBhdGgodGhpcy54Y29kZVZlcnNpb24pO1xuICAgIGVudi5DQV9ERUJVR19UUkFOU0FDVElPTlMgPSAxO1xuICAgIGlmICh0aGlzLndpdGhvdXREZWxheSAmJiAhdGhpcy51ZGlkKSB7XG4gICAgICBlbnYuRFlMRF9JTlNFUlRfTElCUkFSSUVTID0gcGF0aC5yZXNvbHZlKGl3ZFBhdGgsIFwiSW5zdHJ1bWVudHNTaGltLmR5bGliXCIpO1xuICAgICAgZW52LkxJQl9QQVRIID0gaXdkUGF0aDtcbiAgICB9XG4gICAgbGV0IGluc3RydW1lbnRzRXhlY0FyZ3MgPSBbdGhpcy5pbnN0cnVtZW50c1BhdGhdLmNvbmNhdChfLmNsb25lKGFyZ3MpKTtcbiAgICBpbnN0cnVtZW50c0V4ZWNBcmdzID0gXy5tYXAoaW5zdHJ1bWVudHNFeGVjQXJncywgZnVuY3Rpb24gKGFyZykge1xuICAgICAgaWYgKGFyZyA9PT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBIG51bGwgdmFsdWUgd2FzIHBhc3NlZCBhcyBhbiBhcmcgdG8gZXhlY3V0ZSBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgXCJpbnN0cnVtZW50cyBvbiB0aGUgY29tbWFuZCBsaW5lLiBBIGxldGlhYmxlIGlzIFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgICBcInByb2JhYmx5IG5vdCBnZXR0aW5nIHNldC4gQXJyYXkgb2YgY29tbWFuZCBhcmdzOiBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoaW5zdHJ1bWVudHNFeGVjQXJncykpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBhcmcgPT09ICdzdHJpbmcnICYmIGFyZy5pbmRleE9mKFwiIFwiKSAhPT0gLTEpIHtcbiAgICAgICAgcmV0dXJuICdcIicgKyBhcmcgKyAnXCInO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFyZztcbiAgICB9KTtcbiAgICBsb2cuZGVidWcoXCJTcGF3bmluZyBpbnN0cnVtZW50cyB3aXRoIGNvbW1hbmQ6IFwiICsgaW5zdHJ1bWVudHNFeGVjQXJncy5qb2luKFwiIFwiKSk7XG4gICAgbG9nLmRlYnVnKFwiQW5kIGV4dHJhIHdpdGhvdXQtZGVsYXkgZW52OiBcIiArIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIERZTERfSU5TRVJUX0xJQlJBUklFUzogZW52LkRZTERfSU5TRVJUX0xJQlJBUklFUyxcbiAgICAgIExJQl9QQVRIOiBlbnYuTElCX1BBVEhcbiAgICB9KSk7XG4gICAgbG9nLmRlYnVnKFwiQW5kIGxhdW5jaCB0aW1lb3V0cyAoaW4gbXMpOiBcIiArIEpTT04uc3RyaW5naWZ5KHRoaXMubGF1bmNoVGltZW91dCkpO1xuICAgIHJldHVybiBzcGF3bih0aGlzLmluc3RydW1lbnRzUGF0aCwgYXJncywge2VudjogZW52fSk7XG4gIH1cblxuICBhZGRTb2NrZXRDb25uZWN0VGltZXIoZGVsYXksIHR5cGUsIGRvQWN0aW9uKSB7XG4gICAgbGV0IHNvY2tldENvbm5lY3REZWxheSA9IGNhbmNlbGxhYmxlRGVsYXkoZGVsYXkpO1xuICAgIHNvY2tldENvbm5lY3REZWxheS50aGVuKCgpID0+IHtcbiAgICAgIGxvZy53YXJuKGBJbnN0cnVtZW50cyBzb2NrZXQgY2xpZW50IG5ldmVyIGNoZWNrZWQgaW47IHRpbWluZyBvdXQgKCR7dHlwZX0pYCk7XG4gICAgICB0aGlzLnNldEV4aXRMaXN0ZW5lcigoKSA9PiB7XG4gICAgICAgIHRoaXMubGF1bmNoUmVzdWx0RGVmZXJyZWQucmVqZWN0KG5ldyBFcnJvcihFUlJfTkVWRVJfQ0hFQ0tFRF9JTikpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gZG9BY3Rpb24oKTtcbiAgICB9KS5jYXRjaChCLkNhbmNlbGxhdGlvbkVycm9yLCAoKSA9PiB7fSkuZG9uZSgpO1xuICAgIHRoaXMuc29ja2V0Q29ubmVjdERlbGF5cy5wdXNoKHNvY2tldENvbm5lY3REZWxheSk7XG4gIH1cblxuICBjbGVhclNvY2tldENvbm5lY3RUaW1lcnMoKSB7XG4gICAgXyh0aGlzLnNvY2tldENvbm5lY3REZWxheXMpLmVhY2goZnVuY3Rpb24gKGQpIHtcbiAgICAgIGQuY2FuY2VsKCk7XG4gICAgfSwgdGhpcykudmFsdWUoKTtcbiAgICB0aGlzLnNvY2tldENvbm5lY3REZWxheXMgPSBbXTtcbiAgfVxuXG4gIHNldEV4aXRMaXN0ZW5lcihleGl0TGlzdGVuZXIpIHtcbiAgICBpZiAoIXRoaXMucHJvYykgcmV0dXJuO1xuICAgIGlmICh0aGlzLmV4aXRMaXN0ZW5lcikge1xuICAgICAgdGhpcy5wcm9jLnJlbW92ZUxpc3RlbmVyKCdleGl0JywgdGhpcy5leGl0TGlzdGVuZXIpO1xuICAgIH1cbiAgICB0aGlzLmV4aXRMaXN0ZW5lciA9IGV4aXRMaXN0ZW5lcjtcbiAgICB0aGlzLnByb2Mub24oJ2V4aXQnLCBleGl0TGlzdGVuZXIpO1xuICB9XG5cbiAgLyogUFJPQ0VTUyBNQU5BR0VNRU5UICovXG4gIGFzeW5jIHNodXRkb3duICgpIHtcbiAgICAvLyBtb25pdG9yaW5nIHByb2Nlc3MgdGVybWluYXRpb25cbiAgICBsZXQgdGVybURlbGF5ID0gY2FuY2VsbGFibGVEZWxheSh0aGlzLnRlcm1UaW1lb3V0KTtcbiAgICBsZXQgdGVybVByb21pc2UgPSB0ZXJtRGVsYXkuY2F0Y2goQi5DYW5jZWxsYXRpb25FcnJvciwgKCkgPT4ge1xuICAgIH0pO1xuXG4gICAgbGV0IHdhc1Rlcm1pbmF0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLnNldEV4aXRMaXN0ZW5lcigoKSA9PiB7XG4gICAgICB3YXNUZXJtaW5hdGVkID0gdHJ1ZTtcbiAgICAgIHRlcm1EZWxheS5jYW5jZWwoKTtcbiAgICAgIHRoaXMucHJvYyA9IG51bGw7XG4gICAgICB0aGlzLm9uU2h1dGRvd25EZWZlcnJlZC5yZXNvbHZlKCk7XG4gICAgfSk7XG5cbiAgICAvLyB0ZXJtaW5hdGluZyBwcm9jZXNzXG4gICAgbG9nLmRlYnVnKFwiU2VuZGluZyBzaWd0ZXJtIHRvIGluc3RydW1lbnRzXCIpO1xuICAgIGlmICh0aGlzLnByb2MpIHtcbiAgICAgIHRoaXMucHJvYy5raWxsKCdTSUdURVJNJyk7XG4gICAgfVxuICAgIGF3YWl0IHRlcm1Qcm9taXNlO1xuICAgIGlmKCF3YXNUZXJtaW5hdGVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnN0cnVtZW50cyBkaWQgbm90IHRlcm1pbmF0ZSBhZnRlciBcIiArICh0aGlzLnRlcm1UaW1lb3V0IC8gMTAwMCkgK1xuICAgICAgICBcIiBzZWNvbmRzIVwiKTtcbiAgICB9XG4gICAgLy8gcmVtb3ZlZCB0aGUga2lsbCBhbGwgaW5zdHJ1bWVudHMvZ2xvYmFsIHNodXRkb3duIGxvZ2ljLCBvdXQgb2Ygc2NvcGUuXG4gICAgLy8gaWYgc29tZW9uZSB3YW50IHRvIGtpbGwgYWxsIGluc3RydW1lbnRzLCBsZXQgaXQgZG8gaXQgc2VwYXJhdGVseVxuICB9XG5cbn1cblxuZXhwb3J0IGRlZmF1bHQgSW5zdHJ1bWVudHM7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,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Ozs7OztLQUlqQjs7O1NBclNHLFdBQVc7Ozs7O3FCQXlTRixXQUFXIiwiZmlsZSI6ImxpYi9pbnN0cnVtZW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFdyYXBwZXIgYXJvdW5kIEFwcGxlJ3MgSW5zdHJ1bWVudHMgYXBwXG4ndXNlIHN0cmljdCc7XG5cbmltcG9ydCB7IHNwYXduIH0gZnJvbSAndGVlbl9wcm9jZXNzJztcbmltcG9ydCBsb2cgZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IHRocm91Z2ggfSBmcm9tICd0aHJvdWdoJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgbWtkaXJwLCByaW1yYWYsIGZzLCBjYW5jZWxsYWJsZURlbGF5IH0gZnJvbSAnYXBwaXVtLXN1cHBvcnQnO1xuaW1wb3J0IHhjb2RlIGZyb20gJ2FwcGl1bS14Y29kZSc7XG5pbXBvcnQgQiBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQgeyBnZXRYY29kZVRyYWNlVGVtcGxhdGVQYXRoLCBraWxsQWxsU2ltdWxhdG9ycywga2lsbEFsbEluc3RydW1lbnRzLFxuICBnZXRJbnN0cnVtZW50c1BhdGgsIHBhcnNlTGF1bmNoVGltZW91dCwgZ2V0SXdkUGF0aCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgb3V0cHV0U3RyZWFtLCBlcnJvclN0cmVhbSwgd2ViU29ja2V0QWxlcnRTdHJlYW0sIGR1bXBTdHJlYW0gfSBmcm9tICcuL3N0cmVhbXMnO1xuaW1wb3J0ICdjb2xvcnMnO1xuXG5jb25zdCBFUlJfTkVWRVJfQ0hFQ0tFRF9JTiA9IFwiSW5zdHJ1bWVudHMgbmV2ZXIgY2hlY2tlZCBpblwiO1xuY29uc3QgRVJSX0NSQVNIRURfT05fU1RBUlRVUCA9IFwiSW5zdHJ1bWVudHMgY3Jhc2hlZCBvbiBzdGFydHVwXCI7XG5cbmNsYXNzIEluc3RydW1lbnRzIHtcbiAgLy8gc2ltcGxlciBjb25zdHJ1Y3RvclxuICBzdGF0aWMgYXN5bmMgcXVpY2tJbnN0cnVtZW50cyAob3B0cykge1xuICAgIG9wdHMgPSBfLmNsb25lKG9wdHMpO1xuICAgIGxldCB4Y29kZVRyYWNlVGVtcGxhdGVQYXRoID0gYXdhaXQgZ2V0WGNvZGVUcmFjZVRlbXBsYXRlUGF0aCgpO1xuICAgIF8uZGVmYXVsdHMob3B0cywge1xuICAgICAgICAgIGxhdW5jaFRpbWVvdXQ6IDYwMDAwLFxuICAgICAgICAgIHRlbXBsYXRlOiB4Y29kZVRyYWNlVGVtcGxhdGVQYXRoLFxuICAgICAgICAgIHdpdGhvdXREZWxheTogdHJ1ZSxcbiAgICAgICAgICB4Y29kZVZlcnNpb246ICc4LjEnLFxuICAgICAgICAgIHdlYlNvY2tldDogbnVsbCxcbiAgICAgICAgICBmbGFrZXlSZXRyaWVzOiAyXG4gICAgfSk7XG4gICAgcmV0dXJuIG5ldyBJbnN0cnVtZW50cyhvcHRzKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yIChvcHRzKSB7XG4gICAgb3B0cyA9IF8uY2xvbmVEZWVwKG9wdHMpO1xuICAgIF8uZGVmYXVsdHMob3B0cywge1xuICAgICAgdGVybVRpbWVvdXQ6IDMwMDAsXG4gICAgICB0bXBEaXI6ICcvdG1wL2FwcGl1bS1pbnN0cnVtZW50cycsXG4gICAgICBsYXVuY2hUaW1lb3V0OiA5MDAwMCxcbiAgICAgIGZsYWtleVJldHJpZXM6IDBcbiAgICB9KTtcblxuICAgIC8vIGNvbmZpZ1xuICAgIGZvciAobGV0IGYgb2YgWydhcHAnLCAndGVybVRpbWVvdXQnLCAnZmxha2V5UmV0cmllcycsICd1ZGlkJywgJ2Jvb3RzdHJhcCcsICd0ZW1wbGF0ZScsICd3aXRob3V0RGVsYXknLFxuICAgICAgICAgICAgICAgICAgICdwcm9jZXNzQXJndW1lbnRzJywgJ3NpbXVsYXRvclNka0FuZERldmljZScsICd0bXBEaXInLCAndHJhY2VEaXInXSkge1xuICAgICAgdGhpc1tmXSA9IG9wdHNbZl07XG4gICAgfVxuICAgIHRoaXMudHJhY2VEaXIgPSB0aGlzLnRyYWNlRGlyIHx8IHRoaXMudG1wRGlyO1xuICAgIHRoaXMubGF1bmNoVGltZW91dCA9IHBhcnNlTGF1bmNoVGltZW91dChvcHRzLmxhdW5jaFRpbWVvdXQpO1xuXG4gICAgLy8gc3RhdGVcbiAgICB0aGlzLnByb2MgPSBudWxsO1xuICAgIHRoaXMud2ViU29ja2V0ID0gb3B0cy53ZWJTb2NrZXQ7XG4gICAgdGhpcy5pbnN0cnVtZW50c1BhdGggPSBvcHRzLmluc3RydW1lbnRzUGF0aDtcbiAgICB0aGlzLmxhdW5jaFRyaWVzID0gMDtcbiAgICB0aGlzLnNvY2tldENvbm5lY3REZWxheXMgPSBbXTtcbiAgICB0aGlzLmdvdEZCU09wZW5BcHBsaWNhdGlvbkVycm9yID0gZmFsc2U7XG4gICAgdGhpcy5vblNodXRkb3duID0gbmV3IEIoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5vblNodXRkb3duRGVmZXJyZWQgPSB7cmVzb2x2ZSwgcmVqZWN0fTsgfSk7XG4gICAgLy8gYXZvaWRzIFVuaGFuZGxlZEV4Y2VwdGlvblxuICAgIHRoaXMub25TaHV0ZG93bi5jYXRjaCgoKSA9PiB7fSkuZG9uZSgpO1xuICB9XG5cbiAgYXN5bmMgY29uZmlndXJlKCkge1xuICAgIGlmICghdGhpcy54Y29kZVZlcnNpb24pIHtcbiAgICAgIHRoaXMueGNvZGVWZXJzaW9uID0gYXdhaXQgeGNvZGUuZ2V0VmVyc2lvbigpO1xuICAgIH1cbiAgICBpZiAodGhpcy54Y29kZVZlcnNpb24uc2xpY2UoMCwgMykgPT09ICc2LjAnICYmIHRoaXMud2l0aG91dERlbGF5KSB7XG4gICAgICBsb2cuaW5mbyhcIk9uIHhjb2RlIDYuMCwgaW5zdHJ1bWVudHMtd2l0aG91dC1kZWxheSBkb2VzIFwiICtcbiAgICAgICAgICAgICAgICAgIFwibm90IHdvcmsuIElmIHVzaW5nIGFwcGl1bSwgeW91IGNhbiBkaXNhYmxlIGluc3RydW1lbnRzLXdpdGhvdXQtZGVsYXkgXCIgK1xuICAgICAgICAgICAgICAgICAgXCJ3aXRoIHRoZSAtLW5hdGl2ZS1pbnN0cnVtZW50cy1saWIgc2VydmVyIGZsYWdcIik7XG4gICAgfVxuICAgIGlmICh0aGlzLnhjb2RlVmVyc2lvbiA9PT0gXCI1LjAuMVwiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJYY29kZSA1LjAuMSBzaGlwcyB3aXRoIGEgYnJva2VuIHZlcnNpb24gb2YgXCIgK1xuICAgICAgICBcIkluc3RydW1lbnRzLiBwbGVhc2UgdXBncmFkZSB0byA1LjAuMlwiKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMudGVtcGxhdGUpIHtcbiAgICAgIHRoaXMudGVtcGxhdGUgPSBhd2FpdCB4Y29kZS5nZXRBdXRvbWF0aW9uVHJhY2VUZW1wbGF0ZVBhdGgoKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaW5zdHJ1bWVudHNQYXRoKSB7XG4gICAgICB0aGlzLmluc3RydW1lbnRzUGF0aCA9IGF3YWl0IGdldEluc3RydW1lbnRzUGF0aCgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHJlbW92ZWQgbGF1bmNoQW5kS2lsbCwgd2Ugc2hvdWxkIGJlIGFibGUgdG8gZG8gdGhhdCB1c2luZyBsYXVuY2hcbiAgLy8gb3IgYXQgbGVhc3QgY2FsbGluZyBsYXVuY2ggd2l0aCBzb21lIHBhcmFtcy5cblxuICBhc3luYyBsYXVuY2hPbmNlICgpIHtcbiAgICBsb2cuaW5mbyhcIkxhdW5jaGluZyBpbnN0cnVtZW50c1wiKTtcbiAgICAvLyBwcmVwYXJlIHRlbXAgZGlyXG4gICAgYXdhaXQgcmltcmFmKHRoaXMudG1wRGlyKTtcbiAgICBhd2FpdCBta2RpcnAodGhpcy50bXBEaXIpO1xuICAgIGF3YWl0IG1rZGlycCh0aGlzLnRyYWNlRGlyKTtcblxuICAgIHRoaXMuZXhpdExpc3RlbmVyID0gbnVsbDtcbiAgICB0aGlzLnByb2MgPSBhd2FpdCB0aGlzLnNwYXduSW5zdHJ1bWVudHMoKTtcbiAgICB0aGlzLnByb2Mub24oJ2V4aXQnLCAoY29kZSkgPT4ge1xuICAgICAgbG9nLmRlYnVnKGBJbnN0cnVtZW50cyBleGl0ZWQgd2l0aCBjb2RlICR7Y29kZX1gKTtcbiAgICB9KTtcblxuICAgIGxldCBsYXVuY2hSZXN1bHRQcm9taXNlID0gbmV3IEIoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5sYXVuY2hSZXN1bHREZWZlcnJlZCA9IHtyZXNvbHZlLCByZWplY3R9O1xuICAgIH0pO1xuXG4gICAgLy8gVGhlcmUgd2FzIGEgc3BlY2lhbCBjYXNlIGZvciBpZ25vcmVTdGFydHVwRXhpdFxuICAgIC8vIGJ1dCBpdCBpcyBub3QgbmVlZGVkIGFueW1vcmUsIHlvdSBtYXkganVzdCBsaXN0ZW4gZm9yIGV4aXQuXG4gICAgdGhpcy5zZXRFeGl0TGlzdGVuZXIoKCkgPT4ge1xuICAgICAgdGhpcy5sYXVuY2hSZXN1bHREZWZlcnJlZC5yZWplY3QobmV3IEVycm9yKEVSUl9DUkFTSEVEX09OX1NUQVJUVVApKTtcbiAgICB9KTtcblxuICAgIHRoaXMucHJvYy5vbihcImVycm9yXCIsIChlcnIpID0+IHtcbiAgICAgIGxvZy5kZWJ1ZyhcIkVycm9yIHdpdGggaW5zdHJ1bWVudHMgcHJvYzogXCIgKyBlcnIubWVzc2FnZSk7XG4gICAgICBpZiAoZXJyLm1lc3NhZ2UuaW5kZXhPZihcIkVOT0VOVFwiKSAhPT0gLTEpIHtcbiAgICAgICAgdGhpcy5wcm9jID0gbnVsbDsgLy8gb3RoZXJ3aXNlIHdlJ2xsIHRyeSB0byBzZW5kIHNpZ2tpbGxcbiAgICAgICAgbG9nLmVycm9yKFwiVW5hYmxlIHRvIHNwYXduIGluc3RydW1lbnRzOiBcIiArIGVyci5tZXNzYWdlKTtcbiAgICAgICAgdGhpcy5sYXVuY2hSZXN1bHREZWZlcnJlZC5yZWplY3QoZXJyKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMucHJvYy5zdGRvdXQuc2V0RW5jb2RpbmcoJ3V0ZjgnKTtcbiAgICB0aGlzLnByb2Muc3Rkb3V0LnBpcGUob3V0cHV0U3RyZWFtKCkpLnBpcGUoZHVtcFN0cmVhbSgpKTtcblxuICAgIHRoaXMucHJvYy5zdGRlcnIuc2V0RW5jb2RpbmcoJ3V0ZjgnKTtcbiAgICBsZXQgYWN0T25TdGRlcnIgPSAob3V0cHV0KSA9PiB7XG4gICAgICBpZiAodGhpcy5sYXVuY2hUaW1lb3V0LmFmdGVyU2ltTGF1bmNoICYmIG91dHB1dCAmJiBvdXRwdXQubWF0Y2goL0NMVGlsZXNNYW5hZ2VyQ2xpZW50OiBpbml0aWFsaXplLykpIHtcbiAgICAgICAgdGhpcy5hZGRTb2NrZXRDb25uZWN0VGltZXIodGhpcy5sYXVuY2hUaW1lb3V0LmFmdGVyU2ltTGF1bmNoLCAnYWZ0ZXJMYXVuY2gnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgYXdhaXQga2lsbEFsbEluc3RydW1lbnRzKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBsZXQgZmJzRXJyU3RyID0gXCIoRkJTT3BlbkFwcGxpY2F0aW9uRXJyb3JEb21haW4gZXJyb3IgOC4pXCI7XG4gICAgICBpZiAob3V0cHV0LmluZGV4T2YoZmJzRXJyU3RyKSAhPT0gLTEpIHtcbiAgICAgICAgdGhpcy5nb3RGQlNPcGVuQXBwbGljYXRpb25FcnJvciA9IHRydWU7XG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLnByb2Muc3RkZXJyLnBpcGUodGhyb3VnaChmdW5jdGlvbiAob3V0cHV0KSB7XG4gICAgICBhY3RPblN0ZGVycihvdXRwdXQpO1xuICAgICAgdGhpcy5xdWV1ZShvdXRwdXQpO1xuICAgIH0pKS5waXBlKGVycm9yU3RyZWFtKCkpXG4gICAgLnBpcGUod2ViU29ja2V0QWxlcnRTdHJlYW0odGhpcy53ZWJTb2NrZXQpKVxuICAgIC5waXBlKGR1bXBTdHJlYW0oKSk7XG5cbiAgICAvLyBzdGFydCB3YWl0aW5nIGZvciBpbnN0cnVtZW50cyB0byBsYXVuY2ggc3VjY2Vzc2Z1bGx5XG4gICAgdGhpcy5hZGRTb2NrZXRDb25uZWN0VGltZXIodGhpcy5sYXVuY2hUaW1lb3V0Lmdsb2JhbCwgJ2dsb2JhbCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IGtpbGxBbGxJbnN0cnVtZW50cygpO1xuICAgIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGxhdW5jaFJlc3VsdFByb21pc2U7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuY2xlYXJTb2NrZXRDb25uZWN0VGltZXJzKCk7XG4gICAgfVxuICAgIHRoaXMuc2V0RXhpdExpc3RlbmVyKChjb2RlKSA9PiB7XG4gICAgICB0aGlzLnByb2MgPSBudWxsO1xuICAgICAgdGhpcy5vblNodXRkb3duRGVmZXJyZWQucmVqZWN0KG5ldyBFcnJvcihgQWJub3JtYWwgZXhpdCB3aXRoIGNvZGU6ICR7Y29kZX1gKSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBsYXVuY2ggKCkge1xuICAgIGF3YWl0IHRoaXMuY29uZmlndXJlKCk7XG4gICAgbGV0IGxhdW5jaFRyaWVzID0gMDtcbiAgICBkbyB7XG4gICAgICBpZiAobGF1bmNoVHJpZXMgPiAwKSB7XG4gICAgICAgIGxvZy5kZWJ1ZyhcIkF0dGVtcHRpbmcgdG8gcmV0cnkgbGF1bmNoaW5nIGluc3RydW1lbnRzLCB0aGlzIGlzIFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJyZXRyeSAjXCIgKyBsYXVuY2hUcmllcyk7XG4gICAgICB9XG4gICAgICB0cnkge1xuICAgICAgICBsYXVuY2hUcmllcyArKztcbiAgICAgICAgYXdhaXQgdGhpcy5sYXVuY2hPbmNlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGxvZy5kZWJ1ZyhlcnIubWVzc2FnZSk7XG4gICAgICAgIGxldCBlcnJJc0NhdGNoYWJsZSA9IGVyci5tZXNzYWdlID09PSBFUlJfTkVWRVJfQ0hFQ0tFRF9JTiB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnIubWVzc2FnZSA9PT0gRVJSX0NSQVNIRURfT05fU1RBUlRVUDtcbiAgICAgICAgaWYoZXJySXNDYXRjaGFibGUpIHtcbiAgICAgICAgICBpZihsYXVuY2hUcmllcyA8ICh0aGlzLmZsYWtleVJldHJpZXMgKyAxKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZ290RkJTT3BlbkFwcGxpY2F0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgbG9nLmRlYnVnKFwiR290IHRoZSBGQlNPcGVuQXBwbGljYXRpb25FcnJvciwgbm90IGtpbGxpbmcgdGhlIFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic2ltIGJ1dCBsZWF2aW5nIGl0IG9wZW4gc28gdGhlIGFwcCB3aWxsIGxhdW5jaFwiKTtcbiAgICAgICAgICAgICAgdGhpcy5nb3RGQlNPcGVuQXBwbGljYXRpb25FcnJvciA9IGZhbHNlOyAvLyBjbGVhciBvdXQgZm9yIG5leHQgbGF1bmNoXG4gICAgICAgICAgICAgIGF3YWl0IEIuZGVsYXkoMTAwMCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBraWxsQWxsU2ltdWxhdG9ycygpO1xuICAgICAgICAgICAgICBhd2FpdCBCLmRlbGF5KDUwMDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsb2cuZGVidWcoXCJXZSBleGNlZWRlZCB0aGUgbnVtYmVyIG9mIHJldHJpZXMgYWxsb3dlZCBmb3IgXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgIFwiaW5zdHJ1bWVudHMgdG8gc3VjY2Vzc2Z1bGx5IHN0YXJ0OyBmYWlsaW5nIGxhdW5jaFwiKTtcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSB3aGlsZSAodHJ1ZSk7XG4gIH1cblxuICByZWdpc3RlckxhdW5jaCAoKSB7XG4gICAgdGhpcy5sYXVuY2hSZXN1bHREZWZlcnJlZC5yZXNvbHZlKCk7XG4gIH1cblxuICBhc3luYyBzcGF3bkluc3RydW1lbnRzICgpIHtcbiAgICBsZXQgdHJhY2VEaXI7XG4gICAgZm9yICh2YXIgaSA9IDA7IDsgaSsrKSB7XG4gICAgICAvLyBsb29wIHdoaWxlIHRoZXJlIGFyZSB0cmFjZWRpcnMgdG8gZGVsZXRlXG4gICAgICB0cmFjZURpciA9IHBhdGgucmVzb2x2ZSh0aGlzLnRyYWNlRGlyLCAnaW5zdHJ1bWVudHNjbGknICsgaSArICcudHJhY2UnKTtcbiAgICAgIGlmICghYXdhaXQgZnMuZXhpc3RzKHRyYWNlRGlyKSkgYnJlYWs7XG4gICAgfVxuICAgIGxldCBhcmdzID0gW1wiLXRcIiwgdGhpcy50ZW1wbGF0ZSwgXCItRFwiLCB0cmFjZURpcl07XG4gICAgaWYgKHRoaXMudWRpZCkge1xuICAgICAgYXJncyA9IGFyZ3MuY29uY2F0KFtcIi13XCIsIHRoaXMudWRpZF0pO1xuICAgICAgbG9nLmRlYnVnKFwiQXR0ZW1wdGluZyB0byBydW4gYXBwIG9uIHJlYWwgZGV2aWNlIHdpdGggVURJRCBcIiArIHRoaXMudWRpZCk7XG4gICAgfVxuICAgIGlmICghdGhpcy51ZGlkICYmIHRoaXMuc2ltdWxhdG9yU2RrQW5kRGV2aWNlKSB7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW1wiLXdcIiwgdGhpcy5zaW11bGF0b3JTZGtBbmREZXZpY2VdKTtcbiAgICAgIGxvZy5kZWJ1ZyhcIkF0dGVtcHRpbmcgdG8gcnVuIGFwcCBvbiBcIiArIHRoaXMuc2ltdWxhdG9yU2RrQW5kRGV2aWNlKTtcbiAgICB9XG4gICAgYXJncyA9IGFyZ3MuY29uY2F0KFt0aGlzLmFwcF0pO1xuICAgIGlmICh0aGlzLnByb2Nlc3NBcmd1bWVudHMpIHtcbiAgICAgIGFyZ3MgPSBhcmdzLmNvbmNhdCh0aGlzLnByb2Nlc3NBcmd1bWVudHMpO1xuICAgICAgbG9nLmRlYnVnKFwiQXR0ZW1wdGluZyB0byBydW4gYXBwIHdpdGggcHJvY2VzcyBhcmd1bWVudHM6IFwiICsgdGhpcy5wcm9jZXNzQXJndW1lbnRzKTtcbiAgICB9XG4gICAgYXJncyA9IGFyZ3MuY29uY2F0KFtcIi1lXCIsIFwiVUlBU0NSSVBUXCIsIHRoaXMuYm9vdHN0cmFwXSk7XG4gICAgYXJncyA9IGFyZ3MuY29uY2F0KFtcIi1lXCIsIFwiVUlBUkVTVUxUU1BBVEhcIiwgdGhpcy50bXBEaXJdKTtcbiAgICBsZXQgZW52ID0gXy5jbG9uZShwcm9jZXNzLmVudik7XG4gICAgbGV0IGl3ZFBhdGggPSBhd2FpdCBnZXRJd2RQYXRoKHRoaXMueGNvZGVWZXJzaW9uKTtcbiAgICBlbnYuQ0FfREVCVUdfVFJBTlNBQ1RJT05TID0gMTtcbiAgICBpZiAodGhpcy53aXRob3V0RGVsYXkgJiYgIXRoaXMudWRpZCkge1xuICAgICAgZW52LkRZTERfSU5TRVJUX0xJQlJBUklFUyA9IHBhdGgucmVzb2x2ZShpd2RQYXRoLCBcIkluc3RydW1lbnRzU2hpbS5keWxpYlwiKTtcbiAgICAgIGVudi5MSUJfUEFUSCA9IGl3ZFBhdGg7XG4gICAgfVxuICAgIGxldCBpbnN0cnVtZW50c0V4ZWNBcmdzID0gW3RoaXMuaW5zdHJ1bWVudHNQYXRoXS5jb25jYXQoXy5jbG9uZShhcmdzKSk7XG4gICAgaW5zdHJ1bWVudHNFeGVjQXJncyA9IF8ubWFwKGluc3RydW1lbnRzRXhlY0FyZ3MsIGZ1bmN0aW9uIChhcmcpIHtcbiAgICAgIGlmIChhcmcgPT09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQSBudWxsIHZhbHVlIHdhcyBwYXNzZWQgYXMgYW4gYXJnIHRvIGV4ZWN1dGUgXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgIFwiaW5zdHJ1bWVudHMgb24gdGhlIGNvbW1hbmQgbGluZS4gQSBsZXRpYWJsZSBpcyBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgXCJwcm9iYWJseSBub3QgZ2V0dGluZyBzZXQuIEFycmF5IG9mIGNvbW1hbmQgYXJnczogXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGluc3RydW1lbnRzRXhlY0FyZ3MpKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgYXJnID09PSAnc3RyaW5nJyAmJiBhcmcuaW5kZXhPZihcIiBcIikgIT09IC0xKSB7XG4gICAgICAgIHJldHVybiAnXCInICsgYXJnICsgJ1wiJztcbiAgICAgIH1cbiAgICAgIHJldHVybiBhcmc7XG4gICAgfSk7XG4gICAgbG9nLmRlYnVnKFwiU3Bhd25pbmcgaW5zdHJ1bWVudHMgd2l0aCBjb21tYW5kOiBcIiArIGluc3RydW1lbnRzRXhlY0FyZ3Muam9pbihcIiBcIikpO1xuICAgIGxvZy5kZWJ1ZyhcIkFuZCBleHRyYSB3aXRob3V0LWRlbGF5IGVudjogXCIgKyBKU09OLnN0cmluZ2lmeSh7XG4gICAgICBEWUxEX0lOU0VSVF9MSUJSQVJJRVM6IGVudi5EWUxEX0lOU0VSVF9MSUJSQVJJRVMsXG4gICAgICBMSUJfUEFUSDogZW52LkxJQl9QQVRIXG4gICAgfSkpO1xuICAgIGxvZy5kZWJ1ZyhcIkFuZCBsYXVuY2ggdGltZW91dHMgKGluIG1zKTogXCIgKyBKU09OLnN0cmluZ2lmeSh0aGlzLmxhdW5jaFRpbWVvdXQpKTtcbiAgICByZXR1cm4gc3Bhd24odGhpcy5pbnN0cnVtZW50c1BhdGgsIGFyZ3MsIHtlbnY6IGVudn0pO1xuICB9XG5cbiAgYWRkU29ja2V0Q29ubmVjdFRpbWVyKGRlbGF5LCB0eXBlLCBkb0FjdGlvbikge1xuICAgIGxldCBzb2NrZXRDb25uZWN0RGVsYXkgPSBjYW5jZWxsYWJsZURlbGF5KGRlbGF5KTtcbiAgICBzb2NrZXRDb25uZWN0RGVsYXkudGhlbigoKSA9PiB7XG4gICAgICBsb2cud2FybihgSW5zdHJ1bWVudHMgc29ja2V0IGNsaWVudCBuZXZlciBjaGVja2VkIGluOyB0aW1pbmcgb3V0ICgke3R5cGV9KWApO1xuICAgICAgdGhpcy5zZXRFeGl0TGlzdGVuZXIoKCkgPT4ge1xuICAgICAgICB0aGlzLmxhdW5jaFJlc3VsdERlZmVycmVkLnJlamVjdChuZXcgRXJyb3IoRVJSX05FVkVSX0NIRUNLRURfSU4pKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGRvQWN0aW9uKCk7XG4gICAgfSkuY2F0Y2goQi5DYW5jZWxsYXRpb25FcnJvciwgKCkgPT4ge30pLmRvbmUoKTtcbiAgICB0aGlzLnNvY2tldENvbm5lY3REZWxheXMucHVzaChzb2NrZXRDb25uZWN0RGVsYXkpO1xuICB9XG5cbiAgY2xlYXJTb2NrZXRDb25uZWN0VGltZXJzKCkge1xuICAgIF8odGhpcy5zb2NrZXRDb25uZWN0RGVsYXlzKS5lYWNoKGZ1bmN0aW9uIChkKSB7XG4gICAgICBkLmNhbmNlbCgpO1xuICAgIH0sIHRoaXMpLnZhbHVlKCk7XG4gICAgdGhpcy5zb2NrZXRDb25uZWN0RGVsYXlzID0gW107XG4gIH1cblxuICBzZXRFeGl0TGlzdGVuZXIoZXhpdExpc3RlbmVyKSB7XG4gICAgaWYgKCF0aGlzLnByb2MpIHJldHVybjtcbiAgICBpZiAodGhpcy5leGl0TGlzdGVuZXIpIHtcbiAgICAgIHRoaXMucHJvYy5yZW1vdmVMaXN0ZW5lcignZXhpdCcsIHRoaXMuZXhpdExpc3RlbmVyKTtcbiAgICB9XG4gICAgdGhpcy5leGl0TGlzdGVuZXIgPSBleGl0TGlzdGVuZXI7XG4gICAgdGhpcy5wcm9jLm9uKCdleGl0JywgZXhpdExpc3RlbmVyKTtcbiAgfVxuXG4gIC8qIFBST0NFU1MgTUFOQUdFTUVOVCAqL1xuICBhc3luYyBzaHV0ZG93biAoKSB7XG4gICAgLy8gbW9uaXRvcmluZyBwcm9jZXNzIHRlcm1pbmF0aW9uXG4gICAgbGV0IHRlcm1EZWxheSA9IGNhbmNlbGxhYmxlRGVsYXkodGhpcy50ZXJtVGltZW91dCk7XG4gICAgbGV0IHRlcm1Qcm9taXNlID0gdGVybURlbGF5LmNhdGNoKEIuQ2FuY2VsbGF0aW9uRXJyb3IsICgpID0+IHtcbiAgICB9KTtcblxuICAgIGxldCB3YXNUZXJtaW5hdGVkID0gZmFsc2U7XG4gICAgdGhpcy5zZXRFeGl0TGlzdGVuZXIoKCkgPT4ge1xuICAgICAgd2FzVGVybWluYXRlZCA9IHRydWU7XG4gICAgICB0ZXJtRGVsYXkuY2FuY2VsKCk7XG4gICAgICB0aGlzLnByb2MgPSBudWxsO1xuICAgICAgdGhpcy5vblNodXRkb3duRGVmZXJyZWQucmVzb2x2ZSgpO1xuICAgIH0pO1xuXG4gICAgLy8gdGVybWluYXRpbmcgcHJvY2Vzc1xuICAgIGxvZy5kZWJ1ZyhcIlNlbmRpbmcgc2lndGVybSB0byBpbnN0cnVtZW50c1wiKTtcbiAgICBpZiAodGhpcy5wcm9jKSB7XG4gICAgICB0aGlzLnByb2Mua2lsbCgnU0lHVEVSTScpO1xuICAgIH1cbiAgICBhd2FpdCB0ZXJtUHJvbWlzZTtcbiAgICBpZighd2FzVGVybWluYXRlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW5zdHJ1bWVudHMgZGlkIG5vdCB0ZXJtaW5hdGUgYWZ0ZXIgXCIgKyAodGhpcy50ZXJtVGltZW91dCAvIDEwMDApICtcbiAgICAgICAgXCIgc2Vjb25kcyFcIik7XG4gICAgfVxuICAgIC8vIHJlbW92ZWQgdGhlIGtpbGwgYWxsIGluc3RydW1lbnRzL2dsb2JhbCBzaHV0ZG93biBsb2dpYywgb3V0IG9mIHNjb3BlLlxuICAgIC8vIGlmIHNvbWVvbmUgd2FudCB0byBraWxsIGFsbCBpbnN0cnVtZW50cywgbGV0IGl0IGRvIGl0IHNlcGFyYXRlbHlcbiAgfVxuXG59XG5cbmV4cG9ydCBkZWZhdWx0IEluc3RydW1lbnRzO1xuIl19

@@ -13,2 +13,2 @@ 'use strict';

module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9sb2dnZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OzRCQUEwQixlQUFlOztBQUV6QyxJQUFNLE1BQU0sR0FBRyxrQkFGTixTQUFTLEVBRU8sbUJBQW1CLENBQUMsQ0FBQzs7cUJBRS9CLE1BQU0iLCJmaWxlIjoibGliL2xvZ2dlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldExvZ2dlciB9IGZyb20gJ2FwcGl1bS1sb2dnZXInO1xuXG5jb25zdCBsb2dnZXIgPSBnZXRMb2dnZXIoJ0FwcGl1bUluc3RydW1lbnRzJyk7XG5cbmV4cG9ydCBkZWZhdWx0IGxvZ2dlcjtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9sb2dnZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OzRCQUEwQixlQUFlOztBQUV6QyxJQUFNLE1BQU0sR0FBRyw2QkFBVSxtQkFBbUIsQ0FBQyxDQUFDOztxQkFFL0IsTUFBTSIsImZpbGUiOiJsaWIvbG9nZ2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0TG9nZ2VyIH0gZnJvbSAnYXBwaXVtLWxvZ2dlcic7XG5cbmNvbnN0IGxvZ2dlciA9IGdldExvZ2dlcignQXBwaXVtSW5zdHJ1bWVudHMnKTtcblxuZXhwb3J0IGRlZmF1bHQgbG9nZ2VyO1xuIl19

@@ -73,2 +73,2 @@ 'use strict';

exports.dumpStream = dumpStream;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zdHJlYW1zLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O3NCQUFnQixVQUFVOzs7O3VCQUNGLFNBQVM7O0FBRWpDLFNBQVMsZ0JBQWdCLENBQUUsTUFBTSxFQUFFOzs7O0FBSWpDLE1BQUksRUFBRSxHQUFHLGVBQWUsQ0FBQztBQUN6QixRQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQzNCLFFBQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNoQyxTQUFPLE1BQU0sQ0FBQztDQUNmOztBQUVELFNBQVMsWUFBWSxHQUFJO0FBQ3ZCLFNBQU8sYUFiQSxPQUFPLEVBYUMsU0FBUyxtQkFBbUIsQ0FBRSxNQUFNLEVBQUU7QUFDbkQsVUFBTSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDOzs7QUFHbEMsUUFBSSxNQUFNLEtBQUssRUFBRSxFQUFFO0FBQ2pCLFlBQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNwQyxZQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDNUMsWUFBTSxHQUFHLFNBQVMsR0FBRyxNQUFNLENBQUM7QUFDNUIsWUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7QUFDdEIsMEJBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ25CO0FBQ0QsUUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztHQUNwQixDQUFDLENBQUM7Q0FDSjs7QUFFRCxTQUFTLFdBQVcsR0FBSTtBQUN0QixTQUFPLGFBN0JBLE9BQU8sRUE2QkMsVUFBVSxNQUFNLEVBQUU7QUFDL0IsVUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3BDLFFBQUksTUFBTSxHQUFJLGdCQUFnQixHQUFHLE1BQU0sQUFBQyxDQUFDO0FBQ3pDLFVBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0FBQ3ZCLHdCQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNsQixRQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0dBQ3BCLENBQUMsQ0FBQztDQUNKOztBQUVELFNBQVMsb0JBQW9CLENBQUUsU0FBUyxFQUFFO0FBQ3hDLFNBQU8sYUF2Q0EsT0FBTyxFQXVDQyxVQUFVLE1BQU0sRUFBRTtBQUMvQixRQUFJLFNBQVMsRUFBRTtBQUNiLFVBQUksRUFBRSxHQUFHLGdDQUFnQyxDQUFDO0FBQzFDLFVBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDNUIsVUFBSSxLQUFLLEVBQUU7QUFDVCw0QkFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUN0QyxpQkFBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUMsT0FBTyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7T0FDcEQ7S0FDRjtBQUNELFFBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7R0FDcEIsQ0FBQyxDQUFDO0NBQ0o7O0FBRUQsU0FBUyxVQUFVLEdBQUk7QUFDckIsU0FBTyxhQXJEQSxPQUFPLEVBcURDLFlBQVksRUFDMUIsQ0FBQyxDQUFDO0NBQ0o7O1FBRVEsWUFBWSxHQUFaLFlBQVk7UUFBRSxXQUFXLEdBQVgsV0FBVztRQUFFLG9CQUFvQixHQUFwQixvQkFBb0I7UUFBRSxVQUFVLEdBQVYsVUFBVSIsImZpbGUiOiJsaWIvc3RyZWFtcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IHsgdGhyb3VnaCB9IGZyb20gJ3Rocm91Z2gnO1xuXG5mdW5jdGlvbiBjbGVhckJ1ZmZlckNoYXJzIChvdXRwdXQpIHtcbiAgLy8gSW5zdHJ1bWVudHMgb3V0cHV0IGlzIGJ1ZmZlcmVkLCBzbyBmb3IgZWFjaCBsb2cgb3V0cHV0IHdlIGFsc28gb3V0cHV0XG4gIC8vIGEgc3RyZWFtIG9mIHZlcnkgbWFueSAqKioqLiBUaGlzIGZ1bmN0aW9uIHN0cmlwcyB0aG9zZSBvdXQgc28gYWxsIHdlXG4gIC8vIGdldCBpcyB0aGUgbG9nIG91dHB1dCB3ZSBjYXJlIGFib3V0XG4gIGxldCByZSA9IC8oXFxufF4pXFwqK1xcbj8vZztcbiAgb3V0cHV0ID0gb3V0cHV0LnRvU3RyaW5nKCk7XG4gIG91dHB1dCA9IG91dHB1dC5yZXBsYWNlKHJlLCBcIlwiKTtcbiAgcmV0dXJuIG91dHB1dDtcbn1cblxuZnVuY3Rpb24gb3V0cHV0U3RyZWFtICgpIHtcbiAgcmV0dXJuIHRocm91Z2goZnVuY3Rpb24gb3V0cHV0U3RyZWFtSGFuZGxlciAob3V0cHV0KSB7XG4gICAgb3V0cHV0ID0gY2xlYXJCdWZmZXJDaGFycyhvdXRwdXQpO1xuXG4gICAgLy8gaWYgd2UgaGF2ZSBtdWx0aXBsZSBsb2cgbGluZXMsIGluZGVudCBub24tZmlyc3Qgb25lc1xuICAgIGlmIChvdXRwdXQgIT09IFwiXCIpIHtcbiAgICAgIG91dHB1dCA9IG91dHB1dC5yZXBsYWNlKC9cXG4kL20sIFwiXCIpO1xuICAgICAgb3V0cHV0ID0gb3V0cHV0LnJlcGxhY2UoL1xcbi9tLCBcIlxcbiAgICAgICBcIik7XG4gICAgICBvdXRwdXQgPSBcIltJTlNUXSBcIiArIG91dHB1dDtcbiAgICAgIG91dHB1dCA9IG91dHB1dC5ncmVlbjtcbiAgICAgIGxvZy5kZWJ1ZyhvdXRwdXQpO1xuICAgIH1cbiAgICB0aGlzLnF1ZXVlKG91dHB1dCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBlcnJvclN0cmVhbSAoKSB7XG4gIHJldHVybiB0aHJvdWdoKGZ1bmN0aW9uIChvdXRwdXQpIHtcbiAgICBvdXRwdXQgPSBvdXRwdXQucmVwbGFjZSgvXFxuJC9tLCBcIlwiKTtcbiAgICBsZXQgbG9nTXNnID0gKFwiW0lOU1QgU1RERVJSXSBcIiArIG91dHB1dCk7XG4gICAgbG9nTXNnID0gbG9nTXNnLnllbGxvdztcbiAgICBsb2cuZGVidWcobG9nTXNnKTtcbiAgICB0aGlzLnF1ZXVlKG91dHB1dCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiB3ZWJTb2NrZXRBbGVydFN0cmVhbSAod2ViU29ja2V0KSB7XG4gIHJldHVybiB0aHJvdWdoKGZ1bmN0aW9uIChvdXRwdXQpIHtcbiAgICBpZiAod2ViU29ja2V0KSB7XG4gICAgICBsZXQgcmUgPSAvQ2FsbCB0byBvbkFsZXJ0IHJldHVybmVkICdZRVMnLztcbiAgICAgIGxldCBtYXRjaCA9IHJlLnRlc3Qob3V0cHV0KTtcbiAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICBsb2cuZGVidWcoXCJFbWl0aW5nIGFsZXJ0IG1lc3NhZ2UuLi5cIik7XG4gICAgICAgIHdlYlNvY2tldC5zb2NrZXRzLmVtaXQoJ2FsZXJ0Jywge21lc3NhZ2U6IG91dHB1dH0pO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnF1ZXVlKG91dHB1dCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBkdW1wU3RyZWFtICgpIHtcbiAgcmV0dXJuIHRocm91Z2goZnVuY3Rpb24gKCkge1xuICB9KTtcbn1cblxuZXhwb3J0IHsgb3V0cHV0U3RyZWFtLCBlcnJvclN0cmVhbSwgd2ViU29ja2V0QWxlcnRTdHJlYW0sIGR1bXBTdHJlYW0gfTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zdHJlYW1zLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O3NCQUFnQixVQUFVOzs7O3VCQUNGLFNBQVM7O0FBRWpDLFNBQVMsZ0JBQWdCLENBQUUsTUFBTSxFQUFFOzs7O0FBSWpDLE1BQUksRUFBRSxHQUFHLGVBQWUsQ0FBQztBQUN6QixRQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQzNCLFFBQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNoQyxTQUFPLE1BQU0sQ0FBQztDQUNmOztBQUVELFNBQVMsWUFBWSxHQUFJO0FBQ3ZCLFNBQU8sc0JBQVEsU0FBUyxtQkFBbUIsQ0FBRSxNQUFNLEVBQUU7QUFDbkQsVUFBTSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDOzs7QUFHbEMsUUFBSSxNQUFNLEtBQUssRUFBRSxFQUFFO0FBQ2pCLFlBQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNwQyxZQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDNUMsWUFBTSxHQUFHLFNBQVMsR0FBRyxNQUFNLENBQUM7QUFDNUIsWUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7QUFDdEIsMEJBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ25CO0FBQ0QsUUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztHQUNwQixDQUFDLENBQUM7Q0FDSjs7QUFFRCxTQUFTLFdBQVcsR0FBSTtBQUN0QixTQUFPLHNCQUFRLFVBQVUsTUFBTSxFQUFFO0FBQy9CLFVBQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNwQyxRQUFJLE1BQU0sR0FBSSxnQkFBZ0IsR0FBRyxNQUFNLEFBQUMsQ0FBQztBQUN6QyxVQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUN2Qix3QkFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDbEIsUUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztHQUNwQixDQUFDLENBQUM7Q0FDSjs7QUFFRCxTQUFTLG9CQUFvQixDQUFFLFNBQVMsRUFBRTtBQUN4QyxTQUFPLHNCQUFRLFVBQVUsTUFBTSxFQUFFO0FBQy9CLFFBQUksU0FBUyxFQUFFO0FBQ2IsVUFBSSxFQUFFLEdBQUcsZ0NBQWdDLENBQUM7QUFDMUMsVUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM1QixVQUFJLEtBQUssRUFBRTtBQUNULDRCQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQ3RDLGlCQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQztPQUNwRDtLQUNGO0FBQ0QsUUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztHQUNwQixDQUFDLENBQUM7Q0FDSjs7QUFFRCxTQUFTLFVBQVUsR0FBSTtBQUNyQixTQUFPLHNCQUFRLFlBQVksRUFDMUIsQ0FBQyxDQUFDO0NBQ0o7O1FBRVEsWUFBWSxHQUFaLFlBQVk7UUFBRSxXQUFXLEdBQVgsV0FBVztRQUFFLG9CQUFvQixHQUFwQixvQkFBb0I7UUFBRSxVQUFVLEdBQVYsVUFBVSIsImZpbGUiOiJsaWIvc3RyZWFtcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IHsgdGhyb3VnaCB9IGZyb20gJ3Rocm91Z2gnO1xuXG5mdW5jdGlvbiBjbGVhckJ1ZmZlckNoYXJzIChvdXRwdXQpIHtcbiAgLy8gSW5zdHJ1bWVudHMgb3V0cHV0IGlzIGJ1ZmZlcmVkLCBzbyBmb3IgZWFjaCBsb2cgb3V0cHV0IHdlIGFsc28gb3V0cHV0XG4gIC8vIGEgc3RyZWFtIG9mIHZlcnkgbWFueSAqKioqLiBUaGlzIGZ1bmN0aW9uIHN0cmlwcyB0aG9zZSBvdXQgc28gYWxsIHdlXG4gIC8vIGdldCBpcyB0aGUgbG9nIG91dHB1dCB3ZSBjYXJlIGFib3V0XG4gIGxldCByZSA9IC8oXFxufF4pXFwqK1xcbj8vZztcbiAgb3V0cHV0ID0gb3V0cHV0LnRvU3RyaW5nKCk7XG4gIG91dHB1dCA9IG91dHB1dC5yZXBsYWNlKHJlLCBcIlwiKTtcbiAgcmV0dXJuIG91dHB1dDtcbn1cblxuZnVuY3Rpb24gb3V0cHV0U3RyZWFtICgpIHtcbiAgcmV0dXJuIHRocm91Z2goZnVuY3Rpb24gb3V0cHV0U3RyZWFtSGFuZGxlciAob3V0cHV0KSB7XG4gICAgb3V0cHV0ID0gY2xlYXJCdWZmZXJDaGFycyhvdXRwdXQpO1xuXG4gICAgLy8gaWYgd2UgaGF2ZSBtdWx0aXBsZSBsb2cgbGluZXMsIGluZGVudCBub24tZmlyc3Qgb25lc1xuICAgIGlmIChvdXRwdXQgIT09IFwiXCIpIHtcbiAgICAgIG91dHB1dCA9IG91dHB1dC5yZXBsYWNlKC9cXG4kL20sIFwiXCIpO1xuICAgICAgb3V0cHV0ID0gb3V0cHV0LnJlcGxhY2UoL1xcbi9tLCBcIlxcbiAgICAgICBcIik7XG4gICAgICBvdXRwdXQgPSBcIltJTlNUXSBcIiArIG91dHB1dDtcbiAgICAgIG91dHB1dCA9IG91dHB1dC5ncmVlbjtcbiAgICAgIGxvZy5kZWJ1ZyhvdXRwdXQpO1xuICAgIH1cbiAgICB0aGlzLnF1ZXVlKG91dHB1dCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBlcnJvclN0cmVhbSAoKSB7XG4gIHJldHVybiB0aHJvdWdoKGZ1bmN0aW9uIChvdXRwdXQpIHtcbiAgICBvdXRwdXQgPSBvdXRwdXQucmVwbGFjZSgvXFxuJC9tLCBcIlwiKTtcbiAgICBsZXQgbG9nTXNnID0gKFwiW0lOU1QgU1RERVJSXSBcIiArIG91dHB1dCk7XG4gICAgbG9nTXNnID0gbG9nTXNnLnllbGxvdztcbiAgICBsb2cuZGVidWcobG9nTXNnKTtcbiAgICB0aGlzLnF1ZXVlKG91dHB1dCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiB3ZWJTb2NrZXRBbGVydFN0cmVhbSAod2ViU29ja2V0KSB7XG4gIHJldHVybiB0aHJvdWdoKGZ1bmN0aW9uIChvdXRwdXQpIHtcbiAgICBpZiAod2ViU29ja2V0KSB7XG4gICAgICBsZXQgcmUgPSAvQ2FsbCB0byBvbkFsZXJ0IHJldHVybmVkICdZRVMnLztcbiAgICAgIGxldCBtYXRjaCA9IHJlLnRlc3Qob3V0cHV0KTtcbiAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICBsb2cuZGVidWcoXCJFbWl0aW5nIGFsZXJ0IG1lc3NhZ2UuLi5cIik7XG4gICAgICAgIHdlYlNvY2tldC5zb2NrZXRzLmVtaXQoJ2FsZXJ0Jywge21lc3NhZ2U6IG91dHB1dH0pO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnF1ZXVlKG91dHB1dCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBkdW1wU3RyZWFtICgpIHtcbiAgcmV0dXJuIHRocm91Z2goZnVuY3Rpb24gKCkge1xuICB9KTtcbn1cblxuZXhwb3J0IHsgb3V0cHV0U3RyZWFtLCBlcnJvclN0cmVhbSwgd2ViU29ja2V0QWxlcnRTdHJlYW0sIGR1bXBTdHJlYW0gfTtcbiJdfQ==

@@ -31,4 +31,2 @@ 'use strict';

var _iosTestApp2 = _interopRequireDefault(_iosTestApp);
var _lodash = require('lodash');

@@ -403,3 +401,3 @@

traceTemplatePath = context$1$0.sent;
appPath = _path2['default'].resolve(rootDir, 'node_modules', 'ios-test-app', _iosTestApp2['default'][1]);
appPath = _path2['default'].resolve(rootDir, 'node_modules', 'ios-test-app', _iosTestApp.absolute.iphonesimulator);
scriptPath = _path2['default'].resolve('../assets/blank_instruments_test.js');

@@ -461,2 +459,2 @@ traceDocument = _path2['default'].resolve('/', 'tmp', 'testTrace.trace');

exports.quickInstruments = quickInstruments;
//# sourceMappingURL=data:application/json;base64,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L3V0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGV4ZWMgfSBmcm9tICd0ZWVuX3Byb2Nlc3MnO1xuaW1wb3J0IHsgZnMgfSBmcm9tICdhcHBpdW0tc3VwcG9ydCc7XG5pbXBvcnQgbG9nIGZyb20gJy4vbG9nZ2VyJztcbmltcG9ydCB4Y29kZSBmcm9tICdhcHBpdW0teGNvZGUnO1xuaW1wb3J0IHRlc3RBcHBQYXRoIGZyb20gJ2lvcy10ZXN0LWFwcCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IEluc3RydW1lbnRzIGZyb20gJy4vaW5zdHJ1bWVudHMnO1xubGV0IHJvb3REaXIgPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4vLi4nKTtcblxuY29uc3QgSU5TVF9TVEFMTF9USU1FT1VUID0gMTIwMDA7XG5cbmFzeW5jIGZ1bmN0aW9uIGdldFhjb2RlVHJhY2VUZW1wbGF0ZVBhdGggKCkge1xuICBsZXQge3N0ZG91dH0gPSBhd2FpdCBleGVjKCd4Y29kZS1zZWxlY3QnLCBbJy1wcmludC1wYXRoJ10pO1xuICBsZXQgeENvZGVQYXRoID0gc3Rkb3V0LnRyaW0oKS5yZXBsYWNlKCdcXG4kJywgJycpO1xuICBmb3IobGV0IGV4dCBvZiBbJ2J1bmRsZScsICd4cnBsdWdpbiddKSB7XG4gICAgbGV0IHRyYWNlVGVtcGxhdGVQYXRoID0gcGF0aC5yZXNvbHZlKHhDb2RlUGF0aCwgJy4uJywgJy4uJyxcbiAgICAgICdDb250ZW50cy9BcHBsaWNhdGlvbnMvSW5zdHJ1bWVudHMuYXBwJyxcbiAgICAgIGBDb250ZW50cy9QbHVnSW5zL0F1dG9tYXRpb25JbnN0cnVtZW50LiR7ZXh0fS9Db250ZW50cy9SZXNvdXJjZXMvYCArXG4gICAgICAgICdBdXRvbWF0aW9uLnRyYWNldGVtcGxhdGUnKTtcbiAgICBsZXQgZmQ7XG4gICAgdHJ5IHtcbiAgICAgIGZkID0gYXdhaXQgZnMub3Blbih0cmFjZVRlbXBsYXRlUGF0aCwgJ3InKTtcbiAgICAgIHJldHVybiB0cmFjZVRlbXBsYXRlUGF0aDtcbiAgICB9IGNhdGNoIChpZ24pIHt9XG4gICAgZmluYWxseSB7XG4gICAgICB0cnkgeyBpZiAoZmQpIHsgYXdhaXQgZnMuY2xvc2UoZmQpOyB9IH0gY2F0Y2ggKGlnbikge31cbiAgICB9XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgcmV0cmlldmUgdHJhY2UgdGVtcGxhdGUhJyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEluc3RydW1lbnRzUGF0aCAoKSB7XG4gIGxldCBpbnN0cnVtZW50c1BhdGg7XG4gIHRyeSB7XG4gICAgbGV0IHtzdGRvdXR9ID0gYXdhaXQgZXhlYygneGNydW4nLCBbJy1maW5kJywgJ2luc3RydW1lbnRzJ10pO1xuICAgIGlmICh0eXBlb2Ygc3Rkb3V0ID09PSBcInVuZGVmaW5lZFwiKSBzdGRvdXQgPSBcIlwiO1xuICAgIGluc3RydW1lbnRzUGF0aCA9IHN0ZG91dC50cmltKCkucmVwbGFjZSgnXFxuJCcsICcnKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKGVycikgbG9nLmVycm9yKGVyci5tZXNzYWdlKTtcbiAgfVxuICBpZiAoIWluc3RydW1lbnRzUGF0aCkge1xuICAgIGxvZy5lcnJvcihcIkNvdWxkIG5vdCBmaW5kIGluc3RydW1lbnRzIGJpbmFyeVwiKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZCBub3QgZmluZCB0aGUgaW5zdHJ1bWVudHMgXCIgK1xuICAgICAgICBcImJpbmFyeS4gUGxlYXNlIGVuc3VyZSBgeGNydW4gLWZpbmQgaW5zdHJ1bWVudHNgIGNhbiBsb2NhdGUgaXQuXCIpO1xuICB9XG4gIGxvZy5kZWJ1ZyhcIkluc3RydW1lbnRzIGlzIGF0OiBcIiArIGluc3RydW1lbnRzUGF0aCk7XG4gIHJldHVybiBpbnN0cnVtZW50c1BhdGg7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEF2YWlsYWJsZURldmljZXMgKCkge1xuICBsb2cuZGVidWcoXCJHZXR0aW5nIGxpc3Qgb2YgZGV2aWNlcyBpbnN0cnVtZW50cyBzdXBwb3J0c1wiKTtcbiAgbGV0IGluc3RydW1lbnRzUGF0aCA9IGF3YWl0IGdldEluc3RydW1lbnRzUGF0aCgpO1xuICBsZXQgb3B0cyA9IHt0aW1lb3V0OiBJTlNUX1NUQUxMX1RJTUVPVVR9O1xuICBsZXQgbGluZXM7XG4gIHRyeSB7XG4gICAgbGV0IHtzdGRvdXR9ID0gYXdhaXQgZXhlYyhpbnN0cnVtZW50c1BhdGgsIFsnLXMnLCAnZGV2aWNlcyddLCBvcHRzKTtcbiAgICBsaW5lcyA9IHN0ZG91dC5zcGxpdChcIlxcblwiKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nLmVycm9yKGVycik7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgZ2V0dGluZyBkZXZpY2VzLCBlcnI6ICR7ZXJyfS5gKTtcbiAgfVxuICBsZXQgZGV2aWNlcyA9IFtdO1xuICBmb3IobGV0IGxpbmUgb2YgbGluZXMpIHtcbiAgICBpZiAoL15pLiskLy50ZXN0KGxpbmUpKSB7XG4gICAgICBkZXZpY2VzLnB1c2gobGluZSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBkZXZpY2VzO1xufVxuXG5cbi8vIFRPRE86IHVzZSBzaW11bGF0b3IgcGFja2FnZVxuYXN5bmMgZnVuY3Rpb24ga2lsbEFsbFNpbXVsYXRvcnMgKCkge1xuICBsZXQgdmVyc2lvbiA9IGF3YWl0IHhjb2RlLmdldFZlcnNpb24oKTtcbiAgLy8gdGhpcyBpcyBjb250cmFyeSB0byBvdXIgdXN1YWwgcGF0dGVybiwgYnV0IGlmIGdldHRpbmcgdGhlIHhjb2RlIHZlcnNpb25cbiAgLy8gZmFpbHMsIHdlIGNvdWxkbid0IGhhdmUgc3RhcnRlZCBzaW11bGF0b3JzIGFueXdheXMvXG4gIGxvZy5kZWJ1ZyhcIktpbGxpbmcgYWxsIGlPUyBTaW11bGF0b3JcIik7XG4gIHRyeSB7XG4gICAgYXdhaXQgZXhlYygncGtpbGwnLCBbJy05JywgJy1mJyxcbiAgICAgIHZlcnNpb24gPj0gXCI2XCIgPyAnaU9TIFNpbXVsYXRvcicgOiAnaVBob25lU2ltdWxhdG9yJ10pO1xuICB9IGNhdGNoIChpZ24pIHt9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGtpbGxBbGxJbnN0cnVtZW50cyAoKSB7XG4gIGxvZy5kZWJ1ZyhcIktpbGxpbmcgYWxsIGluc3RydW1lbnRzXCIpO1xuICB0cnkge1xuICAgIGF3YWl0IGV4ZWMoJ3BraWxsJywgIFsnLWYnLCAnaW5zdHJ1bWVudHMnXSk7XG4gIH0gY2F0Y2ggKGlnbikge31cbn1cblxuYXN5bmMgZnVuY3Rpb24gY2xlYW5BbGxUcmFjZXMgKCkge1xuICBpZiAocHJvY2Vzcy5lbnYuQ0xFQU5fVFJBQ0VTKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGV4ZWMoJ3JtJywgWyctcmYnLCAnaW5zdHJ1bWVudHNjbGkqLnRyYWNlJ10pO1xuICAgIH0gY2F0Y2ggKGlnbikge31cbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUxhdW5jaFRpbWVvdXQgKGxhdW5jaFRpbWVvdXQpIHtcbiAgLy8gbnVtYmVyIG9yIG9iamVjdCBsaWtlIHsgZ2xvYmFsOiA0MDAwMCwgYWZ0ZXJTaW1MYXVuY2g6IDUwMDAgfVxuICAvLyBtYXkgYWxzbyBwYXJzZSBKU09OIHN0cmluZ3MuXG4gIGlmICh0eXBlb2YgbGF1bmNoVGltZW91dCA9PT0gJ3N0cmluZycpIHtcbiAgICB0cnkge1xuICAgICAgbGF1bmNoVGltZW91dCA9IEpTT04ucGFyc2UobGF1bmNoVGltZW91dCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBsb2cud2FybihcIkludmFsaWQgbGF1bmNoIHRpbWVvdXQ6IFwiICsgbGF1bmNoVGltZW91dCk7XG4gICAgfVxuICB9XG4gIGlmICh0eXBlb2YgbGF1bmNoVGltZW91dCA9PT0gJ251bWJlcicpIHtcbiAgICBsYXVuY2hUaW1lb3V0ID0ge1xuICAgICAgZ2xvYmFsOiBsYXVuY2hUaW1lb3V0XG4gICAgfTtcbiAgfVxuICByZXR1cm4gbGF1bmNoVGltZW91dDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0SXdkUGF0aCh4Y29kZVZlcnNpb24pIHtcbiAgeGNvZGVWZXJzaW9uID0gcGFyc2VJbnQoeGNvZGVWZXJzaW9uLCAxMCk7XG4gIGxldCB0aGlyZHBhcnR5UGF0aCA9IHBhdGgucmVzb2x2ZShyb290RGlyLCBcInRoaXJkcGFydHlcIik7XG4gIGxldCBpd2RQYXRoID0gcGF0aC5yZXNvbHZlKHRoaXJkcGFydHlQYXRoLCBgaXdkJHt4Y29kZVZlcnNpb259YCk7XG4gIGlmKCFhd2FpdCBmcy5leGlzdHMoaXdkUGF0aCkpIHtcbiAgICBpd2RQYXRoID0gcGF0aC5yZXNvbHZlKHRoaXJkcGFydHlQYXRoLCBgaXdkYCk7XG4gIH1cbiAgcmV0dXJuIGl3ZFBhdGg7XG59XG5cbi8vIHRoaXMgZnVuY3Rpb24gbGF1bmNoZXMgYW4gaW5zdHJ1bWVudHMgdGVzdCB3aXRoIGEgZGVmYXVsdCB0ZXN0XG4vLyB0aGF0IGltbWVkaWF0ZWx5IHBhc3Nlcy4gSW4gdGhpcyB3YXkgd2UgY2FuIHN0YXJ0IGEgc2ltdWxhdG9yXG4vLyBhbmQgYmUgbm90aWZpZWQgd2hlbiBpdCBjb21wbGV0ZWx5IGxhdW5jaGVzXG5hc3luYyBmdW5jdGlvbiBxdWlja0xhdW5jaCAodWRpZCkge1xuICBsZXQgdHJhY2VUZW1wbGF0ZVBhdGggPSBhd2FpdCBnZXRYY29kZVRyYWNlVGVtcGxhdGVQYXRoKCk7XG4gIGxldCBhcHBQYXRoID0gcGF0aC5yZXNvbHZlKHJvb3REaXIsICdub2RlX21vZHVsZXMnLCAnaW9zLXRlc3QtYXBwJywgdGVzdEFwcFBhdGhbMV0pO1xuICBsZXQgc2NyaXB0UGF0aCA9IHBhdGgucmVzb2x2ZSgnLi4vYXNzZXRzL2JsYW5rX2luc3RydW1lbnRzX3Rlc3QuanMnKTtcbiAgbGV0IHRyYWNlRG9jdW1lbnQgPSBwYXRoLnJlc29sdmUoJy8nLCAndG1wJywgJ3Rlc3RUcmFjZS50cmFjZScpO1xuICBsZXQgcmVzdWx0c1BhdGggPSBwYXRoLnJlc29sdmUoJy8nLCAndG1wJyk7XG5cbiAgYXdhaXQgZXhlYygneGNydW4nLCBbJ2luc3RydW1lbnRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgJy1EJywgdHJhY2VEb2N1bWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgJy10JywgdHJhY2VUZW1wbGF0ZVBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICctdycsIHVkaWQsXG4gICAgICAgICAgICAgICAgICAgICAgIGFwcFBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICctZScsICdVSUFTQ1JJUFQnLCBzY3JpcHRQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAnLWUnLCAnVUlBUkVTVUxUU1BBVEgnLCByZXN1bHRzUGF0aF0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBxdWlja0luc3RydW1lbnRzIChvcHRzKSB7XG4gIG9wdHMgPSBfLmNsb25lRGVlcChvcHRzKTtcbiAgbGV0IHhjb2RlVHJhY2VUZW1wbGF0ZVBhdGggPSBhd2FpdCBnZXRYY29kZVRyYWNlVGVtcGxhdGVQYXRoKCk7XG4gIF8uZGVmYXVsdHMob3B0cywge1xuICAgICAgICBsYXVuY2hUaW1lb3V0OiA2MDAwMCxcbiAgICAgICAgdGVtcGxhdGU6IHhjb2RlVHJhY2VUZW1wbGF0ZVBhdGgsXG4gICAgICAgIHdpdGhvdXREZWxheTogdHJ1ZSxcbiAgICAgICAgeGNvZGVWZXJzaW9uOiAnOC4xJyxcbiAgICAgICAgd2ViU29ja2V0OiBudWxsLFxuICAgICAgICBmbGFrZXlSZXRyaWVzOiB0cnVlLFxuICAgICAgICBsb2dOb0NvbG9yczogZmFsc2UsXG4gIH0pO1xuICByZXR1cm4gbmV3IEluc3RydW1lbnRzKG9wdHMpO1xufVxuXG5leHBvcnQgeyByb290RGlyLCBnZXRYY29kZVRyYWNlVGVtcGxhdGVQYXRoLCBraWxsQWxsU2ltdWxhdG9ycywga2lsbEFsbEluc3RydW1lbnRzLCBjbGVhbkFsbFRyYWNlcyxcbiAgICAgICAgIGtpbGxBbGxTaW11bGF0b3JzLCBraWxsQWxsSW5zdHJ1bWVudHMgLCBnZXRJbnN0cnVtZW50c1BhdGgsIGdldEF2YWlsYWJsZURldmljZXMsXG4gICAgICAgICBwYXJzZUxhdW5jaFRpbWVvdXQsIGdldEl3ZFBhdGgsIHF1aWNrTGF1bmNoLCBxdWlja0luc3RydW1lbnRzIH07XG4iXX0=
//# sourceMappingURL=data:application/json;base64,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LE9BQU8sRUFDUCxJQUFJLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFDN0IsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFdBQVcsQ0FBQyxDQUFDOzs7Ozs7O0NBQzNEOztBQUVELFNBQWUsZ0JBQWdCLENBQUUsSUFBSTtNQUUvQixzQkFBc0I7Ozs7QUFEMUIsWUFBSSxHQUFHLG9CQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQzs7eUNBQ1UseUJBQXlCLEVBQUU7OztBQUExRCw4QkFBc0I7O0FBQzFCLDRCQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUU7QUFDWCx1QkFBYSxFQUFFLEtBQUs7QUFDcEIsa0JBQVEsRUFBRSxzQkFBc0I7QUFDaEMsc0JBQVksRUFBRSxJQUFJO0FBQ2xCLHNCQUFZLEVBQUUsS0FBSztBQUNuQixtQkFBUyxFQUFFLElBQUk7QUFDZix1QkFBYSxFQUFFLElBQUk7QUFDbkIscUJBQVcsRUFBRSxLQUFLO1NBQ3ZCLENBQUMsQ0FBQzs0Q0FDSSw2QkFBZ0IsSUFBSSxDQUFDOzs7Ozs7O0NBQzdCOztRQUVRLE9BQU8sR0FBUCxPQUFPO1FBQUUseUJBQXlCLEdBQXpCLHlCQUF5QjtRQUFFLGlCQUFpQixHQUFqQixpQkFBaUI7UUFBRSxrQkFBa0IsR0FBbEIsa0JBQWtCO1FBQUUsY0FBYyxHQUFkLGNBQWM7UUFDekYsaUJBQWlCLEdBQWpCLGlCQUFpQjtRQUFFLGtCQUFrQixHQUFsQixrQkFBa0I7UUFBRyxrQkFBa0IsR0FBbEIsa0JBQWtCO1FBQUUsbUJBQW1CLEdBQW5CLG1CQUFtQjtRQUMvRSxrQkFBa0IsR0FBbEIsa0JBQWtCO1FBQUUsVUFBVSxHQUFWLFVBQVU7UUFBRSxXQUFXLEdBQVgsV0FBVztRQUFFLGdCQUFnQixHQUFoQixnQkFBZ0IiLCJmaWxlIjoibGliL3V0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGV4ZWMgfSBmcm9tICd0ZWVuX3Byb2Nlc3MnO1xuaW1wb3J0IHsgZnMgfSBmcm9tICdhcHBpdW0tc3VwcG9ydCc7XG5pbXBvcnQgbG9nIGZyb20gJy4vbG9nZ2VyJztcbmltcG9ydCB4Y29kZSBmcm9tICdhcHBpdW0teGNvZGUnO1xuaW1wb3J0IHsgYWJzb2x1dGUgYXMgYWJzb2x1dGVUZXN0QXBwUGF0aCB9IGZyb20gJ2lvcy10ZXN0LWFwcCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IEluc3RydW1lbnRzIGZyb20gJy4vaW5zdHJ1bWVudHMnO1xubGV0IHJvb3REaXIgPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4vLi4nKTtcblxuY29uc3QgSU5TVF9TVEFMTF9USU1FT1VUID0gMTIwMDA7XG5cbmFzeW5jIGZ1bmN0aW9uIGdldFhjb2RlVHJhY2VUZW1wbGF0ZVBhdGggKCkge1xuICBsZXQge3N0ZG91dH0gPSBhd2FpdCBleGVjKCd4Y29kZS1zZWxlY3QnLCBbJy1wcmludC1wYXRoJ10pO1xuICBsZXQgeENvZGVQYXRoID0gc3Rkb3V0LnRyaW0oKS5yZXBsYWNlKCdcXG4kJywgJycpO1xuICBmb3IobGV0IGV4dCBvZiBbJ2J1bmRsZScsICd4cnBsdWdpbiddKSB7XG4gICAgbGV0IHRyYWNlVGVtcGxhdGVQYXRoID0gcGF0aC5yZXNvbHZlKHhDb2RlUGF0aCwgJy4uJywgJy4uJyxcbiAgICAgICdDb250ZW50cy9BcHBsaWNhdGlvbnMvSW5zdHJ1bWVudHMuYXBwJyxcbiAgICAgIGBDb250ZW50cy9QbHVnSW5zL0F1dG9tYXRpb25JbnN0cnVtZW50LiR7ZXh0fS9Db250ZW50cy9SZXNvdXJjZXMvYCArXG4gICAgICAgICdBdXRvbWF0aW9uLnRyYWNldGVtcGxhdGUnKTtcbiAgICBsZXQgZmQ7XG4gICAgdHJ5IHtcbiAgICAgIGZkID0gYXdhaXQgZnMub3Blbih0cmFjZVRlbXBsYXRlUGF0aCwgJ3InKTtcbiAgICAgIHJldHVybiB0cmFjZVRlbXBsYXRlUGF0aDtcbiAgICB9IGNhdGNoIChpZ24pIHt9XG4gICAgZmluYWxseSB7XG4gICAgICB0cnkgeyBpZiAoZmQpIHsgYXdhaXQgZnMuY2xvc2UoZmQpOyB9IH0gY2F0Y2ggKGlnbikge31cbiAgICB9XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgcmV0cmlldmUgdHJhY2UgdGVtcGxhdGUhJyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEluc3RydW1lbnRzUGF0aCAoKSB7XG4gIGxldCBpbnN0cnVtZW50c1BhdGg7XG4gIHRyeSB7XG4gICAgbGV0IHtzdGRvdXR9ID0gYXdhaXQgZXhlYygneGNydW4nLCBbJy1maW5kJywgJ2luc3RydW1lbnRzJ10pO1xuICAgIGlmICh0eXBlb2Ygc3Rkb3V0ID09PSBcInVuZGVmaW5lZFwiKSBzdGRvdXQgPSBcIlwiO1xuICAgIGluc3RydW1lbnRzUGF0aCA9IHN0ZG91dC50cmltKCkucmVwbGFjZSgnXFxuJCcsICcnKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKGVycikgbG9nLmVycm9yKGVyci5tZXNzYWdlKTtcbiAgfVxuICBpZiAoIWluc3RydW1lbnRzUGF0aCkge1xuICAgIGxvZy5lcnJvcihcIkNvdWxkIG5vdCBmaW5kIGluc3RydW1lbnRzIGJpbmFyeVwiKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZCBub3QgZmluZCB0aGUgaW5zdHJ1bWVudHMgXCIgK1xuICAgICAgICBcImJpbmFyeS4gUGxlYXNlIGVuc3VyZSBgeGNydW4gLWZpbmQgaW5zdHJ1bWVudHNgIGNhbiBsb2NhdGUgaXQuXCIpO1xuICB9XG4gIGxvZy5kZWJ1ZyhcIkluc3RydW1lbnRzIGlzIGF0OiBcIiArIGluc3RydW1lbnRzUGF0aCk7XG4gIHJldHVybiBpbnN0cnVtZW50c1BhdGg7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEF2YWlsYWJsZURldmljZXMgKCkge1xuICBsb2cuZGVidWcoXCJHZXR0aW5nIGxpc3Qgb2YgZGV2aWNlcyBpbnN0cnVtZW50cyBzdXBwb3J0c1wiKTtcbiAgbGV0IGluc3RydW1lbnRzUGF0aCA9IGF3YWl0IGdldEluc3RydW1lbnRzUGF0aCgpO1xuICBsZXQgb3B0cyA9IHt0aW1lb3V0OiBJTlNUX1NUQUxMX1RJTUVPVVR9O1xuICBsZXQgbGluZXM7XG4gIHRyeSB7XG4gICAgbGV0IHtzdGRvdXR9ID0gYXdhaXQgZXhlYyhpbnN0cnVtZW50c1BhdGgsIFsnLXMnLCAnZGV2aWNlcyddLCBvcHRzKTtcbiAgICBsaW5lcyA9IHN0ZG91dC5zcGxpdChcIlxcblwiKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nLmVycm9yKGVycik7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgZ2V0dGluZyBkZXZpY2VzLCBlcnI6ICR7ZXJyfS5gKTtcbiAgfVxuICBsZXQgZGV2aWNlcyA9IFtdO1xuICBmb3IobGV0IGxpbmUgb2YgbGluZXMpIHtcbiAgICBpZiAoL15pLiskLy50ZXN0KGxpbmUpKSB7XG4gICAgICBkZXZpY2VzLnB1c2gobGluZSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBkZXZpY2VzO1xufVxuXG5cbi8vIFRPRE86IHVzZSBzaW11bGF0b3IgcGFja2FnZVxuYXN5bmMgZnVuY3Rpb24ga2lsbEFsbFNpbXVsYXRvcnMgKCkge1xuICBsZXQgdmVyc2lvbiA9IGF3YWl0IHhjb2RlLmdldFZlcnNpb24oKTtcbiAgLy8gdGhpcyBpcyBjb250cmFyeSB0byBvdXIgdXN1YWwgcGF0dGVybiwgYnV0IGlmIGdldHRpbmcgdGhlIHhjb2RlIHZlcnNpb25cbiAgLy8gZmFpbHMsIHdlIGNvdWxkbid0IGhhdmUgc3RhcnRlZCBzaW11bGF0b3JzIGFueXdheXMvXG4gIGxvZy5kZWJ1ZyhcIktpbGxpbmcgYWxsIGlPUyBTaW11bGF0b3JcIik7XG4gIHRyeSB7XG4gICAgYXdhaXQgZXhlYygncGtpbGwnLCBbJy05JywgJy1mJyxcbiAgICAgIHZlcnNpb24gPj0gXCI2XCIgPyAnaU9TIFNpbXVsYXRvcicgOiAnaVBob25lU2ltdWxhdG9yJ10pO1xuICB9IGNhdGNoIChpZ24pIHt9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGtpbGxBbGxJbnN0cnVtZW50cyAoKSB7XG4gIGxvZy5kZWJ1ZyhcIktpbGxpbmcgYWxsIGluc3RydW1lbnRzXCIpO1xuICB0cnkge1xuICAgIGF3YWl0IGV4ZWMoJ3BraWxsJywgIFsnLWYnLCAnaW5zdHJ1bWVudHMnXSk7XG4gIH0gY2F0Y2ggKGlnbikge31cbn1cblxuYXN5bmMgZnVuY3Rpb24gY2xlYW5BbGxUcmFjZXMgKCkge1xuICBpZiAocHJvY2Vzcy5lbnYuQ0xFQU5fVFJBQ0VTKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGV4ZWMoJ3JtJywgWyctcmYnLCAnaW5zdHJ1bWVudHNjbGkqLnRyYWNlJ10pO1xuICAgIH0gY2F0Y2ggKGlnbikge31cbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUxhdW5jaFRpbWVvdXQgKGxhdW5jaFRpbWVvdXQpIHtcbiAgLy8gbnVtYmVyIG9yIG9iamVjdCBsaWtlIHsgZ2xvYmFsOiA0MDAwMCwgYWZ0ZXJTaW1MYXVuY2g6IDUwMDAgfVxuICAvLyBtYXkgYWxzbyBwYXJzZSBKU09OIHN0cmluZ3MuXG4gIGlmICh0eXBlb2YgbGF1bmNoVGltZW91dCA9PT0gJ3N0cmluZycpIHtcbiAgICB0cnkge1xuICAgICAgbGF1bmNoVGltZW91dCA9IEpTT04ucGFyc2UobGF1bmNoVGltZW91dCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBsb2cud2FybihcIkludmFsaWQgbGF1bmNoIHRpbWVvdXQ6IFwiICsgbGF1bmNoVGltZW91dCk7XG4gICAgfVxuICB9XG4gIGlmICh0eXBlb2YgbGF1bmNoVGltZW91dCA9PT0gJ251bWJlcicpIHtcbiAgICBsYXVuY2hUaW1lb3V0ID0ge1xuICAgICAgZ2xvYmFsOiBsYXVuY2hUaW1lb3V0XG4gICAgfTtcbiAgfVxuICByZXR1cm4gbGF1bmNoVGltZW91dDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0SXdkUGF0aCh4Y29kZVZlcnNpb24pIHtcbiAgeGNvZGVWZXJzaW9uID0gcGFyc2VJbnQoeGNvZGVWZXJzaW9uLCAxMCk7XG4gIGxldCB0aGlyZHBhcnR5UGF0aCA9IHBhdGgucmVzb2x2ZShyb290RGlyLCBcInRoaXJkcGFydHlcIik7XG4gIGxldCBpd2RQYXRoID0gcGF0aC5yZXNvbHZlKHRoaXJkcGFydHlQYXRoLCBgaXdkJHt4Y29kZVZlcnNpb259YCk7XG4gIGlmKCFhd2FpdCBmcy5leGlzdHMoaXdkUGF0aCkpIHtcbiAgICBpd2RQYXRoID0gcGF0aC5yZXNvbHZlKHRoaXJkcGFydHlQYXRoLCBgaXdkYCk7XG4gIH1cbiAgcmV0dXJuIGl3ZFBhdGg7XG59XG5cbi8vIHRoaXMgZnVuY3Rpb24gbGF1bmNoZXMgYW4gaW5zdHJ1bWVudHMgdGVzdCB3aXRoIGEgZGVmYXVsdCB0ZXN0XG4vLyB0aGF0IGltbWVkaWF0ZWx5IHBhc3Nlcy4gSW4gdGhpcyB3YXkgd2UgY2FuIHN0YXJ0IGEgc2ltdWxhdG9yXG4vLyBhbmQgYmUgbm90aWZpZWQgd2hlbiBpdCBjb21wbGV0ZWx5IGxhdW5jaGVzXG5hc3luYyBmdW5jdGlvbiBxdWlja0xhdW5jaCAodWRpZCkge1xuICBsZXQgdHJhY2VUZW1wbGF0ZVBhdGggPSBhd2FpdCBnZXRYY29kZVRyYWNlVGVtcGxhdGVQYXRoKCk7XG4gIGxldCBhcHBQYXRoID0gcGF0aC5yZXNvbHZlKHJvb3REaXIsICdub2RlX21vZHVsZXMnLCAnaW9zLXRlc3QtYXBwJywgYWJzb2x1dGVUZXN0QXBwUGF0aC5pcGhvbmVzaW11bGF0b3IpO1xuICBsZXQgc2NyaXB0UGF0aCA9IHBhdGgucmVzb2x2ZSgnLi4vYXNzZXRzL2JsYW5rX2luc3RydW1lbnRzX3Rlc3QuanMnKTtcbiAgbGV0IHRyYWNlRG9jdW1lbnQgPSBwYXRoLnJlc29sdmUoJy8nLCAndG1wJywgJ3Rlc3RUcmFjZS50cmFjZScpO1xuICBsZXQgcmVzdWx0c1BhdGggPSBwYXRoLnJlc29sdmUoJy8nLCAndG1wJyk7XG5cbiAgYXdhaXQgZXhlYygneGNydW4nLCBbJ2luc3RydW1lbnRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgJy1EJywgdHJhY2VEb2N1bWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgJy10JywgdHJhY2VUZW1wbGF0ZVBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICctdycsIHVkaWQsXG4gICAgICAgICAgICAgICAgICAgICAgIGFwcFBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICctZScsICdVSUFTQ1JJUFQnLCBzY3JpcHRQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAnLWUnLCAnVUlBUkVTVUxUU1BBVEgnLCByZXN1bHRzUGF0aF0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBxdWlja0luc3RydW1lbnRzIChvcHRzKSB7XG4gIG9wdHMgPSBfLmNsb25lRGVlcChvcHRzKTtcbiAgbGV0IHhjb2RlVHJhY2VUZW1wbGF0ZVBhdGggPSBhd2FpdCBnZXRYY29kZVRyYWNlVGVtcGxhdGVQYXRoKCk7XG4gIF8uZGVmYXVsdHMob3B0cywge1xuICAgICAgICBsYXVuY2hUaW1lb3V0OiA2MDAwMCxcbiAgICAgICAgdGVtcGxhdGU6IHhjb2RlVHJhY2VUZW1wbGF0ZVBhdGgsXG4gICAgICAgIHdpdGhvdXREZWxheTogdHJ1ZSxcbiAgICAgICAgeGNvZGVWZXJzaW9uOiAnOC4xJyxcbiAgICAgICAgd2ViU29ja2V0OiBudWxsLFxuICAgICAgICBmbGFrZXlSZXRyaWVzOiB0cnVlLFxuICAgICAgICBsb2dOb0NvbG9yczogZmFsc2UsXG4gIH0pO1xuICByZXR1cm4gbmV3IEluc3RydW1lbnRzKG9wdHMpO1xufVxuXG5leHBvcnQgeyByb290RGlyLCBnZXRYY29kZVRyYWNlVGVtcGxhdGVQYXRoLCBraWxsQWxsU2ltdWxhdG9ycywga2lsbEFsbEluc3RydW1lbnRzLCBjbGVhbkFsbFRyYWNlcyxcbiAgICAgICAgIGtpbGxBbGxTaW11bGF0b3JzLCBraWxsQWxsSW5zdHJ1bWVudHMgLCBnZXRJbnN0cnVtZW50c1BhdGgsIGdldEF2YWlsYWJsZURldmljZXMsXG4gICAgICAgICBwYXJzZUxhdW5jaFRpbWVvdXQsIGdldEl3ZFBhdGgsIHF1aWNrTGF1bmNoLCBxdWlja0luc3RydW1lbnRzIH07XG4iXX0=

@@ -445,2 +445,2 @@ require('source-map-support').install();

// TODO: cleanup this
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvZTJlL2Jhc2ljcy1lMmUtc3BlY3MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7aUJBRW1DLE9BQU87O29CQUN6QixNQUFNOzs7OzhCQUNJLGtCQUFrQjs7OztRQUN0QyxXQUFXOztvQkFDRCxNQUFNOzs7O3NCQUNULFFBQVE7Ozs7NkJBQ0ssZ0JBQWdCOzs0QkFDdEIsY0FBYzs7d0JBQ0MsaUJBQWlCOzt3QkFDL0IsVUFBVTs7MEJBQ1IsY0FBYzs7OztBQUV0QyxrQkFBSyxNQUFNLEVBQUUsQ0FBQztBQUNkLGtCQUFLLEdBQUcsNkJBQWdCLENBQUM7O0FBRXpCLElBQUksc0JBQXNCLEdBQUcsS0FBSyxDQUFDO0FBQ25DLElBQUksUUFBUSxHQUFHLGtCQUFLLE9BQU8sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7O0FBRTlDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxZQUFZO0FBQ3hDLE1BQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRXBCLFdBQWUsYUFBYSxDQUFDLElBQUk7Ozs7QUFDL0IsOEJBQUUsTUFBTSxDQUFDLElBQUksRUFBRTtBQUNiLGVBQUcsRUFBRSxrQkFBSyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsd0JBQVksQ0FBQyxDQUFDLENBQUM7QUFDOUYscUJBQVMsRUFBRSxrQkFBSyxPQUFPLENBQUMsU0FBUyxFQUFFLHdCQUF3QixDQUFDO0FBQzVELGlDQUFxQixFQUFFLDBCQUEwQjtXQUNsRCxDQUFDLENBQUM7OzJDQUNVLEdBM0JSLFdBQVcsQ0EyQlMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDOzs7Ozs7Ozs7O0dBQ2hEOztBQUVELFdBQVMsSUFBSSxDQUFDLFVBQVUsRUFBRyxJQUFJLEVBQUUsTUFBTSxFQUFFOzs7QUFDdkMsVUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7QUFDdEIsUUFBSSxXQUFX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Q0FBQyxZQW5LeEIsbUJBQW1CLENBbUs0Qjs7O0FBQTlDLG1CQUFPOztBQUNYLGdCQUFJLE1BQU0sSUFBSSxHQUFHLEVBQUU7QUFDakIscUJBQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEMscUJBQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO2FBQy9ELE1BQU07QUFDTCxxQkFBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2hDOzs7Ozs7O0tBQ0YsQ0FBQyxDQUFDO0dBQ0osQ0FBQyxDQUFDO0NBQ0osQ0FBQyxDQUFDIiwiZmlsZSI6InRlc3QvZTJlL2Jhc2ljcy1lMmUtc3BlY3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0cmFuc3BpbGU6bW9jaGFcblxuaW1wb3J0IHsgSW5zdHJ1bWVudHMsIHV0aWxzIH0gZnJvbSAnLi4vLi4nO1xuaW1wb3J0IGNoYWkgZnJvbSAnY2hhaSc7XG5pbXBvcnQgY2hhaUFzUHJvbWlzZWQgZnJvbSAnY2hhaS1hcy1wcm9taXNlZCc7XG5pbXBvcnQgJ21vY2hhd2FpdCc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBmcywgcmltcmFmIH0gZnJvbSAnYXBwaXVtLXN1cHBvcnQnO1xuaW1wb3J0IHsgZXhlYyB9IGZyb20gJ3RlZW5fcHJvY2Vzcyc7XG5pbXBvcnQgeyBnZXRBdmFpbGFibGVEZXZpY2VzIH0gZnJvbSAnLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB7IHJldHJ5IH0gZnJvbSAnYXN5bmNib3gnO1xuaW1wb3J0IHRlc3RBcHBQYXRoIGZyb20gJ2lvcy10ZXN0LWFwcCc7XG5cbmNoYWkuc2hvdWxkKCk7XG5jaGFpLnVzZShjaGFpQXNQcm9taXNlZCk7XG5cbnZhciBMQVVOQ0hfSEFORExFUl9USU1FT1VUID0gMTAwMDA7XG52YXIgVEVNUF9ESVIgPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAndG1wJyk7XG5cbmRlc2NyaWJlKCdpbnN0cnVtZW50cyB0ZXN0cycsIGZ1bmN0aW9uICgpIHtcbiAgdGhpcy50aW1lb3V0KDkwMDAwKTtcblxuICBhc3luYyBmdW5jdGlvbiBuZXdJbnN0cnVtZW50KG9wdHMpIHtcbiAgICBfLmV4dGVuZChvcHRzLCB7XG4gICAgICBhcHA6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLicsICcuLicsICcuLicsICdub2RlX21vZHVsZXMnLCAnaW9zLXRlc3QtYXBwJywgdGVzdEFwcFBhdGhbMV0pLFxuICAgICAgYm9vdHN0cmFwOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4vYXNzZXRzL2Jvb3RzdHJhcC5qcycpLFxuICAgICAgc2ltdWxhdG9yU2RrQW5kRGV2aWNlOiAnaVBob25lIDYgKDguMSBTaW11bGF0b3IpJ1xuICAgIH0pO1xuICAgIHJldHVybiBhd2FpdCBJbnN0cnVtZW50cy5xdWlja0luc3RydW1lbnRzKG9wdHMpO1xuICB9XG5cbiAgZnVuY3Rpb24gdGVzdChhcHBlbmREZXNjICwgb3B0cywgY2hlY2tzKSB7XG4gICAgY2hlY2tzID0gY2hlY2tzIHx8IHt9O1xuICAgIGxldCBpbnN0cnVtZW50cztcblxuICAgIGl0KCdzaG91bGQgbGF1bmNoJyArIGFwcGVuZERlc2MsIGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHV0aWxzLmtpbGxBbGxTaW11bGF0b3JzKCk7XG4gICAgICBpbnN0cnVtZW50cyA9IGF3YWl0IG5ld0luc3RydW1lbnQob3B0cyk7XG4gICAgICBpZiAoY2hlY2tzLmFmdGVyQ3JlYXRlKXtcbiAgICAgICAgYXdhaXQgY2hlY2tzLmFmdGVyQ3JlYXRlKGluc3RydW1lbnRzKTtcbiAgICAgIH1cbiAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICBpZihpbnN0cnVtZW50cy5sYXVuY2hSZXN1bHREZWZlcnJlZCkge1xuICAgICAgICAgIGluc3RydW1lbnRzLmxhdW5jaFJlc3VsdERlZmVycmVkLnJlc29sdmUoKTtcbiAgICAgICAgfVxuICAgICAgfSwgTEFVTkNIX0hBTkRMRVJfVElNRU9VVCk7XG4gICAgICBhd2FpdCBpbnN0cnVtZW50cy5sYXVuY2goKTtcbiAgICAgIGlmIChjaGVja3MuYWZ0ZXJMYXVuY2gpIGF3YWl0IGNoZWNrcy5hZnRlckxhdW5jaChpbnN0cnVtZW50cyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNodXRkb3duJyArIGFwcGVuZERlc2MsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IGluc3RydW1lbnRzLnNodXRkb3duKCk7XG4gICAgfSk7XG4gIH1cblxuICBkZXNjcmliZSgncmVndWxhciB0aW1lb3V0JywgZnVuY3Rpb24gKCkge1xuICAgIHRlc3QoJycsIHtsYXVuY2hUaW1lb3V0OiA2MDAwMH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnc21hcnQgdGltZW91dCcsIGZ1bmN0aW9uICgpIHtcbiAgICB0ZXN0KCcnLCB7bGF1bmNoVGltZW91dDoge2dsb2JhbDogNjAwMDAsIGFmdGVyU2ltTGF1bmNoOiAxMDAwMH19KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUuc2tpcChcInVzaW5nIGRpZmZlcmVudCB0bXAgZGlyXCIsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgYWx0VG1wRGlyID0gcGF0aC5yZXNvbHZlKFRFTVBfRElSLCAnYWJjZCcpO1xuXG4gICAgYmVmb3JlKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIHRyYXZpcyBjYW4ndCB3cml0ZSB0byAvdG1wLCBzbyBsZXQncyBjcmVhdGUgYSB0bXAgZGlyZWN0b3J5XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBmcy5ta2RpcihURU1QX0RJUik7XG4gICAgICB9IGNhdGNoIChlKSB7fVxuXG4gICAgICBhd2FpdCByaW1yYWYoYWx0VG1wRGlyKTtcbiAgICB9KTtcblxuICAgIGFmdGVyKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IHJpbXJhZihURU1QX0RJUik7XG4gICAgfSk7XG5cbiAgICB0ZXN0KFwiICgxKVwiLCB7XG4gICAgICBsYXVuY2hUaW1lb3V0OiB7Z2xvYmFsOiA2MDAwMCwgYWZ0ZXJTaW1MYXVuY2g6IDEwMDAwfSxcbiAgICAgIHRtcERpcjogYWx0VG1wRGlyXG4gICAgfSwge1xuICAgICAgYWZ0ZXJDcmVhdGU6IGZ1bmN0aW9uIChpbnN0cnVtZW50cykgeyBpbnN0cnVtZW50cy50bXBEaXIuc2hvdWxkLmVxdWFsKGFsdFRtcERpcik7IH0sXG4gICAgICBhZnRlckxhdW5jaDogYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICAoYXdhaXQgZnMuZXhpc3RzKGFsdFRtcERpcikpLnNob3VsZC5iZS5vaztcbiAgICAgICAgKGF3YWl0IGZzLmV4aXN0cyhwYXRoLnJlc29sdmUoYWx0VG1wRGlyLCAnaW5zdHJ1bWVudHNjbGkwLnRyYWNlJykpKS5zaG91bGQuYmUub2s7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvL3Rlc3QoXCIgKDIpXCIsIHtcbiAgICAgIC8vbGF1bmNoVGltZW91dDoge2dsb2JhbDogNjAwMDAsIGFmdGVyU2ltTGF1bmNoOiAxMDAwMH0sXG4gICAgICAvL3RtcERpcjogYWx0VG1wRGlyXG4gICAgLy99LCB7XG4gICAgICAvL2FmdGVyQ3JlYXRlOiBmdW5jdGlvbiAoaW5zdHJ1bWVudHMpIHsgaW5zdHJ1bWVudHMudG1wRGlyLnNob3VsZC5lcXVhbChhbHRUbXBEaXIpOyB9LFxuICAgICAgLy9hZnRlckxhdW5jaDogYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICAvLyhhd2FpdCBmcy5leGlzdHMoYWx0VG1wRGlyKSkuc2hvdWxkLmJlLm9rO1xuICAgICAgICAvLy8vIHRtcCBkaXIgaXMgZGVsZXRlZCBhdCBzdGFydHVwIHNvIHRyYWNlIGZpbGUgaXMgbm90IGluY3JlbWVudGVkXG4gICAgICAgIC8vKGF3YWl0IGZzLmV4aXN0cyhwYXRoLnJlc29sdmUoYWx0VG1wRGlyLCAnaW5zdHJ1bWVudHNjbGkwLnRyYWNlJykpKS5zaG91bGQuYmUub2s7XG4gICAgICAvL31cbiAgICAvL30pO1xuICB9KTtcblxuICBkZXNjcmliZS5za2lwKFwidXNpbmcgZGlmZmVyZW50IHRyYWNlIGRpclwiLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGFsdFRyYWNlRGlyID0gcGF0aC5yZXNvbHZlKFRFTVBfRElSLCAnYWJjZCcpO1xuXG4gICAgYmVmb3JlKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIHRyYXZpcyBjYW4ndCB3cml0ZSB0byAvdG1wLCBzbyBsZXQncyBjcmVhdGUgYSB0bXAgZGlyZWN0b3J5XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBmcy5ta2RpcihURU1QX0RJUik7XG4gICAgICB9IGNhdGNoIChlKSB7fVxuXG4gICAgICBhd2FpdCByaW1yYWYoYWx0VHJhY2VEaXIpO1xuICAgIH0pO1xuXG4gICAgYWZ0ZXIoYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgcmltcmFmKFRFTVBfRElSKTtcbiAgICB9KTtcblxuICAgIHRlc3QoXCIgKDEpXCIsIHtcbiAgICAgIGxhdW5jaFRpbWVvdXQ6IHtnbG9iYWw6IDYwMDAwLCBhZnRlclNpbUxhdW5jaDogMTAwMDB9LFxuICAgICAgdHJhY2VEaXI6IGFsdFRyYWNlRGlyXG4gICAgfSwge1xuICAgICAgYWZ0ZXJDcmVhdGU6IGZ1bmN0aW9uIChpbnN0cnVtZW50cykge1xuICAgICAgICBpbnN0cnVtZW50cy50bXBEaXIuc2hvdWxkLmVxdWFsKCcvdG1wL2FwcGl1bS1pbnN0cnVtZW50cycpO1xuICAgICAgfSxcbiAgICAgIGFmdGVyTGF1bmNoOiBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIChhd2FpdCBmcy5leGlzdHMoYWx0VHJhY2VEaXIpKS5zaG91bGQuYmUub2s7XG4gICAgICAgIChhd2FpdCBmcy5leGlzdHMocGF0aC5yZXNvbHZlKGFsdFRyYWNlRGlyLCAnaW5zdHJ1bWVudHNjbGkwLnRyYWNlJykpKVxuICAgICAgICAgIC5zaG91bGQuYmUub2s7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0ZXN0KFwiICgyKVwiLCB7XG4gICAgICBsYXVuY2hUaW1lb3V0OiB7Z2xvYmFsOiA2MDAwMCwgYWZ0ZXJTaW1MYXVuY2g6IDEwMDAwfSxcbiAgICAgIHRyYWNlRGlyOiBhbHRUcmFjZURpclxuICAgIH0sIHtcbiAgICAgIGFmdGVyQ3JlYXRlOiBmdW5jdGlvbiAoaW5zdHJ1bWVudHMpIHtcbiAgICAgICAgaW5zdHJ1bWVudHMudG1wRGlyLnNob3VsZC5lcXVhbCgnL3RtcC9hcHBpdW0taW5zdHJ1bWVudHMnKTtcbiAgICAgIH0sXG4gICAgICBhZnRlckxhdW5jaDogYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICAoYXdhaXQgZnMuZXhpc3RzKGFsdFRyYWNlRGlyKSkuc2hvdWxkLmJlLm9rO1xuICAgICAgICAoYXdhaXQgZnMuZXhpc3RzKHBhdGgucmVzb2x2ZShhbHRUcmFjZURpciwgJ2luc3RydW1lbnRzY2xpMS50cmFjZScpKSlcbiAgICAgICAgICAuc2hvdWxkLmJlLm9rO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZShcInNodXRkb3duIHdpdGhvdXQgc3RhcnR1cFwiLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCBsYXVuY2gnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCB1dGlscy5raWxsQWxsU2ltdWxhdG9ycygpO1xuICAgICAgbGV0IGluc3RydW1lbnRzID0gYXdhaXQgbmV3SW5zdHJ1bWVudCh7bGF1bmNoVGltZW91dDogNjAwMDB9KTtcbiAgICAgIC8vIFRPRE86IGNsZWFudXAgdGhpc1xuICAgICAgYXdhaXQgKGluc3RydW1lbnRzLnNodXRkb3duKCkpLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoL0luc3RydW1lbnRzIGRpZCBub3QgdGVybWluYXRlIGFmdGVyLyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vIHdvcmtzIG9ubHkgb24gNy4xXG4gIGRlc2NyaWJlKFwiZ2V0dGluZyBkZXZpY2VzXCIsIGZ1bmN0aW9uICgpIHtcbiAgICBiZWZvcmUoYXN5bmMgKCkgPT4geyBhd2FpdCB1dGlscy5raWxsQWxsU2ltdWxhdG9ycygpOyB9KTtcblxuICAgIGl0KCdzaG91bGQgZ2V0IGFsbCBhdmFpbGFibGUgZGV2aWNlcycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGxldCBpb3NWZXI7XG4gICAgICB0cnkge1xuICAgICAgICBsZXQge3N0ZG91dH0gPSBhd2FpdCBleGVjKCd4Y3J1bicsIFsnLS1zZGsnLCAnaXBob25lc2ltdWxhdG9yJywgJy0tc2hvdy1zZGstdmVyc2lvbiddKTtcbiAgICAgICAgaW9zVmVyID0gcGFyc2VGbG9hdChzdGRvdXQpO1xuICAgICAgfSBjYXRjaCAoaWduKSB7fVxuICAgICAgaWYgKHR5cGVvZiBpb3NWZXIgIT09IFwibnVtYmVyXCIgfHwgaXNOYU4oaW9zVmVyKSkge1xuICAgICAgICAvLyBUT0RPOiB0aGlzIGlzIHdlaXJkXG4gICAgICAgIGNvbnNvbGUud2FybihcIkNvdWxkbid0IGdldCBpT1Mgc2RrIHZlcnNpb24sIHNraXBwaW5nIHRlc3RcIik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGxldCBkZXZpY2VzID0gYXdhaXQgcmV0cnkoMyAsIGdldEF2YWlsYWJsZURldmljZXMpO1xuICAgICAgaWYgKGlvc1ZlciA+PSA3LjEpIHtcbiAgICAgICAgZGV2aWNlcy5sZW5ndGguc2hvdWxkLmJlLmFib3ZlKDApO1xuICAgICAgICBkZXZpY2VzLmpvaW4oJ1xcbicpLnNob3VsZC5pbmNsdWRlKFwiaVBob25lIDYgKDguMSBTaW11bGF0b3IpXCIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGV2aWNlcy5sZW5ndGguc2hvdWxkLmVxdWFsKDApO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvZTJlL2Jhc2ljcy1lMmUtc3BlY3MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7aUJBRW1DLE9BQU87O29CQUN6QixNQUFNOzs7OzhCQUNJLGtCQUFrQjs7OztRQUN0QyxXQUFXOztvQkFDRCxNQUFNOzs7O3NCQUNULFFBQVE7Ozs7NkJBQ0ssZ0JBQWdCOzs0QkFDdEIsY0FBYzs7d0JBQ0MsaUJBQWlCOzt3QkFDL0IsVUFBVTs7MEJBQ1IsY0FBYzs7OztBQUV0QyxrQkFBSyxNQUFNLEVBQUUsQ0FBQztBQUNkLGtCQUFLLEdBQUcsNkJBQWdCLENBQUM7O0FBRXpCLElBQUksc0JBQXNCLEdBQUcsS0FBSyxDQUFDO0FBQ25DLElBQUksUUFBUSxHQUFHLGtCQUFLLE9BQU8sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7O0FBRTlDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxZQUFZO0FBQ3hDLE1BQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRXBCLFdBQWUsYUFBYSxDQUFDLElBQUk7Ozs7QUFDL0IsOEJBQUUsTUFBTSxDQUFDLElBQUksRUFBRTtBQUNiLGVBQUcsRUFBRSxrQkFBSyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsd0JBQVksQ0FBQyxDQUFDLENBQUM7QUFDOUYscUJBQVMsRUFBRSxrQkFBSyxPQUFPLENBQUMsU0FBUyxFQUFFLHdCQUF3QixDQUFDO0FBQzVELGlDQUFxQixFQUFFLDBCQUEwQjtXQUNsRCxDQUFDLENBQUM7OzJDQUNVLGVBQVksZ0JBQWdCLENBQUMsSUFBSSxDQUFDOzs7Ozs7Ozs7O0dBQ2hEOztBQUVELFdBQVMsSUFBSSxDQUFDLFVBQVUsRUFBRyxJQUFJLEVBQUUsTUFBTSxFQUFFOzs7QUFDdkMsVUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7QUFDdEIsUUFBSSxXQUFXLFlBQUEsQ0FBQzs7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Qy9ELE1BQU07QUFDTCxxQkFBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2hDOzs7Ozs7O0tBQ0YsQ0FBQyxDQUFDO0dBQ0osQ0FBQyxDQUFDO0NBQ0osQ0FBQyxDQUFDIiwiZmlsZSI6InRlc3QvZTJlL2Jhc2ljcy1lMmUtc3BlY3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0cmFuc3BpbGU6bW9jaGFcblxuaW1wb3J0IHsgSW5zdHJ1bWVudHMsIHV0aWxzIH0gZnJvbSAnLi4vLi4nO1xuaW1wb3J0IGNoYWkgZnJvbSAnY2hhaSc7XG5pbXBvcnQgY2hhaUFzUHJvbWlzZWQgZnJvbSAnY2hhaS1hcy1wcm9taXNlZCc7XG5pbXBvcnQgJ21vY2hhd2FpdCc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBmcywgcmltcmFmIH0gZnJvbSAnYXBwaXVtLXN1cHBvcnQnO1xuaW1wb3J0IHsgZXhlYyB9IGZyb20gJ3RlZW5fcHJvY2Vzcyc7XG5pbXBvcnQgeyBnZXRBdmFpbGFibGVEZXZpY2VzIH0gZnJvbSAnLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB7IHJldHJ5IH0gZnJvbSAnYXN5bmNib3gnO1xuaW1wb3J0IHRlc3RBcHBQYXRoIGZyb20gJ2lvcy10ZXN0LWFwcCc7XG5cbmNoYWkuc2hvdWxkKCk7XG5jaGFpLnVzZShjaGFpQXNQcm9taXNlZCk7XG5cbnZhciBMQVVOQ0hfSEFORExFUl9USU1FT1VUID0gMTAwMDA7XG52YXIgVEVNUF9ESVIgPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAndG1wJyk7XG5cbmRlc2NyaWJlKCdpbnN0cnVtZW50cyB0ZXN0cycsIGZ1bmN0aW9uICgpIHtcbiAgdGhpcy50aW1lb3V0KDkwMDAwKTtcblxuICBhc3luYyBmdW5jdGlvbiBuZXdJbnN0cnVtZW50KG9wdHMpIHtcbiAgICBfLmV4dGVuZChvcHRzLCB7XG4gICAgICBhcHA6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLicsICcuLicsICcuLicsICdub2RlX21vZHVsZXMnLCAnaW9zLXRlc3QtYXBwJywgdGVzdEFwcFBhdGhbMV0pLFxuICAgICAgYm9vdHN0cmFwOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4vYXNzZXRzL2Jvb3RzdHJhcC5qcycpLFxuICAgICAgc2ltdWxhdG9yU2RrQW5kRGV2aWNlOiAnaVBob25lIDYgKDguMSBTaW11bGF0b3IpJ1xuICAgIH0pO1xuICAgIHJldHVybiBhd2FpdCBJbnN0cnVtZW50cy5xdWlja0luc3RydW1lbnRzKG9wdHMpO1xuICB9XG5cbiAgZnVuY3Rpb24gdGVzdChhcHBlbmREZXNjICwgb3B0cywgY2hlY2tzKSB7XG4gICAgY2hlY2tzID0gY2hlY2tzIHx8IHt9O1xuICAgIGxldCBpbnN0cnVtZW50cztcblxuICAgIGl0KCdzaG91bGQgbGF1bmNoJyArIGFwcGVuZERlc2MsIGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHV0aWxzLmtpbGxBbGxTaW11bGF0b3JzKCk7XG4gICAgICBpbnN0cnVtZW50cyA9IGF3YWl0IG5ld0luc3RydW1lbnQob3B0cyk7XG4gICAgICBpZiAoY2hlY2tzLmFmdGVyQ3JlYXRlKXtcbiAgICAgICAgYXdhaXQgY2hlY2tzLmFmdGVyQ3JlYXRlKGluc3RydW1lbnRzKTtcbiAgICAgIH1cbiAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICBpZihpbnN0cnVtZW50cy5sYXVuY2hSZXN1bHREZWZlcnJlZCkge1xuICAgICAgICAgIGluc3RydW1lbnRzLmxhdW5jaFJlc3VsdERlZmVycmVkLnJlc29sdmUoKTtcbiAgICAgICAgfVxuICAgICAgfSwgTEFVTkNIX0hBTkRMRVJfVElNRU9VVCk7XG4gICAgICBhd2FpdCBpbnN0cnVtZW50cy5sYXVuY2goKTtcbiAgICAgIGlmIChjaGVja3MuYWZ0ZXJMYXVuY2gpIGF3YWl0IGNoZWNrcy5hZnRlckxhdW5jaChpbnN0cnVtZW50cyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNodXRkb3duJyArIGFwcGVuZERlc2MsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IGluc3RydW1lbnRzLnNodXRkb3duKCk7XG4gICAgfSk7XG4gIH1cblxuICBkZXNjcmliZSgncmVndWxhciB0aW1lb3V0JywgZnVuY3Rpb24gKCkge1xuICAgIHRlc3QoJycsIHtsYXVuY2hUaW1lb3V0OiA2MDAwMH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnc21hcnQgdGltZW91dCcsIGZ1bmN0aW9uICgpIHtcbiAgICB0ZXN0KCcnLCB7bGF1bmNoVGltZW91dDoge2dsb2JhbDogNjAwMDAsIGFmdGVyU2ltTGF1bmNoOiAxMDAwMH19KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUuc2tpcChcInVzaW5nIGRpZmZlcmVudCB0bXAgZGlyXCIsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgYWx0VG1wRGlyID0gcGF0aC5yZXNvbHZlKFRFTVBfRElSLCAnYWJjZCcpO1xuXG4gICAgYmVmb3JlKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIHRyYXZpcyBjYW4ndCB3cml0ZSB0byAvdG1wLCBzbyBsZXQncyBjcmVhdGUgYSB0bXAgZGlyZWN0b3J5XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBmcy5ta2RpcihURU1QX0RJUik7XG4gICAgICB9IGNhdGNoIChlKSB7fVxuXG4gICAgICBhd2FpdCByaW1yYWYoYWx0VG1wRGlyKTtcbiAgICB9KTtcblxuICAgIGFmdGVyKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IHJpbXJhZihURU1QX0RJUik7XG4gICAgfSk7XG5cbiAgICB0ZXN0KFwiICgxKVwiLCB7XG4gICAgICBsYXVuY2hUaW1lb3V0OiB7Z2xvYmFsOiA2MDAwMCwgYWZ0ZXJTaW1MYXVuY2g6IDEwMDAwfSxcbiAgICAgIHRtcERpcjogYWx0VG1wRGlyXG4gICAgfSwge1xuICAgICAgYWZ0ZXJDcmVhdGU6IGZ1bmN0aW9uIChpbnN0cnVtZW50cykgeyBpbnN0cnVtZW50cy50bXBEaXIuc2hvdWxkLmVxdWFsKGFsdFRtcERpcik7IH0sXG4gICAgICBhZnRlckxhdW5jaDogYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICAoYXdhaXQgZnMuZXhpc3RzKGFsdFRtcERpcikpLnNob3VsZC5iZS5vaztcbiAgICAgICAgKGF3YWl0IGZzLmV4aXN0cyhwYXRoLnJlc29sdmUoYWx0VG1wRGlyLCAnaW5zdHJ1bWVudHNjbGkwLnRyYWNlJykpKS5zaG91bGQuYmUub2s7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvL3Rlc3QoXCIgKDIpXCIsIHtcbiAgICAgIC8vbGF1bmNoVGltZW91dDoge2dsb2JhbDogNjAwMDAsIGFmdGVyU2ltTGF1bmNoOiAxMDAwMH0sXG4gICAgICAvL3RtcERpcjogYWx0VG1wRGlyXG4gICAgLy99LCB7XG4gICAgICAvL2FmdGVyQ3JlYXRlOiBmdW5jdGlvbiAoaW5zdHJ1bWVudHMpIHsgaW5zdHJ1bWVudHMudG1wRGlyLnNob3VsZC5lcXVhbChhbHRUbXBEaXIpOyB9LFxuICAgICAgLy9hZnRlckxhdW5jaDogYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICAvLyhhd2FpdCBmcy5leGlzdHMoYWx0VG1wRGlyKSkuc2hvdWxkLmJlLm9rO1xuICAgICAgICAvLy8vIHRtcCBkaXIgaXMgZGVsZXRlZCBhdCBzdGFydHVwIHNvIHRyYWNlIGZpbGUgaXMgbm90IGluY3JlbWVudGVkXG4gICAgICAgIC8vKGF3YWl0IGZzLmV4aXN0cyhwYXRoLnJlc29sdmUoYWx0VG1wRGlyLCAnaW5zdHJ1bWVudHNjbGkwLnRyYWNlJykpKS5zaG91bGQuYmUub2s7XG4gICAgICAvL31cbiAgICAvL30pO1xuICB9KTtcblxuICBkZXNjcmliZS5za2lwKFwidXNpbmcgZGlmZmVyZW50IHRyYWNlIGRpclwiLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGFsdFRyYWNlRGlyID0gcGF0aC5yZXNvbHZlKFRFTVBfRElSLCAnYWJjZCcpO1xuXG4gICAgYmVmb3JlKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIHRyYXZpcyBjYW4ndCB3cml0ZSB0byAvdG1wLCBzbyBsZXQncyBjcmVhdGUgYSB0bXAgZGlyZWN0b3J5XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBmcy5ta2RpcihURU1QX0RJUik7XG4gICAgICB9IGNhdGNoIChlKSB7fVxuXG4gICAgICBhd2FpdCByaW1yYWYoYWx0VHJhY2VEaXIpO1xuICAgIH0pO1xuXG4gICAgYWZ0ZXIoYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgcmltcmFmKFRFTVBfRElSKTtcbiAgICB9KTtcblxuICAgIHRlc3QoXCIgKDEpXCIsIHtcbiAgICAgIGxhdW5jaFRpbWVvdXQ6IHtnbG9iYWw6IDYwMDAwLCBhZnRlclNpbUxhdW5jaDogMTAwMDB9LFxuICAgICAgdHJhY2VEaXI6IGFsdFRyYWNlRGlyXG4gICAgfSwge1xuICAgICAgYWZ0ZXJDcmVhdGU6IGZ1bmN0aW9uIChpbnN0cnVtZW50cykge1xuICAgICAgICBpbnN0cnVtZW50cy50bXBEaXIuc2hvdWxkLmVxdWFsKCcvdG1wL2FwcGl1bS1pbnN0cnVtZW50cycpO1xuICAgICAgfSxcbiAgICAgIGFmdGVyTGF1bmNoOiBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIChhd2FpdCBmcy5leGlzdHMoYWx0VHJhY2VEaXIpKS5zaG91bGQuYmUub2s7XG4gICAgICAgIChhd2FpdCBmcy5leGlzdHMocGF0aC5yZXNvbHZlKGFsdFRyYWNlRGlyLCAnaW5zdHJ1bWVudHNjbGkwLnRyYWNlJykpKVxuICAgICAgICAgIC5zaG91bGQuYmUub2s7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0ZXN0KFwiICgyKVwiLCB7XG4gICAgICBsYXVuY2hUaW1lb3V0OiB7Z2xvYmFsOiA2MDAwMCwgYWZ0ZXJTaW1MYXVuY2g6IDEwMDAwfSxcbiAgICAgIHRyYWNlRGlyOiBhbHRUcmFjZURpclxuICAgIH0sIHtcbiAgICAgIGFmdGVyQ3JlYXRlOiBmdW5jdGlvbiAoaW5zdHJ1bWVudHMpIHtcbiAgICAgICAgaW5zdHJ1bWVudHMudG1wRGlyLnNob3VsZC5lcXVhbCgnL3RtcC9hcHBpdW0taW5zdHJ1bWVudHMnKTtcbiAgICAgIH0sXG4gICAgICBhZnRlckxhdW5jaDogYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICAoYXdhaXQgZnMuZXhpc3RzKGFsdFRyYWNlRGlyKSkuc2hvdWxkLmJlLm9rO1xuICAgICAgICAoYXdhaXQgZnMuZXhpc3RzKHBhdGgucmVzb2x2ZShhbHRUcmFjZURpciwgJ2luc3RydW1lbnRzY2xpMS50cmFjZScpKSlcbiAgICAgICAgICAuc2hvdWxkLmJlLm9rO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZShcInNodXRkb3duIHdpdGhvdXQgc3RhcnR1cFwiLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCBsYXVuY2gnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCB1dGlscy5raWxsQWxsU2ltdWxhdG9ycygpO1xuICAgICAgbGV0IGluc3RydW1lbnRzID0gYXdhaXQgbmV3SW5zdHJ1bWVudCh7bGF1bmNoVGltZW91dDogNjAwMDB9KTtcbiAgICAgIC8vIFRPRE86IGNsZWFudXAgdGhpc1xuICAgICAgYXdhaXQgKGluc3RydW1lbnRzLnNodXRkb3duKCkpLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoL0luc3RydW1lbnRzIGRpZCBub3QgdGVybWluYXRlIGFmdGVyLyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vIHdvcmtzIG9ubHkgb24gNy4xXG4gIGRlc2NyaWJlKFwiZ2V0dGluZyBkZXZpY2VzXCIsIGZ1bmN0aW9uICgpIHtcbiAgICBiZWZvcmUoYXN5bmMgKCkgPT4geyBhd2FpdCB1dGlscy5raWxsQWxsU2ltdWxhdG9ycygpOyB9KTtcblxuICAgIGl0KCdzaG91bGQgZ2V0IGFsbCBhdmFpbGFibGUgZGV2aWNlcycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGxldCBpb3NWZXI7XG4gICAgICB0cnkge1xuICAgICAgICBsZXQge3N0ZG91dH0gPSBhd2FpdCBleGVjKCd4Y3J1bicsIFsnLS1zZGsnLCAnaXBob25lc2ltdWxhdG9yJywgJy0tc2hvdy1zZGstdmVyc2lvbiddKTtcbiAgICAgICAgaW9zVmVyID0gcGFyc2VGbG9hdChzdGRvdXQpO1xuICAgICAgfSBjYXRjaCAoaWduKSB7fVxuICAgICAgaWYgKHR5cGVvZiBpb3NWZXIgIT09IFwibnVtYmVyXCIgfHwgaXNOYU4oaW9zVmVyKSkge1xuICAgICAgICAvLyBUT0RPOiB0aGlzIGlzIHdlaXJkXG4gICAgICAgIGNvbnNvbGUud2FybihcIkNvdWxkbid0IGdldCBpT1Mgc2RrIHZlcnNpb24sIHNraXBwaW5nIHRlc3RcIik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGxldCBkZXZpY2VzID0gYXdhaXQgcmV0cnkoMyAsIGdldEF2YWlsYWJsZURldmljZXMpO1xuICAgICAgaWYgKGlvc1ZlciA+PSA3LjEpIHtcbiAgICAgICAgZGV2aWNlcy5sZW5ndGguc2hvdWxkLmJlLmFib3ZlKDApO1xuICAgICAgICBkZXZpY2VzLmpvaW4oJ1xcbicpLnNob3VsZC5pbmNsdWRlKFwiaVBob25lIDYgKDguMSBTaW11bGF0b3IpXCIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGV2aWNlcy5sZW5ndGguc2hvdWxkLmVxdWFsKDApO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19

@@ -38,2 +38,2 @@ 'use strict';

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvZTJlL3V0aWxzLWUyZS1zcGVjcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Z0JBQXNCLE9BQU87O1FBQ3RCLFdBQVc7O29CQUNELE1BQU07Ozs7QUFFdkIsa0JBQUssTUFBTSxFQUFFLENBQUM7O0FBRWQsUUFBUSxDQUFDLE9BQU8sRUFBRSxZQUFXOzs7QUFDM0IsTUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQzs7QUFFcEIsVUFBUSxDQUFDLGFBQWEsRUFBRSxZQUFNO0FBQzVCLE1BQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7Ozs7OzZDQUNwQixFQVhILEtBQUssQ0FXSSxXQUFXLENBQUMsMEJBQTBCLENBQUM7Ozs7Ozs7S0FDcEQsQ0FBQyxDQUFDO0dBQ0osQ0FBQyxDQUFDO0NBQ0osQ0FBQyxDQUFDIiwiZmlsZSI6InRlc3QvZTJlL3V0aWxzLWUyZS1zcGVjcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHV0aWxzIH0gZnJvbSAnLi4vLi4nO1xuaW1wb3J0ICdtb2NoYXdhaXQnO1xuaW1wb3J0IGNoYWkgZnJvbSAnY2hhaSc7XG5cbmNoYWkuc2hvdWxkKCk7XG5cbmRlc2NyaWJlKCd1dGlscycsIGZ1bmN0aW9uKCkge1xuICB0aGlzLnRpbWVvdXQoOTAwMDApO1xuXG4gIGRlc2NyaWJlKCdxdWlja0xhdW5jaCcsICgpID0+IHtcbiAgICBpdC5za2lwKCdzaG91bGQgdGVybWluYXRlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgdXRpbHMucXVpY2tMYXVuY2goXCJpUGhvbmUgNiAoOC4zIFNpbXVsYXRvcilcIik7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvZTJlL3V0aWxzLWUyZS1zcGVjcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Z0JBQXNCLE9BQU87O1FBQ3RCLFdBQVc7O29CQUNELE1BQU07Ozs7QUFFdkIsa0JBQUssTUFBTSxFQUFFLENBQUM7O0FBRWQsUUFBUSxDQUFDLE9BQU8sRUFBRSxZQUFXOzs7QUFDM0IsTUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQzs7QUFFcEIsVUFBUSxDQUFDLGFBQWEsRUFBRSxZQUFNO0FBQzVCLE1BQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7Ozs7OzZDQUNwQixRQUFNLFdBQVcsQ0FBQywwQkFBMEIsQ0FBQzs7Ozs7OztLQUNwRCxDQUFDLENBQUM7R0FDSixDQUFDLENBQUM7Q0FDSixDQUFDLENBQUMiLCJmaWxlIjoidGVzdC9lMmUvdXRpbHMtZTJlLXNwZWNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXRpbHMgfSBmcm9tICcuLi8uLic7XG5pbXBvcnQgJ21vY2hhd2FpdCc7XG5pbXBvcnQgY2hhaSBmcm9tICdjaGFpJztcblxuY2hhaS5zaG91bGQoKTtcblxuZGVzY3JpYmUoJ3V0aWxzJywgZnVuY3Rpb24oKSB7XG4gIHRoaXMudGltZW91dCg5MDAwMCk7XG5cbiAgZGVzY3JpYmUoJ3F1aWNrTGF1bmNoJywgKCkgPT4ge1xuICAgIGl0LnNraXAoJ3Nob3VsZCB0ZXJtaW5hdGUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB1dGlscy5xdWlja0xhdW5jaChcImlQaG9uZSA2ICg4LjMgU2ltdWxhdG9yKVwiKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==

@@ -67,2 +67,2 @@ require('source-map-support').install();

}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvZWFybHktZmFpbHVyZXMtc3BlY3MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Z0JBRTRCLElBQUk7O3dCQUNULGNBQWM7O0lBQXpCLEtBQUs7O29CQUNBLE1BQU07Ozs7OEJBQ0ksa0JBQWtCOzs7O1FBQ3RDLFdBQVc7O3FCQUNBLE9BQU87Ozs7aUNBQ0cscUJBQXFCOztBQUVqRCxrQkFBSyxNQUFNLEVBQUUsQ0FBQztBQUNkLGtCQUFLLEdBQUcsNkJBQWdCLENBQUM7QUFDekIsSUFBSSxDQUFDLFdBQVUsQ0FBQzs7QUFFaEIsUUFBUSxDQUFDLGdCQUFnQixFQUFFLHVCQU5sQixXQUFXLEVBTW1CLEVBQUUsRUFBRSxVQUFDLENBQUMsRUFBSzs7QUFFaEQsSUFBRSxDQUFDLDRDQUE0QyxFQUFFO1FBQzNDLFdBQVcsRUFFWCxTQUFTOzs7O0FBRlQscUJBQVcsR0FBRyxNQWZiLFdBQVcsQ0Fla0IsRUFBRSxDQUFDOztBQUNyQyxXQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUUsbUJBQVMsR0FBRyxtQkFBTSxHQUFHLEVBQUU7O0FBQzNCLHFCQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7OzJDQUNuRCxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDOzs7QUFDMUQsbUJBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDOzs7Ozs7O0dBQ3ZDLENBQUMsQ0FBQztDQUVKLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6InRlc3QvZWFybHktZmFpbHVyZXMtc3BlY3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0cmFuc3BpbGU6bW9jaGFcblxuaW1wb3J0IHsgSW5zdHJ1bWVudHMgfSBmcm9tICcuLic7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuLi9saWIvdXRpbHMnO1xuaW1wb3J0IGNoYWkgZnJvbSAnY2hhaSc7XG5pbXBvcnQgY2hhaUFzUHJvbWlzZWQgZnJvbSAnY2hhaS1hcy1wcm9taXNlZCc7XG5pbXBvcnQgJ21vY2hhd2FpdCc7XG5pbXBvcnQgc2lub24gZnJvbSAnc2lub24nO1xuaW1wb3J0IHsgd2l0aFNhbmRib3ggfSBmcm9tICdhcHBpdW0tdGVzdC1zdXBwb3J0JztcblxuY2hhaS5zaG91bGQoKTtcbmNoYWkudXNlKGNoYWlBc1Byb21pc2VkKTtcbmxldCBQID0gUHJvbWlzZTtcblxuZGVzY3JpYmUoJ0Vhcmx5IGZhaWx1cmVzJywgd2l0aFNhbmRib3goe30sIChTKSA9PiB7XG5cbiAgaXQoJ3Nob3VsZCBlcnJvciBvbiBnZXRJbnN0cnVtZW50c1BhdGggZmFpbHVyZScsIGFzeW5jICgpID0+IHtcbiAgICBsZXQgaW5zdHJ1bWVudHMgPSBuZXcgSW5zdHJ1bWVudHMoe30pO1xuICAgIFMuc2FuZGJveC5zdHViKHV0aWxzLCAnZ2V0SW5zdHJ1bWVudHNQYXRoJykucmV0dXJucyhQLnJlamVjdChuZXcgRXJyb3IoJ291Y2ghJykpKTtcbiAgICBsZXQgb25FeGl0U3B5ID0gc2lub24uc3B5KCk7XG4gICAgaW5zdHJ1bWVudHMub25TaHV0ZG93bi50aGVuKG9uRXhpdFNweSwgb25FeGl0U3B5KS5kb25lKCk7XG4gICAgYXdhaXQgaW5zdHJ1bWVudHMubGF1bmNoKCkuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgvb3VjaCEvKTtcbiAgICBvbkV4aXRTcHkuc2hvdWxkLm5vdC5oYXZlLmJlZW4uY2FsbGVkO1xuICB9KTtcblxufSkpO1xuXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvZWFybHktZmFpbHVyZXMtc3BlY3MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Z0JBRTRCLElBQUk7O3dCQUNULGNBQWM7O0lBQXpCLEtBQUs7O29CQUNBLE1BQU07Ozs7OEJBQ0ksa0JBQWtCOzs7O1FBQ3RDLFdBQVc7O3FCQUNBLE9BQU87Ozs7aUNBQ0cscUJBQXFCOztBQUVqRCxrQkFBSyxNQUFNLEVBQUUsQ0FBQztBQUNkLGtCQUFLLEdBQUcsNkJBQWdCLENBQUM7QUFDekIsSUFBSSxDQUFDLFdBQVUsQ0FBQzs7QUFFaEIsUUFBUSxDQUFDLGdCQUFnQixFQUFFLG9DQUFZLEVBQUUsRUFBRSxVQUFDLENBQUMsRUFBSzs7QUFFaEQsSUFBRSxDQUFDLDRDQUE0QyxFQUFFO1FBQzNDLFdBQVcsRUFFWCxTQUFTOzs7O0FBRlQscUJBQVcsR0FBRyxrQkFBZ0IsRUFBRSxDQUFDOztBQUNyQyxXQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUUsbUJBQVMsR0FBRyxtQkFBTSxHQUFHLEVBQUU7O0FBQzNCLHFCQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7OzJDQUNuRCxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDOzs7QUFDMUQsbUJBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDOzs7Ozs7O0dBQ3ZDLENBQUMsQ0FBQztDQUVKLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6InRlc3QvZWFybHktZmFpbHVyZXMtc3BlY3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0cmFuc3BpbGU6bW9jaGFcblxuaW1wb3J0IHsgSW5zdHJ1bWVudHMgfSBmcm9tICcuLic7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuLi9saWIvdXRpbHMnO1xuaW1wb3J0IGNoYWkgZnJvbSAnY2hhaSc7XG5pbXBvcnQgY2hhaUFzUHJvbWlzZWQgZnJvbSAnY2hhaS1hcy1wcm9taXNlZCc7XG5pbXBvcnQgJ21vY2hhd2FpdCc7XG5pbXBvcnQgc2lub24gZnJvbSAnc2lub24nO1xuaW1wb3J0IHsgd2l0aFNhbmRib3ggfSBmcm9tICdhcHBpdW0tdGVzdC1zdXBwb3J0JztcblxuY2hhaS5zaG91bGQoKTtcbmNoYWkudXNlKGNoYWlBc1Byb21pc2VkKTtcbmxldCBQID0gUHJvbWlzZTtcblxuZGVzY3JpYmUoJ0Vhcmx5IGZhaWx1cmVzJywgd2l0aFNhbmRib3goe30sIChTKSA9PiB7XG5cbiAgaXQoJ3Nob3VsZCBlcnJvciBvbiBnZXRJbnN0cnVtZW50c1BhdGggZmFpbHVyZScsIGFzeW5jICgpID0+IHtcbiAgICBsZXQgaW5zdHJ1bWVudHMgPSBuZXcgSW5zdHJ1bWVudHMoe30pO1xuICAgIFMuc2FuZGJveC5zdHViKHV0aWxzLCAnZ2V0SW5zdHJ1bWVudHNQYXRoJykucmV0dXJucyhQLnJlamVjdChuZXcgRXJyb3IoJ291Y2ghJykpKTtcbiAgICBsZXQgb25FeGl0U3B5ID0gc2lub24uc3B5KCk7XG4gICAgaW5zdHJ1bWVudHMub25TaHV0ZG93bi50aGVuKG9uRXhpdFNweSwgb25FeGl0U3B5KS5kb25lKCk7XG4gICAgYXdhaXQgaW5zdHJ1bWVudHMubGF1bmNoKCkuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgvb3VjaCEvKTtcbiAgICBvbkV4aXRTcHkuc2hvdWxkLm5vdC5oYXZlLmJlZW4uY2FsbGVkO1xuICB9KTtcblxufSkpO1xuXG4iXX0=

@@ -23,2 +23,2 @@ require('source-map-support').install();

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvaW5kZXgtc3BlY3MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O2dCQUVtQyxJQUFJOztvQkFDdEIsTUFBTTs7OztRQUNoQixXQUFXOztBQUVsQixrQkFBSyxNQUFNLEVBQUUsQ0FBQzs7QUFFZCxRQUFRLENBQUMsT0FBTyxFQUFFLFlBQU07QUFDdEIsSUFBRSxDQUFDLCtCQUErQixFQUFFLFlBQU07QUFDeEMsTUFSSyxXQUFXLENBUUosTUFBTSxDQUFDLEtBQUssQ0FBQztBQUN6QixNQVRrQixLQUFLLENBU2pCLE1BQU0sQ0FBQyxLQUFLLENBQUM7R0FDcEIsQ0FBQyxDQUFDO0NBQ0osQ0FBQyxDQUFDIiwiZmlsZSI6InRlc3QvaW5kZXgtc3BlY3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0cmFuc3BpbGU6bW9jaGFcblxuaW1wb3J0IHsgSW5zdHJ1bWVudHMsIHV0aWxzIH0gZnJvbSAnLi4nO1xuaW1wb3J0IGNoYWkgZnJvbSAnY2hhaSc7XG5pbXBvcnQgJ21vY2hhd2FpdCc7XG5cbmNoYWkuc2hvdWxkKCk7XG5cbmRlc2NyaWJlKCdpbmRleCcsICgpID0+IHtcbiAgaXQoJ2V4cG9ydGVkIG9iamVjdHMgc2hvdWxkIGV4aXN0JywgKCkgPT4ge1xuICAgIEluc3RydW1lbnRzLnNob3VsZC5leGlzdDtcbiAgICB1dGlscy5zaG91bGQuZXhpc3Q7XG4gIH0pO1xufSk7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvaW5kZXgtc3BlY3MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O2dCQUVtQyxJQUFJOztvQkFDdEIsTUFBTTs7OztRQUNoQixXQUFXOztBQUVsQixrQkFBSyxNQUFNLEVBQUUsQ0FBQzs7QUFFZCxRQUFRLENBQUMsT0FBTyxFQUFFLFlBQU07QUFDdEIsSUFBRSxDQUFDLCtCQUErQixFQUFFLFlBQU07QUFDeEMsa0JBQVksTUFBTSxDQUFDLEtBQUssQ0FBQztBQUN6QixZQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUM7R0FDcEIsQ0FBQyxDQUFDO0NBQ0osQ0FBQyxDQUFDIiwiZmlsZSI6InRlc3QvaW5kZXgtc3BlY3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0cmFuc3BpbGU6bW9jaGFcblxuaW1wb3J0IHsgSW5zdHJ1bWVudHMsIHV0aWxzIH0gZnJvbSAnLi4nO1xuaW1wb3J0IGNoYWkgZnJvbSAnY2hhaSc7XG5pbXBvcnQgJ21vY2hhd2FpdCc7XG5cbmNoYWkuc2hvdWxkKCk7XG5cbmRlc2NyaWJlKCdpbmRleCcsICgpID0+IHtcbiAgaXQoJ2V4cG9ydGVkIG9iamVjdHMgc2hvdWxkIGV4aXN0JywgKCkgPT4ge1xuICAgIEluc3RydW1lbnRzLnNob3VsZC5leGlzdDtcbiAgICB1dGlscy5zaG91bGQuZXhpc3Q7XG4gIH0pO1xufSk7XG4iXX0=

@@ -139,2 +139,2 @@ require('source-map-support').install();

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvaW5zdHJ1bWVudHMtc3BlY3MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Z0JBRTRCLElBQUk7OzRCQUVaLGNBQWM7O0lBQXRCLEVBQUU7O29CQUNHLE1BQU07Ozs7UUFDaEIsV0FBVzs7MkJBQ0EsY0FBYzs7OztpQ0FDRSxxQkFBcUI7OzZCQUNwQyxnQkFBZ0I7O0FBQ25DLGtCQUFLLE1BQU0sRUFBRSxDQUFDOztBQUVkLElBQUksQ0FBQyxXQUFVLENBQUM7O0FBRWhCLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFlBQU07QUFDakMsVUFBUSxDQUFDLGlCQUFpQixFQUFFOzs7Ozs7QUFDMUIsWUFBRSxDQUFDLDJCQUEyQixFQUFFO2dCQUMxQixJQUFJLEVBR0osV0FBVzs7OztBQUhYLHNCQUFJLEdBQUc7QUFDVCx1QkFBRyxFQUFFLGVBQWU7bUJBQ3JCOzttREFDdUIsRUFsQnJCLFdBQVcsQ0FrQnNCLGdCQUFnQixDQUFDLElBQUksQ0FBQzs7O0FBQXRELDZCQUFXOztBQUNmLDZCQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDOzs7Ozs7O1dBQ3hDLENBQUMsQ0FBQzs7Ozs7OztHQUNKLENBQUMsQ0FBQztBQUNILFVBQVEsQ0FBQyxhQUFhLEVBQUUsWUFBTTtBQUM1QixNQUFFLENBQUMsMkJBQTJCLEVBQUUsWUFBTTtBQUNwQyxVQUFJLElBQUksR0FBRztBQUNULFdBQUcsRUFBRSxlQUFlO09BQ3JCLENBQUM7QUFDRixVQUFJLFdBQVcsR0FBRyxNQTNCZixXQUFXLENBMkJvQixJQUFJLENBQUMsQ0FBQztBQUN4QyxpQkFBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUN4QyxDQUFDLENBQUM7R0FDSixDQUFDLENBQUM7QUFDSCxVQUFRLENBQUMsV0FBVyxFQUFFLHVCQXpCZixTQUFTLEVBeUJnQixFQUFDLEtBQUssMEJBQUEsRUFBRSxLQUFLLElBOUJ0QyxLQUFLLEFBOEJpQyxFQUFDLEVBQUUsVUFBQyxLQUFLLEVBQUs7QUFDekQsTUFBRSxDQUFDLGFBQWEsRUFBRTtVQUNaLFdBQVc7Ozs7QUFBWCx1QkFBVyxHQUFHLE1BakNmLFdBQVcsQ0FpQ29CLEVBQUUsQ0FBQzs7QUFDckMsaUJBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDckUsaUJBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQzVFLHdCQUF3QixDQUFDLENBQUMsQ0FBQztBQUM3QixpQkFBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDaEUsd0JBQXdCLENBQUMsQ0FBQyxDQUFDOzs2Q0FDdkIsV0FBVyxDQUFDLFNBQVMsRUFBRTs7O0FBQzdCLHVCQUFXLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDL0MsdUJBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQzVELHVCQUFXLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUNuRSxtQ0FyQ2MsTUFBTSxFQXFDYixLQUFLLENBQUMsQ0FBQzs7Ozs7OztLQUNmLENBQUMsQ0FBQztHQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0osVUFBUSxDQUFDLGtCQUFrQixFQUFFLHVCQXhDdEIsU0FBUyxFQXdDdUIsRUFBQyxFQUFFLGlCQXZDbkMsRUFBRSxBQXVDaUMsRUFBRSxFQUFFLEVBQUYsRUFBRSxFQUFFLEtBQUssSUE3QzlDLEtBQUssQUE2Q3lDLEVBQUMsRUFBRSxVQUFDLEtBQUssRUFBSztBQUNqRSxNQUFFLENBQUMsYUFBYSxFQUFFO1VBQ1osV0FBVzs7OztBQUFYLHVCQUFXLEdBQUcsTUFoRGYsV0FBVyxDQWdEb0IsRUFBRSxDQUFDOztBQUNyQyx1QkFBVyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7QUFDbkMsdUJBQVcsQ0FBQyxRQUFRLEdBQUcsd0JBQXdCLENBQUM7QUFDaEQsdUJBQVcsQ0FBQyxlQUFlLEdBQUcsd0JBQXdCLENBQUM7QUFDdkQsaUJBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDNUQsaUJBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM3QyxpQkFBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVEsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7OzZDQUMxRSxXQUFXLENBQUMsZ0JBQWdCLEVBQUU7OztBQUNwQyxtQ0FsRGMsTUFBTSxFQWtEYixLQUFLLENBQUMsQ0FBQzs7Ozs7OztLQUNmLENBQUMsQ0FBQztHQUNKLENBQUMsQ0FBQyxDQUFDO0NBQ0wsQ0FBQyxDQUFDIiwiZmlsZSI6InRlc3QvaW5zdHJ1bWVudHMtc3BlY3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0cmFuc3BpbGU6bW9jaGFcblxuaW1wb3J0IHsgSW5zdHJ1bWVudHMgfSBmcm9tICcuLic7XG5pbXBvcnQgeyB1dGlscyB9IGZyb20gJy4uJztcbmltcG9ydCAqIGFzIHRwIGZyb20gJ3RlZW5fcHJvY2Vzcyc7XG5pbXBvcnQgY2hhaSBmcm9tICdjaGFpJztcbmltcG9ydCAnbW9jaGF3YWl0JztcbmltcG9ydCB4Y29kZSBmcm9tICdhcHBpdW0teGNvZGUnO1xuaW1wb3J0IHsgd2l0aE1vY2tzLCB2ZXJpZnkgfSBmcm9tICdhcHBpdW0tdGVzdC1zdXBwb3J0JztcbmltcG9ydCB7IGZzIH0gZnJvbSAnYXBwaXVtLXN1cHBvcnQnO1xuY2hhaS5zaG91bGQoKTtcblxubGV0IFAgPSBQcm9taXNlO1xuXG5kZXNjcmliZS5vbmx5KCdpbnN0cnVtZW50cycsICgpID0+IHtcbiAgZGVzY3JpYmUoJ3F1aWNrSW5zdHJ1bWVudCcsIGFzeW5jICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGNyZWF0ZSBpbnN0cnVtZW50cycsIGFzeW5jICgpID0+IHtcbiAgICAgIGxldCBvcHRzID0ge1xuICAgICAgICBhcHA6ICcvYS9iL2MvbXkuYXBwJyxcbiAgICAgIH07XG4gICAgICBsZXQgaW5zdHJ1bWVudHMgPSBhd2FpdCBJbnN0cnVtZW50cy5xdWlja0luc3RydW1lbnRzKG9wdHMpO1xuICAgICAgaW5zdHJ1bWVudHMuYXBwLnNob3VsZC5lcXVhbChvcHRzLmFwcCk7XG4gICAgfSk7XG4gIH0pO1xuICBkZXNjcmliZSgnY29uc3RydWN0b3InLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBjcmVhdGUgaW5zdHJ1bWVudHMnLCAoKSA9PiB7XG4gICAgICBsZXQgb3B0cyA9IHtcbiAgICAgICAgYXBwOiAnL2EvYi9jL215LmFwcCcsXG4gICAgICB9O1xuICAgICAgbGV0IGluc3RydW1lbnRzID0gbmV3IEluc3RydW1lbnRzKG9wdHMpO1xuICAgICAgaW5zdHJ1bWVudHMuYXBwLnNob3VsZC5lcXVhbChvcHRzLmFwcCk7XG4gICAgfSk7XG4gIH0pO1xuICBkZXNjcmliZSgnY29uZmlndXJlJywgd2l0aE1vY2tzKHt4Y29kZSwgdXRpbHN9LCAobW9ja3MpID0+IHtcbiAgICBpdCgnc2hvdWxkIHdvcmsnLCBhc3luYyAoKSA9PiB7XG4gICAgICBsZXQgaW5zdHJ1bWVudHMgPSBuZXcgSW5zdHJ1bWVudHMoe30pO1xuICAgICAgbW9ja3MueGNvZGUuZXhwZWN0cygnZ2V0VmVyc2lvbicpLm9uY2UoKS5yZXR1cm5zKFAucmVzb2x2ZSgnNy4xLjEnKSk7XG4gICAgICBtb2Nrcy54Y29kZS5leHBlY3RzKCdnZXRBdXRvbWF0aW9uVHJhY2VUZW1wbGF0ZVBhdGgnKS5vbmNlKCkucmV0dXJucyhQLnJlc29sdmUoXG4gICAgICAgICcvYS9iL2MvZC90cmFjZXRlbXBsYXRlJykpO1xuICAgICAgbW9ja3MudXRpbHMuZXhwZWN0cygnZ2V0SW5zdHJ1bWVudHNQYXRoJykub25jZSgpLnJldHVybnMoUC5yZXNvbHZlKFxuICAgICAgICAnL2EvYi9jL2luc3RydW1lbnRzcGF0aCcpKTtcbiAgICAgIGF3YWl0IGluc3RydW1lbnRzLmNvbmZpZ3VyZSgpO1xuICAgICAgaW5zdHJ1bWVudHMueGNvZGVWZXJzaW9uLnNob3VsZC5lcXVhbCgnNy4xLjEnKTtcbiAgICAgIGluc3RydW1lbnRzLnRlbXBsYXRlLnNob3VsZC5lcXVhbCgnL2EvYi9jL2QvdHJhY2V0ZW1wbGF0ZScpO1xuICAgICAgaW5zdHJ1bWVudHMuaW5zdHJ1bWVudHNQYXRoLnNob3VsZC5lcXVhbCgnL2EvYi9jL2luc3RydW1lbnRzcGF0aCcpO1xuICAgICAgdmVyaWZ5KG1vY2tzKTtcbiAgICB9KTtcbiAgfSkpO1xuICBkZXNjcmliZSgnc3Bhd25JbnN0cnVtZW50cycsIHdpdGhNb2Nrcyh7ZnMsIHRwLCB1dGlsc30sIChtb2NrcykgPT4ge1xuICAgIGl0KCdzaG91bGQgd29yaycsIGFzeW5jICgpID0+IHtcbiAgICAgIGxldCBpbnN0cnVtZW50cyA9IG5ldyBJbnN0cnVtZW50cyh7fSk7XG4gICAgICBpbnN0cnVtZW50cy54Y29kZVZlcnNpb24gPSAnNy4xLjEnO1xuICAgICAgaW5zdHJ1bWVudHMudGVtcGxhdGUgPSAnL2EvYi9jL2QvdHJhY2V0ZW1wbGF0ZSc7XG4gICAgICBpbnN0cnVtZW50cy5pbnN0cnVtZW50c1BhdGggPSAnL2EvYi9jL2luc3RydW1lbnRzcGF0aCc7XG4gICAgICBtb2Nrcy5mcy5leHBlY3RzKCdleGlzdHMnKS5vbmNlKCkucmV0dXJucyhQLnJlc29sdmUoZmFsc2UpKTtcbiAgICAgIG1vY2tzLnRwLmV4cGVjdHMoJ3NwYXduJykub25jZSgpLnJldHVybnMoe30pO1xuICAgICAgbW9ja3MudXRpbHMuZXhwZWN0cygnZ2V0SXdkUGF0aCcpLm9uY2UoKS5yZXR1cm5zKFByb21pc2UucmVzb2x2ZSgnL2EvYi9jL2l3ZCcpKTtcbiAgICAgIGF3YWl0IGluc3RydW1lbnRzLnNwYXduSW5zdHJ1bWVudHMoKTtcbiAgICAgIHZlcmlmeShtb2Nrcyk7XG4gICAgfSk7XG4gIH0pKTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvaW5zdHJ1bWVudHMtc3BlY3MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Z0JBRTRCLElBQUk7OzRCQUVaLGNBQWM7O0lBQXRCLEVBQUU7O29CQUNHLE1BQU07Ozs7UUFDaEIsV0FBVzs7MkJBQ0EsY0FBYzs7OztpQ0FDRSxxQkFBcUI7OzZCQUNwQyxnQkFBZ0I7O0FBQ25DLGtCQUFLLE1BQU0sRUFBRSxDQUFDOztBQUVkLElBQUksQ0FBQyxXQUFVLENBQUM7O0FBRWhCLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFlBQU07QUFDakMsVUFBUSxDQUFDLGlCQUFpQixFQUFFOzs7Ozs7QUFDMUIsWUFBRSxDQUFDLDJCQUEyQixFQUFFO2dCQUMxQixJQUFJLEVBR0osV0FBVzs7OztBQUhYLHNCQUFJLEdBQUc7QUFDVCx1QkFBRyxFQUFFLGVBQWU7bUJBQ3JCOzttREFDdUIsY0FBWSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7OztBQUF0RCw2QkFBVzs7QUFDZiw2QkFBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzs7Ozs7OztXQUN4QyxDQUFDLENBQUM7Ozs7Ozs7R0FDSixDQUFDLENBQUM7QUFDSCxVQUFRLENBQUMsYUFBYSxFQUFFLFlBQU07QUFDNUIsTUFBRSxDQUFDLDJCQUEyQixFQUFFLFlBQU07QUFDcEMsVUFBSSxJQUFJLEdBQUc7QUFDVCxXQUFHLEVBQUUsZUFBZTtPQUNyQixDQUFDO0FBQ0YsVUFBSSxXQUFXLEdBQUcsa0JBQWdCLElBQUksQ0FBQyxDQUFDO0FBQ3hDLGlCQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ3hDLENBQUMsQ0FBQztHQUNKLENBQUMsQ0FBQztBQUNILFVBQVEsQ0FBQyxXQUFXLEVBQUUsa0NBQVUsRUFBQyxLQUFLLDBCQUFBLEVBQUUsS0FBSyxTQUFBLEVBQUMsRUFBRSxVQUFDLEtBQUssRUFBSztBQUN6RCxNQUFFLENBQUMsYUFBYSxFQUFFO1VBQ1osV0FBVzs7OztBQUFYLHVCQUFXLEdBQUcsa0JBQWdCLEVBQUUsQ0FBQzs7QUFDckMsaUJBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDckUsaUJBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQzVFLHdCQUF3QixDQUFDLENBQUMsQ0FBQztBQUM3QixpQkFBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDaEUsd0JBQXdCLENBQUMsQ0FBQyxDQUFDOzs2Q0FDdkIsV0FBVyxDQUFDLFNBQVMsRUFBRTs7O0FBQzdCLHVCQUFXLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDL0MsdUJBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQzVELHVCQUFXLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUNuRSwyQ0FBTyxLQUFLLENBQUMsQ0FBQzs7Ozs7OztLQUNmLENBQUMsQ0FBQztHQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0osVUFBUSxDQUFDLGtCQUFrQixFQUFFLGtDQUFVLEVBQUMsRUFBRSxtQkFBQSxFQUFFLEVBQUUsRUFBRixFQUFFLEVBQUUsS0FBSyxTQUFBLEVBQUMsRUFBRSxVQUFDLEtBQUssRUFBSztBQUNqRSxNQUFFLENBQUMsYUFBYSxFQUFFO1VBQ1osV0FBVzs7OztBQUFYLHVCQUFXLEdBQUcsa0JBQWdCLEVBQUUsQ0FBQzs7QUFDckMsdUJBQVcsQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO0FBQ25DLHVCQUFXLENBQUMsUUFBUSxHQUFHLHdCQUF3QixDQUFDO0FBQ2hELHVCQUFXLENBQUMsZUFBZSxHQUFHLHdCQUF3QixDQUFDO0FBQ3ZELGlCQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzVELGlCQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDN0MsaUJBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFRLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDOzs2Q0FDMUUsV0FBVyxDQUFDLGdCQUFnQixFQUFFOzs7QUFDcEMsMkNBQU8sS0FBSyxDQUFDLENBQUM7Ozs7Ozs7S0FDZixDQUFDLENBQUM7R0FDSixDQUFDLENBQUMsQ0FBQztDQUNMLENBQUMsQ0FBQyIsImZpbGUiOiJ0ZXN0L2luc3RydW1lbnRzLXNwZWNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHJhbnNwaWxlOm1vY2hhXG5cbmltcG9ydCB7IEluc3RydW1lbnRzIH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgdXRpbHMgfSBmcm9tICcuLic7XG5pbXBvcnQgKiBhcyB0cCBmcm9tICd0ZWVuX3Byb2Nlc3MnO1xuaW1wb3J0IGNoYWkgZnJvbSAnY2hhaSc7XG5pbXBvcnQgJ21vY2hhd2FpdCc7XG5pbXBvcnQgeGNvZGUgZnJvbSAnYXBwaXVtLXhjb2RlJztcbmltcG9ydCB7IHdpdGhNb2NrcywgdmVyaWZ5IH0gZnJvbSAnYXBwaXVtLXRlc3Qtc3VwcG9ydCc7XG5pbXBvcnQgeyBmcyB9IGZyb20gJ2FwcGl1bS1zdXBwb3J0JztcbmNoYWkuc2hvdWxkKCk7XG5cbmxldCBQID0gUHJvbWlzZTtcblxuZGVzY3JpYmUub25seSgnaW5zdHJ1bWVudHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdxdWlja0luc3RydW1lbnQnLCBhc3luYyAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBjcmVhdGUgaW5zdHJ1bWVudHMnLCBhc3luYyAoKSA9PiB7XG4gICAgICBsZXQgb3B0cyA9IHtcbiAgICAgICAgYXBwOiAnL2EvYi9jL215LmFwcCcsXG4gICAgICB9O1xuICAgICAgbGV0IGluc3RydW1lbnRzID0gYXdhaXQgSW5zdHJ1bWVudHMucXVpY2tJbnN0cnVtZW50cyhvcHRzKTtcbiAgICAgIGluc3RydW1lbnRzLmFwcC5zaG91bGQuZXF1YWwob3B0cy5hcHApO1xuICAgIH0pO1xuICB9KTtcbiAgZGVzY3JpYmUoJ2NvbnN0cnVjdG9yJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgY3JlYXRlIGluc3RydW1lbnRzJywgKCkgPT4ge1xuICAgICAgbGV0IG9wdHMgPSB7XG4gICAgICAgIGFwcDogJy9hL2IvYy9teS5hcHAnLFxuICAgICAgfTtcbiAgICAgIGxldCBpbnN0cnVtZW50cyA9IG5ldyBJbnN0cnVtZW50cyhvcHRzKTtcbiAgICAgIGluc3RydW1lbnRzLmFwcC5zaG91bGQuZXF1YWwob3B0cy5hcHApO1xuICAgIH0pO1xuICB9KTtcbiAgZGVzY3JpYmUoJ2NvbmZpZ3VyZScsIHdpdGhNb2Nrcyh7eGNvZGUsIHV0aWxzfSwgKG1vY2tzKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB3b3JrJywgYXN5bmMgKCkgPT4ge1xuICAgICAgbGV0IGluc3RydW1lbnRzID0gbmV3IEluc3RydW1lbnRzKHt9KTtcbiAgICAgIG1vY2tzLnhjb2RlLmV4cGVjdHMoJ2dldFZlcnNpb24nKS5vbmNlKCkucmV0dXJucyhQLnJlc29sdmUoJzcuMS4xJykpO1xuICAgICAgbW9ja3MueGNvZGUuZXhwZWN0cygnZ2V0QXV0b21hdGlvblRyYWNlVGVtcGxhdGVQYXRoJykub25jZSgpLnJldHVybnMoUC5yZXNvbHZlKFxuICAgICAgICAnL2EvYi9jL2QvdHJhY2V0ZW1wbGF0ZScpKTtcbiAgICAgIG1vY2tzLnV0aWxzLmV4cGVjdHMoJ2dldEluc3RydW1lbnRzUGF0aCcpLm9uY2UoKS5yZXR1cm5zKFAucmVzb2x2ZShcbiAgICAgICAgJy9hL2IvYy9pbnN0cnVtZW50c3BhdGgnKSk7XG4gICAgICBhd2FpdCBpbnN0cnVtZW50cy5jb25maWd1cmUoKTtcbiAgICAgIGluc3RydW1lbnRzLnhjb2RlVmVyc2lvbi5zaG91bGQuZXF1YWwoJzcuMS4xJyk7XG4gICAgICBpbnN0cnVtZW50cy50ZW1wbGF0ZS5zaG91bGQuZXF1YWwoJy9hL2IvYy9kL3RyYWNldGVtcGxhdGUnKTtcbiAgICAgIGluc3RydW1lbnRzLmluc3RydW1lbnRzUGF0aC5zaG91bGQuZXF1YWwoJy9hL2IvYy9pbnN0cnVtZW50c3BhdGgnKTtcbiAgICAgIHZlcmlmeShtb2Nrcyk7XG4gICAgfSk7XG4gIH0pKTtcbiAgZGVzY3JpYmUoJ3NwYXduSW5zdHJ1bWVudHMnLCB3aXRoTW9ja3Moe2ZzLCB0cCwgdXRpbHN9LCAobW9ja3MpID0+IHtcbiAgICBpdCgnc2hvdWxkIHdvcmsnLCBhc3luYyAoKSA9PiB7XG4gICAgICBsZXQgaW5zdHJ1bWVudHMgPSBuZXcgSW5zdHJ1bWVudHMoe30pO1xuICAgICAgaW5zdHJ1bWVudHMueGNvZGVWZXJzaW9uID0gJzcuMS4xJztcbiAgICAgIGluc3RydW1lbnRzLnRlbXBsYXRlID0gJy9hL2IvYy9kL3RyYWNldGVtcGxhdGUnO1xuICAgICAgaW5zdHJ1bWVudHMuaW5zdHJ1bWVudHNQYXRoID0gJy9hL2IvYy9pbnN0cnVtZW50c3BhdGgnO1xuICAgICAgbW9ja3MuZnMuZXhwZWN0cygnZXhpc3RzJykub25jZSgpLnJldHVybnMoUC5yZXNvbHZlKGZhbHNlKSk7XG4gICAgICBtb2Nrcy50cC5leHBlY3RzKCdzcGF3bicpLm9uY2UoKS5yZXR1cm5zKHt9KTtcbiAgICAgIG1vY2tzLnV0aWxzLmV4cGVjdHMoJ2dldEl3ZFBhdGgnKS5vbmNlKCkucmV0dXJucyhQcm9taXNlLnJlc29sdmUoJy9hL2IvYy9pd2QnKSk7XG4gICAgICBhd2FpdCBpbnN0cnVtZW50cy5zcGF3bkluc3RydW1lbnRzKCk7XG4gICAgICB2ZXJpZnkobW9ja3MpO1xuICAgIH0pO1xuICB9KSk7XG59KTtcbiJdfQ==

@@ -43,2 +43,2 @@ require('source-map-support').install();

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvbGF1bmNoLXRpbWVvdXQtc3BlY3MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O2dCQUU0QixJQUFJOztvQkFDZixNQUFNOzs7O1FBQ2hCLFdBQVc7O0FBRWxCLElBQUksTUFBTSxHQUFHLGtCQUFLLE1BQU0sRUFBRSxDQUFDOztBQUUzQixRQUFRLENBQUMsZ0JBQWdCLEVBQUUsWUFBTTs7QUFFL0IsSUFBRSxDQUFDLGdEQUFnRCxFQUFFLFlBQU07QUFDekQsUUFBSSxXQUFXLEdBQUcsTUFUYixXQUFXLENBU2tCLEVBQUMsYUFBYSxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7QUFDM0QsZUFBVyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN0RCxVQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0dBQzVELENBQUMsQ0FBQzs7QUFFSCxJQUFFLENBQUMsdURBQXVELEVBQUUsWUFBTTtBQUNoRSxRQUFJLFdBQVcsR0FBRyxNQWZiLFdBQVcsQ0Fla0IsRUFBQyxhQUFhLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQztBQUM3RCxlQUFXLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3RELFVBQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7R0FDNUQsQ0FBQyxDQUFDOztBQUVILElBQUUsQ0FBQywrQ0FBK0MsRUFBRSxZQUFNO0FBQ3hELFFBQUksV0FBVyxHQUFHLE1BckJiLFdBQVcsQ0FxQmtCLEVBQUMsYUFBYSxFQUFFLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FBQyxDQUFDO0FBQzFGLGVBQVcsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdEQsZUFBVyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztHQUM1RCxDQUFDLENBQUM7O0FBRUgsSUFBRSxDQUFDLG1EQUFtRCxFQUFFLFlBQU07QUFDNUQsUUFBSSxXQUFXLEdBQUcsTUEzQmIsV0FBVyxDQTJCa0IsRUFBQyxhQUFhLEVBQUUsMkNBQTJDLEVBQUMsQ0FBQyxDQUFDO0FBQ2hHLGVBQVcsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdEQsZUFBVyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztHQUM1RCxDQUFDLENBQUM7Q0FFSixDQUFDLENBQUMiLCJmaWxlIjoidGVzdC9sYXVuY2gtdGltZW91dC1zcGVjcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRyYW5zcGlsZTptb2NoYVxuXG5pbXBvcnQgeyBJbnN0cnVtZW50cyB9IGZyb20gJy4uJztcbmltcG9ydCBjaGFpIGZyb20gJ2NoYWknO1xuaW1wb3J0ICdtb2NoYXdhaXQnO1xuXG5sZXQgc2hvdWxkID0gY2hhaS5zaG91bGQoKTtcblxuZGVzY3JpYmUoJ2xhdW5jaC10aW1lb3V0JywgKCkgPT4ge1xuXG4gIGl0KCdzaG91bGQgd29yayB3aGVuIHBhc3NpbmcgdGltZW91dCBhcyBhbiBpbnRlZ2VyJywgKCkgPT4ge1xuICAgIGxldCBpbnN0cnVtZW50cyA9IG5ldyBJbnN0cnVtZW50cyh7bGF1bmNoVGltZW91dDogMTIzNDU2fSk7XG4gICAgaW5zdHJ1bWVudHMubGF1bmNoVGltZW91dC5nbG9iYWwuc2hvdWxkLmVxdWFsKDEyMzQ1Nik7XG4gICAgc2hvdWxkLm5vdC5leGlzdChpbnN0cnVtZW50cy5sYXVuY2hUaW1lb3V0LmFmdGVyU2ltTGF1bmNoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB3b3JrIHdoZW4gcGFzc2luZyB0aW1lb3V0IGFzIGFuIGludGVnZXIgc3RyaW5nJywgKCkgPT4ge1xuICAgIGxldCBpbnN0cnVtZW50cyA9IG5ldyBJbnN0cnVtZW50cyh7bGF1bmNoVGltZW91dDogXCIxMjM0NTZcIn0pO1xuICAgIGluc3RydW1lbnRzLmxhdW5jaFRpbWVvdXQuZ2xvYmFsLnNob3VsZC5lcXVhbCgxMjM0NTYpO1xuICAgIHNob3VsZC5ub3QuZXhpc3QoaW5zdHJ1bWVudHMubGF1bmNoVGltZW91dC5hZnRlclNpbUxhdW5jaCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgd29yayB3aGVuIHBhc3NpbmcgdGltZW91dCBhcyBhbiBvYmplY3QnLCAoKSA9PiB7XG4gICAgbGV0IGluc3RydW1lbnRzID0gbmV3IEluc3RydW1lbnRzKHtsYXVuY2hUaW1lb3V0OiB7Z2xvYmFsOiAxMjM0NTYsIGFmdGVyU2ltTGF1bmNoOiAyMzR9fSk7XG4gICAgaW5zdHJ1bWVudHMubGF1bmNoVGltZW91dC5nbG9iYWwuc2hvdWxkLmVxdWFsKDEyMzQ1Nik7XG4gICAgaW5zdHJ1bWVudHMubGF1bmNoVGltZW91dC5hZnRlclNpbUxhdW5jaC5zaG91bGQuZXF1YWwoMjM0KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB3b3JrIHdoZW4gcGFzc2luZyB0aW1lb3V0IGFzIGEgSlNPTiBvYmplY3QnLCAoKSA9PiB7XG4gICAgbGV0IGluc3RydW1lbnRzID0gbmV3IEluc3RydW1lbnRzKHtsYXVuY2hUaW1lb3V0OiAne1wiZ2xvYmFsXCI6IDEyMzQ1NiwgXCJhZnRlclNpbUxhdW5jaFwiOiAyMzR9J30pO1xuICAgIGluc3RydW1lbnRzLmxhdW5jaFRpbWVvdXQuZ2xvYmFsLnNob3VsZC5lcXVhbCgxMjM0NTYpO1xuICAgIGluc3RydW1lbnRzLmxhdW5jaFRpbWVvdXQuYWZ0ZXJTaW1MYXVuY2guc2hvdWxkLmVxdWFsKDIzNCk7XG4gIH0pO1xuXG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvbGF1bmNoLXRpbWVvdXQtc3BlY3MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O2dCQUU0QixJQUFJOztvQkFDZixNQUFNOzs7O1FBQ2hCLFdBQVc7O0FBRWxCLElBQUksTUFBTSxHQUFHLGtCQUFLLE1BQU0sRUFBRSxDQUFDOztBQUUzQixRQUFRLENBQUMsZ0JBQWdCLEVBQUUsWUFBTTs7QUFFL0IsSUFBRSxDQUFDLGdEQUFnRCxFQUFFLFlBQU07QUFDekQsUUFBSSxXQUFXLEdBQUcsa0JBQWdCLEVBQUMsYUFBYSxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7QUFDM0QsZUFBVyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN0RCxVQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0dBQzVELENBQUMsQ0FBQzs7QUFFSCxJQUFFLENBQUMsdURBQXVELEVBQUUsWUFBTTtBQUNoRSxRQUFJLFdBQVcsR0FBRyxrQkFBZ0IsRUFBQyxhQUFhLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQztBQUM3RCxlQUFXLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3RELFVBQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7R0FDNUQsQ0FBQyxDQUFDOztBQUVILElBQUUsQ0FBQywrQ0FBK0MsRUFBRSxZQUFNO0FBQ3hELFFBQUksV0FBVyxHQUFHLGtCQUFnQixFQUFDLGFBQWEsRUFBRSxFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQUMsQ0FBQztBQUMxRixlQUFXLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3RELGVBQVcsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7R0FDNUQsQ0FBQyxDQUFDOztBQUVILElBQUUsQ0FBQyxtREFBbUQsRUFBRSxZQUFNO0FBQzVELFFBQUksV0FBVyxHQUFHLGtCQUFnQixFQUFDLGFBQWEsRUFBRSwyQ0FBMkMsRUFBQyxDQUFDLENBQUM7QUFDaEcsZUFBVyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN0RCxlQUFXLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0dBQzVELENBQUMsQ0FBQztDQUVKLENBQUMsQ0FBQyIsImZpbGUiOiJ0ZXN0L2xhdW5jaC10aW1lb3V0LXNwZWNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHJhbnNwaWxlOm1vY2hhXG5cbmltcG9ydCB7IEluc3RydW1lbnRzIH0gZnJvbSAnLi4nO1xuaW1wb3J0IGNoYWkgZnJvbSAnY2hhaSc7XG5pbXBvcnQgJ21vY2hhd2FpdCc7XG5cbmxldCBzaG91bGQgPSBjaGFpLnNob3VsZCgpO1xuXG5kZXNjcmliZSgnbGF1bmNoLXRpbWVvdXQnLCAoKSA9PiB7XG5cbiAgaXQoJ3Nob3VsZCB3b3JrIHdoZW4gcGFzc2luZyB0aW1lb3V0IGFzIGFuIGludGVnZXInLCAoKSA9PiB7XG4gICAgbGV0IGluc3RydW1lbnRzID0gbmV3IEluc3RydW1lbnRzKHtsYXVuY2hUaW1lb3V0OiAxMjM0NTZ9KTtcbiAgICBpbnN0cnVtZW50cy5sYXVuY2hUaW1lb3V0Lmdsb2JhbC5zaG91bGQuZXF1YWwoMTIzNDU2KTtcbiAgICBzaG91bGQubm90LmV4aXN0KGluc3RydW1lbnRzLmxhdW5jaFRpbWVvdXQuYWZ0ZXJTaW1MYXVuY2gpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHdvcmsgd2hlbiBwYXNzaW5nIHRpbWVvdXQgYXMgYW4gaW50ZWdlciBzdHJpbmcnLCAoKSA9PiB7XG4gICAgbGV0IGluc3RydW1lbnRzID0gbmV3IEluc3RydW1lbnRzKHtsYXVuY2hUaW1lb3V0OiBcIjEyMzQ1NlwifSk7XG4gICAgaW5zdHJ1bWVudHMubGF1bmNoVGltZW91dC5nbG9iYWwuc2hvdWxkLmVxdWFsKDEyMzQ1Nik7XG4gICAgc2hvdWxkLm5vdC5leGlzdChpbnN0cnVtZW50cy5sYXVuY2hUaW1lb3V0LmFmdGVyU2ltTGF1bmNoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB3b3JrIHdoZW4gcGFzc2luZyB0aW1lb3V0IGFzIGFuIG9iamVjdCcsICgpID0+IHtcbiAgICBsZXQgaW5zdHJ1bWVudHMgPSBuZXcgSW5zdHJ1bWVudHMoe2xhdW5jaFRpbWVvdXQ6IHtnbG9iYWw6IDEyMzQ1NiwgYWZ0ZXJTaW1MYXVuY2g6IDIzNH19KTtcbiAgICBpbnN0cnVtZW50cy5sYXVuY2hUaW1lb3V0Lmdsb2JhbC5zaG91bGQuZXF1YWwoMTIzNDU2KTtcbiAgICBpbnN0cnVtZW50cy5sYXVuY2hUaW1lb3V0LmFmdGVyU2ltTGF1bmNoLnNob3VsZC5lcXVhbCgyMzQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHdvcmsgd2hlbiBwYXNzaW5nIHRpbWVvdXQgYXMgYSBKU09OIG9iamVjdCcsICgpID0+IHtcbiAgICBsZXQgaW5zdHJ1bWVudHMgPSBuZXcgSW5zdHJ1bWVudHMoe2xhdW5jaFRpbWVvdXQ6ICd7XCJnbG9iYWxcIjogMTIzNDU2LCBcImFmdGVyU2ltTGF1bmNoXCI6IDIzNH0nfSk7XG4gICAgaW5zdHJ1bWVudHMubGF1bmNoVGltZW91dC5nbG9iYWwuc2hvdWxkLmVxdWFsKDEyMzQ1Nik7XG4gICAgaW5zdHJ1bWVudHMubGF1bmNoVGltZW91dC5hZnRlclNpbUxhdW5jaC5zaG91bGQuZXF1YWwoMjM0KTtcbiAgfSk7XG5cbn0pO1xuIl19

@@ -240,2 +240,2 @@ require('source-map-support').install();

});
//# sourceMappingURL=data:application/json;base64,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QyIsImZpbGUiOiJ0ZXN0L3V0aWxzLXNwZWNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHJhbnNwaWxlOm1vY2hhXG5cbmltcG9ydCB7IHV0aWxzIH0gZnJvbSAnLi4nO1xuaW1wb3J0ICogYXMgdHAgZnJvbSAndGVlbl9wcm9jZXNzJztcbmltcG9ydCBjaGFpIGZyb20gJ2NoYWknO1xuaW1wb3J0ICdtb2NoYXdhaXQnO1xuaW1wb3J0IHsgd2l0aE1vY2tzLCB2ZXJpZnksIHN0dWJFbnYgfSBmcm9tICdhcHBpdW0tdGVzdC1zdXBwb3J0JztcbmltcG9ydCB7IGZzIH0gZnJvbSAnYXBwaXVtLXN1cHBvcnQnO1xuY2hhaS5zaG91bGQoKTtcblxubGV0IFAgPSBQcm9taXNlO1xuXG5kZXNjcmliZSgndXRpbHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdnZXRYY29kZVRyYWNlVGVtcGxhdGVQYXRoJywgd2l0aE1vY2tzKHt0cCwgZnN9LCAobW9ja3MpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHJpZXZlIC5idW5kbGUgcGF0aCcsIGFzeW5jICgpID0+IHtcbiAgICAgIG1vY2tzLnRwLmV4cGVjdHMoJ2V4ZWMnKS5vbmNlKCkucmV0dXJucyhQLnJlc29sdmUoXG4gICAgICAgIHtzdGRvdXQ6ICcvYS9iL2MvZFxcbicsIHN0ZGVycjonJyB9KSk7XG4gICAgICBtb2Nrcy5mcy5leHBlY3RzKCdvcGVuJykub25jZSgpLnJldHVybnMoUC5yZXNvbHZlKHt9KSk7XG4gICAgICBtb2Nrcy5mcy5leHBlY3RzKCdjbG9zZScpLm9uY2UoKS5yZXR1cm5zKFAucmVzb2x2ZSgpKTtcbiAgICAgIChhd2FpdCB1dGlscy5nZXRYY29kZVRyYWNlVGVtcGxhdGVQYXRoKCkpLnNob3VsZC5lcXVhbChcbiAgICAgICAgJy9hL2IvQ29udGVudHMvQXBwbGljYXRpb25zL0luc3RydW1lbnRzLmFwcC9Db250ZW50cy9QbHVnSW5zLycgK1xuICAgICAgICAnQXV0b21hdGlvbkluc3RydW1lbnQuYnVuZGxlL0NvbnRlbnRzL1Jlc291cmNlcy8nICtcbiAgICAgICAgJ0F1dG9tYXRpb24udHJhY2V0ZW1wbGF0ZScpO1xuICAgICAgdmVyaWZ5KG1vY2tzKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIHJldHJpZXZlIC54cnBsdWdpbiBwYXRoJywgYXN5bmMgKCkgPT4ge1xuICAgICAgbW9ja3MudHAuZXhwZWN0cygnZXhlYycpLm9uY2UoKS5yZXR1cm5zKFAucmVzb2x2ZShcbiAgICAgICAge3N0ZG91dDogJy9hL2IvYy9kXFxuJywgc3RkZXJyOicnIH0pKTtcbiAgICAgIG1vY2tzLmZzLmV4cGVjdHMoJ29wZW4nKS5vbmNlKCkucmV0dXJucyhQLnJlamVjdChuZXcgRXJyb3IoJ291Y2ghJykpKTtcbiAgICAgIG1vY2tzLmZzLmV4cGVjdHMoJ29wZW4nKS5vbmNlKCkucmV0dXJucyhQLnJlc29sdmUoe30pKTtcbiAgICAgIG1vY2tzLmZzLmV4cGVjdHMoJ2Nsb3NlJykub25jZSgpLnJldHVybnMoUC5yZXNvbHZlKCkpO1xuICAgICAgKGF3YWl0IHV0aWxzLmdldFhjb2RlVHJhY2VUZW1wbGF0ZVBhdGgoKSkuc2hvdWxkLmVxdWFsKFxuICAgICAgICAnL2EvYi9Db250ZW50cy9BcHBsaWNhdGlvbnMvSW5zdHJ1bWVudHMuYXBwL0NvbnRlbnRzL1BsdWdJbnMvJyArXG4gICAgICAgICdBdXRvbWF0aW9uSW5zdHJ1bWVudC54cnBsdWdpbi9Db250ZW50cy9SZXNvdXJjZXMvJyArXG4gICAgICAgICdBdXRvbWF0aW9uLnRyYWNldGVtcGxhdGUnKTtcbiAgICAgIHZlcmlmeShtb2Nrcyk7XG4gICAgfSk7XG4gIH0pKTtcbiAgZGVzY3JpYmUoJ2dldEluc3RydW1lbnRzUGF0aCcsIHdpdGhNb2Nrcyh7dHB9LCAobW9ja3MpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHJpZXZlIHBhdGgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBtb2Nrcy50cC5leHBlY3RzKCdleGVjJykub25jZSgpLnJldHVybnMoUC5yZXNvbHZlKFxuICAgICAgICB7c3Rkb3V0OiAnL2EvYi9jL2RcXG4nLCBzdGRlcnI6JycgfSkpO1xuICAgICAgKGF3YWl0IHV0aWxzLmdldEluc3RydW1lbnRzUGF0aCgpKS5zaG91bGQuZXF1YWwoJy9hL2IvYy9kJyk7XG4gICAgICB2ZXJpZnkobW9ja3MpO1xuICAgIH0pO1xuICB9KSk7XG4gIGRlc2NyaWJlKCdnZXRBdmFpbGFibGVEZXZpY2VzJywgd2l0aE1vY2tzKHt0cH0sIChtb2NrcykgPT4ge1xuICAgIGl0KCdzaG91bGQgd29yaycsIGFzeW5jICgpID0+IHtcbiAgICAgIG1vY2tzLnRwLmV4cGVjdHMoJ2V4ZWMnKS5vbmNlKCkucmV0dXJucyhQLnJlc29sdmUoXG4gICAgICAgIHtzdGRvdXQ6ICcvYS9iL2MvZFxcbicsIHN0ZGVycjonJyB9KSk7XG4gICAgICBtb2Nrcy50cC5leHBlY3RzKCdleGVjJykub25jZSgpLnJldHVybnMoUC5yZXNvbHZlKFxuICAgICAgICB7c3Rkb3V0OiAnaXBob25lMVxcbmlwaG9uZTJcXG5pcGhvbmUzJywgc3RkZXJyOicnIH0pKTtcbiAgICAgIChhd2FpdCB1dGlscy5nZXRBdmFpbGFibGVEZXZpY2VzKCkpLnNob3VsZC5kZWVwLmVxdWFsKFxuICAgICAgICBbJ2lwaG9uZTEnLCAnaXBob25lMicsICdpcGhvbmUzJ10pO1xuICAgICAgdmVyaWZ5KG1vY2tzKTtcbiAgICB9KTtcbiAgfSkpO1xuICBkZXNjcmliZSgna2lsbEFsbFNpbXVsYXRvcnMnLCB3aXRoTW9ja3Moe3RwfSwgKG1vY2tzKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB3b3JrJywgYXN5bmMgKCkgPT4ge1xuICAgICAgbW9ja3MudHAuZXhwZWN0cygnZXhlYycpLm9uY2UoKS5yZXR1cm5zKFAucmVzb2x2ZShcbiAgICAgICAge3N0ZG91dDogJycsIHN0ZGVycjonJyB9KSk7XG4gICAgICBhd2FpdCB1dGlscy5raWxsQWxsU2ltdWxhdG9ycygpO1xuICAgICAgdmVyaWZ5KG1vY2tzKTtcbiAgICB9KTtcbiAgfSkpO1xuICBkZXNjcmliZSgna2lsbEFsbEluc3RydW1lbnRzJywgd2l0aE1vY2tzKHt0cH0sIChtb2NrcykgPT4ge1xuICAgIGl0KCdzaG91bGQgd29yaycsIGFzeW5jICgpID0+IHtcbiAgICAgIG1vY2tzLnRwLmV4cGVjdHMoJ2V4ZWMnKS5vbmNlKCkucmV0dXJucyhQLnJlc29sdmUoXG4gICAgICAgIHtzdGRvdXQ6ICcnLCBzdGRlcnI6JycgfSkpO1xuICAgICAgYXdhaXQgdXRpbHMua2lsbEFsbEluc3RydW1lbnRzKCk7XG4gICAgICB2ZXJpZnkobW9ja3MpO1xuICAgIH0pO1xuICB9KSk7XG4gIGRlc2NyaWJlKCdjbGVhbkFsbFRyYWNlcycsIHdpdGhNb2Nrcyh7dHB9LCAobW9ja3MpID0+IHtcbiAgICBzdHViRW52KCk7XG4gICAgaXQoJ3Nob3VsZCB3b3JrJywgYXN5bmMgKCkgPT4ge1xuICAgICAgcHJvY2Vzcy5lbnYuQ0xFQU5fVFJBQ0VTID0gMTtcbiAgICAgIG1vY2tzLnRwLmV4cGVjdHMoJ2V4ZWMnKS5vbmNlKCkucmV0dXJucyhQLnJlc29sdmUoXG4gICAgICAgIHtzdGRvdXQ6ICcnLCBzdGRlcnI6JycgfSkpO1xuICAgICAgYXdhaXQgdXRpbHMuY2xlYW5BbGxUcmFjZXMoKTtcbiAgICAgIHZlcmlmeShtb2Nrcyk7XG4gICAgfSk7XG4gIH0pKTtcbiAgZGVzY3JpYmUoJ3BhcnNlTGF1bmNoVGltZW91dCcsICgpID0+IHtcbiAgICBzdHViRW52KCk7XG4gICAgaXQoJ3Nob3VsZCB3b3JrJywgKCkgPT4ge1xuICAgICAgdXRpbHMucGFyc2VMYXVuY2hUaW1lb3V0KDkwMDAwKS5zaG91bGQuZGVlcC5lcXVhbCh7XG4gICAgICAgIGdsb2JhbDogOTAwMDAgfSk7XG4gICAgICB1dGlscy5wYXJzZUxhdW5jaFRpbWVvdXQoJzkwMDAwJykuc2hvdWxkLmRlZXAuZXF1YWwoe1xuICAgICAgICBnbG9iYWw6IDkwMDAwIH0pO1xuICAgICAgdXRpbHMucGFyc2VMYXVuY2hUaW1lb3V0KHtnbG9iYWw6IDkwMDAwLCBhZnRlckxhdW5jaDogMzAwMDB9KS5zaG91bGQuZGVlcC5lcXVhbCh7XG4gICAgICAgIGdsb2JhbDogOTAwMDAsIGFmdGVyTGF1bmNoOiAzMDAwMCB9KTtcbiAgICAgIHV0aWxzLnBhcnNlTGF1bmNoVGltZW91dCgne1wiZ2xvYmFsXCI6IDkwMDAwLCBcImFmdGVyTGF1bmNoXCI6IDMwMDAwfScpLnNob3VsZC5kZWVwLmVxdWFsKHtcbiAgICAgICAgZ2xvYmFsOiA5MDAwMCwgYWZ0ZXJMYXVuY2g6IDMwMDAwIH0pO1xuICAgIH0pO1xuICB9KTtcbiAgZGVzY3JpYmUoJ2dldEl3ZFBhdGgnLCB3aXRoTW9ja3Moe2ZzfSwgKG1vY2tzKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB3b3JrIHdoZW4gcGF0aCBpcyBmb3VuZCcsIGFzeW5jICgpID0+IHtcbiAgICAgIG1vY2tzLmZzLmV4cGVjdHMoJ2V4aXN0cycpLm9uY2UoKS5yZXR1cm5zKFAucmVzb2x2ZSh0cnVlKSk7XG4gICAgICAoYXdhaXQgdXRpbHMuZ2V0SXdkUGF0aCgnMTAuMTAuMTAnKSkuc2hvdWxkLm1hdGNoKFxuICAgICAgICAvLiphcHBpdW0taW5zdHJ1bWVudHMudGhpcmRwYXJ0eS5pd2QxMC8pO1xuICAgICAgdmVyaWZ5KG1vY2tzKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIHdvcmsgd2hlbiBwYXRoIGlzIG5vdCBmb3VuZCcsIGFzeW5jICgpID0+IHtcbiAgICAgIG1vY2tzLmZzLmV4cGVjdHMoJ2V4aXN0cycpLm9uY2UoKS5yZXR1cm5zKFAucmVzb2x2ZShmYWxzZSkpO1xuICAgICAgKGF3YWl0IHV0aWxzLmdldEl3ZFBhdGgoJzEwLjEwLjEwJykpLnNob3VsZC5tYXRjaChcbiAgICAgICAgLy4qYXBwaXVtLWluc3RydW1lbnRzLnRoaXJkcGFydHkuaXdkLyk7XG4gICAgICB2ZXJpZnkobW9ja3MpO1xuICAgIH0pO1xuICB9KSk7XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,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Q0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDOzs2Q0FDcEQsUUFBTSxVQUFVLENBQUMsVUFBVSxDQUFDOzs7NkJBQUUsTUFBTSxDQUFDLEtBQUssQ0FDL0MsdUNBQXVDOztBQUN6QywyQ0FBTyxLQUFLLENBQUMsQ0FBQzs7Ozs7OztLQUNmLENBQUMsQ0FBQztBQUNILE1BQUUsQ0FBQyxvQ0FBb0MsRUFBRTs7OztBQUN2QyxpQkFBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzs7NkNBQ3JELFFBQU0sVUFBVSxDQUFDLFVBQVUsQ0FBQzs7OzZCQUFFLE1BQU0sQ0FBQyxLQUFLLENBQy9DLHFDQUFxQzs7QUFDdkMsMkNBQU8sS0FBSyxDQUFDLENBQUM7Ozs7Ozs7S0FDZixDQUFDLENBQUM7R0FDSixDQUFDLENBQUMsQ0FBQztDQUNMLENBQUMsQ0FBQyIsImZpbGUiOiJ0ZXN0L3V0aWxzLXNwZWNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHJhbnNwaWxlOm1vY2hhXG5cbmltcG9ydCB7IHV0aWxzIH0gZnJvbSAnLi4nO1xuaW1wb3J0ICogYXMgdHAgZnJvbSAndGVlbl9wcm9jZXNzJztcbmltcG9ydCBjaGFpIGZyb20gJ2NoYWknO1xuaW1wb3J0ICdtb2NoYXdhaXQnO1xuaW1wb3J0IHsgd2l0aE1vY2tzLCB2ZXJpZnksIHN0dWJFbnYgfSBmcm9tICdhcHBpdW0tdGVzdC1zdXBwb3J0JztcbmltcG9ydCB7IGZzIH0gZnJvbSAnYXBwaXVtLXN1cHBvcnQnO1xuY2hhaS5zaG91bGQoKTtcblxubGV0IFAgPSBQcm9taXNlO1xuXG5kZXNjcmliZSgndXRpbHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdnZXRYY29kZVRyYWNlVGVtcGxhdGVQYXRoJywgd2l0aE1vY2tzKHt0cCwgZnN9LCAobW9ja3MpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHJpZXZlIC5idW5kbGUgcGF0aCcsIGFzeW5jICgpID0+IHtcbiAgICAgIG1vY2tzLnRwLmV4cGVjdHMoJ2V4ZWMnKS5vbmNlKCkucmV0dXJucyhQLnJlc29sdmUoXG4gICAgICAgIHtzdGRvdXQ6ICcvYS9iL2MvZFxcbicsIHN0ZGVycjonJyB9KSk7XG4gICAgICBtb2Nrcy5mcy5leHBlY3RzKCdvcGVuJykub25jZSgpLnJldHVybnMoUC5yZXNvbHZlKHt9KSk7XG4gICAgICBtb2Nrcy5mcy5leHBlY3RzKCdjbG9zZScpLm9uY2UoKS5yZXR1cm5zKFAucmVzb2x2ZSgpKTtcbiAgICAgIChhd2FpdCB1dGlscy5nZXRYY29kZVRyYWNlVGVtcGxhdGVQYXRoKCkpLnNob3VsZC5lcXVhbChcbiAgICAgICAgJy9hL2IvQ29udGVudHMvQXBwbGljYXRpb25zL0luc3RydW1lbnRzLmFwcC9Db250ZW50cy9QbHVnSW5zLycgK1xuICAgICAgICAnQXV0b21hdGlvbkluc3RydW1lbnQuYnVuZGxlL0NvbnRlbnRzL1Jlc291cmNlcy8nICtcbiAgICAgICAgJ0F1dG9tYXRpb24udHJhY2V0ZW1wbGF0ZScpO1xuICAgICAgdmVyaWZ5KG1vY2tzKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIHJldHJpZXZlIC54cnBsdWdpbiBwYXRoJywgYXN5bmMgKCkgPT4ge1xuICAgICAgbW9ja3MudHAuZXhwZWN0cygnZXhlYycpLm9uY2UoKS5yZXR1cm5zKFAucmVzb2x2ZShcbiAgICAgICAge3N0ZG91dDogJy9hL2IvYy9kXFxuJywgc3RkZXJyOicnIH0pKTtcbiAgICAgIG1vY2tzLmZzLmV4cGVjdHMoJ29wZW4nKS5vbmNlKCkucmV0dXJucyhQLnJlamVjdChuZXcgRXJyb3IoJ291Y2ghJykpKTtcbiAgICAgIG1vY2tzLmZzLmV4cGVjdHMoJ29wZW4nKS5vbmNlKCkucmV0dXJucyhQLnJlc29sdmUoe30pKTtcbiAgICAgIG1vY2tzLmZzLmV4cGVjdHMoJ2Nsb3NlJykub25jZSgpLnJldHVybnMoUC5yZXNvbHZlKCkpO1xuICAgICAgKGF3YWl0IHV0aWxzLmdldFhjb2RlVHJhY2VUZW1wbGF0ZVBhdGgoKSkuc2hvdWxkLmVxdWFsKFxuICAgICAgICAnL2EvYi9Db250ZW50cy9BcHBsaWNhdGlvbnMvSW5zdHJ1bWVudHMuYXBwL0NvbnRlbnRzL1BsdWdJbnMvJyArXG4gICAgICAgICdBdXRvbWF0aW9uSW5zdHJ1bWVudC54cnBsdWdpbi9Db250ZW50cy9SZXNvdXJjZXMvJyArXG4gICAgICAgICdBdXRvbWF0aW9uLnRyYWNldGVtcGxhdGUnKTtcbiAgICAgIHZlcmlmeShtb2Nrcyk7XG4gICAgfSk7XG4gIH0pKTtcbiAgZGVzY3JpYmUoJ2dldEluc3RydW1lbnRzUGF0aCcsIHdpdGhNb2Nrcyh7dHB9LCAobW9ja3MpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHJpZXZlIHBhdGgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBtb2Nrcy50cC5leHBlY3RzKCdleGVjJykub25jZSgpLnJldHVybnMoUC5yZXNvbHZlKFxuICAgICAgICB7c3Rkb3V0OiAnL2EvYi9jL2RcXG4nLCBzdGRlcnI6JycgfSkpO1xuICAgICAgKGF3YWl0IHV0aWxzLmdldEluc3RydW1lbnRzUGF0aCgpKS5zaG91bGQuZXF1YWwoJy9hL2IvYy9kJyk7XG4gICAgICB2ZXJpZnkobW9ja3MpO1xuICAgIH0pO1xuICB9KSk7XG4gIGRlc2NyaWJlKCdnZXRBdmFpbGFibGVEZXZpY2VzJywgd2l0aE1vY2tzKHt0cH0sIChtb2NrcykgPT4ge1xuICAgIGl0KCdzaG91bGQgd29yaycsIGFzeW5jICgpID0+IHtcbiAgICAgIG1vY2tzLnRwLmV4cGVjdHMoJ2V4ZWMnKS5vbmNlKCkucmV0dXJucyhQLnJlc29sdmUoXG4gICAgICAgIHtzdGRvdXQ6ICcvYS9iL2MvZFxcbicsIHN0ZGVycjonJyB9KSk7XG4gICAgICBtb2Nrcy50cC5leHBlY3RzKCdleGVjJykub25jZSgpLnJldHVybnMoUC5yZXNvbHZlKFxuICAgICAgICB7c3Rkb3V0OiAnaXBob25lMVxcbmlwaG9uZTJcXG5pcGhvbmUzJywgc3RkZXJyOicnIH0pKTtcbiAgICAgIChhd2FpdCB1dGlscy5nZXRBdmFpbGFibGVEZXZpY2VzKCkpLnNob3VsZC5kZWVwLmVxdWFsKFxuICAgICAgICBbJ2lwaG9uZTEnLCAnaXBob25lMicsICdpcGhvbmUzJ10pO1xuICAgICAgdmVyaWZ5KG1vY2tzKTtcbiAgICB9KTtcbiAgfSkpO1xuICBkZXNjcmliZSgna2lsbEFsbFNpbXVsYXRvcnMnLCB3aXRoTW9ja3Moe3RwfSwgKG1vY2tzKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB3b3JrJywgYXN5bmMgKCkgPT4ge1xuICAgICAgbW9ja3MudHAuZXhwZWN0cygnZXhlYycpLm9uY2UoKS5yZXR1cm5zKFAucmVzb2x2ZShcbiAgICAgICAge3N0ZG91dDogJycsIHN0ZGVycjonJyB9KSk7XG4gICAgICBhd2FpdCB1dGlscy5raWxsQWxsU2ltdWxhdG9ycygpO1xuICAgICAgdmVyaWZ5KG1vY2tzKTtcbiAgICB9KTtcbiAgfSkpO1xuICBkZXNjcmliZSgna2lsbEFsbEluc3RydW1lbnRzJywgd2l0aE1vY2tzKHt0cH0sIChtb2NrcykgPT4ge1xuICAgIGl0KCdzaG91bGQgd29yaycsIGFzeW5jICgpID0+IHtcbiAgICAgIG1vY2tzLnRwLmV4cGVjdHMoJ2V4ZWMnKS5vbmNlKCkucmV0dXJucyhQLnJlc29sdmUoXG4gICAgICAgIHtzdGRvdXQ6ICcnLCBzdGRlcnI6JycgfSkpO1xuICAgICAgYXdhaXQgdXRpbHMua2lsbEFsbEluc3RydW1lbnRzKCk7XG4gICAgICB2ZXJpZnkobW9ja3MpO1xuICAgIH0pO1xuICB9KSk7XG4gIGRlc2NyaWJlKCdjbGVhbkFsbFRyYWNlcycsIHdpdGhNb2Nrcyh7dHB9LCAobW9ja3MpID0+IHtcbiAgICBzdHViRW52KCk7XG4gICAgaXQoJ3Nob3VsZCB3b3JrJywgYXN5bmMgKCkgPT4ge1xuICAgICAgcHJvY2Vzcy5lbnYuQ0xFQU5fVFJBQ0VTID0gMTtcbiAgICAgIG1vY2tzLnRwLmV4cGVjdHMoJ2V4ZWMnKS5vbmNlKCkucmV0dXJucyhQLnJlc29sdmUoXG4gICAgICAgIHtzdGRvdXQ6ICcnLCBzdGRlcnI6JycgfSkpO1xuICAgICAgYXdhaXQgdXRpbHMuY2xlYW5BbGxUcmFjZXMoKTtcbiAgICAgIHZlcmlmeShtb2Nrcyk7XG4gICAgfSk7XG4gIH0pKTtcbiAgZGVzY3JpYmUoJ3BhcnNlTGF1bmNoVGltZW91dCcsICgpID0+IHtcbiAgICBzdHViRW52KCk7XG4gICAgaXQoJ3Nob3VsZCB3b3JrJywgKCkgPT4ge1xuICAgICAgdXRpbHMucGFyc2VMYXVuY2hUaW1lb3V0KDkwMDAwKS5zaG91bGQuZGVlcC5lcXVhbCh7XG4gICAgICAgIGdsb2JhbDogOTAwMDAgfSk7XG4gICAgICB1dGlscy5wYXJzZUxhdW5jaFRpbWVvdXQoJzkwMDAwJykuc2hvdWxkLmRlZXAuZXF1YWwoe1xuICAgICAgICBnbG9iYWw6IDkwMDAwIH0pO1xuICAgICAgdXRpbHMucGFyc2VMYXVuY2hUaW1lb3V0KHtnbG9iYWw6IDkwMDAwLCBhZnRlckxhdW5jaDogMzAwMDB9KS5zaG91bGQuZGVlcC5lcXVhbCh7XG4gICAgICAgIGdsb2JhbDogOTAwMDAsIGFmdGVyTGF1bmNoOiAzMDAwMCB9KTtcbiAgICAgIHV0aWxzLnBhcnNlTGF1bmNoVGltZW91dCgne1wiZ2xvYmFsXCI6IDkwMDAwLCBcImFmdGVyTGF1bmNoXCI6IDMwMDAwfScpLnNob3VsZC5kZWVwLmVxdWFsKHtcbiAgICAgICAgZ2xvYmFsOiA5MDAwMCwgYWZ0ZXJMYXVuY2g6IDMwMDAwIH0pO1xuICAgIH0pO1xuICB9KTtcbiAgZGVzY3JpYmUoJ2dldEl3ZFBhdGgnLCB3aXRoTW9ja3Moe2ZzfSwgKG1vY2tzKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB3b3JrIHdoZW4gcGF0aCBpcyBmb3VuZCcsIGFzeW5jICgpID0+IHtcbiAgICAgIG1vY2tzLmZzLmV4cGVjdHMoJ2V4aXN0cycpLm9uY2UoKS5yZXR1cm5zKFAucmVzb2x2ZSh0cnVlKSk7XG4gICAgICAoYXdhaXQgdXRpbHMuZ2V0SXdkUGF0aCgnMTAuMTAuMTAnKSkuc2hvdWxkLm1hdGNoKFxuICAgICAgICAvLiphcHBpdW0taW5zdHJ1bWVudHMudGhpcmRwYXJ0eS5pd2QxMC8pO1xuICAgICAgdmVyaWZ5KG1vY2tzKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIHdvcmsgd2hlbiBwYXRoIGlzIG5vdCBmb3VuZCcsIGFzeW5jICgpID0+IHtcbiAgICAgIG1vY2tzLmZzLmV4cGVjdHMoJ2V4aXN0cycpLm9uY2UoKS5yZXR1cm5zKFAucmVzb2x2ZShmYWxzZSkpO1xuICAgICAgKGF3YWl0IHV0aWxzLmdldEl3ZFBhdGgoJzEwLjEwLjEwJykpLnNob3VsZC5tYXRjaChcbiAgICAgICAgLy4qYXBwaXVtLWluc3RydW1lbnRzLnRoaXJkcGFydHkuaXdkLyk7XG4gICAgICB2ZXJpZnkobW9ja3MpO1xuICAgIH0pO1xuICB9KSk7XG59KTtcbiJdfQ==

@@ -8,3 +8,3 @@ 'use strict';

import xcode from 'appium-xcode';
import testAppPath from 'ios-test-app';
import { absolute as absoluteTestAppPath } from 'ios-test-app';
import _ from 'lodash';

@@ -136,3 +136,3 @@ import Instruments from './instruments';

let traceTemplatePath = await getXcodeTraceTemplatePath();
let appPath = path.resolve(rootDir, 'node_modules', 'ios-test-app', testAppPath[1]);
let appPath = path.resolve(rootDir, 'node_modules', 'ios-test-app', absoluteTestAppPath.iphonesimulator);
let scriptPath = path.resolve('../assets/blank_instruments_test.js');

@@ -139,0 +139,0 @@ let traceDocument = path.resolve('/', 'tmp', 'testTrace.trace');

@@ -8,3 +8,3 @@ {

],
"version": "3.0.0-beta8",
"version": "3.0.0-beta9",
"author": "appium",

@@ -11,0 +11,0 @@ "license": "Apache-2.0",