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

atom-ide-mocha-core

Package Overview
Dependencies
Maintainers
2
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

atom-ide-mocha-core - npm Package Compare versions

Comparing version 2.4.0 to 2.5.0

11

CHANGELOG.md

@@ -6,2 +6,13 @@ # Change Log

# [2.5.0](https://github.com/Dreamscapes/atom-ide-mocha-core/compare/atom-ide-mocha-core@2.4.0...atom-ide-mocha-core@2.5.0) (2019-04-11)
### Features
* **ui:** use radio buttons for interface selection in config ([7caf4d6](https://github.com/Dreamscapes/atom-ide-mocha-core/commit/7caf4d6))
# [2.4.0](https://github.com/Dreamscapes/atom-ide-mocha-core/compare/atom-ide-mocha-core@2.3.2...atom-ide-mocha-core@2.4.0) (2019-03-21)

@@ -8,0 +19,0 @@

@@ -6,2 +6,10 @@ # Change Log

## [1.1.2](https://github.com/Dreamscapes/atom-ide-mocha-core/compare/@atom-ide/utils@1.1.1...@atom-ide/utils@1.1.2) (2019-04-11)
**Note:** Version bump only for package @atom-ide/utils
## [1.1.1](https://github.com/Dreamscapes/atom-ide-mocha-core/compare/@atom-ide/utils@1.1.0...@atom-ide/utils@1.1.1) (2019-03-06)

@@ -8,0 +16,0 @@

2

node_modules/@atom-ide/utils/package-lock.json
{
"name": "@atom-ide/utils",
"version": "1.0.0",
"version": "1.1.1",
"lockfileVersion": 1,

@@ -5,0 +5,0 @@ "requires": true,

{
"name": "@atom-ide/utils",
"description": "Code shared across multiple core packages in this monorepo",
"version": "1.1.1",
"version": "1.1.2",
"author": "Robert Rossmann <rr.rossmann@me.com>",

@@ -6,0 +6,0 @@ "bugs": "https://github.com/Dreamscapes/atom-ide-mocha-core/issues",

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

});
exports.MODE = exports.SOCKET_SUPPORTED_PLATFORMS = void 0;
exports.MOCHA_EVENT = exports.MODE = exports.SOCKET_SUPPORTED_PLATFORMS = void 0;
const SOCKET_SUPPORTED_PLATFORMS = ['aix', 'darwin', 'freebsd', 'linux', 'openbsd', 'sunos'];

@@ -15,2 +15,16 @@ exports.SOCKET_SUPPORTED_PLATFORMS = SOCKET_SUPPORTED_PLATFORMS;

exports.MODE = MODE;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbnN0YW50cy5tanMiXSwibmFtZXMiOlsiU09DS0VUX1NVUFBPUlRFRF9QTEFURk9STVMiLCJNT0RFIiwiVU5JWCIsIlRDUCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0EsTUFBTUEsMEJBQTBCLEdBQUcsQ0FDakMsS0FEaUMsRUFFakMsUUFGaUMsRUFHakMsU0FIaUMsRUFJakMsT0FKaUMsRUFLakMsU0FMaUMsRUFNakMsT0FOaUMsQ0FBbkM7O0FBWUEsTUFBTUMsSUFBSSxHQUFHO0FBQ1hDLEVBQUFBLElBQUksRUFBRSxNQURLO0FBRVhDLEVBQUFBLEdBQUcsRUFBRTtBQUZNLENBQWIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZXNlIHBsYXRmb3JtIHN0cmluZ3MgYXJlIGtub3duIHRvIHN1cHBvcnQgc3RhbmRhcmQgVW5peCBzb2NrZXRzXG4gKi9cbmNvbnN0IFNPQ0tFVF9TVVBQT1JURURfUExBVEZPUk1TID0gW1xuICAnYWl4JyxcbiAgJ2RhcndpbicsXG4gICdmcmVlYnNkJyxcbiAgJ2xpbnV4JyxcbiAgJ29wZW5ic2QnLFxuICAnc3Vub3MnLFxuXVxuXG4vKipcbiAqIEtub3duIGludGVyZmFjZSBtb2Rlc1xuICovXG5jb25zdCBNT0RFID0ge1xuICBVTklYOiAndW5peCcsXG4gIFRDUDogJ0lQJyxcbn1cblxuZXhwb3J0IHtcbiAgU09DS0VUX1NVUFBPUlRFRF9QTEFURk9STVMsXG4gIE1PREUsXG59XG4iXX0=
const MOCHA_EVENT = {
START: 'start',
END: 'end',
SUITE: 'suite',
SUITE_END: 'suite end',
TEST: 'test',
TEST_END: 'test end',
HOOK: 'hook',
HOOK_END: 'hook end',
PASS: 'pass',
FAIL: 'fail',
PENDING: 'pending'
};
exports.MOCHA_EVENT = MOCHA_EVENT;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbnN0YW50cy5tanMiXSwibmFtZXMiOlsiU09DS0VUX1NVUFBPUlRFRF9QTEFURk9STVMiLCJNT0RFIiwiVU5JWCIsIlRDUCIsIk1PQ0hBX0VWRU5UIiwiU1RBUlQiLCJFTkQiLCJTVUlURSIsIlNVSVRFX0VORCIsIlRFU1QiLCJURVNUX0VORCIsIkhPT0siLCJIT09LX0VORCIsIlBBU1MiLCJGQUlMIiwiUEVORElORyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0EsTUFBTUEsMEJBQTBCLEdBQUcsQ0FDakMsS0FEaUMsRUFFakMsUUFGaUMsRUFHakMsU0FIaUMsRUFJakMsT0FKaUMsRUFLakMsU0FMaUMsRUFNakMsT0FOaUMsQ0FBbkM7O0FBWUEsTUFBTUMsSUFBSSxHQUFHO0FBQ1hDLEVBQUFBLElBQUksRUFBRSxNQURLO0FBRVhDLEVBQUFBLEdBQUcsRUFBRTtBQUZNLENBQWI7O0FBS0EsTUFBTUMsV0FBVyxHQUFHO0FBQ2xCQyxFQUFBQSxLQUFLLEVBQUUsT0FEVztBQUVsQkMsRUFBQUEsR0FBRyxFQUFFLEtBRmE7QUFHbEJDLEVBQUFBLEtBQUssRUFBRSxPQUhXO0FBSWxCQyxFQUFBQSxTQUFTLEVBQUUsV0FKTztBQUtsQkMsRUFBQUEsSUFBSSxFQUFFLE1BTFk7QUFNbEJDLEVBQUFBLFFBQVEsRUFBRSxVQU5RO0FBT2xCQyxFQUFBQSxJQUFJLEVBQUUsTUFQWTtBQVFsQkMsRUFBQUEsUUFBUSxFQUFFLFVBUlE7QUFTbEJDLEVBQUFBLElBQUksRUFBRSxNQVRZO0FBVWxCQyxFQUFBQSxJQUFJLEVBQUUsTUFWWTtBQVdsQkMsRUFBQUEsT0FBTyxFQUFFO0FBWFMsQ0FBcEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZXNlIHBsYXRmb3JtIHN0cmluZ3MgYXJlIGtub3duIHRvIHN1cHBvcnQgc3RhbmRhcmQgVW5peCBzb2NrZXRzXG4gKi9cbmNvbnN0IFNPQ0tFVF9TVVBQT1JURURfUExBVEZPUk1TID0gW1xuICAnYWl4JyxcbiAgJ2RhcndpbicsXG4gICdmcmVlYnNkJyxcbiAgJ2xpbnV4JyxcbiAgJ29wZW5ic2QnLFxuICAnc3Vub3MnLFxuXVxuXG4vKipcbiAqIEtub3duIGludGVyZmFjZSBtb2Rlc1xuICovXG5jb25zdCBNT0RFID0ge1xuICBVTklYOiAndW5peCcsXG4gIFRDUDogJ0lQJyxcbn1cblxuY29uc3QgTU9DSEFfRVZFTlQgPSB7XG4gIFNUQVJUOiAnc3RhcnQnLFxuICBFTkQ6ICdlbmQnLFxuICBTVUlURTogJ3N1aXRlJyxcbiAgU1VJVEVfRU5EOiAnc3VpdGUgZW5kJyxcbiAgVEVTVDogJ3Rlc3QnLFxuICBURVNUX0VORDogJ3Rlc3QgZW5kJyxcbiAgSE9PSzogJ2hvb2snLFxuICBIT09LX0VORDogJ2hvb2sgZW5kJyxcbiAgUEFTUzogJ3Bhc3MnLFxuICBGQUlMOiAnZmFpbCcsXG4gIFBFTkRJTkc6ICdwZW5kaW5nJyxcbn1cblxuZXhwb3J0IHtcbiAgU09DS0VUX1NVUFBPUlRFRF9QTEFURk9STVMsXG4gIE1PREUsXG4gIE1PQ0hBX0VWRU5ULFxufVxuIl19
{
"name": "atom-ide-mocha-core",
"description": "Code for IDE-Mocha Atom package",
"version": "2.4.0",
"version": "2.5.0",
"author": {

@@ -10,5 +10,8 @@ "name": "Robert Rossmann",

"bugs": "https://github.com/Dreamscapes/atom-ide-mocha-core/issues",
"bundledDependencies": [
"@atom-ide/utils"
],
"contributors": [],
"dependencies": {
"@atom-ide/utils": "^1.1.1",
"@atom-ide/utils": "^1.1.2",
"atom-package-deps": "^5.0.0",

@@ -18,5 +21,2 @@ "remote-event-emitter": "^1.2.0",

},
"bundledDependencies": [
"@atom-ide/utils"
],
"engines": {

@@ -41,3 +41,3 @@ "atom": "^1.32.0",

},
"gitHead": "7edcf70ae14c08f794560961865c9c261c1cc2a7"
"gitHead": "e05f07961d068ee07058d0fcf219e341806a25c7"
}

@@ -22,2 +22,3 @@ "use strict";

type: 'string',
radio: true,
enum: [MODE.UNIX, MODE.TCP],

@@ -85,2 +86,2 @@ default: (0, _utils.mkdefaultmode)()

exports.config = config;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbmZpZy5tanMiXSwibmFtZXMiOlsiTU9ERSIsImNvbnN0YW50cyIsImNvbmZpZyIsImdlbmVyYWwiLCJvcmRlciIsInR5cGUiLCJwcm9wZXJ0aWVzIiwiaW50ZXJmYWNlIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsImpvaW4iLCJlbnVtIiwiVU5JWCIsIlRDUCIsImRlZmF1bHQiLCJ2ZXJib3NpdHkiLCJkdXJhdGlvbnMiLCJub3RpZmljYXRpb25zIiwibm90aWZ5T25TdWNjZXNzIiwibm90aWZ5T25GYWlsdXJlIiwiY29uc29sZSIsIm9wZW5Db25zb2xlT25TdGFydCIsIm9wZW5Db25zb2xlT25GYWlsdXJlIiwiY2xlYXJDb25zb2xlT25TdGFydCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBLE1BQU07QUFBRUEsRUFBQUE7QUFBRixJQUFXQyxnQkFBakI7QUFDQSxNQUFNQyxNQUFNLEdBQUc7QUFDYkMsRUFBQUEsT0FBTyxFQUFFO0FBQ1BDLElBQUFBLEtBQUssRUFBRSxDQURBO0FBRVBDLElBQUFBLElBQUksRUFBRSxRQUZDO0FBR1BDLElBQUFBLFVBQVUsRUFBRTtBQUNWQyxNQUFBQSxTQUFTLEVBQUU7QUFDVEMsUUFBQUEsS0FBSyxFQUFFLDBCQURFO0FBRVRDLFFBQUFBLFdBQVcsRUFBRSxDQUNYLHdGQURXLEVBRVgscUZBRlcsRUFHWCwrQkFIVyxFQUlYLG1GQUpXLEVBS1gsZUFMVyxFQU1YLE1BTlcsRUFPWCx1RkFQVyxFQVFYLGtCQVJXLEVBU1hDLElBVFcsQ0FTTixHQVRNLENBRko7QUFZVEwsUUFBQUEsSUFBSSxFQUFFLFFBWkc7QUFhVE0sUUFBQUEsSUFBSSxFQUFFLENBQ0pYLElBQUksQ0FBQ1ksSUFERCxFQUVKWixJQUFJLENBQUNhLEdBRkQsQ0FiRztBQWlCVEMsUUFBQUEsT0FBTyxFQUFFO0FBakJBLE9BREQ7QUFxQlZDLE1BQUFBLFNBQVMsRUFBRTtBQUNUUCxRQUFBQSxLQUFLLEVBQUUsaUJBREU7QUFFVEMsUUFBQUEsV0FBVyxFQUFFLENBQ1gsd0VBRFcsRUFFWCxNQUZXLEVBR1gsb0ZBSFcsRUFJWCwrREFKVyxFQUtYLG9GQUxXLEVBTVgsZUFOVyxFQU9YLHdEQVBXLEVBUVgsTUFSVyxFQVNYLG9GQVRXLEVBVVgsMEVBVlcsRUFXWEMsSUFYVyxDQVdOLEdBWE0sQ0FGSjtBQWNUTCxRQUFBQSxJQUFJLEVBQUUsUUFkRztBQWVUTSxRQUFBQSxJQUFJLEVBQUUsQ0FDSixNQURJLEVBRUosT0FGSSxFQUdKLEtBSEksRUFJSixRQUpJLENBZkc7QUFxQlRHLFFBQUFBLE9BQU8sRUFBRTtBQXJCQSxPQXJCRDtBQTZDVkUsTUFBQUEsU0FBUyxFQUFFO0FBQ1RSLFFBQUFBLEtBQUssRUFBRSxvQ0FERTtBQUVUQyxRQUFBQSxXQUFXLEVBQUUsQ0FDWCx3RkFEVyxFQUVYLGNBRlcsRUFHWEMsSUFIVyxDQUdOLEdBSE0sQ0FGSjtBQU1UTCxRQUFBQSxJQUFJLEVBQUUsU0FORztBQU9UUyxRQUFBQSxPQUFPLEVBQUU7QUFQQTtBQTdDRDtBQUhMLEdBREk7QUE2RGJHLEVBQUFBLGFBQWEsRUFBRTtBQUNiYixJQUFBQSxLQUFLLEVBQUUsQ0FETTtBQUViQyxJQUFBQSxJQUFJLEVBQUUsUUFGTztBQUdiQyxJQUFBQSxVQUFVLEVBQUU7QUFDVlksTUFBQUEsZUFBZSxFQUFFO0FBQ2ZWLFFBQUFBLEtBQUssRUFBRSwrQkFEUTtBQUVmQyxRQUFBQSxXQUFXLEVBQUUsZ0VBRkU7QUFJZkosUUFBQUEsSUFBSSxFQUFFLFNBSlM7QUFLZlMsUUFBQUEsT0FBTyxFQUFFO0FBTE0sT0FEUDtBQVNWSyxNQUFBQSxlQUFlLEVBQUU7QUFDZlgsUUFBQUEsS0FBSyxFQUFFLDJCQURRO0FBRWZDLFFBQUFBLFdBQVcsRUFBRSxnREFGRTtBQUlmSixRQUFBQSxJQUFJLEVBQUUsU0FKUztBQUtmUyxRQUFBQSxPQUFPLEVBQUU7QUFMTTtBQVRQO0FBSEMsR0E3REY7QUFtRmJNLEVBQUFBLE9BQU8sRUFBRTtBQUNQaEIsSUFBQUEsS0FBSyxFQUFFLENBREE7QUFFUEMsSUFBQUEsSUFBSSxFQUFFLFFBRkM7QUFHUEMsSUFBQUEsVUFBVSxFQUFFO0FBQ1ZlLE1BQUFBLGtCQUFrQixFQUFFO0FBQ2xCYixRQUFBQSxLQUFLLEVBQUUsNEJBRFc7QUFFbEJDLFFBQUFBLFdBQVcsRUFBRSxDQUNYLHdFQURXLEVBRVgsd0JBRlcsRUFHWEMsSUFIVyxDQUdOLEdBSE0sQ0FGSztBQU1sQkwsUUFBQUEsSUFBSSxFQUFFLFNBTlk7QUFPbEJTLFFBQUFBLE9BQU8sRUFBRTtBQVBTLE9BRFY7QUFXVlEsTUFBQUEsb0JBQW9CLEVBQUU7QUFDcEJkLFFBQUFBLEtBQUssRUFBRSx5Q0FEYTtBQUVwQkMsUUFBQUEsV0FBVyxFQUFFLENBQ1gsdUZBRFcsRUFFWCxVQUZXLEVBR1hDLElBSFcsQ0FHTixHQUhNLENBRk87QUFNcEJMLFFBQUFBLElBQUksRUFBRSxTQU5jO0FBT3BCUyxRQUFBQSxPQUFPLEVBQUU7QUFQVyxPQVhaO0FBcUJWUyxNQUFBQSxtQkFBbUIsRUFBRTtBQUNuQmYsUUFBQUEsS0FBSyxFQUFFLDZCQURZO0FBRW5CQyxRQUFBQSxXQUFXLEVBQUUsQ0FDWCxxRkFEVyxFQUVYLHlFQUZXLEVBR1gsb0NBSFcsRUFJWEMsSUFKVyxDQUlOLEdBSk0sQ0FGTTtBQU9uQkwsUUFBQUEsSUFBSSxFQUFFLFNBUGE7QUFRbkJTLFFBQUFBLE9BQU8sRUFBRTtBQVJVO0FBckJYO0FBSEw7QUFuRkksQ0FBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1rZGVmYXVsdG1vZGUsIGNvbnN0YW50cyB9IGZyb20gJ0BhdG9tLWlkZS91dGlscydcblxuY29uc3QgeyBNT0RFIH0gPSBjb25zdGFudHNcbmNvbnN0IGNvbmZpZyA9IHtcbiAgZ2VuZXJhbDoge1xuICAgIG9yZGVyOiAxLFxuICAgIHR5cGU6ICdvYmplY3QnLFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIGludGVyZmFjZToge1xuICAgICAgICB0aXRsZTogJ1ByZWZlcnJlZCBpbnRlcmZhY2UgdHlwZScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBbXG4gICAgICAgICAgJ1ByZWZlcnJlZCBjb21tdW5pY2F0aW9ucyBpbnRlcmZhY2UuIFVuaXggc29ja2V0cyB0ZW5kIHRvIGJlIGdlbmVyYWxseSBmYXN0ZXIsIHdoaWxlIElQJyxcbiAgICAgICAgICAnYWxsb3dzIEF0b20gdG8gcmVjZWl2ZSBNb2NoYSByZXBvcnRzIGZyb20gYW55d2hlcmUgb24geW91ciBsb2NhbCBsb29wYmFjayBpbnRlcmZhY2UnLFxuICAgICAgICAgICcoaWUuIGZyb20gaW5zaWRlIERvY2tlcikuPGJyPicsXG4gICAgICAgICAgJ0JvdGggb3B0aW9ucyB3aWxsIGFsd2F5cyBwcm9kdWNlIHRoZSBzYW1lIHNvY2tldC9wb3J0IHBlciBwcm9qZWN0LCBldmVuIHdoZW4gQXRvbScsXG4gICAgICAgICAgJ3Jlc3RhcnRzLjxicj4nLFxuICAgICAgICAgICc8YnI+JyxcbiAgICAgICAgICAnX1dpbmRvd3MgdXNlcnMgc2hvdWxkIHByZWZlciBJUCBzaW5jZSBuYW1lZCBwaXBlcyBtYXkgbm90IHdvcmsgY29ycmVjdGx5IHdpdGggY3VycmVudCcsXG4gICAgICAgICAgJ2ltcGxlbWVudGF0aW9uLl8nLFxuICAgICAgICBdLmpvaW4oJyAnKSxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGVudW06IFtcbiAgICAgICAgICBNT0RFLlVOSVgsXG4gICAgICAgICAgTU9ERS5UQ1AsXG4gICAgICAgIF0sXG4gICAgICAgIGRlZmF1bHQ6IG1rZGVmYXVsdG1vZGUoKSxcbiAgICAgIH0sXG5cbiAgICAgIHZlcmJvc2l0eToge1xuICAgICAgICB0aXRsZTogJ1ZlcmJvc2l0eSBsZXZlbCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBbXG4gICAgICAgICAgJ1NwZWNpZnkgaG93IG11Y2ggaW5mb3JtYXRpb24geW91IHdvdWxkIGxpa2UgdG8gc2VlIGluIHRoZSBjb25zb2xlOjxicj4nLFxuICAgICAgICAgICc8YnI+JyxcbiAgICAgICAgICAnIOKAoiBgc3BlY2A6IHNob3cgZnVsbCBsb2dzLiBUaGlzIGxvb2tzIHNpbWlsYXIgdG8gdGhlIGJ1aWx0LWluIF9zcGVjXyByZXBvcnRlci48YnI+JyxcbiAgICAgICAgICAnIOKAoiBgc3VpdGVgOiBzaG93IG9ubHkgc3VpdGUgdGl0bGVzIGFzIHRoZXkgYXJlIHByb2Nlc3NlZC48YnI+JyxcbiAgICAgICAgICAnIOKAoiBgbWluYDogc2hvdyBvbmx5IGZpbmFsIHRlc3QgcnVuIHN0YXRzLiBUaGlzIGxvb2tzIHNpbWlsYXIgdG8gdGhlIGJ1aWx0LWluIF9taW5fJyxcbiAgICAgICAgICAncmVwb3J0ZXIuPGJyPicsXG4gICAgICAgICAgJyDigKIgYHNpbGVudGA6IHNob3cgbm8gb3V0cHV0IGluIHRoZSBjb25zb2xlIGF0IGFsbC48YnI+JyxcbiAgICAgICAgICAnPGJyPicsXG4gICAgICAgICAgJ19Zb3UgY2FuIGFsd2F5cyB3YXRjaCB0aGUgY3VycmVudCBwcm9ncmVzcyBieSBob3ZlcmluZyBvdmVyIHRoZSBidXN5IHNwaW5uZXIuXzxicj4nLFxuICAgICAgICAgICdfRXJyb3JzIGFyZSBhbHdheXMgZGlzcGxheWVkIGluIHRoZSBjb25zb2xlIHJlZ2FyZGxlc3Mgb2YgdGhpcyBzZXR0aW5nLl8nLFxuICAgICAgICBdLmpvaW4oJyAnKSxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGVudW06IFtcbiAgICAgICAgICAnc3BlYycsXG4gICAgICAgICAgJ3N1aXRlJyxcbiAgICAgICAgICAnbWluJyxcbiAgICAgICAgICAnc2lsZW50JyxcbiAgICAgICAgXSxcbiAgICAgICAgZGVmYXVsdDogJ3NwZWMnLFxuICAgICAgfSxcblxuICAgICAgZHVyYXRpb25zOiB7XG4gICAgICAgIHRpdGxlOiAnU2hvdyB0ZXN0IGR1cmF0aW9ucyBpbiB0aGUgY29uc29sZScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBbXG4gICAgICAgICAgJ1doZW4gZW5hYmxlZCwgYWxsIHRlc3QgY2FzZXMgd2lsbCBoYXZlIHRoZWlyIHRlc3QgZHVyYXRpb24gc2hvd24gYWZ0ZXIgdGhlaXIgdGl0bGVzIGluJyxcbiAgICAgICAgICAndGhlIGNvbnNvbGUuJyxcbiAgICAgICAgXS5qb2luKCcgJyksXG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcblxuICBub3RpZmljYXRpb25zOiB7XG4gICAgb3JkZXI6IDIsXG4gICAgdHlwZTogJ29iamVjdCcsXG4gICAgcHJvcGVydGllczoge1xuICAgICAgbm90aWZ5T25TdWNjZXNzOiB7XG4gICAgICAgIHRpdGxlOiAnTm90aWZ5IG9uIHN1Y2Nlc3NmdWwgdGVzdCBydW4nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1Nob3cgYSBub3RpZmljYXRpb24gd2hlbiB0aGUgdGVzdCBzdWl0ZSBmaW5pc2hlcyBzdWNjZXNzZnVsbHkuJyxcblxuICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgfSxcblxuICAgICAgbm90aWZ5T25GYWlsdXJlOiB7XG4gICAgICAgIHRpdGxlOiAnTm90aWZ5IG9uIGZhaWxlZCB0ZXN0IHJ1bicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnU2hvdyBhIG5vdGlmaWNhdGlvbiB3aGVuIHRoZSB0ZXN0IHN1aXRlIGZhaWxzLicsXG5cbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuXG4gIGNvbnNvbGU6IHtcbiAgICBvcmRlcjogMyxcbiAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICBvcGVuQ29uc29sZU9uU3RhcnQ6IHtcbiAgICAgICAgdGl0bGU6ICdPcGVuIENvbnNvbGUgcGFuZSBvbiBzdGFydCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBbXG4gICAgICAgICAgJ1doZW4gTW9jaGEgc3RhcnRzIHByb3ZpZGluZyBwcm9ncmVzcyBpbmZvcm1hdGlvbiB0aGUgQ29uc29sZSBwYW5lIHdpbGwnLFxuICAgICAgICAgICdhdXRvbWF0aWNhbGx5IHNob3cgdXAuJyxcbiAgICAgICAgXS5qb2luKCcgJyksXG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgIH0sXG5cbiAgICAgIG9wZW5Db25zb2xlT25GYWlsdXJlOiB7XG4gICAgICAgIHRpdGxlOiAnT3BlbiBDb25zb2xlIHBhbmUgYWZ0ZXIgZmFpbGVkIHRlc3QgcnVuJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFtcbiAgICAgICAgICAnV2hlbiB0aGUgdGVzdCBzdWl0ZSBlbmNvdW50ZXJzIGZhaWx1cmVzLCBvcGVuIHRoZSBDb25zb2xlIHBhbmUgdG8gaW1tZWRpYXRlbHkgc2VlIHRoZScsXG4gICAgICAgICAgJ2RldGFpbHMuJyxcbiAgICAgICAgXS5qb2luKCcgJyksXG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgIH0sXG5cbiAgICAgIGNsZWFyQ29uc29sZU9uU3RhcnQ6IHtcbiAgICAgICAgdGl0bGU6ICdDbGVhciBDb25zb2xlIHBhbmUgb24gc3RhcnQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogW1xuICAgICAgICAgICdXaGVuIE1vY2hhIHN0YXJ0cyBwcm92aWRpbmcgcHJvZ3Jlc3MgaW5mb3JtYXRpb24gdGhlIENvbnNvbGUgd2lsbCBiZSBjbGVhcmVkIG9mIGFsbCcsXG4gICAgICAgICAgJ2V4aXN0aW5nIG1lc3NhZ2VzIGZyb20gYWxsIHByb3ZpZGVycy4gVGhpcyBpcyBlcXVpdmFsZW50IG9mIHJ1bm5pbmcgdGhlJyxcbiAgICAgICAgICAnYENvbnNvbGU6IENsZWFyYCBjb21tYW5kIG1hbnVhbGx5LicsXG4gICAgICAgIF0uam9pbignICcpLFxuICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxufVxuXG5leHBvcnQge1xuICBjb25maWcsXG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbmZpZy5tanMiXSwibmFtZXMiOlsiTU9ERSIsImNvbnN0YW50cyIsImNvbmZpZyIsImdlbmVyYWwiLCJvcmRlciIsInR5cGUiLCJwcm9wZXJ0aWVzIiwiaW50ZXJmYWNlIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsImpvaW4iLCJyYWRpbyIsImVudW0iLCJVTklYIiwiVENQIiwiZGVmYXVsdCIsInZlcmJvc2l0eSIsImR1cmF0aW9ucyIsIm5vdGlmaWNhdGlvbnMiLCJub3RpZnlPblN1Y2Nlc3MiLCJub3RpZnlPbkZhaWx1cmUiLCJjb25zb2xlIiwib3BlbkNvbnNvbGVPblN0YXJ0Iiwib3BlbkNvbnNvbGVPbkZhaWx1cmUiLCJjbGVhckNvbnNvbGVPblN0YXJ0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRUEsTUFBTTtBQUFFQSxFQUFBQTtBQUFGLElBQVdDLGdCQUFqQjtBQUNBLE1BQU1DLE1BQU0sR0FBRztBQUNiQyxFQUFBQSxPQUFPLEVBQUU7QUFDUEMsSUFBQUEsS0FBSyxFQUFFLENBREE7QUFFUEMsSUFBQUEsSUFBSSxFQUFFLFFBRkM7QUFHUEMsSUFBQUEsVUFBVSxFQUFFO0FBQ1ZDLE1BQUFBLFNBQVMsRUFBRTtBQUNUQyxRQUFBQSxLQUFLLEVBQUUsMEJBREU7QUFFVEMsUUFBQUEsV0FBVyxFQUFFLENBQ1gsd0ZBRFcsRUFFWCxxRkFGVyxFQUdYLCtCQUhXLEVBSVgsbUZBSlcsRUFLWCxlQUxXLEVBTVgsTUFOVyxFQU9YLHVGQVBXLEVBUVgsa0JBUlcsRUFTWEMsSUFUVyxDQVNOLEdBVE0sQ0FGSjtBQVlUTCxRQUFBQSxJQUFJLEVBQUUsUUFaRztBQWFUTSxRQUFBQSxLQUFLLEVBQUUsSUFiRTtBQWNUQyxRQUFBQSxJQUFJLEVBQUUsQ0FDSlosSUFBSSxDQUFDYSxJQURELEVBRUpiLElBQUksQ0FBQ2MsR0FGRCxDQWRHO0FBa0JUQyxRQUFBQSxPQUFPLEVBQUU7QUFsQkEsT0FERDtBQXNCVkMsTUFBQUEsU0FBUyxFQUFFO0FBQ1RSLFFBQUFBLEtBQUssRUFBRSxpQkFERTtBQUVUQyxRQUFBQSxXQUFXLEVBQUUsQ0FDWCx3RUFEVyxFQUVYLE1BRlcsRUFHWCxvRkFIVyxFQUlYLCtEQUpXLEVBS1gsb0ZBTFcsRUFNWCxlQU5XLEVBT1gsd0RBUFcsRUFRWCxNQVJXLEVBU1gsb0ZBVFcsRUFVWCwwRUFWVyxFQVdYQyxJQVhXLENBV04sR0FYTSxDQUZKO0FBY1RMLFFBQUFBLElBQUksRUFBRSxRQWRHO0FBZVRPLFFBQUFBLElBQUksRUFBRSxDQUNKLE1BREksRUFFSixPQUZJLEVBR0osS0FISSxFQUlKLFFBSkksQ0FmRztBQXFCVEcsUUFBQUEsT0FBTyxFQUFFO0FBckJBLE9BdEJEO0FBOENWRSxNQUFBQSxTQUFTLEVBQUU7QUFDVFQsUUFBQUEsS0FBSyxFQUFFLG9DQURFO0FBRVRDLFFBQUFBLFdBQVcsRUFBRSxDQUNYLHdGQURXLEVBRVgsY0FGVyxFQUdYQyxJQUhXLENBR04sR0FITSxDQUZKO0FBTVRMLFFBQUFBLElBQUksRUFBRSxTQU5HO0FBT1RVLFFBQUFBLE9BQU8sRUFBRTtBQVBBO0FBOUNEO0FBSEwsR0FESTtBQThEYkcsRUFBQUEsYUFBYSxFQUFFO0FBQ2JkLElBQUFBLEtBQUssRUFBRSxDQURNO0FBRWJDLElBQUFBLElBQUksRUFBRSxRQUZPO0FBR2JDLElBQUFBLFVBQVUsRUFBRTtBQUNWYSxNQUFBQSxlQUFlLEVBQUU7QUFDZlgsUUFBQUEsS0FBSyxFQUFFLCtCQURRO0FBRWZDLFFBQUFBLFdBQVcsRUFBRSxnRUFGRTtBQUlmSixRQUFBQSxJQUFJLEVBQUUsU0FKUztBQUtmVSxRQUFBQSxPQUFPLEVBQUU7QUFMTSxPQURQO0FBU1ZLLE1BQUFBLGVBQWUsRUFBRTtBQUNmWixRQUFBQSxLQUFLLEVBQUUsMkJBRFE7QUFFZkMsUUFBQUEsV0FBVyxFQUFFLGdEQUZFO0FBSWZKLFFBQUFBLElBQUksRUFBRSxTQUpTO0FBS2ZVLFFBQUFBLE9BQU8sRUFBRTtBQUxNO0FBVFA7QUFIQyxHQTlERjtBQW9GYk0sRUFBQUEsT0FBTyxFQUFFO0FBQ1BqQixJQUFBQSxLQUFLLEVBQUUsQ0FEQTtBQUVQQyxJQUFBQSxJQUFJLEVBQUUsUUFGQztBQUdQQyxJQUFBQSxVQUFVLEVBQUU7QUFDVmdCLE1BQUFBLGtCQUFrQixFQUFFO0FBQ2xCZCxRQUFBQSxLQUFLLEVBQUUsNEJBRFc7QUFFbEJDLFFBQUFBLFdBQVcsRUFBRSxDQUNYLHdFQURXLEVBRVgsd0JBRlcsRUFHWEMsSUFIVyxDQUdOLEdBSE0sQ0FGSztBQU1sQkwsUUFBQUEsSUFBSSxFQUFFLFNBTlk7QUFPbEJVLFFBQUFBLE9BQU8sRUFBRTtBQVBTLE9BRFY7QUFXVlEsTUFBQUEsb0JBQW9CLEVBQUU7QUFDcEJmLFFBQUFBLEtBQUssRUFBRSx5Q0FEYTtBQUVwQkMsUUFBQUEsV0FBVyxFQUFFLENBQ1gsdUZBRFcsRUFFWCxVQUZXLEVBR1hDLElBSFcsQ0FHTixHQUhNLENBRk87QUFNcEJMLFFBQUFBLElBQUksRUFBRSxTQU5jO0FBT3BCVSxRQUFBQSxPQUFPLEVBQUU7QUFQVyxPQVhaO0FBcUJWUyxNQUFBQSxtQkFBbUIsRUFBRTtBQUNuQmhCLFFBQUFBLEtBQUssRUFBRSw2QkFEWTtBQUVuQkMsUUFBQUEsV0FBVyxFQUFFLENBQ1gscUZBRFcsRUFFWCx5RUFGVyxFQUdYLG9DQUhXLEVBSVhDLElBSlcsQ0FJTixHQUpNLENBRk07QUFPbkJMLFFBQUFBLElBQUksRUFBRSxTQVBhO0FBUW5CVSxRQUFBQSxPQUFPLEVBQUU7QUFSVTtBQXJCWDtBQUhMO0FBcEZJLENBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBta2RlZmF1bHRtb2RlLCBjb25zdGFudHMgfSBmcm9tICdAYXRvbS1pZGUvdXRpbHMnXG5cbmNvbnN0IHsgTU9ERSB9ID0gY29uc3RhbnRzXG5jb25zdCBjb25maWcgPSB7XG4gIGdlbmVyYWw6IHtcbiAgICBvcmRlcjogMSxcbiAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgdGl0bGU6ICdQcmVmZXJyZWQgaW50ZXJmYWNlIHR5cGUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogW1xuICAgICAgICAgICdQcmVmZXJyZWQgY29tbXVuaWNhdGlvbnMgaW50ZXJmYWNlLiBVbml4IHNvY2tldHMgdGVuZCB0byBiZSBnZW5lcmFsbHkgZmFzdGVyLCB3aGlsZSBJUCcsXG4gICAgICAgICAgJ2FsbG93cyBBdG9tIHRvIHJlY2VpdmUgTW9jaGEgcmVwb3J0cyBmcm9tIGFueXdoZXJlIG9uIHlvdXIgbG9jYWwgbG9vcGJhY2sgaW50ZXJmYWNlJyxcbiAgICAgICAgICAnKGllLiBmcm9tIGluc2lkZSBEb2NrZXIpLjxicj4nLFxuICAgICAgICAgICdCb3RoIG9wdGlvbnMgd2lsbCBhbHdheXMgcHJvZHVjZSB0aGUgc2FtZSBzb2NrZXQvcG9ydCBwZXIgcHJvamVjdCwgZXZlbiB3aGVuIEF0b20nLFxuICAgICAgICAgICdyZXN0YXJ0cy48YnI+JyxcbiAgICAgICAgICAnPGJyPicsXG4gICAgICAgICAgJ19XaW5kb3dzIHVzZXJzIHNob3VsZCBwcmVmZXIgSVAgc2luY2UgbmFtZWQgcGlwZXMgbWF5IG5vdCB3b3JrIGNvcnJlY3RseSB3aXRoIGN1cnJlbnQnLFxuICAgICAgICAgICdpbXBsZW1lbnRhdGlvbi5fJyxcbiAgICAgICAgXS5qb2luKCcgJyksXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICByYWRpbzogdHJ1ZSxcbiAgICAgICAgZW51bTogW1xuICAgICAgICAgIE1PREUuVU5JWCxcbiAgICAgICAgICBNT0RFLlRDUCxcbiAgICAgICAgXSxcbiAgICAgICAgZGVmYXVsdDogbWtkZWZhdWx0bW9kZSgpLFxuICAgICAgfSxcblxuICAgICAgdmVyYm9zaXR5OiB7XG4gICAgICAgIHRpdGxlOiAnVmVyYm9zaXR5IGxldmVsJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFtcbiAgICAgICAgICAnU3BlY2lmeSBob3cgbXVjaCBpbmZvcm1hdGlvbiB5b3Ugd291bGQgbGlrZSB0byBzZWUgaW4gdGhlIGNvbnNvbGU6PGJyPicsXG4gICAgICAgICAgJzxicj4nLFxuICAgICAgICAgICcg4oCiIGBzcGVjYDogc2hvdyBmdWxsIGxvZ3MuIFRoaXMgbG9va3Mgc2ltaWxhciB0byB0aGUgYnVpbHQtaW4gX3NwZWNfIHJlcG9ydGVyLjxicj4nLFxuICAgICAgICAgICcg4oCiIGBzdWl0ZWA6IHNob3cgb25seSBzdWl0ZSB0aXRsZXMgYXMgdGhleSBhcmUgcHJvY2Vzc2VkLjxicj4nLFxuICAgICAgICAgICcg4oCiIGBtaW5gOiBzaG93IG9ubHkgZmluYWwgdGVzdCBydW4gc3RhdHMuIFRoaXMgbG9va3Mgc2ltaWxhciB0byB0aGUgYnVpbHQtaW4gX21pbl8nLFxuICAgICAgICAgICdyZXBvcnRlci48YnI+JyxcbiAgICAgICAgICAnIOKAoiBgc2lsZW50YDogc2hvdyBubyBvdXRwdXQgaW4gdGhlIGNvbnNvbGUgYXQgYWxsLjxicj4nLFxuICAgICAgICAgICc8YnI+JyxcbiAgICAgICAgICAnX1lvdSBjYW4gYWx3YXlzIHdhdGNoIHRoZSBjdXJyZW50IHByb2dyZXNzIGJ5IGhvdmVyaW5nIG92ZXIgdGhlIGJ1c3kgc3Bpbm5lci5fPGJyPicsXG4gICAgICAgICAgJ19FcnJvcnMgYXJlIGFsd2F5cyBkaXNwbGF5ZWQgaW4gdGhlIGNvbnNvbGUgcmVnYXJkbGVzcyBvZiB0aGlzIHNldHRpbmcuXycsXG4gICAgICAgIF0uam9pbignICcpLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZW51bTogW1xuICAgICAgICAgICdzcGVjJyxcbiAgICAgICAgICAnc3VpdGUnLFxuICAgICAgICAgICdtaW4nLFxuICAgICAgICAgICdzaWxlbnQnLFxuICAgICAgICBdLFxuICAgICAgICBkZWZhdWx0OiAnc3BlYycsXG4gICAgICB9LFxuXG4gICAgICBkdXJhdGlvbnM6IHtcbiAgICAgICAgdGl0bGU6ICdTaG93IHRlc3QgZHVyYXRpb25zIGluIHRoZSBjb25zb2xlJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFtcbiAgICAgICAgICAnV2hlbiBlbmFibGVkLCBhbGwgdGVzdCBjYXNlcyB3aWxsIGhhdmUgdGhlaXIgdGVzdCBkdXJhdGlvbiBzaG93biBhZnRlciB0aGVpciB0aXRsZXMgaW4nLFxuICAgICAgICAgICd0aGUgY29uc29sZS4nLFxuICAgICAgICBdLmpvaW4oJyAnKSxcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuXG4gIG5vdGlmaWNhdGlvbnM6IHtcbiAgICBvcmRlcjogMixcbiAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICBub3RpZnlPblN1Y2Nlc3M6IHtcbiAgICAgICAgdGl0bGU6ICdOb3RpZnkgb24gc3VjY2Vzc2Z1bCB0ZXN0IHJ1bicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnU2hvdyBhIG5vdGlmaWNhdGlvbiB3aGVuIHRoZSB0ZXN0IHN1aXRlIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4nLFxuXG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICB9LFxuXG4gICAgICBub3RpZnlPbkZhaWx1cmU6IHtcbiAgICAgICAgdGl0bGU6ICdOb3RpZnkgb24gZmFpbGVkIHRlc3QgcnVuJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdTaG93IGEgbm90aWZpY2F0aW9uIHdoZW4gdGhlIHRlc3Qgc3VpdGUgZmFpbHMuJyxcblxuICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG5cbiAgY29uc29sZToge1xuICAgIG9yZGVyOiAzLFxuICAgIHR5cGU6ICdvYmplY3QnLFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIG9wZW5Db25zb2xlT25TdGFydDoge1xuICAgICAgICB0aXRsZTogJ09wZW4gQ29uc29sZSBwYW5lIG9uIHN0YXJ0JyxcbiAgICAgICAgZGVzY3JpcHRpb246IFtcbiAgICAgICAgICAnV2hlbiBNb2NoYSBzdGFydHMgcHJvdmlkaW5nIHByb2dyZXNzIGluZm9ybWF0aW9uIHRoZSBDb25zb2xlIHBhbmUgd2lsbCcsXG4gICAgICAgICAgJ2F1dG9tYXRpY2FsbHkgc2hvdyB1cC4nLFxuICAgICAgICBdLmpvaW4oJyAnKSxcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgfSxcblxuICAgICAgb3BlbkNvbnNvbGVPbkZhaWx1cmU6IHtcbiAgICAgICAgdGl0bGU6ICdPcGVuIENvbnNvbGUgcGFuZSBhZnRlciBmYWlsZWQgdGVzdCBydW4nLFxuICAgICAgICBkZXNjcmlwdGlvbjogW1xuICAgICAgICAgICdXaGVuIHRoZSB0ZXN0IHN1aXRlIGVuY291bnRlcnMgZmFpbHVyZXMsIG9wZW4gdGhlIENvbnNvbGUgcGFuZSB0byBpbW1lZGlhdGVseSBzZWUgdGhlJyxcbiAgICAgICAgICAnZGV0YWlscy4nLFxuICAgICAgICBdLmpvaW4oJyAnKSxcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgfSxcblxuICAgICAgY2xlYXJDb25zb2xlT25TdGFydDoge1xuICAgICAgICB0aXRsZTogJ0NsZWFyIENvbnNvbGUgcGFuZSBvbiBzdGFydCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBbXG4gICAgICAgICAgJ1doZW4gTW9jaGEgc3RhcnRzIHByb3ZpZGluZyBwcm9ncmVzcyBpbmZvcm1hdGlvbiB0aGUgQ29uc29sZSB3aWxsIGJlIGNsZWFyZWQgb2YgYWxsJyxcbiAgICAgICAgICAnZXhpc3RpbmcgbWVzc2FnZXMgZnJvbSBhbGwgcHJvdmlkZXJzLiBUaGlzIGlzIGVxdWl2YWxlbnQgb2YgcnVubmluZyB0aGUnLFxuICAgICAgICAgICdgQ29uc29sZTogQ2xlYXJgIGNvbW1hbmQgbWFudWFsbHkuJyxcbiAgICAgICAgXS5qb2luKCcgJyksXG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG59XG5cbmV4cG9ydCB7XG4gIGNvbmZpZyxcbn1cbiJdfQ==

@@ -18,2 +18,4 @@ "use strict";

var _utils = require("@atom-ide/utils");
var util = require("./util");

@@ -312,16 +314,19 @@

source.on('start', runner => session.didStartRunning({
const {
MOCHA_EVENT
} = _utils.constants;
source.on(MOCHA_EVENT.START, runner => session.didStartRunning({
runner
}));
source.on('end', runner => session.didFinishRunning({
source.on(MOCHA_EVENT.END, runner => session.didFinishRunning({
runner
}));
source.on('suite', suite => session.didStartSuite({
source.on(MOCHA_EVENT.SUITE, suite => session.didStartSuite({
suite
}));
source.on('test end', () => session.didFinishTest());
source.on('pass', test => session.didPassTest({
source.on(MOCHA_EVENT.TEST_END, () => session.didFinishTest());
source.on(MOCHA_EVENT.PASS, test => session.didPassTest({
test
}));
source.on('fail', (test, err) => session.didFailTest({
source.on(MOCHA_EVENT.FAIL, (test, err) => session.didFailTest({
test,

@@ -331,3 +336,3 @@ err,

}));
source.on('pending', test => session.didSkipTest({
source.on(MOCHA_EVENT.PENDING, test => session.didSkipTest({
test

@@ -378,2 +383,2 @@ }));

var _remotes = new WeakMap();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImlkZS1tb2NoYS5tanMiXSwibmFtZXMiOlsiSEVMUF9URU1QTEFURSIsImZzIiwicmVhZEZpbGVTeW5jIiwicGF0aCIsInJlc29sdmUiLCJfX2Rpcm5hbWUiLCJJZGVNb2NoYSIsImNvbmZpZyIsIm1lbnVzIiwiZG9QcmludEFkZHJlc3NJbmZvIiwiZG9Db3B5UmVjZWl2ZXJBZGRyZXNzIiwiZG9Db3B5TW9jaGFDb21tYW5kIiwiZG9IZWxwIiwiQ29tcG9zaXRlRGlzcG9zYWJsZSIsIk1hcCIsImFjdGl2YXRlIiwicHJvbXB0VXNlciIsImF0b20iLCJnZXQiLCJhZGQiLCJjb21tYW5kcyIsIm1lbnUiLCJvbkRpZENoYW5nZSIsImRpZENoYW5nZUNvbmZpZyIsInByb2plY3QiLCJvbkRpZENoYW5nZVBhdGhzIiwiZGlkQ2hhbmdlUGF0aHMiLCJzZXRJbW1lZGlhdGUiLCJnZXRQYXRocyIsImRlYWN0aXZhdGUiLCJkaXNwb3NlIiwiY29uc3VtZUJ1c3lTaWduYWwiLCJidXN5IiwiY29uc3VtZUNvbnNvbGUiLCJta2NvbnNvbGUiLCJpZCIsIm5hbWUiLCJjb25zdW1lTGludGVyIiwibWtsaW50ZXIiLCJmb2xkZXIiLCJhZGRyZXNzIiwiZW50cmllcyIsImxvZyIsImJhc2VuYW1lIiwidXRpbCIsIm9wZW5Db25zb2xlIiwicHJpbWFyeSIsInNoaWZ0IiwiY2xpcGJvYXJkIiwid3JpdGUiLCJub3RpZmljYXRpb25zIiwiYWRkU3VjY2VzcyIsImRlc2NyaXB0aW9uIiwiY29tbWFuZCIsIm1rY29tbWFuZGluZm8iLCJzaG93SGVscE5vdGlmaWNhdGlvbiIsImhlbHAiLCJyZXBsYWNlIiwiYWRkSW5mbyIsImljb24iLCJkaXNtaXNzYWJsZSIsImJ1dHRvbnMiLCJ0ZXh0IiwiY2xhc3NOYW1lIiwib25EaWRDbGljayIsInNob3dTdWNjZXNzTm90aWZpY2F0aW9uIiwic3RhdHMiLCJkZXRhaWwiLCJta3N0YXRzIiwic2hvd0ZhaWx1cmVOb3RpZmljYXRpb24iLCJhZGRFcnJvciIsImNoYW5nZSIsIm5ld1ZhbHVlIiwiZ2VuZXJhbCIsImludGVyZmFjZSIsIm9sZFZhbHVlIiwicGF0aHMiLCJyZW1vdmVkIiwiQXJyYXkiLCJmcm9tIiwia2V5cyIsImZpbHRlciIsImluY2x1ZGVzIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImRlc3Ryb3lSZW1vdGVGb3JGb2xkZXIiLCJjcmVhdGVSZW1vdGVGb3JGb2xkZXIiLCJoYXMiLCJ0eXBlIiwic29ja2V0IiwiQ29uc3VtZXIiLCJta2FkZHJlc3MiLCJyb290IiwicmVtb3RlIiwic2V0IiwidW5saW5rIiwib24iLCJzb3VyY2UiLCJkaWRSZWNlaXZlQ29ubmVjdGlvbiIsImxpc3RlbiIsImRlbGV0ZSIsImNsb3NlIiwic2Vzc2lvbiIsIlNlc3Npb24iLCJsaW50ZXIiLCJjb25zb2xlIiwic2V0dGluZ3MiLCJ2ZXJib3NpdHkiLCJkdXJhdGlvbnMiLCJzaG93Q29uc29sZSIsIm9wZW5Db25zb2xlT25GYWlsdXJlIiwicnVubmVyIiwiZGlkU3RhcnRSdW5uaW5nIiwiZGlkRmluaXNoUnVubmluZyIsInN1aXRlIiwiZGlkU3RhcnRTdWl0ZSIsImRpZEZpbmlzaFRlc3QiLCJ0ZXN0IiwiZGlkUGFzc1Rlc3QiLCJlcnIiLCJkaWRGYWlsVGVzdCIsImRpZFNraXBUZXN0IiwiZGlkQ2xvc2UiLCJvbmNlIiwiZmFpbHVyZXMiLCJub3RpZnlPbkZhaWx1cmUiLCJub3RpZnlPblN1Y2Nlc3MiLCJvcGVuQ29uc29sZU9uU3RhcnQiLCJjbGVhckNvbnNvbGVPblN0YXJ0IiwiY2xlYXJDb25zb2xlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O0FBRUEsTUFBTUEsYUFBYSxHQUFHQyxFQUFFLENBQUNDLFlBQUgsQ0FBZ0JDLElBQUksQ0FBQ0MsT0FBTCxDQUFhQyxTQUFiLEVBQXdCLFFBQXhCLEVBQWtDLFNBQWxDLENBQWhCLEVBQThELE1BQTlELENBQXRCOztB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QUFBO0FBQUYsS0FBRCxLQUFlO0FBQ25DLFVBQUlBLEtBQUssQ0FBQzJELFFBQVYsRUFBb0I7QUFDbEIsWUFBSSx1Q0FBZTNFLGFBQWYsQ0FBNkI0RSxlQUFqQyxFQUFrRDtBQUNoRCxlQUFLekQsdUJBQUwsQ0FBNkI7QUFBRUgsWUFBQUE7QUFBRixXQUE3QjtBQUNEO0FBQ0Y7O0FBRUQsVUFBSSxDQUFDQSxLQUFLLENBQUMyRCxRQUFQLElBQW1CLHVDQUFlM0UsYUFBZixDQUE2QjZFLGVBQXBELEVBQXFFO0FBQ25FLGFBQUs5RCx1QkFBTCxDQUE2QjtBQUFFQyxVQUFBQTtBQUFGLFNBQTdCO0FBQ0Q7QUFDRixLQVZEOztBQVlBLFFBQUksdUNBQWV3QyxPQUFmLENBQXVCc0Isa0JBQTNCLEVBQStDO0FBQzdDcEYsTUFBQUEsSUFBSSxDQUFDQyxXQUFMO0FBQ0Q7O0FBRUQsUUFBSSx1Q0FBZTZELE9BQWYsQ0FBdUJ1QixtQkFBM0IsRUFBZ0Q7QUFDOUNyRixNQUFBQSxJQUFJLENBQUNzRixZQUFMO0FBQ0Q7QUFDRjs7QUFoUVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb3NpdGVEaXNwb3NhYmxlIH0gZnJvbSAnYXRvbSdcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJ1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJ1xuaW1wb3J0IHsgaW5zdGFsbCB9IGZyb20gJ2F0b20tcGFja2FnZS1kZXBzJ1xuaW1wb3J0IHsgQ29uc3VtZXIgfSBmcm9tICdyZW1vdGUtZXZlbnQtZW1pdHRlcidcbmltcG9ydCAqIGFzIHV0aWwgZnJvbSAnLi91dGlsJ1xuaW1wb3J0IHsgY29uZmlnLCBtZW51cyB9IGZyb20gJy4vZGVmaW5pdGlvbnMnXG5pbXBvcnQgeyBTZXNzaW9uIH0gZnJvbSAnLi9zZXNzaW9uJ1xuXG5jb25zdCBIRUxQX1RFTVBMQVRFID0gZnMucmVhZEZpbGVTeW5jKHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdzdGF0aWMnLCAnaGVscC5tZCcpLCAndXRmOCcpXG5cbmNsYXNzIElkZU1vY2hhIHtcbiAgY29uZmlnID0gY29uZmlnXG4gIG1lbnVzID0gbWVudXNcbiAgY29tbWFuZHMgPSB7XG4gICAgJ2lkZS1tb2NoYTpwcmludC1hZGRyZXNzLWluZm8nOiA6OnRoaXMuZG9QcmludEFkZHJlc3NJbmZvLFxuICAgICdpZGUtbW9jaGE6Y29weS1yZWNlaXZlci1hZGRyZXNzJzogOjp0aGlzLmRvQ29weVJlY2VpdmVyQWRkcmVzcyxcbiAgICAnaWRlLW1vY2hhOmNvcHktbW9jaGEtY29tbWFuZCc6IDo6dGhpcy5kb0NvcHlNb2NoYUNvbW1hbmQsXG4gICAgJ2lkZS1tb2NoYTpoZWxwJzogOjp0aGlzLmRvSGVscCxcbiAgfVxuXG4gICNidXN5ID0gbnVsbFxuICAjY29uc29sZSA9IG51bGxcbiAgI2xpbnRlciA9IG51bGxcbiAgI3NldHRpbmdzID0gbnVsbFxuXG4gICNzdWJzY3JpcHRpb25zID0gbmV3IENvbXBvc2l0ZURpc3Bvc2FibGUoKVxuICAjcmVtb3RlcyA9IG5ldyBNYXAoKVxuXG4gIC8vIExJRkVDWUNMRVxuXG4gIGFzeW5jIGFjdGl2YXRlKCkge1xuICAgIC8vIFBhY2thZ2UgZGVwcyBhcmUgZGVmaW5lZCBpbiB0aGUgd3JhcHBlciByZXBvc2l0b3J5J3MgcGFja2FnZS5qc29uOlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9EcmVhbXNjYXBlcy9hdG9tLWlkZS1tb2NoYVxuICAgIGF3YWl0IGluc3RhbGwoJ2lkZS1tb2NoYScsIHsgcHJvbXB0VXNlcjogdHJ1ZSB9KVxuXG4gICAgdGhpcy4jc2V0dGluZ3MgPSBhdG9tLmNvbmZpZy5nZXQoJ2lkZS1tb2NoYScpXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9ucyA9IG5ldyBDb21wb3NpdGVEaXNwb3NhYmxlKClcbiAgICB0aGlzLiNzdWJzY3JpcHRpb25zLmFkZChhdG9tLmNvbW1hbmRzLmFkZCgnYXRvbS13b3Jrc3BhY2UnLCB0aGlzLmNvbW1hbmRzKSlcbiAgICB0aGlzLiNzdWJzY3JpcHRpb25zLmFkZChhdG9tLm1lbnUuYWRkKHRoaXMubWVudXMpKVxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbnMuYWRkKGF0b20uY29uZmlnLm9uRGlkQ2hhbmdlKCdpZGUtbW9jaGEnLCA6OnRoaXMuZGlkQ2hhbmdlQ29uZmlnKSlcbiAgICB0aGlzLiNzdWJzY3JpcHRpb25zLmFkZChhdG9tLnByb2plY3Qub25EaWRDaGFuZ2VQYXRocyg6OnRoaXMuZGlkQ2hhbmdlUGF0aHMpKVxuICAgIC8vIEluaXRpYWwgc29ja2V0IHNldHVwIGJlY2F1c2UgdGhlIGFib3ZlIGxpc3RlbmVyIGlzIG5vdCB0cmlnZ2VyZWQgYXQgQXRvbSBzdGFydHVwXG4gICAgLy8gRGVsYXkgc29ja2V0IGFjdGl2YXRpb24gZHVlIHRvIEF0b20gc29tZXRpbWVzIG5vdCByZXR1cm5pbmcgcHJvamVjdCBwYXRocyBhdCBzdGFydHVwIPCfpLfigI3imYLvuI9cbiAgICBzZXRJbW1lZGlhdGUoKCkgPT4gdGhpcy5kaWRDaGFuZ2VQYXRocyhhdG9tLnByb2plY3QuZ2V0UGF0aHMoKSkpXG4gIH1cblxuICBhc3luYyBkZWFjdGl2YXRlKCkge1xuICAgIC8vIENsb3NlIGFsbCBvcGVuZWQgcmVtb3Rlc1xuICAgIGF3YWl0IHRoaXMuZGlkQ2hhbmdlUGF0aHMoW10pXG5cbiAgICB0aGlzLiNzdWJzY3JpcHRpb25zLmRpc3Bvc2UoKVxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbnMgPSBuZXcgQ29tcG9zaXRlRGlzcG9zYWJsZSgpXG4gICAgdGhpcy4jYnVzeSA9IG51bGxcbiAgICB0aGlzLiNjb25zb2xlID0gbnVsbFxuICAgIHRoaXMuI2xpbnRlciA9IG51bGxcbiAgICB0aGlzLiNyZW1vdGVzID0gbmV3IE1hcCgpXG4gICAgdGhpcy4jc2V0dGluZ3MgPSBudWxsXG4gIH1cblxuICAvLyBDT05TVU1FRCBTRVJWSUNFU1xuXG4gIGNvbnN1bWVCdXN5U2lnbmFsKGJ1c3kpIHtcbiAgICB0aGlzLiNidXN5ID0gYnVzeVxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbnMuYWRkKHRoaXMuI2J1c3kpXG4gIH1cblxuICBjb25zdW1lQ29uc29sZShta2NvbnNvbGUpIHtcbiAgICB0aGlzLiNjb25zb2xlID0gbWtjb25zb2xlKHtcbiAgICAgIGlkOiAnSURFLU1vY2hhJyxcbiAgICAgIG5hbWU6ICdJREUtTW9jaGEnLFxuICAgIH0pXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9ucy5hZGQodGhpcy4jY29uc29sZSlcbiAgfVxuXG4gIGNvbnN1bWVMaW50ZXIobWtsaW50ZXIpIHtcbiAgICB0aGlzLiNsaW50ZXIgPSBta2xpbnRlcih7XG4gICAgICBuYW1lOiAnSURFLU1vY2hhJyxcbiAgICB9KVxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbnMuYWRkKHRoaXMuI2xpbnRlcilcbiAgfVxuXG5cbiAgLy8gQ09NTUFORFNcblxuICBkb1ByaW50QWRkcmVzc0luZm8oKSB7XG4gICAgZm9yIChjb25zdCBbZm9sZGVyLCB7IGFkZHJlc3MgfV0gb2YgdGhpcy4jcmVtb3Rlcy5lbnRyaWVzKCkpIHtcbiAgICAgIHRoaXMuI2NvbnNvbGUubG9nKGAke3BhdGguYmFzZW5hbWUoZm9sZGVyKX06ICR7YWRkcmVzc31gKVxuICAgIH1cblxuICAgIHJldHVybiB1dGlsLm9wZW5Db25zb2xlKClcbiAgfVxuXG4gIGRvQ29weVJlY2VpdmVyQWRkcmVzcygpIHtcbiAgICBjb25zdCBwcmltYXJ5ID0gYXRvbS5wcm9qZWN0LmdldFBhdGhzKCkuc2hpZnQoKVxuICAgIGNvbnN0IGFkZHJlc3MgPSB0aGlzLiNyZW1vdGVzLmdldChwcmltYXJ5KS5hZGRyZXNzXG5cbiAgICBhdG9tLmNsaXBib2FyZC53cml0ZShhZGRyZXNzKVxuICAgIGF0b20ubm90aWZpY2F0aW9ucy5hZGRTdWNjZXNzKGBDb3BpZWQgZm9yIHByb2plY3QgZm9sZGVyOiAke3BhdGguYmFzZW5hbWUocHJpbWFyeSl9IWAsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnKipJREUtTW9jaGEqKicsXG4gICAgfSlcbiAgfVxuXG4gIGRvQ29weU1vY2hhQ29tbWFuZCgpIHtcbiAgICBjb25zdCBwcmltYXJ5ID0gYXRvbS5wcm9qZWN0LmdldFBhdGhzKCkuc2hpZnQoKVxuICAgIGNvbnN0IGFkZHJlc3MgPSB0aGlzLiNyZW1vdGVzLmdldChwcmltYXJ5KS5hZGRyZXNzXG4gICAgY29uc3QgY29tbWFuZCA9IHV0aWwubWtjb21tYW5kaW5mbyh7IGFkZHJlc3MgfSlcblxuICAgIGF0b20uY2xpcGJvYXJkLndyaXRlKGNvbW1hbmQpXG4gICAgYXRvbS5ub3RpZmljYXRpb25zLmFkZFN1Y2Nlc3MoYENvcGllZCBmb3IgcHJvamVjdCBmb2xkZXI6ICR7cGF0aC5iYXNlbmFtZShwcmltYXJ5KX0hYCwge1xuICAgICAgZGVzY3JpcHRpb246ICcqKklERS1Nb2NoYSoqJyxcbiAgICB9KVxuICB9XG5cbiAgZG9IZWxwKCkge1xuICAgIGNvbnN0IHByaW1hcnkgPSBhdG9tLnByb2plY3QuZ2V0UGF0aHMoKS5zaGlmdCgpXG4gICAgY29uc3QgYWRkcmVzcyA9IHRoaXMuI3JlbW90ZXMuZ2V0KHByaW1hcnkpLmFkZHJlc3NcbiAgICBjb25zdCBjb21tYW5kID0gdXRpbC5ta2NvbW1hbmRpbmZvKHsgYWRkcmVzcyB9KVxuXG4gICAgcmV0dXJuIHRoaXMuc2hvd0hlbHBOb3RpZmljYXRpb24oeyBjb21tYW5kIH0pXG4gIH1cblxuXG4gIC8vIFRFU1QgUkVTVUxUUyBOT1RJRklDQVRJT05TXG5cbiAgc2hvd0hlbHBOb3RpZmljYXRpb24oeyBjb21tYW5kIH0pIHtcbiAgICBjb25zdCBoZWxwID0gSEVMUF9URU1QTEFURS5yZXBsYWNlKCcje0NPTU1BTkR9JywgY29tbWFuZClcblxuICAgIGF0b20ubm90aWZpY2F0aW9ucy5hZGRJbmZvKCdJREUtTW9jaGE6IEhlbHAnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogaGVscCxcbiAgICAgIGljb246ICdtb3J0YXItYm9hcmQnLFxuICAgICAgZGlzbWlzc2FibGU6IHRydWUsXG4gICAgICBidXR0b25zOiBbe1xuICAgICAgICAvLyBFeHRyYSBzcGFjZSB0byBtYWtlIHJvb20gYmV0d2VlbiB0aGUgY2xpcHB5IGljb24gYW5kIHRleHQg8J+OqFxuICAgICAgICB0ZXh0OiAnIENvcHkgTW9jaGEgY29tbWFuZCcsXG4gICAgICAgIGNsYXNzTmFtZTogJ2J0biBidG4taW5mbyBpY29uLWNsaXBweSBzZWxlY3RlZCcsXG4gICAgICAgIG9uRGlkQ2xpY2s6IDo6dGhpcy5kb0NvcHlNb2NoYUNvbW1hbmQsXG4gICAgICB9LCB7XG4gICAgICAgIHRleHQ6ICcgU2hvdyBhZGRyZXNzZXMgZm9yIGFsbCBwcm9qZWN0IHBhdGhzJyxcbiAgICAgICAgY2xhc3NOYW1lOiAnYnRuIGJ0bi1pbmZvJyxcbiAgICAgICAgb25EaWRDbGljazogOjp0aGlzLmRvUHJpbnRBZGRyZXNzSW5mbyxcbiAgICAgIH1dLFxuICAgIH0pXG4gIH1cblxuICBzaG93U3VjY2Vzc05vdGlmaWNhdGlvbih7IHN0YXRzIH0pIHtcbiAgICBhdG9tLm5vdGlmaWNhdGlvbnMuYWRkU3VjY2VzcygnVGVzdCBzdWl0ZSBwYXNzZWQuJywge1xuICAgICAgZGVzY3JpcHRpb246ICcqKklERS1Nb2NoYSoqJyxcbiAgICAgIGRldGFpbDogdXRpbC5ta3N0YXRzKHsgc3RhdHMgfSksXG4gICAgICBidXR0b25zOiBbe1xuICAgICAgICB0ZXh0OiAnT3BlbiBDb25zb2xlJyxcbiAgICAgICAgb25EaWRDbGljazogdXRpbC5vcGVuQ29uc29sZSxcbiAgICAgIH1dLFxuICAgIH0pXG4gIH1cblxuICBzaG93RmFpbHVyZU5vdGlmaWNhdGlvbih7IHN0YXRzIH0pIHtcbiAgICBhdG9tLm5vdGlmaWNhdGlvbnMuYWRkRXJyb3IoJ1Rlc3Qgc3VpdGUgZmFpbGVkLicsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnKipJREUtTW9jaGEqKicsXG4gICAgICBkZXRhaWw6IHV0aWwubWtzdGF0cyh7IHN0YXRzIH0pLFxuICAgICAgYnV0dG9uczogW3tcbiAgICAgICAgdGV4dDogJ09wZW4gQ29uc29sZScsXG4gICAgICAgIG9uRGlkQ2xpY2s6IHV0aWwub3BlbkNvbnNvbGUsXG4gICAgICB9XSxcbiAgICB9KVxuICB9XG5cblxuICAvLyBJTVBMRU1FTlRBVElPTlxuXG4gIGFzeW5jIGRpZENoYW5nZUNvbmZpZyhjaGFuZ2UpIHtcbiAgICB0aGlzLiNzZXR0aW5ncyA9IGNoYW5nZS5uZXdWYWx1ZVxuXG4gICAgaWYgKGNoYW5nZS5uZXdWYWx1ZS5nZW5lcmFsLmludGVyZmFjZSAhPT0gY2hhbmdlLm9sZFZhbHVlLmdlbmVyYWwuaW50ZXJmYWNlKSB7XG4gICAgICAvLyBGb3JjZS1jbG9zZSBhbGwgZXhpc3Rpbmcgc29ja2V0cyBieSBwcmV0ZW5kaW5nIHdlIGhhdmUgbm8gcHJvamVjdCBmb2xkZXJzIGFuZCBzdGFydCBuZXdcbiAgICAgIC8vIHNvY2tldHMgKHdpdGggdXBkYXRlZCBjb25maWd1cmF0aW9uKSBpbW1lZGlhdGVseSBhZnRlclxuICAgICAgYXdhaXQgdGhpcy5kaWRDaGFuZ2VQYXRocyhbXSlcbiAgICAgIGF3YWl0IHRoaXMuZGlkQ2hhbmdlUGF0aHMoYXRvbS5wcm9qZWN0LmdldFBhdGhzKCkpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZGlkQ2hhbmdlUGF0aHMocGF0aHMpIHtcbiAgICBjb25zdCByZW1vdmVkID0gQXJyYXlcbiAgICAgIC5mcm9tKHRoaXMuI3JlbW90ZXMua2V5cygpKVxuICAgICAgLmZpbHRlcihmb2xkZXIgPT4gIXBhdGhzLmluY2x1ZGVzKGZvbGRlcikpXG5cbiAgICBhd2FpdCBQcm9taXNlLmFsbChyZW1vdmVkLm1hcCg6OnRoaXMuZGVzdHJveVJlbW90ZUZvckZvbGRlcikpXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwocGF0aHMubWFwKDo6dGhpcy5jcmVhdGVSZW1vdGVGb3JGb2xkZXIpKVxuICB9XG5cbiAgYXN5bmMgY3JlYXRlUmVtb3RlRm9yRm9sZGVyKGZvbGRlcikge1xuICAgIC8vIFRoaXMgcHJvamVjdCBmb2xkZXIgYWxyZWFkeSBoYXMgYSBzb2NrZXQsIG1vdmUgb25cbiAgICBpZiAodGhpcy4jcmVtb3Rlcy5oYXMoZm9sZGVyKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgdHlwZSA9IHRoaXMuI3NldHRpbmdzLmdlbmVyYWwuaW50ZXJmYWNlXG4gICAgY29uc3Qgc29ja2V0ID0gbmV3IENvbnN1bWVyKClcbiAgICBjb25zdCBhZGRyZXNzID0gdXRpbC5ta2FkZHJlc3MoeyByb290OiBmb2xkZXIsIHR5cGUgfSlcbiAgICBjb25zdCByZW1vdGUgPSB7IGFkZHJlc3MsIHNvY2tldCB9XG4gICAgdGhpcy4jcmVtb3Rlcy5zZXQoZm9sZGVyLCByZW1vdGUpXG5cbiAgICAvLyBFbnN1cmUgdGhlIHNvY2tldCBkb2VzIG5vdCBleGlzdCBiZWZvcmUgd2UgYmluZCB0byBpdC4gQW5kIHllcywganVzdCBpZ25vcmUgYW55IGVycm9yc1xuICAgIC8vIHRocm93biBoZXJlLiBJZiB0aGUgZmlsZSBkb2VzIG5vdCBleGlzdCBpdCdzIGFsbCBnb29kIGFuZCBpZiB3ZSBjYW5ub3QgdW5saW5rIGl0IHRoZW4gd2VsbCxcbiAgICAvLyB3ZSBjYW4ndCByZWFsbHkgZG8gYW55dGhpbmcgYW55d2F5IGFuZCB3ZSB3aWxsIGluc3RlYWQgdGhyb3cgZHVyaW5nIGJpbmQuXG4gICAgaWYgKHR5cGVvZiBhZGRyZXNzID09PSAnc3RyaW5nJykge1xuICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBmcy51bmxpbmsoYWRkcmVzcywgKCkgPT4gcmVzb2x2ZSgpKSlcbiAgICB9XG5cbiAgICByZW1vdGUuc29ja2V0Lm9uKCdjb25uZWN0aW9uJywgc291cmNlID0+IHRoaXMuZGlkUmVjZWl2ZUNvbm5lY3Rpb24oeyBmb2xkZXIsIHNvdXJjZSB9KSlcbiAgICBhd2FpdCByZW1vdGUuc29ja2V0Lmxpc3Rlbih7IGFkZHJlc3MgfSlcbiAgfVxuXG4gIGFzeW5jIGRlc3Ryb3lSZW1vdGVGb3JGb2xkZXIoZm9sZGVyKSB7XG4gICAgY29uc3QgcmVtb3RlID0gdGhpcy4jcmVtb3Rlcy5nZXQoZm9sZGVyKVxuXG4gICAgLy8gU29ja2V0IGFscmVhZHkgZGVzdHJveWVkLCBtb3ZlIG9uXG4gICAgaWYgKCFyZW1vdGUpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuI3JlbW90ZXMuZGVsZXRlKGZvbGRlcilcbiAgICBhd2FpdCByZW1vdGUuc29ja2V0LmNsb3NlKClcbiAgfVxuXG4gIGRpZFJlY2VpdmVDb25uZWN0aW9uKHsgZm9sZGVyLCBzb3VyY2UgfSkge1xuICAgIGNvbnN0IHNlc3Npb24gPSBuZXcgU2Vzc2lvbih7XG4gICAgICByb290OiBmb2xkZXIsXG4gICAgICBsaW50ZXI6IHRoaXMuI2xpbnRlcixcbiAgICAgIGJ1c3k6IHRoaXMuI2J1c3ksXG4gICAgICBjb25zb2xlOiB0aGlzLiNjb25zb2xlLFxuICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgdmVyYm9zaXR5OiB0aGlzLiNzZXR0aW5ncy5nZW5lcmFsLnZlcmJvc2l0eSxcbiAgICAgICAgZHVyYXRpb25zOiB0aGlzLiNzZXR0aW5ncy5nZW5lcmFsLmR1cmF0aW9ucyxcbiAgICAgIH0sXG4gICAgfSlcblxuICAgIGNvbnN0IHNob3dDb25zb2xlID0gdGhpcy4jc2V0dGluZ3MuY29uc29sZS5vcGVuQ29uc29sZU9uRmFpbHVyZVxuXG4gICAgc291cmNlLm9uKCdzdGFydCcsIHJ1bm5lciA9PiBzZXNzaW9uLmRpZFN0YXJ0UnVubmluZyh7IHJ1bm5lciB9KSlcbiAgICBzb3VyY2Uub24oJ2VuZCcsIHJ1bm5lciA9PiBzZXNzaW9uLmRpZEZpbmlzaFJ1bm5pbmcoeyBydW5uZXIgfSkpXG4gICAgc291cmNlLm9uKCdzdWl0ZScsIHN1aXRlID0+IHNlc3Npb24uZGlkU3RhcnRTdWl0ZSh7IHN1aXRlIH0pKVxuICAgIHNvdXJjZS5vbigndGVzdCBlbmQnLCAoKSA9PiBzZXNzaW9uLmRpZEZpbmlzaFRlc3QoKSlcbiAgICBzb3VyY2Uub24oJ3Bhc3MnLCB0ZXN0ID0+IHNlc3Npb24uZGlkUGFzc1Rlc3QoeyB0ZXN0IH0pKVxuICAgIHNvdXJjZS5vbignZmFpbCcsICh0ZXN0LCBlcnIpID0+IHNlc3Npb24uZGlkRmFpbFRlc3QoeyB0ZXN0LCBlcnIsIHNob3dDb25zb2xlIH0pKVxuICAgIHNvdXJjZS5vbigncGVuZGluZycsIHRlc3QgPT4gc2Vzc2lvbi5kaWRTa2lwVGVzdCh7IHRlc3QgfSkpXG4gICAgc291cmNlLm9uKCdjbG9zZScsICgpID0+IHNlc3Npb24uZGlkQ2xvc2UoKSlcblxuICAgIHNlc3Npb24ub25jZSgnY2xvc2UnLCAoeyBzdGF0cyB9KSA9PiB7XG4gICAgICBpZiAoc3RhdHMuZmFpbHVyZXMpIHtcbiAgICAgICAgaWYgKHRoaXMuI3NldHRpbmdzLm5vdGlmaWNhdGlvbnMubm90aWZ5T25GYWlsdXJlKSB7XG4gICAgICAgICAgdGhpcy5zaG93RmFpbHVyZU5vdGlmaWNhdGlvbih7IHN0YXRzIH0pXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCFzdGF0cy5mYWlsdXJlcyAmJiB0aGlzLiNzZXR0aW5ncy5ub3RpZmljYXRpb25zLm5vdGlmeU9uU3VjY2Vzcykge1xuICAgICAgICB0aGlzLnNob3dTdWNjZXNzTm90aWZpY2F0aW9uKHsgc3RhdHMgfSlcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgaWYgKHRoaXMuI3NldHRpbmdzLmNvbnNvbGUub3BlbkNvbnNvbGVPblN0YXJ0KSB7XG4gICAgICB1dGlsLm9wZW5Db25zb2xlKClcbiAgICB9XG5cbiAgICBpZiAodGhpcy4jc2V0dGluZ3MuY29uc29sZS5jbGVhckNvbnNvbGVPblN0YXJ0KSB7XG4gICAgICB1dGlsLmNsZWFyQ29uc29sZSgpXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCB7XG4gIElkZU1vY2hhLFxufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImlkZS1tb2NoYS5tanMiXSwibmFtZXMiOlsiSEVMUF9URU1QTEFURSIsImZzIiwicmVhZEZpbGVTeW5jIiwicGF0aCIsInJlc29sdmUiLCJfX2Rpcm5hbWUiLCJJZGVNb2NoYSIsImNvbmZpZyIsIm1lbnVzIiwiZG9QcmludEFkZHJlc3NJbmZvIiwiZG9Db3B5UmVjZWl2ZXJBZGRyZXNzIiwiZG9Db3B5TW9jaGFDb21tYW5kIiwiZG9IZWxwIiwiQ29tcG9zaXRlRGlzcG9zYWJsZSIsIk1hcCIsImFjdGl2YXRlIiwicHJvbXB0VXNlciIsImF0b20iLCJnZXQiLCJhZGQiLCJjb21tYW5kcyIsIm1lbnUiLCJvbkRpZENoYW5nZSIsImRpZENoYW5nZUNvbmZpZyIsInByb2plY3QiLCJvbkRpZENoYW5nZVBhdGhzIiwiZGlkQ2hhbmdlUGF0aHMiLCJzZXRJbW1lZGlhdGUiLCJnZXRQYXRocyIsImRlYWN0aXZhdGUiLCJkaXNwb3NlIiwiY29uc3VtZUJ1c3lTaWduYWwiLCJidXN5IiwiY29uc3VtZUNvbnNvbGUiLCJta2NvbnNvbGUiLCJpZCIsIm5hbWUiLCJjb25zdW1lTGludGVyIiwibWtsaW50ZXIiLCJmb2xkZXIiLCJhZGRyZXNzIiwiZW50cmllcyIsImxvZyIsImJhc2VuYW1lIiwidXRpbCIsIm9wZW5Db25zb2xlIiwicHJpbWFyeSIsInNoaWZ0IiwiY2xpcGJvYXJkIiwid3JpdGUiLCJub3RpZmljYXRpb25zIiwiYWRkU3VjY2VzcyIsImRlc2NyaXB0aW9uIiwiY29tbWFuZCIsIm1rY29tbWFuZGluZm8iLCJzaG93SGVscE5vdGlmaWNhdGlvbiIsImhlbHAiLCJyZXBsYWNlIiwiYWRkSW5mbyIsImljb24iLCJkaXNtaXNzYWJsZSIsImJ1dHRvbnMiLCJ0ZXh0IiwiY2xhc3NOYW1lIiwib25EaWRDbGljayIsInNob3dTdWNjZXNzTm90aWZpY2F0aW9uIiwic3RhdHMiLCJkZXRhaWwiLCJta3N0YXRzIiwic2hvd0ZhaWx1cmVOb3RpZmljYXRpb24iLCJhZGRFcnJvciIsImNoYW5nZSIsIm5ld1ZhbHVlIiwiZ2VuZXJhbCIsImludGVyZmFjZSIsIm9sZFZhbHVlIiwicGF0aHMiLCJyZW1vdmVkIiwiQXJyYXkiLCJmcm9tIiwia2V5cyIsImZpbHRlciIsImluY2x1ZGVzIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImRlc3Ryb3lSZW1vdGVGb3JGb2xkZXIiLCJjcmVhdGVSZW1vdGVGb3JGb2xkZXIiLCJoYXMiLCJ0eXBlIiwic29ja2V0IiwiQ29uc3VtZXIiLCJta2FkZHJlc3MiLCJyb290IiwicmVtb3RlIiwic2V0IiwidW5saW5rIiwib24iLCJzb3VyY2UiLCJkaWRSZWNlaXZlQ29ubmVjdGlvbiIsImxpc3RlbiIsImRlbGV0ZSIsImNsb3NlIiwic2Vzc2lvbiIsIlNlc3Npb24iLCJsaW50ZXIiLCJjb25zb2xlIiwic2V0dGluZ3MiLCJ2ZXJib3NpdHkiLCJkdXJhdGlvbnMiLCJzaG93Q29uc29sZSIsIm9wZW5Db25zb2xlT25GYWlsdXJlIiwiTU9DSEFfRVZFTlQiLCJjb25zdGFudHMiLCJTVEFSVCIsInJ1bm5lciIsImRpZFN0YXJ0UnVubmluZyIsIkVORCIsImRpZEZpbmlzaFJ1bm5pbmciLCJTVUlURSIsInN1aXRlIiwiZGlkU3RhcnRTdWl0ZSIsIlRFU1RfRU5EIiwiZGlkRmluaXNoVGVzdCIsIlBBU1MiLCJ0ZXN0IiwiZGlkUGFzc1Rlc3QiLCJGQUlMIiwiZXJyIiwiZGlkRmFpbFRlc3QiLCJQRU5ESU5HIiwiZGlkU2tpcFRlc3QiLCJkaWRDbG9zZSIsIm9uY2UiLCJmYWlsdXJlcyIsIm5vdGlmeU9uRmFpbHVyZSIsIm5vdGlmeU9uU3VjY2VzcyIsIm9wZW5Db25zb2xlT25TdGFydCIsImNsZWFyQ29uc29sZU9uU3RhcnQiLCJjbGVhckNvbnNvbGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFQSxNQUFNQSxhQUFhLEdBQUdDLEVBQUUsQ0FBQ0Ms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QVVlLFdBQVcsQ0FBQ2tCLE9BQXRCLEVBQStCTCxJQUFJLElBQUl0QixPQUFPLENBQUM0QixXQUFSLENBQW9CO0FBQUVOLE1BQUFBO0FBQUYsS0FBcEIsQ0FBdkM7QUFDQTNCLElBQUFBLE1BQU0sQ0FBQ0QsRUFBUCxDQUFVLE9BQVYsRUFBbUIsTUFBTU0sT0FBTyxDQUFDNkIsUUFBUixFQUF6QjtBQUVBN0IsSUFBQUEsT0FBTyxDQUFDOEIsSUFBUixDQUFhLE9BQWIsRUFBc0IsQ0FBQztBQUFFbkUsTUFBQUE7QUFBRixLQUFELEtBQWU7QUFDbkMsVUFBSUEsS0FBSyxDQUFDb0UsUUFBVixFQUFvQjtBQUNsQixZQUFJLHVDQUFlcEYsYUFBZixDQUE2QnFGLGVBQWpDLEVBQWtEO0FBQ2hELGVBQUtsRSx1QkFBTCxDQUE2QjtBQUFFSCxZQUFBQTtBQUFGLFdBQTdCO0FBQ0Q7QUFDRjs7QUFFRCxVQUFJLENBQUNBLEtBQUssQ0FBQ29FLFFBQVAsSUFBbUIsdUNBQWVwRixhQUFmLENBQTZCc0YsZUFBcEQsRUFBcUU7QUFDbkUsYUFBS3ZFLHVCQUFMLENBQTZCO0FBQUVDLFVBQUFBO0FBQUYsU0FBN0I7QUFDRDtBQUNGLEtBVkQ7O0FBWUEsUUFBSSx1Q0FBZXdDLE9BQWYsQ0FBdUIrQixrQkFBM0IsRUFBK0M7QUFDN0M3RixNQUFBQSxJQUFJLENBQUNDLFdBQUw7QUFDRDs7QUFFRCxRQUFJLHVDQUFlNkQsT0FBZixDQUF1QmdDLG1CQUEzQixFQUFnRDtBQUM5QzlGLE1BQUFBLElBQUksQ0FBQytGLFlBQUw7QUFDRDtBQUNGOztBQWpRWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvc2l0ZURpc3Bvc2FibGUgfSBmcm9tICdhdG9tJ1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnXG5pbXBvcnQgeyBpbnN0YWxsIH0gZnJvbSAnYXRvbS1wYWNrYWdlLWRlcHMnXG5pbXBvcnQgeyBDb25zdW1lciB9IGZyb20gJ3JlbW90ZS1ldmVudC1lbWl0dGVyJ1xuaW1wb3J0IHsgY29uc3RhbnRzIH0gZnJvbSAnQGF0b20taWRlL3V0aWxzJ1xuaW1wb3J0ICogYXMgdXRpbCBmcm9tICcuL3V0aWwnXG5pbXBvcnQgeyBjb25maWcsIG1lbnVzIH0gZnJvbSAnLi9kZWZpbml0aW9ucydcbmltcG9ydCB7IFNlc3Npb24gfSBmcm9tICcuL3Nlc3Npb24nXG5cbmNvbnN0IEhFTFBfVEVNUExBVEUgPSBmcy5yZWFkRmlsZVN5bmMocGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJ3N0YXRpYycsICdoZWxwLm1kJyksICd1dGY4JylcblxuY2xhc3MgSWRlTW9jaGEge1xuICBjb25maWcgPSBjb25maWdcbiAgbWVudXMgPSBtZW51c1xuICBjb21tYW5kcyA9IHtcbiAgICAnaWRlLW1vY2hhOnByaW50LWFkZHJlc3MtaW5mbyc6IDo6dGhpcy5kb1ByaW50QWRkcmVzc0luZm8sXG4gICAgJ2lkZS1tb2NoYTpjb3B5LXJlY2VpdmVyLWFkZHJlc3MnOiA6OnRoaXMuZG9Db3B5UmVjZWl2ZXJBZGRyZXNzLFxuICAgICdpZGUtbW9jaGE6Y29weS1tb2NoYS1jb21tYW5kJzogOjp0aGlzLmRvQ29weU1vY2hhQ29tbWFuZCxcbiAgICAnaWRlLW1vY2hhOmhlbHAnOiA6OnRoaXMuZG9IZWxwLFxuICB9XG5cbiAgI2J1c3kgPSBudWxsXG4gICNjb25zb2xlID0gbnVsbFxuICAjbGludGVyID0gbnVsbFxuICAjc2V0dGluZ3MgPSBudWxsXG5cbiAgI3N1YnNjcmlwdGlvbnMgPSBuZXcgQ29tcG9zaXRlRGlzcG9zYWJsZSgpXG4gICNyZW1vdGVzID0gbmV3IE1hcCgpXG5cbiAgLy8gTElGRUNZQ0xFXG5cbiAgYXN5bmMgYWN0aXZhdGUoKSB7XG4gICAgLy8gUGFja2FnZSBkZXBzIGFyZSBkZWZpbmVkIGluIHRoZSB3cmFwcGVyIHJlcG9zaXRvcnkncyBwYWNrYWdlLmpzb246XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL0RyZWFtc2NhcGVzL2F0b20taWRlLW1vY2hhXG4gICAgYXdhaXQgaW5zdGFsbCgnaWRlLW1vY2hhJywgeyBwcm9tcHRVc2VyOiB0cnVlIH0pXG5cbiAgICB0aGlzLiNzZXR0aW5ncyA9IGF0b20uY29uZmlnLmdldCgnaWRlLW1vY2hhJylcbiAgICB0aGlzLiNzdWJzY3JpcHRpb25zID0gbmV3IENvbXBvc2l0ZURpc3Bvc2FibGUoKVxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbnMuYWRkKGF0b20uY29tbWFuZHMuYWRkKCdhdG9tLXdvcmtzcGFjZScsIHRoaXMuY29tbWFuZHMpKVxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbnMuYWRkKGF0b20ubWVudS5hZGQodGhpcy5tZW51cykpXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9ucy5hZGQoYXRvbS5jb25maWcub25EaWRDaGFuZ2UoJ2lkZS1tb2NoYScsIDo6dGhpcy5kaWRDaGFuZ2VDb25maWcpKVxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbnMuYWRkKGF0b20ucHJvamVjdC5vbkRpZENoYW5nZVBhdGhzKDo6dGhpcy5kaWRDaGFuZ2VQYXRocykpXG4gICAgLy8gSW5pdGlhbCBzb2NrZXQgc2V0dXAgYmVjYXVzZSB0aGUgYWJvdmUgbGlzdGVuZXIgaXMgbm90IHRyaWdnZXJlZCBhdCBBdG9tIHN0YXJ0dXBcbiAgICAvLyBEZWxheSBzb2NrZXQgYWN0aXZhdGlvbiBkdWUgdG8gQXRvbSBzb21ldGltZXMgbm90IHJldHVybmluZyBwcm9qZWN0IHBhdGhzIGF0IHN0YXJ0dXAg8J+kt+KAjeKZgu+4j1xuICAgIHNldEltbWVkaWF0ZSgoKSA9PiB0aGlzLmRpZENoYW5nZVBhdGhzKGF0b20ucHJvamVjdC5nZXRQYXRocygpKSlcbiAgfVxuXG4gIGFzeW5jIGRlYWN0aXZhdGUoKSB7XG4gICAgLy8gQ2xvc2UgYWxsIG9wZW5lZCByZW1vdGVzXG4gICAgYXdhaXQgdGhpcy5kaWRDaGFuZ2VQYXRocyhbXSlcblxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbnMuZGlzcG9zZSgpXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9ucyA9IG5ldyBDb21wb3NpdGVEaXNwb3NhYmxlKClcbiAgICB0aGlzLiNidXN5ID0gbnVsbFxuICAgIHRoaXMuI2NvbnNvbGUgPSBudWxsXG4gICAgdGhpcy4jbGludGVyID0gbnVsbFxuICAgIHRoaXMuI3JlbW90ZXMgPSBuZXcgTWFwKClcbiAgICB0aGlzLiNzZXR0aW5ncyA9IG51bGxcbiAgfVxuXG4gIC8vIENPTlNVTUVEIFNFUlZJQ0VTXG5cbiAgY29uc3VtZUJ1c3lTaWduYWwoYnVzeSkge1xuICAgIHRoaXMuI2J1c3kgPSBidXN5XG4gICAgdGhpcy4jc3Vic2NyaXB0aW9ucy5hZGQodGhpcy4jYnVzeSlcbiAgfVxuXG4gIGNvbnN1bWVDb25zb2xlKG1rY29uc29sZSkge1xuICAgIHRoaXMuI2NvbnNvbGUgPSBta2NvbnNvbGUoe1xuICAgICAgaWQ6ICdJREUtTW9jaGEnLFxuICAgICAgbmFtZTogJ0lERS1Nb2NoYScsXG4gICAgfSlcbiAgICB0aGlzLiNzdWJzY3JpcHRpb25zLmFkZCh0aGlzLiNjb25zb2xlKVxuICB9XG5cbiAgY29uc3VtZUxpbnRlcihta2xpbnRlcikge1xuICAgIHRoaXMuI2xpbnRlciA9IG1rbGludGVyKHtcbiAgICAgIG5hbWU6ICdJREUtTW9jaGEnLFxuICAgIH0pXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9ucy5hZGQodGhpcy4jbGludGVyKVxuICB9XG5cblxuICAvLyBDT01NQU5EU1xuXG4gIGRvUHJpbnRBZGRyZXNzSW5mbygpIHtcbiAgICBmb3IgKGNvbnN0IFtmb2xkZXIsIHsgYWRkcmVzcyB9XSBvZiB0aGlzLiNyZW1vdGVzLmVudHJpZXMoKSkge1xuICAgICAgdGhpcy4jY29uc29sZS5sb2coYCR7cGF0aC5iYXNlbmFtZShmb2xkZXIpfTogJHthZGRyZXNzfWApXG4gICAgfVxuXG4gICAgcmV0dXJuIHV0aWwub3BlbkNvbnNvbGUoKVxuICB9XG5cbiAgZG9Db3B5UmVjZWl2ZXJBZGRyZXNzKCkge1xuICAgIGNvbnN0IHByaW1hcnkgPSBhdG9tLnByb2plY3QuZ2V0UGF0aHMoKS5zaGlmdCgpXG4gICAgY29uc3QgYWRkcmVzcyA9IHRoaXMuI3JlbW90ZXMuZ2V0KHByaW1hcnkpLmFkZHJlc3NcblxuICAgIGF0b20uY2xpcGJvYXJkLndyaXRlKGFkZHJlc3MpXG4gICAgYXRvbS5ub3RpZmljYXRpb25zLmFkZFN1Y2Nlc3MoYENvcGllZCBmb3IgcHJvamVjdCBmb2xkZXI6ICR7cGF0aC5iYXNlbmFtZShwcmltYXJ5KX0hYCwge1xuICAgICAgZGVzY3JpcHRpb246ICcqKklERS1Nb2NoYSoqJyxcbiAgICB9KVxuICB9XG5cbiAgZG9Db3B5TW9jaGFDb21tYW5kKCkge1xuICAgIGNvbnN0IHByaW1hcnkgPSBhdG9tLnByb2plY3QuZ2V0UGF0aHMoKS5zaGlmdCgpXG4gICAgY29uc3QgYWRkcmVzcyA9IHRoaXMuI3JlbW90ZXMuZ2V0KHByaW1hcnkpLmFkZHJlc3NcbiAgICBjb25zdCBjb21tYW5kID0gdXRpbC5ta2NvbW1hbmRpbmZvKHsgYWRkcmVzcyB9KVxuXG4gICAgYXRvbS5jbGlwYm9hcmQud3JpdGUoY29tbWFuZClcbiAgICBhdG9tLm5vdGlmaWNhdGlvbnMuYWRkU3VjY2VzcyhgQ29waWVkIGZvciBwcm9qZWN0IGZvbGRlcjogJHtwYXRoLmJhc2VuYW1lKHByaW1hcnkpfSFgLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJyoqSURFLU1vY2hhKionLFxuICAgIH0pXG4gIH1cblxuICBkb0hlbHAoKSB7XG4gICAgY29uc3QgcHJpbWFyeSA9IGF0b20ucHJvamVjdC5nZXRQYXRocygpLnNoaWZ0KClcbiAgICBjb25zdCBhZGRyZXNzID0gdGhpcy4jcmVtb3Rlcy5nZXQocHJpbWFyeSkuYWRkcmVzc1xuICAgIGNvbnN0IGNvbW1hbmQgPSB1dGlsLm1rY29tbWFuZGluZm8oeyBhZGRyZXNzIH0pXG5cbiAgICByZXR1cm4gdGhpcy5zaG93SGVscE5vdGlmaWNhdGlvbih7IGNvbW1hbmQgfSlcbiAgfVxuXG5cbiAgLy8gVEVTVCBSRVNVTFRTIE5PVElGSUNBVElPTlNcblxuICBzaG93SGVscE5vdGlmaWNhdGlvbih7IGNvbW1hbmQgfSkge1xuICAgIGNvbnN0IGhlbHAgPSBIRUxQX1RFTVBMQVRFLnJlcGxhY2UoJyN7Q09NTUFORH0nLCBjb21tYW5kKVxuXG4gICAgYXRvbS5ub3RpZmljYXRpb25zLmFkZEluZm8oJ0lERS1Nb2NoYTogSGVscCcsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBoZWxwLFxuICAgICAgaWNvbjogJ21vcnRhci1ib2FyZCcsXG4gICAgICBkaXNtaXNzYWJsZTogdHJ1ZSxcbiAgICAgIGJ1dHRvbnM6IFt7XG4gICAgICAgIC8vIEV4dHJhIHNwYWNlIHRvIG1ha2Ugcm9vbSBiZXR3ZWVuIHRoZSBjbGlwcHkgaWNvbiBhbmQgdGV4dCDwn46oXG4gICAgICAgIHRleHQ6ICcgQ29weSBNb2NoYSBjb21tYW5kJyxcbiAgICAgICAgY2xhc3NOYW1lOiAnYnRuIGJ0bi1pbmZvIGljb24tY2xpcHB5IHNlbGVjdGVkJyxcbiAgICAgICAgb25EaWRDbGljazogOjp0aGlzLmRvQ29weU1vY2hhQ29tbWFuZCxcbiAgICAgIH0sIHtcbiAgICAgICAgdGV4dDogJyBTaG93IGFkZHJlc3NlcyBmb3IgYWxsIHByb2plY3QgcGF0aHMnLFxuICAgICAgICBjbGFzc05hbWU6ICdidG4gYnRuLWluZm8nLFxuICAgICAgICBvbkRpZENsaWNrOiA6OnRoaXMuZG9QcmludEFkZHJlc3NJbmZvLFxuICAgICAgfV0sXG4gICAgfSlcbiAgfVxuXG4gIHNob3dTdWNjZXNzTm90aWZpY2F0aW9uKHsgc3RhdHMgfSkge1xuICAgIGF0b20ubm90aWZpY2F0aW9ucy5hZGRTdWNjZXNzKCdUZXN0IHN1aXRlIHBhc3NlZC4nLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJyoqSURFLU1vY2hhKionLFxuICAgICAgZGV0YWlsOiB1dGlsLm1rc3RhdHMoeyBzdGF0cyB9KSxcbiAgICAgIGJ1dHRvbnM6IFt7XG4gICAgICAgIHRleHQ6ICdPcGVuIENvbnNvbGUnLFxuICAgICAgICBvbkRpZENsaWNrOiB1dGlsLm9wZW5Db25zb2xlLFxuICAgICAgfV0sXG4gICAgfSlcbiAgfVxuXG4gIHNob3dGYWlsdXJlTm90aWZpY2F0aW9uKHsgc3RhdHMgfSkge1xuICAgIGF0b20ubm90aWZpY2F0aW9ucy5hZGRFcnJvcignVGVzdCBzdWl0ZSBmYWlsZWQuJywge1xuICAgICAgZGVzY3JpcHRpb246ICcqKklERS1Nb2NoYSoqJyxcbiAgICAgIGRldGFpbDogdXRpbC5ta3N0YXRzKHsgc3RhdHMgfSksXG4gICAgICBidXR0b25zOiBbe1xuICAgICAgICB0ZXh0OiAnT3BlbiBDb25zb2xlJyxcbiAgICAgICAgb25EaWRDbGljazogdXRpbC5vcGVuQ29uc29sZSxcbiAgICAgIH1dLFxuICAgIH0pXG4gIH1cblxuXG4gIC8vIElNUExFTUVOVEFUSU9OXG5cbiAgYXN5bmMgZGlkQ2hhbmdlQ29uZmlnKGNoYW5nZSkge1xuICAgIHRoaXMuI3NldHRpbmdzID0gY2hhbmdlLm5ld1ZhbHVlXG5cbiAgICBpZiAoY2hhbmdlLm5ld1ZhbHVlLmdlbmVyYWwuaW50ZXJmYWNlICE9PSBjaGFuZ2Uub2xkVmFsdWUuZ2VuZXJhbC5pbnRlcmZhY2UpIHtcbiAgICAgIC8vIEZvcmNlLWNsb3NlIGFsbCBleGlzdGluZyBzb2NrZXRzIGJ5IHByZXRlbmRpbmcgd2UgaGF2ZSBubyBwcm9qZWN0IGZvbGRlcnMgYW5kIHN0YXJ0IG5ld1xuICAgICAgLy8gc29ja2V0cyAod2l0aCB1cGRhdGVkIGNvbmZpZ3VyYXRpb24pIGltbWVkaWF0ZWx5IGFmdGVyXG4gICAgICBhd2FpdCB0aGlzLmRpZENoYW5nZVBhdGhzKFtdKVxuICAgICAgYXdhaXQgdGhpcy5kaWRDaGFuZ2VQYXRocyhhdG9tLnByb2plY3QuZ2V0UGF0aHMoKSlcbiAgICB9XG4gIH1cblxuICBhc3luYyBkaWRDaGFuZ2VQYXRocyhwYXRocykge1xuICAgIGNvbnN0IHJlbW92ZWQgPSBBcnJheVxuICAgICAgLmZyb20odGhpcy4jcmVtb3Rlcy5rZXlzKCkpXG4gICAgICAuZmlsdGVyKGZvbGRlciA9PiAhcGF0aHMuaW5jbHVkZXMoZm9sZGVyKSlcblxuICAgIGF3YWl0IFByb21pc2UuYWxsKHJlbW92ZWQubWFwKDo6dGhpcy5kZXN0cm95UmVtb3RlRm9yRm9sZGVyKSlcbiAgICBhd2FpdCBQcm9taXNlLmFsbChwYXRocy5tYXAoOjp0aGlzLmNyZWF0ZVJlbW90ZUZvckZvbGRlcikpXG4gIH1cblxuICBhc3luYyBjcmVhdGVSZW1vdGVGb3JGb2xkZXIoZm9sZGVyKSB7XG4gICAgLy8gVGhpcyBwcm9qZWN0IGZvbGRlciBhbHJlYWR5IGhhcyBhIHNvY2tldCwgbW92ZSBvblxuICAgIGlmICh0aGlzLiNyZW1vdGVzLmhhcyhmb2xkZXIpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCB0eXBlID0gdGhpcy4jc2V0dGluZ3MuZ2VuZXJhbC5pbnRlcmZhY2VcbiAgICBjb25zdCBzb2NrZXQgPSBuZXcgQ29uc3VtZXIoKVxuICAgIGNvbnN0IGFkZHJlc3MgPSB1dGlsLm1rYWRkcmVzcyh7IHJvb3Q6IGZvbGRlciwgdHlwZSB9KVxuICAgIGNvbnN0IHJlbW90ZSA9IHsgYWRkcmVzcywgc29ja2V0IH1cbiAgICB0aGlzLiNyZW1vdGVzLnNldChmb2xkZXIsIHJlbW90ZSlcblxuICAgIC8vIEVuc3VyZSB0aGUgc29ja2V0IGRvZXMgbm90IGV4aXN0IGJlZm9yZSB3ZSBiaW5kIHRvIGl0LiBBbmQgeWVzLCBqdXN0IGlnbm9yZSBhbnkgZXJyb3JzXG4gICAgLy8gdGhyb3duIGhlcmUuIElmIHRoZSBmaWxlIGRvZXMgbm90IGV4aXN0IGl0J3MgYWxsIGdvb2QgYW5kIGlmIHdlIGNhbm5vdCB1bmxpbmsgaXQgdGhlbiB3ZWxsLFxuICAgIC8vIHdlIGNhbid0IHJlYWxseSBkbyBhbnl0aGluZyBhbnl3YXkgYW5kIHdlIHdpbGwgaW5zdGVhZCB0aHJvdyBkdXJpbmcgYmluZC5cbiAgICBpZiAodHlwZW9mIGFkZHJlc3MgPT09ICdzdHJpbmcnKSB7XG4gICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IGZzLnVubGluayhhZGRyZXNzLCAoKSA9PiByZXNvbHZlKCkpKVxuICAgIH1cblxuICAgIHJlbW90ZS5zb2NrZXQub24oJ2Nvbm5lY3Rpb24nLCBzb3VyY2UgPT4gdGhpcy5kaWRSZWNlaXZlQ29ubmVjdGlvbih7IGZvbGRlciwgc291cmNlIH0pKVxuICAgIGF3YWl0IHJlbW90ZS5zb2NrZXQubGlzdGVuKHsgYWRkcmVzcyB9KVxuICB9XG5cbiAgYXN5bmMgZGVzdHJveVJlbW90ZUZvckZvbGRlcihmb2xkZXIpIHtcbiAgICBjb25zdCByZW1vdGUgPSB0aGlzLiNyZW1vdGVzLmdldChmb2xkZXIpXG5cbiAgICAvLyBTb2NrZXQgYWxyZWFkeSBkZXN0cm95ZWQsIG1vdmUgb25cbiAgICBpZiAoIXJlbW90ZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy4jcmVtb3Rlcy5kZWxldGUoZm9sZGVyKVxuICAgIGF3YWl0IHJlbW90ZS5zb2NrZXQuY2xvc2UoKVxuICB9XG5cbiAgZGlkUmVjZWl2ZUNvbm5lY3Rpb24oeyBmb2xkZXIsIHNvdXJjZSB9KSB7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IG5ldyBTZXNzaW9uKHtcbiAgICAgIHJvb3Q6IGZvbGRlcixcbiAgICAgIGxpbnRlcjogdGhpcy4jbGludGVyLFxuICAgICAgYnVzeTogdGhpcy4jYnVzeSxcbiAgICAgIGNvbnNvbGU6IHRoaXMuI2NvbnNvbGUsXG4gICAgICBzZXR0aW5nczoge1xuICAgICAgICB2ZXJib3NpdHk6IHRoaXMuI3NldHRpbmdzLmdlbmVyYWwudmVyYm9zaXR5LFxuICAgICAgICBkdXJhdGlvbnM6IHRoaXMuI3NldHRpbmdzLmdlbmVyYWwuZHVyYXRpb25zLFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgY29uc3Qgc2hvd0NvbnNvbGUgPSB0aGlzLiNzZXR0aW5ncy5jb25zb2xlLm9wZW5Db25zb2xlT25GYWlsdXJlXG4gICAgY29uc3QgeyBNT0NIQV9FVkVOVCB9ID0gY29uc3RhbnRzXG5cbiAgICBzb3VyY2Uub24oTU9DSEFfRVZFTlQuU1RBUlQsIHJ1bm5lciA9PiBzZXNzaW9uLmRpZFN0YXJ0UnVubmluZyh7IHJ1bm5lciB9KSlcbiAgICBzb3VyY2Uub24oTU9DSEFfRVZFTlQuRU5ELCBydW5uZXIgPT4gc2Vzc2lvbi5kaWRGaW5pc2hSdW5uaW5nKHsgcnVubmVyIH0pKVxuICAgIHNvdXJjZS5vbihNT0NIQV9FVkVOVC5TVUlURSwgc3VpdGUgPT4gc2Vzc2lvbi5kaWRTdGFydFN1aXRlKHsgc3VpdGUgfSkpXG4gICAgc291cmNlLm9uKE1PQ0hBX0VWRU5ULlRFU1RfRU5ELCAoKSA9PiBzZXNzaW9uLmRpZEZpbmlzaFRlc3QoKSlcbiAgICBzb3VyY2Uub24oTU9DSEFfRVZFTlQuUEFTUywgdGVzdCA9PiBzZXNzaW9uLmRpZFBhc3NUZXN0KHsgdGVzdCB9KSlcbiAgICBzb3VyY2Uub24oTU9DSEFfRVZFTlQuRkFJTCwgKHRlc3QsIGVycikgPT4gc2Vzc2lvbi5kaWRGYWlsVGVzdCh7IHRlc3QsIGVyciwgc2hvd0NvbnNvbGUgfSkpXG4gICAgc291cmNlLm9uKE1PQ0hBX0VWRU5ULlBFTkRJTkcsIHRlc3QgPT4gc2Vzc2lvbi5kaWRTa2lwVGVzdCh7IHRlc3QgfSkpXG4gICAgc291cmNlLm9uKCdjbG9zZScsICgpID0+IHNlc3Npb24uZGlkQ2xvc2UoKSlcblxuICAgIHNlc3Npb24ub25jZSgnY2xvc2UnLCAoeyBzdGF0cyB9KSA9PiB7XG4gICAgICBpZiAoc3RhdHMuZmFpbHVyZXMpIHtcbiAgICAgICAgaWYgKHRoaXMuI3NldHRpbmdzLm5vdGlmaWNhdGlvbnMubm90aWZ5T25GYWlsdXJlKSB7XG4gICAgICAgICAgdGhpcy5zaG93RmFpbHVyZU5vdGlmaWNhdGlvbih7IHN0YXRzIH0pXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCFzdGF0cy5mYWlsdXJlcyAmJiB0aGlzLiNzZXR0aW5ncy5ub3RpZmljYXRpb25zLm5vdGlmeU9uU3VjY2Vzcykge1xuICAgICAgICB0aGlzLnNob3dTdWNjZXNzTm90aWZpY2F0aW9uKHsgc3RhdHMgfSlcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgaWYgKHRoaXMuI3NldHRpbmdzLmNvbnNvbGUub3BlbkNvbnNvbGVPblN0YXJ0KSB7XG4gICAgICB1dGlsLm9wZW5Db25zb2xlKClcbiAgICB9XG5cbiAgICBpZiAodGhpcy4jc2V0dGluZ3MuY29uc29sZS5jbGVhckNvbnNvbGVPblN0YXJ0KSB7XG4gICAgICB1dGlsLmNsZWFyQ29uc29sZSgpXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCB7XG4gIElkZU1vY2hhLFxufVxuIl19

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc