Comparing version 2.0.0 to 2.0.1-alpha.1
@@ -14,4 +14,3 @@ "use strict"; | ||
const path_1 = require("path"); | ||
const skip_js_errors_1 = require("../skip-js-errors"); | ||
const skip_js_errors_2 = require("../../utils/get-options/skip-js-errors"); | ||
const skip_js_errors_1 = require("../../utils/get-options/skip-js-errors"); | ||
const runtime_1 = require("../../errors/runtime"); | ||
@@ -69,4 +68,3 @@ class TestingUnit extends base_unit_1.default { | ||
this.skipJsErrorsOptions = options; | ||
if ((0, skip_js_errors_1.isSkipJsErrorsOptionsObject)(this.skipJsErrorsOptions)) | ||
(0, skip_js_errors_2.validateSkipJsErrorsOptionsObject)(this.skipJsErrorsOptions, runtime_1.APIError); | ||
(0, skip_js_errors_1.validateSkipJsErrorsOptionValue)(this.skipJsErrorsOptions, runtime_1.SkipJsErrorsArgumentApiError); | ||
return this.apiOrigin; | ||
@@ -106,2 +104,2 @@ } | ||
module.exports = exports.default; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGluZy11bml0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9zdHJ1Y3R1cmUvdGVzdGluZy11bml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNERBQW1DO0FBQ25DLG9EQUkwQjtBQUMxQixrRkFBd0Q7QUFDeEQsNkRBQTZFO0FBQzdFLDBFQUFzRTtBQUN0RSxzRUFBNkM7QUFDN0Msb0ZBQTREO0FBUzVELCtCQUErQjtBQUMvQixzREFBZ0U7QUFDaEUsMkVBQTJGO0FBQzNGLGtEQUFnRDtBQUVoRCxNQUE4QixXQUFZLFNBQVEsbUJBQVE7SUFpQnRELFlBQXVCLFFBQWtCLEVBQUUsUUFBa0IsRUFBRSxPQUFlLEVBQUUsT0FBZ0I7UUFDNUYsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWhCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRXpCLElBQUksQ0FBQyxJQUFJLEdBQWMsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQVcsT0FBTyxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQVcsT0FBTyxDQUFDO1FBQy9CLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLEdBQWMsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQWMsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLEdBQWMsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLEdBQU0sRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLEdBQUssRUFBRSxDQUFDO1FBRTFCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBRWhDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLG1CQUFRLENBQUMsQ0FBQyxzQkFBWSxDQUFDLGFBQWEsRUFB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LE1BQU0sQ0FBQyx3QkFBd0IsQ0FBRSxVQUFtQjtRQUN2RCxZQUFZO1FBQ1osVUFBVSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFBLG1DQUFtQixFQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7Q0FDSjtBQXZJRCw4QkF1SUM7QUFFRCxhQUFhO0FBQ2IsV0FBVyxDQUFDLFFBQVEsR0FBRyxJQUFBLG1DQUFtQixFQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlVW5pdCBmcm9tICcuL2Jhc2UtdW5pdCc7XG5pbXBvcnQge1xuICAgIGFzc2VydFBhZ2VVcmwsXG4gICAgZ2V0VXJsLFxuICAgIHByZXBhcmVCYXNlVXJsLFxufSBmcm9tICcuLi90ZXN0LXBhZ2UtdXJsJztcbmltcG9ydCBoYW5kbGVUYWdBcmdzIGZyb20gJy4uLy4uL3V0aWxzL2hhbmRsZS10YWctYXJncyc7XG5pbXBvcnQgeyBkZWxlZ2F0ZUFQSSwgZ2V0RGVsZWdhdGVkQVBJTGlzdCB9IGZyb20gJy4uLy4uL3V0aWxzL2RlbGVnYXRlZC1hcGknO1xuaW1wb3J0IHsgYXNzZXJ0VHlwZSwgaXMgfSBmcm9tICcuLi8uLi9lcnJvcnMvcnVudGltZS90eXBlLWFzc2VydGlvbnMnO1xuaW1wb3J0IEZsYWdMaXN0IGZyb20gJy4uLy4uL3V0aWxzL2ZsYWctbGlzdCc7XG5pbXBvcnQgT1BUSU9OX05BTUVTIGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb24vb3B0aW9uLW5hbWVzJztcbmltcG9ydCBVbml0VHlwZSBmcm9tICcuL3VuaXQtdHlwZSc7XG5pbXBvcnQgUmVxdWVzdEhvb2sgZnJvbSAnLi4vcmVxdWVzdC1ob29rcy9ob29rJztcbmltcG9ydCBDbGllbnRTY3JpcHRJbml0IGZyb20gJy4uLy4uL2N1c3RvbS1jbGllbnQtc2NyaXB0cy9jbGllbnQtc2NyaXB0LWluaXQnO1xuaW1wb3J0IFRlc3RGaWxlIGZyb20gJy4vdGVzdC1maWxlJztcbmltcG9ydCB7IEF1dGhDcmVkZW50aWFscywgTWV0YWRhdGEgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgICBEaWN0aW9uYXJ5LCBTa2lwSnNFcnJvcnNDYWxsYmFjaywgU2tpcEpzRXJyb3JzQ2FsbGJhY2tXaXRoT3B0aW9uc09iamVjdCxcbn0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGRpcm5hbWUgfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IGlzU2tpcEpzRXJyb3JzT3B0aW9uc09iamVjdCB9IGZyb20gJy4uL3NraXAtanMtZXJyb3JzJztcbmltcG9ydCB7IHZhbGlkYXRlU2tpcEpzRXJyb3JzT3B0aW9uc09iamVjdCB9IGZyb20gJy4uLy4uL3V0aWxzL2dldC1vcHRpb25zL3NraXAtanMtZXJyb3JzJztcbmltcG9ydCB7IEFQSUVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL3J1bnRpbWUnO1xuXG5leHBvcnQgZGVmYXVsdCBhYnN0cmFjdCBjbGFzcyBUZXN0aW5nVW5pdCBleHRlbmRzIEJhc2VVbml0IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGVzdEZpbGU6IFRlc3RGaWxlO1xuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmcgfCBudWxsO1xuICAgIHB1YmxpYyBwYWdlVXJsOiBzdHJpbmc7XG4gICAgcHVibGljIGJhc2VVcmw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBwdWJsaWMgYXV0aENyZWRlbnRpYWxzOiBudWxsIHwgQXV0aENyZWRlbnRpYWxzO1xuICAgIHB1YmxpYyBtZXRhOiBNZXRhZGF0YTtcbiAgICBwdWJsaWMgb25seTogYm9vbGVhbjtcbiAgICBwdWJsaWMgc2tpcDogYm9vbGVhbjtcbiAgICBwdWJsaWMgcmVxdWVzdEhvb2tzOiBSZXF1ZXN0SG9va1tdO1xuICAgIHB1YmxpYyBjbGllbnRTY3JpcHRzOiBDbGllbnRTY3JpcHRJbml0W107XG4gICAgcHVibGljIGRpc2FibGVQYWdlUmVsb2FkczogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICBwdWJsaWMgZGlzYWJsZVBhZ2VDYWNoaW5nOiBib29sZWFuO1xuICAgIHB1YmxpYyBhcGlNZXRob2RXYXNDYWxsZWQ6IEZsYWdMaXN0O1xuICAgIHB1YmxpYyBhcGlPcmlnaW46IEZ1bmN0aW9uO1xuICAgIHB1YmxpYyBza2lwSnNFcnJvcnNPcHRpb25zPzogYm9vbGVhbiB8IFNraXBKc0Vycm9yc09wdGlvbnNPYmplY3QgfCBTa2lwSnNFcnJvcnNDYWxsYmFja3wgU2tpcEpzRXJyb3JzQ2FsbGJhY2tXaXRoT3B0aW9uc09iamVjdDtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvciAodGVzdEZpbGU6IFRlc3RGaWxlLCB1bml0VHlwZTogVW5pdFR5cGUsIHBhZ2VVcmw6IHN0cmluZywgYmFzZVVybD86IHN0cmluZykge1xuICAgICAgICBzdXBlcih1bml0VHlwZSk7XG5cbiAgICAgICAgdGhpcy50ZXN0RmlsZSA9IHRlc3RGaWxlO1xuXG4gICAgICAgIHRoaXMubmFtZSAgICAgICAgICAgID0gbnVsbDtcbiAgICAgICAgdGhpcy5wYWdlVXJsICAgICAgICAgPSBwYWdlVXJsO1xuICAgICAgICB0aGlzLmJhc2VVcmwgICAgICAgICA9IGJhc2VVcmw7XG4gICAgICAgIHRoaXMuYXV0aENyZWRlbnRpYWxzID0gbnVsbDtcbiAgICAgICAgdGhpcy5tZXRhICAgICAgICAgICAgPSB7fTtcbiAgICAgICAgdGhpcy5vbmx5ICAgICAgICAgICAgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5za2lwICAgICAgICAgICAgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZXF1ZXN0SG9va3MgICAgPSBbXTtcbiAgICAgICAgdGhpcy5jbGllbnRTY3JpcHRzICAgPSBbXTtcblxuICAgICAgICB0aGlzLmRpc2FibGVQYWdlUmVsb2FkcyA9IHZvaWQgMDtcbiAgICAgICAgdGhpcy5kaXNhYmxlUGFnZUNhY2hpbmcgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLmFwaU1ldGhvZFdhc0NhbGxlZCA9IG5ldyBGbGFnTGlzdChbT1BUSU9OX05BTUVTLmNsaWVudFNjcmlwdHMsIE9QVElPTl9OQU1FUy5yZXF1ZXN0SG9va3NdKTtcblxuICAgICAgICBjb25zdCB1bml0ID0gdGhpcztcblxuICAgICAgICB0aGlzLmFwaU9yaWdpbiA9IGZ1bmN0aW9uIGFwaU9yaWdpbiAoLi4uYXJnczogdW5rbm93bltdKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5pdC5fYWRkKC4uLmFyZ3MpO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBkZWxlZ2F0ZUFQSSh0aGlzLmFwaU9yaWdpbiwgdGhpcy5jb25zdHJ1Y3Rvci5BUElfTElTVCwgeyBoYW5kbGVyOiB0aGlzIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBfYWRkICguLi5hcmdzOiB1bmtub3duW10pOiB1bmtub3duO1xuXG4gICAgcHJpdmF0ZSBfb25seSRnZXR0ZXIgKCk6IEZ1bmN0aW9uIHtcbiAgICAgICAgdGhpcy5vbmx5ID0gdHJ1ZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5hcGlPcmlnaW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2tpcCRnZXR0ZXIgKCk6IEZ1bmN0aW9uIHtcbiAgICAgICAgdGhpcy5za2lwID0gdHJ1ZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5hcGlPcmlnaW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzYWJsZVBhZ2VSZWxvYWRzJGdldHRlciAoKTogRnVuY3Rpb24ge1xuICAgICAgICB0aGlzLmRpc2FibGVQYWdlUmVsb2FkcyA9IHRydWU7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpT3JpZ2luO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2VuYWJsZVBhZ2VSZWxvYWRzJGdldHRlciAoKTogRnVuY3Rpb24ge1xuICAgICAgICB0aGlzLmRpc2FibGVQYWdlUmVsb2FkcyA9IGZhbHNlO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmFwaU9yaWdpbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9wYWdlJCAodXJsOiBzdHJpbmcsIC4uLnJlc3Q6IHVua25vd25bXSk6IEZ1bmN0aW9uIHtcbiAgICAgICAgdGhpcy5wYWdlVXJsID0gaGFuZGxlVGFnQXJncyh1cmwsIHJlc3QpO1xuICAgICAgICB0aGlzLmJhc2VVcmwgPSB0aGlzLmJhc2VVcmwgfHwgZGlybmFtZSh0aGlzLnRlc3RGaWxlLmZpbGVuYW1lKTtcblxuICAgICAgICBjb25zdCBiYXNlID0gcHJlcGFyZUJhc2VVcmwodGhpcy5iYXNlVXJsKTtcblxuICAgICAgICBhc3NlcnRUeXBlKGlzLnN0cmluZywgJ3BhZ2UnLCAnVGhlIHBhZ2UgVVJMJywgdGhpcy5wYWdlVXJsKTtcbiAgICAgICAgYXNzZXJ0UGFnZVVybCh0aGlzLnBhZ2VVcmwsICdwYWdlJyk7XG5cbiAgICAgICAgdGhpcy5wYWdlVXJsID0gZ2V0VXJsKHRoaXMucGFnZVVybCwgYmFzZSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpT3JpZ2luO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NraXBKc0Vycm9ycyQgKG9wdGlvbnM6IGJvb2xlYW4gfCBTa2lwSnNFcnJvcnNPcHRpb25zT2JqZWN0IHwgU2tpcEpzRXJyb3JzQ2FsbGJhY2sgfCBTa2lwSnNFcnJvcnNDYWxsYmFja1dpdGhPcHRpb25zT2JqZWN0ID0gdHJ1ZSk6IEZ1bmN0aW9uIHtcbiAgICAgICAgYXNzZXJ0VHlwZShbIGlzLmJvb2xlYW4sIGlzLm5vbk51bGxPYmplY3QsIGlzLmZ1bmN0aW9uIF0sICdza2lwSnNFcnJvcnMnLCAnVGhlIHNraXBKc0Vycm9ycyBvcHRpb25zIGFyZ3VtZW50Jywgb3B0aW9ucyk7XG5cbiAgICAgICAgdGhpcy5za2lwSnNFcnJvcnNPcHRpb25zID0gb3B0aW9ucztcblxuICAgICAgICBpZiAoaXNTa2lwSnNFcnJvcnNPcHRpb25zT2JqZWN0KHRoaXMuc2tpcEpzRXJyb3JzT3B0aW9ucykpXG4gICAgICAgICAgICB2YWxpZGF0ZVNraXBKc0Vycm9yc09wdGlvbnNPYmplY3QodGhpcy5za2lwSnNFcnJvcnNPcHRpb25zLCBBUElFcnJvcik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpT3JpZ2luO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2h0dHBBdXRoJCAoY3JlZGVudGlhbHM6IEF1dGhDcmVkZW50aWFscyk6IEZ1bmN0aW9uIHtcbiAgICAgICAgYXNzZXJ0VHlwZShpcy5ub25OdWxsT2JqZWN0LCAnaHR0cEF1dGgnLCAnVGhlIGNyZWRlbnRpYWxzJywgY3JlZGVudGlhbHMpO1xuICAgICAgICBhc3NlcnRUeXBlKGlzLnN0cmluZywgJ2h0dHBBdXRoJywgJ2NyZWRlbnRpYWxzLnVzZXJuYW1lJywgY3JlZGVudGlhbHMudXNlcm5hbWUpO1xuICAgICAgICBhc3NlcnRUeXBlKGlzLnN0cmluZywgJ2h0dHBBdXRoJywgJ2NyZWRlbnRpYWxzLnBhc3N3b3JkJywgY3JlZGVudGlhbHMucGFzc3dvcmQpO1xuXG4gICAgICAgIGlmIChjcmVkZW50aWFscy5kb21haW4pXG4gICAgICAgICAgICBhc3NlcnRUeXBlKGlzLnN0cmluZywgJ2h0dHBBdXRoJywgJ2NyZWRlbnRpYWxzLmRvbWFpbicsIGNyZWRlbnRpYWxzLmRvbWFpbik7XG4gICAgICAgIGlmIChjcmVkZW50aWFscy53b3Jrc3RhdGlvbilcbiAgICAgICAgICAgIGFzc2VydFR5cGUoaXMuc3RyaW5nLCAnaHR0cEF1dGgnLCAnY3JlZGVudGlhbHMud29ya3N0YXRpb24nLCBjcmVkZW50aWFscy53b3Jrc3RhdGlvbik7XG5cbiAgICAgICAgdGhpcy5hdXRoQ3JlZGVudGlhbHMgPSBjcmVkZW50aWFscztcblxuICAgICAgICByZXR1cm4gdGhpcy5hcGlPcmlnaW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbWV0YSQgKGtleTogc3RyaW5nIHwgRGljdGlvbmFyeTxzdHJpbmc+LCB2YWx1ZT86IHN0cmluZyk6IEZ1bmN0aW9uIHtcbiAgICAgICAgYXNzZXJ0VHlwZShbaXMuc3RyaW5nLCBpcy5ub25OdWxsT2JqZWN0XSwgJ21ldGEnLCBgJHt0aGlzLnVuaXRUeXBlfS5tZXRhYCwga2V5KTtcblxuICAgICAgICBjb25zdCBkYXRhID0gdHlwZW9mIGtleSA9PT0gJ3N0cmluZycgPyB7IFtrZXldOiB2YWx1ZSBhcyBzdHJpbmcgfSA6IGtleSBhcyBEaWN0aW9uYXJ5PHN0cmluZz47XG5cbiAgICAgICAgT2JqZWN0LmtleXMoZGF0YSkuZm9yRWFjaChwcm9wTmFtZSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1ldGFbcHJvcE5hbWVdID0gZGF0YVtwcm9wTmFtZV07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmFwaU9yaWdpbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kaXNhYmxlUGFnZUNhY2hpbmckZ2V0dGVyICgpOiBGdW5jdGlvbiB7XG4gICAgICAgIHRoaXMuZGlzYWJsZVBhZ2VDYWNoaW5nID0gdHJ1ZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5hcGlPcmlnaW47XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBtYWtlQVBJTGlzdEZvckNoaWxkQ2xhc3MgKENoaWxkQ2xhc3M6IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIENoaWxkQ2xhc3MuQVBJX0xJU1QgPSBUZXN0aW5nVW5pdC5BUElfTElTVC5jb25jYXQoZ2V0RGVsZWdhdGVkQVBJTGlzdChDaGlsZENsYXNzLnByb3RvdHlwZSkpO1xuICAgIH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuVGVzdGluZ1VuaXQuQVBJX0xJU1QgPSBnZXREZWxlZ2F0ZWRBUElMaXN0KFRlc3RpbmdVbml0LnByb3RvdHlwZSk7XG5cblxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGluZy11bml0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9zdHJ1Y3R1cmUvdGVzdGluZy11bml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNERBQW1DO0FBQ25DLG9EQUkwQjtBQUMxQixrRkFBd0Q7QUFDeEQsNkRBQTZFO0FBQzdFLDBFQUFzRTtBQUN0RSxzRUFBNkM7QUFDN0Msb0ZBQTREO0FBUzVELCtCQUErQjtBQUMvQiwyRUFBeUY7QUFDekYsa0RBQW9FO0FBRXBFLE1BQThCLFdBQVksU0FBUSxtQkFBUTtJQWlCdEQsWUFBdUIsUUFBa0IsRUFBRSxRQUFrQixFQUFFLE9BQWUsRUFBRSxPQUFnQjtRQUM1RixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFFekIsSUFBSSxDQUFDLElBQUksR0FBYyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBVyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBVyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLElBQUksR0FBYyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksR0FBYyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBYyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBTSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBSyxFQUFFLENBQUM7UUFFMUIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFFaEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksbUJBQVEsQ0FBQyxDQUFDLHNCQUFZLENBQUMsYUFBYSxFQUFFLHNCQUFZLENBQUMs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QUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBQSxtQ0FBbUIsRUFBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDO0NBQ0o7QUF0SUQsOEJBc0lDO0FBRUQsYUFBYTtBQUNiLFdBQVcsQ0FBQyxRQUFRLEdBQUcsSUFBQSxtQ0FBbUIsRUFBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZVVuaXQgZnJvbSAnLi9iYXNlLXVuaXQnO1xuaW1wb3J0IHtcbiAgICBhc3NlcnRQYWdlVXJsLFxuICAgIGdldFVybCxcbiAgICBwcmVwYXJlQmFzZVVybCxcbn0gZnJvbSAnLi4vdGVzdC1wYWdlLXVybCc7XG5pbXBvcnQgaGFuZGxlVGFnQXJncyBmcm9tICcuLi8uLi91dGlscy9oYW5kbGUtdGFnLWFyZ3MnO1xuaW1wb3J0IHsgZGVsZWdhdGVBUEksIGdldERlbGVnYXRlZEFQSUxpc3QgfSBmcm9tICcuLi8uLi91dGlscy9kZWxlZ2F0ZWQtYXBpJztcbmltcG9ydCB7IGFzc2VydFR5cGUsIGlzIH0gZnJvbSAnLi4vLi4vZXJyb3JzL3J1bnRpbWUvdHlwZS1hc3NlcnRpb25zJztcbmltcG9ydCBGbGFnTGlzdCBmcm9tICcuLi8uLi91dGlscy9mbGFnLWxpc3QnO1xuaW1wb3J0IE9QVElPTl9OQU1FUyBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9uL29wdGlvbi1uYW1lcyc7XG5pbXBvcnQgVW5pdFR5cGUgZnJvbSAnLi91bml0LXR5cGUnO1xuaW1wb3J0IFJlcXVlc3RIb29rIGZyb20gJy4uL3JlcXVlc3QtaG9va3MvaG9vayc7XG5pbXBvcnQgQ2xpZW50U2NyaXB0SW5pdCBmcm9tICcuLi8uLi9jdXN0b20tY2xpZW50LXNjcmlwdHMvY2xpZW50LXNjcmlwdC1pbml0JztcbmltcG9ydCBUZXN0RmlsZSBmcm9tICcuL3Rlc3QtZmlsZSc7XG5pbXBvcnQgeyBBdXRoQ3JlZGVudGlhbHMsIE1ldGFkYXRhIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gICAgRGljdGlvbmFyeSwgU2tpcEpzRXJyb3JzQ2FsbGJhY2ssIFNraXBKc0Vycm9yc0NhbGxiYWNrV2l0aE9wdGlvbnNPYmplY3QsXG59IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb24vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBkaXJuYW1lIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgeyB2YWxpZGF0ZVNraXBKc0Vycm9yc09wdGlvblZhbHVlIH0gZnJvbSAnLi4vLi4vdXRpbHMvZ2V0LW9wdGlvbnMvc2tpcC1qcy1lcnJvcnMnO1xuaW1wb3J0IHsgU2tpcEpzRXJyb3JzQXJndW1lbnRBcGlFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy9ydW50aW1lJztcblxuZXhwb3J0IGRlZmF1bHQgYWJzdHJhY3QgY2xhc3MgVGVzdGluZ1VuaXQgZXh0ZW5kcyBCYXNlVW5pdCB7XG4gICAgcHVibGljIHJlYWRvbmx5IHRlc3RGaWxlOiBUZXN0RmlsZTtcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgICBwdWJsaWMgcGFnZVVybDogc3RyaW5nO1xuICAgIHB1YmxpYyBiYXNlVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgcHVibGljIGF1dGhDcmVkZW50aWFsczogbnVsbCB8IEF1dGhDcmVkZW50aWFscztcbiAgICBwdWJsaWMgbWV0YTogTWV0YWRhdGE7XG4gICAgcHVibGljIG9ubHk6IGJvb2xlYW47XG4gICAgcHVibGljIHNraXA6IGJvb2xlYW47XG4gICAgcHVibGljIHJlcXVlc3RIb29rczogUmVxdWVzdEhvb2tbXTtcbiAgICBwdWJsaWMgY2xpZW50U2NyaXB0czogQ2xpZW50U2NyaXB0SW5pdFtdO1xuICAgIHB1YmxpYyBkaXNhYmxlUGFnZVJlbG9hZHM6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgcHVibGljIGRpc2FibGVQYWdlQ2FjaGluZzogYm9vbGVhbjtcbiAgICBwdWJsaWMgYXBpTWV0aG9kV2FzQ2FsbGVkOiBGbGFnTGlzdDtcbiAgICBwdWJsaWMgYXBpT3JpZ2luOiBGdW5jdGlvbjtcbiAgICBwdWJsaWMgc2tpcEpzRXJyb3JzT3B0aW9ucz86IGJvb2xlYW4gfCBTa2lwSnNFcnJvcnNPcHRpb25zT2JqZWN0IHwgU2tpcEpzRXJyb3JzQ2FsbGJhY2t8IFNraXBKc0Vycm9yc0NhbGxiYWNrV2l0aE9wdGlvbnNPYmplY3Q7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IgKHRlc3RGaWxlOiBUZXN0RmlsZSwgdW5pdFR5cGU6IFVuaXRUeXBlLCBwYWdlVXJsOiBzdHJpbmcsIGJhc2VVcmw/OiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIodW5pdFR5cGUpO1xuXG4gICAgICAgIHRoaXMudGVzdEZpbGUgPSB0ZXN0RmlsZTtcblxuICAgICAgICB0aGlzLm5hbWUgICAgICAgICAgICA9IG51bGw7XG4gICAgICAgIHRoaXMucGFnZVVybCAgICAgICAgID0gcGFnZVVybDtcbiAgICAgICAgdGhpcy5iYXNlVXJsICAgICAgICAgPSBiYXNlVXJsO1xuICAgICAgICB0aGlzLmF1dGhDcmVkZW50aWFscyA9IG51bGw7XG4gICAgICAgIHRoaXMubWV0YSAgICAgICAgICAgID0ge307XG4gICAgICAgIHRoaXMub25seSAgICAgICAgICAgID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2tpcCAgICAgICAgICAgID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVxdWVzdEhvb2tzICAgID0gW107XG4gICAgICAgIHRoaXMuY2xpZW50U2NyaXB0cyAgID0gW107XG5cbiAgICAgICAgdGhpcy5kaXNhYmxlUGFnZVJlbG9hZHMgPSB2b2lkIDA7XG4gICAgICAgIHRoaXMuZGlzYWJsZVBhZ2VDYWNoaW5nID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5hcGlNZXRob2RXYXNDYWxsZWQgPSBuZXcgRmxhZ0xpc3QoW09QVElPTl9OQU1FUy5jbGllbnRTY3JpcHRzLCBPUFRJT05fTkFNRVMucmVxdWVzdEhvb2tzXSk7XG5cbiAgICAgICAgY29uc3QgdW5pdCA9IHRoaXM7XG5cbiAgICAgICAgdGhpcy5hcGlPcmlnaW4gPSBmdW5jdGlvbiBhcGlPcmlnaW4gKC4uLmFyZ3M6IHVua25vd25bXSkge1xuICAgICAgICAgICAgcmV0dXJuIHVuaXQuX2FkZCguLi5hcmdzKTtcbiAgICAgICAgfTtcblxuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgZGVsZWdhdGVBUEkodGhpcy5hcGlPcmlnaW4sIHRoaXMuY29uc3RydWN0b3IuQVBJX0xJU1QsIHsgaGFuZGxlcjogdGhpcyB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgX2FkZCAoLi4uYXJnczogdW5rbm93bltdKTogdW5rbm93bjtcblxuICAgIHByaXZhdGUgX29ubHkkZ2V0dGVyICgpOiBGdW5jdGlvbiB7XG4gICAgICAgIHRoaXMub25seSA9IHRydWU7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpT3JpZ2luO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NraXAkZ2V0dGVyICgpOiBGdW5jdGlvbiB7XG4gICAgICAgIHRoaXMuc2tpcCA9IHRydWU7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpT3JpZ2luO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Rpc2FibGVQYWdlUmVsb2FkcyRnZXR0ZXIgKCk6IEZ1bmN0aW9uIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlUGFnZVJlbG9hZHMgPSB0cnVlO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmFwaU9yaWdpbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9lbmFibGVQYWdlUmVsb2FkcyRnZXR0ZXIgKCk6IEZ1bmN0aW9uIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlUGFnZVJlbG9hZHMgPSBmYWxzZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5hcGlPcmlnaW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcGFnZSQgKHVybDogc3RyaW5nLCAuLi5yZXN0OiB1bmtub3duW10pOiBGdW5jdGlvbiB7XG4gICAgICAgIHRoaXMucGFnZVVybCA9IGhhbmRsZVRhZ0FyZ3ModXJsLCByZXN0KTtcbiAgICAgICAgdGhpcy5iYXNlVXJsID0gdGhpcy5iYXNlVXJsIHx8IGRpcm5hbWUodGhpcy50ZXN0RmlsZS5maWxlbmFtZSk7XG5cbiAgICAgICAgY29uc3QgYmFzZSA9IHByZXBhcmVCYXNlVXJsKHRoaXMuYmFzZVVybCk7XG5cbiAgICAgICAgYXNzZXJ0VHlwZShpcy5zdHJpbmcsICdwYWdlJywgJ1RoZSBwYWdlIFVSTCcsIHRoaXMucGFnZVVybCk7XG4gICAgICAgIGFzc2VydFBhZ2VVcmwodGhpcy5wYWdlVXJsLCAncGFnZScpO1xuXG4gICAgICAgIHRoaXMucGFnZVVybCA9IGdldFVybCh0aGlzLnBhZ2VVcmwsIGJhc2UpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmFwaU9yaWdpbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9za2lwSnNFcnJvcnMkIChvcHRpb25zOiBib29sZWFuIHwgU2tpcEpzRXJyb3JzT3B0aW9uc09iamVjdCB8IFNraXBKc0Vycm9yc0NhbGxiYWNrIHwgU2tpcEpzRXJyb3JzQ2FsbGJhY2tXaXRoT3B0aW9uc09iamVjdCA9IHRydWUpOiBGdW5jdGlvbiB7XG4gICAgICAgIGFzc2VydFR5cGUoWyBpcy5ib29sZWFuLCBpcy5ub25OdWxsT2JqZWN0LCBpcy5mdW5jdGlvbiBdLCAnc2tpcEpzRXJyb3JzJywgJ1RoZSBza2lwSnNFcnJvcnMgb3B0aW9ucyBhcmd1bWVudCcsIG9wdGlvbnMpO1xuXG4gICAgICAgIHRoaXMuc2tpcEpzRXJyb3JzT3B0aW9ucyA9IG9wdGlvbnM7XG5cbiAgICAgICAgdmFsaWRhdGVTa2lwSnNFcnJvcnNPcHRpb25WYWx1ZSh0aGlzLnNraXBKc0Vycm9yc09wdGlvbnMsIFNraXBKc0Vycm9yc0FyZ3VtZW50QXBpRXJyb3IpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmFwaU9yaWdpbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9odHRwQXV0aCQgKGNyZWRlbnRpYWxzOiBBdXRoQ3JlZGVudGlhbHMpOiBGdW5jdGlvbiB7XG4gICAgICAgIGFzc2VydFR5cGUoaXMubm9uTnVsbE9iamVjdCwgJ2h0dHBBdXRoJywgJ1RoZSBjcmVkZW50aWFscycsIGNyZWRlbnRpYWxzKTtcbiAgICAgICAgYXNzZXJ0VHlwZShpcy5zdHJpbmcsICdodHRwQXV0aCcsICdjcmVkZW50aWFscy51c2VybmFtZScsIGNyZWRlbnRpYWxzLnVzZXJuYW1lKTtcbiAgICAgICAgYXNzZXJ0VHlwZShpcy5zdHJpbmcsICdodHRwQXV0aCcsICdjcmVkZW50aWFscy5wYXNzd29yZCcsIGNyZWRlbnRpYWxzLnBhc3N3b3JkKTtcblxuICAgICAgICBpZiAoY3JlZGVudGlhbHMuZG9tYWluKVxuICAgICAgICAgICAgYXNzZXJ0VHlwZShpcy5zdHJpbmcsICdodHRwQXV0aCcsICdjcmVkZW50aWFscy5kb21haW4nLCBjcmVkZW50aWFscy5kb21haW4pO1xuICAgICAgICBpZiAoY3JlZGVudGlhbHMud29ya3N0YXRpb24pXG4gICAgICAgICAgICBhc3NlcnRUeXBlKGlzLnN0cmluZywgJ2h0dHBBdXRoJywgJ2NyZWRlbnRpYWxzLndvcmtzdGF0aW9uJywgY3JlZGVudGlhbHMud29ya3N0YXRpb24pO1xuXG4gICAgICAgIHRoaXMuYXV0aENyZWRlbnRpYWxzID0gY3JlZGVudGlhbHM7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpT3JpZ2luO1xuICAgIH1cblxuICAgIHByaXZhdGUgX21ldGEkIChrZXk6IHN0cmluZyB8IERpY3Rpb25hcnk8c3RyaW5nPiwgdmFsdWU/OiBzdHJpbmcpOiBGdW5jdGlvbiB7XG4gICAgICAgIGFzc2VydFR5cGUoW2lzLnN0cmluZywgaXMubm9uTnVsbE9iamVjdF0sICdtZXRhJywgYCR7dGhpcy51bml0VHlwZX0ubWV0YWAsIGtleSk7XG5cbiAgICAgICAgY29uc3QgZGF0YSA9IHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnID8geyBba2V5XTogdmFsdWUgYXMgc3RyaW5nIH0gOiBrZXkgYXMgRGljdGlvbmFyeTxzdHJpbmc+O1xuXG4gICAgICAgIE9iamVjdC5rZXlzKGRhdGEpLmZvckVhY2gocHJvcE5hbWUgPT4ge1xuICAgICAgICAgICAgdGhpcy5tZXRhW3Byb3BOYW1lXSA9IGRhdGFbcHJvcE5hbWVdO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5hcGlPcmlnaW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzYWJsZVBhZ2VDYWNoaW5nJGdldHRlciAoKTogRnVuY3Rpb24ge1xuICAgICAgICB0aGlzLmRpc2FibGVQYWdlQ2FjaGluZyA9IHRydWU7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpT3JpZ2luO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgbWFrZUFQSUxpc3RGb3JDaGlsZENsYXNzIChDaGlsZENsYXNzOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBDaGlsZENsYXNzLkFQSV9MSVNUID0gVGVzdGluZ1VuaXQuQVBJX0xJU1QuY29uY2F0KGdldERlbGVnYXRlZEFQSUxpc3QoQ2hpbGRDbGFzcy5wcm90b3R5cGUpKTtcbiAgICB9XG59XG5cbi8vIEB0cy1pZ25vcmVcblRlc3RpbmdVbml0LkFQSV9MSVNUID0gZ2V0RGVsZWdhdGVkQVBJTGlzdChUZXN0aW5nVW5pdC5wcm90b3R5cGUpO1xuXG5cbiJdfQ== |
@@ -259,3 +259,4 @@ "use strict"; | ||
async getVideoFrameData() { | ||
const currentVideoFrame = this._videoFramesBuffer.shift() || this._lastFrame; | ||
const firstFrameFromBuffer = this._videoFramesBuffer.shift(); | ||
const currentVideoFrame = firstFrameFromBuffer || this._lastFrame; | ||
if (!currentVideoFrame) | ||
@@ -268,3 +269,4 @@ return null; | ||
return null; | ||
await client.Page.screencastFrameAck({ sessionId: currentVideoFrame.sessionId }); | ||
if (firstFrameFromBuffer) | ||
await client.Page.screencastFrameAck({ sessionId: currentVideoFrame.sessionId }); | ||
return Buffer.from(currentVideoFrame.data, 'base64'); | ||
@@ -274,2 +276,2 @@ } | ||
exports.BrowserClient = BrowserClient; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYnJvd3Nlci9wcm92aWRlci9idWlsdC1pbi9kZWRpY2F0ZWQvY2hyb21lL2NkcC1jbGllbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsZ0RBQXdCO0FBQ3hCLDRDQUFvQjtBQUNwQixzRkFBbUQ7QUFDbkQsa0RBQTBCO0FBQzFCLHlFQUF1RjtBQUN2RixzR0FBOEU7QUFROUUsa0VBQXVDO0FBQ3ZDLGdFQUFvRjtBQUNwRix3R0FBOEU7QUFDOUUsMEVBQWtEO0FBS2xELE1BQU0sV0FBVyxHQUFHLENBQUMsRUFBVSxFQUFVLEVBQUUsQ0FBQyw0REFBNEQsRUFBRSxFQUFFLENBQUM7QUFDN0csTUFBTSxhQUFhLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxZQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFFM0QsTUFBTSxRQUFRLEdBQUcsSUFBQSxlQUFLLEVBQUMscURBQXFELENBQUMsQ0FBQztBQUU5RSxNQUFNLGVBQWU7SUFJakIsWUFBb0IsTUFBZ0M7UUFDaEQsSUFBSSxDQUFDLE1BQU0sR0FBSyxNQUFNLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztDQUNKO0FBRUQsTUFBTSxrQkFBa0IsR0FBRztJQUN2QixNQUFNLEVBQVMsTUFBTTtJQUNyQixhQUFhLEVBQUUsQ0FBQztDQUNuQixDQUFDO0FBT0YsTUFBYSxhQUFhO0lBU3RCLFlBQW9CLFdBQXdCO1FBUnBDLGFBQVEsR0FBZ0MsRUFBRSxDQUFDO1FBTTNDLHFDQUFnQyxHQUFHLEtBQUssQ0FBQztRQUc3QyxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFJLElBQUEsZUFBSyxFQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFD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cldELHNDQXFXQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9jb25maWd1cmF0aW9uL2ludGVyZmFjZXMnO1xuaW1wb3J0IFByb3RvY29sIGZyb20gJ2RldnRvb2xzLXByb3RvY29sJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IG9zIGZyb20gJ29zJztcbmltcG9ydCByZW1vdGVDaHJvbWUgZnJvbSAnY2hyb21lLXJlbW90ZS1pbnRlcmZhY2UnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IEdFVF9XSU5ET1dfRElNRU5TSU9OU19JTkZPX1NDUklQVCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL2NsaWVudC1mdW5jdGlvbnMnO1xuaW1wb3J0IFdBUk5JTkdfTUVTU0FHRSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9ub3RpZmljYXRpb25zL3dhcm5pbmctbWVzc2FnZSc7XG5cbmltcG9ydCB7XG4gICAgQ29uZmlnLFxuICAgIFJ1bnRpbWVJbmZvLFxuICAgIFRvdWNoQ29uZmlnT3B0aW9ucyxcbiAgICBTaXplLFxufSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCBwcmV0dHlUaW1lIGZyb20gJ3ByZXR0eS1ocnRpbWUnO1xuaW1wb3J0IHsgQ2hlY2tlZENEUE1ldGhvZCwgRUxBUFNFRF9USU1FX1VQUEVSQk9VTkRTIH0gZnJvbSAnLi4vZWxhcHNlZC11cHBlcmJvdW5kcyc7XG5pbXBvcnQgZ3VhcmRUaW1lRXhlY3V0aW9uIGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3V0aWxzL2d1YXJkLXRpbWUtZXhlY3V0aW9uJztcbmltcG9ydCBkZWxheSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi91dGlscy9kZWxheSc7XG5cbmltcG9ydCBTdGFydFNjcmVlbmNhc3RSZXF1ZXN0ID0gUHJvdG9jb2wuUGFnZS5TdGFydFNjcmVlbmNhc3RSZXF1ZXN0O1xuaW1wb3J0IFNjcmVlbmNhc3RGcmFtZUV2ZW50ID0gUHJvdG9jb2wuUGFnZS5TY3JlZW5jYXN0RnJhbWVFdmVudDtcblxuY29uc3QgREVCVUdfU0NPUEUgPSAoaWQ6IHN0cmluZyk6IHN0cmluZyA9PiBgdGVzdGNhZmU6YnJvd3Nlcjpwcm92aWRlcjpidWlsdC1pbjpjaHJvbWU6YnJvd3Nlci1jbGllbnQ6JHtpZH1gO1xuY29uc3QgRE9XTkxPQURTX0RJUiA9IHBhdGguam9pbihvcy5ob21lZGlyKCksICdEb3dubG9hZHMnKTtcblxuY29uc3QgZGVidWdMb2cgPSBkZWJ1ZygndGVzdGNhZmU6YnJvd3Nlcjpwcm92aWRlcjpidWlsdC1pbjpkZWRpY2F0ZWQ6Y2hyb21lJyk7XG5cbmNsYXNzIFByb3RvY29sQXBpSW5mbyB7XG4gICAgcHVibGljIGluYWN0aXZlOiBib29sZWFuO1xuICAgIHB1YmxpYyBjbGllbnQ6IHJlbW90ZUNocm9tZS5Qcm90b2NvbEFwaTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvciAoY2xpZW50OiByZW1vdGVDaHJvbWUuUHJvdG9jb2xBcGkpIHtcbiAgICAgICAgdGhpcy5jbGllbnQgICA9IGNsaWVudDtcbiAgICAgICAgdGhpcy5pbmFjdGl2ZSA9IGZhbHNlO1xuICAgIH1cbn1cblxuY29uc3QgU0NSRUVOQ0FTVF9PUFRJT05TID0ge1xuICAgIGZvcm1hdDogICAgICAgICdqcGVnJyxcbiAgICBldmVyeU50aEZyYW1lOiAxLFxufTtcblxuaW50ZXJmYWNlIFZpZGVvRnJhbWVEYXRhIHtcbiAgICBkYXRhOiBzdHJpbmc7XG4gICAgc2Vzc2lvbklkOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBCcm93c2VyQ2xpZW50IHtcbiAgICBwcml2YXRlIF9jbGllbnRzOiBEaWN0aW9uYXJ5PFByb3RvY29sQXBpSW5mbz4gPSB7fTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ydW50aW1lSW5mbzogUnVudGltZUluZm87XG4gICAgcHJpdmF0ZSBfcGFyZW50VGFyZ2V0PzogcmVtb3RlQ2hyb21lLlRhcmdldEluZm87XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWJ1Z0xvZ2dlcjogZGVidWcuRGVidWdnZXI7XG4gICAgcHJpdmF0ZSBfdmlkZW9GcmFtZXNCdWZmZXI6IFZpZGVvRnJhbWVEYXRhW107XG4gICAgcHJpdmF0ZSBfbGFzdEZyYW1lOiBWaWRlb0ZyYW1lRGF0YSB8IG51bGw7XG4gICAgcHJpdmF0ZSBfc2NyZWVuY2FzdEZyYW1lTGlzdGVuZXJBdHRhY2hlZCA9IGZhbHNlO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yIChydW50aW1lSW5mbzogUnVudGltZUluZm8pIHtcbiAgICAgICAgdGhpcy5fcnVudGltZUluZm8gPSBydW50aW1lSW5mbztcbiAgICAgICAgdGhpcy5kZWJ1Z0xvZ2dlciAgPSBkZWJ1ZyhERUJVR19TQ09QRShydW50aW1lSW5mby5icm93c2VySWQpKTtcblxuICAgICAgICBydW50aW1lSW5mby5icm93c2VyQ2xpZW50ID0gdGhpcztcblxuICAgICAgICB0aGlzLl92aWRlb0ZyYW1lc0J1ZmZlciA9IFtdO1xuICAgICAgICB0aGlzLl9sYXN0RnJhbWUgICAgICAgICA9IG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgX2NsaWVudEtleSAoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3J1bnRpbWVJbmZvLmFjdGl2ZVdpbmRvd0lkIHx8IHRoaXMuX3J1bnRpbWVJbmZvLmJyb3dzZXJJZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBfY29uZmlnICgpOiBDb25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5fcnVudGltZUluZm8uY29uZmlnO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX2dldFRhYnMgKCk6IFByb21pc2U8cmVtb3RlQ2hyb21lLlRhcmdldEluZm9bXT4ge1xuICAgICAgICBjb25zdCB0YWJzID0gYXdhaXQgcmVtb3RlQ2hyb21lLkxpc3QoeyBwb3J0OiB0aGlzLl9ydW50aW1lSW5mby5jZHBQb3J0IH0pO1xuXG4gICAgICAgIHJldHVybiB0YWJzLmZpbHRlcih0ID0+IHQudHlwZSA9PT0gJ3BhZ2UnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9nZXRBY3RpdmVUYWIgKCk6IFByb21pc2U8cmVtb3RlQ2hyb21lLlRhcmdldEluZm8+IHtcbiAgICAgICAgbGV0IHRhYnMgPSBhd2FpdCB0aGlzLl9nZXRUYWJzKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuX3J1bnRpbWVJbmZvLmFjdGl2ZVdpbmRvd0lkKVxuICAgICAgICAgICAgdGFicyA9IHRhYnMuZmlsdGVyKHQgPT4gdC50aXRsZS5pbmNsdWRlcyh0aGlzLl9ydW50aW1lSW5mby5hY3RpdmVXaW5kb3dJZCkpO1xuXG4gICAgICAgIHJldHVybiB0YWJzWzBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NoZWNrRHJvcE9mUGVyZm9ybWFuY2UgKG1ldGhvZDogQ2hlY2tlZENEUE1ldGhvZCwgZWxhcHNlZFRpbWU6IFtudW1iZXIsIG51bWJlcl0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZWJ1Z0xvZ2dlcihgQ0RQIG1ldGhvZCAnJHttZXRob2R9JyB0b29rICR7cHJldHR5VGltZShlbGFwc2VkVGltZSl9YCk7XG5cbiAgICAgICAgY29uc3QgWyBlbGFwc2VkU2Vjb25kcyBdID0gZWxhcHNlZFRpbWU7XG5cbiAgICAgICAgaWYgKGVsYXBzZWRTZWNvbmRzID4gRUxBUFNFRF9USU1FX1VQUEVSQk9VTkRTW21ldGhvZF0pIHtcbiAgICAgICAgICAgIHRoaXMuX3J1bnRpbWVJbmZvLnByb3ZpZGVyTWV0aG9kcy5yZXBvcnRXYXJuaW5nKFxuICAgICAgICAgICAgICAgIFdBUk5JTkdfTUVTU0FHRS5icm93c2VyUHJvdmlkZXJEcm9wT2ZQZXJmb3JtYW5jZSxcbiAgICAgICAgICAgICAgICB0aGlzLl9ydW50aW1lSW5mby5icm93c2VyTmFtZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX2NyZWF0ZUNsaWVudCAoKTogUHJvbWlzZTxyZW1vdGVDaHJvbWUuUHJvdG9jb2xBcGk+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ICAgICAgICAgICAgICAgICAgICAgPSBhd2FpdCB0aGlzLl9nZXRBY3RpdmVUYWIoKTtcbiAgICAgICAgY29uc3QgY2xpZW50ICAgICAgICAgICAgICAgICAgICAgPSBhd2FpdCByZW1vdGVDaHJvbWUoeyB0YXJnZXQsIHBvcnQ6IHRoaXMuX3J1bnRpbWVJbmZvLmNkcFBvcnQgfSk7XG4gICAgICAgIGNvbnN0IHsgUGFnZSwgTmV0d29yaywgUnVudGltZSB9ID0gY2xpZW50O1xuXG4gICAgICAgIHRoaXMuX2NsaWVudHNbdGhpcy5fY2xpZW50S2V5XSA9IG5ldyBQcm90b2NvbEFwaUluZm8oY2xpZW50KTtcblxuICAgICAgICBhd2FpdCBndWFyZFRpbWVFeGVjdXRpb24oXG4gICAgICAgICAgICBhc3luYyAoKSA9PiBhd2FpdCBQYWdlLmVuYWJsZSgpLFxuICAgICAgICAgICAgZWxhcHNlZFRpbWUgPT4gdGhpcy5fY2hlY2tEcm9wT2ZQZXJmb3JtYW5jZShDaGVja2VkQ0RQTWV0aG9kLlBhZ2VFbmFibGUsIGVsYXBzZWRUaW1lKVxuICAgICAgICApO1xuXG4gICAgICAgIGF3YWl0IE5ldHdvcmsuZW5hYmxlKHt9KTtcbiAgICAgICAgYXdhaXQgUnVudGltZS5lbmFibGUoKTtcblxuICAgICAgICByZXR1cm4gY2xpZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX3NldHVwQ2xpZW50IChjbGllbnQ6IHJlbW90ZUNocm9tZS5Qcm90b2NvbEFwaSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy5fY29uZmlnLmVtdWxhdGlvbilcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX3NldEVtdWxhdGlvbihjbGllbnQpO1xuXG4gICAgICAgIGlmICh0aGlzLl9jb25maWcuaGVhZGxlc3MpXG4gICAgICAgICAgICBhd2FpdCB0aGlzLl9zZXR1cERvd25sb2FkcyhjbGllbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX3NldERldmljZU1ldHJpY3NPdmVycmlkZSAoY2xpZW50OiByZW1vdGVDaHJvbWUuUHJvdG9jb2xBcGksIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyLCBkZXZpY2VTY2FsZUZhY3RvcjogbnVtYmVyLCBtb2JpbGU6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgZ3VhcmRUaW1lRXhlY3V0aW9uKFxuICAgICAgICAgICAgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGF3YWl0IGNsaWVudC5FbXVsYXRpb24uc2V0RGV2aWNlTWV0cmljc092ZXJyaWRlKHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgZGV2aWNlU2NhbGVGYWN0b3IsXG4gICAgICAgICAgICAgICAgICAgIG1vYmlsZSxcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgICBmaXRXaW5kb3c6IGZhbHNlLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVsYXBzZWRUaW1lID0+IHRoaXMuX2NoZWNrRHJvcE9mUGVyZm9ybWFuY2UoQ2hlY2tlZENEUE1ldGhvZC5TZXREZXZpY2VNZXRyaWNzT3ZlcnJpZGUsIGVsYXBzZWRUaW1lKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX3NldFVzZXJBZ2VudEVtdWxhdGlvbiAoY2xpZW50OiByZW1vdGVDaHJvbWUuUHJvdG9jb2xBcGkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMuX2NvbmZpZy51c2VyQWdlbnQgPT09IHZvaWQgMClcbiAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICBhd2FpdCBjbGllbnQuTmV0d29yay5zZXRVc2VyQWdlbnRPdmVycmlkZSh7IHVzZXJBZ2VudDogdGhpcy5fY29uZmlnLnVzZXJBZ2VudCB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9zZXRUb3VjaEVtdWxhdGlvbiAoY2xpZW50OiByZW1vdGVDaHJvbWUuUHJvdG9jb2xBcGkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMuX2NvbmZpZy50b3VjaCA9PT0gdm9pZCAwKVxuICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IHRvdWNoQ29uZmlnOiBUb3VjaENvbmZpZ09wdGlvbnMgPSB7XG4gICAgICAgICAgICBlbmFibGVkOiAgICAgICAgdGhpcy5fY29uZmlnLnRvdWNoLFxuICAgICAgICAgICAgY29uZmlndXJhdGlvbjogIHRoaXMuX2NvbmZpZy5tb2JpbGUgPyAnbW9iaWxlJyA6ICdkZXNrdG9wJyxcbiAgICAgICAgICAgIG1heFRvdWNoUG9pbnRzOiAxLFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChjbGllbnQuRW11bGF0aW9uLnNldEVtaXRUb3VjaEV2ZW50c0Zvck1vdXNlKVxuICAgICAgICAgICAgYXdhaXQgY2xpZW50LkVtdWxhdGlvbi5zZXRFbWl0VG91Y2hFdmVudHNGb3JNb3VzZSh0b3VjaENvbmZpZyk7XG5cbiAgICAgICAgaWYgKGNsaWVudC5FbXVsYXRpb24uc2V0VG91Y2hFbXVsYXRpb25FbmFibGVkKVxuICAgICAgICAgICAgYXdhaXQgY2xpZW50LkVtdWxhdGlvbi5zZXRUb3VjaEVtdWxhdGlvbkVuYWJsZWQodG91Y2hDb25maWcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX3NldEVtdWxhdGlvbiAoY2xpZW50OiByZW1vdGVDaHJvbWUuUHJvdG9jb2xBcGkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5fc2V0VXNlckFnZW50RW11bGF0aW9uKGNsaWVudCk7XG4gICAgICAgIGF3YWl0IHRoaXMuX3NldFRvdWNoRW11bGF0aW9uKGNsaWVudCk7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5yZXNpemVXaW5kb3coe1xuICAgICAgICAgICAgd2lkdGg6ICB0aGlzLl9jb25maWcud2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQ6IHRoaXMuX2NvbmZpZy5oZWlnaHQsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX3NldHVwRG93bmxvYWRzIChjbGllbnQ6IHJlbW90ZUNocm9tZS5Qcm90b2NvbEFwaSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCBjbGllbnQuUGFnZS5zZXREb3dubG9hZEJlaGF2aW9yKHtcbiAgICAgICAgICAgIGJlaGF2aW9yOiAgICAgJ2FsbG93JyxcbiAgICAgICAgICAgIGRvd25sb2FkUGF0aDogRE9XTkxPQURTX0RJUixcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfZXZhbHVhdGVSdW50aW1lIChjbGllbnQ6IHJlbW90ZUNocm9tZS5Qcm90b2NvbEFwaSwgZXhwcmVzc2lvbjogc3RyaW5nLCByZXR1cm5CeVZhbHVlID0gZmFsc2UpOiBQcm9taXNlPFByb3RvY29sLlJ1bnRpbWUuRXZhbHVhdGVSZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gY2xpZW50LlJ1bnRpbWUuZXZhbHVhdGUoeyBleHByZXNzaW9uLCByZXR1cm5CeVZhbHVlIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX2NhbGN1bGF0ZUVtdWxhdGVkRGV2aWNlUGl4ZWxSYXRpbyAoY2xpZW50OiByZW1vdGVDaHJvbWUuUHJvdG9jb2xBcGkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKCFjbGllbnQpXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgY29uc3QgZGV2aWNlUGl4ZWxSYXRpb1F1ZXJ5UmVzdWx0ID0gYXdhaXQgY2xpZW50LlJ1bnRpbWUuZXZhbHVhdGUoeyBleHByZXNzaW9uOiAnd2luZG93LmRldmljZVBpeGVsUmF0aW8nIH0pO1xuXG4gICAgICAgIHRoaXMuX3J1bnRpbWVJbmZvLm9yaWdpbmFsRGV2aWNlUGl4ZWxSYXRpbyA9IGRldmljZVBpeGVsUmF0aW9RdWVyeVJlc3VsdC5yZXN1bHQudmFsdWU7XG4gICAgICAgIHRoaXMuX3J1bnRpbWVJbmZvLmVtdWxhdGVkRGV2aWNlUGl4ZWxSYXRpbyA9IHRoaXMuX2NvbmZpZy5zY2FsZUZhY3RvciB8fCB0aGlzLl9ydW50aW1lSW5mby5vcmlnaW5hbERldmljZVBpeGVsUmF0aW87XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHJlc2l6ZVdpbmRvdyAobmV3RGltZW5zaW9uczogU2l6ZSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCB7IGJyb3dzZXJJZCwgY29uZmlnLCB2aWV3cG9ydFNpemUsIHByb3ZpZGVyTWV0aG9kcywgZW11bGF0ZWREZXZpY2VQaXhlbFJhdGlvIH0gPSB0aGlzLl9ydW50aW1lSW5mbztcblxuICAgICAgICBjb25zdCBjdXJyZW50V2lkdGggPSB2aWV3cG9ydFNpemUud2lkdGg7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRIZWlnaHQgPSB2aWV3cG9ydFNpemUuaGVpZ2h0O1xuICAgICAgICBjb25zdCBuZXdXaWR0aCA9IG5ld0RpbWVuc2lvbnMud2lkdGggfHwgY3VycmVudFdpZHRoO1xuICAgICAgICBjb25zdCBuZXdIZWlnaHQgPSBuZXdEaW1lbnNpb25zLmhlaWdodCB8fCBjdXJyZW50SGVpZ2h0O1xuXG4gICAgICAgIGlmICghY29uZmlnLmhlYWRsZXNzKVxuICAgICAgICAgICAgYXdhaXQgcHJvdmlkZXJNZXRob2RzLnJlc2l6ZUxvY2FsQnJvd3NlcldpbmRvdyhicm93c2VySWQsIG5ld1dpZHRoLCBuZXdIZWlnaHQsIGN1cnJlbnRXaWR0aCwgY3VycmVudEhlaWdodCk7XG5cbiAgICAgICAgdmlld3BvcnRTaXplLndpZHRoID0gbmV3V2lkdGg7XG4gICAgICAgIHZpZXdwb3J0U2l6ZS5oZWlnaHQgPSBuZXdIZWlnaHQ7XG5cbiAgICAgICAgY29uc3QgY2xpZW50ID0gYXdhaXQgdGhpcy5nZXRBY3RpdmVDbGllbnQoKTtcblxuICAgICAgICBpZiAoY2xpZW50ICYmIGNvbmZpZy5lbXVsYXRpb24pIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX3NldERldmljZU1ldHJpY3NPdmVycmlkZShjbGllbnQsIHZpZXdwb3J0U2l6ZS53aWR0aCwgdmlld3BvcnRTaXplLmhlaWdodCwgZW11bGF0ZWREZXZpY2VQaXhlbFJhdGlvLCBjb25maWcubW9iaWxlKTtcblxuICAgICAgICAgICAgYXdhaXQgZ3VhcmRUaW1lRXhlY3V0aW9uKFxuICAgICAgICAgICAgICAgIGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgY2xpZW50LkVtdWxhdGlvbi5zZXRWaXNpYmxlU2l6ZSh7IHdpZHRoOiB2aWV3cG9ydFNpemUud2lkdGgsIGhlaWdodDogdmlld3BvcnRTaXplLmhlaWdodCB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVsYXBzZWRUaW1lID0+IHRoaXMuX2NoZWNrRHJvcE9mUGVyZm9ybWFuY2UoQ2hlY2tlZENEUE1ldGhvZC5TZXRWaXNpYmxlU2l6ZSwgZWxhcHNlZFRpbWUpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzSGVhZGxlc3NUYWIgKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9wYXJlbnRUYXJnZXQgJiYgdGhpcy5fY29uZmlnLmhlYWRsZXNzO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZXRDbGllbnRJbmFjdGl2ZSAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIC8vIE5PVEU6IGVuc3VyZSBjbGllbnQgZXhpc3RzXG4gICAgICAgIGF3YWl0IHRoaXMuZ2V0QWN0aXZlQ2xpZW50KCk7XG5cbiAgICAgICAgY29uc3QgY2xpZW50ID0gdGhpcy5fY2xpZW50c1t0aGlzLl9jbGllbnRLZXldO1xuXG4gICAgICAgIGlmIChjbGllbnQpXG4gICAgICAgICAgICBjbGllbnQuaW5hY3RpdmUgPSB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRBY3RpdmVDbGllbnQgKCk6IFByb21pc2U8cmVtb3RlQ2hyb21lLlByb3RvY29sQXBpIHwgdm9pZD4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9jbGllbnRzW3RoaXMuX2NsaWVudEtleV0pXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fY3JlYXRlQ2xpZW50KCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgZGVidWdMb2coZXJyKTtcblxuICAgICAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGluZm8gPSB0aGlzLl9jbGllbnRzW3RoaXMuX2NsaWVudEtleV07XG5cbiAgICAgICAgaWYgKGluZm8uaW5hY3RpdmUpXG4gICAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuXG4gICAgICAgIHJldHVybiBpbmZvLmNsaWVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgaW5pdCAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB0YWJzID0gYXdhaXQgdGhpcy5fZ2V0VGFicygpO1xuXG4gICAgICAgICAgICB0aGlzLl9wYXJlbnRUYXJnZXQgPSB0YWJzLmZpbmQodCA9PiB0LnVybC5pbmNsdWRlcyh0aGlzLl9ydW50aW1lSW5mby5icm93c2VySWQpKTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLl9wYXJlbnRUYXJnZXQpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgICAgICBjb25zdCBjbGllbnQgPSBhd2FpdCB0aGlzLmdldEFjdGl2ZUNsaWVudCgpO1xuXG4gICAgICAgICAgICBpZiAoY2xpZW50KSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fY2FsY3VsYXRlRW11bGF0ZWREZXZpY2VQaXhlbFJhdGlvKGNsaWVudCk7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fc2V0dXBDbGllbnQoY2xpZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldFNjcmVlbnNob3REYXRhIChmdWxsUGFnZT86IGJvb2xlYW4pOiBQcm9taXNlPEJ1ZmZlcj4ge1xuICAgICAgICBsZXQgdmlld3BvcnRXaWR0aCAgPSAwO1xuICAgICAgICBsZXQgdmlld3BvcnRIZWlnaHQgPSAwO1xuXG4gICAgICAgIGNvbnN0IHsgY29uZmlnLCBlbXVsYXRlZERldmljZVBpeGVsUmF0aW8gfSA9IHRoaXMuX3J1bnRpbWVJbmZvO1xuXG4gICAgICAgIGNvbnN0IGNsaWVudCA9IGF3YWl0IHRoaXMuZ2V0QWN0aXZlQ2xpZW50KCk7XG5cbiAgICAgICAgaWYgKCFjbGllbnQpIHtcbiAgICAgICAgICAgIC8vIE5PVEU6IHJlcXVpcmVkIGZvciBodHRwczovL2dpdGh1Yi5jb20vRGV2RXhwcmVzcy90ZXN0Y2FmZS9pc3N1ZXMvNjAzN1xuICAgICAgICAgICAgYXdhaXQgZGVsYXkoMCk7XG5cbiAgICAgICAgICAgIHJldHVybiBCdWZmZXIuYWxsb2MoMCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZnVsbFBhZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgY29udGVudFNpemUsIHZpc3VhbFZpZXdwb3J0IH0gPSBhd2FpdCBjbGllbnQuUGFnZS5nZXRMYXlvdXRNZXRyaWNzKCk7XG5cbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX3NldERldmljZU1ldHJpY3NPdmVycmlkZShcbiAgICAgICAgICAgICAgICBjbGllbnQsXG4gICAgICAgICAgICAgICAgTWF0aC5jZWlsKGNvbnRlbnRTaXplLndpZHRoKSxcbiAgICAgICAgICAgICAgICBNYXRoLmNlaWwoY29udGVudFNpemUuaGVpZ2h0KSxcbiAgICAgICAgICAgICAgICBlbXVsYXRlZERldmljZVBpeGVsUmF0aW8sXG4gICAgICAgICAgICAgICAgY29uZmlnLm1vYmlsZSk7XG5cbiAgICAgICAgICAgIHZpZXdwb3J0V2lkdGggPSB2aXN1YWxWaWV3cG9ydC5jbGllbnRXaWR0aDtcbiAgICAgICAgICAgIHZpZXdwb3J0SGVpZ2h0ID0gdmlzdWFsVmlld3BvcnQuY2xpZW50SGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2NyZWVuc2hvdERhdGEgPSBhd2FpdCBjbGllbnQuUGFnZS5jYXB0dXJlU2NyZWVuc2hvdCh7fSk7XG5cbiAgICAgICAgaWYgKGZ1bGxQYWdlKSB7XG4gICAgICAgICAgICBpZiAoY29uZmlnLmVtdWxhdGlvbikge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX3NldERldmljZU1ldHJpY3NPdmVycmlkZShcbiAgICAgICAgICAgICAgICAgICAgY2xpZW50LFxuICAgICAgICAgICAgICAgICAgICBjb25maWcud2lkdGggfHwgdmlld3BvcnRXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlnLmhlaWdodCB8fCB2aWV3cG9ydEhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgZW11bGF0ZWREZXZpY2VQaXhlbFJhdGlvLFxuICAgICAgICAgICAgICAgICAgICBjb25maWcubW9iaWxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBhd2FpdCBjbGllbnQuRW11bGF0aW9uLmNsZWFyRGV2aWNlTWV0cmljc092ZXJyaWRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gQnVmZmVyLmZyb20oc2NyZWVuc2hvdERhdGEuZGF0YSwgJ2Jhc2U2NCcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBjbG9zZVRhYiAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLl9wYXJlbnRUYXJnZXQpXG4gICAgICAgICAgICBhd2FpdCByZW1vdGVDaHJvbWUuQ2xvc2UoeyBpZDogdGhpcy5fcGFyZW50VGFyZ2V0LmlkLCBwb3J0OiB0aGlzLl9ydW50aW1lSW5mby5jZHBQb3J0IH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyB1cGRhdGVNb2JpbGVWaWV3cG9ydFNpemUgKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBjbGllbnQgPSBhd2FpdCB0aGlzLmdldEFjdGl2ZUNsaWVudCgpO1xuXG4gICAgICAgIGlmICghY2xpZW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IHdpbmRvd0RpbWVuc2lvbnNRdWVyeVJlc3VsdCA9IGF3YWl0IHRoaXMuX2V2YWx1YXRlUnVudGltZShjbGllbnQsIGAoJHtHRVRfV0lORE9XX0RJTUVOU0lPTlNfSU5GT19TQ1JJUFR9KSgpYCwgdHJ1ZSk7XG5cbiAgICAgICAgY29uc3Qgd2luZG93RGltZW5zaW9ucyA9IHdpbmRvd0RpbWVuc2lvbnNRdWVyeVJlc3VsdC5yZXN1bHQudmFsdWU7XG5cbiAgICAgICAgdGhpcy5fcnVudGltZUluZm8udmlld3BvcnRTaXplLndpZHRoID0gd2luZG93RGltZW5zaW9ucy5vdXRlcldpZHRoO1xuICAgICAgICB0aGlzLl9ydW50aW1lSW5mby52aWV3cG9ydFNpemUuaGVpZ2h0ID0gd2luZG93RGltZW5zaW9ucy5vdXRlckhlaWdodDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgY2xvc2VCcm93c2VyQ2hpbGRXaW5kb3cgKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLnNldENsaWVudEluYWN0aXZlKCk7XG5cbiAgICAgICAgLy8gTk9URTogZGVsYXkgYnJvd3NlciB3aW5kb3cgY2xvc2luZ1xuICAgICAgICBhd2FpdCBkZWxheSgxMDApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzdGFydENhcHR1cmluZ1ZpZGVvICgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgY2xpZW50ID0gYXdhaXQgdGhpcy5nZXRBY3RpdmVDbGllbnQoKTtcblxuICAgICAgICBpZiAoIWNsaWVudClcbiAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICBpZiAoIXRoaXMuX3NjcmVlbmNhc3RGcmFtZUxpc3RlbmVyQXR0YWNoZWQpIHtcbiAgICAgICAgICAgIGNsaWVudC5QYWdlLm9uKCdzY3JlZW5jYXN0RnJhbWUnLCAoZXZlbnQ6IFNjcmVlbmNhc3RGcmFtZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmlkZW9GcmFtZXNCdWZmZXIucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIGRhdGE6ICAgICAgZXZlbnQuZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbklkOiBldmVudC5zZXNzaW9uSWQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5fc2NyZWVuY2FzdEZyYW1lTGlzdGVuZXJBdHRhY2hlZCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBjbGllbnQuUGFnZS5zdGFydFNjcmVlbmNhc3QoU0NSRUVOQ0FTVF9PUFRJT05TIGFzIFN0YXJ0U2NyZWVuY2FzdFJlcXVlc3QpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzdG9wQ2FwdHVyaW5nVmlkZW8gKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBjbGllbnQgPSBhd2FpdCB0aGlzLmdldEFjdGl2ZUNsaWVudCgpO1xuXG4gICAgICAgIGlmICghY2xpZW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGF3YWl0IGNsaWVudC5QYWdlLnN0b3BTY3JlZW5jYXN0KCk7XG5cbiAgICAgICAgdGhpcy5fbGFzdEZyYW1lICAgICAgICAgPSBudWxsO1xuICAgICAgICB0aGlzLl92aWRlb0ZyYW1lc0J1ZmZlciA9IFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRWaWRlb0ZyYW1lRGF0YSAoKTogUHJvbWlzZTxCdWZmZXIgfCBudWxsPiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRWaWRlb0ZyYW1lID0gdGhpcy5fdmlkZW9GcmFtZXNCdWZmZXIuc2hpZnQoKSB8fCB0aGlzLl9sYXN0RnJhbWU7XG5cbiAgICAgICAgaWYgKCFjdXJyZW50VmlkZW9GcmFtZSlcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuXG4gICAgICAgIGlmICh0aGlzLl92aWRlb0ZyYW1lc0J1ZmZlci5sZW5ndGggPT09IDApXG4gICAgICAgICAgICB0aGlzLl9sYXN0RnJhbWUgPSBjdXJyZW50VmlkZW9GcmFtZTtcblxuICAgICAgICBjb25zdCBjbGllbnQgPSBhd2FpdCB0aGlzLmdldEFjdGl2ZUNsaWVudCgpO1xuXG4gICAgICAgIGlmICghY2xpZW50KVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgYXdhaXQgY2xpZW50LlBhZ2Uuc2NyZWVuY2FzdEZyYW1lQWNrKHsgc2Vzc2lvbklkOiBjdXJyZW50VmlkZW9GcmFtZS5zZXNzaW9uSWQgfSk7XG5cbiAgICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKGN1cnJlbnRWaWRlb0ZyYW1lLmRhdGEsICdiYXNlNjQnKTtcbiAgICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYnJvd3Nlci9wcm92aWRlci9idWlsdC1pbi9kZWRpY2F0ZWQvY2hyb21lL2NkcC1jbGllbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsZ0RBQXdCO0FBQ3hCLDRDQUFvQjtBQUNwQixzRkFBbUQ7QUFDbkQsa0RBQTBCO0FBQzFCLHlFQUF1RjtBQUN2RixzR0FBOEU7QUFROUUsa0VBQXVDO0FBQ3ZDLGdFQUFvRjtBQUNwRix3R0FBOEU7QUFDOUUsMEVBQWtEO0FBS2xELE1BQU0sV0FBVyxHQUFHLENBQUMsRUFBVSxFQUFVLEVBQUUsQ0FBQyw0REFBNEQsRUFBRSxFQUFFLENBQUM7QUFDN0csTUFBTSxhQUFhLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxZQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFFM0QsTUFBTSxRQUFRLEdBQUcsSUFBQSxlQUFLLEVBQUMscURBQXFELENBQUMsQ0FBQztBQUU5RSxNQUFNLGVBQWU7SUFJakIsWUFBb0IsTUFBZ0M7UUFDaEQsSUFBSSxDQUFDLE1BQU0sR0FBSyxNQUFNLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztDQUNKO0FBRUQsTUFBTSxrQkFBa0IsR0FBRztJQUN2QixNQUFNLEVBQVMsTUFBTTtJQUNyQixhQUFhLEVBQUUsQ0FBQztDQUNuQixDQUFDO0FBT0YsTUFBYSxhQUFhO0lBU3RCLFlBQW9CLFdBQXdCO1FBUnBDLGFBQVEsR0FBZ0MsRUFBRSxDQUFDO1FBTTNDLHFDQUFnQyxHQUFHLEtBQUssQ0FBQztRQUc3QyxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFJLElBQUEsZUFBSyxFQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFD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QUFpQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0o7QUF2V0Qsc0NBdVdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2NvbmZpZ3VyYXRpb24vaW50ZXJmYWNlcyc7XG5pbXBvcnQgUHJvdG9jb2wgZnJvbSAnZGV2dG9vbHMtcHJvdG9jb2wnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgb3MgZnJvbSAnb3MnO1xuaW1wb3J0IHJlbW90ZUNocm9tZSBmcm9tICdjaHJvbWUtcmVtb3RlLWludGVyZmFjZSc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHsgR0VUX1dJTkRPV19ESU1FTlNJT05TX0lORk9fU0NSSVBUIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvY2xpZW50LWZ1bmN0aW9ucyc7XG5pbXBvcnQgV0FSTklOR19NRVNTQUdFIGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL25vdGlmaWNhdGlvbnMvd2FybmluZy1tZXNzYWdlJztcblxuaW1wb3J0IHtcbiAgICBDb25maWcsXG4gICAgUnVudGltZUluZm8sXG4gICAgVG91Y2hDb25maWdPcHRpb25zLFxuICAgIFNpemUsXG59IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHByZXR0eVRpbWUgZnJvbSAncHJldHR5LWhydGltZSc7XG5pbXBvcnQgeyBDaGVja2VkQ0RQTWV0aG9kLCBFTEFQU0VEX1RJTUVfVVBQRVJCT1VORFMgfSBmcm9tICcuLi9lbGFwc2VkLXVwcGVyYm91bmRzJztcbmltcG9ydCBndWFyZFRpbWVFeGVjdXRpb24gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vdXRpbHMvZ3VhcmQtdGltZS1leGVjdXRpb24nO1xuaW1wb3J0IGRlbGF5IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3V0aWxzL2RlbGF5JztcblxuaW1wb3J0IFN0YXJ0U2NyZWVuY2FzdFJlcXVlc3QgPSBQcm90b2NvbC5QYWdlLlN0YXJ0U2NyZWVuY2FzdFJlcXVlc3Q7XG5pbXBvcnQgU2NyZWVuY2FzdEZyYW1lRXZlbnQgPSBQcm90b2NvbC5QYWdlLlNjcmVlbmNhc3RGcmFtZUV2ZW50O1xuXG5jb25zdCBERUJVR19TQ09QRSA9IChpZDogc3RyaW5nKTogc3RyaW5nID0+IGB0ZXN0Y2FmZTpicm93c2VyOnByb3ZpZGVyOmJ1aWx0LWluOmNocm9tZTpicm93c2VyLWNsaWVudDoke2lkfWA7XG5jb25zdCBET1dOTE9BRFNfRElSID0gcGF0aC5qb2luKG9zLmhvbWVkaXIoKSwgJ0Rvd25sb2FkcycpO1xuXG5jb25zdCBkZWJ1Z0xvZyA9IGRlYnVnKCd0ZXN0Y2FmZTpicm93c2VyOnByb3ZpZGVyOmJ1aWx0LWluOmRlZGljYXRlZDpjaHJvbWUnKTtcblxuY2xhc3MgUHJvdG9jb2xBcGlJbmZvIHtcbiAgICBwdWJsaWMgaW5hY3RpdmU6IGJvb2xlYW47XG4gICAgcHVibGljIGNsaWVudDogcmVtb3RlQ2hyb21lLlByb3RvY29sQXBpO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yIChjbGllbnQ6IHJlbW90ZUNocm9tZS5Qcm90b2NvbEFwaSkge1xuICAgICAgICB0aGlzLmNsaWVudCAgID0gY2xpZW50O1xuICAgICAgICB0aGlzLmluYWN0aXZlID0gZmFsc2U7XG4gICAgfVxufVxuXG5jb25zdCBTQ1JFRU5DQVNUX09QVElPTlMgPSB7XG4gICAgZm9ybWF0OiAgICAgICAgJ2pwZWcnLFxuICAgIGV2ZXJ5TnRoRnJhbWU6IDEsXG59O1xuXG5pbnRlcmZhY2UgVmlkZW9GcmFtZURhdGEge1xuICAgIGRhdGE6IHN0cmluZztcbiAgICBzZXNzaW9uSWQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIEJyb3dzZXJDbGllbnQge1xuICAgIHByaXZhdGUgX2NsaWVudHM6IERpY3Rpb25hcnk8UHJvdG9jb2xBcGlJbmZvPiA9IHt9O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3J1bnRpbWVJbmZvOiBSdW50aW1lSW5mbztcbiAgICBwcml2YXRlIF9wYXJlbnRUYXJnZXQ/OiByZW1vdGVDaHJvbWUuVGFyZ2V0SW5mbztcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlYnVnTG9nZ2VyOiBkZWJ1Zy5EZWJ1Z2dlcjtcbiAgICBwcml2YXRlIF92aWRlb0ZyYW1lc0J1ZmZlcjogVmlkZW9GcmFtZURhdGFbXTtcbiAgICBwcml2YXRlIF9sYXN0RnJhbWU6IFZpZGVvRnJhbWVEYXRhIHwgbnVsbDtcbiAgICBwcml2YXRlIF9zY3JlZW5jYXN0RnJhbWVMaXN0ZW5lckF0dGFjaGVkID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IgKHJ1bnRpbWVJbmZvOiBSdW50aW1lSW5mbykge1xuICAgICAgICB0aGlzLl9ydW50aW1lSW5mbyA9IHJ1bnRpbWVJbmZvO1xuICAgICAgICB0aGlzLmRlYnVnTG9nZ2VyICA9IGRlYnVnKERFQlVHX1NDT1BFKHJ1bnRpbWVJbmZvLmJyb3dzZXJJZCkpO1xuXG4gICAgICAgIHJ1bnRpbWVJbmZvLmJyb3dzZXJDbGllbnQgPSB0aGlzO1xuXG4gICAgICAgIHRoaXMuX3ZpZGVvRnJhbWVzQnVmZmVyID0gW107XG4gICAgICAgIHRoaXMuX2xhc3RGcmFtZSAgICAgICAgID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBfY2xpZW50S2V5ICgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fcnVudGltZUluZm8uYWN0aXZlV2luZG93SWQgfHwgdGhpcy5fcnVudGltZUluZm8uYnJvd3NlcklkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IF9jb25maWcgKCk6IENvbmZpZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ydW50aW1lSW5mby5jb25maWc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfZ2V0VGFicyAoKTogUHJvbWlzZTxyZW1vdGVDaHJvbWUuVGFyZ2V0SW5mb1tdPiB7XG4gICAgICAgIGNvbnN0IHRhYnMgPSBhd2FpdCByZW1vdGVDaHJvbWUuTGlzdCh7IHBvcnQ6IHRoaXMuX3J1bnRpbWVJbmZvLmNkcFBvcnQgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRhYnMuZmlsdGVyKHQgPT4gdC50eXBlID09PSAncGFnZScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX2dldEFjdGl2ZVRhYiAoKTogUHJvbWlzZTxyZW1vdGVDaHJvbWUuVGFyZ2V0SW5mbz4ge1xuICAgICAgICBsZXQgdGFicyA9IGF3YWl0IHRoaXMuX2dldFRhYnMoKTtcblxuICAgICAgICBpZiAodGhpcy5fcnVudGltZUluZm8uYWN0aXZlV2luZG93SWQpXG4gICAgICAgICAgICB0YWJzID0gdGFicy5maWx0ZXIodCA9PiB0LnRpdGxlLmluY2x1ZGVzKHRoaXMuX3J1bnRpbWVJbmZvLmFjdGl2ZVdpbmRvd0lkKSk7XG5cbiAgICAgICAgcmV0dXJuIHRhYnNbMF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY2hlY2tEcm9wT2ZQZXJmb3JtYW5jZSAobWV0aG9kOiBDaGVja2VkQ0RQTWV0aG9kLCBlbGFwc2VkVGltZTogW251bWJlciwgbnVtYmVyXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlYnVnTG9nZ2VyKGBDRFAgbWV0aG9kICcke21ldGhvZH0nIHRvb2sgJHtwcmV0dHlUaW1lKGVsYXBzZWRUaW1lKX1gKTtcblxuICAgICAgICBjb25zdCBbIGVsYXBzZWRTZWNvbmRzIF0gPSBlbGFwc2VkVGltZTtcblxuICAgICAgICBpZiAoZWxhcHNlZFNlY29uZHMgPiBFTEFQU0VEX1RJTUVfVVBQRVJCT1VORFNbbWV0aG9kXSkge1xuICAgICAgICAgICAgdGhpcy5fcnVudGltZUluZm8ucHJvdmlkZXJNZXRob2RzLnJlcG9ydFdhcm5pbmcoXG4gICAgICAgICAgICAgICAgV0FSTklOR19NRVNTQUdFLmJyb3dzZXJQcm92aWRlckRyb3BPZlBlcmZvcm1hbmNlLFxuICAgICAgICAgICAgICAgIHRoaXMuX3J1bnRpbWVJbmZvLmJyb3dzZXJOYW1lXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfY3JlYXRlQ2xpZW50ICgpOiBQcm9taXNlPHJlbW90ZUNocm9tZS5Qcm90b2NvbEFwaT4ge1xuICAgICAgICBjb25zdCB0YXJnZXQgICAgICAgICAgICAgICAgICAgICA9IGF3YWl0IHRoaXMuX2dldEFjdGl2ZVRhYigpO1xuICAgICAgICBjb25zdCBjbGllbnQgICAgICAgICAgICAgICAgICAgICA9IGF3YWl0IHJlbW90ZUNocm9tZSh7IHRhcmdldCwgcG9ydDogdGhpcy5fcnVudGltZUluZm8uY2RwUG9ydCB9KTtcbiAgICAgICAgY29uc3QgeyBQYWdlLCBOZXR3b3JrLCBSdW50aW1lIH0gPSBjbGllbnQ7XG5cbiAgICAgICAgdGhpcy5fY2xpZW50c1t0aGlzLl9jbGllbnRLZXldID0gbmV3IFByb3RvY29sQXBpSW5mbyhjbGllbnQpO1xuXG4gICAgICAgIGF3YWl0IGd1YXJkVGltZUV4ZWN1dGlvbihcbiAgICAgICAgICAgIGFzeW5jICgpID0+IGF3YWl0IFBhZ2UuZW5hYmxlKCksXG4gICAgICAgICAgICBlbGFwc2VkVGltZSA9PiB0aGlzLl9jaGVja0Ryb3BPZlBlcmZvcm1hbmNlKENoZWNrZWRDRFBNZXRob2QuUGFnZUVuYWJsZSwgZWxhcHNlZFRpbWUpXG4gICAgICAgICk7XG5cbiAgICAgICAgYXdhaXQgTmV0d29yay5lbmFibGUoe30pO1xuICAgICAgICBhd2FpdCBSdW50aW1lLmVuYWJsZSgpO1xuXG4gICAgICAgIHJldHVybiBjbGllbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfc2V0dXBDbGllbnQgKGNsaWVudDogcmVtb3RlQ2hyb21lLlByb3RvY29sQXBpKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLl9jb25maWcuZW11bGF0aW9uKVxuICAgICAgICAgICAgYXdhaXQgdGhpcy5fc2V0RW11bGF0aW9uKGNsaWVudCk7XG5cbiAgICAgICAgaWYgKHRoaXMuX2NvbmZpZy5oZWFkbGVzcylcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX3NldHVwRG93bmxvYWRzKGNsaWVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfc2V0RGV2aWNlTWV0cmljc092ZXJyaWRlIChjbGllbnQ6IHJlbW90ZUNocm9tZS5Qcm90b2NvbEFwaSwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIsIGRldmljZVNjYWxlRmFjdG9yOiBudW1iZXIsIG1vYmlsZTogYm9vbGVhbik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCBndWFyZFRpbWVFeGVjdXRpb24oXG4gICAgICAgICAgICBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgYXdhaXQgY2xpZW50LkVtdWxhdGlvbi5zZXREZXZpY2VNZXRyaWNzT3ZlcnJpZGUoe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICBkZXZpY2VTY2FsZUZhY3RvcixcbiAgICAgICAgICAgICAgICAgICAgbW9iaWxlLFxuICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgIGZpdFdpbmRvdzogZmFsc2UsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZWxhcHNlZFRpbWUgPT4gdGhpcy5fY2hlY2tEcm9wT2ZQZXJmb3JtYW5jZShDaGVja2VkQ0RQTWV0aG9kLlNldERldmljZU1ldHJpY3NPdmVycmlkZSwgZWxhcHNlZFRpbWUpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfc2V0VXNlckFnZW50RW11bGF0aW9uIChjbGllbnQ6IHJlbW90ZUNocm9tZS5Qcm90b2NvbEFwaSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy5fY29uZmlnLnVzZXJBZ2VudCA9PT0gdm9pZCAwKVxuICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGF3YWl0IGNsaWVudC5OZXR3b3JrLnNldFVzZXJBZ2VudE92ZXJyaWRlKHsgdXNlckFnZW50OiB0aGlzLl9jb25maWcudXNlckFnZW50IH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX3NldFRvdWNoRW11bGF0aW9uIChjbGllbnQ6IHJlbW90ZUNocm9tZS5Qcm90b2NvbEFwaSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy5fY29uZmlnLnRvdWNoID09PSB2b2lkIDApXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgY29uc3QgdG91Y2hDb25maWc6IFRvdWNoQ29uZmlnT3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6ICAgICAgICB0aGlzLl9jb25maWcudG91Y2gsXG4gICAgICAgICAgICBjb25maWd1cmF0aW9uOiAgdGhpcy5fY29uZmlnLm1vYmlsZSA/ICdtb2JpbGUnIDogJ2Rlc2t0b3AnLFxuICAgICAgICAgICAgbWF4VG91Y2hQb2ludHM6IDEsXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKGNsaWVudC5FbXVsYXRpb24uc2V0RW1pdFRvdWNoRXZlbnRzRm9yTW91c2UpXG4gICAgICAgICAgICBhd2FpdCBjbGllbnQuRW11bGF0aW9uLnNldEVtaXRUb3VjaEV2ZW50c0Zvck1vdXNlKHRvdWNoQ29uZmlnKTtcblxuICAgICAgICBpZiAoY2xpZW50LkVtdWxhdGlvbi5zZXRUb3VjaEVtdWxhdGlvbkVuYWJsZWQpXG4gICAgICAgICAgICBhd2FpdCBjbGllbnQuRW11bGF0aW9uLnNldFRvdWNoRW11bGF0aW9uRW5hYmxlZCh0b3VjaENvbmZpZyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfc2V0RW11bGF0aW9uIChjbGllbnQ6IHJlbW90ZUNocm9tZS5Qcm90b2NvbEFwaSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLl9zZXRVc2VyQWdlbnRFbXVsYXRpb24oY2xpZW50KTtcbiAgICAgICAgYXdhaXQgdGhpcy5fc2V0VG91Y2hFbXVsYXRpb24oY2xpZW50KTtcblxuICAgICAgICBhd2FpdCB0aGlzLnJlc2l6ZVdpbmRvdyh7XG4gICAgICAgICAgICB3aWR0aDogIHRoaXMuX2NvbmZpZy53aWR0aCxcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy5fY29uZmlnLmhlaWdodCxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfc2V0dXBEb3dubG9hZHMgKGNsaWVudDogcmVtb3RlQ2hyb21lLlByb3RvY29sQXBpKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IGNsaWVudC5QYWdlLnNldERvd25sb2FkQmVoYXZpb3Ioe1xuICAgICAgICAgICAgYmVoYXZpb3I6ICAgICAnYWxsb3cnLFxuICAgICAgICAgICAgZG93bmxvYWRQYXRoOiBET1dOTE9BRFNfRElSLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9ldmFsdWF0ZVJ1bnRpbWUgKGNsaWVudDogcmVtb3RlQ2hyb21lLlByb3RvY29sQXBpLCBleHByZXNzaW9uOiBzdHJpbmcsIHJldHVybkJ5VmFsdWUgPSBmYWxzZSk6IFByb21pc2U8UHJvdG9jb2wuUnVudGltZS5FdmFsdWF0ZVJlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiBjbGllbnQuUnVudGltZS5ldmFsdWF0ZSh7IGV4cHJlc3Npb24sIHJldHVybkJ5VmFsdWUgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfY2FsY3VsYXRlRW11bGF0ZWREZXZpY2VQaXhlbFJhdGlvIChjbGllbnQ6IHJlbW90ZUNocm9tZS5Qcm90b2NvbEFwaSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoIWNsaWVudClcbiAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICBjb25zdCBkZXZpY2VQaXhlbFJhdGlvUXVlcnlSZXN1bHQgPSBhd2FpdCBjbGllbnQuUnVudGltZS5ldmFsdWF0ZSh7IGV4cHJlc3Npb246ICd3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbycgfSk7XG5cbiAgICAgICAgdGhpcy5fcnVudGltZUluZm8ub3JpZ2luYWxEZXZpY2VQaXhlbFJhdGlvID0gZGV2aWNlUGl4ZWxSYXRpb1F1ZXJ5UmVzdWx0LnJlc3VsdC52YWx1ZTtcbiAgICAgICAgdGhpcy5fcnVudGltZUluZm8uZW11bGF0ZWREZXZpY2VQaXhlbFJhdGlvID0gdGhpcy5fY29uZmlnLnNjYWxlRmFjdG9yIHx8IHRoaXMuX3J1bnRpbWVJbmZvLm9yaWdpbmFsRGV2aWNlUGl4ZWxSYXRpbztcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcmVzaXplV2luZG93IChuZXdEaW1lbnNpb25zOiBTaXplKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHsgYnJvd3NlcklkLCBjb25maWcsIHZpZXdwb3J0U2l6ZSwgcHJvdmlkZXJNZXRob2RzLCBlbXVsYXRlZERldmljZVBpeGVsUmF0aW8gfSA9IHRoaXMuX3J1bnRpbWVJbmZvO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRXaWR0aCA9IHZpZXdwb3J0U2l6ZS53aWR0aDtcbiAgICAgICAgY29uc3QgY3VycmVudEhlaWdodCA9IHZpZXdwb3J0U2l6ZS5oZWlnaHQ7XG4gICAgICAgIGNvbnN0IG5ld1dpZHRoID0gbmV3RGltZW5zaW9ucy53aWR0aCB8fCBjdXJyZW50V2lkdGg7XG4gICAgICAgIGNvbnN0IG5ld0hlaWdodCA9IG5ld0RpbWVuc2lvbnMuaGVpZ2h0IHx8IGN1cnJlbnRIZWlnaHQ7XG5cbiAgICAgICAgaWYgKCFjb25maWcuaGVhZGxlc3MpXG4gICAgICAgICAgICBhd2FpdCBwcm92aWRlck1ldGhvZHMucmVzaXplTG9jYWxCcm93c2VyV2luZG93KGJyb3dzZXJJZCwgbmV3V2lkdGgsIG5ld0hlaWdodCwgY3VycmVudFdpZHRoLCBjdXJyZW50SGVpZ2h0KTtcblxuICAgICAgICB2aWV3cG9ydFNpemUud2lkdGggPSBuZXdXaWR0aDtcbiAgICAgICAgdmlld3BvcnRTaXplLmhlaWdodCA9IG5ld0hlaWdodDtcblxuICAgICAgICBjb25zdCBjbGllbnQgPSBhd2FpdCB0aGlzLmdldEFjdGl2ZUNsaWVudCgpO1xuXG4gICAgICAgIGlmIChjbGllbnQgJiYgY29uZmlnLmVtdWxhdGlvbikge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5fc2V0RGV2aWNlTWV0cmljc092ZXJyaWRlKGNsaWVudCwgdmlld3BvcnRTaXplLndpZHRoLCB2aWV3cG9ydFNpemUuaGVpZ2h0LCBlbXVsYXRlZERldmljZVBpeGVsUmF0aW8sIGNvbmZpZy5tb2JpbGUpO1xuXG4gICAgICAgICAgICBhd2FpdCBndWFyZFRpbWVFeGVjdXRpb24oXG4gICAgICAgICAgICAgICAgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCBjbGllbnQuRW11bGF0aW9uLnNldFZpc2libGVTaXplKHsgd2lkdGg6IHZpZXdwb3J0U2l6ZS53aWR0aCwgaGVpZ2h0OiB2aWV3cG9ydFNpemUuaGVpZ2h0IH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZWxhcHNlZFRpbWUgPT4gdGhpcy5fY2hlY2tEcm9wT2ZQZXJmb3JtYW5jZShDaGVja2VkQ0RQTWV0aG9kLlNldFZpc2libGVTaXplLCBlbGFwc2VkVGltZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaXNIZWFkbGVzc1RhYiAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuX3BhcmVudFRhcmdldCAmJiB0aGlzLl9jb25maWcuaGVhZGxlc3M7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHNldENsaWVudEluYWN0aXZlICgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgLy8gTk9URTogZW5zdXJlIGNsaWVudCBleGlzdHNcbiAgICAgICAgYXdhaXQgdGhpcy5nZXRBY3RpdmVDbGllbnQoKTtcblxuICAgICAgICBjb25zdCBjbGllbnQgPSB0aGlzLl9jbGllbnRzW3RoaXMuX2NsaWVudEtleV07XG5cbiAgICAgICAgaWYgKGNsaWVudClcbiAgICAgICAgICAgIGNsaWVudC5pbmFjdGl2ZSA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEFjdGl2ZUNsaWVudCAoKTogUHJvbWlzZTxyZW1vdGVDaHJvbWUuUHJvdG9jb2xBcGkgfCB2b2lkPiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX2NsaWVudHNbdGhpcy5fY2xpZW50S2V5XSlcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9jcmVhdGVDbGllbnQoKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBkZWJ1Z0xvZyhlcnIpO1xuXG4gICAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5mbyA9IHRoaXMuX2NsaWVudHNbdGhpcy5fY2xpZW50S2V5XTtcblxuICAgICAgICBpZiAoaW5mby5pbmFjdGl2ZSlcbiAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG5cbiAgICAgICAgcmV0dXJuIGluZm8uY2xpZW50O1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBpbml0ICgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHRhYnMgPSBhd2FpdCB0aGlzLl9nZXRUYWJzKCk7XG5cbiAgICAgICAgICAgIHRoaXMuX3BhcmVudFRhcmdldCA9IHRhYnMuZmluZCh0ID0+IHQudXJsLmluY2x1ZGVzKHRoaXMuX3J1bnRpbWVJbmZvLmJyb3dzZXJJZCkpO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuX3BhcmVudFRhcmdldClcbiAgICAgICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgICAgIGNvbnN0IGNsaWVudCA9IGF3YWl0IHRoaXMuZ2V0QWN0aXZlQ2xpZW50KCk7XG5cbiAgICAgICAgICAgIGlmIChjbGllbnQpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9jYWxjdWxhdGVFbXVsYXRlZERldmljZVBpeGVsUmF0aW8oY2xpZW50KTtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9zZXR1cENsaWVudChjbGllbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0U2NyZWVuc2hvdERhdGEgKGZ1bGxQYWdlPzogYm9vbGVhbik6IFByb21pc2U8QnVmZmVyPiB7XG4gICAgICAgIGxldCB2aWV3cG9ydFdpZHRoICA9IDA7XG4gICAgICAgIGxldCB2aWV3cG9ydEhlaWdodCA9IDA7XG5cbiAgICAgICAgY29uc3QgeyBjb25maWcsIGVtdWxhdGVkRGV2aWNlUGl4ZWxSYXRpbyB9ID0gdGhpcy5fcnVudGltZUluZm87XG5cbiAgICAgICAgY29uc3QgY2xpZW50ID0gYXdhaXQgdGhpcy5nZXRBY3RpdmVDbGllbnQoKTtcblxuICAgICAgICBpZiAoIWNsaWVudCkge1xuICAgICAgICAgICAgLy8gTk9URTogcmVxdWlyZWQgZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9EZXZFeHByZXNzL3Rlc3RjYWZlL2lzc3Vlcy82MDM3XG4gICAgICAgICAgICBhd2FpdCBkZWxheSgwKTtcblxuICAgICAgICAgICAgcmV0dXJuIEJ1ZmZlci5hbGxvYygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmdWxsUGFnZSkge1xuICAgICAgICAgICAgY29uc3QgeyBjb250ZW50U2l6ZSwgdmlzdWFsVmlld3BvcnQgfSA9IGF3YWl0IGNsaWVudC5QYWdlLmdldExheW91dE1ldHJpY3MoKTtcblxuICAgICAgICAgICAgYXdhaXQgdGhpcy5fc2V0RGV2aWNlTWV0cmljc092ZXJyaWRlKFxuICAgICAgICAgICAgICAgIGNsaWVudCxcbiAgICAgICAgICAgICAgICBNYXRoLmNlaWwoY29udGVudFNpemUud2lkdGgpLFxuICAgICAgICAgICAgICAgIE1hdGguY2VpbChjb250ZW50U2l6ZS5oZWlnaHQpLFxuICAgICAgICAgICAgICAgIGVtdWxhdGVkRGV2aWNlUGl4ZWxSYXRpbyxcbiAgICAgICAgICAgICAgICBjb25maWcubW9iaWxlKTtcblxuICAgICAgICAgICAgdmlld3BvcnRXaWR0aCA9IHZpc3VhbFZpZXdwb3J0LmNsaWVudFdpZHRoO1xuICAgICAgICAgICAgdmlld3BvcnRIZWlnaHQgPSB2aXN1YWxWaWV3cG9ydC5jbGllbnRIZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzY3JlZW5zaG90RGF0YSA9IGF3YWl0IGNsaWVudC5QYWdlLmNhcHR1cmVTY3JlZW5zaG90KHt9KTtcblxuICAgICAgICBpZiAoZnVsbFBhZ2UpIHtcbiAgICAgICAgICAgIGlmIChjb25maWcuZW11bGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fc2V0RGV2aWNlTWV0cmljc092ZXJyaWRlKFxuICAgICAgICAgICAgICAgICAgICBjbGllbnQsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZy53aWR0aCB8fCB2aWV3cG9ydFdpZHRoLFxuICAgICAgICAgICAgICAgICAgICBjb25maWcuaGVpZ2h0IHx8IHZpZXdwb3J0SGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICBlbXVsYXRlZERldmljZVBpeGVsUmF0aW8sXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZy5tb2JpbGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGF3YWl0IGNsaWVudC5FbXVsYXRpb24uY2xlYXJEZXZpY2VNZXRyaWNzT3ZlcnJpZGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBCdWZmZXIuZnJvbShzY3JlZW5zaG90RGF0YS5kYXRhLCAnYmFzZTY0Jyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGNsb3NlVGFiICgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMuX3BhcmVudFRhcmdldClcbiAgICAgICAgICAgIGF3YWl0IHJlbW90ZUNocm9tZS5DbG9zZSh7IGlkOiB0aGlzLl9wYXJlbnRUYXJnZXQuaWQsIHBvcnQ6IHRoaXMuX3J1bnRpbWVJbmZvLmNkcFBvcnQgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHVwZGF0ZU1vYmlsZVZpZXdwb3J0U2l6ZSAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IGF3YWl0IHRoaXMuZ2V0QWN0aXZlQ2xpZW50KCk7XG5cbiAgICAgICAgaWYgKCFjbGllbnQpXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgY29uc3Qgd2luZG93RGltZW5zaW9uc1F1ZXJ5UmVzdWx0ID0gYXdhaXQgdGhpcy5fZXZhbHVhdGVSdW50aW1lKGNsaWVudCwgYCgke0dFVF9XSU5ET1dfRElNRU5TSU9OU19JTkZPX1NDUklQVH0pKClgLCB0cnVlKTtcblxuICAgICAgICBjb25zdCB3aW5kb3dEaW1lbnNpb25zID0gd2luZG93RGltZW5zaW9uc1F1ZXJ5UmVzdWx0LnJlc3VsdC52YWx1ZTtcblxuICAgICAgICB0aGlzLl9ydW50aW1lSW5mby52aWV3cG9ydFNpemUud2lkdGggPSB3aW5kb3dEaW1lbnNpb25zLm91dGVyV2lkdGg7XG4gICAgICAgIHRoaXMuX3J1bnRpbWVJbmZvLnZpZXdwb3J0U2l6ZS5oZWlnaHQgPSB3aW5kb3dEaW1lbnNpb25zLm91dGVySGVpZ2h0O1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBjbG9zZUJyb3dzZXJDaGlsZFdpbmRvdyAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMuc2V0Q2xpZW50SW5hY3RpdmUoKTtcblxuICAgICAgICAvLyBOT1RFOiBkZWxheSBicm93c2VyIHdpbmRvdyBjbG9zaW5nXG4gICAgICAgIGF3YWl0IGRlbGF5KDEwMCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHN0YXJ0Q2FwdHVyaW5nVmlkZW8gKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBjbGllbnQgPSBhd2FpdCB0aGlzLmdldEFjdGl2ZUNsaWVudCgpO1xuXG4gICAgICAgIGlmICghY2xpZW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGlmICghdGhpcy5fc2NyZWVuY2FzdEZyYW1lTGlzdGVuZXJBdHRhY2hlZCkge1xuICAgICAgICAgICAgY2xpZW50LlBhZ2Uub24oJ3NjcmVlbmNhc3RGcmFtZScsIChldmVudDogU2NyZWVuY2FzdEZyYW1lRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl92aWRlb0ZyYW1lc0J1ZmZlci5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogICAgICBldmVudC5kYXRhLFxuICAgICAgICAgICAgICAgICAgICBzZXNzaW9uSWQ6IGV2ZW50LnNlc3Npb25JZCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLl9zY3JlZW5jYXN0RnJhbWVMaXN0ZW5lckF0dGFjaGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IGNsaWVudC5QYWdlLnN0YXJ0U2NyZWVuY2FzdChTQ1JFRU5DQVNUX09QVElPTlMgYXMgU3RhcnRTY3JlZW5jYXN0UmVxdWVzdCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHN0b3BDYXB0dXJpbmdWaWRlbyAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IGF3YWl0IHRoaXMuZ2V0QWN0aXZlQ2xpZW50KCk7XG5cbiAgICAgICAgaWYgKCFjbGllbnQpXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgYXdhaXQgY2xpZW50LlBhZ2Uuc3RvcFNjcmVlbmNhc3QoKTtcblxuICAgICAgICB0aGlzLl9sYXN0RnJhbWUgICAgICAgICA9IG51bGw7XG4gICAgICAgIHRoaXMuX3ZpZGVvRnJhbWVzQnVmZmVyID0gW107XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldFZpZGVvRnJhbWVEYXRhICgpOiBQcm9taXNlPEJ1ZmZlciB8IG51bGw+IHtcbiAgICAgICAgY29uc3QgZmlyc3RGcmFtZUZyb21CdWZmZXIgPSB0aGlzLl92aWRlb0ZyYW1lc0J1ZmZlci5zaGlmdCgpO1xuICAgICAgICBjb25zdCBjdXJyZW50VmlkZW9GcmFtZSAgICA9IGZpcnN0RnJhbWVGcm9tQnVmZmVyIHx8IHRoaXMuX2xhc3RGcmFtZTtcblxuICAgICAgICBpZiAoIWN1cnJlbnRWaWRlb0ZyYW1lKVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgaWYgKHRoaXMuX3ZpZGVvRnJhbWVzQnVmZmVyLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHRoaXMuX2xhc3RGcmFtZSA9IGN1cnJlbnRWaWRlb0ZyYW1lO1xuXG4gICAgICAgIGNvbnN0IGNsaWVudCA9IGF3YWl0IHRoaXMuZ2V0QWN0aXZlQ2xpZW50KCk7XG5cbiAgICAgICAgaWYgKCFjbGllbnQpXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcblxuICAgICAgICBpZiAoZmlyc3RGcmFtZUZyb21CdWZmZXIpXG4gICAgICAgICAgICBhd2FpdCBjbGllbnQuUGFnZS5zY3JlZW5jYXN0RnJhbWVBY2soeyBzZXNzaW9uSWQ6IGN1cnJlbnRWaWRlb0ZyYW1lLnNlc3Npb25JZCB9KTtcblxuICAgICAgICByZXR1cm4gQnVmZmVyLmZyb20oY3VycmVudFZpZGVvRnJhbWUuZGF0YSwgJ2Jhc2U2NCcpO1xuICAgIH1cbn1cbiJdfQ== |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var SKIP_JS_ERRORS_OPTION_NAMES; | ||
(function (SKIP_JS_ERRORS_OPTION_NAMES) { | ||
SKIP_JS_ERRORS_OPTION_NAMES["message"] = "message"; | ||
SKIP_JS_ERRORS_OPTION_NAMES["stack"] = "stack"; | ||
SKIP_JS_ERRORS_OPTION_NAMES["pageUrl"] = "pageUrl"; | ||
})(SKIP_JS_ERRORS_OPTION_NAMES || (SKIP_JS_ERRORS_OPTION_NAMES = {})); | ||
exports.default = SKIP_JS_ERRORS_OPTION_NAMES; | ||
module.exports = exports.default; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpcC1qcy1lcnJvcnMtb3B0aW9uLW5hbWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZ3VyYXRpb24vc2tpcC1qcy1lcnJvcnMtb3B0aW9uLW5hbWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBSywyQkFJSjtBQUpELFdBQUssMkJBQTJCO0lBQzVCLGtEQUFtQixDQUFBO0lBQ25CLDhDQUFlLENBQUE7SUFDZixrREFBbUIsQ0FBQTtBQUN2QixDQUFDLEVBSkksMkJBQTJCLEtBQTNCLDJCQUEyQixRQUkvQjtBQUVELGtCQUFlLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZW51bSBTS0lQX0pTX0VSUk9SU19PUFRJT05fTkFNRVMge1xuICAgIG1lc3NhZ2UgPSAnbWVzc2FnZScsXG4gICAgc3RhY2sgPSAnc3RhY2snLFxuICAgIHBhZ2VVcmwgPSAncGFnZVVybCcsXG59XG5cbmV4cG9ydCBkZWZhdWx0IFNLSVBfSlNfRVJST1JTX09QVElPTl9OQU1FUztcbiJdfQ== | ||
exports.SKIP_JS_ERRORS_CALLBACK_WITH_OPTIONS_OPTION_NAMES = exports.SKIP_JS_ERRORS_OPTIONS_OBJECT_OPTION_NAMES = void 0; | ||
var SKIP_JS_ERRORS_OPTIONS_OBJECT_OPTION_NAMES; | ||
(function (SKIP_JS_ERRORS_OPTIONS_OBJECT_OPTION_NAMES) { | ||
SKIP_JS_ERRORS_OPTIONS_OBJECT_OPTION_NAMES["message"] = "message"; | ||
SKIP_JS_ERRORS_OPTIONS_OBJECT_OPTION_NAMES["stack"] = "stack"; | ||
SKIP_JS_ERRORS_OPTIONS_OBJECT_OPTION_NAMES["pageUrl"] = "pageUrl"; | ||
})(SKIP_JS_ERRORS_OPTIONS_OBJECT_OPTION_NAMES = exports.SKIP_JS_ERRORS_OPTIONS_OBJECT_OPTION_NAMES || (exports.SKIP_JS_ERRORS_OPTIONS_OBJECT_OPTION_NAMES = {})); | ||
var SKIP_JS_ERRORS_CALLBACK_WITH_OPTIONS_OPTION_NAMES; | ||
(function (SKIP_JS_ERRORS_CALLBACK_WITH_OPTIONS_OPTION_NAMES) { | ||
SKIP_JS_ERRORS_CALLBACK_WITH_OPTIONS_OPTION_NAMES["fn"] = "fn"; | ||
SKIP_JS_ERRORS_CALLBACK_WITH_OPTIONS_OPTION_NAMES["dependencies"] = "dependencies"; | ||
})(SKIP_JS_ERRORS_CALLBACK_WITH_OPTIONS_OPTION_NAMES = exports.SKIP_JS_ERRORS_CALLBACK_WITH_OPTIONS_OPTION_NAMES || (exports.SKIP_JS_ERRORS_CALLBACK_WITH_OPTIONS_OPTION_NAMES = {})); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpcC1qcy1lcnJvcnMtb3B0aW9uLW5hbWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZ3VyYXRpb24vc2tpcC1qcy1lcnJvcnMtb3B0aW9uLW5hbWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksMENBSVg7QUFKRCxXQUFZLDBDQUEwQztJQUNsRCxpRUFBbUIsQ0FBQTtJQUNuQiw2REFBZSxDQUFBO0lBQ2YsaUVBQW1CLENBQUE7QUFDdkIsQ0FBQyxFQUpXLDBDQUEwQyxHQUExQyxrREFBMEMsS0FBMUMsa0RBQTBDLFFBSXJEO0FBRUQsSUFBWSxpREFHWDtBQUhELFdBQVksaURBQWlEO0lBQ3pELDhEQUFTLENBQUE7SUFDVCxrRkFBNkIsQ0FBQTtBQUNqQyxDQUFDLEVBSFcsaURBQWlELEdBQWpELHlEQUFpRCxLQUFqRCx5REFBaUQsUUFHNUQiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTS0lQX0pTX0VSUk9SU19PUFRJT05TX09CSkVDVF9PUFRJT05fTkFNRVMge1xuICAgIG1lc3NhZ2UgPSAnbWVzc2FnZScsXG4gICAgc3RhY2sgPSAnc3RhY2snLFxuICAgIHBhZ2VVcmwgPSAncGFnZVVybCcsXG59XG5cbmV4cG9ydCBlbnVtIFNLSVBfSlNfRVJST1JTX0NBTExCQUNLX1dJVEhfT1BUSU9OU19PUFRJT05fTkFNRVMge1xuICAgIGZuID0gJ2ZuJyxcbiAgICBkZXBlbmRlbmNpZXMgPSAnZGVwZW5kZW5jaWVzJyxcbn1cbiJdfQ== |
@@ -13,2 +13,4 @@ "use strict"; | ||
const test_run_1 = require("./test-run"); | ||
const debug_1 = __importDefault(require("debug")); | ||
const debugLog = (0, debug_1.default)('testcafe:errors'); | ||
function isAssertionErrorCallsiteFrame(frame) { | ||
@@ -23,2 +25,3 @@ const filename = frame.getFileName(); | ||
function processTestFnError(err) { | ||
debugLog('processTestFnError: %O', err); | ||
if (err && (err.isTestCafeError || err instanceof error_list_1.default)) | ||
@@ -41,2 +44,2 @@ return err; | ||
module.exports = exports.default; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy10ZXN0LWZuLWVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9ycy9wcm9jZXNzLXRlc3QtZm4tZXJyb3IuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBMkI7QUFDM0IsaURBQXFEO0FBQ3JELHVDQUFxQztBQUNyQyw4REFBNkM7QUFDN0Msd0ZBQWdFO0FBQ2hFLGlHQUE2RDtBQUU3RCx5Q0FJb0I7QUFFcEIsU0FBUyw2QkFBNkIsQ0FBRSxLQUFLO0lBQ3pDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUVyQyxvRUFBb0U7SUFDcEUsT0FBTyxRQUFRO1FBQ1gsUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFHLENBQUM7UUFDdEIsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGlDQUF1QixDQUFDO1FBQzdDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLFVBQUcsR0FBRyxrQ0FBWSxHQUFHLFVBQUcsRUFBRSxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQUVELFNBQXdCLGtCQUFrQixDQUFFLEdBQUc7SUFDM0MsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxJQUFJLEdBQUcsWUFBWSxvQkFBaUIsQ0FBQztRQUNoRSxPQUFPLEdBQUcsQ0FBQztJQUVmLElBQUksR0FBRyxJQUFJLEdBQUcsWUFBWSxrQkFBUTtRQUM5QixPQUFPLElBQUksa0NBQXVCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFNUMsSUFBSSxHQUFHLFlBQVksS0FBSyxFQUFFO1FBQ3RCLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQztRQUVwRyxrRkFBa0Y7UUFDbEYsNEVBQTRFO1FBQzVFLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFBLGtDQUFtQixFQUFDLEdBQUcsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLGtDQUFtQixFQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXZILE9BQU8sZ0JBQWdCLENBQUMsQ0FBQztZQUNyQixJQUFJLHdDQUE2QixDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ2xELElBQUksa0NBQXVCLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0tBQ2xEO0lBRUQsT0FBTyxJQUFJLDJDQUFnQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFwQkQscUNBb0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2VwIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBnZXRDYWxsc2l0ZUZvckVycm9yIH0gZnJvbSAnLi9nZXQtY2FsbHNpdGUnO1xuaW1wb3J0IHsgQVBJRXJyb3IgfSBmcm9tICcuL3J1bnRpbWUnO1xuaW1wb3J0IFRlc3RDYWZlRXJyb3JMaXN0IGZyb20gJy4vZXJyb3ItbGlzdCc7XG5pbXBvcnQgSU5URVJOQUxfTU9EVUxFU19QUkVGSVggZnJvbSAnLi9pbnRlcm5hbC1tb2R1bGVzLXByZWZpeCc7XG5pbXBvcnQgTk9ERV9NT0RVTEVTIGZyb20gJy4uL3V0aWxzL25vZGUtbW9kdWxlcy1mb2xkZXItbmFtZSc7XG5cbmltcG9ydCB7XG4gICAgVW5jYXVnaHRFcnJvckluVGVzdENvZGUsXG4gICAgVW5jYXVnaHROb25FcnJvck9iamVjdEluVGVzdENvZGUsXG4gICAgRXh0ZXJuYWxBc3NlcnRpb25MaWJyYXJ5RXJyb3IsXG59IGZyb20gJy4vdGVzdC1ydW4nO1xuXG5mdW5jdGlvbiBpc0Fzc2VydGlvbkVycm9yQ2FsbHNpdGVGcmFtZSAoZnJhbWUpIHtcbiAgICBjb25zdCBmaWxlbmFtZSA9IGZyYW1lLmdldEZpbGVOYW1lKCk7XG5cbiAgICAvLyBOT1RFOiBmaWx0ZXIgb3V0IHRoZSBpbnRlcm5hbHMgb2Ygbm9kZS5qcyBhbmQgYXNzZXJ0aW9uIGxpYnJhcmllc1xuICAgIHJldHVybiBmaWxlbmFtZSAmJlxuICAgICAgICBmaWxlbmFtZS5pbmNsdWRlcyhzZXApICYmXG4gICAgICAgICFmaWxlbmFtZS5zdGFydHNXaXRoKElOVEVSTkFMX01PRFVMRVNfUFJFRklYKSAmJlxuICAgICAgICAhZmlsZW5hbWUuaW5jbHVkZXMoYCR7c2VwfSR7Tk9ERV9NT0RVTEVTfSR7c2VwfWApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBwcm9jZXNzVGVzdEZuRXJyb3IgKGVycikge1xuICAgIGlmIChlcnIgJiYgKGVyci5pc1Rlc3RDYWZlRXJyb3IgfHwgZXJyIGluc3RhbmNlb2YgVGVzdENhZmVFcnJvckxpc3QpKVxuICAgICAgICByZXR1cm4gZXJyO1xuXG4gICAgaWYgKGVyciAmJiBlcnIgaW5zdGFuY2VvZiBBUElFcnJvcilcbiAgICAgICAgcmV0dXJuIG5ldyBVbmNhdWdodEVycm9ySW5UZXN0Q29kZShlcnIpO1xuXG4gICAgaWYgKGVyciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgIGNvbnN0IGlzQXNzZXJ0aW9uRXJyb3IgPSBlcnIubmFtZSA9PT0gJ0Fzc2VydGlvbkVycm9yJyB8fCBlcnIuY29uc3RydWN0b3IubmFtZSA9PT0gJ0Fzc2VydGlvbkVycm9yJztcblxuICAgICAgICAvLyBOT1RFOiBhc3NlcnRpb24gbGlicmFyaWVzIGNhbiBhZGQgdGhlaXIgc291cmNlIGZpbGVzIHRvIHRoZSBlcnJvciBzdGFjayBmcmFtZXMuXG4gICAgICAgIC8vIFdlIHNob3VsZCBza2lwIHRoZW0gdG8gY3JlYXRlIGEgY29ycmVjdCBjYWxsc2l0ZSBmb3IgdGhlIGFzc2VydGlvbiBlcnJvci5cbiAgICAgICAgY29uc3QgY2FsbHNpdGUgPSBpc0Fzc2VydGlvbkVycm9yID8gZ2V0Q2FsbHNpdGVGb3JFcnJvcihlcnIsIGlzQXNzZXJ0aW9uRXJyb3JDYWxsc2l0ZUZyYW1lKSA6IGdldENhbGxzaXRlRm9yRXJyb3IoZXJyKTtcblxuICAgICAgICByZXR1cm4gaXNBc3NlcnRpb25FcnJvciA/XG4gICAgICAgICAgICBuZXcgRXh0ZXJuYWxBc3NlcnRpb25MaWJyYXJ5RXJyb3IoZXJyLCBjYWxsc2l0ZSkgOlxuICAgICAgICAgICAgbmV3IFVuY2F1Z2h0RXJyb3JJblRlc3RDb2RlKGVyciwgY2FsbHNpdGUpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgVW5jYXVnaHROb25FcnJvck9iamVjdEluVGVzdENvZGUoZXJyKTtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy10ZXN0LWZuLWVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9ycy9wcm9jZXNzLXRlc3QtZm4tZXJyb3IuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBMkI7QUFDM0IsaURBQXFEO0FBQ3JELHVDQUFxQztBQUNyQyw4REFBNkM7QUFDN0Msd0ZBQWdFO0FBQ2hFLGlHQUE2RDtBQUU3RCx5Q0FJb0I7QUFDcEIsa0RBQTBCO0FBRTFCLE1BQU0sUUFBUSxHQUFHLElBQUEsZUFBSyxFQUFDLGlCQUFpQixDQUFDLENBQUM7QUFHMUMsU0FBUyw2QkFBNkIsQ0FBRSxLQUFLO0lBQ3pDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUVyQyxvRUFBb0U7SUFDcEUsT0FBTyxRQUFRO1FBQ1gsUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFHLENBQUM7UUFDdEIsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGlDQUF1QixDQUFDO1FBQzdDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLFVBQUcsR0FBRyxrQ0FBWSxHQUFHLFVBQUcsRUFBRSxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQUVELFNBQXdCLGtCQUFrQixDQUFFLEdBQUc7SUFDM0MsUUFBUSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRXhDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsSUFBSSxHQUFHLFlBQVksb0JBQWlCLENBQUM7UUFDaEUsT0FBTyxHQUFHLENBQUM7SUFFZixJQUFJLEdBQUcsSUFBSSxHQUFHLFlBQVksa0JBQVE7UUFDOUIsT0FBTyxJQUFJLGtDQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRTVDLElBQUksR0FBRyxZQUFZLEtBQUssRUFBRTtRQUN0QixNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUM7UUFFcEcsa0ZBQWtGO1FBQ2xGLDRFQUE0RTtRQUM1RSxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBQSxrQ0FBbUIsRUFBQyxHQUFHLEVBQUUsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxrQ0FBbUIsRUFBQyxHQUFHLENBQUMsQ0FBQztRQUV2SCxPQUFPLGdCQUFnQixDQUFDLENBQUM7WUFDckIsSUFBSSx3Q0FBNkIsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNsRCxJQUFJLGtDQUF1QixDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztLQUNsRDtJQUVELE9BQU8sSUFBSSwyQ0FBZ0MsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNyRCxDQUFDO0FBdEJELHFDQXNCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNlcCB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgZ2V0Q2FsbHNpdGVGb3JFcnJvciB9IGZyb20gJy4vZ2V0LWNhbGxzaXRlJztcbmltcG9ydCB7IEFQSUVycm9yIH0gZnJvbSAnLi9ydW50aW1lJztcbmltcG9ydCBUZXN0Q2FmZUVycm9yTGlzdCBmcm9tICcuL2Vycm9yLWxpc3QnO1xuaW1wb3J0IElOVEVSTkFMX01PRFVMRVNfUFJFRklYIGZyb20gJy4vaW50ZXJuYWwtbW9kdWxlcy1wcmVmaXgnO1xuaW1wb3J0IE5PREVfTU9EVUxFUyBmcm9tICcuLi91dGlscy9ub2RlLW1vZHVsZXMtZm9sZGVyLW5hbWUnO1xuXG5pbXBvcnQge1xuICAgIFVuY2F1Z2h0RXJyb3JJblRlc3RDb2RlLFxuICAgIFVuY2F1Z2h0Tm9uRXJyb3JPYmplY3RJblRlc3RDb2RlLFxuICAgIEV4dGVybmFsQXNzZXJ0aW9uTGlicmFyeUVycm9yLFxufSBmcm9tICcuL3Rlc3QtcnVuJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5cbmNvbnN0IGRlYnVnTG9nID0gZGVidWcoJ3Rlc3RjYWZlOmVycm9ycycpO1xuXG5cbmZ1bmN0aW9uIGlzQXNzZXJ0aW9uRXJyb3JDYWxsc2l0ZUZyYW1lIChmcmFtZSkge1xuICAgIGNvbnN0IGZpbGVuYW1lID0gZnJhbWUuZ2V0RmlsZU5hbWUoKTtcblxuICAgIC8vIE5PVEU6IGZpbHRlciBvdXQgdGhlIGludGVybmFscyBvZiBub2RlLmpzIGFuZCBhc3NlcnRpb24gbGlicmFyaWVzXG4gICAgcmV0dXJuIGZpbGVuYW1lICYmXG4gICAgICAgIGZpbGVuYW1lLmluY2x1ZGVzKHNlcCkgJiZcbiAgICAgICAgIWZpbGVuYW1lLnN0YXJ0c1dpdGgoSU5URVJOQUxfTU9EVUxFU19QUkVGSVgpICYmXG4gICAgICAgICFmaWxlbmFtZS5pbmNsdWRlcyhgJHtzZXB9JHtOT0RFX01PRFVMRVN9JHtzZXB9YCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHByb2Nlc3NUZXN0Rm5FcnJvciAoZXJyKSB7XG4gICAgZGVidWdMb2coJ3Byb2Nlc3NUZXN0Rm5FcnJvcjogJU8nLCBlcnIpO1xuXG4gICAgaWYgKGVyciAmJiAoZXJyLmlzVGVzdENhZmVFcnJvciB8fCBlcnIgaW5zdGFuY2VvZiBUZXN0Q2FmZUVycm9yTGlzdCkpXG4gICAgICAgIHJldHVybiBlcnI7XG5cbiAgICBpZiAoZXJyICYmIGVyciBpbnN0YW5jZW9mIEFQSUVycm9yKVxuICAgICAgICByZXR1cm4gbmV3IFVuY2F1Z2h0RXJyb3JJblRlc3RDb2RlKGVycik7XG5cbiAgICBpZiAoZXJyIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgY29uc3QgaXNBc3NlcnRpb25FcnJvciA9IGVyci5uYW1lID09PSAnQXNzZXJ0aW9uRXJyb3InIHx8IGVyci5jb25zdHJ1Y3Rvci5uYW1lID09PSAnQXNzZXJ0aW9uRXJyb3InO1xuXG4gICAgICAgIC8vIE5PVEU6IGFzc2VydGlvbiBsaWJyYXJpZXMgY2FuIGFkZCB0aGVpciBzb3VyY2UgZmlsZXMgdG8gdGhlIGVycm9yIHN0YWNrIGZyYW1lcy5cbiAgICAgICAgLy8gV2Ugc2hvdWxkIHNraXAgdGhlbSB0byBjcmVhdGUgYSBjb3JyZWN0IGNhbGxzaXRlIGZvciB0aGUgYXNzZXJ0aW9uIGVycm9yLlxuICAgICAgICBjb25zdCBjYWxsc2l0ZSA9IGlzQXNzZXJ0aW9uRXJyb3IgPyBnZXRDYWxsc2l0ZUZvckVycm9yKGVyciwgaXNBc3NlcnRpb25FcnJvckNhbGxzaXRlRnJhbWUpIDogZ2V0Q2FsbHNpdGVGb3JFcnJvcihlcnIpO1xuXG4gICAgICAgIHJldHVybiBpc0Fzc2VydGlvbkVycm9yID9cbiAgICAgICAgICAgIG5ldyBFeHRlcm5hbEFzc2VydGlvbkxpYnJhcnlFcnJvcihlcnIsIGNhbGxzaXRlKSA6XG4gICAgICAgICAgICBuZXcgVW5jYXVnaHRFcnJvckluVGVzdENvZGUoZXJyLCBjYWxsc2l0ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBVbmNhdWdodE5vbkVycm9yT2JqZWN0SW5UZXN0Q29kZShlcnIpO1xufVxuIl19 |
@@ -6,3 +6,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.RequestRuntimeError = exports.BrowserConnectionError = exports.TimeoutError = exports.ReporterPluginError = exports.CompositeError = exports.ClientFunctionAPIError = exports.APIError = exports.TestCompilationError = exports.GeneralError = void 0; | ||
exports.SkipJsErrorsArgumentApiError = exports.RequestRuntimeError = exports.BrowserConnectionError = exports.TimeoutError = exports.ReporterPluginError = exports.CompositeError = exports.ClientFunctionAPIError = exports.APIError = exports.TestCompilationError = exports.GeneralError = void 0; | ||
const templates_1 = __importDefault(require("./templates")); | ||
@@ -15,2 +15,3 @@ const create_stack_filter_1 = __importDefault(require("../create-stack-filter")); | ||
const get_renderes_1 = __importDefault(require("../../utils/get-renderes")); | ||
const util_1 = __importDefault(require("util")); | ||
const ERROR_SEPARATOR = '\n\n'; | ||
@@ -114,4 +115,12 @@ class ProcessTemplateInstruction { | ||
const code = types_1.RUNTIME_ERRORS.uncaughtErrorInReporter; | ||
super(code, method, name, originalError.stack); | ||
const preparedStack = ReporterPluginError._prepareStack(originalError); | ||
super(code, method, name, preparedStack); | ||
} | ||
static _prepareStack(err) { | ||
if (!(err === null || err === void 0 ? void 0 : err.stack)) { | ||
const inspectedObject = util_1.default.inspect(err); | ||
return `No stack trace is available for a raised error.\nRaised error object inspection:\n${inspectedObject}`; | ||
} | ||
return err.stack; | ||
} | ||
} | ||
@@ -137,2 +146,8 @@ exports.ReporterPluginError = ReporterPluginError; | ||
exports.RequestRuntimeError = RequestRuntimeError; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXJyb3JzL3J1bnRpbWUvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNERBQW9DO0FBQ3BDLGlGQUF1RDtBQUN2RCxrREFBdUQ7QUFDdkQsa0ZBQXlEO0FBQ3pELDRGQUFrRTtBQUNsRSxvQ0FBMEM7QUFDMUMsNEVBQW9EO0FBRXBELE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQztBQUUvQixNQUFNLDBCQUEwQjtJQUM1QixZQUFhLFNBQVM7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDL0IsQ0FBQztDQUNKO0FBRUQsU0FBUztBQUNULE1BQWEsWUFBYSxTQUFRLEtBQUs7SUFDbkMsWUFBYSxHQUFHLElBQUk7UUFDaEIsTUFBTSxJQUFJLEdBQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzlCLE1BQU0sUUFBUSxHQUFHLG1CQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFakMsS0FBSyxDQUFDLElBQUEseUJBQWMsRUFBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXpDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUUsR0FBRztRQUN0QixPQUFPLEdBQUcsWUFBWSxZQUFZLENBQUM7SUFDdkMsQ0FBQztDQUNKO0FBZEQsb0NBY0M7QUFFRCxNQUFhLG9CQUFxQixTQUFRLEtBQUs7SUFDM0MsWUFBYSxhQUFhO1FBQ3RCLE1BQU0sUUFBUSxHQUFPLG1CQUFTLENBQUMsc0JBQWMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sWUFB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QVk7SUFDMUM7UUFDSSxLQUFLLENBQUMsc0JBQWMsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQzNELENBQUM7Q0FDSjtBQUpELG9DQUlDO0FBRUQsTUFBYSxzQkFBdUIsU0FBUSxZQUFZO0lBQ3BELFlBQWEsR0FBRyxJQUFJO1FBQ2hCLEtBQUssQ0FBQyxzQkFBYyxDQUFDLHNCQUFzQixFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQztDQUNKO0FBSkQsd0RBSUM7QUFFRCxNQUFhLG1CQUFvQixTQUFRLFFBQVE7SUFDN0MsWUFBYSxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSTtRQUNsQyxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDSjtBQUpELGtEQUlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFRFTVBMQVRFUyBmcm9tICcuL3RlbXBsYXRlcyc7XG5pbXBvcnQgY3JlYXRlU3RhY2tGaWx0ZXIgZnJvbSAnLi4vY3JlYXRlLXN0YWNrLWZpbHRlcic7XG5pbXBvcnQgeyBnZXRDYWxsc2l0ZUZvck1ldGhvZCB9IGZyb20gJy4uL2dldC1jYWxsc2l0ZSc7XG5pbXBvcnQgcmVuZGVyVGVtcGxhdGUgZnJvbSAnLi4vLi4vdXRpbHMvcmVuZGVyLXRlbXBsYXRlJztcbmltcG9ydCByZW5kZXJDYWxsc2l0ZVN5bmMgZnJvbSAnLi4vLi4vdXRpbHMvcmVuZGVyLWNhbGxzaXRlLXN5bmMnO1xuaW1wb3J0IHsgUlVOVElNRV9FUlJPUlMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgZ2V0UmVuZGVyZXJzIGZyb20gJy4uLy4uL3V0aWxzL2dldC1yZW5kZXJlcyc7XG5cbmNvbnN0IEVSUk9SX1NFUEFSQVRPUiA9ICdcXG5cXG4nO1xuXG5jbGFzcyBQcm9jZXNzVGVtcGxhdGVJbnN0cnVjdGlvbiB7XG4gICAgY29uc3RydWN0b3IgKHByb2Nlc3NGbikge1xuICAgICAgICB0aGlzLnByb2Nlc3NGbiA9IHByb2Nlc3NGbjtcbiAgICB9XG59XG5cbi8vIEVycm9yc1xuZXhwb3J0IGNsYXNzIEdlbmVyYWxFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3RvciAoLi4uYXJncykge1xuICAgICAgICBjb25zdCBjb2RlICAgICA9IGFyZ3Muc2hpZnQoKTtcbiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSBURU1QTEFURVNbY29kZV07XG5cbiAgICAgICAgc3VwZXIocmVuZGVyVGVtcGxhdGUodGVtcGxhdGUsIC4uLmFyZ3MpKTtcblxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIHsgY29kZSwgZGF0YTogYXJncyB9KTtcbiAgICAgICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgR2VuZXJhbEVycm9yKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgaXNHZW5lcmFsRXJyb3IgKGFyZykge1xuICAgICAgICByZXR1cm4gYXJnIGluc3RhbmNlb2YgR2VuZXJhbEVycm9yO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRlc3RDb21waWxhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yIChvcmlnaW5hbEVycm9yKSB7XG4gICAgICAgIGNvbnN0IHRlbXBsYXRlICAgICA9IFRFTVBMQVRFU1tSVU5USU1FX0VSUk9SUy5jYW5ub3RQcmVwYXJlVGVzdHNEdWVUb0Vycm9yXTtcbiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gb3JpZ2luYWxFcnJvci50b1N0cmluZygpO1xuXG4gICAgICAgIHN1cGVyKHJlbmRlclRlbXBsYXRlKHRlbXBsYXRlLCBlcnJvck1lc3NhZ2UpKTtcblxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIHtcbiAgICAgICAgICAgIGNvZGU6IFJVTlRJTUVfRVJST1JTLmNhbm5vdFByZXBhcmVUZXN0c0R1ZVRvRXJyb3IsXG4gICAgICAgICAgICBkYXRhOiBbZXJyb3JNZXNzYWdlXSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gTk9URTogc3RhY2sgaW5jbHVkZXMgbWVzc2FnZSBhcyB3ZWxsLlxuICAgICAgICB0aGlzLnN0YWNrID0gcmVuZGVyVGVtcGxhdGUodGVtcGxhdGUsIG9yaWdpbmFsRXJyb3Iuc3RhY2spO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFQSUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yIChjYWxsc2l0ZSwgY29kZSwgLi4uYXJncykge1xuICAgICAgICBsZXQgdGVtcGxhdGUgPSBURU1QTEFURVNbY29kZV07XG5cbiAgICAgICAgdGVtcGxhdGUgPSBBUElFcnJvci5fcHJlcGFyZVRlbXBsYXRlQW5kQXJnc0lmTmVjZXNzYXJ5KHRlbXBsYXRlLCBhcmdzKTtcblxuICAgICAgICBjb25zdCByYXdNZXNzYWdlID0gcmVuZGVyVGVtcGxhdGUodGVtcGxhdGUsIC4uLmFyZ3MpO1xuXG4gICAgICAgIHN1cGVyKHJlbmRlclRlbXBsYXRlKFRFTVBMQVRFU1tSVU5USU1FX0VSUk9SUy5jYW5ub3RQcmVwYXJlVGVzdHNEdWVUb0Vycm9yXSwgcmF3TWVzc2FnZSkpO1xuXG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgeyBjb2RlLCBkYXRhOiBhcmdzIH0pO1xuXG4gICAgICAgIC8vIE5PVEU6IGByYXdNZXNzYWdlYCBpcyB1c2VkIGluIGVycm9yIHN1YnN0aXR1dGlvbiBpZiBpdCBvY2N1cnMgaW4gdGVzdCBydW4uXG4gICAgICAgIHRoaXMucmF3TWVzc2FnZSA9IHJhd01lc3NhZ2U7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBjYWxsc2l0ZSA9PT0gJ29iamVjdCcpXG4gICAgICAgICAgICB0aGlzLmNhbGxzaXRlID0gY2FsbHNpdGU7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRoaXMuY2FsbHNpdGUgICA9IGdldENhbGxzaXRlRm9yTWV0aG9kKGNhbGxzaXRlKTtcblxuICAgICAgICAvLyBOT1RFOiBXZSBuZWVkIHByb3BlcnR5IGdldHRlcnMgaGVyZSBiZWNhdXNlIGNhbGxzaXRlIGNhbiBiZSByZXBsYWNlZCBieSBhbiBleHRlcm5hbCBjb2RlLlxuICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL0RldkV4cHJlc3MvdGVzdGNhZmUvYmxvYi92MS4wLjAvc3JjL2NvbXBpbGVyL3Rlc3QtZmlsZS9mb3JtYXRzL3Jhdy5qcyNMMjJcbiAgICAgICAgLy8gQWxzbyB3ZSBjYW4ndCB1c2UgYW4gRVM2IGdldHRlciBmb3IgdGhlICdzdGFjaycgcHJvcGVydHksIGJlY2F1c2UgaXQgd2lsbCBjcmVhdGUgYSBnZXR0ZXIgb24gdGhlIGNsYXNzIHByb3RvdHlwZVxuICAgICAgICAvLyB0aGF0IGNhbm5vdCBvdmVycmlkZSB0aGUgaW5zdGFuY2UgcHJvcGVydHkgY3JlYXRlZCBieSB0aGUgRXJyb3IgcGFyZW50IGNsYXNzLlxuICAgICAgICBjb25zdCByZW5kZXJlcnMgPSBnZXRSZW5kZXJlcnModGhpcy5jYWxsc2l0ZSk7XG5cbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGhpcywge1xuICAgICAgICAgICAgJ3N0YWNrJzoge1xuICAgICAgICAgICAgICAgIGdldDogKCkgPT4gdGhpcy5fY3JlYXRlU3RhY2socmVuZGVyZXJzLm5vQ29sb3IpLFxuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgJ2NvbG9yZWRTdGFjayc6IHtcbiAgICAgICAgICAgICAgICBnZXQ6ICgpID0+IHRoaXMuX2NyZWF0ZVN0YWNrKHJlbmRlcmVycy5kZWZhdWx0KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9jcmVhdGVTdGFjayAocmVuZGVyZXIpIHtcbiAgICAgICAgY29uc3QgcmVuZGVyZWRDYWxsc2l0ZSA9IHJlbmRlckNhbGxzaXRlU3luYyh0aGlzLmNhbGxzaXRlLCB7XG4gICAgICAgICAgICByZW5kZXJlcjogICAgcmVuZGVyZXIsXG4gICAgICAgICAgICBzdGFja0ZpbHRlcjogY3JlYXRlU3RhY2tGaWx0ZXIoRXJyb3Iuc3RhY2tUcmFjZUxpbWl0KSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFyZW5kZXJlZENhbGxzaXRlKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlICsgRVJST1JfU0VQQVJBVE9SICsgcmVuZGVyZWRDYWxsc2l0ZTtcbiAgICB9XG5cbiAgICBzdGF0aWMgX3ByZXBhcmVUZW1wbGF0ZUFuZEFyZ3NJZk5lY2Vzc2FyeSAodGVtcGxhdGUsIGFyZ3MpIHtcbiAgICAgICAgY29uc3QgbGFzdEFyZyA9IGFyZ3MucG9wKCk7XG5cbiAgICAgICAgaWYgKGxhc3RBcmcgaW5zdGFuY2VvZiBQcm9jZXNzVGVtcGxhdGVJbnN0cnVjdGlvbilcbiAgICAgICAgICAgIHRlbXBsYXRlID0gbGFzdEFyZy5wcm9jZXNzRm4odGVtcGxhdGUpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICBhcmdzLnB1c2gobGFzdEFyZyk7XG5cbiAgICAgICAgcmV0dXJuIHRlbXBsYXRlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENsaWVudEZ1bmN0aW9uQVBJRXJyb3IgZXh0ZW5kcyBBUElFcnJvciB7XG4gICAgY29uc3RydWN0b3IgKG1ldGhvZE5hbWUsIGluc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWUsIGNvZGUsIC4uLmFyZ3MpIHtcbiAgICAgICAgYXJncy5wdXNoKG5ldyBQcm9jZXNzVGVtcGxhdGVJbnN0cnVjdGlvbih0ZW1wbGF0ZSA9PiB0ZW1wbGF0ZS5yZXBsYWNlKC9cXHsjaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZVxcfS9nLCBpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lKSkpO1xuXG4gICAgICAgIHN1cGVyKG1ldGhvZE5hbWUsIGNvZGUsIC4uLmFyZ3MpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvbXBvc2l0ZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yIChlcnJvcnMpIHtcbiAgICAgICAgc3VwZXIoZXJyb3JzLm1hcCgoeyBtZXNzYWdlIH0pID0+IG1lc3NhZ2UpLmpvaW4oRVJST1JfU0VQQVJBVE9SKSk7XG5cbiAgICAgICAgdGhpcy5zdGFjayA9IGVycm9ycy5tYXAoKHsgc3RhY2sgfSkgPT4gc3RhY2spLmpvaW4oRVJST1JfU0VQQVJBVE9SKTtcbiAgICAgICAgdGhpcy5jb2RlICA9IFJVTlRJTUVfRVJST1JTLmNvbXBvc2l0ZUFyZ3VtZW50c0Vycm9yO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFJlcG9ydGVyUGx1Z2luRXJyb3IgZXh0ZW5kcyBHZW5lcmFsRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yICh7IG5hbWUsIG1ldGhvZCwgb3JpZ2luYWxFcnJvciB9KSB7XG4gICAgICAgIGNvbnN0IGNvZGUgPSBSVU5USU1FX0VSUk9SUy51bmNhdWdodEVycm9ySW5SZXBvcnRlcjtcblxuICAgICAgICBzdXBlcihjb2RlLCBtZXRob2QsIG5hbWUsIG9yaWdpbmFsRXJyb3Iuc3RhY2spO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRpbWVvdXRFcnJvciBleHRlbmRzIEdlbmVyYWxFcnJvciB7XG4gICAgY29uc3RydWN0b3IgKCkge1xuICAgICAgICBzdXBlcihSVU5USU1FX0VSUk9SUy50aW1lTGltaXRlZFByb21pc2VUaW1lb3V0RXhwaXJlZCk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQnJvd3NlckNvbm5lY3Rpb25FcnJvciBleHRlbmRzIEdlbmVyYWxFcnJvciB7XG4gICAgY29uc3RydWN0b3IgKC4uLmFyZ3MpIHtcbiAgICAgICAgc3VwZXIoUlVOVElNRV9FUlJPUlMuYnJvd3NlckNvbm5lY3Rpb25FcnJvciwgLi4uYXJncyk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVxdWVzdFJ1bnRpbWVFcnJvciBleHRlbmRzIEFQSUVycm9yIHtcbiAgICBjb25zdHJ1Y3RvciAobWV0aG9kTmFtZSwgY29kZSwgLi4uYXJncykge1xuICAgICAgICBzdXBlcihtZXRob2ROYW1lLCBjb2RlLCAuLi5hcmdzKTtcbiAgICB9XG59XG4iXX0= | ||
class SkipJsErrorsArgumentApiError extends APIError { | ||
constructor(code, ...args) { | ||
super('skipJsErrors', code, ...args); | ||
} | ||
} | ||
exports.SkipJsErrorsArgumentApiError = SkipJsErrorsArgumentApiError; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXJyb3JzL3J1bnRpbWUvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNERBQW9DO0FBQ3BDLGlGQUF1RDtBQUN2RCxrREFBdUQ7QUFDdkQsa0ZBQXlEO0FBQ3pELDRGQUFrRTtBQUNsRSxvQ0FBMEM7QUFDMUMsNEVBQW9EO0FBQ3BELGdEQUF3QjtBQUV4QixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUM7QUFFL0IsTUFBTSwwQkFBMEI7SUFDNUIsWUFBYSxTQUFTO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQy9CLENBQUM7Q0FDSjtBQUVELFNBQVM7QUFDVCxNQUFhLFlBQWEsU0FBUSxLQUFLO0lBQ25DLFlBQWEsR0FBRyxJQUFJO1FBQ2hCLE1BQU0sSUFBSSxHQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixNQUFNLFFBQVEsR0FBRyxtQkFBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWpDLEtBQUssQ0FBQyxJQUFBLHlCQUFjLEVBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV6QyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMxQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFFLEdBQUc7UUFDdEIsT0FBTyxHQUFHLFlBQVksWUFBWSxDQUFDO0lBQ3ZDLENBQUM7Q0FDSjtBQWRELG9DQWNDO0FBRUQsTUFBYSxvQkFBcUIsU0FBUSxLQUFLO0lBQzNDLFlBQWEsYUFBYTtRQUN0QixNQUFNLFFBQVEsR0FBTyxtQkFBUyxDQUFDLHNCQUFjLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUM1RSxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFOUMsS0FBSyxDQUFDLElBQUEseUJBQWMsRUFBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUU5QyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtZQUNoQixJQUFJLEVBQUUsc0JBQWMsQ0FBQyw0QkFBNEI7WUFDakQsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDO1NBQ3ZCLENBQUMsQ0FBQztRQUVILHdDQUF3QztRQUN4QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUEseUJBQWMsRUFBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDSjtBQWZELG9EQWVDO0FBRUQsTUFBYSxRQUFTLFNBQVEsS0FBSztJQUMvQixZQUFhLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJO1FBQ2hDLElBQUksUUFBUSxHQUFHLG1CQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0IsUUFBUSxHQUFHLFFBQVEsQ0FBQyxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFdkUsTUFBTSxVQUFVLEdBQUcsSUFBQSx5QkFBYyxFQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBRXJELEtBQUssQ0FBQyxJQUFBLHlCQUFjLEVBQUMsbUJBQVMsQ0FBQyxzQkFBYyxDQUFDLDRCQUE0QixDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUUxRixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUUxQyw2RUFBNkU7UUFDN0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFFN0IsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRO1lBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDOztZQUV6QixJQUFJLENBQUMsUUFBUSxHQUFLLElBQUEsbUNBQW9CLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFFckQsNEZBQTRGO1FBQzVGLG1HQUFtRztRQUNuRyxtSEFBbUg7UUFDbkgsZ0ZBQWdGO1FBQ2hGLE1BQU0sU0FBUyxHQUFHLElBQUEsc0JBQVksRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRTtZQUMxQixPQUFPLEVBQUU7Z0JBQ0wsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQzthQUNsRDtZQUVELGNBQWMsRUFBRTtnQkFDWixHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO2FBQ2xEO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFlBQVksQ0FBRSxRQUFRO1FBQ2xCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSw4QkFBa0IsRUFBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3ZELFFBQVEsRUFBSyxRQUFRO1lBQ3JCLFdBQVcsRUFBRSxJQUFBLDZCQUFpQixFQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7U0FDeEQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQjtZQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFeEIsT0FBTyxJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQztJQUM3RCxDQUFDO0lBRUQsTUFBTSxDQUFDLGtDQUFrQyxDQUFFLFFBQVEsRUFBRSxJQUFJO1FBQ3JELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUUzQixJQUFJLE9BQU8sWUFBWSwwQkFBMEI7WUFDN0MsUUFBUSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7O1lBRXZDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdkIsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKO0FBM0RELDRCQTJEQztBQUVELE1BQWEsc0JBQXVCLFNBQVEsUUFBUTtJQUNoRCxZQUFhLFVBQVUsRUFBRSx5QkFBeUIsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJO1FBQzdELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSwwQkFBMEIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsaUNBQWlDLEVBQUUseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdEksS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0o7QUFORCx3REFNQztBQUVELE1BQWEsY0FBZSxTQUFRLEtBQUs7SUFDckMsWUFBYSxNQUFNO1FBQ2YsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUVsRSxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLElBQUksR0FBSSxzQkFBYyxDQUFDLHVCQUF1QixDQUFDO0lBQ3hELENBQUM7Q0FDSjtBQVBELHdDQU9DO0FBRUQsTUFBYSxtQkFBb0IsU0FBUSxZQUFZO0lBQ2pELFlBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRTtRQUN4QyxNQUFNLElBQUksR0FBWSxzQkFBYyxDQUFDLHVCQUF1QixDQUFDO1FBQzdELE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV2RSxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUUsR0FBRztRQUNyQixJQUFJLENBQUMsQ0FBQSxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsS0FBSyxDQUFBLEVBQUU7WUFDYixNQUFNLGVBQWUsR0FBRyxjQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTFDLE9BQU8scUZBQXFGLGVBQWUsRUFBRSxDQUFDO1NBQ2pIO1FBRUQsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDO0lBQ3JCLENBQUM7Q0FFSjtBQWxCRCxrREFrQkM7QUFFRCxNQUFhLFlBQWEsU0FBUSxZQUFZO0lBQzFDO1FBQ0ksS0FBSyxDQUFDLHNCQUFjLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0NBQ0o7QUFKRCxvQ0FJQztBQUVELE1BQWEsc0JBQXVCLFNBQVEsWUFBWTtJQUNwRCxZQUFhLEdBQUcsSUFBSTtRQUNoQixLQUFLLENBQUMsc0JBQWMsQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7Q0FDSjtBQUpELHdEQUlDO0FBRUQsTUFBYSxtQkFBb0IsU0FBUSxRQUFRO0lBQzdDLFlBQWEsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUk7UUFDbEMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0o7QUFKRCxrREFJQztBQUVELE1BQWEsNEJBQTZCLFNBQVEsUUFBUTtJQUN0RCxZQUFhLElBQUksRUFBRSxHQUFHLElBQUk7UUFDdEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0NBQ0o7QUFKRCxvRUFJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBURU1QTEFURVMgZnJvbSAnLi90ZW1wbGF0ZXMnO1xuaW1wb3J0IGNyZWF0ZVN0YWNrRmlsdGVyIGZyb20gJy4uL2NyZWF0ZS1zdGFjay1maWx0ZXInO1xuaW1wb3J0IHsgZ2V0Q2FsbHNpdGVGb3JNZXRob2QgfSBmcm9tICcuLi9nZXQtY2FsbHNpdGUnO1xuaW1wb3J0IHJlbmRlclRlbXBsYXRlIGZyb20gJy4uLy4uL3V0aWxzL3JlbmRlci10ZW1wbGF0ZSc7XG5pbXBvcnQgcmVuZGVyQ2FsbHNpdGVTeW5jIGZyb20gJy4uLy4uL3V0aWxzL3JlbmRlci1jYWxsc2l0ZS1zeW5jJztcbmltcG9ydCB7IFJVTlRJTUVfRVJST1JTIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IGdldFJlbmRlcmVycyBmcm9tICcuLi8uLi91dGlscy9nZXQtcmVuZGVyZXMnO1xuaW1wb3J0IHV0aWwgZnJvbSAndXRpbCc7XG5cbmNvbnN0IEVSUk9SX1NFUEFSQVRPUiA9ICdcXG5cXG4nO1xuXG5jbGFzcyBQcm9jZXNzVGVtcGxhdGVJbnN0cnVjdGlvbiB7XG4gICAgY29uc3RydWN0b3IgKHByb2Nlc3NGbikge1xuICAgICAgICB0aGlzLnByb2Nlc3NGbiA9IHByb2Nlc3NGbjtcbiAgICB9XG59XG5cbi8vIEVycm9yc1xuZXhwb3J0IGNsYXNzIEdlbmVyYWxFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3RvciAoLi4uYXJncykge1xuICAgICAgICBjb25zdCBjb2RlICAgICA9IGFyZ3Muc2hpZnQoKTtcbiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSBURU1QTEFURVNbY29kZV07XG5cbiAgICAgICAgc3VwZXIocmVuZGVyVGVtcGxhdGUodGVtcGxhdGUsIC4uLmFyZ3MpKTtcblxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIHsgY29kZSwgZGF0YTogYXJncyB9KTtcbiAgICAgICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgR2VuZXJhbEVycm9yKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgaXNHZW5lcmFsRXJyb3IgKGFyZykge1xuICAgICAgICByZXR1cm4gYXJnIGluc3RhbmNlb2YgR2VuZXJhbEVycm9yO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRlc3RDb21waWxhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yIChvcmlnaW5hbEVycm9yKSB7XG4gICAgICAgIGNvbnN0IHRlbXBsYXRlICAgICA9IFRFTVBMQVRFU1tSVU5USU1FX0VSUk9SUy5jYW5ub3RQcmVwYXJlVGVzdHNEdWVUb0Vycm9yXTtcbiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gb3JpZ2luYWxFcnJvci50b1N0cmluZygpO1xuXG4gICAgICAgIHN1cGVyKHJlbmRlclRlbXBsYXRlKHRlbXBsYXRlLCBlcnJvck1lc3NhZ2UpKTtcblxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIHtcbiAgICAgICAgICAgIGNvZGU6IFJVTlRJTUVfRVJST1JTLmNhbm5vdFByZXBhcmVUZXN0c0R1ZVRvRXJyb3IsXG4gICAgICAgICAgICBkYXRhOiBbZXJyb3JNZXNzYWdlXSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gTk9URTogc3RhY2sgaW5jbHVkZXMgbWVzc2FnZSBhcyB3ZWxsLlxuICAgICAgICB0aGlzLnN0YWNrID0gcmVuZGVyVGVtcGxhdGUodGVtcGxhdGUsIG9yaWdpbmFsRXJyb3Iuc3RhY2spO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFQSUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yIChjYWxsc2l0ZSwgY29kZSwgLi4uYXJncykge1xuICAgICAgICBsZXQgdGVtcGxhdGUgPSBURU1QTEFURVNbY29kZV07XG5cbiAgICAgICAgdGVtcGxhdGUgPSBBUElFcnJvci5fcHJlcGFyZVRlbXBsYXRlQW5kQXJnc0lmTmVjZXNzYXJ5KHRlbXBsYXRlLCBhcmdzKTtcblxuICAgICAgICBjb25zdCByYXdNZXNzYWdlID0gcmVuZGVyVGVtcGxhdGUodGVtcGxhdGUsIC4uLmFyZ3MpO1xuXG4gICAgICAgIHN1cGVyKHJlbmRlclRlbXBsYXRlKFRFTVBMQVRFU1tSVU5USU1FX0VSUk9SUy5jYW5ub3RQcmVwYXJlVGVzdHNEdWVUb0Vycm9yXSwgcmF3TWVzc2FnZSkpO1xuXG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgeyBjb2RlLCBkYXRhOiBhcmdzIH0pO1xuXG4gICAgICAgIC8vIE5PVEU6IGByYXdNZXNzYWdlYCBpcyB1c2VkIGluIGVycm9yIHN1YnN0aXR1dGlvbiBpZiBpdCBvY2N1cnMgaW4gdGVzdCBydW4uXG4gICAgICAgIHRoaXMucmF3TWVzc2FnZSA9IHJhd01lc3NhZ2U7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBjYWxsc2l0ZSA9PT0gJ29iamVjdCcpXG4gICAgICAgICAgICB0aGlzLmNhbGxzaXRlID0gY2FsbHNpdGU7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRoaXMuY2FsbHNpdGUgICA9IGdldENhbGxzaXRlRm9yTWV0aG9kKGNhbGxzaXRlKTtcblxuICAgICAgICAvLyBOT1RFOiBXZSBuZWVkIHByb3BlcnR5IGdldHRlcnMgaGVyZSBiZWNhdXNlIGNhbGxzaXRlIGNhbiBiZSByZXBsYWNlZCBieSBhbiBleHRlcm5hbCBjb2RlLlxuICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL0RldkV4cHJlc3MvdGVzdGNhZmUvYmxvYi92MS4wLjAvc3JjL2NvbXBpbGVyL3Rlc3QtZmlsZS9mb3JtYXRzL3Jhdy5qcyNMMjJcbiAgICAgICAgLy8gQWxzbyB3ZSBjYW4ndCB1c2UgYW4gRVM2IGdldHRlciBmb3IgdGhlICdzdGFjaycgcHJvcGVydHksIGJlY2F1c2UgaXQgd2lsbCBjcmVhdGUgYSBnZXR0ZXIgb24gdGhlIGNsYXNzIHByb3RvdHlwZVxuICAgICAgICAvLyB0aGF0IGNhbm5vdCBvdmVycmlkZSB0aGUgaW5zdGFuY2UgcHJvcGVydHkgY3JlYXRlZCBieSB0aGUgRXJyb3IgcGFyZW50IGNsYXNzLlxuICAgICAgICBjb25zdCByZW5kZXJlcnMgPSBnZXRSZW5kZXJlcnModGhpcy5jYWxsc2l0ZSk7XG5cbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGhpcywge1xuICAgICAgICAgICAgJ3N0YWNrJzoge1xuICAgICAgICAgICAgICAgIGdldDogKCkgPT4gdGhpcy5fY3JlYXRlU3RhY2socmVuZGVyZXJzLm5vQ29sb3IpLFxuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgJ2NvbG9yZWRTdGFjayc6IHtcbiAgICAgICAgICAgICAgICBnZXQ6ICgpID0+IHRoaXMuX2NyZWF0ZVN0YWNrKHJlbmRlcmVycy5kZWZhdWx0KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9jcmVhdGVTdGFjayAocmVuZGVyZXIpIHtcbiAgICAgICAgY29uc3QgcmVuZGVyZWRDYWxsc2l0ZSA9IHJlbmRlckNhbGxzaXRlU3luYyh0aGlzLmNhbGxzaXRlLCB7XG4gICAgICAgICAgICByZW5kZXJlcjogICAgcmVuZGVyZXIsXG4gICAgICAgICAgICBzdGFja0ZpbHRlcjogY3JlYXRlU3RhY2tGaWx0ZXIoRXJyb3Iuc3RhY2tUcmFjZUxpbWl0KSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFyZW5kZXJlZENhbGxzaXRlKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlICsgRVJST1JfU0VQQVJBVE9SICsgcmVuZGVyZWRDYWxsc2l0ZTtcbiAgICB9XG5cbiAgICBzdGF0aWMgX3ByZXBhcmVUZW1wbGF0ZUFuZEFyZ3NJZk5lY2Vzc2FyeSAodGVtcGxhdGUsIGFyZ3MpIHtcbiAgICAgICAgY29uc3QgbGFzdEFyZyA9IGFyZ3MucG9wKCk7XG5cbiAgICAgICAgaWYgKGxhc3RBcmcgaW5zdGFuY2VvZiBQcm9jZXNzVGVtcGxhdGVJbnN0cnVjdGlvbilcbiAgICAgICAgICAgIHRlbXBsYXRlID0gbGFzdEFyZy5wcm9jZXNzRm4odGVtcGxhdGUpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICBhcmdzLnB1c2gobGFzdEFyZyk7XG5cbiAgICAgICAgcmV0dXJuIHRlbXBsYXRlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENsaWVudEZ1bmN0aW9uQVBJRXJyb3IgZXh0ZW5kcyBBUElFcnJvciB7XG4gICAgY29uc3RydWN0b3IgKG1ldGhvZE5hbWUsIGluc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWUsIGNvZGUsIC4uLmFyZ3MpIHtcbiAgICAgICAgYXJncy5wdXNoKG5ldyBQcm9jZXNzVGVtcGxhdGVJbnN0cnVjdGlvbih0ZW1wbGF0ZSA9PiB0ZW1wbGF0ZS5yZXBsYWNlKC9cXHsjaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZVxcfS9nLCBpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lKSkpO1xuXG4gICAgICAgIHN1cGVyKG1ldGhvZE5hbWUsIGNvZGUsIC4uLmFyZ3MpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvbXBvc2l0ZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yIChlcnJvcnMpIHtcbiAgICAgICAgc3VwZXIoZXJyb3JzLm1hcCgoeyBtZXNzYWdlIH0pID0+IG1lc3NhZ2UpLmpvaW4oRVJST1JfU0VQQVJBVE9SKSk7XG5cbiAgICAgICAgdGhpcy5zdGFjayA9IGVycm9ycy5tYXAoKHsgc3RhY2sgfSkgPT4gc3RhY2spLmpvaW4oRVJST1JfU0VQQVJBVE9SKTtcbiAgICAgICAgdGhpcy5jb2RlICA9IFJVTlRJTUVfRVJST1JTLmNvbXBvc2l0ZUFyZ3VtZW50c0Vycm9yO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFJlcG9ydGVyUGx1Z2luRXJyb3IgZXh0ZW5kcyBHZW5lcmFsRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yICh7IG5hbWUsIG1ldGhvZCwgb3JpZ2luYWxFcnJvciB9KSB7XG4gICAgICAgIGNvbnN0IGNvZGUgICAgICAgICAgPSBSVU5USU1FX0VSUk9SUy51bmNhdWdodEVycm9ySW5SZXBvcnRlcjtcbiAgICAgICAgY29uc3QgcHJlcGFyZWRTdGFjayA9IFJlcG9ydGVyUGx1Z2luRXJyb3IuX3ByZXBhcmVTdGFjayhvcmlnaW5hbEVycm9yKTtcblxuICAgICAgICBzdXBlcihjb2RlLCBtZXRob2QsIG5hbWUsIHByZXBhcmVkU3RhY2spO1xuICAgIH1cblxuICAgIHN0YXRpYyBfcHJlcGFyZVN0YWNrIChlcnIpIHtcbiAgICAgICAgaWYgKCFlcnI/LnN0YWNrKSB7XG4gICAgICAgICAgICBjb25zdCBpbnNwZWN0ZWRPYmplY3QgPSB1dGlsLmluc3BlY3QoZXJyKTtcblxuICAgICAgICAgICAgcmV0dXJuIGBObyBzdGFjayB0cmFjZSBpcyBhdmFpbGFibGUgZm9yIGEgcmFpc2VkIGVycm9yLlxcblJhaXNlZCBlcnJvciBvYmplY3QgaW5zcGVjdGlvbjpcXG4ke2luc3BlY3RlZE9iamVjdH1gO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGVyci5zdGFjaztcbiAgICB9XG5cbn1cblxuZXhwb3J0IGNsYXNzIFRpbWVvdXRFcnJvciBleHRlbmRzIEdlbmVyYWxFcnJvciB7XG4gICAgY29uc3RydWN0b3IgKCkge1xuICAgICAgICBzdXBlcihSVU5USU1FX0VSUk9SUy50aW1lTGltaXRlZFByb21pc2VUaW1lb3V0RXhwaXJlZCk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQnJvd3NlckNvbm5lY3Rpb25FcnJvciBleHRlbmRzIEdlbmVyYWxFcnJvciB7XG4gICAgY29uc3RydWN0b3IgKC4uLmFyZ3MpIHtcbiAgICAgICAgc3VwZXIoUlVOVElNRV9FUlJPUlMuYnJvd3NlckNvbm5lY3Rpb25FcnJvciwgLi4uYXJncyk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVxdWVzdFJ1bnRpbWVFcnJvciBleHRlbmRzIEFQSUVycm9yIHtcbiAgICBjb25zdHJ1Y3RvciAobWV0aG9kTmFtZSwgY29kZSwgLi4uYXJncykge1xuICAgICAgICBzdXBlcihtZXRob2ROYW1lLCBjb2RlLCAuLi5hcmdzKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTa2lwSnNFcnJvcnNBcmd1bWVudEFwaUVycm9yIGV4dGVuZHMgQVBJRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yIChjb2RlLCAuLi5hcmdzKSB7XG4gICAgICAgIHN1cGVyKCdza2lwSnNFcnJvcnMnLCBjb2RlLCAuLi5hcmdzKTtcbiAgICB9XG59XG4iXX0= |
@@ -13,3 +13,3 @@ "use strict"; | ||
const string_1 = require("../../utils/string"); | ||
const skip_js_errors_option_names_1 = __importDefault(require("../../configuration/skip-js-errors-option-names")); | ||
const skip_js_errors_option_names_1 = require("../../configuration/skip-js-errors-option-names"); | ||
const DOCUMENTATION_LINKS = { | ||
@@ -126,5 +126,6 @@ TEST_SOURCE_PARAMETER: 'https://testcafe.io/documentation/402639/reference/command-line-interface#file-pathglob-pattern', | ||
[types_1.RUNTIME_ERRORS.requestRuntimeError]: 'The request was interrupted by an error:\n{message}', | ||
[types_1.RUNTIME_ERRORS.invalidSkipJsErrorsOption]: `The "{optionName}" option does not exist. Use the following options to configure skipJsErrors: ${(0, string_1.getConcatenatedValuesString)(Object.keys(skip_js_errors_option_names_1.default))}`, | ||
[types_1.RUNTIME_ERRORS.invalidSkipJsErrorsOptionsObjectProperty]: `The "{optionName}" option does not exist. Use the following options to configure skipJsErrors: ${(0, string_1.getConcatenatedValuesString)(Object.keys(skip_js_errors_option_names_1.SKIP_JS_ERRORS_OPTIONS_OBJECT_OPTION_NAMES))}.`, | ||
[types_1.RUNTIME_ERRORS.invalidSkipJsErrorsCallbackWithOptionsProperty]: `The "{optionName}" option does not exist. Use the following options to configure skipJsErrors callback: ${(0, string_1.getConcatenatedValuesString)(Object.keys(skip_js_errors_option_names_1.SKIP_JS_ERRORS_CALLBACK_WITH_OPTIONS_OPTION_NAMES))}.`, | ||
}; | ||
module.exports = exports.default; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vycm9ycy9ydW50aW1lL3RlbXBsYXRlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsZ0VBQWdFO0FBQ2hFLGdFQUFnRTtBQUNoRSwrQ0FBK0M7QUFDL0MsZ0VBQWdFOzs7OztBQUVoRSxvQ0FBMEM7QUFDMUMsdUZBQThFO0FBQzlFLCtDQUFpRTtBQUNqRSxrSEFBMEY7QUFFMUYsTUFBTSxtQkFBbUIsR0FBRztJQUN4QixxQkFBcUIsRUFBRSxpR0FBaUc7SUFDeEgsZUFBZSxFQUFRLDhFQUE4RTtJQUNyRyxhQUFhLEVBQVUseUZBQXlGO0NBQ25ILENBQUM7QUFFRixrQkFBZTtJQUNYLENBQUMsc0JBQWMsQ0FBQyxtQ0FBbUMsQ0FBQyxFQUFHLHlFQUF5RTtJQUNoSSxDQUFDLHNCQUFjLENBQUMsb0NBQW9DLENBQUMsRUFBRSx1RkFBdUY7SUFDOUksQ0FBQyxzQkFBYyxDQUFDLG1CQUFtQixDQUFDLEVBQW1CLHlJQUF5STtJQUNoTSxDQUFDLHNCQUFjLENBQUMsb0NBQW9DLENBQUMsRUFBRSw4RUFBOEU7SUFDckksQ0FBQyxzQkFBYyxDQUFDLG1DQUFtQyxDQUFDLEVBQUcsaURBQWlEO0lBQ3hHLENBQUMsc0JBQWMsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFNLG1EQUFtRDtJQUMxRyxDQUFDLHNCQUFjLENBQUMsaUJBQWlCLENBQUMsRUFBcUIsMEdBQTBHO0lBQ2pLLENBQUMsc0JBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFlLG9EQUFvRDtJQUMzRyxDQUFDLHNCQUFjLENBQUMsYUFBYSxDQUFDLEVBQXlCLG1DQUFtQztJQUMxRixDQUFDLHNCQUFjLENBQUMsaUJBQWlCLENBQUMsRUFBcUIsaUVBQWlFO1FBQ2pFLGdDQUFnQztRQUNoQyxrQkFBa0I7UUFDbEIsa0RBQWtEO1FBQ2xELDhEQUE4RCxtQkFBbUIsQ0FBQyxxQkFBcUIsR0FBRztJQUVqSyxDQUFD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QUFhLEVBQUU7SUFFcEUsQ0FBQyxzQkFBYyxDQUFDLHVCQUF1QixDQUFDLEVBQVksd0hBQXdIO0lBQzVLLENBQUMsc0JBQWMsQ0FBQyw4QkFBOEIsQ0FBQyxFQUFLLDJGQUEyRjtJQUMvSSxDQUFDLHNCQUFjLENBQUMsOEJBQThCLENBQUMsRUFBSyw2REFBNkQ7SUFDakgsQ0FBQyxzQkFBYyxDQUFDLGlDQUFpQyxDQUFDLEVBQUUsb0ZBQW9GO0lBRXhJLENBQUMsc0JBQWMsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUM3QywwRkFBMEY7UUFDMUYsZ0VBQWdFO1FBQ2hFLDhCQUE4QjtJQUVsQyxDQUFDLHNCQUFjLENBQUMsc0JBQXNCLENBQUMsRUFBZ0IsaUxBQWlMO0lBQ3hPLENBQUMscUJBQTBCLENBQUMsd0JBQXdCLENBQUMsRUFBRSxnSEFBZ0g7UUFDaEgsa0dBQWtHO0lBQ3pKLENBQUMscUJBQTBCLENBQUMsb0JBQW9CLENBQUMsRUFBSyx1TEFBdUw7SUFDN08sQ0FBQyxxQkFBMEIsQ0FBQyxlQUFlLENBQUMsRUFBVSxnS0FBZ0s7SUFDdE4sQ0FBQyxzQkFBYyxDQUFDLG1DQUFtQyxDQUFDLEVBQUUsb0hBQW9IO0lBQzFLLENBQUMsc0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFpQiwwUUFBMFE7SUFDaFUsQ0FBQyxzQkFBYyxDQUFDLGVBQWUsQ0FBQyxFQUFzQixtRUFBbUU7SUFDekgsQ0FBQyxzQkFBYyxDQUFDLDJCQUEyQixDQUFDLEVBQVUsNkNBQTZDO0lBQ25HLENBQUMsc0JBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFrQixxREFBcUQ7SUFDM0csQ0FBQyxzQkFBYyxDQUFDLHlCQUF5QixDQUFDLEVBQVksa0dBQWtHLElBQUEsb0NBQTJCLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxxQ0FBMkIsQ0FBQyxDQUFDLEVBQUU7Q0FDbE8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFdBUk5JTkc6IHRoaXMgZmlsZSBpcyB1c2VkIGJ5IGJvdGggdGhlIGNsaWVudCBhbmQgdGhlIHNlcnZlci5cbi8vIERvIG5vdCB1c2UgYW55IGJyb3dzZXIgb3Igbm9kZS1zcGVjaWZpYyBBUEkhXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmltcG9ydCB7IFJVTlRJTUVfRVJST1JTIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IEJyb3dzZXJDb25uZWN0aW9uRXJyb3JIaW50IGZyb20gJy4uLy4uL2Jyb3dzZXIvY29ubmVjdGlvbi9lcnJvci1oaW50cyc7XG5pbXBvcnQgeyBnZXRDb25jYXRlbmF0ZWRWYWx1ZXNTdHJpbmcgfSBmcm9tICcuLi8uLi91dGlscy9zdHJpbmcnO1xuaW1wb3J0IFNLSVBfSlNfRVJST1JTX09QVElPTl9OQU1FUyBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9uL3NraXAtanMtZXJyb3JzLW9wdGlvbi1uYW1lcyc7XG5cbmNvbnN0IERPQ1VNRU5UQVRJT05fTElOS1MgPSB7XG4gICAgVEVTVF9TT1VSQ0VfUEFSQU1FVEVSOiAnaHR0cHM6Ly90ZXN0Y2FmZS5pby9kb2N1bWVudGF0aW9uLzQwMjYzOS9yZWZlcmVuY2UvY29tbWFuZC1saW5lLWludGVyZmFjZSNmaWxlLXBhdGhnbG9iLXBhdHRlcm4nLFxuICAgIEZJTFRFUl9TRVRUSU5HUzogICAgICAgJ2h0dHBzOi8vdGVzdGNhZmUuaW8vZG9jdW1lbnRhdGlvbi80MDI2MzgvcmVmZXJlbmNlL2NvbmZpZ3VyYXRpb24tZmlsZSNmaWx0ZXInLFxuICAgIEhFQURMRVNTX01PREU6ICAgICAgICAgJ2h0dHBzOi8vdGVzdGNhZmUuaW8vZG9jdW1lbnRhdGlvbi80MDI4MjgvZ3VpZGVzL2NvbmNlcHRzL2Jyb3dzZXJzI3Rlc3QtaW4taGVhZGxlc3MtbW9kZScsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdENyZWF0ZU11bHRpcGxlTGl2ZU1vZGVSdW5uZXJzXTogICdDYW5ub3QgbGF1bmNoIG11bHRpcGxlIGxpdmUgbW9kZSBpbnN0YW5jZXMgb2YgdGhlIFRlc3RDYWZlIHRlc3QgcnVubmVyLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdFJ1bkxpdmVNb2RlUnVubmVyTXVsdGlwbGVUaW1lc106ICdDYW5ub3QgbGF1bmNoIHRoZSBzYW1lIGxpdmUgbW9kZSBpbnN0YW5jZSBvZiB0aGUgVGVzdENhZmUgdGVzdCBydW5uZXIgbXVsdGlwbGUgdGltZXMuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuYnJvd3NlckRpc2Nvbm5lY3RlZF06ICAgICAgICAgICAgICAgICAgJ1RoZSB7dXNlckFnZW50fSBicm93c2VyIGRpc2Nvbm5lY3RlZC4gSWYgeW91IGRpZCBub3QgY2xvc2UgdGhlIGJyb3dzZXIgeW91cnNlbGYsIGJyb3dzZXIgcGVyZm9ybWFuY2Ugb3IgbmV0d29yayBpc3N1ZXMgbWF5IGJlIGF0IGZhdWx0LicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdFJ1bkFnYWluc3REaXNjb25uZWN0ZWRCcm93c2Vyc106ICdUaGUgZm9sbG93aW5nIGJyb3dzZXJzIGRpc2Nvbm5lY3RlZDoge3VzZXJBZ2VudHN9LiBDYW5ub3QgcnVuIGZ1cnRoZXIgdGVzdHMuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMudGVzdFJ1blJlcXVlc3RJbkRpc2Nvbm5lY3RlZEJyb3dzZXJdOiAgJ1wie2Jyb3dzZXJ9XCIgZGlzY29ubmVjdGVkIGR1cmluZyB0ZXN0IGV4ZWN1dGlvbi4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RFc3RhYmxpc2hCcm93c2VyQ29ubmVjdGlvbl06ICAgICAnQ2Fubm90IGVzdGFibGlzaCBvbmUgb3IgbW9yZSBicm93c2VyIGNvbm5lY3Rpb25zLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdEZpbmRCcm93c2VyXTogICAgICAgICAgICAgICAgICAgICdDYW5ub3QgZmluZCB0aGUgYnJvd3Nlci4gXCJ7YnJvd3Nlcn1cIiBpcyBuZWl0aGVyIGEga25vd24gYnJvd3NlciBhbGlhcywgbm9yIGEgcGF0aCB0byBhbiBleGVjdXRhYmxlIGZpbGUuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuYnJvd3NlclByb3ZpZGVyTm90Rm91bmRdOiAgICAgICAgICAgICAgJ0Nhbm5vdCBmaW5kIHRoZSBcIntwcm92aWRlck5hbWV9XCIgYnJvd3NlciBwcm92aWRlci4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5icm93c2VyTm90U2V0XTogICAgICAgICAgICAgICAgICAgICAgICAnWW91IGhhdmUgbm90IHNwZWNpZmllZCBhIGJyb3dzZXIuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMudGVzdEZpbGVzTm90Rm91bmRdOiAgICAgICAgICAgICAgICAgICAgJ0NvdWxkIG5vdCBmaW5kIHRlc3QgZmlsZXMgYXQgdGhlIGZvbGxvd2luZyBsb2NhdGlvbjogXCJ7Y3dkfVwiLlxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2hlY2sgcGF0dGVybnMgZm9yIGVycm9yczpcXG5cXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3tzb3VyY2VMaXN0fVxcblxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3IgbGF1bmNoIFRlc3RDYWZlIGZyb20gYSBkaWZmZXJlbnQgZGlyZWN0b3J5LlxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gaG93IHRvIHNwZWNpZnkgdGVzdCBsb2NhdGlvbnMsIHNlZSAke0RPQ1VNRU5UQVRJT05fTElOS1MuVEVTVF9TT1VSQ0VfUEFSQU1FVEVSfS5gLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLm5vVGVzdHNUb1J1bl06IFwiU291cmNlIGZpbGVzIGRvIG5vdCBjb250YWluIHZhbGlkICdmaXh0dXJlJyBhbmQgJ3Rlc3QnIGRlY2xhcmF0aW9ucy5cIixcblxuICAgIFtSVU5USU1FX0VSUk9SUy5ub1Rlc3RzVG9SdW5EdWVGaWx0ZXJpbmddOiAnTm8gdGVzdHMgbWF0Y2ggeW91ciBmaWx0ZXIuXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBTZWUgJHtET0NVTUVOVEFUSU9OX0xJTktTLkZJTFRFUl9TRVRUSU5HU30uYCxcblxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RGaW5kUmVwb3J0ZXJGb3JBbGlhc106ICAgICAgICAgICAgICAgICAgICAgICAgICdUaGUgXCJ7bmFtZX1cIiByZXBvcnRlciBkb2VzIG5vdCBleGlzdC4gQ2hlY2sgdGhlIHJlcG9ydGVyIHBhcmFtZXRlciBmb3IgZXJyb3JzLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLm11bHRpcGxlU2FtZVN0cmVhbVJlcG9ydGVyc106ICAgICAgICAgICAgICAgICAgICAgICAgJ1JlcG9ydGVycyBjYW5ub3Qgc2hhcmUgb3V0cHV0IHN0cmVhbXMuIFRoZSBmb2xsb3dpbmcgcmVwb3J0ZXJzIGludGVyZmVyZSB3aXRoIG9uZSBhbm90aGVyOiBcIntyZXBvcnRlcnN9XCIuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMub3B0aW9uVmFsdWVJc05vdFZhbGlkUmVnRXhwXTogICAgICAgICAgICAgICAgICAgICAgICAnVGhlIFwie29wdGlvbk5hbWV9XCIgb3B0aW9uIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCByZWd1bGFyIGV4cHJlc3Npb24uJyxcbiAgICBbUlVOVElNRV9FUlJPUlMub3B0aW9uVmFsdWVJc05vdFZhbGlkS2V5VmFsdWVdOiAgICAgICAgICAgICAgICAgICAgICAnVGhlIFwie29wdGlvbk5hbWV9XCIgb3B0aW9uIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBrZXktdmFsdWUgcGFpci4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5pbnZhbGlkUXVhcmFudGluZU9wdGlvbl06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaGUgXCJ7b3B0aW9uTmFtZX1cIiBvcHRpb24gZG9lcyBub3QgZXhpc3QuIFNwZWNpZnkgXCJhdHRlbXB0TGltaXRcIiBhbmQgXCJzdWNjZXNzVGhyZXNob2xkXCIgdG8gY29uZmlndXJlIHF1YXJhbnRpbmUgbW9kZS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5pbnZhbGlkUXVhcmFudGluZVBhcmFtZXRlcnNSYXRpb106ICAgICAgICAgICAgICAgICAgICdUaGUgdmFsdWUgb2YgXCJhdHRlbXB0TGltaXRcIiAoe2F0dGVtcHRMaW1pdH0pIHNob3VsZCBiZSBncmVhdGVyIHRoZW4gdGhlIHZhbHVlIG9mIFwic3VjY2Vzc1RocmVzaG9sZFwiICh7c3VjY2Vzc1RocmVzaG9sZH0pLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRBdHRlbXB0TGltaXRWYWx1ZV06ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSBcInthdHRlbXB0TGltaXR9XCIgcGFyYW1ldGVyIG9ubHkgYWNjZXB0cyB2YWx1ZXMgb2Yge01JTl9BVFRFTVBUX0xJTUlUfSBhbmQgdXAuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZFN1Y2Nlc3NUaHJlc2hvbGRWYWx1ZV06ICAgICAgICAgICAgICAgICAgICAgICAnVGhlIFwie3N1Y2Nlc3NUaHJlc2hvbGR9XCIgcGFyYW1ldGVyIG9ubHkgYWNjZXB0cyB2YWx1ZXMgb2Yge01JTl9TVUNDRVNTX1RIUkVTSE9MRH0gYW5kIHVwLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRTcGVlZFZhbHVlXTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NwZWVkIHNob3VsZCBiZSBhIG51bWJlciBiZXR3ZWVuIDAuMDEgYW5kIDEuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZENvbmN1cnJlbmN5RmFjdG9yXTogICAgICAgICAgICAgICAgICAgICAgICAgICAnVGhlIGNvbmN1cnJlbmN5IGZhY3RvciBzaG91bGQgYmUgYW4gaW50ZWdlciBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3REaXZpZGVSZW1vdGVzQ291bnRCeUNvbmN1cnJlbmN5XTogICAgICAgICAgICAgICdUaGUgbnVtYmVyIG9mIHJlbW90ZSBicm93c2VycyBzaG91bGQgYmUgZGl2aXNpYmxlIGJ5IHRoZSBjb25jdXJyZW5jeSBmYWN0b3IuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90U2V0Q29uY3VycmVuY3lXaXRoQ0RQUG9ydF06ICAgICAgICAgICAgICAgICAgICAnVGhlIHZhbHVlIG9mIHRoZSBcImNvbmN1cnJlbmN5XCIgb3B0aW9uIGluY2x1ZGVzIHRoZSBDRFAgcG9ydC4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5wb3J0c09wdGlvblJlcXVpcmVzVHdvTnVtYmVyc106ICAgICAgICAgICAgICAgICAgICAgICdUaGUgXCItLXBvcnRzXCIgYXJndW1lbnQgYWNjZXB0cyB0d28gdmFsdWVzIGF0IGEgdGltZS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5wb3J0SXNOb3RGcmVlXTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQb3J0IHtwb3J0TnVtfSBpcyBvY2N1cGllZCBieSBhbm90aGVyIHByb2Nlc3MuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZEhvc3RuYW1lXTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2Fubm90IHJlc29sdmUgaG9zdG5hbWUgXCJ7aG9zdG5hbWV9XCIuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90RmluZFNwZWNpZmllZFRlc3RTb3VyY2VdOiAgICAgICAgICAgICAgICAgICAgICAnQ2Fubm90IGZpbmQgYSB0ZXN0IGZpbGUgYXQgXCJ7cGF0aH1cIi4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5jbGllbnRGdW5jdGlvbkNvZGVJc05vdEFGdW5jdGlvbl06ICAgICAgICAgICAgICAgICAgICdDYW5ub3QgaW5pdGlhbGl6ZSBhIENsaWVudEZ1bmN0aW9uIGJlY2F1c2UgeyNpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lfSBpcyB7dHlwZX0sIGFuZCBub3QgYSBmdW5jdGlvbi4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5zZWxlY3RvckluaXRpYWxpemVkV2l0aFdyb25nVHlwZV06ICAgICAgICAgICAgICAgICAgICdDYW5ub3QgaW5pdGlhbGl6ZSBhIFNlbGVjdG9yIGJlY2F1c2UgeyNpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lfSBpcyB7dHlwZX0sIGFuZCBub3Qgb25lIG9mIHRoZSBmb2xsb3dpbmc6IGEgQ1NTIHNlbGVjdG9yIHN0cmluZywgYSBTZWxlY3RvciBvYmplY3QsIGEgbm9kZSBzbmFwc2hvdCwgYSBmdW5jdGlvbiwgb3IgYSBQcm9taXNlIHJldHVybmVkIGJ5IGEgU2VsZWN0b3IuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2xpZW50RnVuY3Rpb25DYW5ub3RSZXNvbHZlVGVzdFJ1bl06ICAgICAgICAgICAgICAgICBcInsjaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZX0gY2Fubm90IGltcGxpY2l0bHkgcmVzb2x2ZSB0aGUgdGVzdCBydW4gaW4gY29udGV4dCBvZiB3aGljaCBpdCBzaG91bGQgYmUgZXhlY3V0ZWQuIElmIHlvdSBuZWVkIHRvIGNhbGwgeyNpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lfSBmcm9tIHRoZSBOb2RlLmpzIEFQSSBjYWxsYmFjaywgcGFzcyB0aGUgdGVzdCBjb250cm9sbGVyIG1hbnVhbGx5IHZpYSB7I2luc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWV9J3MgYC53aXRoKHsgYm91bmRUZXN0UnVuOiB0IH0pYCBtZXRob2QgZmlyc3QuIE5vdGUgdGhhdCB5b3UgY2Fubm90IGV4ZWN1dGUgeyNpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lfSBvdXRzaWRlIHRoZSB0ZXN0IGNvZGUuXCIsXG4gICAgW1JVTlRJTUVfRVJST1JTLnJlcXVlc3RDYW5ub3RSZXNvbHZlVGVzdFJ1bl06ICAgICAgICAgICAgICAgICAgICAgICAgXCIncmVxdWVzdCcgY2Fubm90IGltcGxpY2l0bHkgcmVzb2x2ZSB0aGUgdGVzdCBydW4gaW4gY29udGV4dCBvZiB3aGljaCBpdCBzaG91bGQgYmUgZXhlY3V0ZWQuIE5vdGUgdGhhdCB5b3UgY2Fubm90IGV4ZWN1dGUgJ3JlcXVlc3QnIGluIHRoZSBleHBlcmltZW50YWwgZGVidWcgbW9kZS5cIixcbiAgICBbUlVOVElNRV9FUlJPUlMucmVnZW5lcmF0b3JJbkNsaWVudEZ1bmN0aW9uQ29kZV06ICAgICAgICAgICAgICAgICAgICBgeyNpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lfSBjb2RlLCBhcmd1bWVudHMgb3IgZGVwZW5kZW5jaWVzIGNhbm5vdCBjb250YWluIGdlbmVyYXRvcnMgb3IgXCJhc3luYy9hd2FpdFwiIHN5bnRheCAodXNlIFByb21pc2VzIGluc3RlYWQpLmAsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRDbGllbnRGdW5jdGlvblRlc3RSdW5CaW5kaW5nXTogICAgICAgICAgICAgICAgJ0Nhbm5vdCByZXNvbHZlIHRoZSBcImJvdW5kVGVzdFJ1blwiIG9wdGlvbiBiZWNhdXNlIGl0cyB2YWx1ZSBpcyBub3QgYSB0ZXN0IGNvbnRyb2xsZXIuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZFZhbHVlVHlwZV06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAne3NtdGhnfSAoe2FjdHVhbH0pIGlzIG5vdCBvZiBleHBlY3RlZCB0eXBlICh7dHlwZX0pLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnVuc3VwcG9ydGVkVXJsUHJvdG9jb2xdOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ludmFsaWQge3doYXR9OiBcInt1cmx9XCIuIFRlc3RDYWZlIGNhbm5vdCBleGVjdXRlIHRoZSB0ZXN0IGJlY2F1c2UgdGhlIHt3aGF0fSBpbmNsdWRlcyB0aGUge3Byb3RvY29sfSBwcm90b2NvbC4gVGVzdENhZmUgc3VwcG9ydHMgdGhlIGZvbGxvd2luZyBwcm90b2NvbHM6IGh0dHA6Ly8sIGh0dHBzOi8vIGFuZCBmaWxlOi8vLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnRlc3RDb250cm9sbGVyUHJveHlDYW5ub3RSZXNvbHZlVGVzdFJ1bl06ICAgICAgICAgICAgYENhbm5vdCBpbXBsaWNpdGx5IHJlc29sdmUgdGhlIHRlc3QgcnVuIGluIHRoZSBjb250ZXh0IG9mIHdoaWNoIHRoZSB0ZXN0IGNvbnRyb2xsZXIgYWN0aW9uIHNob3VsZCBiZSBleGVjdXRlZC4gVXNlIHRlc3QgZnVuY3Rpb24ncyAndCcgYXJndW1lbnQgaW5zdGVhZC5gLFxuICAgIFtSVU5USU1FX0VSUk9SUy50aW1lTGltaXRlZFByb21pc2VUaW1lb3V0RXhwaXJlZF06ICAgICAgICAgICAgICAgICAgICdBIFByb21pc2UgdGltZWQgb3V0LicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdFNldFZpZGVvT3B0aW9uc1dpdGhvdXRCYXNlVmlkZW9QYXRoU3BlY2lmaWVkXTogJ1lvdSBjYW5ub3QgbWFuYWdlIGFkdmFuY2VkIHZpZGVvIHBhcmFtZXRlcnMgd2hlbiB0aGUgdmlkZW8gcmVjb3JkaW5nIGNhcGFiaWxpdHkgaXMgb2ZmLiBTcGVjaWZ5IHRoZSByb290IHN0b3JhZ2UgZm9sZGVyIGZvciB2aWRlbyBjb250ZW50IHRvIGVuYWJsZSB2aWRlbyByZWNvcmRpbmcuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMubXVsdGlwbGVBUElNZXRob2RDYWxsRm9yYmlkZGVuXTogICAgICAgICAgICAgICAgICAgICAnWW91IGNhbm5vdCBjYWxsIHRoZSBcInttZXRob2ROYW1lfVwiIG1ldGhvZCBtb3JlIHRoYW4gb25jZS4gU3BlY2lmeSBhbiBhcnJheSBvZiBwYXJhbWV0ZXJzIGluc3RlYWQuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZFJlcG9ydGVyT3V0cHV0XTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlNwZWNpZnkgYSBmaWxlIG5hbWUgb3IgYSB3cml0YWJsZSBzdHJlYW0gYXMgdGhlIHJlcG9ydGVyJ3Mgb3V0cHV0IHRhcmdldC5cIixcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90UmVhZFNTTENlcnRGaWxlXTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVW5hYmxlIHRvIHJlYWQgdGhlIGZpbGUgcmVmZXJlbmNlZCBieSB0aGUgXCJ7b3B0aW9ufVwiIHNzbCBvcHRpb24gKFwie3BhdGh9XCIpLiBFcnJvciBkZXRhaWxzOlxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAne2Vycn0nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdFByZXBhcmVUZXN0c0R1ZVRvRXJyb3JdOiAnQ2Fubm90IHByZXBhcmUgdGVzdHMgZHVlIHRvIHRoZSBmb2xsb3dpbmcgZXJyb3I6XFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAne2Vyck1lc3NhZ2V9JyxcblxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RQYXJzZVJhd0ZpbGVdOiAnQ2Fubm90IHBhcnNlIGEgcmF3IHRlc3QgZmlsZSBhdCBcIntwYXRofVwiIGR1ZSB0byB0aGUgZm9sbG93aW5nIGVycm9yOlxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7ZXJyTWVzc2FnZX0nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLnRlc3RlZEFwcEZhaWxlZFdpdGhFcnJvcl06ICdUaGUgd2ViIGFwcGxpY2F0aW9uIGZhaWxlZCB3aXRoIHRoZSBmb2xsb3dpbmcgZXJyb3I6XFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3tlcnJNZXNzYWdlfScsXG5cbiAgICBbUlVOVElNRV9FUlJPUlMudW5hYmxlVG9PcGVuQnJvd3Nlcl06ICdVbmFibGUgdG8gb3BlbiB0aGUgXCJ7YWxpYXN9XCIgYnJvd3NlciBkdWUgdG8gdGhlIGZvbGxvd2luZyBlcnJvcjpcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7ZXJyTWVzc2FnZX0nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLnJlcXVlc3RIb29rQ29uZmlndXJlQVBJRXJyb3JdOiAnQXR0ZW1wdCB0byBjb25maWd1cmUgYSByZXF1ZXN0IGhvb2sgcmVzdWx0ZWQgaW4gdGhlIGZvbGxvd2luZyBlcnJvcjpcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7cmVxdWVzdEhvb2tOYW1lfToge2Vyck1zZ30nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLmZvcmJpZGRlbkNoYXJhdGVyc0luU2NyZWVuc2hvdFBhdGhdOiAnVGhlcmUgYXJlIGZvcmJpZGRlbiBjaGFyYWN0ZXJzIGluIHRoZSBcIntzY3JlZW5zaG90UGF0aH1cIiB7c2NyZWVuc2hvdFBhdGhUeXBlfTpcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcge2ZvcmJpZGRlbkNoYXJzRGVzY3JpcHRpb259JyxcblxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RGaW5kRkZNUEVHXTogJ1Rlc3RDYWZlIGNhbm5vdCByZWNvcmQgdmlkZW9zIGJlY2F1c2UgaXQgY2Fubm90IGxvY2F0ZSB0aGUgRkZtcGVnIGV4ZWN1dGFibGUuIFRyeSBvbmUgb2YgdGhlIGZvbGxvd2luZyBzb2x1dGlvbnM6XFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKiBhZGQgdGhlIHBhdGggb2YgdGhlIEZGbXBlZyBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IHRvIHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlLFxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyogc3BlY2lmeSB0aGUgcGF0aCBvZiB0aGUgRkZtcGVnIGV4ZWN1dGFibGUgaW4gdGhlIEZGTVBFR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIG9yIHRoZSBmZm1wZWdQYXRoIG9wdGlvbixcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcqIGluc3RhbGwgdGhlIEBmZm1wZWctaW5zdGFsbGVyL2ZmbXBlZyBucG0gcGFja2FnZS4nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdEZpbmRUeXBlc2NyaXB0Q29uZmlndXJhdGlvbkZpbGVdOiAgICAgICAgICAgICdcIntmaWxlUGF0aH1cIiBpcyBub3QgYSB2YWxpZCBUeXBlU2NyaXB0IGNvbmZpZ3VyYXRpb24gZmlsZS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5jbGllbnRTY3JpcHRJbml0aWFsaXplcklzTm90U3BlY2lmaWVkXTogICAgICAgICAgICAnSW5pdGlhbGl6ZSB5b3VyIGNsaWVudCBzY3JpcHQgd2l0aCBvbmUgb2YgdGhlIGZvbGxvd2luZzogYSBKYXZhU2NyaXB0IHNjcmlwdCwgYSBKYXZhU2NyaXB0IGZpbGUgcGF0aCwgb3IgdGhlIG5hbWUgb2YgYSBKYXZhU2NyaXB0IG1vZHVsZS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5jbGllbnRTY3JpcHRCYXNlUGF0aElzTm90U3BlY2lmaWVkXTogICAgICAgICAgICAgICAnU3BlY2lmeSB0aGUgYmFzZSBwYXRoIGZvciB0aGUgY2xpZW50IHNjcmlwdCBmaWxlLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNsaWVudFNjcmlwdEluaXRpYWxpemVyTXVsdGlwbGVDb250ZW50U291cmNlc106ICAgICdDbGllbnQgc2NyaXB0cyBjYW4gb25seSBoYXZlIG9uZSBpbml0aWFsaXplcjogSmF2YVNjcmlwdCBjb2RlLCBhIEphdmFTY3JpcHQgZmlsZSBwYXRoLCBvciB0aGUgbmFtZSBvZiBhIEphdmFTY3JpcHQgbW9kdWxlLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdExvYWRDbGllbnRTY3JpcHRGcm9tUGF0aF06ICAgICAgICAgICAgICAgICAgICdDYW5ub3QgbG9hZCBhIGNsaWVudCBzY3JpcHQgZnJvbSB7cGF0aH0uXFxue2Vycm9yTWVzc2FnZX0nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5jbGllbnRTY3JpcHRNb2R1bGVFbnRyeVBvaW50UGF0aENhbGN1bGF0aW9uRXJyb3JdOiAnQSBjbGllbnQgc2NyaXB0IHRyaWVkIHRvIGxvYWQgYSBKYXZhU2NyaXB0IG1vZHVsZSB0aGF0IFRlc3RDYWZlIGNhbm5vdCBsb2NhdGU6XFxuXFxue2Vycm9yTWVzc2FnZX0uJyxcbiAgICBbUlVOVElNRV9FUlJPUlMubWV0aG9kSXNOb3RBdmFpbGFibGVGb3JBbklQQ0hvc3RdOiAgICAgICAgICAgICAgICAgJ1RoaXMgbWV0aG9kIGNhbm5vdCBiZSBjYWxsZWQgb24gYSBzZXJ2aWNlIGhvc3QuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMudG9vTGFyZ2VJUENQYXlsb2FkXTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSBzcGVjaWZpZWQgcGF5bG9hZCBpcyB0b28gbGFyZ2UgdG8gZm9ybSBhbiBJUEMgcGFja2V0LicsXG4gICAgW1JVTlRJTUVfRVJST1JTLm1hbGZvcm1lZElQQ01lc3NhZ2VdOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYW5ub3QgcHJvY2VzcyBhIG1hbGZvcm1lZCBJUEMgbWVzc2FnZS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy51bmV4cGVjdGVkSVBDSGVhZFBhY2tldF06ICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2Fubm90IGNyZWF0ZSBhbiBJUEMgbWVzc2FnZSBkdWUgdG8gYW4gdW5leHBlY3RlZCBJUEMgaGVhZCBwYWNrZXQuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMudW5leHBlY3RlZElQQ0JvZHlQYWNrZXRdOiAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBjcmVhdGUgYW4gSVBDIG1lc3NhZ2UgZHVlIHRvIGFuIHVuZXhwZWN0ZWQgSVBDIGJvZHkgcGFja2V0LicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnVuZXhwZWN0ZWRJUENUYWlsUGFja2V0XTogICAgICAgICAgICAgICAgICAgICAgICAgICdDYW5ub3QgY3JlYXRlIGFuIElQQyBtZXNzYWdlIGR1ZSB0byBhbiB1bmV4cGVjdGVkIElQQyB0YWlsIHBhY2tldC4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RSdW5Mb2NhbE5vbkhlYWRsZXNzQnJvd3NlcldpdGhvdXREaXNwbGF5XTpcbiAgICAgICAgJ1lvdXIgTGludXggdmVyc2lvbiBkb2VzIG5vdCBoYXZlIGEgZ3JhcGhpYyBzdWJzeXN0ZW0gdG8gcnVuIHticm93c2VyQWxpYXN9IHdpdGggYSBHVUkuICcgK1xuICAgICAgICAnWW91IGNhbiBsYXVuY2ggdGhlIGJyb3dzZXIgaW4gaGVhZGxlc3MgbW9kZS4gJyArXG4gICAgICAgICdJZiB5b3UgdXNlIGEgcG9ydGFibGUgYnJvd3NlciBleGVjdXRhYmxlLCAnICtcbiAgICAgICAgXCJzcGVjaWZ5IHRoZSBicm93c2VyIGFsaWFzIGJlZm9yZSB0aGUgcGF0aCBpbnN0ZWFkIG9mIHRoZSAncGF0aCcgcHJlZml4LiBcIiArXG4gICAgICAgIGBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlICR7RE9DVU1FTlRBVElPTl9MSU5LUy5IRUFETEVTU19NT0RFfWAsXG5cbiAgICBbUlVOVElNRV9FUlJPUlMudW5jYXVnaHRFcnJvckluUmVwb3J0ZXJdOiAgICAgICAgICAgJ1RoZSBcInttZXRob2ROYW1lfVwiIG1ldGhvZCBvZiB0aGUgXCJ7cmVwb3J0ZXJOYW1lfVwiIHJlcG9ydGVyIHByb2R1Y2VkIGFuIHVuY2F1Z2h0IGVycm9yLiBFcnJvciBkZXRhaWxzOlxcbntvcmlnaW5hbEVycm9yfScsXG4gICAgW1JVTlRJTUVfRVJST1JTLnJvbGVJbml0aWFsaXplZFdpdGhSZWxhdGl2ZVVybF06ICAgICdZb3UgY2Fubm90IHNwZWNpZnkgcmVsYXRpdmUgbG9naW4gcGFnZSBVUkxzIGluIHRoZSBSb2xlIGNvbnN0cnVjdG9yLiBVc2UgYW4gYWJzb2x1dGUgVVJMLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnR5cGVTY3JpcHRDb21waWxlckxvYWRpbmdFcnJvcl06ICAgICdDYW5ub3QgbG9hZCB0aGUgVHlwZVNjcmlwdCBjb21waWxlci5cXG57b3JpZ2luRXJyb3JNZXNzYWdlfS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RDdXN0b21pemVTcGVjaWZpZWRDb21waWxlcnNdOiAnWW91IGNhbm5vdCBzcGVjaWZ5IG9wdGlvbnMgZm9yIHRoZSB7bm9uY3VzdG9taXphYmxlQ29tcGlsZXJMaXN0fSBjb21waWxlcntzdWZmaXh9LicsXG5cbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90RW5hYmxlUmV0cnlUZXN0UGFnZXNPcHRpb25dOlxuICAgICAgICAnQ2Fubm90IGVuYWJsZSB0aGUgXFwncmV0cnlUZXN0UGFnZXNcXCcgb3B0aW9uLiBBcHBseSBvbmUgb2YgdGhlIGZvbGxvd2luZyB0d28gc29sdXRpb25zOlxcbicgK1xuICAgICAgICAnLS0gc2V0IFxcJ2xvY2FsaG9zdFxcJyBhcyB0aGUgdmFsdWUgb2YgdGhlIFxcJ2hvc3RuYW1lXFwnIG9wdGlvblxcbicgK1xuICAgICAgICAnLS0gcnVuIFRlc3RDYWZlIG92ZXIgSFRUUFNcXG4nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLmJyb3dzZXJDb25uZWN0aW9uRXJyb3JdOiAgICAgICAgICAgICAgICd7b3JpZ2luRXJyb3JNZXNzYWdlfVxcbntudW1PZk5vdE9wZW5lZENvbm5lY3Rpb259IG9mIHtudW1PZkFsbENvbm5lY3Rpb25zfSBicm93c2VyIGNvbm5lY3Rpb25zIGhhdmUgbm90IGJlZW4gZXN0YWJsaXNoZWQ6XFxue2xpc3RPZk5vdE9wZW5lZENvbm5lY3Rpb25zfVxcblxcbkhpbnRzOlxcbntsaXN0T2ZIaW50c30nLFxuICAgIFtCcm93c2VyQ29ubmVjdGlvbkVycm9ySGludC5Ub29IaWdoQ29uY3VycmVuY3lGYWN0b3JdOiAnVGhlIGhvc3QgbWFjaGluZSBtYXkgbm90IGJlIHBvd2VyZnVsIGVub3VnaCB0byBoYW5kbGUgdGhlIHNwZWNpZmllZCBjb25jdXJyZW5jeSBmYWN0b3IgKHtjb25jdXJyZW5jeUZhY3Rvcn0pLiAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RyeSB0byBkZWNyZWFzZSB0aGUgY29uY3VycmVuY3kgZmFjdG9yIG9yIGFsbG9jYXRlIG1vcmUgY29tcHV0aW5nIHJlc291cmNlcyB0byB0aGUgaG9zdCBtYWNoaW5lLicsXG4gICAgW0Jyb3dzZXJDb25uZWN0aW9uRXJyb3JIaW50LlVzZUJyb3dzZXJJbml0T3B0aW9uXTogICAgJ0luY3JlYXNlIHRoZSB2YWx1ZSBvZiB0aGUgXCJicm93c2VySW5pdFRpbWVvdXRcIiBvcHRpb24gaWYgaXQgaXMgdG9vIGxvdyAoY3VycmVudGx5OiB7YnJvd3NlckluaXRUaW1lb3V0TXNnfSkuIFRoaXMgb3B0aW9uIGRldGVybWluZXMgaG93IGxvbmcgVGVzdENhZmUgd2FpdHMgZm9yIGJyb3dzZXJzIHRvIGJlIHJlYWR5LicsXG4gICAgW0Jyb3dzZXJDb25uZWN0aW9uRXJyb3JIaW50LlJlc3RFcnJvckNhdXNlc106ICAgICAgICAgJ1RoZSBlcnJvciBjYW4gYWxzbyBiZSBjYXVzZWQgYnkgbmV0d29yayBpc3N1ZXMgb3IgcmVtb3RlIGRldmljZSBmYWlsdXJlLiBNYWtlIHN1cmUgdGhhdCB5b3VyIG5ldHdvcmsgY29ubmVjdGlvbiBpcyBzdGFibGUgYW5kIHlvdSBjYW4gcmVhY2ggdGhlIHJlbW90ZSBkZXZpY2UuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90RmluZFRlc3RjYWZlQ29uZmlndXJhdGlvbkZpbGVdOiAnQ2Fubm90IGxvY2F0ZSBhIFRlc3RDYWZlIGNvbmZpZ3VyYXRpb24gZmlsZSBhdCB7ZmlsZVBhdGh9LiBFaXRoZXIgdGhlIGZpbGUgZG9lcyBub3QgZXhpc3QsIG9yIHRoZSBwYXRoIGlzIGludmFsaWQuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuZGFzaGJvYXJkVG9rZW5JbkpTT05dOiAgICAgICAgICAgICAgICAnSW5zZWN1cmUgdG9rZW4gZGVjbGFyYXRpb246IGNhbm5vdCBkZWNsYXJlIGEgRGFzaGJvYXJkIHRva2VuIGluIGEgSlNPTiBjb25maWd1cmF0aW9uIGZpbGUuIFVzZSBhIEphdmFTY3JpcHQgY29uZmlndXJhdGlvbiBmaWxlLCBvciBkZWNsYXJlIGEgRGFzaGJvYXJkIHRva2VuIHdpdGggb25lIG9mIHRoZSBmb2xsb3dpbmc6IHRoZSBDTEksIHRoZSBUZXN0IFJ1bm5lciBBUEksIHRoZSBURVNUQ0FGRV9EQVNIQk9BUkRfVE9LRU4gZW52aXJvbm1lbnQgdmFyaWFibGUuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMucmVsYXRpdmVCYXNlVXJsXTogICAgICAgICAgICAgICAgICAgICAnVGhlIHZhbHVlIG9mIHRoZSBiYXNlVXJsIGFyZ3VtZW50IGNhbm5vdCBiZSByZWxhdGl2ZTogXCJ7YmFzZVVybH1cIicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnJlcXVlc3RVcmxJbnZhbGlkVmFsdWVFcnJvcl06ICAgICAgICAgJ1JlcXVlc3RlZCB1cmwgaXNuXFwndCB2YWxpZCAoe2FjdHVhbFZhbHVlfSkuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMucmVxdWVzdFJ1bnRpbWVFcnJvcl06ICAgICAgICAgICAgICAgICAnVGhlIHJlcXVlc3Qgd2FzIGludGVycnVwdGVkIGJ5IGFuIGVycm9yOlxcbnttZXNzYWdlfScsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRTa2lwSnNFcnJvcnNPcHRpb25dOiAgICAgICAgICAgYFRoZSBcIntvcHRpb25OYW1lfVwiIG9wdGlvbiBkb2VzIG5vdCBleGlzdC4gVXNlIHRoZSBmb2xsb3dpbmcgb3B0aW9ucyB0byBjb25maWd1cmUgc2tpcEpzRXJyb3JzOiAke2dldENvbmNhdGVuYXRlZFZhbHVlc1N0cmluZyhPYmplY3Qua2V5cyhTS0lQX0pTX0VSUk9SU19PUFRJT05fTkFNRVMpKX1gLFxufTtcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vycm9ycy9ydW50aW1lL3RlbXBsYXRlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsZ0VBQWdFO0FBQ2hFLGdFQUFnRTtBQUNoRSwrQ0FBK0M7QUFDL0MsZ0VBQWdFOzs7OztBQUVoRSxvQ0FBMEM7QUFDMUMsdUZBQThFO0FBQzlFLCtDQUFpRTtBQUNqRSxpR0FBZ0s7QUFFaEssTUFBTSxtQkFBbUIsR0FBRztJQUN4QixxQkFBcUIsRUFBRSxpR0FBaUc7SUFDeEgsZUFBZSxFQUFRLDhFQUE4RTtJQUNyRyxhQUFhLEVBQVUseUZBQXlGO0NBQ25ILENBQUM7QUFFRixrQkFBZTtJQUNYLENBQUMsc0JBQWMsQ0FBQyxtQ0FBbUMsQ0FBQyxFQUFHLHlFQUF5RTtJQUNoSSxDQUFDLHNCQUFjLENBQUMsb0NBQW9DLENBQUMsRUFBRSx1RkFBdUY7SUFDOUksQ0FBQyxzQkFBYyxDQUFDLG1CQUFtQixDQUFDLEVBQW1CLHlJQUF5STtJQUNoTSxDQUFDLHNCQUFjLENBQUMsb0NBQW9DLENBQUMsRUFBRSw4RUFBOEU7SUFDckksQ0FBQyxzQkFBYyxDQUFDLG1DQUFtQyxDQUFDLEVBQUcsaURBQWlEO0lBQ3hHLENBQUMsc0JBQWMsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFNLG1EQUFtRDtJQUMxRyxDQUFDLHNCQUFjLENBQUMsaUJBQWlCLENBQUMsRUFBcUIsMEdBQTBHO0lBQ2pLLENBQUMsc0JBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFlLG9EQUFvRDtJQUMzRyxDQUFDLHNCQUFjLENBQUMsYUFBYSxDQUFDLEVBQXlCLG1DQUFtQztJQUMxRixDQUFDLHNCQUFjLENBQUMsaUJBQWlCLENBQUMsRUFBcUIsaUVBQWlFO1FBQ2pFLGdDQUFnQztRQUNoQyxrQkFBa0I7UUFDbEIsa0RBQWtEO1FBQ2xELDhEQUE4RCxtQkFBbUIsQ0FBQyxxQkFBcUIsR0FBRztJQUVqSyxDQUFD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QUFDLEdBQUc7Q0FDN1EsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFdBUk5JTkc6IHRoaXMgZmlsZSBpcyB1c2VkIGJ5IGJvdGggdGhlIGNsaWVudCBhbmQgdGhlIHNlcnZlci5cbi8vIERvIG5vdCB1c2UgYW55IGJyb3dzZXIgb3Igbm9kZS1zcGVjaWZpYyBBUEkhXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmltcG9ydCB7IFJVTlRJTUVfRVJST1JTIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IEJyb3dzZXJDb25uZWN0aW9uRXJyb3JIaW50IGZyb20gJy4uLy4uL2Jyb3dzZXIvY29ubmVjdGlvbi9lcnJvci1oaW50cyc7XG5pbXBvcnQgeyBnZXRDb25jYXRlbmF0ZWRWYWx1ZXNTdHJpbmcgfSBmcm9tICcuLi8uLi91dGlscy9zdHJpbmcnO1xuaW1wb3J0IHsgU0tJUF9KU19FUlJPUlNfT1BUSU9OU19PQkpFQ1RfT1BUSU9OX05BTUVTLCBTS0lQX0pTX0VSUk9SU19DQUxMQkFDS19XSVRIX09QVElPTlNfT1BUSU9OX05BTUVTIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbi9za2lwLWpzLWVycm9ycy1vcHRpb24tbmFtZXMnO1xuXG5jb25zdCBET0NVTUVOVEFUSU9OX0xJTktTID0ge1xuICAgIFRFU1RfU09VUkNFX1BBUkFNRVRFUjogJ2h0dHBzOi8vdGVzdGNhZmUuaW8vZG9jdW1lbnRhdGlvbi80MDI2MzkvcmVmZXJlbmNlL2NvbW1hbmQtbGluZS1pbnRlcmZhY2UjZmlsZS1wYXRoZ2xvYi1wYXR0ZXJuJyxcbiAgICBGSUxURVJfU0VUVElOR1M6ICAgICAgICdodHRwczovL3Rlc3RjYWZlLmlvL2RvY3VtZW50YXRpb24vNDAyNjM4L3JlZmVyZW5jZS9jb25maWd1cmF0aW9uLWZpbGUjZmlsdGVyJyxcbiAgICBIRUFETEVTU19NT0RFOiAgICAgICAgICdodHRwczovL3Rlc3RjYWZlLmlvL2RvY3VtZW50YXRpb24vNDAyODI4L2d1aWRlcy9jb25jZXB0cy9icm93c2VycyN0ZXN0LWluLWhlYWRsZXNzLW1vZGUnLFxufTtcblxuZXhwb3J0IGRlZmF1bHQge1xuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RDcmVhdGVNdWx0aXBsZUxpdmVNb2RlUnVubmVyc106ICAnQ2Fubm90IGxhdW5jaCBtdWx0aXBsZSBsaXZlIG1vZGUgaW5zdGFuY2VzIG9mIHRoZSBUZXN0Q2FmZSB0ZXN0IHJ1bm5lci4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RSdW5MaXZlTW9kZVJ1bm5lck11bHRpcGxlVGltZXNdOiAnQ2Fubm90IGxhdW5jaCB0aGUgc2FtZSBsaXZlIG1vZGUgaW5zdGFuY2Ugb2YgdGhlIFRlc3RDYWZlIHRlc3QgcnVubmVyIG11bHRpcGxlIHRpbWVzLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmJyb3dzZXJEaXNjb25uZWN0ZWRdOiAgICAgICAgICAgICAgICAgICdUaGUge3VzZXJBZ2VudH0gYnJvd3NlciBkaXNjb25uZWN0ZWQuIElmIHlvdSBkaWQgbm90IGNsb3NlIHRoZSBicm93c2VyIHlvdXJzZWxmLCBicm93c2VyIHBlcmZvcm1hbmNlIG9yIG5ldHdvcmsgaXNzdWVzIG1heSBiZSBhdCBmYXVsdC4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RSdW5BZ2FpbnN0RGlzY29ubmVjdGVkQnJvd3NlcnNdOiAnVGhlIGZvbGxvd2luZyBicm93c2VycyBkaXNjb25uZWN0ZWQ6IHt1c2VyQWdlbnRzfS4gQ2Fubm90IHJ1biBmdXJ0aGVyIHRlc3RzLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnRlc3RSdW5SZXF1ZXN0SW5EaXNjb25uZWN0ZWRCcm93c2VyXTogICdcInticm93c2VyfVwiIGRpc2Nvbm5lY3RlZCBkdXJpbmcgdGVzdCBleGVjdXRpb24uJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90RXN0YWJsaXNoQnJvd3NlckNvbm5lY3Rpb25dOiAgICAgJ0Nhbm5vdCBlc3RhYmxpc2ggb25lIG9yIG1vcmUgYnJvd3NlciBjb25uZWN0aW9ucy4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RGaW5kQnJvd3Nlcl06ICAgICAgICAgICAgICAgICAgICAnQ2Fubm90IGZpbmQgdGhlIGJyb3dzZXIuIFwie2Jyb3dzZXJ9XCIgaXMgbmVpdGhlciBhIGtub3duIGJyb3dzZXIgYWxpYXMsIG5vciBhIHBhdGggdG8gYW4gZXhlY3V0YWJsZSBmaWxlLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmJyb3dzZXJQcm92aWRlck5vdEZvdW5kXTogICAgICAgICAgICAgICdDYW5ub3QgZmluZCB0aGUgXCJ7cHJvdmlkZXJOYW1lfVwiIGJyb3dzZXIgcHJvdmlkZXIuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuYnJvd3Nlck5vdFNldF06ICAgICAgICAgICAgICAgICAgICAgICAgJ1lvdSBoYXZlIG5vdCBzcGVjaWZpZWQgYSBicm93c2VyLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnRlc3RGaWxlc05vdEZvdW5kXTogICAgICAgICAgICAgICAgICAgICdDb3VsZCBub3QgZmluZCB0ZXN0IGZpbGVzIGF0IHRoZSBmb2xsb3dpbmcgbG9jYXRpb246IFwie2N3ZH1cIi5cXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NoZWNrIHBhdHRlcm5zIGZvciBlcnJvcnM6XFxuXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7c291cmNlTGlzdH1cXG5cXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29yIGxhdW5jaCBUZXN0Q2FmZSBmcm9tIGEgZGlmZmVyZW50IGRpcmVjdG9yeS5cXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGhvdyB0byBzcGVjaWZ5IHRlc3QgbG9jYXRpb25zLCBzZWUgJHtET0NVTUVOVEFUSU9OX0xJTktTLlRFU1RfU09VUkNFX1BBUkFNRVRFUn0uYCxcblxuICAgIFtSVU5USU1FX0VSUk9SUy5ub1Rlc3RzVG9SdW5dOiBcIlNvdXJjZSBmaWxlcyBkbyBub3QgY29udGFpbiB2YWxpZCAnZml4dHVyZScgYW5kICd0ZXN0JyBkZWNsYXJhdGlvbnMuXCIsXG5cbiAgICBbUlVOVElNRV9FUlJPUlMubm9UZXN0c1RvUnVuRHVlRmlsdGVyaW5nXTogJ05vIHRlc3RzIG1hdGNoIHlvdXIgZmlsdGVyLlxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgU2VlICR7RE9DVU1FTlRBVElPTl9MSU5LUy5GSUxURVJfU0VUVElOR1N9LmAsXG5cbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90RmluZFJlcG9ydGVyRm9yQWxpYXNdOiAgICAgICAgICAgICAgICAgICAgICAgICAnVGhlIFwie25hbWV9XCIgcmVwb3J0ZXIgZG9lcyBub3QgZXhpc3QuIENoZWNrIHRoZSByZXBvcnRlciBwYXJhbWV0ZXIgZm9yIGVycm9ycy4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5tdWx0aXBsZVNhbWVTdHJlYW1SZXBvcnRlcnNdOiAgICAgICAgICAgICAgICAgICAgICAgICdSZXBvcnRlcnMgY2Fubm90IHNoYXJlIG91dHB1dCBzdHJlYW1zLiBUaGUgZm9sbG93aW5nIHJlcG9ydGVycyBpbnRlcmZlcmUgd2l0aCBvbmUgYW5vdGhlcjogXCJ7cmVwb3J0ZXJzfVwiLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLm9wdGlvblZhbHVlSXNOb3RWYWxpZFJlZ0V4cF06ICAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSBcIntvcHRpb25OYW1lfVwiIG9wdGlvbiBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgcmVndWxhciBleHByZXNzaW9uLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLm9wdGlvblZhbHVlSXNOb3RWYWxpZEtleVZhbHVlXTogICAgICAgICAgICAgICAgICAgICAgJ1RoZSBcIntvcHRpb25OYW1lfVwiIG9wdGlvbiBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQga2V5LXZhbHVlIHBhaXIuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZFF1YXJhbnRpbmVPcHRpb25dOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGhlIFwie29wdGlvbk5hbWV9XCIgb3B0aW9uIGRvZXMgbm90IGV4aXN0LiBTcGVjaWZ5IFwiYXR0ZW1wdExpbWl0XCIgYW5kIFwic3VjY2Vzc1RocmVzaG9sZFwiIHRvIGNvbmZpZ3VyZSBxdWFyYW50aW5lIG1vZGUuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZFF1YXJhbnRpbmVQYXJhbWV0ZXJzUmF0aW9dOiAgICAgICAgICAgICAgICAgICAnVGhlIHZhbHVlIG9mIFwiYXR0ZW1wdExpbWl0XCIgKHthdHRlbXB0TGltaXR9KSBzaG91bGQgYmUgZ3JlYXRlciB0aGVuIHRoZSB2YWx1ZSBvZiBcInN1Y2Nlc3NUaHJlc2hvbGRcIiAoe3N1Y2Nlc3NUaHJlc2hvbGR9KS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5pbnZhbGlkQXR0ZW1wdExpbWl0VmFsdWVdOiAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaGUgXCJ7YXR0ZW1wdExpbWl0fVwiIHBhcmFtZXRlciBvbmx5IGFjY2VwdHMgdmFsdWVzIG9mIHtNSU5fQVRURU1QVF9MSU1JVH0gYW5kIHVwLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRTdWNjZXNzVGhyZXNob2xkVmFsdWVdOiAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSBcIntzdWNjZXNzVGhyZXNob2xkfVwiIHBhcmFtZXRlciBvbmx5IGFjY2VwdHMgdmFsdWVzIG9mIHtNSU5fU1VDQ0VTU19USFJFU0hPTER9IGFuZCB1cC4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5pbnZhbGlkU3BlZWRWYWx1ZV06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTcGVlZCBzaG91bGQgYmUgYSBudW1iZXIgYmV0d2VlbiAwLjAxIGFuZCAxLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRDb25jdXJyZW5jeUZhY3Rvcl06ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSBjb25jdXJyZW5jeSBmYWN0b3Igc2hvdWxkIGJlIGFuIGludGVnZXIgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90RGl2aWRlUmVtb3Rlc0NvdW50QnlDb25jdXJyZW5jeV06ICAgICAgICAgICAgICAnVGhlIG51bWJlciBvZiByZW1vdGUgYnJvd3NlcnMgc2hvdWxkIGJlIGRpdmlzaWJsZSBieSB0aGUgY29uY3VycmVuY3kgZmFjdG9yLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdFNldENvbmN1cnJlbmN5V2l0aENEUFBvcnRdOiAgICAgICAgICAgICAgICAgICAgJ1RoZSB2YWx1ZSBvZiB0aGUgXCJjb25jdXJyZW5jeVwiIG9wdGlvbiBpbmNsdWRlcyB0aGUgQ0RQIHBvcnQuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMucG9ydHNPcHRpb25SZXF1aXJlc1R3b051bWJlcnNdOiAgICAgICAgICAgICAgICAgICAgICAnVGhlIFwiLS1wb3J0c1wiIGFyZ3VtZW50IGFjY2VwdHMgdHdvIHZhbHVlcyBhdCBhIHRpbWUuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMucG9ydElzTm90RnJlZV06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUG9ydCB7cG9ydE51bX0gaXMgb2NjdXBpZWQgYnkgYW5vdGhlciBwcm9jZXNzLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRIb3N0bmFtZV06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCByZXNvbHZlIGhvc3RuYW1lIFwie2hvc3RuYW1lfVwiLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdEZpbmRTcGVjaWZpZWRUZXN0U291cmNlXTogICAgICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBmaW5kIGEgdGVzdCBmaWxlIGF0IFwie3BhdGh9XCIuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2xpZW50RnVuY3Rpb25Db2RlSXNOb3RBRnVuY3Rpb25dOiAgICAgICAgICAgICAgICAgICAnQ2Fubm90IGluaXRpYWxpemUgYSBDbGllbnRGdW5jdGlvbiBiZWNhdXNlIHsjaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZX0gaXMge3R5cGV9LCBhbmQgbm90IGEgZnVuY3Rpb24uJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuc2VsZWN0b3JJbml0aWFsaXplZFdpdGhXcm9uZ1R5cGVdOiAgICAgICAgICAgICAgICAgICAnQ2Fubm90IGluaXRpYWxpemUgYSBTZWxlY3RvciBiZWNhdXNlIHsjaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZX0gaXMge3R5cGV9LCBhbmQgbm90IG9uZSBvZiB0aGUgZm9sbG93aW5nOiBhIENTUyBzZWxlY3RvciBzdHJpbmcsIGEgU2VsZWN0b3Igb2JqZWN0LCBhIG5vZGUgc25hcHNob3QsIGEgZnVuY3Rpb24sIG9yIGEgUHJvbWlzZSByZXR1cm5lZCBieSBhIFNlbGVjdG9yLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNsaWVudEZ1bmN0aW9uQ2Fubm90UmVzb2x2ZVRlc3RSdW5dOiAgICAgICAgICAgICAgICAgXCJ7I2luc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWV9IGNhbm5vdCBpbXBsaWNpdGx5IHJlc29sdmUgdGhlIHRlc3QgcnVuIGluIGNvbnRleHQgb2Ygd2hpY2ggaXQgc2hvdWxkIGJlIGV4ZWN1dGVkLiBJZiB5b3UgbmVlZCB0byBjYWxsIHsjaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZX0gZnJvbSB0aGUgTm9kZS5qcyBBUEkgY2FsbGJhY2ssIHBhc3MgdGhlIHRlc3QgY29udHJvbGxlciBtYW51YWxseSB2aWEgeyNpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lfSdzIGAud2l0aCh7IGJvdW5kVGVzdFJ1bjogdCB9KWAgbWV0aG9kIGZpcnN0LiBOb3RlIHRoYXQgeW91IGNhbm5vdCBleGVjdXRlIHsjaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZX0gb3V0c2lkZSB0aGUgdGVzdCBjb2RlLlwiLFxuICAgIFtSVU5USU1FX0VSUk9SUy5yZXF1ZXN0Q2Fubm90UmVzb2x2ZVRlc3RSdW5dOiAgICAgICAgICAgICAgICAgICAgICAgIFwiJ3JlcXVlc3QnIGNhbm5vdCBpbXBsaWNpdGx5IHJlc29sdmUgdGhlIHRlc3QgcnVuIGluIGNvbnRleHQgb2Ygd2hpY2ggaXQgc2hvdWxkIGJlIGV4ZWN1dGVkLiBOb3RlIHRoYXQgeW91IGNhbm5vdCBleGVjdXRlICdyZXF1ZXN0JyBpbiB0aGUgZXhwZXJpbWVudGFsIGRlYnVnIG1vZGUuXCIsXG4gICAgW1JVTlRJTUVfRVJST1JTLnJlZ2VuZXJhdG9ySW5DbGllbnRGdW5jdGlvbkNvZGVdOiAgICAgICAgICAgICAgICAgICAgYHsjaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZX0gY29kZSwgYXJndW1lbnRzIG9yIGRlcGVuZGVuY2llcyBjYW5ub3QgY29udGFpbiBnZW5lcmF0b3JzIG9yIFwiYXN5bmMvYXdhaXRcIiBzeW50YXggKHVzZSBQcm9taXNlcyBpbnN0ZWFkKS5gLFxuICAgIFtSVU5USU1FX0VSUk9SUy5pbnZhbGlkQ2xpZW50RnVuY3Rpb25UZXN0UnVuQmluZGluZ106ICAgICAgICAgICAgICAgICdDYW5ub3QgcmVzb2x2ZSB0aGUgXCJib3VuZFRlc3RSdW5cIiBvcHRpb24gYmVjYXVzZSBpdHMgdmFsdWUgaXMgbm90IGEgdGVzdCBjb250cm9sbGVyLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRWYWx1ZVR5cGVdOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3tzbXRoZ30gKHthY3R1YWx9KSBpcyBub3Qgb2YgZXhwZWN0ZWQgdHlwZSAoe3R5cGV9KS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy51bnN1cHBvcnRlZFVybFByb3RvY29sXTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnZhbGlkIHt3aGF0fTogXCJ7dXJsfVwiLiBUZXN0Q2FmZSBjYW5ub3QgZXhlY3V0ZSB0aGUgdGVzdCBiZWNhdXNlIHRoZSB7d2hhdH0gaW5jbHVkZXMgdGhlIHtwcm90b2NvbH0gcHJvdG9jb2wuIFRlc3RDYWZlIHN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgcHJvdG9jb2xzOiBodHRwOi8vLCBodHRwczovLyBhbmQgZmlsZTovLy4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy50ZXN0Q29udHJvbGxlclByb3h5Q2Fubm90UmVzb2x2ZVRlc3RSdW5dOiAgICAgICAgICAgIGBDYW5ub3QgaW1wbGljaXRseSByZXNvbHZlIHRoZSB0ZXN0IHJ1biBpbiB0aGUgY29udGV4dCBvZiB3aGljaCB0aGUgdGVzdCBjb250cm9sbGVyIGFjdGlvbiBzaG91bGQgYmUgZXhlY3V0ZWQuIFVzZSB0ZXN0IGZ1bmN0aW9uJ3MgJ3QnIGFyZ3VtZW50IGluc3RlYWQuYCxcbiAgICBbUlVOVElNRV9FUlJPUlMudGltZUxpbWl0ZWRQcm9taXNlVGltZW91dEV4cGlyZWRdOiAgICAgICAgICAgICAgICAgICAnQSBQcm9taXNlIHRpbWVkIG91dC4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RTZXRWaWRlb09wdGlvbnNXaXRob3V0QmFzZVZpZGVvUGF0aFNwZWNpZmllZF06ICdZb3UgY2Fubm90IG1hbmFnZSBhZHZhbmNlZCB2aWRlbyBwYXJhbWV0ZXJzIHdoZW4gdGhlIHZpZGVvIHJlY29yZGluZyBjYXBhYmlsaXR5IGlzIG9mZi4gU3BlY2lmeSB0aGUgcm9vdCBzdG9yYWdlIGZvbGRlciBmb3IgdmlkZW8gY29udGVudCB0byBlbmFibGUgdmlkZW8gcmVjb3JkaW5nLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLm11bHRpcGxlQVBJTWV0aG9kQ2FsbEZvcmJpZGRlbl06ICAgICAgICAgICAgICAgICAgICAgJ1lvdSBjYW5ub3QgY2FsbCB0aGUgXCJ7bWV0aG9kTmFtZX1cIiBtZXRob2QgbW9yZSB0aGFuIG9uY2UuIFNwZWNpZnkgYW4gYXJyYXkgb2YgcGFyYW1ldGVycyBpbnN0ZWFkLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRSZXBvcnRlck91dHB1dF06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJTcGVjaWZ5IGEgZmlsZSBuYW1lIG9yIGEgd3JpdGFibGUgc3RyZWFtIGFzIHRoZSByZXBvcnRlcidzIG91dHB1dCB0YXJnZXQuXCIsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdFJlYWRTU0xDZXJ0RmlsZV06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VuYWJsZSB0byByZWFkIHRoZSBmaWxlIHJlZmVyZW5jZWQgYnkgdGhlIFwie29wdGlvbn1cIiBzc2wgb3B0aW9uIChcIntwYXRofVwiKS4gRXJyb3IgZGV0YWlsczpcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3tlcnJ9JyxcblxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RQcmVwYXJlVGVzdHNEdWVUb0Vycm9yXTogJ0Nhbm5vdCBwcmVwYXJlIHRlc3RzIGR1ZSB0byB0aGUgZm9sbG93aW5nIGVycm9yOlxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3tlcnJNZXNzYWdlfScsXG5cbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90UGFyc2VSYXdGaWxlXTogJ0Nhbm5vdCBwYXJzZSBhIHJhdyB0ZXN0IGZpbGUgYXQgXCJ7cGF0aH1cIiBkdWUgdG8gdGhlIGZvbGxvd2luZyBlcnJvcjpcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAne2Vyck1lc3NhZ2V9JyxcblxuICAgIFtSVU5USU1FX0VSUk9SUy50ZXN0ZWRBcHBGYWlsZWRXaXRoRXJyb3JdOiAnVGhlIHdlYiBhcHBsaWNhdGlvbiBmYWlsZWQgd2l0aCB0aGUgZm9sbG93aW5nIGVycm9yOlxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7ZXJyTWVzc2FnZX0nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLnVuYWJsZVRvT3BlbkJyb3dzZXJdOiAnVW5hYmxlIHRvIG9wZW4gdGhlIFwie2FsaWFzfVwiIGJyb3dzZXIgZHVlIHRvIHRoZSBmb2xsb3dpbmcgZXJyb3I6XFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAne2Vyck1lc3NhZ2V9JyxcblxuICAgIFtSVU5USU1FX0VSUk9SUy5yZXF1ZXN0SG9va0NvbmZpZ3VyZUFQSUVycm9yXTogJ0F0dGVtcHQgdG8gY29uZmlndXJlIGEgcmVxdWVzdCBob29rIHJlc3VsdGVkIGluIHRoZSBmb2xsb3dpbmcgZXJyb3I6XFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAne3JlcXVlc3RIb29rTmFtZX06IHtlcnJNc2d9JyxcblxuICAgIFtSVU5USU1FX0VSUk9SUy5mb3JiaWRkZW5DaGFyYXRlcnNJblNjcmVlbnNob3RQYXRoXTogJ1RoZXJlIGFyZSBmb3JiaWRkZW4gY2hhcmFjdGVycyBpbiB0aGUgXCJ7c2NyZWVuc2hvdFBhdGh9XCIge3NjcmVlbnNob3RQYXRoVHlwZX06XFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIHtmb3JiaWRkZW5DaGFyc0Rlc2NyaXB0aW9ufScsXG5cbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90RmluZEZGTVBFR106ICdUZXN0Q2FmZSBjYW5ub3QgcmVjb3JkIHZpZGVvcyBiZWNhdXNlIGl0IGNhbm5vdCBsb2NhdGUgdGhlIEZGbXBlZyBleGVjdXRhYmxlLiBUcnkgb25lIG9mIHRoZSBmb2xsb3dpbmcgc29sdXRpb25zOlxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyogYWRkIHRoZSBwYXRoIG9mIHRoZSBGRm1wZWcgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSB0byB0aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSxcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcqIHNwZWNpZnkgdGhlIHBhdGggb2YgdGhlIEZGbXBlZyBleGVjdXRhYmxlIGluIHRoZSBGRk1QRUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBvciB0aGUgZmZtcGVnUGF0aCBvcHRpb24sXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKiBpbnN0YWxsIHRoZSBAZmZtcGVnLWluc3RhbGxlci9mZm1wZWcgbnBtIHBhY2thZ2UuJyxcblxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RGaW5kVHlwZXNjcmlwdENvbmZpZ3VyYXRpb25GaWxlXTogICAgICAgICAgICAnXCJ7ZmlsZVBhdGh9XCIgaXMgbm90IGEgdmFsaWQgVHlwZVNjcmlwdCBjb25maWd1cmF0aW9uIGZpbGUuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2xpZW50U2NyaXB0SW5pdGlhbGl6ZXJJc05vdFNwZWNpZmllZF06ICAgICAgICAgICAgJ0luaXRpYWxpemUgeW91ciBjbGllbnQgc2NyaXB0IHdpdGggb25lIG9mIHRoZSBmb2xsb3dpbmc6IGEgSmF2YVNjcmlwdCBzY3JpcHQsIGEgSmF2YVNjcmlwdCBmaWxlIHBhdGgsIG9yIHRoZSBuYW1lIG9mIGEgSmF2YVNjcmlwdCBtb2R1bGUuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2xpZW50U2NyaXB0QmFzZVBhdGhJc05vdFNwZWNpZmllZF06ICAgICAgICAgICAgICAgJ1NwZWNpZnkgdGhlIGJhc2UgcGF0aCBmb3IgdGhlIGNsaWVudCBzY3JpcHQgZmlsZS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5jbGllbnRTY3JpcHRJbml0aWFsaXplck11bHRpcGxlQ29udGVudFNvdXJjZXNdOiAgICAnQ2xpZW50IHNjcmlwdHMgY2FuIG9ubHkgaGF2ZSBvbmUgaW5pdGlhbGl6ZXI6IEphdmFTY3JpcHQgY29kZSwgYSBKYXZhU2NyaXB0IGZpbGUgcGF0aCwgb3IgdGhlIG5hbWUgb2YgYSBKYXZhU2NyaXB0IG1vZHVsZS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RMb2FkQ2xpZW50U2NyaXB0RnJvbVBhdGhdOiAgICAgICAgICAgICAgICAgICAnQ2Fubm90IGxvYWQgYSBjbGllbnQgc2NyaXB0IGZyb20ge3BhdGh9LlxcbntlcnJvck1lc3NhZ2V9JyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2xpZW50U2NyaXB0TW9kdWxlRW50cnlQb2ludFBhdGhDYWxjdWxhdGlvbkVycm9yXTogJ0EgY2xpZW50IHNjcmlwdCB0cmllZCB0byBsb2FkIGEgSmF2YVNjcmlwdCBtb2R1bGUgdGhhdCBUZXN0Q2FmZSBjYW5ub3QgbG9jYXRlOlxcblxcbntlcnJvck1lc3NhZ2V9LicsXG4gICAgW1JVTlRJTUVfRVJST1JTLm1ldGhvZElzTm90QXZhaWxhYmxlRm9yQW5JUENIb3N0XTogICAgICAgICAgICAgICAgICdUaGlzIG1ldGhvZCBjYW5ub3QgYmUgY2FsbGVkIG9uIGEgc2VydmljZSBob3N0LicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnRvb0xhcmdlSVBDUGF5bG9hZF06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaGUgc3BlY2lmaWVkIHBheWxvYWQgaXMgdG9vIGxhcmdlIHRvIGZvcm0gYW4gSVBDIHBhY2tldC4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5tYWxmb3JtZWRJUENNZXNzYWdlXTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2Fubm90IHByb2Nlc3MgYSBtYWxmb3JtZWQgSVBDIG1lc3NhZ2UuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMudW5leHBlY3RlZElQQ0hlYWRQYWNrZXRdOiAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBjcmVhdGUgYW4gSVBDIG1lc3NhZ2UgZHVlIHRvIGFuIHVuZXhwZWN0ZWQgSVBDIGhlYWQgcGFja2V0LicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnVuZXhwZWN0ZWRJUENCb2R5UGFja2V0XTogICAgICAgICAgICAgICAgICAgICAgICAgICdDYW5ub3QgY3JlYXRlIGFuIElQQyBtZXNzYWdlIGR1ZSB0byBhbiB1bmV4cGVjdGVkIElQQyBib2R5IHBhY2tldC4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy51bmV4cGVjdGVkSVBDVGFpbFBhY2tldF06ICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2Fubm90IGNyZWF0ZSBhbiBJUEMgbWVzc2FnZSBkdWUgdG8gYW4gdW5leHBlY3RlZCBJUEMgdGFpbCBwYWNrZXQuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90UnVuTG9jYWxOb25IZWFkbGVzc0Jyb3dzZXJXaXRob3V0RGlzcGxheV06XG4gICAgICAgICdZb3VyIExpbnV4IHZlcnNpb24gZG9lcyBub3QgaGF2ZSBhIGdyYXBoaWMgc3Vic3lzdGVtIHRvIHJ1biB7YnJvd3NlckFsaWFzfSB3aXRoIGEgR1VJLiAnICtcbiAgICAgICAgJ1lvdSBjYW4gbGF1bmNoIHRoZSBicm93c2VyIGluIGhlYWRsZXNzIG1vZGUuICcgK1xuICAgICAgICAnSWYgeW91IHVzZSBhIHBvcnRhYmxlIGJyb3dzZXIgZXhlY3V0YWJsZSwgJyArXG4gICAgICAgIFwic3BlY2lmeSB0aGUgYnJvd3NlciBhbGlhcyBiZWZvcmUgdGhlIHBhdGggaW5zdGVhZCBvZiB0aGUgJ3BhdGgnIHByZWZpeC4gXCIgK1xuICAgICAgICBgRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSAke0RPQ1VNRU5UQVRJT05fTElOS1MuSEVBRExFU1NfTU9ERX1gLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLnVuY2F1Z2h0RXJyb3JJblJlcG9ydGVyXTogICAgICAgICAgICdUaGUgXCJ7bWV0aG9kTmFtZX1cIiBtZXRob2Qgb2YgdGhlIFwie3JlcG9ydGVyTmFtZX1cIiByZXBvcnRlciBwcm9kdWNlZCBhbiB1bmNhdWdodCBlcnJvci4gRXJyb3IgZGV0YWlsczpcXG57b3JpZ2luYWxFcnJvcn0nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5yb2xlSW5pdGlhbGl6ZWRXaXRoUmVsYXRpdmVVcmxdOiAgICAnWW91IGNhbm5vdCBzcGVjaWZ5IHJlbGF0aXZlIGxvZ2luIHBhZ2UgVVJMcyBpbiB0aGUgUm9sZSBjb25zdHJ1Y3Rvci4gVXNlIGFuIGFic29sdXRlIFVSTC4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy50eXBlU2NyaXB0Q29tcGlsZXJMb2FkaW5nRXJyb3JdOiAgICAnQ2Fubm90IGxvYWQgdGhlIFR5cGVTY3JpcHQgY29tcGlsZXIuXFxue29yaWdpbkVycm9yTWVzc2FnZX0uJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90Q3VzdG9taXplU3BlY2lmaWVkQ29tcGlsZXJzXTogJ1lvdSBjYW5ub3Qgc3BlY2lmeSBvcHRpb25zIGZvciB0aGUge25vbmN1c3RvbWl6YWJsZUNvbXBpbGVyTGlzdH0gY29tcGlsZXJ7c3VmZml4fS4nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdEVuYWJsZVJldHJ5VGVzdFBhZ2VzT3B0aW9uXTpcbiAgICAgICAgJ0Nhbm5vdCBlbmFibGUgdGhlIFxcJ3JldHJ5VGVzdFBhZ2VzXFwnIG9wdGlvbi4gQXBwbHkgb25lIG9mIHRoZSBmb2xsb3dpbmcgdHdvIHNvbHV0aW9uczpcXG4nICtcbiAgICAgICAgJy0tIHNldCBcXCdsb2NhbGhvc3RcXCcgYXMgdGhlIHZhbHVlIG9mIHRoZSBcXCdob3N0bmFtZVxcJyBvcHRpb25cXG4nICtcbiAgICAgICAgJy0tIHJ1biBUZXN0Q2FmZSBvdmVyIEhUVFBTXFxuJyxcblxuICAgIFtSVU5USU1FX0VSUk9SUy5icm93c2VyQ29ubmVjdGlvbkVycm9yXTogICAgICAgICAgICAgICAne29yaWdpbkVycm9yTWVzc2FnZX1cXG57bnVtT2ZOb3RPcGVuZWRDb25uZWN0aW9ufSBvZiB7bnVtT2ZBbGxDb25uZWN0aW9uc30gYnJvd3NlciBjb25uZWN0aW9ucyBoYXZlIG5vdCBiZWVuIGVzdGFibGlzaGVkOlxcbntsaXN0T2ZOb3RPcGVuZWRDb25uZWN0aW9uc31cXG5cXG5IaW50czpcXG57bGlzdE9mSGludHN9JyxcbiAgICBbQnJvd3NlckNvbm5lY3Rpb25FcnJvckhpbnQuVG9vSGlnaENvbmN1cnJlbmN5RmFjdG9yXTogJ1RoZSBob3N0IG1hY2hpbmUgbWF5IG5vdCBiZSBwb3dlcmZ1bCBlbm91Z2ggdG8gaGFuZGxlIHRoZSBzcGVjaWZpZWQgY29uY3VycmVuY3kgZmFjdG9yICh7Y29uY3VycmVuY3lGYWN0b3J9KS4gJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUcnkgdG8gZGVjcmVhc2UgdGhlIGNvbmN1cnJlbmN5IGZhY3RvciBvciBhbGxvY2F0ZSBtb3JlIGNvbXB1dGluZyByZXNvdXJjZXMgdG8gdGhlIGhvc3QgbWFjaGluZS4nLFxuICAgIFtCcm93c2VyQ29ubmVjdGlvbkVycm9ySGludC5Vc2VCcm93c2VySW5pdE9wdGlvbl06ICAgICAgICAgICAgICAgJ0luY3JlYXNlIHRoZSB2YWx1ZSBvZiB0aGUgXCJicm93c2VySW5pdFRpbWVvdXRcIiBvcHRpb24gaWYgaXQgaXMgdG9vIGxvdyAoY3VycmVudGx5OiB7YnJvd3NlckluaXRUaW1lb3V0TXNnfSkuIFRoaXMgb3B0aW9uIGRldGVybWluZXMgaG93IGxvbmcgVGVzdENhZmUgd2FpdHMgZm9yIGJyb3dzZXJzIHRvIGJlIHJlYWR5LicsXG4gICAgW0Jyb3dzZXJDb25uZWN0aW9uRXJyb3JIaW50LlJlc3RFcnJvckNhdXNlc106ICAgICAgICAgICAgICAgICAgICAnVGhlIGVycm9yIGNhbiBhbHNvIGJlIGNhdXNlZCBieSBuZXR3b3JrIGlzc3VlcyBvciByZW1vdGUgZGV2aWNlIGZhaWx1cmUuIE1ha2Ugc3VyZSB0aGF0IHlvdXIgbmV0d29yayBjb25uZWN0aW9uIGlzIHN0YWJsZSBhbmQgeW91IGNhbiByZWFjaCB0aGUgcmVtb3RlIGRldmljZS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RGaW5kVGVzdGNhZmVDb25maWd1cmF0aW9uRmlsZV06ICAgICAgICAgICAgJ0Nhbm5vdCBsb2NhdGUgYSBUZXN0Q2FmZSBjb25maWd1cmF0aW9uIGZpbGUgYXQge2ZpbGVQYXRofS4gRWl0aGVyIHRoZSBmaWxlIGRvZXMgbm90IGV4aXN0LCBvciB0aGUgcGF0aCBpcyBpbnZhbGlkLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmRhc2hib2FyZFRva2VuSW5KU09OXTogICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zZWN1cmUgdG9rZW4gZGVjbGFyYXRpb246IGNhbm5vdCBkZWNsYXJlIGEgRGFzaGJvYXJkIHRva2VuIGluIGEgSlNPTiBjb25maWd1cmF0aW9uIGZpbGUuIFVzZSBhIEphdmFTY3JpcHQgY29uZmlndXJhdGlvbiBmaWxlLCBvciBkZWNsYXJlIGEgRGFzaGJvYXJkIHRva2VuIHdpdGggb25lIG9mIHRoZSBmb2xsb3dpbmc6IHRoZSBDTEksIHRoZSBUZXN0IFJ1bm5lciBBUEksIHRoZSBURVNUQ0FGRV9EQVNIQk9BUkRfVE9LRU4gZW52aXJvbm1lbnQgdmFyaWFibGUuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMucmVsYXRpdmVCYXNlVXJsXTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaGUgdmFsdWUgb2YgdGhlIGJhc2VVcmwgYXJndW1lbnQgY2Fubm90IGJlIHJlbGF0aXZlOiBcIntiYXNlVXJsfVwiJyxcbiAgICBbUlVOVElNRV9FUlJPUlMucmVxdWVzdFVybEludmFsaWRWYWx1ZUVycm9yXTogICAgICAgICAgICAgICAgICAgICdSZXF1ZXN0ZWQgdXJsIGlzblxcJ3QgdmFsaWQgKHthY3R1YWxWYWx1ZX0pLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnJlcXVlc3RSdW50aW1lRXJyb3JdOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGhlIHJlcXVlc3Qgd2FzIGludGVycnVwdGVkIGJ5IGFuIGVycm9yOlxcbnttZXNzYWdlfScsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRTa2lwSnNFcnJvcnNPcHRpb25zT2JqZWN0UHJvcGVydHldOiAgICAgICBgVGhlIFwie29wdGlvbk5hbWV9XCIgb3B0aW9uIGRvZXMgbm90IGV4aXN0LiBVc2UgdGhlIGZvbGxvd2luZyBvcHRpb25zIHRvIGNvbmZpZ3VyZSBza2lwSnNFcnJvcnM6ICR7Z2V0Q29uY2F0ZW5hdGVkVmFsdWVzU3RyaW5nKE9iamVjdC5rZXlzKFNLSVBfSlNfRVJST1JTX09QVElPTlNfT0JKRUNUX09QVElPTl9OQU1FUykpfS5gLFxuICAgIFtSVU5USU1FX0VSUk9SUy5pbnZhbGlkU2tpcEpzRXJyb3JzQ2FsbGJhY2tXaXRoT3B0aW9uc1Byb3BlcnR5XTogYFRoZSBcIntvcHRpb25OYW1lfVwiIG9wdGlvbiBkb2VzIG5vdCBleGlzdC4gVXNlIHRoZSBmb2xsb3dpbmcgb3B0aW9ucyB0byBjb25maWd1cmUgc2tpcEpzRXJyb3JzIGNhbGxiYWNrOiAke2dldENvbmNhdGVuYXRlZFZhbHVlc1N0cmluZyhPYmplY3Qua2V5cyhTS0lQX0pTX0VSUk9SU19DQUxMQkFDS19XSVRIX09QVElPTlNfT1BUSU9OX05BTUVTKSl9LmAsXG59O1xuIl19 |
@@ -29,3 +29,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.MultipleWindowsModeIsNotAvailableInRemoteBrowserError = exports.MultipleWindowsModeIsDisabledError = exports.RequestHookNotImplementedMethodError = exports.RequestHookUnhandledError = exports.RequestHookBaseError = exports.SetNativeDialogHandlerCodeWrongTypeError = exports.RoleSwitchInRoleInitializerError = exports.ForbiddenCharactersInScreenshotPathError = exports.WindowDimensionsOverflowError = exports.UncaughtTestCafeErrorInCustomScript = exports.UncaughtErrorInCustomScript = exports.ActionSkipJsErrorsDependenciesArgumentTypeError = exports.ActionSkipJsErrorsArgumentTypeError = exports.ActionUrlArgumentError = exports.ActionRequiredCookieArguments = exports.ActionUrlsCookieArgumentError = exports.ActionUrlCookieArgumentError = exports.ActionCookieArgumentsError = exports.ActionCookieArgumentError = exports.ActionUnsupportedDeviceTypeError = exports.SetTestSpeedArgumentError = exports.ActionStringArrayElementError = exports.ActionStringOrStringArrayArgumentError = exports.ActionPositiveIntegerArgumentError = exports.ActionFunctionArgumentError = exports.ActionRoleArgumentError = exports.ActionIntegerArgumentError = exports.ActionNullableStringArgumentError = exports.ActionStringArgumentError = exports.ActionOptionsTypeError = exports.ActionBooleanArgumentError = exports.AssertionUnawaitedPromiseError = exports.AssertionWithoutMethodCallError = exports.AssertionExecutableArgumentError = exports.ExternalAssertionLibraryError = exports.UncaughtExceptionError = exports.UnhandledPromiseRejectionError = exports.UncaughtNonErrorObjectInTestCode = exports.UncaughtErrorInTestCode = exports.RunTimeoutError = exports.TestTimeoutError = exports.TimeoutError = exports.PageLoadError = exports.ActionSelectorError = exports.MissingAwaitError = void 0; | ||
exports.MultipleWindowsModeIsNotAvailableInRemoteBrowserError = exports.MultipleWindowsModeIsDisabledError = exports.RequestHookNotImplementedMethodError = exports.RequestHookUnhandledError = exports.RequestHookBaseError = exports.SetNativeDialogHandlerCodeWrongTypeError = exports.RoleSwitchInRoleInitializerError = exports.ForbiddenCharactersInScreenshotPathError = exports.WindowDimensionsOverflowError = exports.UncaughtTestCafeErrorInCustomScript = exports.UncaughtErrorInCustomScript = exports.ActionSkipJsErrorsArgumentTypeError = exports.ActionUrlArgumentError = exports.ActionRequiredCookieArguments = exports.ActionUrlsCookieArgumentError = exports.ActionUrlCookieArgumentError = exports.ActionCookieArgumentsError = exports.ActionCookieArgumentError = exports.ActionUnsupportedDeviceTypeError = exports.SetTestSpeedArgumentError = exports.ActionStringArrayElementError = exports.ActionStringOrStringArrayArgumentError = exports.ActionPositiveIntegerArgumentError = exports.ActionFunctionArgumentError = exports.ActionRoleArgumentError = exports.ActionIntegerArgumentError = exports.ActionNullableStringArgumentError = exports.ActionStringArgumentError = exports.ActionOptionsTypeError = exports.ActionBooleanArgumentError = exports.AssertionUnawaitedPromiseError = exports.AssertionWithoutMethodCallError = exports.AssertionExecutableArgumentError = exports.ExternalAssertionLibraryError = exports.UncaughtExceptionError = exports.UnhandledPromiseRejectionError = exports.UncaughtNonErrorObjectInTestCode = exports.UncaughtErrorInTestCode = exports.RunTimeoutError = exports.TestTimeoutError = exports.TimeoutError = exports.PageLoadError = exports.ActionSelectorError = exports.MissingAwaitError = void 0; | ||
const types_1 = require("../types"); | ||
@@ -291,10 +291,2 @@ const diff = __importStar(require("../../utils/diff/")); | ||
exports.ActionSkipJsErrorsArgumentTypeError = ActionSkipJsErrorsArgumentTypeError; | ||
class ActionSkipJsErrorsDependenciesArgumentTypeError extends errors_1.TestRunErrorBase { | ||
constructor(argumentName, actualValue) { | ||
super(types_1.TEST_RUN_ERRORS.actionSkipJsErrorsDependenciesArgumentError); | ||
this.argumentName = argumentName; | ||
this.actualValue = actualValue; | ||
} | ||
} | ||
exports.ActionSkipJsErrorsDependenciesArgumentTypeError = ActionSkipJsErrorsDependenciesArgumentTypeError; | ||
// Action execution errors | ||
@@ -392,2 +384,2 @@ //-------------------------------------------------------------------- | ||
exports.MultipleWindowsModeIsNotAvailableInRemoteBrowserError = MultipleWindowsModeIsNotAvailableInRemoteBrowserError; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXJyb3JzL3Rlc3QtcnVuL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0NBQTJDO0FBQzNDLHdEQUEwQztBQUMxQyxnREFBdUQ7QUFDdkQsc0RBQW9DO0FBRXBDLE9BQU87QUFDUCxzRUFBc0U7QUFDdEUsTUFBTSx1QkFBd0IsU0FBUSx5QkFBZ0I7SUFDbEQsWUFBYSxJQUFJLEVBQUUsWUFBWSxFQUFFLFdBQVc7UUFDeEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRVosSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBSSxXQUFXLENBQUM7SUFDcEMsQ0FBQztDQUNKO0FBR0QseUJBQXlCO0FBQ3pCLHNFQUFzRTtBQUN0RSxNQUFhLGlCQUFrQixTQUFRLHlCQUFnQjtJQUNuRCxZQUFhLFFBQVE7UUFDakIsS0FBSyxDQUFDLHVCQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0NBQ0o7QUFORCw4Q0FNQztBQUdELGtCQUFrQjtBQUNsQixzRUFBc0U7QUFDdEUsTUFBYSxtQkFBb0IsU0FBUSx5QkFBZ0I7SUFDckQsWUFBYSxZQUFZLEVBQUUsR0FBRyxFQUFFLFVBQVU7UUFDdEMsS0FBSyxDQUFDLHVCQUFlLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUUzQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFTLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUM5RCxJQUFJLENBQUMsV0FBVyxHQUFJLEdBQUcsQ0FBQztJQUM1QixDQUFD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aW1wb3J0ICogYXMgZGlmZiBmcm9tICcuLi8uLi91dGlscy9kaWZmLyc7XG5pbXBvcnQgeyBUZXN0UnVuRXJyb3JCYXNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Vycm9ycyc7XG5leHBvcnQgKiBmcm9tICcuLi8uLi9zaGFyZWQvZXJyb3JzJztcblxuLy8gQmFzZVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY2xhc3MgQWN0aW9uQXJndW1lbnRFcnJvckJhc2UgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoY29kZSwgYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSkge1xuICAgICAgICBzdXBlcihjb2RlKTtcblxuICAgICAgICB0aGlzLmFyZ3VtZW50TmFtZSA9IGFyZ3VtZW50TmFtZTtcbiAgICAgICAgdGhpcy5hY3R1YWxWYWx1ZSAgPSBhY3R1YWxWYWx1ZTtcbiAgICB9XG59XG5cblxuLy8gU3luY2hyb25pemF0aW9uIGVycm9yc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGNsYXNzIE1pc3NpbmdBd2FpdEVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGNhbGxzaXRlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5taXNzaW5nQXdhaXRFcnJvcik7XG5cbiAgICAgICAgdGhpcy5jYWxsc2l0ZSA9IGNhbGxzaXRlO1xuICAgIH1cbn1cblxuXG4vLyBTZWxlY3RvciBlcnJvcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBjbGFzcyBBY3Rpb25TZWxlY3RvckVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKHNlbGVjdG9yTmFtZSwgZXJyLCBpc0FQSUVycm9yKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25TZWxlY3RvckVycm9yKTtcblxuICAgICAgICB0aGlzLnNlbGVjdG9yTmFtZSA9IHNlbGVjdG9yTmFtZTtcbiAgICAgICAgdGhpcy5lcnJNc2cgICAgICAgPSBpc0FQSUVycm9yID8gZXJyLnJhd01lc3NhZ2UgOiBlcnIubWVzc2FnZTtcbiAgICAgICAgdGhpcy5vcmlnaW5FcnJvciAgPSBlcnI7XG4gICAgfVxufVxuXG5cbi8vIFBhZ2UgZXJyb3JzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5leHBvcnQgY2xhc3MgUGFnZUxvYWRFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChlcnJNc2csIHVybCkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMucGFnZUxvYWRFcnJvcik7XG5cbiAgICAgICAgdGhpcy51cmwgICAgPSB1cmw7XG4gICAgICAgIHRoaXMuZXJyTXNnID0gZXJyTXNnO1xuICAgIH1cbn1cblxuLy8gVGltZW91dCBlcnJvcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBjbGFzcyBUaW1lb3V0RXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAodGltZW91dCwgc2NvcGUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmV4ZWN1dGlvblRpbWVvdXRFeGNlZWRlZCk7XG5cbiAgICAgICAgdGhpcy50aW1lb3V0ID0gdGltZW91dDtcbiAgICAgICAgdGhpcy5zY29wZSAgID0gc2NvcGU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVGVzdFRpbWVvdXRFcnJvciBleHRlbmRzIFRpbWVvdXRFcnJvciB7XG4gICAgY29uc3RydWN0b3IgKHRpbWVvdXQpIHtcbiAgICAgICAgc3VwZXIodGltZW91dCwgJ1Rlc3QnKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSdW5UaW1lb3V0RXJyb3IgZXh0ZW5kcyBUaW1lb3V0RXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yICh0aW1lb3V0KSB7XG4gICAgICAgIHN1cGVyKHRpbWVvdXQsICdSdW4nKTtcbiAgICB9XG59XG5cbi8vIFVuY2F1Z2h0IGVycm9yc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGNsYXNzIFVuY2F1Z2h0RXJyb3JJblRlc3RDb2RlIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGVyciwgY2FsbHNpdGUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLnVuY2F1Z2h0RXJyb3JJblRlc3RDb2RlKTtcblxuICAgICAgICB0aGlzLmVyck1zZyAgICAgID0gU3RyaW5nKGVyci5yYXdNZXNzYWdlIHx8IGVycik7XG4gICAgICAgIHRoaXMuY2FsbHNpdGUgICAgPSBlcnIuY2FsbHNpdGUgfHwgY2FsbHNpdGU7XG4gICAgICAgIHRoaXMub3JpZ2luRXJyb3IgPSBlcnI7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVW5jYXVnaHROb25FcnJvck9iamVjdEluVGVzdENvZGUgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAob2JqKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy51bmNhdWdodE5vbkVycm9yT2JqZWN0SW5UZXN0Q29kZSk7XG5cbiAgICAgICAgdGhpcy5vYmpUeXBlID0gdHlwZW9mIG9iajtcbiAgICAgICAgdGhpcy5vYmpTdHIgID0gU3RyaW5nKG9iaik7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVW5oYW5kbGVkUHJvbWlzZVJlamVjdGlvbkVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGVycikge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMudW5oYW5kbGVkUHJvbWlzZVJlamVjdGlvbik7XG5cbiAgICAgICAgdGhpcy5lcnJNc2cgPSBTdHJpbmcoZXJyKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVbmNhdWdodEV4Y2VwdGlvbkVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGVycikge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFeGNlcHRpb24pO1xuXG4gICAgICAgIHRoaXMuZXJyTXNnID0gU3RyaW5nKGVycik7XG4gICAgfVxufVxuXG5cbi8vIEFzc2VydGlvbiBlcnJvcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBjbGFzcyBFeHRlcm5hbEFzc2VydGlvbkxpYnJhcnlFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChlcnIsIGNhbGxzaXRlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5leHRlcm5hbEFzc2VydGlvbkxpYnJhcnlFcnJvcik7XG5cbiAgICAgICAgdGhpcy5lcnJNc2cgICA9IFN0cmluZyhlcnIpO1xuICAgICAgICB0aGlzLmRpZmYgICAgID0gZXJyPy5zaG93RGlmZiAmJiBkaWZmLmdlbmVyYXRlKGVyci5hY3R1YWwsIGVyci5leHBlY3RlZCk7XG4gICAgICAgIHRoaXMuY2FsbHNpdGUgPSBjYWxsc2l0ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBc3NlcnRpb25FeGVjdXRhYmxlQXJndW1lbnRFcnJvciBleHRlbmRzIEFjdGlvbkFyZ3VtZW50RXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoYXJndW1lbnROYW1lLCBhcmd1bWVudFZhbHVlLCBlcnIsIGlzQVBJRXJyb3IpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFzc2VydGlvbkV4ZWN1dGFibGVBcmd1bWVudEVycm9yLCBhcmd1bWVudE5hbWUsIGFyZ3VtZW50VmFsdWUpO1xuXG4gICAgICAgIHRoaXMuZXJyTXNnICAgICAgPSBpc0FQSUVycm9yID8gZXJyLnJhd01lc3NhZ2UgOiBlcnIubWVzc2FnZTtcbiAgICAgICAgdGhpcy5vcmlnaW5FcnJvciA9IGVycjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBc3NlcnRpb25XaXRob3V0TWV0aG9kQ2FsbEVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGNhbGxzaXRlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hc3NlcnRpb25XaXRob3V0TWV0aG9kQ2FsbEVycm9yKTtcblxuICAgICAgICB0aGlzLmNhbGxzaXRlID0gY2FsbHNpdGU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQXNzZXJ0aW9uVW5hd2FpdGVkUHJvbWlzZUVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGNhbGxzaXRlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hc3NlcnRpb25VbmF3YWl0ZWRQcm9taXNlRXJyb3IpO1xuXG4gICAgICAgIHRoaXMuY2FsbHNpdGUgPSBjYWxsc2l0ZTtcbiAgICB9XG59XG5cblxuLy8gQWN0aW9uIHBhcmFtZXRlcnMgZXJyb3JzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBPcHRpb25zIGVycm9yc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGNsYXNzIEFjdGlvbkJvb2xlYW5Bcmd1bWVudEVycm9yIGV4dGVuZHMgQWN0aW9uQXJndW1lbnRFcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChhcmd1bWVudE5hbWUsIGFjdHVhbFZhbHVlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25Cb29sZWFuQXJndW1lbnRFcnJvciwgYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uT3B0aW9uc1R5cGVFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChhY3R1YWxUeXBlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25PcHRpb25zVHlwZUVycm9yKTtcblxuICAgICAgICB0aGlzLmFjdHVhbFR5cGUgPSBhY3R1YWxUeXBlO1xuICAgIH1cbn1cblxuXG4vLyBBcmd1bWVudHMgZXJyb3JzXG5leHBvcnQgY2xhc3MgQWN0aW9uU3RyaW5nQXJndW1lbnRFcnJvciBleHRlbmRzIEFjdGlvbkFyZ3VtZW50RXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uU3RyaW5nQXJndW1lbnRFcnJvciwgYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uTnVsbGFibGVTdHJpbmdBcmd1bWVudEVycm9yIGV4dGVuZHMgQWN0aW9uQXJndW1lbnRFcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChhcmd1bWVudE5hbWUsIGFjdHVhbFZhbHVlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25OdWxsYWJsZVN0cmluZ0FyZ3VtZW50RXJyb3IsIGFyZ3VtZW50TmFtZSwgYWN0dWFsVmFsdWUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbkludGVnZXJBcmd1bWVudEVycm9yIGV4dGVuZHMgQWN0aW9uQXJndW1lbnRFcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChhcmd1bWVudE5hbWUsIGFjdHVhbFZhbHVlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25JbnRlZ2VyQXJndW1lbnRFcnJvciwgYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uUm9sZUFyZ3VtZW50RXJyb3IgZXh0ZW5kcyBBY3Rpb25Bcmd1bWVudEVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGFyZ3VtZW50TmFtZSwgYWN0dWFsVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblJvbGVBcmd1bWVudEVycm9yLCBhcmd1bWVudE5hbWUsIGFjdHVhbFZhbHVlKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25GdW5jdGlvbkFyZ3VtZW50RXJyb3IgZXh0ZW5kcyBBY3Rpb25Bcmd1bWVudEVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGFyZ3VtZW50TmFtZSwgYWN0dWFsVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvbkZ1bmN0aW9uQXJndW1lbnRFcnJvciwgYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uUG9zaXRpdmVJbnRlZ2VyQXJndW1lbnRFcnJvciBleHRlbmRzIEFjdGlvbkFyZ3VtZW50RXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uUG9zaXRpdmVJbnRlZ2VyQXJndW1lbnRFcnJvciwgYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uU3RyaW5nT3JTdHJpbmdBcnJheUFyZ3VtZW50RXJyb3IgZXh0ZW5kcyBBY3Rpb25Bcmd1bWVudEVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGFyZ3VtZW50TmFtZSwgYWN0dWFsVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblN0cmluZ09yU3RyaW5nQXJyYXlBcmd1bWVudEVycm9yLCBhcmd1bWVudE5hbWUsIGFjdHVhbFZhbHVlKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25TdHJpbmdBcnJheUVsZW1lbnRFcnJvciBleHRlbmRzIEFjdGlvbkFyZ3VtZW50RXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSwgZWxlbWVudEluZGV4KSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25TdHJpbmdBcnJheUVsZW1lbnRFcnJvciwgYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSk7XG5cbiAgICAgICAgdGhpcy5lbGVtZW50SW5kZXggPSBlbGVtZW50SW5kZXg7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2V0VGVzdFNwZWVkQXJndW1lbnRFcnJvciBleHRlbmRzIEFjdGlvbkFyZ3VtZW50RXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuc2V0VGVzdFNwZWVkQXJndW1lbnRFcnJvciwgYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uVW5zdXBwb3J0ZWREZXZpY2VUeXBlRXJyb3IgZXh0ZW5kcyBBY3Rpb25Bcmd1bWVudEVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGFyZ3VtZW50TmFtZSwgYXJndW1lbnRWYWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uVW5zdXBwb3J0ZWREZXZpY2VUeXBlRXJyb3IsIGFyZ3VtZW50TmFtZSwgYXJndW1lbnRWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uQ29va2llQXJndW1lbnRFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvbkNvb2tpZUFyZ3VtZW50RXJyb3IpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbkNvb2tpZUFyZ3VtZW50c0Vycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGluZGV4LCB2YWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uQ29va2llQXJndW1lbnRzRXJyb3IpO1xuXG4gICAgICAgIHRoaXMuaW5kZXggICAgICAgPSBpbmRleDtcbiAgICAgICAgdGhpcy5hY3R1YWxWYWx1ZSA9IHZhbHVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvblVybENvb2tpZUFyZ3VtZW50RXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25VcmxDb29raWVBcmd1bWVudEVycm9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25VcmxzQ29va2llQXJndW1lbnRFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChpbmRleCwgdmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblVybHNDb29raWVBcmd1bWVudEVycm9yKTtcblxuICAgICAgICB0aGlzLmluZGV4ICAgICAgID0gaW5kZXg7XG4gICAgICAgIHRoaXMuYWN0dWFsVmFsdWUgPSB2YWx1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25SZXF1aXJlZENvb2tpZUFyZ3VtZW50cyBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblJlcXVpcmVkQ29va2llQXJndW1lbnRzKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25VcmxBcmd1bWVudEVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGFyZ3VtZW50TmFtZSwgYWN0dWFsVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblVybEFyZ3VtZW50RXJyb3IpO1xuXG4gICAgICAgIHRoaXMuYXJndW1lbnROYW1lID0gYXJndW1lbnROYW1lO1xuICAgICAgICB0aGlzLmFjdHVhbFZhbHVlICA9IGFjdHVhbFZhbHVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvblNraXBKc0Vycm9yc0FyZ3VtZW50VHlwZUVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGFyZ3VtZW50TmFtZSwgYWN0dWFsVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblNraXBKc0Vycm9yc0FyZ3VtZW50RXJyb3IpO1xuXG4gICAgICAgIHRoaXMuYXJndW1lbnROYW1lID0gYXJndW1lbnROYW1lO1xuICAgICAgICB0aGlzLmFjdHVhbFZhbHVlICA9IGFjdHVhbFZhbHVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvblNraXBKc0Vycm9yc0RlcGVuZGVuY2llc0FyZ3VtZW50VHlwZUVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGFyZ3VtZW50TmFtZSwgYWN0dWFsVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblNraXBKc0Vycm9yc0RlcGVuZGVuY2llc0FyZ3VtZW50RXJyb3IpO1xuXG4gICAgICAgIHRoaXMuYXJndW1lbnROYW1lID0gYXJndW1lbnROYW1lO1xuICAgICAgICB0aGlzLmFjdHVhbFZhbHVlICA9IGFjdHVhbFZhbHVlO1xuICAgIH1cbn1cblxuXG4vLyBBY3Rpb24gZXhlY3V0aW9uIGVycm9yc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGNsYXNzIFVuY2F1Z2h0RXJyb3JJbkN1c3RvbVNjcmlwdCBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChlcnIsIGV4cHJlc3Npb24sIGxpbmUsIGNvbHVtbiwgY2FsbHNpdGUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLnVuY2F1Z2h0RXJyb3JJbkN1c3RvbVNjcmlwdCk7XG5cbiAgICAgICAgdGhpcy5jYWxsc2l0ZSAgID0gY2FsbHNpdGU7XG4gICAgICAgIHRoaXMuZXhwcmVzc2lvbiA9IGV4cHJlc3Npb247XG4gICAgICAgIHRoaXMubGluZSAgICAgICA9IGxpbmU7XG4gICAgICAgIHRoaXMuY29sdW1uICAgICA9IGNvbHVtbjtcblxuICAgICAgICB0aGlzLm9yaWdpbkVycm9yID0gZXJyO1xuICAgICAgICB0aGlzLmVyck1zZyAgICAgID0gZXJyLm1lc3NhZ2UgfHwgU3RyaW5nKGVycik7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVW5jYXVnaHRUZXN0Q2FmZUVycm9ySW5DdXN0b21TY3JpcHQgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoZXJyLCBleHByZXNzaW9uLCBsaW5lLCBjb2x1bW4sIGNhbGxzaXRlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy51bmNhdWdodFRlc3RDYWZlRXJyb3JJbkN1c3RvbVNjcmlwdCk7XG5cbiAgICAgICAgdGhpcy5jYWxsc2l0ZSAgID0gY2FsbHNpdGU7XG4gICAgICAgIHRoaXMuZXhwcmVzc2lvbiA9IGV4cHJlc3Npb247XG4gICAgICAgIHRoaXMubGluZSAgICAgICA9IGxpbmU7XG4gICAgICAgIHRoaXMuY29sdW1uICAgICA9IGNvbHVtbjtcblxuICAgICAgICB0aGlzLm9yaWdpbkVycm9yID0gZXJyO1xuICAgICAgICB0aGlzLmVyckNhbGxzaXRlID0gZXJyLmNhbGxzaXRlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFdpbmRvd0RpbWVuc2lvbnNPdmVyZmxvd0Vycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGNhbGxzaXRlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy53aW5kb3dEaW1lbnNpb25zT3ZlcmZsb3dFcnJvcik7XG5cbiAgICAgICAgdGhpcy5jYWxsc2l0ZSA9IGNhbGxzaXRlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZvcmJpZGRlbkNoYXJhY3RlcnNJblNjcmVlbnNob3RQYXRoRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoc2NyZWVuc2hvdFBhdGgsIGZvcmJpZGRlbkNoYXJzTGlzdCkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuZm9yYmlkZGVuQ2hhcmFjdGVyc0luU2NyZWVuc2hvdFBhdGhFcnJvcik7XG5cbiAgICAgICAgdGhpcy5zY3JlZW5zaG90UGF0aCAgICAgPSBzY3JlZW5zaG90UGF0aDtcbiAgICAgICAgdGhpcy5mb3JiaWRkZW5DaGFyc0xpc3QgPSBmb3JiaWRkZW5DaGFyc0xpc3Q7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUm9sZVN3aXRjaEluUm9sZUluaXRpYWxpemVyRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoY2FsbHNpdGUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLnJvbGVTd2l0Y2hJblJvbGVJbml0aWFsaXplckVycm9yKTtcblxuICAgICAgICB0aGlzLmNhbGxzaXRlID0gY2FsbHNpdGU7XG4gICAgfVxufVxuXG5cbi8vIE5hdGl2ZSBkaWFsb2cgZXJyb3JzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5leHBvcnQgY2xhc3MgU2V0TmF0aXZlRGlhbG9nSGFuZGxlckNvZGVXcm9uZ1R5cGVFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChhY3R1YWxUeXBlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5zZXROYXRpdmVEaWFsb2dIYW5kbGVyQ29kZVdyb25nVHlwZUVycm9yKTtcblxuICAgICAgICB0aGlzLmFjdHVhbFR5cGUgPSBhY3R1YWxUeXBlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFJlcXVlc3RIb29rQmFzZUVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGNvZGUsIGhvb2tDbGFzc05hbWUsIG1ldGhvZE5hbWUpIHtcbiAgICAgICAgc3VwZXIoY29kZSk7XG5cbiAgICAgICAgdGhpcy5ob29rQ2xhc3NOYW1lID0gaG9va0NsYXNzTmFtZTtcbiAgICAgICAgdGhpcy5tZXRob2ROYW1lICAgID0gbWV0aG9kTmFtZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSZXF1ZXN0SG9va1VuaGFuZGxlZEVycm9yIGV4dGVuZHMgUmVxdWVzdEhvb2tCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yIChlcnIsIGhvb2tDbGFzc05hbWUsIG1ldGhvZE5hbWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLnJlcXVlc3RIb29rVW5oYW5kbGVkRXJyb3IsIGhvb2tDbGFzc05hbWUsIG1ldGhvZE5hbWUpO1xuXG4gICAgICAgIHRoaXMuZXJyTXNnID0gU3RyaW5nKGVycik7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVxdWVzdEhvb2tOb3RJbXBsZW1lbnRlZE1ldGhvZEVycm9yIGV4dGVuZHMgUmVxdWVzdEhvb2tCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yIChtZXRob2ROYW1lLCBob29rQ2xhc3NOYW1lKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5yZXF1ZXN0SG9va05vdEltcGxlbWVudGVkRXJyb3IsIGhvb2tDbGFzc05hbWUsIG1ldGhvZE5hbWUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE11bHRpcGxlV2luZG93c01vZGVJc0Rpc2FibGVkRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAobWV0aG9kTmFtZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMubXVsdGlwbGVXaW5kb3dzTW9kZUlzRGlzYWJsZWRFcnJvcik7XG5cbiAgICAgICAgdGhpcy5tZXRob2ROYW1lID0gbWV0aG9kTmFtZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNdWx0aXBsZVdpbmRvd3NNb2RlSXNOb3RBdmFpbGFibGVJblJlbW90ZUJyb3dzZXJFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChtZXRob2ROYW1lKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5tdWx0aXBsZVdpbmRvd3NNb2RlSXNOb3RTdXBwb3J0ZWRJblJlbW90ZUJyb3dzZXJFcnJvcik7XG5cbiAgICAgICAgdGhpcy5tZXRob2ROYW1lID0gbWV0aG9kTmFtZTtcbiAgICB9XG59XG5cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXJyb3JzL3Rlc3QtcnVuL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0NBQTJDO0FBQzNDLHdEQUEwQztBQUMxQyxnREFBdUQ7QUFDdkQsc0RBQW9DO0FBRXBDLE9BQU87QUFDUCxzRUFBc0U7QUFDdEUsTUFBTSx1QkFBd0IsU0FBUSx5QkFBZ0I7SUFDbEQsWUFBYSxJQUFJLEVBQUUsWUFBWSxFQUFFLFdBQVc7UUFDeEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRVosSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBSSxXQUFXLENBQUM7SUFDcEMsQ0FBQztDQUNKO0FBR0QseUJBQXlCO0FBQ3pCLHNFQUFzRTtBQUN0RSxNQUFhLGlCQUFrQixTQUFRLHlCQUFnQjtJQUNuRCxZQUFhLFFBQVE7UUFDakIsS0FBSyxDQUFDLHVCQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0NBQ0o7QUFORCw4Q0FNQztBQUdELGtCQUFrQjtBQUNsQixzRUFBc0U7QUFDdEUsTUFBYSxtQkFBb0IsU0FBUSx5QkFBZ0I7SUFDckQsWUFBYSxZQUFZLEVBQUUsR0FBRyxFQUFFLFVBQVU7UUFDdEMsS0FBSyxDQUFDLHVCQUFlLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUUzQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFTLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUM5RCxJQUFJLENBQUMsV0FBVyxHQUFJLEdBQUcsQ0FBQztJQUM1QixDQUFD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USxvQkFBb0I7SUFDL0QsWUFBYSxHQUFHLEVBQUUsYUFBYSxFQUFFLFVBQVU7UUFDdkMsS0FBSyxDQUFDLHVCQUFlLENBQUMseUJBQXlCLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTVFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FDSjtBQU5ELDhEQU1DO0FBRUQsTUFBYSxvQ0FBcUMsU0FBUSxvQkFBb0I7SUFDMUUsWUFBYSxVQUFVLEVBQUUsYUFBYTtRQUNsQyxLQUFLLENBQUMsdUJBQWUsQ0FBQyw4QkFBOEIsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDckYsQ0FBQztDQUNKO0FBSkQsb0ZBSUM7QUFFRCxNQUFhLGtDQUFtQyxTQUFRLHlCQUFnQjtJQUNwRSxZQUFhLFVBQVU7UUFDbkIsS0FBSyxDQUFDLHVCQUFlLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUNqQyxDQUFDO0NBQ0o7QUFORCxnRkFNQztBQUVELE1BQWEscURBQXNELFNBQVEseUJBQWdCO0lBQ3ZGLFlBQWEsVUFBVTtRQUNuQixLQUFLLENBQUMsdUJBQWUsQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1FBRTdFLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQ2pDLENBQUM7Q0FDSjtBQU5ELHNIQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVEVTVF9SVU5fRVJST1JTIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0ICogYXMgZGlmZiBmcm9tICcuLi8uLi91dGlscy9kaWZmLyc7XG5pbXBvcnQgeyBUZXN0UnVuRXJyb3JCYXNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Vycm9ycyc7XG5leHBvcnQgKiBmcm9tICcuLi8uLi9zaGFyZWQvZXJyb3JzJztcblxuLy8gQmFzZVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY2xhc3MgQWN0aW9uQXJndW1lbnRFcnJvckJhc2UgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoY29kZSwgYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSkge1xuICAgICAgICBzdXBlcihjb2RlKTtcblxuICAgICAgICB0aGlzLmFyZ3VtZW50TmFtZSA9IGFyZ3VtZW50TmFtZTtcbiAgICAgICAgdGhpcy5hY3R1YWxWYWx1ZSAgPSBhY3R1YWxWYWx1ZTtcbiAgICB9XG59XG5cblxuLy8gU3luY2hyb25pemF0aW9uIGVycm9yc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGNsYXNzIE1pc3NpbmdBd2FpdEVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGNhbGxzaXRlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5taXNzaW5nQXdhaXRFcnJvcik7XG5cbiAgICAgICAgdGhpcy5jYWxsc2l0ZSA9IGNhbGxzaXRlO1xuICAgIH1cbn1cblxuXG4vLyBTZWxlY3RvciBlcnJvcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBjbGFzcyBBY3Rpb25TZWxlY3RvckVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKHNlbGVjdG9yTmFtZSwgZXJyLCBpc0FQSUVycm9yKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25TZWxlY3RvckVycm9yKTtcblxuICAgICAgICB0aGlzLnNlbGVjdG9yTmFtZSA9IHNlbGVjdG9yTmFtZTtcbiAgICAgICAgdGhpcy5lcnJNc2cgICAgICAgPSBpc0FQSUVycm9yID8gZXJyLnJhd01lc3NhZ2UgOiBlcnIubWVzc2FnZTtcbiAgICAgICAgdGhpcy5vcmlnaW5FcnJvciAgPSBlcnI7XG4gICAgfVxufVxuXG5cbi8vIFBhZ2UgZXJyb3JzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5leHBvcnQgY2xhc3MgUGFnZUxvYWRFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChlcnJNc2csIHVybCkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMucGFnZUxvYWRFcnJvcik7XG5cbiAgICAgICAgdGhpcy51cmwgICAgPSB1cmw7XG4gICAgICAgIHRoaXMuZXJyTXNnID0gZXJyTXNnO1xuICAgIH1cbn1cblxuLy8gVGltZW91dCBlcnJvcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBjbGFzcyBUaW1lb3V0RXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAodGltZW91dCwgc2NvcGUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmV4ZWN1dGlvblRpbWVvdXRFeGNlZWRlZCk7XG5cbiAgICAgICAgdGhpcy50aW1lb3V0ID0gdGltZW91dDtcbiAgICAgICAgdGhpcy5zY29wZSAgID0gc2NvcGU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVGVzdFRpbWVvdXRFcnJvciBleHRlbmRzIFRpbWVvdXRFcnJvciB7XG4gICAgY29uc3RydWN0b3IgKHRpbWVvdXQpIHtcbiAgICAgICAgc3VwZXIodGltZW91dCwgJ1Rlc3QnKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSdW5UaW1lb3V0RXJyb3IgZXh0ZW5kcyBUaW1lb3V0RXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yICh0aW1lb3V0KSB7XG4gICAgICAgIHN1cGVyKHRpbWVvdXQsICdSdW4nKTtcbiAgICB9XG59XG5cbi8vIFVuY2F1Z2h0IGVycm9yc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGNsYXNzIFVuY2F1Z2h0RXJyb3JJblRlc3RDb2RlIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGVyciwgY2FsbHNpdGUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLnVuY2F1Z2h0RXJyb3JJblRlc3RDb2RlKTtcblxuICAgICAgICB0aGlzLmVyck1zZyAgICAgID0gU3RyaW5nKGVyci5yYXdNZXNzYWdlIHx8IGVycik7XG4gICAgICAgIHRoaXMuY2FsbHNpdGUgICAgPSBlcnIuY2FsbHNpdGUgfHwgY2FsbHNpdGU7XG4gICAgICAgIHRoaXMub3JpZ2luRXJyb3IgPSBlcnI7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVW5jYXVnaHROb25FcnJvck9iamVjdEluVGVzdENvZGUgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAob2JqKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy51bmNhdWdodE5vbkVycm9yT2JqZWN0SW5UZXN0Q29kZSk7XG5cbiAgICAgICAgdGhpcy5vYmpUeXBlID0gdHlwZW9mIG9iajtcbiAgICAgICAgdGhpcy5vYmpTdHIgID0gU3RyaW5nKG9iaik7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVW5oYW5kbGVkUHJvbWlzZVJlamVjdGlvbkVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGVycikge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMudW5oYW5kbGVkUHJvbWlzZVJlamVjdGlvbik7XG5cbiAgICAgICAgdGhpcy5lcnJNc2cgPSBTdHJpbmcoZXJyKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVbmNhdWdodEV4Y2VwdGlvbkVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGVycikge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFeGNlcHRpb24pO1xuXG4gICAgICAgIHRoaXMuZXJyTXNnID0gU3RyaW5nKGVycik7XG4gICAgfVxufVxuXG5cbi8vIEFzc2VydGlvbiBlcnJvcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBjbGFzcyBFeHRlcm5hbEFzc2VydGlvbkxpYnJhcnlFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChlcnIsIGNhbGxzaXRlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5leHRlcm5hbEFzc2VydGlvbkxpYnJhcnlFcnJvcik7XG5cbiAgICAgICAgdGhpcy5lcnJNc2cgICA9IFN0cmluZyhlcnIpO1xuICAgICAgICB0aGlzLmRpZmYgICAgID0gZXJyPy5zaG93RGlmZiAmJiBkaWZmLmdlbmVyYXRlKGVyci5hY3R1YWwsIGVyci5leHBlY3RlZCk7XG4gICAgICAgIHRoaXMuY2FsbHNpdGUgPSBjYWxsc2l0ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBc3NlcnRpb25FeGVjdXRhYmxlQXJndW1lbnRFcnJvciBleHRlbmRzIEFjdGlvbkFyZ3VtZW50RXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoYXJndW1lbnROYW1lLCBhcmd1bWVudFZhbHVlLCBlcnIsIGlzQVBJRXJyb3IpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFzc2VydGlvbkV4ZWN1dGFibGVBcmd1bWVudEVycm9yLCBhcmd1bWVudE5hbWUsIGFyZ3VtZW50VmFsdWUpO1xuXG4gICAgICAgIHRoaXMuZXJyTXNnICAgICAgPSBpc0FQSUVycm9yID8gZXJyLnJhd01lc3NhZ2UgOiBlcnIubWVzc2FnZTtcbiAgICAgICAgdGhpcy5vcmlnaW5FcnJvciA9IGVycjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBc3NlcnRpb25XaXRob3V0TWV0aG9kQ2FsbEVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGNhbGxzaXRlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hc3NlcnRpb25XaXRob3V0TWV0aG9kQ2FsbEVycm9yKTtcblxuICAgICAgICB0aGlzLmNhbGxzaXRlID0gY2FsbHNpdGU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQXNzZXJ0aW9uVW5hd2FpdGVkUHJvbWlzZUVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGNhbGxzaXRlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hc3NlcnRpb25VbmF3YWl0ZWRQcm9taXNlRXJyb3IpO1xuXG4gICAgICAgIHRoaXMuY2FsbHNpdGUgPSBjYWxsc2l0ZTtcbiAgICB9XG59XG5cblxuLy8gQWN0aW9uIHBhcmFtZXRlcnMgZXJyb3JzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBPcHRpb25zIGVycm9yc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGNsYXNzIEFjdGlvbkJvb2xlYW5Bcmd1bWVudEVycm9yIGV4dGVuZHMgQWN0aW9uQXJndW1lbnRFcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChhcmd1bWVudE5hbWUsIGFjdHVhbFZhbHVlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25Cb29sZWFuQXJndW1lbnRFcnJvciwgYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uT3B0aW9uc1R5cGVFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChhY3R1YWxUeXBlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25PcHRpb25zVHlwZUVycm9yKTtcblxuICAgICAgICB0aGlzLmFjdHVhbFR5cGUgPSBhY3R1YWxUeXBlO1xuICAgIH1cbn1cblxuXG4vLyBBcmd1bWVudHMgZXJyb3JzXG5leHBvcnQgY2xhc3MgQWN0aW9uU3RyaW5nQXJndW1lbnRFcnJvciBleHRlbmRzIEFjdGlvbkFyZ3VtZW50RXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uU3RyaW5nQXJndW1lbnRFcnJvciwgYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uTnVsbGFibGVTdHJpbmdBcmd1bWVudEVycm9yIGV4dGVuZHMgQWN0aW9uQXJndW1lbnRFcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChhcmd1bWVudE5hbWUsIGFjdHVhbFZhbHVlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25OdWxsYWJsZVN0cmluZ0FyZ3VtZW50RXJyb3IsIGFyZ3VtZW50TmFtZSwgYWN0dWFsVmFsdWUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbkludGVnZXJBcmd1bWVudEVycm9yIGV4dGVuZHMgQWN0aW9uQXJndW1lbnRFcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChhcmd1bWVudE5hbWUsIGFjdHVhbFZhbHVlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25JbnRlZ2VyQXJndW1lbnRFcnJvciwgYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uUm9sZUFyZ3VtZW50RXJyb3IgZXh0ZW5kcyBBY3Rpb25Bcmd1bWVudEVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGFyZ3VtZW50TmFtZSwgYWN0dWFsVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblJvbGVBcmd1bWVudEVycm9yLCBhcmd1bWVudE5hbWUsIGFjdHVhbFZhbHVlKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25GdW5jdGlvbkFyZ3VtZW50RXJyb3IgZXh0ZW5kcyBBY3Rpb25Bcmd1bWVudEVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGFyZ3VtZW50TmFtZSwgYWN0dWFsVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvbkZ1bmN0aW9uQXJndW1lbnRFcnJvciwgYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uUG9zaXRpdmVJbnRlZ2VyQXJndW1lbnRFcnJvciBleHRlbmRzIEFjdGlvbkFyZ3VtZW50RXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uUG9zaXRpdmVJbnRlZ2VyQXJndW1lbnRFcnJvciwgYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uU3RyaW5nT3JTdHJpbmdBcnJheUFyZ3VtZW50RXJyb3IgZXh0ZW5kcyBBY3Rpb25Bcmd1bWVudEVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGFyZ3VtZW50TmFtZSwgYWN0dWFsVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblN0cmluZ09yU3RyaW5nQXJyYXlBcmd1bWVudEVycm9yLCBhcmd1bWVudE5hbWUsIGFjdHVhbFZhbHVlKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25TdHJpbmdBcnJheUVsZW1lbnRFcnJvciBleHRlbmRzIEFjdGlvbkFyZ3VtZW50RXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSwgZWxlbWVudEluZGV4KSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25TdHJpbmdBcnJheUVsZW1lbnRFcnJvciwgYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSk7XG5cbiAgICAgICAgdGhpcy5lbGVtZW50SW5kZXggPSBlbGVtZW50SW5kZXg7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2V0VGVzdFNwZWVkQXJndW1lbnRFcnJvciBleHRlbmRzIEFjdGlvbkFyZ3VtZW50RXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuc2V0VGVzdFNwZWVkQXJndW1lbnRFcnJvciwgYXJndW1lbnROYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uVW5zdXBwb3J0ZWREZXZpY2VUeXBlRXJyb3IgZXh0ZW5kcyBBY3Rpb25Bcmd1bWVudEVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGFyZ3VtZW50TmFtZSwgYXJndW1lbnRWYWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uVW5zdXBwb3J0ZWREZXZpY2VUeXBlRXJyb3IsIGFyZ3VtZW50TmFtZSwgYXJndW1lbnRWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uQ29va2llQXJndW1lbnRFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvbkNvb2tpZUFyZ3VtZW50RXJyb3IpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbkNvb2tpZUFyZ3VtZW50c0Vycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGluZGV4LCB2YWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uQ29va2llQXJndW1lbnRzRXJyb3IpO1xuXG4gICAgICAgIHRoaXMuaW5kZXggICAgICAgPSBpbmRleDtcbiAgICAgICAgdGhpcy5hY3R1YWxWYWx1ZSA9IHZhbHVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvblVybENvb2tpZUFyZ3VtZW50RXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25VcmxDb29raWVBcmd1bWVudEVycm9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25VcmxzQ29va2llQXJndW1lbnRFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChpbmRleCwgdmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblVybHNDb29raWVBcmd1bWVudEVycm9yKTtcblxuICAgICAgICB0aGlzLmluZGV4ICAgICAgID0gaW5kZXg7XG4gICAgICAgIHRoaXMuYWN0dWFsVmFsdWUgPSB2YWx1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25SZXF1aXJlZENvb2tpZUFyZ3VtZW50cyBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblJlcXVpcmVkQ29va2llQXJndW1lbnRzKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25VcmxBcmd1bWVudEVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGFyZ3VtZW50TmFtZSwgYWN0dWFsVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblVybEFyZ3VtZW50RXJyb3IpO1xuXG4gICAgICAgIHRoaXMuYXJndW1lbnROYW1lID0gYXJndW1lbnROYW1lO1xuICAgICAgICB0aGlzLmFjdHVhbFZhbHVlICA9IGFjdHVhbFZhbHVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvblNraXBKc0Vycm9yc0FyZ3VtZW50VHlwZUVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGFyZ3VtZW50TmFtZSwgYWN0dWFsVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblNraXBKc0Vycm9yc0FyZ3VtZW50RXJyb3IpO1xuXG4gICAgICAgIHRoaXMuYXJndW1lbnROYW1lID0gYXJndW1lbnROYW1lO1xuICAgICAgICB0aGlzLmFjdHVhbFZhbHVlICA9IGFjdHVhbFZhbHVlO1xuICAgIH1cbn1cblxuLy8gQWN0aW9uIGV4ZWN1dGlvbiBlcnJvcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBjbGFzcyBVbmNhdWdodEVycm9ySW5DdXN0b21TY3JpcHQgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoZXJyLCBleHByZXNzaW9uLCBsaW5lLCBjb2x1bW4sIGNhbGxzaXRlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy51bmNhdWdodEVycm9ySW5DdXN0b21TY3JpcHQpO1xuXG4gICAgICAgIHRoaXMuY2FsbHNpdGUgICA9IGNhbGxzaXRlO1xuICAgICAgICB0aGlzLmV4cHJlc3Npb24gPSBleHByZXNzaW9uO1xuICAgICAgICB0aGlzLmxpbmUgICAgICAgPSBsaW5lO1xuICAgICAgICB0aGlzLmNvbHVtbiAgICAgPSBjb2x1bW47XG5cbiAgICAgICAgdGhpcy5vcmlnaW5FcnJvciA9IGVycjtcbiAgICAgICAgdGhpcy5lcnJNc2cgICAgICA9IGVyci5tZXNzYWdlIHx8IFN0cmluZyhlcnIpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFVuY2F1Z2h0VGVzdENhZmVFcnJvckluQ3VzdG9tU2NyaXB0IGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGVyciwgZXhwcmVzc2lvbiwgbGluZSwgY29sdW1uLCBjYWxsc2l0ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRUZXN0Q2FmZUVycm9ySW5DdXN0b21TY3JpcHQpO1xuXG4gICAgICAgIHRoaXMuY2FsbHNpdGUgICA9IGNhbGxzaXRlO1xuICAgICAgICB0aGlzLmV4cHJlc3Npb24gPSBleHByZXNzaW9uO1xuICAgICAgICB0aGlzLmxpbmUgICAgICAgPSBsaW5lO1xuICAgICAgICB0aGlzLmNvbHVtbiAgICAgPSBjb2x1bW47XG5cbiAgICAgICAgdGhpcy5vcmlnaW5FcnJvciA9IGVycjtcbiAgICAgICAgdGhpcy5lcnJDYWxsc2l0ZSA9IGVyci5jYWxsc2l0ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBXaW5kb3dEaW1lbnNpb25zT3ZlcmZsb3dFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChjYWxsc2l0ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMud2luZG93RGltZW5zaW9uc092ZXJmbG93RXJyb3IpO1xuXG4gICAgICAgIHRoaXMuY2FsbHNpdGUgPSBjYWxsc2l0ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGb3JiaWRkZW5DaGFyYWN0ZXJzSW5TY3JlZW5zaG90UGF0aEVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKHNjcmVlbnNob3RQYXRoLCBmb3JiaWRkZW5DaGFyc0xpc3QpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmZvcmJpZGRlbkNoYXJhY3RlcnNJblNjcmVlbnNob3RQYXRoRXJyb3IpO1xuXG4gICAgICAgIHRoaXMuc2NyZWVuc2hvdFBhdGggICAgID0gc2NyZWVuc2hvdFBhdGg7XG4gICAgICAgIHRoaXMuZm9yYmlkZGVuQ2hhcnNMaXN0ID0gZm9yYmlkZGVuQ2hhcnNMaXN0O1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFJvbGVTd2l0Y2hJblJvbGVJbml0aWFsaXplckVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGNhbGxzaXRlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5yb2xlU3dpdGNoSW5Sb2xlSW5pdGlhbGl6ZXJFcnJvcik7XG5cbiAgICAgICAgdGhpcy5jYWxsc2l0ZSA9IGNhbGxzaXRlO1xuICAgIH1cbn1cblxuXG4vLyBOYXRpdmUgZGlhbG9nIGVycm9yc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGNsYXNzIFNldE5hdGl2ZURpYWxvZ0hhbmRsZXJDb2RlV3JvbmdUeXBlRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoYWN0dWFsVHlwZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuc2V0TmF0aXZlRGlhbG9nSGFuZGxlckNvZGVXcm9uZ1R5cGVFcnJvcik7XG5cbiAgICAgICAgdGhpcy5hY3R1YWxUeXBlID0gYWN0dWFsVHlwZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSZXF1ZXN0SG9va0Jhc2VFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChjb2RlLCBob29rQ2xhc3NOYW1lLCBtZXRob2ROYW1lKSB7XG4gICAgICAgIHN1cGVyKGNvZGUpO1xuXG4gICAgICAgIHRoaXMuaG9va0NsYXNzTmFtZSA9IGhvb2tDbGFzc05hbWU7XG4gICAgICAgIHRoaXMubWV0aG9kTmFtZSAgICA9IG1ldGhvZE5hbWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVxdWVzdEhvb2tVbmhhbmRsZWRFcnJvciBleHRlbmRzIFJlcXVlc3RIb29rQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3RvciAoZXJyLCBob29rQ2xhc3NOYW1lLCBtZXRob2ROYW1lKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5yZXF1ZXN0SG9va1VuaGFuZGxlZEVycm9yLCBob29rQ2xhc3NOYW1lLCBtZXRob2ROYW1lKTtcblxuICAgICAgICB0aGlzLmVyck1zZyA9IFN0cmluZyhlcnIpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFJlcXVlc3RIb29rTm90SW1wbGVtZW50ZWRNZXRob2RFcnJvciBleHRlbmRzIFJlcXVlc3RIb29rQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3RvciAobWV0aG9kTmFtZSwgaG9va0NsYXNzTmFtZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMucmVxdWVzdEhvb2tOb3RJbXBsZW1lbnRlZEVycm9yLCBob29rQ2xhc3NOYW1lLCBtZXRob2ROYW1lKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNdWx0aXBsZVdpbmRvd3NNb2RlSXNEaXNhYmxlZEVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKG1ldGhvZE5hbWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLm11bHRpcGxlV2luZG93c01vZGVJc0Rpc2FibGVkRXJyb3IpO1xuXG4gICAgICAgIHRoaXMubWV0aG9kTmFtZSA9IG1ldGhvZE5hbWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTXVsdGlwbGVXaW5kb3dzTW9kZUlzTm90QXZhaWxhYmxlSW5SZW1vdGVCcm93c2VyRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAobWV0aG9kTmFtZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMubXVsdGlwbGVXaW5kb3dzTW9kZUlzTm90U3VwcG9ydGVkSW5SZW1vdGVCcm93c2VyRXJyb3IpO1xuXG4gICAgICAgIHRoaXMubWV0aG9kTmFtZSA9IG1ldGhvZE5hbWU7XG4gICAgfVxufVxuXG4iXX0= |
@@ -350,7 +350,7 @@ "use strict"; | ||
`, | ||
[types_1.TEST_RUN_ERRORS.actionSkipJsErrorsDependenciesArgumentError]: err => ` | ||
Cannot execute the skipJsErrors method. The value of the "dependencies" argument belongs to an unsupported type (${err.actualValue}). The "dependencies" argument only supports the Object data type. | ||
[types_1.TEST_RUN_ERRORS.actionFunctionOptionError]: err => ` | ||
The value of the "${err.optionName}" option belongs to an unsupported data type (${err.actualValue}). The "${err.optionName}" option only accepts function types values. | ||
`, | ||
}; | ||
module.exports = exports.default; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vycm9ycy90ZXN0LXJ1bi90ZW1wbGF0ZXMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtQ0FBOEM7QUFDOUMsb0NBQTJDO0FBQzNDLG1DQU9pQjtBQUVqQixNQUFNLGNBQWMsR0FBRztJQUNuQixjQUFjLEVBQU8sMEVBQTBFO0lBQy9GLG1CQUFtQixFQUFFLCtEQUErRDtJQUNwRixhQUFhLEVBQVEsNEVBQTRFO0lBQ2pHLG1CQUFtQixFQUFFLG1GQUFtRjtDQUMzRyxDQUFDO0FBRUYsa0JBQWU7SUFDWCxDQUFDLHVCQUFlLENBQUMsd0JBQXdCLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO2VBQ3hDLEdBQUcsQ0FBQyxVQUFVLHFEQUFxRCxHQUFHLENBQUMsV0FBVztLQUM1RjtJQUVELENBQUMsdUJBQWUsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7ZUFDaEQsR0FBRyxDQUFDLFVBQVUsNkRBQTZELEdBQUcsQ0FBQyxXQUFXO0tBQ3BHO0lBRUQsQ0FBQyx1QkFBZSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztlQUN4QyxHQUFHLENBQUMsVUFBVSwwREFBMEQsR0FBRyxDQUFDLFdBQVc7S0FDakc7SUFFRCxDQUFDLHVCQUFlLENBQUMsc0JBQXNCLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO2VBQ3RDLEdBQUcsQ0FBQyxVQUFVLHNFQUFzRSxHQUFHLENBQUMsV0FBVztLQUM3RztJQUVELENBQUMsdUJBQWUsQ0FBQyxhQUFhLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO3FDQUNQLElBQUEsaUJBQVMsRUFBQyxHQUFHLENBQUMsR0FBRyxDQUFDOztxRUFFYyxJQUFBLGlCQUFTLEVBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDOzs7VUFHeEcsR0FBRyxDQUFDLE1B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R0FBRyxDQUFDLFlBQVksOENBQThDLEdBQUcsQ0FBQyxXQUFXLFdBQVcsR0FBRyxDQUFDLFlBQVk7S0FDdks7SUFFRCxDQUFDLHVCQUFlLENBQUMsMkNBQTJDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDOzJIQUNpRCxHQUFHLENBQUMsV0FBVztLQUNySTtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlc2NhcGUgYXMgZXNjYXBlSHRtbCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBURVNUX1JVTl9FUlJPUlMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge1xuICAgIHJlbmRlckZvcmJpZGRlbkNoYXJzTGlzdCxcbiAgICByZW5kZXJEaWZmLFxuICAgIGZvcm1hdFNlbGVjdG9yQ2FsbHN0YWNrLFxuICAgIGZvcm1hdFVybCxcbiAgICByZXBsYWNlTGVhZGluZ1NwYWNlc1dpdGhOYnNwLFxuICAgIGZvcm1hdEV4cHJlc3Npb25NZXNzYWdlLFxufSBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgRVhURVJOQUxfTElOS1MgPSB7XG4gICAgY3JlYXRlTmV3SXNzdWU6ICAgICAgJ2h0dHBzOi8vZ2l0aHViLmNvbS9EZXZFeHByZXNzL3Rlc3RjYWZlL2lzc3Vlcy9uZXc/dGVtcGxhdGU9YnVnLXJlcG9ydC5tZCcsXG4gICAgdHJvdWJsZXNob290TmV0d29yazogJ2h0dHBzOi8vZ28uZGV2ZXhwcmVzcy5jb20vVGVzdENhZmVfRkFRX0FSZXF1ZXN0SGFzRmFpbGVkLmFzcHgnLFxuICAgIHZpZXdwb3J0U2l6ZXM6ICAgICAgICdodHRwczovL2dpdGh1Yi5jb20vRGV2RXhwcmVzcy9kZXZpY2Utc3BlY3MvYmxvYi9tYXN0ZXIvdmlld3BvcnQtc2l6ZXMuanNvbicsXG4gICAgc2tpcEpzRXJyb3JzUmVjaXBlczogJ2h0dHBzOi8vdGVzdGNhZmUuaW8vZG9jdW1lbnRhdGlvbi80MDQwMzgvcmVjaXBlcy9kZWJ1Z2dpbmcvc2tpcC1qYXZhc2NyaXB0LWVycm9ycycsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25JbnRlZ2VyT3B0aW9uRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBpcyBleHBlY3RlZCB0byBiZSBhbiBpbnRlZ2VyLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25Qb3NpdGl2ZUludGVnZXJPcHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGEgcG9zaXRpdmUgaW50ZWdlciwgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxWYWx1ZX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uQm9vbGVhbk9wdGlvbkVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgYSBib29sZWFuIHZhbHVlLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25TcGVlZE9wdGlvbkVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgYSBudW1iZXIgYmV0d2VlbiAwLjAxIGFuZCAxLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5wYWdlTG9hZEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgRmFpbGVkIHRvIGxvYWQgdGhlIHBhZ2UgYXQgJHtmb3JtYXRVcmwoZXJyLnVybCl9LlxuICAgICAgICBJbmNyZWFzZSB0aGUgdmFsdWUgb2YgdGhlIFwicGFnZVJlcXVlc3RUaW1lb3V0XCIgdmFyaWFibGUsIGVuYWJsZSB0aGUgXCJyZXRyeVRlc3RQYWdlc1wiIG9wdGlvbiwgb3IgdXNlIHF1YXJhbnRpbmUgbW9kZSB0byBwZXJmb3JtIGFkZGl0aW9uYWwgYXR0ZW1wdHMgdG8gZXhlY3V0ZSB0aGlzIHRlc3QuXG4gICAgICAgIFlvdSBjYW4gZmluZCB0cm91Ymxlc2hvb3RpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgaXNzdWUgYXQgJHtmb3JtYXRVcmwoRVhURVJOQUxfTElOS1MudHJvdWJsZXNob290TmV0d29yayl9LlxuXG4gICAgICAgIEVycm9yIGRldGFpbHM6XG4gICAgICAgICR7ZXJyLmVyck1zZ31cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy51bmNhdWdodEVycm9yT25QYWdlXTogZXJyID0+IGBcbiAgICAgICAgQSBKYXZhU2NyaXB0IGVycm9yIG9jY3VycmVkIG9uICR7Zm9ybWF0VXJsKGVyci5wYWdlRGVzdFVybCl9LlxuICAgICAgICBSZXBlYXQgdGVzdCBhY3Rpb25zIGluIHRoZSBicm93c2VyIGFuZCBjaGVjayB0aGUgY29uc29sZSBmb3IgZXJyb3JzLlxuICAgICAgICBFbmFibGUgdGhlIOKAnHNraXBKc0Vycm9yc+KAnSBvcHRpb24gdG8gaWdub3JlIEphdmFTY3JpcHQgZXJyb3JzIGR1cmluZyB0ZXN0IGV4ZWN1dGlvbi4gTGVhcm4gbW9yZTogJHtmb3JtYXRVcmwoRVhURVJOQUxfTElOS1Muc2tpcEpzRXJyb3JzUmVjaXBlcyl9XG4gICAgICAgIElmIHRoZSB3ZWJzaXRlIG9ubHkgdGhyb3dzIHRoaXMgZXJyb3Igd2hlbiB5b3UgdGVzdCBpdCB3aXRoIFRlc3RDYWZlLCBwbGVhc2UgY3JlYXRlIGEgbmV3IGlzc3VlIGF0OlxuICAgICAgICAke2Zvcm1hdFVybChFWFRFUk5BTF9MSU5LUy5jcmVhdGVOZXdJc3N1ZSl9LlxuXG4gICAgICAgIEphdmFTY3JpcHQgZXJyb3IgZGV0YWlsczpcbiAgICAgICAgJHtyZXBsYWNlTGVhZGluZ1NwYWNlc1dpdGhOYnNwKGVzY2FwZUh0bWwoZXJyLmVyclN0YWNrKSl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFcnJvckluVGVzdENvZGVdOiBlcnIgPT4gYFxuICAgICAgICAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMubmF0aXZlRGlhbG9nTm90SGFuZGxlZEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgQSBuYXRpdmUgJHtlcnIuZGlhbG9nVHlwZX0gZGlhbG9nIHdhcyBpbnZva2VkIG9uIHBhZ2UgJHtmb3JtYXRVcmwoZXJyLnBhZ2VVcmwpfSwgYnV0IG5vIGhhbmRsZXIgd2FzIHNldCBmb3IgaXQuIFVzZSB0aGUgXCJzZXROYXRpdmVEaWFsb2dIYW5kbGVyXCIgZnVuY3Rpb24gdG8gaW50cm9kdWNlIGEgaGFuZGxlciBmdW5jdGlvbiBmb3IgbmF0aXZlIGRpYWxvZ3MuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFcnJvckluTmF0aXZlRGlhbG9nSGFuZGxlcl06IGVyciA9PiBgXG4gICAgICAgIEFuIGVycm9yIG9jY3VycmVkIGluIHRoZSBuYXRpdmUgZGlhbG9nIGhhbmRsZXIgY2FsbGVkIGZvciBhIG5hdGl2ZSAke2Vyci5kaWFsb2dUeXBlfSBkaWFsb2cgb24gcGFnZSAke2Zvcm1hdFVybChlcnIucGFnZVVybCl9OlxuXG4gICAgICAgICR7ZXNjYXBlSHRtbChlcnIuZXJyTXNnKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5zZXRUZXN0U3BlZWRBcmd1bWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgU3BlZWQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBudW1iZXIgYmV0d2VlbiAwLjAxIGFuZCAxLCBidXQgJHtlcnIuYWN0dWFsVmFsdWV9IHdhcyBwYXNzZWQuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuc2V0TmF0aXZlRGlhbG9nSGFuZGxlckNvZGVXcm9uZ1R5cGVFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBuYXRpdmUgZGlhbG9nIGhhbmRsZXIgaXMgZXhwZWN0ZWQgdG8gYmUgYSBmdW5jdGlvbiwgQ2xpZW50RnVuY3Rpb24gb3IgbnVsbCwgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxUeXBlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy51bmNhdWdodEVycm9ySW5DbGllbnRGdW5jdGlvbkNvZGVdOiBlcnIgPT4gYFxuICAgICAgICBBbiBlcnJvciBvY2N1cnJlZCBpbiAke2Vyci5pbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lfSBjb2RlOlxuXG4gICAgICAgICR7ZXNjYXBlSHRtbChlcnIuZXJyTXNnKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy51bmNhdWdodEVycm9ySW5DdXN0b21ET01Qcm9wZXJ0eUNvZGVdOiBlcnIgPT4gYFxuICAgICAgICBBbiBlcnJvciBvY2N1cnJlZCB3aGVuIHRyeWluZyB0byBjYWxjdWxhdGUgYSBjdXN0b20gU2VsZWN0b3IgcHJvcGVydHkgXCIke2Vyci5wcm9wZXJ0eX1cIjpcblxuICAgICAgICAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuY2xpZW50RnVuY3Rpb25FeGVjdXRpb25JbnRlcnJ1cHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgICR7ZXJyLmluc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWV9IGV4ZWN1dGlvbiB3YXMgaW50ZXJydXB0ZWQgYnkgcGFnZSB1bmxvYWQuIFRoaXMgcHJvYmxlbSBtYXkgYXBwZWFyIGlmIHlvdSB0cmlnZ2VyIHBhZ2UgbmF2aWdhdGlvbiBmcm9tICR7ZXJyLmluc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWV9IGNvZGUuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMudW5jYXVnaHROb25FcnJvck9iamVjdEluVGVzdENvZGVdOiBlcnIgPT4gYFxuICAgICAgICBVbmNhdWdodCAke2Vyci5vYmpUeXBlfSBcIiR7ZXNjYXBlSHRtbChlcnIub2JqU3RyKX1cIiB3YXMgdGhyb3duLiBUaHJvdyBFcnJvciBpbnN0ZWFkLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnVuaGFuZGxlZFByb21pc2VSZWplY3Rpb25dOiBlcnIgPT4gYFxuICAgICAgICBVbmhhbmRsZWQgcHJvbWlzZSByZWplY3Rpb246XG5cbiAgICAgICAgJHtlc2NhcGVIdG1sKGVyci5lcnJNc2cpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnVuY2F1Z2h0RXhjZXB0aW9uXTogZXJyID0+IGBcbiAgICAgICAgVW5jYXVnaHQgZXhjZXB0aW9uOlxuXG4gICAgICAgICR7ZXNjYXBlSHRtbChlcnIuZXJyTXNnKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25PcHRpb25zVHlwZUVycm9yXTogZXJyID0+IGBcbiAgICAgICAgQWN0aW9uIG9wdGlvbnMgaXMgZXhwZWN0ZWQgdG8gYmUgYW4gb2JqZWN0LCBudWxsIG9yIHVuZGVmaW5lZCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFR5cGV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblN0cmluZ0FyZ3VtZW50RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgYXJndW1lbnQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBub24tZW1wdHkgc3RyaW5nLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25Cb29sZWFuQXJndW1lbnRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBpcyBleHBlY3RlZCB0byBiZSBhIGJvb2xlYW4gdmFsdWUsIGJ1dCBpdCB3YXMgJHtlcnIuYWN0dWFsVmFsdWV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbk51bGxhYmxlU3RyaW5nQXJndW1lbnRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBpcyBleHBlY3RlZCB0byBiZSBhIG51bGwgb3IgYSBzdHJpbmcsIGJ1dCBpdCB3YXMgJHtlcnIuYWN0dWFsVmFsdWV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblN0cmluZ09yU3RyaW5nQXJyYXlBcmd1bWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGFyZ3VtZW50IGlzIGV4cGVjdGVkIHRvIGJlIGEgbm9uLWVtcHR5IHN0cmluZyBvciBhIHN0cmluZyBhcnJheSwgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxWYWx1ZX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uU3RyaW5nQXJyYXlFbGVtZW50RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBFbGVtZW50cyBvZiB0aGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgYXJndW1lbnQgYXJlIGV4cGVjdGVkIHRvIGJlIG5vbi1lbXB0eSBzdHJpbmdzLCBidXQgdGhlIGVsZW1lbnQgYXQgaW5kZXggJHtlcnIuZWxlbWVudEluZGV4fSB3YXMgJHtlcnIuYWN0dWFsVmFsdWV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblJlcXVpcmVkQ29va2llQXJndW1lbnRzXTogKCkgPT4gYFxuICAgICAgICBUaGUgbWFuZGF0b3J5IFwiY29va2llc1wiIGFyZ3VtZW50IGlzIG1pc3NpbmcuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uQ29va2llQXJndW1lbnRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIHZhbHVlIG9mIHRoZSBcImNvb2tpZXNcIiBhcmd1bWVudCBkb2VzIG5vdCBiZWxvbmcgdG8gYW4gYWNjZXB0YWJsZSBkYXRhIHR5cGU6IE9iamVjdCwgU3RyaW5nLCBvciBBcnJheSBvZiBvYmplY3RzIG9yIHN0cmluZ3MuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uQ29va2llQXJndW1lbnRzRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgdmFsdWUgb2YgY29va2llIG51bWJlciAke2Vyci5pbmRleCArIDF9ICgke2Vyci5hY3R1YWxWYWx1ZX0pIGRvZXMgbm90IGJlbG9uZyB0byBhbiBhY2NlcHRhYmxlIGRhdGEgdHlwZTogT2JqZWN0IG9yIFN0cmluZy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25VcmxDb29raWVBcmd1bWVudEVycm9yXTogKCkgPT4gYFxuICAgICAgICBDb3VsZCBub3QgcGFyc2UgdGhlIHVybCBwYXJhbWV0ZXIuIENoZWNrIHRoZSB2YWx1ZSBmb3IgZm9ybWF0dGluZyBlcnJvcnMuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uVXJsc0Nvb2tpZUFyZ3VtZW50RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBDb3VsZCBub3QgcGFyc2UgdXJsIG51bWJlciAke2Vyci5pbmRleCArIDF9ICgke2Vyci5hY3R1YWxWYWx1ZX0pLiBDaGVjayB0aGUgdmFsdWUgZm9yIGZvcm1hdHRpbmcgZXJyb3JzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkludGVnZXJBcmd1bWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGFyZ3VtZW50IGlzIGV4cGVjdGVkIHRvIGJlIGFuIGludGVnZXIsIGJ1dCBpdCB3YXMgJHtlcnIuYWN0dWFsVmFsdWV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblJvbGVBcmd1bWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGFyZ3VtZW50IGlzIGV4cGVjdGVkIHRvIGJlIGEgUm9sZSBpbnN0YW5jZSwgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxWYWx1ZX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uRnVuY3Rpb25Bcmd1bWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGFyZ3VtZW50IGlzIGV4cGVjdGVkIHRvIGJlIGEgZnVuY3Rpb24sIGJ1dCBpdCB3YXMgJHtlcnIuYWN0dWFsVmFsdWV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblBvc2l0aXZlSW50ZWdlckFyZ3VtZW50RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgYXJndW1lbnQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25FbGVtZW50Tm90Rm91bmRFcnJvcl06IChlcnIsIHZpZXdwb3J0V2lkdGgpID0+IGBcbiAgICAgICAgVGhlIHNwZWNpZmllZCBzZWxlY3RvciBkb2VzIG5vdCBtYXRjaCBhbnkgZWxlbWVudCBpbiB0aGUgRE9NIHRyZWUuXG5cbiAgICAgICAgJHtmb3JtYXRTZWxlY3RvckNhbGxzdGFjayhlcnIuYXBpRm5DaGFpbiwgZXJyLmFwaUZuSW5kZXgsIHZpZXdwb3J0V2lkdGgpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkVsZW1lbnRJc0ludmlzaWJsZUVycm9yXTogKCkgPT4gYFxuICAgICAgICBUaGUgZWxlbWVudCB0aGF0IG1hdGNoZXMgdGhlIHNwZWNpZmllZCBzZWxlY3RvciBpcyBub3QgdmlzaWJsZS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25TZWxlY3Rvck1hdGNoZXNXcm9uZ05vZGVUeXBlRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgc3BlY2lmaWVkIHNlbGVjdG9yIGlzIGV4cGVjdGVkIHRvIG1hdGNoIGEgRE9NIGVsZW1lbnQsIGJ1dCBpdCBtYXRjaGVzIGEgJHtlcnIubm9kZURlc2NyaXB0aW9ufSBub2RlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkFkZGl0aW9uYWxFbGVtZW50Tm90Rm91bmRFcnJvcl06IChlcnIsIHZpZXdwb3J0V2lkdGgpID0+IGBcbiAgICAgICAgVGhlIHNwZWNpZmllZCBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBkb2VzIG5vdCBtYXRjaCBhbnkgZWxlbWVudCBpbiB0aGUgRE9NIHRyZWUuXG5cbiAgICAgICAgJHtmb3JtYXRTZWxlY3RvckNhbGxzdGFjayhlcnIuYXBpRm5DaGFpbiwgZXJyLmFwaUZuSW5kZXgsIHZpZXdwb3J0V2lkdGgpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkFkZGl0aW9uYWxFbGVtZW50SXNJbnZpc2libGVFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBlbGVtZW50IHRoYXQgbWF0Y2hlcyB0aGUgc3BlY2lmaWVkIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGlzIG5vdCB2aXNpYmxlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkFkZGl0aW9uYWxTZWxlY3Rvck1hdGNoZXNXcm9uZ05vZGVUeXBlRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgc3BlY2lmaWVkIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGlzIGV4cGVjdGVkIHRvIG1hdGNoIGEgRE9NIGVsZW1lbnQsIGJ1dCBpdCBtYXRjaGVzIGEgJHtlcnIubm9kZURlc2NyaXB0aW9ufSBub2RlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkVsZW1lbnROb25FZGl0YWJsZUVycm9yXTogKCkgPT4gYFxuICAgICAgICBUaGUgYWN0aW9uIGVsZW1lbnQgaXMgZXhwZWN0ZWQgdG8gYmUgZWRpdGFibGUgKGFuIGlucHV0LCB0ZXh0YXJlYSBvciBlbGVtZW50IHdpdGggdGhlIGNvbnRlbnRFZGl0YWJsZSBhdHRyaWJ1dGUpLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkVsZW1lbnROb25Db250ZW50RWRpdGFibGVFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBlbGVtZW50IHRoYXQgbWF0Y2hlcyB0aGUgc3BlY2lmaWVkIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGlzIGV4cGVjdGVkIHRvIGhhdmUgdGhlIGNvbnRlbnRFZGl0YWJsZSBhdHRyaWJ1dGUgZW5hYmxlZCBvciB0aGUgZW50aXJlIGRvY3VtZW50IHNob3VsZCBiZSBpbiBkZXNpZ24gbW9kZS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25Sb290Q29udGFpbmVyTm90Rm91bmRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQ29udGVudCBiZXR3ZWVuIHRoZSBhY3Rpb24gZWxlbWVudHMgY2Fubm90IGJlIHNlbGVjdGVkIGJlY2F1c2UgdGhlIHJvb3QgY29udGFpbmVyIGZvciB0aGUgc2VsZWN0aW9uIHJhbmdlIGNhbm5vdCBiZSBmb3VuZCwgaS5lLiB0aGVzZSBlbGVtZW50cyBkbyBub3QgaGF2ZSBhIGNvbW1vbiBhbmNlc3RvciB3aXRoIHRoZSBjb250ZW50RWRpdGFibGUgYXR0cmlidXRlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkVsZW1lbnRJc05vdEZpbGVJbnB1dEVycm9yXTogKCkgPT4gYFxuICAgICAgICBUaGUgc3BlY2lmaWVkIHNlbGVjdG9yIGRvZXMgbm90IG1hdGNoIGEgZmlsZSBpbnB1dCBlbGVtZW50LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkNhbm5vdEZpbmRGaWxlVG9VcGxvYWRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIENhbm5vdCBmaW5kIHRoZSBmb2xsb3dpbmcgZmlsZShzKSB0byB1cGxvYWQ6XG4gICAgICAgICR7ZXJyLmZpbGVQYXRocy5tYXAocGF0aCA9PiBlc2NhcGVIdG1sKHBhdGgpKS5qb2luKCdcXG4nKX1cblxuICAgICAgICBUaGUgZm9sbG93aW5nIGxvY2F0aW9ucyB3ZXJlIHNjYW5uZWQgZm9yIHRoZSBtaXNzaW5nIHVwbG9hZCBmaWxlczpcbiAgICAgICAgJHtlcnIuc2Nhbm5lZEZpbGVQYXRocy5tYXAocGF0aCA9PiBlc2NhcGVIdG1sKHBhdGgpKS5qb2luKCdcXG4nKX1cblxuICAgICAgICBFbnN1cmUgdGhlc2UgZmlsZXMgZXhpc3Qgb3IgY2hhbmdlIHRoZSB3b3JraW5nIGRpcmVjdG9yeS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25FbGVtZW50Tm90VGV4dEFyZWFFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIGFjdGlvbiBlbGVtZW50IGlzIGV4cGVjdGVkIHRvIGJlIGEgJmx0O3RleHRhcmVhJmd0Oy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25FbGVtZW50Tm90SWZyYW1lRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIFRoZSBhY3Rpb24gZWxlbWVudCBpcyBleHBlY3RlZCB0byBiZSBhbiAmbHQ7aWZyYW1lJmd0LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkluY29ycmVjdEtleXNFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBjb250YWlucyBhbiBpbmNvcnJlY3Qga2V5IG9yIGtleSBjb21iaW5hdGlvbi5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25VbnN1cHBvcnRlZERldmljZVR5cGVFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBzcGVjaWZpZXMgYW4gdW5zdXBwb3J0ZWQgXCIke2Vyci5hY3R1YWxWYWx1ZX1cIiBkZXZpY2UuIEZvciBhIGxpc3Qgb2Ygc3VwcG9ydGVkIGRldmljZXMsIHJlZmVyIHRvICR7Zm9ybWF0VXJsKEVYVEVSTkFMX0xJTktTLnZpZXdwb3J0U2l6ZXMpfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25JbnZhbGlkU2Nyb2xsVGFyZ2V0RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBVbmFibGUgdG8gc2Nyb2xsIHRvIHRoZSBzcGVjaWZpZWQgcG9pbnQgYmVjYXVzZSBhIHBvaW50IHdpdGggdGhlIHNwZWNpZmllZCAke2Vyci5wcm9wZXJ0aWVzfSBpcyBub3QgbG9jYXRlZCBpbnNpZGUgdGhlIGVsZW1lbnQncyBjcm9wcGluZyByZWdpb24uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uSWZyYW1lSXNOb3RMb2FkZWRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQ29udGVudCBvZiB0aGUgaWZyYW1lIHRvIHdoaWNoIHlvdSBhcmUgc3dpdGNoaW5nIGRpZCBub3QgbG9hZC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5jdXJyZW50SWZyYW1lSXNOb3RMb2FkZWRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQ29udGVudCBvZiB0aGUgaWZyYW1lIGluIHdoaWNoIHRoZSB0ZXN0IGlzIGN1cnJlbnRseSBvcGVyYXRpbmcgZGlkIG5vdCBsb2FkLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmN1cnJlbnRJZnJhbWVOb3RGb3VuZEVycm9yXTogKCkgPT4gYFxuICAgICAgICBUaGUgaWZyYW1lIGluIHdoaWNoIHRoZSB0ZXN0IGlzIGN1cnJlbnRseSBvcGVyYXRpbmcgZG9lcyBub3QgZXhpc3QgYW55bW9yZS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5jdXJyZW50SWZyYW1lSXNJbnZpc2libGVFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIGlmcmFtZSBpbiB3aGljaCB0aGUgdGVzdCBpcyBjdXJyZW50bHkgb3BlcmF0aW5nIGlzIG5vdCB2aXNpYmxlIGFueW1vcmUuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMubWlzc2luZ0F3YWl0RXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIEEgY2FsbCB0byBhbiBhc3luYyBmdW5jdGlvbiBpcyBub3QgYXdhaXRlZC4gVXNlIHRoZSBcImF3YWl0XCIga2V5d29yZCBiZWZvcmUgYWN0aW9ucywgYXNzZXJ0aW9ucyBvciBjaGFpbnMgb2YgdGhlbSB0byBlbnN1cmUgdGhhdCB0aGV5IHJ1biBpbiB0aGUgcmlnaHQgc2VxdWVuY2UuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuZXh0ZXJuYWxBc3NlcnRpb25MaWJyYXJ5RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG5cbiAgICAgICAgJHtyZW5kZXJEaWZmKGVyci5kaWZmKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5kb21Ob2RlQ2xpZW50RnVuY3Rpb25SZXN1bHRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgJHtlcnIuaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZX0gY2Fubm90IHJldHVybiBET00gZWxlbWVudHMuIFVzZSBTZWxlY3RvciBmdW5jdGlvbnMgZm9yIHRoaXMgcHVycG9zZS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5pbnZhbGlkU2VsZWN0b3JSZXN1bHRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgRnVuY3Rpb24gdGhhdCBzcGVjaWZpZXMgYSBzZWxlY3RvciBjYW4gb25seSByZXR1cm4gYSBET00gbm9kZSwgYW4gYXJyYXkgb2Ygbm9kZXMsIE5vZGVMaXN0LCBIVE1MQ29sbGVjdGlvbiwgbnVsbCBvciB1bmRlZmluZWQuIFVzZSBDbGllbnRGdW5jdGlvbiB0byByZXR1cm4gb3RoZXIgdmFsdWVzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblNlbGVjdG9yRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBBY3Rpb24gXCIke2Vyci5zZWxlY3Rvck5hbWV9XCIgYXJndW1lbnQgZXJyb3I6XG5cbiAgICAgICAgJHtlc2NhcGVIdG1sKGVyci5lcnJNc2cpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmNhbm5vdE9idGFpbkluZm9Gb3JFbGVtZW50U3BlY2lmaWVkQnlTZWxlY3RvckVycm9yXTogKGVyciwgdmlld3BvcnRXaWR0aCkgPT4gYFxuICAgICAgICBDYW5ub3Qgb2J0YWluIGluZm9ybWF0aW9uIGFib3V0IHRoZSBub2RlIGJlY2F1c2UgdGhlIHNwZWNpZmllZCBzZWxlY3RvciBkb2VzIG5vdCBtYXRjaCBhbnkgbm9kZSBpbiB0aGUgRE9NIHRyZWUuXG5cbiAgICAgICAgJHtmb3JtYXRTZWxlY3RvckNhbGxzdGFjayhlcnIuYXBpRm5DaGFpbiwgZXJyLmFwaUZuSW5kZXgsIHZpZXdwb3J0V2lkdGgpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLndpbmRvd0RpbWVuc2lvbnNPdmVyZmxvd0Vycm9yXTogKCkgPT4gYFxuICAgICAgICBVbmFibGUgdG8gcmVzaXplIHRoZSB3aW5kb3cgYmVjYXVzZSB0aGUgc3BlY2lmaWVkIHNpemUgZXhjZWVkcyB0aGUgc2NyZWVuIHNpemUuIE9uIG1hY09TLCBhIHdpbmRvdyBjYW5ub3QgYmUgbGFyZ2VyIHRoYW4gdGhlIHNjcmVlbi5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5mb3JiaWRkZW5DaGFyYWN0ZXJzSW5TY3JlZW5zaG90UGF0aEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlcmUgYXJlIGZvcmJpZGRlbiBjaGFyYWN0ZXJzIGluIHRoZSBcIiR7ZXJyLnNjcmVlbnNob3RQYXRofVwiIHNjcmVlbnNob3QgcGF0aDpcbiAgICAgICAgJHtyZW5kZXJGb3JiaWRkZW5DaGFyc0xpc3QoZXJyLmZvcmJpZGRlbkNoYXJzTGlzdCl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuaW52YWxpZEVsZW1lbnRTY3JlZW5zaG90RGltZW5zaW9uc0Vycm9yXTogZXJyID0+IGBcbiAgICAgICAgIFVuYWJsZSB0byBjYXB0dXJlIGFuIGVsZW1lbnQgaW1hZ2UgYmVjYXVzZSB0aGUgcmVzdWx0aW5nIGltYWdlICR7ZXJyLmRpbWVuc2lvbnN9ICR7ZXJyLnZlcmJ9IHplcm8gb3IgbmVnYXRpdmUuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMucm9sZVN3aXRjaEluUm9sZUluaXRpYWxpemVyRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIFJvbGUgY2Fubm90IGJlIHN3aXRjaGVkIHdoaWxlIGFub3RoZXIgcm9sZSBpcyBiZWluZyBpbml0aWFsaXplZC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hc3NlcnRpb25FeGVjdXRhYmxlQXJndW1lbnRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIENhbm5vdCBldmFsdWF0ZSB0aGUgXCIke2Vyci5hY3R1YWxWYWx1ZX1cIiBleHByZXNzaW9uIGluIHRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBwYXJhbWV0ZXIgYmVjYXVzZSBvZiB0aGUgZm9sbG93aW5nIGVycm9yOlxuXG4gICAgICAgICR7ZXJyLmVyck1zZ31cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hc3NlcnRpb25XaXRob3V0TWV0aG9kQ2FsbEVycm9yXTogKCkgPT4gYFxuICAgICAgICBBbiBhc3NlcnRpb24gbWV0aG9kIGlzIG5vdCBzcGVjaWZpZWQuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYXNzZXJ0aW9uVW5hd2FpdGVkUHJvbWlzZUVycm9yXTogKCkgPT4gYFxuICAgICAgICBBdHRlbXB0ZWQgdG8gcnVuIGFzc2VydGlvbnMgb24gYSBQcm9taXNlIG9iamVjdC4gRGlkIHlvdSBmb3JnZXQgdG8gYXdhaXQgaXQ/IElmIG5vdCwgcGFzcyBcInsgYWxsb3dVbmF3YWl0ZWRQcm9taXNlOiB0cnVlIH1cIiB0byB0aGUgYXNzZXJ0aW9uIG9wdGlvbnMuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMucmVxdWVzdEhvb2tOb3RJbXBsZW1lbnRlZEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgWW91IHNob3VsZCBpbXBsZW1lbnQgdGhlIFwiJHtlcnIubWV0aG9kTmFtZX1cIiBtZXRob2QgaW4gdGhlIFwiJHtlcnIuaG9va0NsYXNzTmFtZX1cIiBjbGFzcy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5yZXF1ZXN0SG9va1VuaGFuZGxlZEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgQW4gdW5oYW5kbGVkIGVycm9yIG9jY3VycmVkIGluIHRoZSBcIiR7ZXJyLm1ldGhvZE5hbWV9XCIgbWV0aG9kIG9mIHRoZSBcIiR7ZXJyLmhvb2tDbGFzc05hbWV9XCIgY2xhc3M6XG5cbiAgICAgICAgJHtlc2NhcGVIdG1sKGVyci5lcnJNc2cpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnVuY2F1Z2h0RXJyb3JJbkN1c3RvbUNsaWVudFNjcmlwdENvZGVdOiBlcnIgPT4gYFxuICAgICAgICBBbiBlcnJvciBvY2N1cnJlZCBpbiBhIHNjcmlwdCBpbmplY3RlZCBpbnRvIHRoZSB0ZXN0ZWQgcGFnZTpcblxuICAgICAgICAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFcnJvckluQ3VzdG9tQ2xpZW50U2NyaXB0Q29kZUxvYWRlZEZyb21Nb2R1bGVdOiBlcnIgPT4gYFxuICAgICAgICBBbiBlcnJvciBvY2N1cnJlZCBpbiB0aGUgJyR7ZXJyLm1vZHVsZU5hbWV9JyBtb2R1bGUgaW5qZWN0ZWQgaW50byB0aGUgdGVzdGVkIHBhZ2UuIE1ha2Ugc3VyZSB0aGF0IHRoaXMgbW9kdWxlIGNhbiBiZSBleGVjdXRlZCBpbiB0aGUgYnJvd3NlciBlbnZpcm9ubWVudC5cblxuICAgICAgICBFcnJvciBkZXRhaWxzOlxuICAgICAgICAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFcnJvckluQ3VzdG9tU2NyaXB0XTogZXJyID0+IGBcbiAgICAgICAgQW4gdW5oYW5kbGVkIGVycm9yIG9jY3VycmVkIGluIHRoZSBjdXN0b20gc2NyaXB0OlxuXG4gICAgICAgIEVycm9yIGRldGFpbHM6ICR7ZXNjYXBlSHRtbChlcnIuZXJyTXNnKX1cblxuICAgICAgICAke2Zvcm1hdEV4cHJlc3Npb25NZXNzYWdlKGVyci5leHByZXNzaW9uLCBlcnIubGluZSwgZXJyLmNvbHVtbil9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuY2hpbGRXaW5kb3dJc05vdExvYWRlZEVycm9yXTogKCkgPT4gYFxuICAgICAgICBUaGUgcGFnZSBpbiB0aGUgY2hpbGQgd2luZG93IGlzIG5vdCBsb2FkZWQuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuY2hpbGRXaW5kb3dOb3RGb3VuZEVycm9yXTogKCkgPT4gYFxuICAgICAgICBUaGUgY2hpbGQgd2luZG93IGlzIG5vdCBmb3VuZC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5jYW5ub3RTd2l0Y2hUb1dpbmRvd0Vycm9yXTogKCkgPT4gYFxuICAgICAgICBDYW5ub3Qgc3dpdGNoIHRvIHRoZSB3aW5kb3cuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuY2xvc2VDaGlsZFdpbmRvd0Vycm9yXTogKCkgPT4gYFxuICAgICAgICBBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBjbG9zaW5nIGNoaWxkIHdpbmRvd3MuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuY2hpbGRXaW5kb3dDbG9zZWRCZWZvcmVTd2l0Y2hpbmdFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIGNoaWxkIHdpbmRvdyB3YXMgY2xvc2VkIGJlZm9yZSBUZXN0Q2FmZSBjb3VsZCBzd2l0Y2ggdG8gaXQuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuY2Fubm90Q2xvc2VXaW5kb3dXaXRoQ2hpbGRyZW5FcnJvcl06ICgpID0+IGBcbiAgICAgICAgQ2Fubm90IGNsb3NlIGEgd2luZG93IHRoYXQgaGFzIGFuIG9wZW4gY2hpbGQgd2luZG93LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnRhcmdldFdpbmRvd05vdEZvdW5kRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIENhbm5vdCBmaW5kIHRoZSB3aW5kb3cgc3BlY2lmaWVkIGluIHRoZSBhY3Rpb24gcGFyYW1ldGVycy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5wYXJlbnRXaW5kb3dOb3RGb3VuZEVycm9yXTogKCkgPT4gYFxuICAgICAgICBDYW5ub3QgZmluZCB0aGUgcGFyZW50IHdpbmRvdy4gTWFrZSBzdXJlIHRoYXQgdGhlIHRlc3RlZCB3aW5kb3cgd2FzIG9wZW5lZCBmcm9tIGFub3RoZXIgd2luZG93LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnByZXZpb3VzV2luZG93Tm90Rm91bmRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQ2Fubm90IGZpbmQgdGhlIHByZXZpb3VzIHdpbmRvdy4gTWFrZSBzdXJlIHRoYXQgdGhlIHByZXZpb3VzIHdpbmRvdyBpcyBvcGVuZWQuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuc3dpdGNoVG9XaW5kb3dQcmVkaWNhdGVFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIEFuIGVycm9yIG9jY3VycmVkIGluc2lkZSB0aGUgXCJzd2l0Y2hUb1dpbmRvd1wiIGFyZ3VtZW50IGZ1bmN0aW9uLlxuXG4gICAgICAgIEVycm9yIGRldGFpbHM6XG4gICAgICAgICR7ZXNjYXBlSHRtbChlcnIuZXJyTXNnKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5tdWx0aXBsZVdpbmRvd3NNb2RlSXNEaXNhYmxlZEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgTXVsdGktd2luZG93IG1vZGUgaXMgZGlzYWJsZWQuIFRvIHVzZSB0aGUgXCIke2Vyci5tZXRob2ROYW1lfVwiIG1ldGhvZCwgcmVtb3ZlIHRoZSBcImRpc2FibGVNdWx0aXBsZVdpbmRvd3NcIiBvcHRpb24uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMubXVsdGlwbGVXaW5kb3dzTW9kZUlzTm90U3VwcG9ydGVkSW5SZW1vdGVCcm93c2VyRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBNdWx0aS13aW5kb3cgbW9kZSBpcyBzdXBwb3J0ZWQgb25seSBpbiBsb2NhbGx5LWluc3RhbGxlZCBDaHJvbWUsIENocm9taXVtLCBFZGdlIDg0KyBhbmQgRmlyZWZveC4gUnVuIHRlc3RzIGluIHRoZXNlIGJyb3dzZXJzIHRvIHVzZSB0aGUgXCIke2Vyci5tZXRob2ROYW1lfVwiIG1ldGhvZC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5jYW5ub3RDbG9zZVdpbmRvd1dpdGhvdXRQYXJlbnRdOiAoKSA9PiBgXG4gICAgICAgIENhbm5vdCBjbG9zZSB0aGUgd2luZG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBhIHBhcmVudC4gVGhlIHBhcmVudCB3aW5kb3cgd2FzIGNsb3NlZCBvciB5b3UgYXJlIGF0dGVtcHRpbmcgdG8gY2xvc2UgdGhlIHJvb3QgYnJvd3NlciB3aW5kb3cgd2hlcmUgdGVzdHMgd2VyZSBsYXVuY2hlZC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5jYW5ub3RSZXN0b3JlQ2hpbGRXaW5kb3dFcnJvcl06ICgpID0+IGBcbiAgICAgICAgRmFpbGVkIHRvIHJlc3RvcmUgY29ubmVjdGlvbiB0byB3aW5kb3cgd2l0aGluIHRoZSBhbGxvY2F0ZWQgdGltZW91dC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5leGVjdXRpb25UaW1lb3V0RXhjZWVkZWRdOiBlcnIgPT4ge1xuICAgICAgICByZXR1cm4gYCR7ZXJyLnNjb3BlfSB0aW1lb3V0IG9mICR7ZXJyLnRpbWVvdXR9bXMgZXhjZWVkZWQuYDtcbiAgICB9LFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25TdHJpbmdPcHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSB2YWx1ZSBvZiB0aGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBiZWxvbmdzIHRvIGFuIHVuc3VwcG9ydGVkIGRhdGEgdHlwZSAoJHtlcnIuYWN0dWFsVmFsdWV9KS4gVGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gb25seSBhY2NlcHRzIFN0cmluZyB0eXBlIHZhbHVlcy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25TdHJpbmdPclJlZ2V4T3B0aW9uRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgdmFsdWUgb2YgdGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gYmVsb25ncyB0byBhbiB1bnN1cHBvcnRlZCBkYXRhIHR5cGUgKCR7ZXJyLmFjdHVhbFZhbHVlfSkuIFRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIG9ubHkgYWNjZXB0cyBTdHJpbmcgb3IgUmVnZXggdHlwZSB2YWx1ZXMuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uRGF0ZU9wdGlvbkVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIHZhbHVlIG9mIHRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIGJlbG9uZ3MgdG8gYW4gdW5zdXBwb3J0ZWQgZGF0YSB0eXBlICgke2Vyci5hY3R1YWxWYWx1ZX0pLiBUaGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBvbmx5IGFjY2VwdHMgRGF0ZSB0eXBlIHZhbHVlcy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25OdW1iZXJPcHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSB2YWx1ZSBvZiB0aGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBiZWxvbmdzIHRvIGFuIHVuc3VwcG9ydGVkIGRhdGEgdHlwZSAoJHtlcnIuYWN0dWFsVmFsdWV9KS4gVGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gb25seSBhY2NlcHRzIE51bWJlciB0eXBlIHZhbHVlcy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25VcmxPcHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSB2YWx1ZSBvZiB0aGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBiZWxvbmdzIHRvIGFuIHVuc3VwcG9ydGVkIGRhdGEgdHlwZSAoJHtlcnIuYWN0dWFsVmFsdWV9KS4gVGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gb25seSBhY2NlcHRzIHN0cmluZyBvciBVUkwgdHlwZXMgdmFsdWVzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblVybFNlYXJjaFBhcmFtc09wdGlvbkVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIHZhbHVlIG9mIHRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIGJlbG9uZ3MgdG8gYW4gdW5zdXBwb3J0ZWQgZGF0YSB0eXBlICgke2Vyci5hY3R1YWxWYWx1ZX0pLiBUaGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBvbmx5IGFjY2VwdHMgb2JqZWN0IG9yIFVSTFNlYXJjaFBhcmFtcyB0eXBlcyB2YWx1ZXMuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uT2JqZWN0T3B0aW9uRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgdmFsdWUgb2YgdGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gYmVsb25ncyB0byBhbiB1bnN1cHBvcnRlZCBkYXRhIHR5cGUgKCR7ZXJyLmFjdHVhbFZhbHVlfSkuIFRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIG9ubHkgYWNjZXB0cyBvYmplY3QgdHlwZXMgdmFsdWVzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblVybEFyZ3VtZW50RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgYXJndW1lbnQgaXMgZXhwZWN0ZWQgdG8gYmUgYW4gVVJMIG9yIGEgc3RyaW5nLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25Ta2lwSnNFcnJvcnNBcmd1bWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgQ2Fubm90IGV4ZWN1dGUgdGhlIHNraXBKc0Vycm9ycyBtZXRob2QuIFRoZSB2YWx1ZSBvZiB0aGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgYXJndW1lbnQgYmVsb25ncyB0byBhbiB1bnN1cHBvcnRlZCB0eXBlICgke2Vyci5hY3R1YWxWYWx1ZX0pLiBUaGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgc3VwcG9ydHMgdGhlIGZvbGxvd2luZyBkYXRhIHR5cGVzOiBCb29sZWFuLCBPYmplY3QsIEZ1bmN0aW9uLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblNraXBKc0Vycm9yc0RlcGVuZGVuY2llc0FyZ3VtZW50RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBDYW5ub3QgZXhlY3V0ZSB0aGUgc2tpcEpzRXJyb3JzIG1ldGhvZC4gVGhlIHZhbHVlIG9mIHRoZSBcImRlcGVuZGVuY2llc1wiIGFyZ3VtZW50IGJlbG9uZ3MgdG8gYW4gdW5zdXBwb3J0ZWQgdHlwZSAoJHtlcnIuYWN0dWFsVmFsdWV9KS4gVGhlIFwiZGVwZW5kZW5jaWVzXCIgYXJndW1lbnQgb25seSBzdXBwb3J0cyB0aGUgT2JqZWN0IGRhdGEgdHlwZS5cbiAgICBgLFxufTtcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vycm9ycy90ZXN0LXJ1bi90ZW1wbGF0ZXMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtQ0FBOEM7QUFDOUMsb0NBQTJDO0FBQzNDLG1DQU9pQjtBQUVqQixNQUFNLGNBQWMsR0FBRztJQUNuQixjQUFjLEVBQU8sMEVBQTBFO0lBQy9GLG1CQUFtQixFQUFFLCtEQUErRDtJQUNwRixhQUFhLEVBQVEsNEVBQTRFO0lBQ2pHLG1CQUFtQixFQUFFLG1GQUFtRjtDQUMzRyxDQUFDO0FBRUYsa0JBQWU7SUFDWCxDQUFDLHVCQUFlLENBQUMsd0JBQXdCLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO2VBQ3hDLEdBQUcsQ0FBQyxVQUFVLHFEQUFxRCxHQUFHLENBQUMsV0FBVztLQUM1RjtJQUVELENBQUMsdUJBQWUsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7ZUFDaEQsR0FBRyxDQUFDLFVBQVUsNkRBQTZELEdBQUcsQ0FBQyxXQUFXO0tBQ3BHO0lBRUQsQ0FBQyx1QkFBZSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztlQUN4QyxHQUFHLENBQUMsVUFBVSwwREFBMEQsR0FBRyxDQUFDLFdBQVc7S0FDakc7SUFFRCxDQUFDLHVCQUFlLENBQUMsc0JBQXNCLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO2VBQ3RDLEdBQUcsQ0FBQyxVQUFVLHNFQUFzRSxHQUFHLENBQUMsV0FBVztLQUM3RztJQUVELENBQUMsdUJBQWUsQ0FBQyxhQUFhLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO3FDQUNQLElBQUEsaUJBQVMsRUFBQyxHQUFHLENBQUMsR0FBRyxDQUFDOztxRUFFYyxJQUFBLGlCQUFTLEVBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDOzs7VUFHeEcsR0FBRyxDQUFDLE1B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R0FBRyxDQUFDLFlBQVksOENBQThDLEdBQUcsQ0FBQyxXQUFXLFdBQVcsR0FBRyxDQUFDLFlBQVk7S0FDdks7SUFFRCxDQUFDLHVCQUFlLENBQUMseUJBQXlCLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDOzRCQUM1QixHQUFHLENBQUMsVUFBVSxpREFBaUQsR0FBRyxDQUFDLFdBQVcsV0FBVyxHQUFHLENBQUMsVUFBVTtLQUM5SDtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlc2NhcGUgYXMgZXNjYXBlSHRtbCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBURVNUX1JVTl9FUlJPUlMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge1xuICAgIHJlbmRlckZvcmJpZGRlbkNoYXJzTGlzdCxcbiAgICByZW5kZXJEaWZmLFxuICAgIGZvcm1hdFNlbGVjdG9yQ2FsbHN0YWNrLFxuICAgIGZvcm1hdFVybCxcbiAgICByZXBsYWNlTGVhZGluZ1NwYWNlc1dpdGhOYnNwLFxuICAgIGZvcm1hdEV4cHJlc3Npb25NZXNzYWdlLFxufSBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgRVhURVJOQUxfTElOS1MgPSB7XG4gICAgY3JlYXRlTmV3SXNzdWU6ICAgICAgJ2h0dHBzOi8vZ2l0aHViLmNvbS9EZXZFeHByZXNzL3Rlc3RjYWZlL2lzc3Vlcy9uZXc/dGVtcGxhdGU9YnVnLXJlcG9ydC5tZCcsXG4gICAgdHJvdWJsZXNob290TmV0d29yazogJ2h0dHBzOi8vZ28uZGV2ZXhwcmVzcy5jb20vVGVzdENhZmVfRkFRX0FSZXF1ZXN0SGFzRmFpbGVkLmFzcHgnLFxuICAgIHZpZXdwb3J0U2l6ZXM6ICAgICAgICdodHRwczovL2dpdGh1Yi5jb20vRGV2RXhwcmVzcy9kZXZpY2Utc3BlY3MvYmxvYi9tYXN0ZXIvdmlld3BvcnQtc2l6ZXMuanNvbicsXG4gICAgc2tpcEpzRXJyb3JzUmVjaXBlczogJ2h0dHBzOi8vdGVzdGNhZmUuaW8vZG9jdW1lbnRhdGlvbi80MDQwMzgvcmVjaXBlcy9kZWJ1Z2dpbmcvc2tpcC1qYXZhc2NyaXB0LWVycm9ycycsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25JbnRlZ2VyT3B0aW9uRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBpcyBleHBlY3RlZCB0byBiZSBhbiBpbnRlZ2VyLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25Qb3NpdGl2ZUludGVnZXJPcHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGEgcG9zaXRpdmUgaW50ZWdlciwgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxWYWx1ZX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uQm9vbGVhbk9wdGlvbkVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgYSBib29sZWFuIHZhbHVlLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25TcGVlZE9wdGlvbkVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgYSBudW1iZXIgYmV0d2VlbiAwLjAxIGFuZCAxLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5wYWdlTG9hZEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgRmFpbGVkIHRvIGxvYWQgdGhlIHBhZ2UgYXQgJHtmb3JtYXRVcmwoZXJyLnVybCl9LlxuICAgICAgICBJbmNyZWFzZSB0aGUgdmFsdWUgb2YgdGhlIFwicGFnZVJlcXVlc3RUaW1lb3V0XCIgdmFyaWFibGUsIGVuYWJsZSB0aGUgXCJyZXRyeVRlc3RQYWdlc1wiIG9wdGlvbiwgb3IgdXNlIHF1YXJhbnRpbmUgbW9kZSB0byBwZXJmb3JtIGFkZGl0aW9uYWwgYXR0ZW1wdHMgdG8gZXhlY3V0ZSB0aGlzIHRlc3QuXG4gICAgICAgIFlvdSBjYW4gZmluZCB0cm91Ymxlc2hvb3RpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgaXNzdWUgYXQgJHtmb3JtYXRVcmwoRVhURVJOQUxfTElOS1MudHJvdWJsZXNob290TmV0d29yayl9LlxuXG4gICAgICAgIEVycm9yIGRldGFpbHM6XG4gICAgICAgICR7ZXJyLmVyck1zZ31cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy51bmNhdWdodEVycm9yT25QYWdlXTogZXJyID0+IGBcbiAgICAgICAgQSBKYXZhU2NyaXB0IGVycm9yIG9jY3VycmVkIG9uICR7Zm9ybWF0VXJsKGVyci5wYWdlRGVzdFVybCl9LlxuICAgICAgICBSZXBlYXQgdGVzdCBhY3Rpb25zIGluIHRoZSBicm93c2VyIGFuZCBjaGVjayB0aGUgY29uc29sZSBmb3IgZXJyb3JzLlxuICAgICAgICBFbmFibGUgdGhlIOKAnHNraXBKc0Vycm9yc+KAnSBvcHRpb24gdG8gaWdub3JlIEphdmFTY3JpcHQgZXJyb3JzIGR1cmluZyB0ZXN0IGV4ZWN1dGlvbi4gTGVhcm4gbW9yZTogJHtmb3JtYXRVcmwoRVhURVJOQUxfTElOS1Muc2tpcEpzRXJyb3JzUmVjaXBlcyl9XG4gICAgICAgIElmIHRoZSB3ZWJzaXRlIG9ubHkgdGhyb3dzIHRoaXMgZXJyb3Igd2hlbiB5b3UgdGVzdCBpdCB3aXRoIFRlc3RDYWZlLCBwbGVhc2UgY3JlYXRlIGEgbmV3IGlzc3VlIGF0OlxuICAgICAgICAke2Zvcm1hdFVybChFWFRFUk5BTF9MSU5LUy5jcmVhdGVOZXdJc3N1ZSl9LlxuXG4gICAgICAgIEphdmFTY3JpcHQgZXJyb3IgZGV0YWlsczpcbiAgICAgICAgJHtyZXBsYWNlTGVhZGluZ1NwYWNlc1dpdGhOYnNwKGVzY2FwZUh0bWwoZXJyLmVyclN0YWNrKSl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFcnJvckluVGVzdENvZGVdOiBlcnIgPT4gYFxuICAgICAgICAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMubmF0aXZlRGlhbG9nTm90SGFuZGxlZEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgQSBuYXRpdmUgJHtlcnIuZGlhbG9nVHlwZX0gZGlhbG9nIHdhcyBpbnZva2VkIG9uIHBhZ2UgJHtmb3JtYXRVcmwoZXJyLnBhZ2VVcmwpfSwgYnV0IG5vIGhhbmRsZXIgd2FzIHNldCBmb3IgaXQuIFVzZSB0aGUgXCJzZXROYXRpdmVEaWFsb2dIYW5kbGVyXCIgZnVuY3Rpb24gdG8gaW50cm9kdWNlIGEgaGFuZGxlciBmdW5jdGlvbiBmb3IgbmF0aXZlIGRpYWxvZ3MuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFcnJvckluTmF0aXZlRGlhbG9nSGFuZGxlcl06IGVyciA9PiBgXG4gICAgICAgIEFuIGVycm9yIG9jY3VycmVkIGluIHRoZSBuYXRpdmUgZGlhbG9nIGhhbmRsZXIgY2FsbGVkIGZvciBhIG5hdGl2ZSAke2Vyci5kaWFsb2dUeXBlfSBkaWFsb2cgb24gcGFnZSAke2Zvcm1hdFVybChlcnIucGFnZVVybCl9OlxuXG4gICAgICAgICR7ZXNjYXBlSHRtbChlcnIuZXJyTXNnKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5zZXRUZXN0U3BlZWRBcmd1bWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgU3BlZWQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBudW1iZXIgYmV0d2VlbiAwLjAxIGFuZCAxLCBidXQgJHtlcnIuYWN0dWFsVmFsdWV9IHdhcyBwYXNzZWQuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuc2V0TmF0aXZlRGlhbG9nSGFuZGxlckNvZGVXcm9uZ1R5cGVFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBuYXRpdmUgZGlhbG9nIGhhbmRsZXIgaXMgZXhwZWN0ZWQgdG8gYmUgYSBmdW5jdGlvbiwgQ2xpZW50RnVuY3Rpb24gb3IgbnVsbCwgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxUeXBlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy51bmNhdWdodEVycm9ySW5DbGllbnRGdW5jdGlvbkNvZGVdOiBlcnIgPT4gYFxuICAgICAgICBBbiBlcnJvciBvY2N1cnJlZCBpbiAke2Vyci5pbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lfSBjb2RlOlxuXG4gICAgICAgICR7ZXNjYXBlSHRtbChlcnIuZXJyTXNnKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy51bmNhdWdodEVycm9ySW5DdXN0b21ET01Qcm9wZXJ0eUNvZGVdOiBlcnIgPT4gYFxuICAgICAgICBBbiBlcnJvciBvY2N1cnJlZCB3aGVuIHRyeWluZyB0byBjYWxjdWxhdGUgYSBjdXN0b20gU2VsZWN0b3IgcHJvcGVydHkgXCIke2Vyci5wcm9wZXJ0eX1cIjpcblxuICAgICAgICAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuY2xpZW50RnVuY3Rpb25FeGVjdXRpb25JbnRlcnJ1cHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgICR7ZXJyLmluc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWV9IGV4ZWN1dGlvbiB3YXMgaW50ZXJydXB0ZWQgYnkgcGFnZSB1bmxvYWQuIFRoaXMgcHJvYmxlbSBtYXkgYXBwZWFyIGlmIHlvdSB0cmlnZ2VyIHBhZ2UgbmF2aWdhdGlvbiBmcm9tICR7ZXJyLmluc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWV9IGNvZGUuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMudW5jYXVnaHROb25FcnJvck9iamVjdEluVGVzdENvZGVdOiBlcnIgPT4gYFxuICAgICAgICBVbmNhdWdodCAke2Vyci5vYmpUeXBlfSBcIiR7ZXNjYXBlSHRtbChlcnIub2JqU3RyKX1cIiB3YXMgdGhyb3duLiBUaHJvdyBFcnJvciBpbnN0ZWFkLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnVuaGFuZGxlZFByb21pc2VSZWplY3Rpb25dOiBlcnIgPT4gYFxuICAgICAgICBVbmhhbmRsZWQgcHJvbWlzZSByZWplY3Rpb246XG5cbiAgICAgICAgJHtlc2NhcGVIdG1sKGVyci5lcnJNc2cpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnVuY2F1Z2h0RXhjZXB0aW9uXTogZXJyID0+IGBcbiAgICAgICAgVW5jYXVnaHQgZXhjZXB0aW9uOlxuXG4gICAgICAgICR7ZXNjYXBlSHRtbChlcnIuZXJyTXNnKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25PcHRpb25zVHlwZUVycm9yXTogZXJyID0+IGBcbiAgICAgICAgQWN0aW9uIG9wdGlvbnMgaXMgZXhwZWN0ZWQgdG8gYmUgYW4gb2JqZWN0LCBudWxsIG9yIHVuZGVmaW5lZCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFR5cGV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblN0cmluZ0FyZ3VtZW50RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgYXJndW1lbnQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBub24tZW1wdHkgc3RyaW5nLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25Cb29sZWFuQXJndW1lbnRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBpcyBleHBlY3RlZCB0byBiZSBhIGJvb2xlYW4gdmFsdWUsIGJ1dCBpdCB3YXMgJHtlcnIuYWN0dWFsVmFsdWV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbk51bGxhYmxlU3RyaW5nQXJndW1lbnRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBpcyBleHBlY3RlZCB0byBiZSBhIG51bGwgb3IgYSBzdHJpbmcsIGJ1dCBpdCB3YXMgJHtlcnIuYWN0dWFsVmFsdWV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblN0cmluZ09yU3RyaW5nQXJyYXlBcmd1bWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGFyZ3VtZW50IGlzIGV4cGVjdGVkIHRvIGJlIGEgbm9uLWVtcHR5IHN0cmluZyBvciBhIHN0cmluZyBhcnJheSwgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxWYWx1ZX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uU3RyaW5nQXJyYXlFbGVtZW50RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBFbGVtZW50cyBvZiB0aGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgYXJndW1lbnQgYXJlIGV4cGVjdGVkIHRvIGJlIG5vbi1lbXB0eSBzdHJpbmdzLCBidXQgdGhlIGVsZW1lbnQgYXQgaW5kZXggJHtlcnIuZWxlbWVudEluZGV4fSB3YXMgJHtlcnIuYWN0dWFsVmFsdWV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblJlcXVpcmVkQ29va2llQXJndW1lbnRzXTogKCkgPT4gYFxuICAgICAgICBUaGUgbWFuZGF0b3J5IFwiY29va2llc1wiIGFyZ3VtZW50IGlzIG1pc3NpbmcuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uQ29va2llQXJndW1lbnRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIHZhbHVlIG9mIHRoZSBcImNvb2tpZXNcIiBhcmd1bWVudCBkb2VzIG5vdCBiZWxvbmcgdG8gYW4gYWNjZXB0YWJsZSBkYXRhIHR5cGU6IE9iamVjdCwgU3RyaW5nLCBvciBBcnJheSBvZiBvYmplY3RzIG9yIHN0cmluZ3MuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uQ29va2llQXJndW1lbnRzRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgdmFsdWUgb2YgY29va2llIG51bWJlciAke2Vyci5pbmRleCArIDF9ICgke2Vyci5hY3R1YWxWYWx1ZX0pIGRvZXMgbm90IGJlbG9uZyB0byBhbiBhY2NlcHRhYmxlIGRhdGEgdHlwZTogT2JqZWN0IG9yIFN0cmluZy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25VcmxDb29raWVBcmd1bWVudEVycm9yXTogKCkgPT4gYFxuICAgICAgICBDb3VsZCBub3QgcGFyc2UgdGhlIHVybCBwYXJhbWV0ZXIuIENoZWNrIHRoZSB2YWx1ZSBmb3IgZm9ybWF0dGluZyBlcnJvcnMuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uVXJsc0Nvb2tpZUFyZ3VtZW50RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBDb3VsZCBub3QgcGFyc2UgdXJsIG51bWJlciAke2Vyci5pbmRleCArIDF9ICgke2Vyci5hY3R1YWxWYWx1ZX0pLiBDaGVjayB0aGUgdmFsdWUgZm9yIGZvcm1hdHRpbmcgZXJyb3JzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkludGVnZXJBcmd1bWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGFyZ3VtZW50IGlzIGV4cGVjdGVkIHRvIGJlIGFuIGludGVnZXIsIGJ1dCBpdCB3YXMgJHtlcnIuYWN0dWFsVmFsdWV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblJvbGVBcmd1bWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGFyZ3VtZW50IGlzIGV4cGVjdGVkIHRvIGJlIGEgUm9sZSBpbnN0YW5jZSwgYnV0IGl0IHdhcyAke2Vyci5hY3R1YWxWYWx1ZX0uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uRnVuY3Rpb25Bcmd1bWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGFyZ3VtZW50IGlzIGV4cGVjdGVkIHRvIGJlIGEgZnVuY3Rpb24sIGJ1dCBpdCB3YXMgJHtlcnIuYWN0dWFsVmFsdWV9LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblBvc2l0aXZlSW50ZWdlckFyZ3VtZW50RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgYXJndW1lbnQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25FbGVtZW50Tm90Rm91bmRFcnJvcl06IChlcnIsIHZpZXdwb3J0V2lkdGgpID0+IGBcbiAgICAgICAgVGhlIHNwZWNpZmllZCBzZWxlY3RvciBkb2VzIG5vdCBtYXRjaCBhbnkgZWxlbWVudCBpbiB0aGUgRE9NIHRyZWUuXG5cbiAgICAgICAgJHtmb3JtYXRTZWxlY3RvckNhbGxzdGFjayhlcnIuYXBpRm5DaGFpbiwgZXJyLmFwaUZuSW5kZXgsIHZpZXdwb3J0V2lkdGgpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkVsZW1lbnRJc0ludmlzaWJsZUVycm9yXTogKCkgPT4gYFxuICAgICAgICBUaGUgZWxlbWVudCB0aGF0IG1hdGNoZXMgdGhlIHNwZWNpZmllZCBzZWxlY3RvciBpcyBub3QgdmlzaWJsZS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25TZWxlY3Rvck1hdGNoZXNXcm9uZ05vZGVUeXBlRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgc3BlY2lmaWVkIHNlbGVjdG9yIGlzIGV4cGVjdGVkIHRvIG1hdGNoIGEgRE9NIGVsZW1lbnQsIGJ1dCBpdCBtYXRjaGVzIGEgJHtlcnIubm9kZURlc2NyaXB0aW9ufSBub2RlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkFkZGl0aW9uYWxFbGVtZW50Tm90Rm91bmRFcnJvcl06IChlcnIsIHZpZXdwb3J0V2lkdGgpID0+IGBcbiAgICAgICAgVGhlIHNwZWNpZmllZCBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBkb2VzIG5vdCBtYXRjaCBhbnkgZWxlbWVudCBpbiB0aGUgRE9NIHRyZWUuXG5cbiAgICAgICAgJHtmb3JtYXRTZWxlY3RvckNhbGxzdGFjayhlcnIuYXBpRm5DaGFpbiwgZXJyLmFwaUZuSW5kZXgsIHZpZXdwb3J0V2lkdGgpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkFkZGl0aW9uYWxFbGVtZW50SXNJbnZpc2libGVFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBlbGVtZW50IHRoYXQgbWF0Y2hlcyB0aGUgc3BlY2lmaWVkIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGlzIG5vdCB2aXNpYmxlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkFkZGl0aW9uYWxTZWxlY3Rvck1hdGNoZXNXcm9uZ05vZGVUeXBlRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgc3BlY2lmaWVkIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGlzIGV4cGVjdGVkIHRvIG1hdGNoIGEgRE9NIGVsZW1lbnQsIGJ1dCBpdCBtYXRjaGVzIGEgJHtlcnIubm9kZURlc2NyaXB0aW9ufSBub2RlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkVsZW1lbnROb25FZGl0YWJsZUVycm9yXTogKCkgPT4gYFxuICAgICAgICBUaGUgYWN0aW9uIGVsZW1lbnQgaXMgZXhwZWN0ZWQgdG8gYmUgZWRpdGFibGUgKGFuIGlucHV0LCB0ZXh0YXJlYSBvciBlbGVtZW50IHdpdGggdGhlIGNvbnRlbnRFZGl0YWJsZSBhdHRyaWJ1dGUpLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkVsZW1lbnROb25Db250ZW50RWRpdGFibGVFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBlbGVtZW50IHRoYXQgbWF0Y2hlcyB0aGUgc3BlY2lmaWVkIFwiJHtlcnIuYXJndW1lbnROYW1lfVwiIGlzIGV4cGVjdGVkIHRvIGhhdmUgdGhlIGNvbnRlbnRFZGl0YWJsZSBhdHRyaWJ1dGUgZW5hYmxlZCBvciB0aGUgZW50aXJlIGRvY3VtZW50IHNob3VsZCBiZSBpbiBkZXNpZ24gbW9kZS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25Sb290Q29udGFpbmVyTm90Rm91bmRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQ29udGVudCBiZXR3ZWVuIHRoZSBhY3Rpb24gZWxlbWVudHMgY2Fubm90IGJlIHNlbGVjdGVkIGJlY2F1c2UgdGhlIHJvb3QgY29udGFpbmVyIGZvciB0aGUgc2VsZWN0aW9uIHJhbmdlIGNhbm5vdCBiZSBmb3VuZCwgaS5lLiB0aGVzZSBlbGVtZW50cyBkbyBub3QgaGF2ZSBhIGNvbW1vbiBhbmNlc3RvciB3aXRoIHRoZSBjb250ZW50RWRpdGFibGUgYXR0cmlidXRlLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkVsZW1lbnRJc05vdEZpbGVJbnB1dEVycm9yXTogKCkgPT4gYFxuICAgICAgICBUaGUgc3BlY2lmaWVkIHNlbGVjdG9yIGRvZXMgbm90IG1hdGNoIGEgZmlsZSBpbnB1dCBlbGVtZW50LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkNhbm5vdEZpbmRGaWxlVG9VcGxvYWRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIENhbm5vdCBmaW5kIHRoZSBmb2xsb3dpbmcgZmlsZShzKSB0byB1cGxvYWQ6XG4gICAgICAgICR7ZXJyLmZpbGVQYXRocy5tYXAocGF0aCA9PiBlc2NhcGVIdG1sKHBhdGgpKS5qb2luKCdcXG4nKX1cblxuICAgICAgICBUaGUgZm9sbG93aW5nIGxvY2F0aW9ucyB3ZXJlIHNjYW5uZWQgZm9yIHRoZSBtaXNzaW5nIHVwbG9hZCBmaWxlczpcbiAgICAgICAgJHtlcnIuc2Nhbm5lZEZpbGVQYXRocy5tYXAocGF0aCA9PiBlc2NhcGVIdG1sKHBhdGgpKS5qb2luKCdcXG4nKX1cblxuICAgICAgICBFbnN1cmUgdGhlc2UgZmlsZXMgZXhpc3Qgb3IgY2hhbmdlIHRoZSB3b3JraW5nIGRpcmVjdG9yeS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25FbGVtZW50Tm90VGV4dEFyZWFFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIGFjdGlvbiBlbGVtZW50IGlzIGV4cGVjdGVkIHRvIGJlIGEgJmx0O3RleHRhcmVhJmd0Oy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25FbGVtZW50Tm90SWZyYW1lRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIFRoZSBhY3Rpb24gZWxlbWVudCBpcyBleHBlY3RlZCB0byBiZSBhbiAmbHQ7aWZyYW1lJmd0LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkluY29ycmVjdEtleXNFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBjb250YWlucyBhbiBpbmNvcnJlY3Qga2V5IG9yIGtleSBjb21iaW5hdGlvbi5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25VbnN1cHBvcnRlZERldmljZVR5cGVFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBhcmd1bWVudCBzcGVjaWZpZXMgYW4gdW5zdXBwb3J0ZWQgXCIke2Vyci5hY3R1YWxWYWx1ZX1cIiBkZXZpY2UuIEZvciBhIGxpc3Qgb2Ygc3VwcG9ydGVkIGRldmljZXMsIHJlZmVyIHRvICR7Zm9ybWF0VXJsKEVYVEVSTkFMX0xJTktTLnZpZXdwb3J0U2l6ZXMpfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25JbnZhbGlkU2Nyb2xsVGFyZ2V0RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBVbmFibGUgdG8gc2Nyb2xsIHRvIHRoZSBzcGVjaWZpZWQgcG9pbnQgYmVjYXVzZSBhIHBvaW50IHdpdGggdGhlIHNwZWNpZmllZCAke2Vyci5wcm9wZXJ0aWVzfSBpcyBub3QgbG9jYXRlZCBpbnNpZGUgdGhlIGVsZW1lbnQncyBjcm9wcGluZyByZWdpb24uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uSWZyYW1lSXNOb3RMb2FkZWRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQ29udGVudCBvZiB0aGUgaWZyYW1lIHRvIHdoaWNoIHlvdSBhcmUgc3dpdGNoaW5nIGRpZCBub3QgbG9hZC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5jdXJyZW50SWZyYW1lSXNOb3RMb2FkZWRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQ29udGVudCBvZiB0aGUgaWZyYW1lIGluIHdoaWNoIHRoZSB0ZXN0IGlzIGN1cnJlbnRseSBvcGVyYXRpbmcgZGlkIG5vdCBsb2FkLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmN1cnJlbnRJZnJhbWVOb3RGb3VuZEVycm9yXTogKCkgPT4gYFxuICAgICAgICBUaGUgaWZyYW1lIGluIHdoaWNoIHRoZSB0ZXN0IGlzIGN1cnJlbnRseSBvcGVyYXRpbmcgZG9lcyBub3QgZXhpc3QgYW55bW9yZS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5jdXJyZW50SWZyYW1lSXNJbnZpc2libGVFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIGlmcmFtZSBpbiB3aGljaCB0aGUgdGVzdCBpcyBjdXJyZW50bHkgb3BlcmF0aW5nIGlzIG5vdCB2aXNpYmxlIGFueW1vcmUuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMubWlzc2luZ0F3YWl0RXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIEEgY2FsbCB0byBhbiBhc3luYyBmdW5jdGlvbiBpcyBub3QgYXdhaXRlZC4gVXNlIHRoZSBcImF3YWl0XCIga2V5d29yZCBiZWZvcmUgYWN0aW9ucywgYXNzZXJ0aW9ucyBvciBjaGFpbnMgb2YgdGhlbSB0byBlbnN1cmUgdGhhdCB0aGV5IHJ1biBpbiB0aGUgcmlnaHQgc2VxdWVuY2UuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuZXh0ZXJuYWxBc3NlcnRpb25MaWJyYXJ5RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG5cbiAgICAgICAgJHtyZW5kZXJEaWZmKGVyci5kaWZmKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5kb21Ob2RlQ2xpZW50RnVuY3Rpb25SZXN1bHRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgJHtlcnIuaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZX0gY2Fubm90IHJldHVybiBET00gZWxlbWVudHMuIFVzZSBTZWxlY3RvciBmdW5jdGlvbnMgZm9yIHRoaXMgcHVycG9zZS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5pbnZhbGlkU2VsZWN0b3JSZXN1bHRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgRnVuY3Rpb24gdGhhdCBzcGVjaWZpZXMgYSBzZWxlY3RvciBjYW4gb25seSByZXR1cm4gYSBET00gbm9kZSwgYW4gYXJyYXkgb2Ygbm9kZXMsIE5vZGVMaXN0LCBIVE1MQ29sbGVjdGlvbiwgbnVsbCBvciB1bmRlZmluZWQuIFVzZSBDbGllbnRGdW5jdGlvbiB0byByZXR1cm4gb3RoZXIgdmFsdWVzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblNlbGVjdG9yRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBBY3Rpb24gXCIke2Vyci5zZWxlY3Rvck5hbWV9XCIgYXJndW1lbnQgZXJyb3I6XG5cbiAgICAgICAgJHtlc2NhcGVIdG1sKGVyci5lcnJNc2cpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmNhbm5vdE9idGFpbkluZm9Gb3JFbGVtZW50U3BlY2lmaWVkQnlTZWxlY3RvckVycm9yXTogKGVyciwgdmlld3BvcnRXaWR0aCkgPT4gYFxuICAgICAgICBDYW5ub3Qgb2J0YWluIGluZm9ybWF0aW9uIGFib3V0IHRoZSBub2RlIGJlY2F1c2UgdGhlIHNwZWNpZmllZCBzZWxlY3RvciBkb2VzIG5vdCBtYXRjaCBhbnkgbm9kZSBpbiB0aGUgRE9NIHRyZWUuXG5cbiAgICAgICAgJHtmb3JtYXRTZWxlY3RvckNhbGxzdGFjayhlcnIuYXBpRm5DaGFpbiwgZXJyLmFwaUZuSW5kZXgsIHZpZXdwb3J0V2lkdGgpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLndpbmRvd0RpbWVuc2lvbnNPdmVyZmxvd0Vycm9yXTogKCkgPT4gYFxuICAgICAgICBVbmFibGUgdG8gcmVzaXplIHRoZSB3aW5kb3cgYmVjYXVzZSB0aGUgc3BlY2lmaWVkIHNpemUgZXhjZWVkcyB0aGUgc2NyZWVuIHNpemUuIE9uIG1hY09TLCBhIHdpbmRvdyBjYW5ub3QgYmUgbGFyZ2VyIHRoYW4gdGhlIHNjcmVlbi5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5mb3JiaWRkZW5DaGFyYWN0ZXJzSW5TY3JlZW5zaG90UGF0aEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlcmUgYXJlIGZvcmJpZGRlbiBjaGFyYWN0ZXJzIGluIHRoZSBcIiR7ZXJyLnNjcmVlbnNob3RQYXRofVwiIHNjcmVlbnNob3QgcGF0aDpcbiAgICAgICAgJHtyZW5kZXJGb3JiaWRkZW5DaGFyc0xpc3QoZXJyLmZvcmJpZGRlbkNoYXJzTGlzdCl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuaW52YWxpZEVsZW1lbnRTY3JlZW5zaG90RGltZW5zaW9uc0Vycm9yXTogZXJyID0+IGBcbiAgICAgICAgIFVuYWJsZSB0byBjYXB0dXJlIGFuIGVsZW1lbnQgaW1hZ2UgYmVjYXVzZSB0aGUgcmVzdWx0aW5nIGltYWdlICR7ZXJyLmRpbWVuc2lvbnN9ICR7ZXJyLnZlcmJ9IHplcm8gb3IgbmVnYXRpdmUuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMucm9sZVN3aXRjaEluUm9sZUluaXRpYWxpemVyRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIFJvbGUgY2Fubm90IGJlIHN3aXRjaGVkIHdoaWxlIGFub3RoZXIgcm9sZSBpcyBiZWluZyBpbml0aWFsaXplZC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hc3NlcnRpb25FeGVjdXRhYmxlQXJndW1lbnRFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIENhbm5vdCBldmFsdWF0ZSB0aGUgXCIke2Vyci5hY3R1YWxWYWx1ZX1cIiBleHByZXNzaW9uIGluIHRoZSBcIiR7ZXJyLmFyZ3VtZW50TmFtZX1cIiBwYXJhbWV0ZXIgYmVjYXVzZSBvZiB0aGUgZm9sbG93aW5nIGVycm9yOlxuXG4gICAgICAgICR7ZXJyLmVyck1zZ31cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hc3NlcnRpb25XaXRob3V0TWV0aG9kQ2FsbEVycm9yXTogKCkgPT4gYFxuICAgICAgICBBbiBhc3NlcnRpb24gbWV0aG9kIGlzIG5vdCBzcGVjaWZpZWQuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYXNzZXJ0aW9uVW5hd2FpdGVkUHJvbWlzZUVycm9yXTogKCkgPT4gYFxuICAgICAgICBBdHRlbXB0ZWQgdG8gcnVuIGFzc2VydGlvbnMgb24gYSBQcm9taXNlIG9iamVjdC4gRGlkIHlvdSBmb3JnZXQgdG8gYXdhaXQgaXQ/IElmIG5vdCwgcGFzcyBcInsgYWxsb3dVbmF3YWl0ZWRQcm9taXNlOiB0cnVlIH1cIiB0byB0aGUgYXNzZXJ0aW9uIG9wdGlvbnMuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMucmVxdWVzdEhvb2tOb3RJbXBsZW1lbnRlZEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgWW91IHNob3VsZCBpbXBsZW1lbnQgdGhlIFwiJHtlcnIubWV0aG9kTmFtZX1cIiBtZXRob2QgaW4gdGhlIFwiJHtlcnIuaG9va0NsYXNzTmFtZX1cIiBjbGFzcy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5yZXF1ZXN0SG9va1VuaGFuZGxlZEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgQW4gdW5oYW5kbGVkIGVycm9yIG9jY3VycmVkIGluIHRoZSBcIiR7ZXJyLm1ldGhvZE5hbWV9XCIgbWV0aG9kIG9mIHRoZSBcIiR7ZXJyLmhvb2tDbGFzc05hbWV9XCIgY2xhc3M6XG5cbiAgICAgICAgJHtlc2NhcGVIdG1sKGVyci5lcnJNc2cpfVxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnVuY2F1Z2h0RXJyb3JJbkN1c3RvbUNsaWVudFNjcmlwdENvZGVdOiBlcnIgPT4gYFxuICAgICAgICBBbiBlcnJvciBvY2N1cnJlZCBpbiBhIHNjcmlwdCBpbmplY3RlZCBpbnRvIHRoZSB0ZXN0ZWQgcGFnZTpcblxuICAgICAgICAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFcnJvckluQ3VzdG9tQ2xpZW50U2NyaXB0Q29kZUxvYWRlZEZyb21Nb2R1bGVdOiBlcnIgPT4gYFxuICAgICAgICBBbiBlcnJvciBvY2N1cnJlZCBpbiB0aGUgJyR7ZXJyLm1vZHVsZU5hbWV9JyBtb2R1bGUgaW5qZWN0ZWQgaW50byB0aGUgdGVzdGVkIHBhZ2UuIE1ha2Ugc3VyZSB0aGF0IHRoaXMgbW9kdWxlIGNhbiBiZSBleGVjdXRlZCBpbiB0aGUgYnJvd3NlciBlbnZpcm9ubWVudC5cblxuICAgICAgICBFcnJvciBkZXRhaWxzOlxuICAgICAgICAke2VzY2FwZUh0bWwoZXJyLmVyck1zZyl9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFcnJvckluQ3VzdG9tU2NyaXB0XTogZXJyID0+IGBcbiAgICAgICAgQW4gdW5oYW5kbGVkIGVycm9yIG9jY3VycmVkIGluIHRoZSBjdXN0b20gc2NyaXB0OlxuXG4gICAgICAgIEVycm9yIGRldGFpbHM6ICR7ZXNjYXBlSHRtbChlcnIuZXJyTXNnKX1cblxuICAgICAgICAke2Zvcm1hdEV4cHJlc3Npb25NZXNzYWdlKGVyci5leHByZXNzaW9uLCBlcnIubGluZSwgZXJyLmNvbHVtbil9XG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuY2hpbGRXaW5kb3dJc05vdExvYWRlZEVycm9yXTogKCkgPT4gYFxuICAgICAgICBUaGUgcGFnZSBpbiB0aGUgY2hpbGQgd2luZG93IGlzIG5vdCBsb2FkZWQuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuY2hpbGRXaW5kb3dOb3RGb3VuZEVycm9yXTogKCkgPT4gYFxuICAgICAgICBUaGUgY2hpbGQgd2luZG93IGlzIG5vdCBmb3VuZC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5jYW5ub3RTd2l0Y2hUb1dpbmRvd0Vycm9yXTogKCkgPT4gYFxuICAgICAgICBDYW5ub3Qgc3dpdGNoIHRvIHRoZSB3aW5kb3cuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuY2xvc2VDaGlsZFdpbmRvd0Vycm9yXTogKCkgPT4gYFxuICAgICAgICBBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBjbG9zaW5nIGNoaWxkIHdpbmRvd3MuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuY2hpbGRXaW5kb3dDbG9zZWRCZWZvcmVTd2l0Y2hpbmdFcnJvcl06ICgpID0+IGBcbiAgICAgICAgVGhlIGNoaWxkIHdpbmRvdyB3YXMgY2xvc2VkIGJlZm9yZSBUZXN0Q2FmZSBjb3VsZCBzd2l0Y2ggdG8gaXQuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuY2Fubm90Q2xvc2VXaW5kb3dXaXRoQ2hpbGRyZW5FcnJvcl06ICgpID0+IGBcbiAgICAgICAgQ2Fubm90IGNsb3NlIGEgd2luZG93IHRoYXQgaGFzIGFuIG9wZW4gY2hpbGQgd2luZG93LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnRhcmdldFdpbmRvd05vdEZvdW5kRXJyb3JdOiAoKSA9PiBgXG4gICAgICAgIENhbm5vdCBmaW5kIHRoZSB3aW5kb3cgc3BlY2lmaWVkIGluIHRoZSBhY3Rpb24gcGFyYW1ldGVycy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5wYXJlbnRXaW5kb3dOb3RGb3VuZEVycm9yXTogKCkgPT4gYFxuICAgICAgICBDYW5ub3QgZmluZCB0aGUgcGFyZW50IHdpbmRvdy4gTWFrZSBzdXJlIHRoYXQgdGhlIHRlc3RlZCB3aW5kb3cgd2FzIG9wZW5lZCBmcm9tIGFub3RoZXIgd2luZG93LlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLnByZXZpb3VzV2luZG93Tm90Rm91bmRFcnJvcl06ICgpID0+IGBcbiAgICAgICAgQ2Fubm90IGZpbmQgdGhlIHByZXZpb3VzIHdpbmRvdy4gTWFrZSBzdXJlIHRoYXQgdGhlIHByZXZpb3VzIHdpbmRvdyBpcyBvcGVuZWQuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuc3dpdGNoVG9XaW5kb3dQcmVkaWNhdGVFcnJvcl06IGVyciA9PiBgXG4gICAgICAgIEFuIGVycm9yIG9jY3VycmVkIGluc2lkZSB0aGUgXCJzd2l0Y2hUb1dpbmRvd1wiIGFyZ3VtZW50IGZ1bmN0aW9uLlxuXG4gICAgICAgIEVycm9yIGRldGFpbHM6XG4gICAgICAgICR7ZXNjYXBlSHRtbChlcnIuZXJyTXNnKX1cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5tdWx0aXBsZVdpbmRvd3NNb2RlSXNEaXNhYmxlZEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgTXVsdGktd2luZG93IG1vZGUgaXMgZGlzYWJsZWQuIFRvIHVzZSB0aGUgXCIke2Vyci5tZXRob2ROYW1lfVwiIG1ldGhvZCwgcmVtb3ZlIHRoZSBcImRpc2FibGVNdWx0aXBsZVdpbmRvd3NcIiBvcHRpb24uXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMubXVsdGlwbGVXaW5kb3dzTW9kZUlzTm90U3VwcG9ydGVkSW5SZW1vdGVCcm93c2VyRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBNdWx0aS13aW5kb3cgbW9kZSBpcyBzdXBwb3J0ZWQgb25seSBpbiBsb2NhbGx5LWluc3RhbGxlZCBDaHJvbWUsIENocm9taXVtLCBFZGdlIDg0KyBhbmQgRmlyZWZveC4gUnVuIHRlc3RzIGluIHRoZXNlIGJyb3dzZXJzIHRvIHVzZSB0aGUgXCIke2Vyci5tZXRob2ROYW1lfVwiIG1ldGhvZC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5jYW5ub3RDbG9zZVdpbmRvd1dpdGhvdXRQYXJlbnRdOiAoKSA9PiBgXG4gICAgICAgIENhbm5vdCBjbG9zZSB0aGUgd2luZG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBhIHBhcmVudC4gVGhlIHBhcmVudCB3aW5kb3cgd2FzIGNsb3NlZCBvciB5b3UgYXJlIGF0dGVtcHRpbmcgdG8gY2xvc2UgdGhlIHJvb3QgYnJvd3NlciB3aW5kb3cgd2hlcmUgdGVzdHMgd2VyZSBsYXVuY2hlZC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5jYW5ub3RSZXN0b3JlQ2hpbGRXaW5kb3dFcnJvcl06ICgpID0+IGBcbiAgICAgICAgRmFpbGVkIHRvIHJlc3RvcmUgY29ubmVjdGlvbiB0byB3aW5kb3cgd2l0aGluIHRoZSBhbGxvY2F0ZWQgdGltZW91dC5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5leGVjdXRpb25UaW1lb3V0RXhjZWVkZWRdOiBlcnIgPT4ge1xuICAgICAgICByZXR1cm4gYCR7ZXJyLnNjb3BlfSB0aW1lb3V0IG9mICR7ZXJyLnRpbWVvdXR9bXMgZXhjZWVkZWQuYDtcbiAgICB9LFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25TdHJpbmdPcHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSB2YWx1ZSBvZiB0aGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBiZWxvbmdzIHRvIGFuIHVuc3VwcG9ydGVkIGRhdGEgdHlwZSAoJHtlcnIuYWN0dWFsVmFsdWV9KS4gVGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gb25seSBhY2NlcHRzIFN0cmluZyB0eXBlIHZhbHVlcy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25TdHJpbmdPclJlZ2V4T3B0aW9uRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgdmFsdWUgb2YgdGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gYmVsb25ncyB0byBhbiB1bnN1cHBvcnRlZCBkYXRhIHR5cGUgKCR7ZXJyLmFjdHVhbFZhbHVlfSkuIFRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIG9ubHkgYWNjZXB0cyBTdHJpbmcgb3IgUmVnZXggdHlwZSB2YWx1ZXMuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uRGF0ZU9wdGlvbkVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIHZhbHVlIG9mIHRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIGJlbG9uZ3MgdG8gYW4gdW5zdXBwb3J0ZWQgZGF0YSB0eXBlICgke2Vyci5hY3R1YWxWYWx1ZX0pLiBUaGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBvbmx5IGFjY2VwdHMgRGF0ZSB0eXBlIHZhbHVlcy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25OdW1iZXJPcHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSB2YWx1ZSBvZiB0aGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBiZWxvbmdzIHRvIGFuIHVuc3VwcG9ydGVkIGRhdGEgdHlwZSAoJHtlcnIuYWN0dWFsVmFsdWV9KS4gVGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gb25seSBhY2NlcHRzIE51bWJlciB0eXBlIHZhbHVlcy5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25VcmxPcHRpb25FcnJvcl06IGVyciA9PiBgXG4gICAgICAgIFRoZSB2YWx1ZSBvZiB0aGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBiZWxvbmdzIHRvIGFuIHVuc3VwcG9ydGVkIGRhdGEgdHlwZSAoJHtlcnIuYWN0dWFsVmFsdWV9KS4gVGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gb25seSBhY2NlcHRzIHN0cmluZyBvciBVUkwgdHlwZXMgdmFsdWVzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblVybFNlYXJjaFBhcmFtc09wdGlvbkVycm9yXTogZXJyID0+IGBcbiAgICAgICAgVGhlIHZhbHVlIG9mIHRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIGJlbG9uZ3MgdG8gYW4gdW5zdXBwb3J0ZWQgZGF0YSB0eXBlICgke2Vyci5hY3R1YWxWYWx1ZX0pLiBUaGUgXCIke2Vyci5vcHRpb25OYW1lfVwiIG9wdGlvbiBvbmx5IGFjY2VwdHMgb2JqZWN0IG9yIFVSTFNlYXJjaFBhcmFtcyB0eXBlcyB2YWx1ZXMuXG4gICAgYCxcblxuICAgIFtURVNUX1JVTl9FUlJPUlMuYWN0aW9uT2JqZWN0T3B0aW9uRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgdmFsdWUgb2YgdGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gYmVsb25ncyB0byBhbiB1bnN1cHBvcnRlZCBkYXRhIHR5cGUgKCR7ZXJyLmFjdHVhbFZhbHVlfSkuIFRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIG9ubHkgYWNjZXB0cyBvYmplY3QgdHlwZXMgdmFsdWVzLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvblVybEFyZ3VtZW50RXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgYXJndW1lbnQgaXMgZXhwZWN0ZWQgdG8gYmUgYW4gVVJMIG9yIGEgc3RyaW5nLCBidXQgaXQgd2FzICR7ZXJyLmFjdHVhbFZhbHVlfS5cbiAgICBgLFxuXG4gICAgW1RFU1RfUlVOX0VSUk9SUy5hY3Rpb25Ta2lwSnNFcnJvcnNBcmd1bWVudEVycm9yXTogZXJyID0+IGBcbiAgICAgICAgQ2Fubm90IGV4ZWN1dGUgdGhlIHNraXBKc0Vycm9ycyBtZXRob2QuIFRoZSB2YWx1ZSBvZiB0aGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgYXJndW1lbnQgYmVsb25ncyB0byBhbiB1bnN1cHBvcnRlZCB0eXBlICgke2Vyci5hY3R1YWxWYWx1ZX0pLiBUaGUgXCIke2Vyci5hcmd1bWVudE5hbWV9XCIgc3VwcG9ydHMgdGhlIGZvbGxvd2luZyBkYXRhIHR5cGVzOiBCb29sZWFuLCBPYmplY3QsIEZ1bmN0aW9uLlxuICAgIGAsXG5cbiAgICBbVEVTVF9SVU5fRVJST1JTLmFjdGlvbkZ1bmN0aW9uT3B0aW9uRXJyb3JdOiBlcnIgPT4gYFxuICAgICAgICBUaGUgdmFsdWUgb2YgdGhlIFwiJHtlcnIub3B0aW9uTmFtZX1cIiBvcHRpb24gYmVsb25ncyB0byBhbiB1bnN1cHBvcnRlZCBkYXRhIHR5cGUgKCR7ZXJyLmFjdHVhbFZhbHVlfSkuIFRoZSBcIiR7ZXJyLm9wdGlvbk5hbWV9XCIgb3B0aW9uIG9ubHkgYWNjZXB0cyBmdW5jdGlvbiB0eXBlcyB2YWx1ZXMuXG4gICAgYCxcbn07XG4iXX0= |
@@ -104,3 +104,3 @@ "use strict"; | ||
actionSkipJsErrorsArgumentError: 'E98', | ||
actionSkipJsErrorsDependenciesArgumentError: 'E99', | ||
actionFunctionOptionError: 'E99', | ||
}; | ||
@@ -182,4 +182,5 @@ exports.RUNTIME_ERRORS = { | ||
relativeBaseUrl: 'E1075', | ||
invalidSkipJsErrorsOption: 'E1076', | ||
invalidSkipJsErrorsOptionsObjectProperty: 'E1076', | ||
invalidSkipJsErrorsCallbackWithOptionsProperty: 'E1077', | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXJyb3JzL3R5cGVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxnRUFBZ0U7QUFDaEUsZ0VBQWdFO0FBQ2hFLCtDQUErQztBQUMvQyxnRUFBZ0U7OztBQUVuRCxRQUFBLGVBQWUsR0FBRztJQUMzQixtQkFBbUIsRUFBb0MsSUFBSTtJQUMzRCx1QkFBdUIsRUFBZ0MsSUFBSTtJQUMzRCxnQ0FBZ0MsRUFBdUIsSUFBSTtJQUMzRCxpQ0FBaUMsRUFBc0IsSUFBSTtJQUMzRCxvQ0FBb0MsRUFBbUIsSUFBSTtJQUMzRCx5QkFBeUIsRUFBOEIsSUFBSTtJQUMzRCxpQkFBaUIsRUFBc0MsSUFBSTtJQUMzRCxpQkFBaUIsRUFBc0MsSUFBSTtJQUMzRCx3QkFBd0IsRUFBK0IsSUFBSTtJQUMzRCxnQ0FBZ0MsRUFBdUIsS0FBSztJQUM1RCx3QkFBd0IsRUFBK0IsS0FBSztJQUM1RCxzQkFBc0IsRUFBaUMsS0FBSztJQUM1RCxzQkFBc0IsRUFBaUMsS0FBSztJQUM1RCwwQkFBMEIsRUFBNkIsS0FBSztJQUM1RCx5QkFBeUIsRUFBOEIsS0FBSztJQUM1RCxpQ0FBaUMsRUFBc0IsS0FBSztJQUM1RCxzQ0FBc0MsRUFBaUIsS0FBSztJQUM1RCw2QkFBNkIsRUFBMEIsS0FBSztJQUM1RCwwQkFBMEIsRUFBNkIsS0FBSztJQUM1RCx1QkFBdUIsRUFBZ0MsS0FBSztJQUM1RCxrQ0FBa0MsRUFBcUIsS0FBSztJQUM1RCxtQkFBbUIsRUFBb0MsS0FBSztJQUM1RCwwQkFBMEIsRUFBNkIsS0FBSztJQUM1RCw2QkFBNkIsRUFBMEIsS0FBSztJQUM1RCx1Q0FBdUMsRUFBZ0IsS0FBSztJQUM1RCxvQ0FBb0MsRUFBbUIsS0FBSztJQUM1RCx1Q0FBdUMsRUFBZ0IsS0FBSztJQUM1RCxpREFBaUQsRUFBTSxLQUFLO0lBQzVELDZCQUE2QixFQUEwQixLQUFLO0lBQzVELDZCQUE2QixFQUEwQixL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O0lBQzNELDZDQUE2QyxFQUFPLE9BQU87SUFDM0QsOEJBQThCLEVBQXNCLE9BQU87SUFDM0QsZ0RBQWdELEVBQUksT0FBTztJQUMzRCxnQ0FBZ0MsRUFBb0IsT0FBTztJQUMzRCxrQkFBa0IsRUFBa0MsT0FBTztJQUMzRCxtQkFBbUIsRUFBaUMsT0FBTztJQUMzRCx1QkFBdUIsRUFBNkIsT0FBTztJQUMzRCx1QkFBdUIsRUFBNkIsT0FBTztJQUMzRCx1QkFBdUIsRUFBNkIsT0FBTztJQUMzRCw4Q0FBOEMsRUFBTSxPQUFPO0lBQzNELHVCQUF1QixFQUE2QixPQUFPO0lBQzNELDhCQUE4QixFQUFzQixPQUFPO0lBQzNELDhCQUE4QixFQUFzQixPQUFPO0lBQzNELGlDQUFpQyxFQUFtQixPQUFPO0lBQzNELGdDQUFnQyxFQUFvQixPQUFPO0lBQzNELHNCQUFzQixFQUE4QixPQUFPO0lBQzNELG1DQUFtQyxFQUFpQixPQUFPO0lBQzNELHVCQUF1QixFQUE2QixPQUFPO0lBQzNELGdDQUFnQyxFQUFvQixPQUFPO0lBQzNELHdCQUF3QixFQUE0QixPQUFPO0lBQzNELDRCQUE0QixFQUF3QixPQUFPO0lBQzNELCtCQUErQixFQUFxQixPQUFPO0lBQzNELG1DQUFtQyxFQUFpQixPQUFPO0lBQzNELG9CQUFvQixFQUFnQyxPQUFPO0lBQzNELDJCQUEyQixFQUF5QixPQUFPO0lBQzNELG1CQUFtQixFQUFpQyxPQUFPO0lBQzNELDJCQUEyQixFQUF5QixPQUFPO0lBQzNELGVBQWUsRUFBcUMsT0FBTztJQUMzRCx5QkFBeUIsRUFBMkIsT0FBTztDQUM5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gV0FSTklORzogdGhpcyBmaWxlIGlzIHVzZWQgYnkgYm90aCB0aGUgY2xpZW50IGFuZCB0aGUgc2VydmVyLlxuLy8gRG8gbm90IHVzZSBhbnkgYnJvd3NlciBvciBub2RlLXNwZWNpZmljIEFQSSFcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZXhwb3J0IGNvbnN0IFRFU1RfUlVOX0VSUk9SUyA9IHtcbiAgICB1bmNhdWdodEVycm9yT25QYWdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxJyxcbiAgICB1bmNhdWdodEVycm9ySW5UZXN0Q29kZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UyJyxcbiAgICB1bmNhdWdodE5vbkVycm9yT2JqZWN0SW5UZXN0Q29kZTogICAgICAgICAgICAgICAgICAgICAgJ0UzJyxcbiAgICB1bmNhdWdodEVycm9ySW5DbGllbnRGdW5jdGlvbkNvZGU6ICAgICAgICAgICAgICAgICAgICAgJ0U0JyxcbiAgICB1bmNhdWdodEVycm9ySW5DdXN0b21ET01Qcm9wZXJ0eUNvZGU6ICAgICAgICAgICAgICAgICAgJ0U1JyxcbiAgICB1bmhhbmRsZWRQcm9taXNlUmVqZWN0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U2JyxcbiAgICB1bmNhdWdodEV4Y2VwdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U3JyxcbiAgICBtaXNzaW5nQXdhaXRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U4JyxcbiAgICBhY3Rpb25JbnRlZ2VyT3B0aW9uRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U5JyxcbiAgICBhY3Rpb25Qb3NpdGl2ZUludGVnZXJPcHRpb25FcnJvcjogICAgICAgICAgICAgICAgICAgICAgJ0UxMCcsXG4gICAgYWN0aW9uQm9vbGVhbk9wdGlvbkVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFMTEnLFxuICAgIGFjdGlvblNwZWVkT3B0aW9uRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEyJyxcbiAgICBhY3Rpb25PcHRpb25zVHlwZUVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxNCcsXG4gICAgYWN0aW9uQm9vbGVhbkFyZ3VtZW50RXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFMTUnLFxuICAgIGFjdGlvblN0cmluZ0FyZ3VtZW50RXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTE2JyxcbiAgICBhY3Rpb25OdWxsYWJsZVN0cmluZ0FyZ3VtZW50RXJyb3I6ICAgICAgICAgICAgICAgICAgICAgJ0UxNycsXG4gICAgYWN0aW9uU3RyaW5nT3JTdHJpbmdBcnJheUFyZ3VtZW50RXJyb3I6ICAgICAgICAgICAgICAgICdFMTgnLFxuICAgIGFjdGlvblN0cmluZ0FycmF5RWxlbWVudEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAnRTE5JyxcbiAgICBhY3Rpb25JbnRlZ2VyQXJndW1lbnRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UyMCcsXG4gICAgYWN0aW9uUm9sZUFyZ3VtZW50RXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFMjEnLFxuICAgIGFjdGlvblBvc2l0aXZlSW50ZWdlckFyZ3VtZW50RXJyb3I6ICAgICAgICAgICAgICAgICAgICAnRTIyJyxcbiAgICBhY3Rpb25TZWxlY3RvckVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UyMycsXG4gICAgYWN0aW9uRWxlbWVudE5vdEZvdW5kRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFMjQnLFxuICAgIGFjdGlvbkVsZW1lbnRJc0ludmlzaWJsZUVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAnRTI2JyxcbiAgICBhY3Rpb25TZWxlY3Rvck1hdGNoZXNXcm9uZ05vZGVUeXBlRXJyb3I6ICAgICAgICAgICAgICAgJ0UyNycsXG4gICAgYWN0aW9uQWRkaXRpb25hbEVsZW1lbnROb3RGb3VuZEVycm9yOiAgICAgICAgICAgICAgICAgICdFMjgnLFxuICAgIGFjdGlvbkFkZGl0aW9uYWxFbGVtZW50SXNJbnZpc2libGVFcnJvcjogICAgICAgICAgICAgICAnRTI5JyxcbiAgICBhY3Rpb25BZGRpdGlvbmFsU2VsZWN0b3JNYXRjaGVzV3JvbmdOb2RlVHlwZUVycm9yOiAgICAgJ0UzMCcsXG4gICAgYWN0aW9uRWxlbWVudE5vbkVkaXRhYmxlRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICdFMzEnLFxuICAgIGFjdGlvbkVsZW1lbnROb3RUZXh0QXJlYUVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAnRTMyJyxcbiAgICBhY3Rpb25FbGVtZW50Tm9uQ29udGVudEVkaXRhYmxlRXJyb3I6ICAgICAgICAgICAgICAgICAgJ0UzMycsXG4gICAgYWN0aW9uRWxlbWVudElzTm90RmlsZUlucHV0RXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICdFMzQnLFxuICAgIGFjdGlvblJvb3RDb250YWluZXJOb3RGb3VuZEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAnRTM1JyxcbiAgICBhY3Rpb25JbmNvcnJlY3RLZXlzRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UzNicsXG4gICAgYWN0aW9uQ2Fubm90RmluZEZpbGVUb1VwbG9hZEVycm9yOiAgICAgICAgICAgICAgICAgICAgICdFMzcnLFxuICAgIGFjdGlvblVuc3VwcG9ydGVkRGV2aWNlVHlwZUVycm9yOiAgICAgICAgICAgICAgICAgICAgICAnRTM4JyxcbiAgICBhY3Rpb25JZnJhbWVJc05vdExvYWRlZEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UzOScsXG4gICAgYWN0aW9uRWxlbWVudE5vdElmcmFtZUVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICdFNDAnLFxuICAgIGFjdGlvbkludmFsaWRTY3JvbGxUYXJnZXRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAnRTQxJyxcbiAgICBjdXJyZW50SWZyYW1lSXNOb3RMb2FkZWRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgJ0U0MicsXG4gICAgY3VycmVudElmcmFtZU5vdEZvdW5kRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFNDMnLFxuICAgIGN1cnJlbnRJZnJhbWVJc0ludmlzaWJsZUVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAnRTQ0JyxcbiAgICBuYXRpdmVEaWFsb2dOb3RIYW5kbGVkRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U0NScsXG4gICAgdW5jYXVnaHRFcnJvckluTmF0aXZlRGlhbG9nSGFuZGxlcjogICAgICAgICAgICAgICAgICAgICdFNDYnLFxuICAgIHNldFRlc3RTcGVlZEFyZ3VtZW50RXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTQ3JyxcbiAgICBzZXROYXRpdmVEaWFsb2dIYW5kbGVyQ29kZVdyb25nVHlwZUVycm9yOiAgICAgICAgICAgICAgJ0U0OCcsXG4gICAgY2xpZW50RnVuY3Rpb25FeGVjdXRpb25JbnRlcnJ1cHRpb25FcnJvcjogICAgICAgICAgICAgICdFNDknLFxuICAgIGRvbU5vZGVDbGllbnRGdW5jdGlvblJlc3VsdEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAnRTUwJyxcbiAgICBpbnZhbGlkU2VsZWN0b3JSZXN1bHRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U1MScsXG4gICAgY2Fubm90T2J0YWluSW5mb0ZvckVsZW1lbnRTcGVjaWZpZWRCeVNlbGVjdG9yRXJyb3I6ICAgICdFNTInLFxuICAgIGV4dGVybmFsQXNzZXJ0aW9uTGlicmFyeUVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAnRTUzJyxcbiAgICBwYWdlTG9hZEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U1NCcsXG4gICAgd2luZG93RGltZW5zaW9uc092ZXJmbG93RXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICdFNTUnLFxuICAgIGZvcmJpZGRlbkNoYXJhY3RlcnNJblNjcmVlbnNob3RQYXRoRXJyb3I6ICAgICAgICAgICAgICAnRTU2JyxcbiAgICBpbnZhbGlkRWxlbWVudFNjcmVlbnNob3REaW1lbnNpb25zRXJyb3I6ICAgICAgICAgICAgICAgJ0U1NycsXG4gICAgcm9sZVN3aXRjaEluUm9sZUluaXRpYWxpemVyRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICdFNTgnLFxuICAgIGFzc2VydGlvbkV4ZWN1dGFibGVBcmd1bWVudEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAnRTU5JyxcbiAgICBhc3NlcnRpb25XaXRob3V0TWV0aG9kQ2FsbEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgJ0U2MCcsXG4gICAgYXNzZXJ0aW9uVW5hd2FpdGVkUHJvbWlzZUVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICdFNjEnLFxuICAgIHJlcXVlc3RIb29rTm90SW1wbGVtZW50ZWRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAnRTYyJyxcbiAgICByZXF1ZXN0SG9va1VuaGFuZGxlZEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U2MycsXG4gICAgdW5jYXVnaHRFcnJvckluQ3VzdG9tQ2xpZW50U2NyaXB0Q29kZTogICAgICAgICAgICAgICAgICdFNjQnLFxuICAgIHVuY2F1Z2h0RXJyb3JJbkN1c3RvbUNsaWVudFNjcmlwdENvZGVMb2FkZWRGcm9tTW9kdWxlOiAnRTY1JyxcbiAgICB1bmNhdWdodEVycm9ySW5DdXN0b21TY3JpcHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U2NicsXG4gICAgdW5jYXVnaHRUZXN0Q2FmZUVycm9ySW5DdXN0b21TY3JpcHQ6ICAgICAgICAgICAgICAgICAgICdFNjcnLFxuICAgIGNoaWxkV2luZG93SXNOb3RMb2FkZWRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAnRTY4JyxcbiAgICBjaGlsZFdpbmRvd05vdEZvdW5kRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U2OScsXG4gICAgY2Fubm90U3dpdGNoVG9XaW5kb3dFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFNzAnLFxuICAgIGNsb3NlQ2hpbGRXaW5kb3dFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTcxJyxcbiAgICBjaGlsZFdpbmRvd0Nsb3NlZEJlZm9yZVN3aXRjaGluZ0Vycm9yOiAgICAgICAgICAgICAgICAgJ0U3MicsXG4gICAgY2Fubm90Q2xvc2VXaW5kb3dXaXRoQ2hpbGRyZW5FcnJvcjogICAgICAgICAgICAgICAgICAgICdFNzMnLFxuICAgIHRhcmdldFdpbmRvd05vdEZvdW5kRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTc0JyxcbiAgICBwYXJlbnRXaW5kb3dOb3RGb3VuZEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U3NicsXG4gICAgcHJldmlvdXNXaW5kb3dOb3RGb3VuZEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICdFNzcnLFxuICAgIHN3aXRjaFRvV2luZG93UHJlZGljYXRlRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAnRTc4JyxcbiAgICBhY3Rpb25GdW5jdGlvbkFyZ3VtZW50RXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U3OScsXG4gICAgbXVsdGlwbGVXaW5kb3dzTW9kZUlzRGlzYWJsZWRFcnJvcjogICAgICAgICAgICAgICAgICAgICdFODAnLFxuICAgIG11bHRpcGxlV2luZG93c01vZGVJc05vdFN1cHBvcnRlZEluUmVtb3RlQnJvd3NlckVycm9yOiAnRTgxJyxcbiAgICBjYW5ub3RDbG9zZVdpbmRvd1dpdGhvdXRQYXJlbnQ6ICAgICAgICAgICAgICAgICAgICAgICAgJ0U4MicsXG4gICAgY2Fubm90UmVzdG9yZUNoaWxkV2luZG93RXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICdFODMnLFxuICAgIGV4ZWN1dGlvblRpbWVvdXRFeGNlZWRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTg0JyxcbiAgICBhY3Rpb25SZXF1aXJlZENvb2tpZUFyZ3VtZW50czogICAgICAgICAgICAgICAgICAgICAgICAgJ0U4NScsXG4gICAgYWN0aW9uQ29va2llQXJndW1lbnRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFODYnLFxuICAgIGFjdGlvbkNvb2tpZUFyZ3VtZW50c0Vycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTg3JyxcbiAgICBhY3Rpb25VcmxDb29raWVBcmd1bWVudEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U4OCcsXG4gICAgYWN0aW9uVXJsc0Nvb2tpZUFyZ3VtZW50RXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICdFODknLFxuICAgIGFjdGlvblN0cmluZ09wdGlvbkVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTkwJyxcbiAgICBhY3Rpb25EYXRlT3B0aW9uRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U5MScsXG4gICAgYWN0aW9uTnVtYmVyT3B0aW9uRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFOTInLFxuICAgIGFjdGlvblVybE9wdGlvbkVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTkzJyxcbiAgICBhY3Rpb25VcmxTZWFyY2hQYXJhbXNPcHRpb25FcnJvcjogICAgICAgICAgICAgICAgICAgICAgJ0U5NCcsXG4gICAgYWN0aW9uT2JqZWN0T3B0aW9uRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFOTUnLFxuICAgIGFjdGlvblVybEFyZ3VtZW50RXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTk2JyxcbiAgICBhY3Rpb25TdHJpbmdPclJlZ2V4T3B0aW9uRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJ0U5NycsXG4gICAgYWN0aW9uU2tpcEpzRXJyb3JzQXJndW1lbnRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICdFOTgnLFxuICAgIGFjdGlvblNraXBKc0Vycm9yc0RlcGVuZGVuY2llc0FyZ3VtZW50RXJyb3I6ICAgICAgICAgICAnRTk5Jyxcbn07XG5cbmV4cG9ydCBjb25zdCBSVU5USU1FX0VSUk9SUyA9IHtcbiAgICBjYW5ub3RDcmVhdGVNdWx0aXBsZUxpdmVNb2RlUnVubmVyczogICAgICAgICAgICAgICAgJ0UxMDAwJyxcbiAgICBjYW5ub3RSdW5MaXZlTW9kZVJ1bm5lck11bHRpcGxlVGltZXM6ICAgICAgICAgICAgICAgJ0UxMDAxJyxcbiAgICBicm93c2VyRGlzY29ubmVjdGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDAyJyxcbiAgICBjYW5ub3RSdW5BZ2FpbnN0RGlzY29ubmVjdGVkQnJvd3NlcnM6ICAgICAgICAgICAgICAgJ0UxMDAzJyxcbiAgICBjYW5ub3RFc3RhYmxpc2hCcm93c2VyQ29ubmVjdGlvbjogICAgICAgICAgICAgICAgICAgJ0UxMDA0JyxcbiAgICBjYW5ub3RGaW5kQnJvd3NlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDA1JyxcbiAgICBicm93c2VyUHJvdmlkZXJOb3RGb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDA2JyxcbiAgICBicm93c2VyTm90U2V0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDA3JyxcbiAgICB0ZXN0RmlsZXNOb3RGb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDA4JyxcbiAgICBub1Rlc3RzVG9SdW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDA5JyxcbiAgICBjYW5ub3RGaW5kUmVwb3J0ZXJGb3JBbGlhczogICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDEwJyxcbiAgICBtdWx0aXBsZVNhbWVTdHJlYW1SZXBvcnRlcnM6ICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDExJyxcbiAgICBvcHRpb25WYWx1ZUlzTm90VmFsaWRSZWdFeHA6ICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDEyJyxcbiAgICBvcHRpb25WYWx1ZUlzTm90VmFsaWRLZXlWYWx1ZTogICAgICAgICAgICAgICAgICAgICAgJ0UxMDEzJyxcbiAgICBpbnZhbGlkU3BlZWRWYWx1ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDE0JyxcbiAgICBpbnZhbGlkQ29uY3VycmVuY3lGYWN0b3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDE1JyxcbiAgICBjYW5ub3REaXZpZGVSZW1vdGVzQ291bnRCeUNvbmN1cnJlbmN5OiAgICAgICAgICAgICAgJ0UxMDE2JyxcbiAgICBwb3J0c09wdGlvblJlcXVpcmVzVHdvTnVtYmVyczogICAgICAgICAgICAgICAgICAgICAgJ0UxMDE3JyxcbiAgICBwb3J0SXNOb3RGcmVlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDE4JyxcbiAgICBpbnZhbGlkSG9zdG5hbWU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDE5JyxcbiAgICBjYW5ub3RGaW5kU3BlY2lmaWVkVGVzdFNvdXJjZTogICAgICAgICAgICAgICAgICAgICAgJ0UxMDIwJyxcbiAgICBjbGllbnRGdW5jdGlvbkNvZGVJc05vdEFGdW5jdGlvbjogICAgICAgICAgICAgICAgICAgJ0UxMDIxJyxcbiAgICBzZWxlY3RvckluaXRpYWxpemVkV2l0aFdyb25nVHlwZTogICAgICAgICAgICAgICAgICAgJ0UxMDIyJyxcbiAgICBjbGllbnRGdW5jdGlvbkNhbm5vdFJlc29sdmVUZXN0UnVuOiAgICAgICAgICAgICAgICAgJ0UxMDIzJyxcbiAgICByZWdlbmVyYXRvckluQ2xpZW50RnVuY3Rpb25Db2RlOiAgICAgICAgICAgICAgICAgICAgJ0UxMDI0JyxcbiAgICBpbnZhbGlkQ2xpZW50RnVuY3Rpb25UZXN0UnVuQmluZGluZzogICAgICAgICAgICAgICAgJ0UxMDI1JyxcbiAgICBpbnZhbGlkVmFsdWVUeXBlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDI2JyxcbiAgICB1bnN1cHBvcnRlZFVybFByb3RvY29sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDI3JyxcbiAgICB0ZXN0Q29udHJvbGxlclByb3h5Q2Fubm90UmVzb2x2ZVRlc3RSdW46ICAgICAgICAgICAgJ0UxMDI4JyxcbiAgICB0aW1lTGltaXRlZFByb21pc2VUaW1lb3V0RXhwaXJlZDogICAgICAgICAgICAgICAgICAgJ0UxMDI5JyxcbiAgICBub1Rlc3RzVG9SdW5EdWVGaWx0ZXJpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDMwJyxcbiAgICBjYW5ub3RTZXRWaWRlb09wdGlvbnNXaXRob3V0QmFzZVZpZGVvUGF0aFNwZWNpZmllZDogJ0UxMDMxJyxcbiAgICBtdWx0aXBsZUFQSU1ldGhvZENhbGxGb3JiaWRkZW46ICAgICAgICAgICAgICAgICAgICAgJ0UxMDMyJyxcbiAgICBpbnZhbGlkUmVwb3J0ZXJPdXRwdXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDMzJyxcbiAgICBjYW5ub3RSZWFkU1NMQ2VydEZpbGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDM0JyxcbiAgICBjYW5ub3RQcmVwYXJlVGVzdHNEdWVUb0Vycm9yOiAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDM1JyxcbiAgICBjYW5ub3RQYXJzZVJhd0ZpbGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDM2JyxcbiAgICB0ZXN0ZWRBcHBGYWlsZWRXaXRoRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDM3JyxcbiAgICB1bmFibGVUb09wZW5Ccm93c2VyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDM4JyxcbiAgICByZXF1ZXN0SG9va0NvbmZpZ3VyZUFQSUVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDM5JyxcbiAgICBmb3JiaWRkZW5DaGFyYXRlcnNJblNjcmVlbnNob3RQYXRoOiAgICAgICAgICAgICAgICAgJ0UxMDQwJyxcbiAgICBjYW5ub3RGaW5kRkZNUEVHOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDQxJyxcbiAgICBjb21wb3NpdGVBcmd1bWVudHNFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDQyJyxcbiAgICBjYW5ub3RGaW5kVHlwZXNjcmlwdENvbmZpZ3VyYXRpb25GaWxlOiAgICAgICAgICAgICAgJ0UxMDQzJyxcbiAgICBjbGllbnRTY3JpcHRJbml0aWFsaXplcklzTm90U3BlY2lmaWVkOiAgICAgICAgICAgICAgJ0UxMDQ0JyxcbiAgICBjbGllbnRTY3JpcHRCYXNlUGF0aElzTm90U3BlY2lmaWVkOiAgICAgICAgICAgICAgICAgJ0UxMDQ1JyxcbiAgICBjbGllbnRTY3JpcHRJbml0aWFsaXplck11bHRpcGxlQ29udGVudFNvdXJjZXM6ICAgICAgJ0UxMDQ2JyxcbiAgICBjYW5ub3RMb2FkQ2xpZW50U2NyaXB0RnJvbVBhdGg6ICAgICAgICAgICAgICAgICAgICAgJ0UxMDQ3JyxcbiAgICBjbGllbnRTY3JpcHRNb2R1bGVFbnRyeVBvaW50UGF0aENhbGN1bGF0aW9uRXJyb3I6ICAgJ0UxMDQ4JyxcbiAgICBtZXRob2RJc05vdEF2YWlsYWJsZUZvckFuSVBDSG9zdDogICAgICAgICAgICAgICAgICAgJ0UxMDQ5JyxcbiAgICB0b29MYXJnZUlQQ1BheWxvYWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDUwJyxcbiAgICBtYWxmb3JtZWRJUENNZXNzYWdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDUxJyxcbiAgICB1bmV4cGVjdGVkSVBDSGVhZFBhY2tldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDUyJyxcbiAgICB1bmV4cGVjdGVkSVBDQm9keVBhY2tldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDUzJyxcbiAgICB1bmV4cGVjdGVkSVBDVGFpbFBhY2tldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDU0JyxcbiAgICBjYW5ub3RSdW5Mb2NhbE5vbkhlYWRsZXNzQnJvd3NlcldpdGhvdXREaXNwbGF5OiAgICAgJ0UxMDU3JyxcbiAgICB1bmNhdWdodEVycm9ySW5SZXBvcnRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDU4JyxcbiAgICByb2xlSW5pdGlhbGl6ZWRXaXRoUmVsYXRpdmVVcmw6ICAgICAgICAgICAgICAgICAgICAgJ0UxMDU5JyxcbiAgICB0eXBlU2NyaXB0Q29tcGlsZXJMb2FkaW5nRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgJ0UxMDYwJyxcbiAgICBjYW5ub3RDdXN0b21pemVTcGVjaWZpZWRDb21waWxlcnM6ICAgICAgICAgICAgICAgICAgJ0UxMDYxJyxcbiAgICBjYW5ub3RFbmFibGVSZXRyeVRlc3RQYWdlc09wdGlvbjogICAgICAgICAgICAgICAgICAgJ0UxMDYyJyxcbiAgICBicm93c2VyQ29ubmVjdGlvbkVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDYzJyxcbiAgICB0ZXN0UnVuUmVxdWVzdEluRGlzY29ubmVjdGVkQnJvd3NlcjogICAgICAgICAgICAgICAgJ0UxMDY0JyxcbiAgICBpbnZhbGlkUXVhcmFudGluZU9wdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDY1JyxcbiAgICBpbnZhbGlkUXVhcmFudGluZVBhcmFtZXRlcnNSYXRpbzogICAgICAgICAgICAgICAgICAgJ0UxMDY2JyxcbiAgICBpbnZhbGlkQXR0ZW1wdExpbWl0VmFsdWU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDY3JyxcbiAgICBpbnZhbGlkU3VjY2Vzc1RocmVzaG9sZFZhbHVlOiAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDY4JyxcbiAgICBjYW5ub3RTZXRDb25jdXJyZW5jeVdpdGhDRFBQb3J0OiAgICAgICAgICAgICAgICAgICAgJ0UxMDY5JyxcbiAgICBjYW5ub3RGaW5kVGVzdGNhZmVDb25maWd1cmF0aW9uRmlsZTogICAgICAgICAgICAgICAgJ0UxMDcwJyxcbiAgICBkYXNoYm9hcmRUb2tlbkluSlNPTjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDcxJyxcbiAgICByZXF1ZXN0VXJsSW52YWxpZFZhbHVlRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDcyJyxcbiAgICByZXF1ZXN0UnVudGltZUVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDczJyxcbiAgICByZXF1ZXN0Q2Fubm90UmVzb2x2ZVRlc3RSdW46ICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDc0JyxcbiAgICByZWxhdGl2ZUJhc2VVcmw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDc1JyxcbiAgICBpbnZhbGlkU2tpcEpzRXJyb3JzT3B0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMDc2Jyxcbn07XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXJyb3JzL3R5cGVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxnRUFBZ0U7QUFDaEUsZ0VBQWdFO0FBQ2hFLCtDQUErQztBQUMvQyxnRUFBZ0U7OztBQUVuRCxRQUFBLGVBQWUsR0FBRztJQUMzQixtQkFBbUIsRUFBb0MsSUFBSTtJQUMzRCx1QkFBdUIsRUFBZ0MsSUFBSTtJQUMzRCxnQ0FBZ0MsRUFBdUIsSUFBSTtJQUMzRCxpQ0FBaUMsRUFBc0IsSUFBSTtJQUMzRCxvQ0FBb0MsRUFBbUIsSUFBSTtJQUMzRCx5QkFBeUIsRUFBOEIsSUFBSTtJQUMzRCxpQkFBaUIsRUFBc0MsSUFBSTtJQUMzRCxpQkFBaUIsRUFBc0MsSUFBSTtJQUMzRCx3QkFBd0IsRUFBK0IsSUFBSTtJQUMzRCxnQ0FBZ0MsRUFBdUIsS0FBSztJQUM1RCx3QkFBd0IsRUFBK0IsS0FBSztJQUM1RCxzQkFBc0IsRUFBaUMsS0FBSztJQUM1RCxzQkFBc0IsRUFBaUMsS0FBSztJQUM1RCwwQkFBMEIsRUFBNkIsS0FBSztJQUM1RCx5QkFBeUIsRUFBOEIsS0FBSztJQUM1RCxpQ0FBaUMsRUFBc0IsS0FBSztJQUM1RCxzQ0FBc0MsRUFBaUIsS0FBSztJQUM1RCw2QkFBNkIsRUFBMEIsS0FBSztJQUM1RCwwQkFBMEIsRUFBNkIsS0FBSztJQUM1RCx1QkFBdUIsRUFBZ0MsS0FBSztJQUM1RCxrQ0FBa0MsRUFBcUIsS0FBSztJQUM1RCxtQkFBbUIsRUFBb0MsS0FBSztJQUM1RCwwQkFBMEIsRUFBNkIsS0FBSztJQUM1RCw2QkFBNkIsRUFBMEIsS0FBSztJQUM1RCx1Q0FBdUMsRUFBZ0IsS0FBSztJQUM1RCxvQ0FBb0MsRUFBbUIsS0FBSztJQUM1RCx1Q0FBdUMsRUFBZ0IsS0FBSztJQUM1RCxpREFBaUQsRUFBTSxLQUFLO0lBQzVELDZCQUE2QixFQUEwQixLQUFLO0lBQzVELDZCQUE2QixFQUEwQixL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TztJQUMzRCw2Q0FBNkMsRUFBTyxPQUFPO0lBQzNELDhCQUE4QixFQUFzQixPQUFPO0lBQzNELGdEQUFnRCxFQUFJLE9BQU87SUFDM0QsZ0NBQWdDLEVBQW9CLE9BQU87SUFDM0Qsa0JBQWtCLEVBQWtDLE9BQU87SUFDM0QsbUJBQW1CLEVBQWlDLE9BQU87SUFDM0QsdUJBQXVCLEVBQTZCLE9BQU87SUFDM0QsdUJBQXVCLEVBQTZCLE9BQU87SUFDM0QsdUJBQXVCLEVBQTZCLE9BQU87SUFDM0QsOENBQThDLEVBQU0sT0FBTztJQUMzRCx1QkFBdUIsRUFBNkIsT0FBTztJQUMzRCw4QkFBOEIsRUFBc0IsT0FBTztJQUMzRCw4QkFBOEIsRUFBc0IsT0FBTztJQUMzRCxpQ0FBaUMsRUFBbUIsT0FBTztJQUMzRCxnQ0FBZ0MsRUFBb0IsT0FBTztJQUMzRCxzQkFBc0IsRUFBOEIsT0FBTztJQUMzRCxtQ0FBbUMsRUFBaUIsT0FBTztJQUMzRCx1QkFBdUIsRUFBNkIsT0FBTztJQUMzRCxnQ0FBZ0MsRUFBb0IsT0FBTztJQUMzRCx3QkFBd0IsRUFBNEIsT0FBTztJQUMzRCw0QkFBNEIsRUFBd0IsT0FBTztJQUMzRCwrQkFBK0IsRUFBcUIsT0FBTztJQUMzRCxtQ0FBbUMsRUFBaUIsT0FBTztJQUMzRCxvQkFBb0IsRUFBZ0MsT0FBTztJQUMzRCwyQkFBMkIsRUFBeUIsT0FBTztJQUMzRCxtQkFBbUIsRUFBaUMsT0FBTztJQUMzRCwyQkFBMkIsRUFBeUIsT0FBTztJQUMzRCxlQUFlLEVBQXFDLE9BQU87SUFDM0Qsd0NBQXdDLEVBQVksT0FBTztJQUMzRCw4Q0FBOEMsRUFBTSxPQUFPO0NBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBXQVJOSU5HOiB0aGlzIGZpbGUgaXMgdXNlZCBieSBib3RoIHRoZSBjbGllbnQgYW5kIHRoZSBzZXJ2ZXIuXG4vLyBEbyBub3QgdXNlIGFueSBicm93c2VyIG9yIG5vZGUtc3BlY2lmaWMgQVBJIVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5leHBvcnQgY29uc3QgVEVTVF9SVU5fRVJST1JTID0ge1xuICAgIHVuY2F1Z2h0RXJyb3JPblBhZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEnLFxuICAgIHVuY2F1Z2h0RXJyb3JJblRlc3RDb2RlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTInLFxuICAgIHVuY2F1Z2h0Tm9uRXJyb3JPYmplY3RJblRlc3RDb2RlOiAgICAgICAgICAgICAgICAgICAgICAnRTMnLFxuICAgIHVuY2F1Z2h0RXJyb3JJbkNsaWVudEZ1bmN0aW9uQ29kZTogICAgICAgICAgICAgICAgICAgICAnRTQnLFxuICAgIHVuY2F1Z2h0RXJyb3JJbkN1c3RvbURPTVByb3BlcnR5Q29kZTogICAgICAgICAgICAgICAgICAnRTUnLFxuICAgIHVuaGFuZGxlZFByb21pc2VSZWplY3Rpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTYnLFxuICAgIHVuY2F1Z2h0RXhjZXB0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTcnLFxuICAgIG1pc3NpbmdBd2FpdEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTgnLFxuICAgIGFjdGlvbkludGVnZXJPcHRpb25FcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTknLFxuICAgIGFjdGlvblBvc2l0aXZlSW50ZWdlck9wdGlvbkVycm9yOiAgICAgICAgICAgICAgICAgICAgICAnRTEwJyxcbiAgICBhY3Rpb25Cb29sZWFuT3B0aW9uRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxMScsXG4gICAgYWN0aW9uU3BlZWRPcHRpb25FcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFMTInLFxuICAgIGFjdGlvbk9wdGlvbnNUeXBlRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTE0JyxcbiAgICBhY3Rpb25Cb29sZWFuQXJndW1lbnRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UxNScsXG4gICAgYWN0aW9uU3RyaW5nQXJndW1lbnRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFMTYnLFxuICAgIGFjdGlvbk51bGxhYmxlU3RyaW5nQXJndW1lbnRFcnJvcjogICAgICAgICAgICAgICAgICAgICAnRTE3JyxcbiAgICBhY3Rpb25TdHJpbmdPclN0cmluZ0FycmF5QXJndW1lbnRFcnJvcjogICAgICAgICAgICAgICAgJ0UxOCcsXG4gICAgYWN0aW9uU3RyaW5nQXJyYXlFbGVtZW50RXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICdFMTknLFxuICAgIGFjdGlvbkludGVnZXJBcmd1bWVudEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTIwJyxcbiAgICBhY3Rpb25Sb2xlQXJndW1lbnRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UyMScsXG4gICAgYWN0aW9uUG9zaXRpdmVJbnRlZ2VyQXJndW1lbnRFcnJvcjogICAgICAgICAgICAgICAgICAgICdFMjInLFxuICAgIGFjdGlvblNlbGVjdG9yRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTIzJyxcbiAgICBhY3Rpb25FbGVtZW50Tm90Rm91bmRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0UyNCcsXG4gICAgYWN0aW9uRWxlbWVudElzSW52aXNpYmxlRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICdFMjYnLFxuICAgIGFjdGlvblNlbGVjdG9yTWF0Y2hlc1dyb25nTm9kZVR5cGVFcnJvcjogICAgICAgICAgICAgICAnRTI3JyxcbiAgICBhY3Rpb25BZGRpdGlvbmFsRWxlbWVudE5vdEZvdW5kRXJyb3I6ICAgICAgICAgICAgICAgICAgJ0UyOCcsXG4gICAgYWN0aW9uQWRkaXRpb25hbEVsZW1lbnRJc0ludmlzaWJsZUVycm9yOiAgICAgICAgICAgICAgICdFMjknLFxuICAgIGFjdGlvbkFkZGl0aW9uYWxTZWxlY3Rvck1hdGNoZXNXcm9uZ05vZGVUeXBlRXJyb3I6ICAgICAnRTMwJyxcbiAgICBhY3Rpb25FbGVtZW50Tm9uRWRpdGFibGVFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgJ0UzMScsXG4gICAgYWN0aW9uRWxlbWVudE5vdFRleHRBcmVhRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICdFMzInLFxuICAgIGFjdGlvbkVsZW1lbnROb25Db250ZW50RWRpdGFibGVFcnJvcjogICAgICAgICAgICAgICAgICAnRTMzJyxcbiAgICBhY3Rpb25FbGVtZW50SXNOb3RGaWxlSW5wdXRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgJ0UzNCcsXG4gICAgYWN0aW9uUm9vdENvbnRhaW5lck5vdEZvdW5kRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICdFMzUnLFxuICAgIGFjdGlvbkluY29ycmVjdEtleXNFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTM2JyxcbiAgICBhY3Rpb25DYW5ub3RGaW5kRmlsZVRvVXBsb2FkRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgJ0UzNycsXG4gICAgYWN0aW9uVW5zdXBwb3J0ZWREZXZpY2VUeXBlRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICdFMzgnLFxuICAgIGFjdGlvbklmcmFtZUlzTm90TG9hZGVkRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAnRTM5JyxcbiAgICBhY3Rpb25FbGVtZW50Tm90SWZyYW1lRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U0MCcsXG4gICAgYWN0aW9uSW52YWxpZFNjcm9sbFRhcmdldEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICdFNDEnLFxuICAgIGN1cnJlbnRJZnJhbWVJc05vdExvYWRlZEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAnRTQyJyxcbiAgICBjdXJyZW50SWZyYW1lTm90Rm91bmRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U0MycsXG4gICAgY3VycmVudElmcmFtZUlzSW52aXNpYmxlRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICdFNDQnLFxuICAgIG5hdGl2ZURpYWxvZ05vdEhhbmRsZWRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAnRTQ1JyxcbiAgICB1bmNhdWdodEVycm9ySW5OYXRpdmVEaWFsb2dIYW5kbGVyOiAgICAgICAgICAgICAgICAgICAgJ0U0NicsXG4gICAgc2V0VGVzdFNwZWVkQXJndW1lbnRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFNDcnLFxuICAgIHNldE5hdGl2ZURpYWxvZ0hhbmRsZXJDb2RlV3JvbmdUeXBlRXJyb3I6ICAgICAgICAgICAgICAnRTQ4JyxcbiAgICBjbGllbnRGdW5jdGlvbkV4ZWN1dGlvbkludGVycnVwdGlvbkVycm9yOiAgICAgICAgICAgICAgJ0U0OScsXG4gICAgZG9tTm9kZUNsaWVudEZ1bmN0aW9uUmVzdWx0RXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICdFNTAnLFxuICAgIGludmFsaWRTZWxlY3RvclJlc3VsdEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTUxJyxcbiAgICBjYW5ub3RPYnRhaW5JbmZvRm9yRWxlbWVudFNwZWNpZmllZEJ5U2VsZWN0b3JFcnJvcjogICAgJ0U1MicsXG4gICAgZXh0ZXJuYWxBc3NlcnRpb25MaWJyYXJ5RXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICdFNTMnLFxuICAgIHBhZ2VMb2FkRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTU0JyxcbiAgICB3aW5kb3dEaW1lbnNpb25zT3ZlcmZsb3dFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgJ0U1NScsXG4gICAgZm9yYmlkZGVuQ2hhcmFjdGVyc0luU2NyZWVuc2hvdFBhdGhFcnJvcjogICAgICAgICAgICAgICdFNTYnLFxuICAgIGludmFsaWRFbGVtZW50U2NyZWVuc2hvdERpbWVuc2lvbnNFcnJvcjogICAgICAgICAgICAgICAnRTU3JyxcbiAgICByb2xlU3dpdGNoSW5Sb2xlSW5pdGlhbGl6ZXJFcnJvcjogICAgICAgICAgICAgICAgICAgICAgJ0U1OCcsXG4gICAgYXNzZXJ0aW9uRXhlY3V0YWJsZUFyZ3VtZW50RXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICdFNTknLFxuICAgIGFzc2VydGlvbldpdGhvdXRNZXRob2RDYWxsRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAnRTYwJyxcbiAgICBhc3NlcnRpb25VbmF3YWl0ZWRQcm9taXNlRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJ0U2MScsXG4gICAgcmVxdWVzdEhvb2tOb3RJbXBsZW1lbnRlZEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICdFNjInLFxuICAgIHJlcXVlc3RIb29rVW5oYW5kbGVkRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTYzJyxcbiAgICB1bmNhdWdodEVycm9ySW5DdXN0b21DbGllbnRTY3JpcHRDb2RlOiAgICAgICAgICAgICAgICAgJ0U2NCcsXG4gICAgdW5jYXVnaHRFcnJvckluQ3VzdG9tQ2xpZW50U2NyaXB0Q29kZUxvYWRlZEZyb21Nb2R1bGU6ICdFNjUnLFxuICAgIHVuY2F1Z2h0RXJyb3JJbkN1c3RvbVNjcmlwdDogICAgICAgICAgICAgICAgICAgICAgICAgICAnRTY2JyxcbiAgICB1bmNhdWdodFRlc3RDYWZlRXJyb3JJbkN1c3RvbVNjcmlwdDogICAgICAgICAgICAgICAgICAgJ0U2NycsXG4gICAgY2hpbGRXaW5kb3dJc05vdExvYWRlZEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICdFNjgnLFxuICAgIGNoaWxkV2luZG93Tm90Rm91bmRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTY5JyxcbiAgICBjYW5ub3RTd2l0Y2hUb1dpbmRvd0Vycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U3MCcsXG4gICAgY2xvc2VDaGlsZFdpbmRvd0Vycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFNzEnLFxuICAgIGNoaWxkV2luZG93Q2xvc2VkQmVmb3JlU3dpdGNoaW5nRXJyb3I6ICAgICAgICAgICAgICAgICAnRTcyJyxcbiAgICBjYW5ub3RDbG9zZVdpbmRvd1dpdGhDaGlsZHJlbkVycm9yOiAgICAgICAgICAgICAgICAgICAgJ0U3MycsXG4gICAgdGFyZ2V0V2luZG93Tm90Rm91bmRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFNzQnLFxuICAgIHBhcmVudFdpbmRvd05vdEZvdW5kRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTc2JyxcbiAgICBwcmV2aW91c1dpbmRvd05vdEZvdW5kRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U3NycsXG4gICAgc3dpdGNoVG9XaW5kb3dQcmVkaWNhdGVFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICdFNzgnLFxuICAgIGFjdGlvbkZ1bmN0aW9uQXJndW1lbnRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAnRTc5JyxcbiAgICBtdWx0aXBsZVdpbmRvd3NNb2RlSXNEaXNhYmxlZEVycm9yOiAgICAgICAgICAgICAgICAgICAgJ0U4MCcsXG4gICAgbXVsdGlwbGVXaW5kb3dzTW9kZUlzTm90U3VwcG9ydGVkSW5SZW1vdGVCcm93c2VyRXJyb3I6ICdFODEnLFxuICAgIGNhbm5vdENsb3NlV2luZG93V2l0aG91dFBhcmVudDogICAgICAgICAgICAgICAgICAgICAgICAnRTgyJyxcbiAgICBjYW5ub3RSZXN0b3JlQ2hpbGRXaW5kb3dFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgJ0U4MycsXG4gICAgZXhlY3V0aW9uVGltZW91dEV4Y2VlZGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFODQnLFxuICAgIGFjdGlvblJlcXVpcmVkQ29va2llQXJndW1lbnRzOiAgICAgICAgICAgICAgICAgICAgICAgICAnRTg1JyxcbiAgICBhY3Rpb25Db29raWVBcmd1bWVudEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U4NicsXG4gICAgYWN0aW9uQ29va2llQXJndW1lbnRzRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFODcnLFxuICAgIGFjdGlvblVybENvb2tpZUFyZ3VtZW50RXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAnRTg4JyxcbiAgICBhY3Rpb25VcmxzQ29va2llQXJndW1lbnRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgJ0U4OScsXG4gICAgYWN0aW9uU3RyaW5nT3B0aW9uRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFOTAnLFxuICAgIGFjdGlvbkRhdGVPcHRpb25FcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTkxJyxcbiAgICBhY3Rpb25OdW1iZXJPcHRpb25FcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U5MicsXG4gICAgYWN0aW9uVXJsT3B0aW9uRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFOTMnLFxuICAgIGFjdGlvblVybFNlYXJjaFBhcmFtc09wdGlvbkVycm9yOiAgICAgICAgICAgICAgICAgICAgICAnRTk0JyxcbiAgICBhY3Rpb25PYmplY3RPcHRpb25FcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0U5NScsXG4gICAgYWN0aW9uVXJsQXJndW1lbnRFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFOTYnLFxuICAgIGFjdGlvblN0cmluZ09yUmVnZXhPcHRpb25FcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAnRTk3JyxcbiAgICBhY3Rpb25Ta2lwSnNFcnJvcnNBcmd1bWVudEVycm9yOiAgICAgICAgICAgICAgICAgICAgICAgJ0U5OCcsXG4gICAgYWN0aW9uRnVuY3Rpb25PcHRpb25FcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFOTknLFxufTtcblxuZXhwb3J0IGNvbnN0IFJVTlRJTUVfRVJST1JTID0ge1xuICAgIGNhbm5vdENyZWF0ZU11bHRpcGxlTGl2ZU1vZGVSdW5uZXJzOiAgICAgICAgICAgICAgICAnRTEwMDAnLFxuICAgIGNhbm5vdFJ1bkxpdmVNb2RlUnVubmVyTXVsdGlwbGVUaW1lczogICAgICAgICAgICAgICAnRTEwMDEnLFxuICAgIGJyb3dzZXJEaXNjb25uZWN0ZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwMDInLFxuICAgIGNhbm5vdFJ1bkFnYWluc3REaXNjb25uZWN0ZWRCcm93c2VyczogICAgICAgICAgICAgICAnRTEwMDMnLFxuICAgIGNhbm5vdEVzdGFibGlzaEJyb3dzZXJDb25uZWN0aW9uOiAgICAgICAgICAgICAgICAgICAnRTEwMDQnLFxuICAgIGNhbm5vdEZpbmRCcm93c2VyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwMDUnLFxuICAgIGJyb3dzZXJQcm92aWRlck5vdEZvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwMDYnLFxuICAgIGJyb3dzZXJOb3RTZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwMDcnLFxuICAgIHRlc3RGaWxlc05vdEZvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwMDgnLFxuICAgIG5vVGVzdHNUb1J1bjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwMDknLFxuICAgIGNhbm5vdEZpbmRSZXBvcnRlckZvckFsaWFzOiAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwMTAnLFxuICAgIG11bHRpcGxlU2FtZVN0cmVhbVJlcG9ydGVyczogICAgICAgICAgICAgICAgICAgICAgICAnRTEwMTEnLFxuICAgIG9wdGlvblZhbHVlSXNOb3RWYWxpZFJlZ0V4cDogICAgICAgICAgICAgICAgICAgICAgICAnRTEwMTInLFxuICAgIG9wdGlvblZhbHVlSXNOb3RWYWxpZEtleVZhbHVlOiAgICAgICAgICAgICAgICAgICAgICAnRTEwMTMnLFxuICAgIGludmFsaWRTcGVlZFZhbHVlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwMTQnLFxuICAgIGludmFsaWRDb25jdXJyZW5jeUZhY3RvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwMTUnLFxuICAgIGNhbm5vdERpdmlkZVJlbW90ZXNDb3VudEJ5Q29uY3VycmVuY3k6ICAgICAgICAgICAgICAnRTEwMTYnLFxuICAgIHBvcnRzT3B0aW9uUmVxdWlyZXNUd29OdW1iZXJzOiAgICAgICAgICAgICAgICAgICAgICAnRTEwMTcnLFxuICAgIHBvcnRJc05vdEZyZWU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwMTgnLFxuICAgIGludmFsaWRIb3N0bmFtZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwMTknLFxuICAgIGNhbm5vdEZpbmRTcGVjaWZpZWRUZXN0U291cmNlOiAgICAgICAgICAgICAgICAgICAgICAnRTEwMjAnLFxuICAgIGNsaWVudEZ1bmN0aW9uQ29kZUlzTm90QUZ1bmN0aW9uOiAgICAgICAgICAgICAgICAgICAnRTEwMjEnLFxuICAgIHNlbGVjdG9ySW5pdGlhbGl6ZWRXaXRoV3JvbmdUeXBlOiAgICAgICAgICAgICAgICAgICAnRTEwMjInLFxuICAgIGNsaWVudEZ1bmN0aW9uQ2Fubm90UmVzb2x2ZVRlc3RSdW46ICAgICAgICAgICAgICAgICAnRTEwMjMnLFxuICAgIHJlZ2VuZXJhdG9ySW5DbGllbnRGdW5jdGlvbkNvZGU6ICAgICAgICAgICAgICAgICAgICAnRTEwMjQnLFxuICAgIGludmFsaWRDbGllbnRGdW5jdGlvblRlc3RSdW5CaW5kaW5nOiAgICAgICAgICAgICAgICAnRTEwMjUnLFxuICAgIGludmFsaWRWYWx1ZVR5cGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwMjYnLFxuICAgIHVuc3VwcG9ydGVkVXJsUHJvdG9jb2w6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwMjcnLFxuICAgIHRlc3RDb250cm9sbGVyUHJveHlDYW5ub3RSZXNvbHZlVGVzdFJ1bjogICAgICAgICAgICAnRTEwMjgnLFxuICAgIHRpbWVMaW1pdGVkUHJvbWlzZVRpbWVvdXRFeHBpcmVkOiAgICAgICAgICAgICAgICAgICAnRTEwMjknLFxuICAgIG5vVGVzdHNUb1J1bkR1ZUZpbHRlcmluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwMzAnLFxuICAgIGNhbm5vdFNldFZpZGVvT3B0aW9uc1dpdGhvdXRCYXNlVmlkZW9QYXRoU3BlY2lmaWVkOiAnRTEwMzEnLFxuICAgIG11bHRpcGxlQVBJTWV0aG9kQ2FsbEZvcmJpZGRlbjogICAgICAgICAgICAgICAgICAgICAnRTEwMzInLFxuICAgIGludmFsaWRSZXBvcnRlck91dHB1dDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwMzMnLFxuICAgIGNhbm5vdFJlYWRTU0xDZXJ0RmlsZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwMzQnLFxuICAgIGNhbm5vdFByZXBhcmVUZXN0c0R1ZVRvRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAnRTEwMzUnLFxuICAgIGNhbm5vdFBhcnNlUmF3RmlsZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwMzYnLFxuICAgIHRlc3RlZEFwcEZhaWxlZFdpdGhFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwMzcnLFxuICAgIHVuYWJsZVRvT3BlbkJyb3dzZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwMzgnLFxuICAgIHJlcXVlc3RIb29rQ29uZmlndXJlQVBJRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAnRTEwMzknLFxuICAgIGZvcmJpZGRlbkNoYXJhdGVyc0luU2NyZWVuc2hvdFBhdGg6ICAgICAgICAgICAgICAgICAnRTEwNDAnLFxuICAgIGNhbm5vdEZpbmRGRk1QRUc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwNDEnLFxuICAgIGNvbXBvc2l0ZUFyZ3VtZW50c0Vycm9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwNDInLFxuICAgIGNhbm5vdEZpbmRUeXBlc2NyaXB0Q29uZmlndXJhdGlvbkZpbGU6ICAgICAgICAgICAgICAnRTEwNDMnLFxuICAgIGNsaWVudFNjcmlwdEluaXRpYWxpemVySXNOb3RTcGVjaWZpZWQ6ICAgICAgICAgICAgICAnRTEwNDQnLFxuICAgIGNsaWVudFNjcmlwdEJhc2VQYXRoSXNOb3RTcGVjaWZpZWQ6ICAgICAgICAgICAgICAgICAnRTEwNDUnLFxuICAgIGNsaWVudFNjcmlwdEluaXRpYWxpemVyTXVsdGlwbGVDb250ZW50U291cmNlczogICAgICAnRTEwNDYnLFxuICAgIGNhbm5vdExvYWRDbGllbnRTY3JpcHRGcm9tUGF0aDogICAgICAgICAgICAgICAgICAgICAnRTEwNDcnLFxuICAgIGNsaWVudFNjcmlwdE1vZHVsZUVudHJ5UG9pbnRQYXRoQ2FsY3VsYXRpb25FcnJvcjogICAnRTEwNDgnLFxuICAgIG1ldGhvZElzTm90QXZhaWxhYmxlRm9yQW5JUENIb3N0OiAgICAgICAgICAgICAgICAgICAnRTEwNDknLFxuICAgIHRvb0xhcmdlSVBDUGF5bG9hZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwNTAnLFxuICAgIG1hbGZvcm1lZElQQ01lc3NhZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwNTEnLFxuICAgIHVuZXhwZWN0ZWRJUENIZWFkUGFja2V0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwNTInLFxuICAgIHVuZXhwZWN0ZWRJUENCb2R5UGFja2V0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwNTMnLFxuICAgIHVuZXhwZWN0ZWRJUENUYWlsUGFja2V0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwNTQnLFxuICAgIGNhbm5vdFJ1bkxvY2FsTm9uSGVhZGxlc3NCcm93c2VyV2l0aG91dERpc3BsYXk6ICAgICAnRTEwNTcnLFxuICAgIHVuY2F1Z2h0RXJyb3JJblJlcG9ydGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwNTgnLFxuICAgIHJvbGVJbml0aWFsaXplZFdpdGhSZWxhdGl2ZVVybDogICAgICAgICAgICAgICAgICAgICAnRTEwNTknLFxuICAgIHR5cGVTY3JpcHRDb21waWxlckxvYWRpbmdFcnJvcjogICAgICAgICAgICAgICAgICAgICAnRTEwNjAnLFxuICAgIGNhbm5vdEN1c3RvbWl6ZVNwZWNpZmllZENvbXBpbGVyczogICAgICAgICAgICAgICAgICAnRTEwNjEnLFxuICAgIGNhbm5vdEVuYWJsZVJldHJ5VGVzdFBhZ2VzT3B0aW9uOiAgICAgICAgICAgICAgICAgICAnRTEwNjInLFxuICAgIGJyb3dzZXJDb25uZWN0aW9uRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwNjMnLFxuICAgIHRlc3RSdW5SZXF1ZXN0SW5EaXNjb25uZWN0ZWRCcm93c2VyOiAgICAgICAgICAgICAgICAnRTEwNjQnLFxuICAgIGludmFsaWRRdWFyYW50aW5lT3B0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwNjUnLFxuICAgIGludmFsaWRRdWFyYW50aW5lUGFyYW1ldGVyc1JhdGlvOiAgICAgICAgICAgICAgICAgICAnRTEwNjYnLFxuICAgIGludmFsaWRBdHRlbXB0TGltaXRWYWx1ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwNjcnLFxuICAgIGludmFsaWRTdWNjZXNzVGhyZXNob2xkVmFsdWU6ICAgICAgICAgICAgICAgICAgICAgICAnRTEwNjgnLFxuICAgIGNhbm5vdFNldENvbmN1cnJlbmN5V2l0aENEUFBvcnQ6ICAgICAgICAgICAgICAgICAgICAnRTEwNjknLFxuICAgIGNhbm5vdEZpbmRUZXN0Y2FmZUNvbmZpZ3VyYXRpb25GaWxlOiAgICAgICAgICAgICAgICAnRTEwNzAnLFxuICAgIGRhc2hib2FyZFRva2VuSW5KU09OOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwNzEnLFxuICAgIHJlcXVlc3RVcmxJbnZhbGlkVmFsdWVFcnJvcjogICAgICAgICAgICAgICAgICAgICAgICAnRTEwNzInLFxuICAgIHJlcXVlc3RSdW50aW1lRXJyb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwNzMnLFxuICAgIHJlcXVlc3RDYW5ub3RSZXNvbHZlVGVzdFJ1bjogICAgICAgICAgICAgICAgICAgICAgICAnRTEwNzQnLFxuICAgIHJlbGF0aXZlQmFzZVVybDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRTEwNzUnLFxuICAgIGludmFsaWRTa2lwSnNFcnJvcnNPcHRpb25zT2JqZWN0UHJvcGVydHk6ICAgICAgICAgICAnRTEwNzYnLFxuICAgIGludmFsaWRTa2lwSnNFcnJvcnNDYWxsYmFja1dpdGhPcHRpb25zUHJvcGVydHk6ICAgICAnRTEwNzcnLFxufTtcbiJdfQ== |
@@ -16,2 +16,3 @@ "use strict"; | ||
const RELEASE_TIMEOUT = 10000; | ||
const COUNT_OWN_AND_OUTER_LISTENERS = 3; | ||
class BrowserSet extends events_1.EventEmitter { | ||
@@ -29,2 +30,3 @@ constructor(browserConnectionGroups, options) { | ||
this.on('error', lodash_1.noop); | ||
this.setMaxListeners(COUNT_OWN_AND_OUTER_LISTENERS + this._browserConnections.length); | ||
} | ||
@@ -118,2 +120,2 @@ static async _waitIdle(bc) { | ||
module.exports = exports.default; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci1zZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVubmVyL2Jyb3dzZXItc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQXNDO0FBQ3RDLDRFQUF1RDtBQUN2RCxzRUFBNkM7QUFDN0MsbUNBSWdCO0FBRWhCLCtDQUF5RTtBQUN6RSwyQ0FBaUQ7QUFFakQsMEVBQW1FO0FBRW5FLGdGQUF3RTtBQUN4RSw0Q0FBNkM7QUFFN0MsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDO0FBRTlCLE1BQXFCLFVBQVcsU0FBUSxxQkFBWTtJQU9oRCxZQUFvQix1QkFBOEMsRUFBRSxPQUEwQjtRQUMxRixLQUFLLEVBQUUsQ0FBQztRQUVSLElBQUksQ0FBQyxnQkFBZ0IsR0FBVyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLHVCQUF1QixHQUFJLHVCQUF1QixDQUFDO1FBQ3hELElBQUksQ0FBQyxtQkFBbUIsR0FBUSxJQUFBLGdCQUFPLEVBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsUUFBUSxHQUFtQixPQUFPLENBQUM7UUFFeEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLENBQUMsS0FBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4RSxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztRQUVsRixpR0FBaUc7UUFDakcsbUdBQW1HO1FBQ25HLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLGFBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFTyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBRSxFQUFxQjtRQUNqRCxJQUFJLEVBQUUsQ0FBQyxJQUFJ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RUFBRSxFQUFFLENBQUMsQ0FBQztRQUVyQyxFQUFFLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUV0RCxNQUFNLHNCQUFzQixHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN6QyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUIsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXBDLE1BQU0sT0FBTyxHQUFHLElBQUEsNEJBQXFCLEVBQUMsc0JBQXNCLEVBQUUsZUFBZSxDQUFDO2FBQ3pFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLGFBQU0sRUFBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQWtCLENBQUM7UUFFekUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVwQyxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU87UUFDaEIsZ0VBQWdFO1FBQ2hFLDhEQUE4RDtRQUM5RCw0RUFBNEU7UUFDNUUsNkRBQTZEO1FBQzdELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRTNCLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRVAsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDSjtBQWpKRCw2QkFpSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdldmVudHMnO1xuaW1wb3J0IGdldFRpbWVMaW1pdGVkUHJvbWlzZSBmcm9tICd0aW1lLWxpbWl0LXByb21pc2UnO1xuaW1wb3J0IHByb21pc2lmeUV2ZW50IGZyb20gJ3Byb21pc2lmeS1ldmVudCc7XG5pbXBvcnQge1xuICAgIGZsYXR0ZW4sXG4gICAgbm9vcCxcbiAgICBwdWxsIGFzIHJlbW92ZSxcbn0gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgQnJvd3NlckNvbm5lY3Rpb25FcnJvciwgR2VuZXJhbEVycm9yIH0gZnJvbSAnLi4vZXJyb3JzL3J1bnRpbWUnO1xuaW1wb3J0IHsgUlVOVElNRV9FUlJPUlMgfSBmcm9tICcuLi9lcnJvcnMvdHlwZXMnO1xuaW1wb3J0IEJyb3dzZXJDb25uZWN0aW9uIGZyb20gJy4uL2Jyb3dzZXIvY29ubmVjdGlvbic7XG5pbXBvcnQgQnJvd3NlckNvbm5lY3Rpb25TdGF0dXMgZnJvbSAnLi4vYnJvd3Nlci9jb25uZWN0aW9uL3N0YXR1cyc7XG5pbXBvcnQgeyBCcm93c2VyU2V0T3B0aW9ucyB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgZ2V0QnJvd3NlckNvbm5lY3Rpb25IaW50cyBmcm9tICcuLi9icm93c2VyL2Nvbm5lY3Rpb24vZ2V0LWhpbnRzJztcbmltcG9ydCB7IGNyZWF0ZUxpc3QgfSBmcm9tICcuLi91dGlscy9zdHJpbmcnO1xuXG5jb25zdCBSRUxFQVNFX1RJTUVPVVQgPSAxMDAwMDtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQnJvd3NlclNldCBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfYnJvd3NlckNvbm5lY3Rpb25zOiBCcm93c2VyQ29ubmVjdGlvbltdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Jyb3dzZXJFcnJvckhhbmRsZXI6IChlcnJvcjogRXJyb3IpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfcGVuZGluZ1JlbGVhc2VzOiBQcm9taXNlPHZvaWQ+W107XG4gICAgcHJpdmF0ZSByZWFkb25seSBfb3B0aW9uczogQnJvd3NlclNldE9wdGlvbnM7XG4gICAgcHVibGljIGJyb3dzZXJDb25uZWN0aW9uR3JvdXBzOiBCcm93c2VyQ29ubmVjdGlvbltdW107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IgKGJyb3dzZXJDb25uZWN0aW9uR3JvdXBzOiBCcm93c2VyQ29ubmVjdGlvbltdW10sIG9wdGlvbnM6IEJyb3dzZXJTZXRPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5fcGVuZGluZ1JlbGVhc2VzICAgICAgICAgPSBbXTtcbiAgICAgICAgdGhpcy5icm93c2VyQ29ubmVjdGlvbkdyb3VwcyAgPSBicm93c2VyQ29ubmVjdGlvbkdyb3VwcztcbiAgICAgICAgdGhpcy5fYnJvd3NlckNvbm5lY3Rpb25zICAgICAgPSBmbGF0dGVuKGJyb3dzZXJDb25uZWN0aW9uR3JvdXBzKTtcbiAgICAgICAgdGhpcy5fb3B0aW9ucyAgICAgICAgICAgICAgICAgPSBvcHRpb25zO1xuXG4gICAgICAgIHRoaXMuX2Jyb3dzZXJFcnJvckhhbmRsZXIgPSAoZXJyb3I6IEVycm9yKSA9PiB0aGlzLmVtaXQoJ2Vycm9yJywgZXJyb3IpO1xuXG4gICAgICAgIHRoaXMuX2Jyb3dzZXJDb25uZWN0aW9ucy5mb3JFYWNoKGJjID0+IGJjLm9uKCdlcnJvcicsIHRoaXMuX2Jyb3dzZXJFcnJvckhhbmRsZXIpKTtcblxuICAgICAgICAvLyBOT1RFOiBXZSdyZSBzZXR0aW5nIGFuIGVtcHR5IGVycm9yIGhhbmRsZXIsIGJlY2F1c2UgTm9kZSBraWxscyB0aGUgcHJvY2VzcyBvbiBhbiAnZXJyb3InIGV2ZW50XG4gICAgICAgIC8vIGlmIHRoZXJlIGlzIG5vIGhhbmRsZXIuIFNlZTogaHR0cHM6Ly9ub2RlanMub3JnL2FwaS9ldmVudHMuaHRtbCNldmVudHNfY2xhc3NfZXZlbnRzX2V2ZW50ZW1pdHRlclxuICAgICAgICB0aGlzLm9uKCdlcnJvcicsIG5vb3ApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGFzeW5jIF93YWl0SWRsZSAoYmM6IEJyb3dzZXJDb25uZWN0aW9uKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmIChiYy5pZGxlIHx8ICFiYy5pc1JlYWR5KCkpXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgYXdhaXQgcHJvbWlzaWZ5RXZlbnQoYmMsICdpZGxlJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgYXN5bmMgX2Nsb3NlQ29ubmVjdGlvbiAoYmM6IEJyb3dzZXJDb25uZWN0aW9uKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmIChiYy5zdGF0dXMgPT09IEJyb3dzZXJDb25uZWN0aW9uU3RhdHVzLmNsb3NlZCB8fCBiYy5zdGF0dXMgPT09IEJyb3dzZXJDb25uZWN0aW9uU3RhdHVzLmNsb3NpbmcpXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgYXdhaXQgYmMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF93YWl0Q29ubmVjdGlvbk9wZW5lZCAoYmM6IEJyb3dzZXJDb25uZWN0aW9uKTogUHJvbWlzZTxCcm93c2VyQ29ubmVjdGlvbj4ge1xuICAgICAgICBjb25zdCBvcGVuZWRUaW1lb3V0ID0gdGhpcy5fb3B0aW9ucy5icm93c2VySW5pdFRpbWVvdXQgfHwgYXdhaXQgYmMuZ2V0RGVmYXVsdEJyb3dzZXJJbml0VGltZW91dCgpO1xuICAgICAgICBjb25zdCB0aW1lb3V0RXJyICAgID0gbmV3IEdlbmVyYWxFcnJvcihSVU5USU1FX0VSUk9SUy5jYW5ub3RFc3RhYmxpc2hCcm93c2VyQ29ubmVjdGlvbik7XG4gICAgICAgIGNvbnN0IG9wZW5lZE9yRXJyb3IgPSBQcm9taXNlLnJhY2UoW1xuICAgICAgICAgICAgcHJvbWlzaWZ5RXZlbnQodGhpcywgJ2Vycm9yJyksXG4gICAgICAgICAgICBwcm9taXNpZnlFdmVudChiYywgJ29wZW5lZCcpLFxuICAgICAgICBdKTtcblxuICAgICAgICByZXR1cm4gZ2V0VGltZUxpbWl0ZWRQcm9taXNlKG9wZW5lZE9yRXJyb3IsIG9wZW5lZFRpbWVvdXQsIHsgcmVqZWN0V2l0aDogdGltZW91dEVyciB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF93YWl0Q29ubmVjdGlvbnNPcGVuZWQgKCk6IFByb21pc2U8QnJvd3NlckNvbm5lY3Rpb25bXT4ge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICB0aGlzLl9icm93c2VyQ29ubmVjdGlvbnNcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGJjID0+IGJjLnN0YXR1cyAhPT0gQnJvd3NlckNvbm5lY3Rpb25TdGF0dXMub3BlbmVkKVxuICAgICAgICAgICAgICAgIC5tYXAobm90T3BlbmVkQ29ubmVjdGlvbiA9PiB0aGlzLl93YWl0Q29ubmVjdGlvbk9wZW5lZChub3RPcGVuZWRDb25uZWN0aW9uKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jaGVja0ZvckRpc2Nvbm5lY3Rpb25zICgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGlzY29ubmVjdGVkVXNlckFnZW50cyA9IHRoaXMuX2Jyb3dzZXJDb25uZWN0aW9uc1xuICAgICAgICAgICAgLmZpbHRlcihiYyA9PiBiYy5zdGF0dXMgPT09IEJyb3dzZXJDb25uZWN0aW9uU3RhdHVzLmNsb3NlZClcbiAgICAgICAgICAgIC5tYXAoYmMgPT4gYmMudXNlckFnZW50KTtcblxuICAgICAgICBpZiAoZGlzY29ubmVjdGVkVXNlckFnZW50cy5sZW5ndGgpXG4gICAgICAgICAgICB0aHJvdyBuZXcgR2VuZXJhbEVycm9yKFJVTlRJTUVfRVJST1JTLmNhbm5vdFJ1bkFnYWluc3REaXNjb25uZWN0ZWRCcm93c2VycywgZGlzY29ubmVjdGVkVXNlckFnZW50cy5qb2luKCcsICcpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcHJlcGFyZUNvbm5lY3Rpb25zICgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5fY2hlY2tGb3JEaXNjb25uZWN0aW9ucygpO1xuICAgICAgICBhd2FpdCB0aGlzLl93YWl0Q29ubmVjdGlvbnNPcGVuZWQoKTtcbiAgICB9XG5cbiAgICAvLyBOT1RFOiBjcmVhdGVzIGFuZCBwcmVwYXJlcyBCcm93c2VyU2V0IGluc3RhbmNlIHdpdGggZ2l2ZW4gYnJvd3NlciBjb25uZWN0aW9uc1xuICAgIHB1YmxpYyBzdGF0aWMgYXN5bmMgZnJvbSAoYnJvd3NlckNvbm5lY3Rpb25zOiBCcm93c2VyQ29ubmVjdGlvbltdW10sIG9wdHM6IEJyb3dzZXJTZXRPcHRpb25zKTogUHJvbWlzZTxCcm93c2VyU2V0PiB7XG4gICAgICAgIGNvbnN0IGJyb3dzZXJTZXQgPSBuZXcgQnJvd3NlclNldChicm93c2VyQ29ubmVjdGlvbnMsIG9wdHMpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBwcmVwYXJlQ29ubmVjdGlvbnMgPSBicm93c2VyU2V0LnByZXBhcmVDb25uZWN0aW9ucygpO1xuICAgICAgICAgICAgY29uc3QgYnJvd3NlclNldEVycm9yICAgID0gcHJvbWlzaWZ5RXZlbnQoYnJvd3NlclNldCwgJ2Vycm9yJyk7XG5cbiAgICAgICAgICAgIGF3YWl0IFByb21pc2UucmFjZShbIHByZXBhcmVDb25uZWN0aW9ucywgYnJvd3NlclNldEVycm9yIF0pO1xuXG4gICAgICAgICAgICByZXR1cm4gYnJvd3NlclNldDtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgICAgICBjb25zdCBmaW5hbEVycm9yID0gZS5jb2RlID09PSBSVU5USU1FX0VSUk9SUy5jYW5ub3RFc3RhYmxpc2hCcm93c2VyQ29ubmVjdGlvblxuICAgICAgICAgICAgICAgID8gYnJvd3NlclNldC5jcmVhdGVCcm93c2VyQ29ubmVjdGlvbkVycm9yKGUpXG4gICAgICAgICAgICAgICAgOiBlO1xuXG4gICAgICAgICAgICBhd2FpdCBicm93c2VyU2V0LmRpc3Bvc2UoKTtcblxuICAgICAgICAgICAgdGhyb3cgZmluYWxFcnJvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjcmVhdGVCcm93c2VyQ29ubmVjdGlvbkVycm9yIChlcnJvcjogRXJyb3IpOiBCcm93c2VyQ29ubmVjdGlvbkVycm9yIHtcbiAgICAgICAgY29uc3Qgbm90T3BlbmVkQ29ubmVjdGlvbnMgPSB0aGlzLl9icm93c2VyQ29ubmVjdGlvbnMuZmlsdGVyKGJjID0+IGJjLnN0YXR1cyAhPT0gQnJvd3NlckNvbm5lY3Rpb25TdGF0dXMub3BlbmVkKTtcblxuICAgICAgICBjb25zdCBudW1PZkFsbENvbm5lY3Rpb25zICAgICAgID0gdGhpcy5fYnJvd3NlckNvbm5lY3Rpb25zLmxlbmd0aDtcbiAgICAgICAgY29uc3QgbnVtT2ZOb3RPcGVuZWRDb25uZWN0aW9ucyA9IG5vdE9wZW5lZENvbm5lY3Rpb25zLmxlbmd0aDtcblxuICAgICAgICBjb25zdCBsaXN0T2ZOb3RPcGVuZWRDb25uZWN0aW9ucyA9IGNyZWF0ZUxpc3Qobm90T3BlbmVkQ29ubmVjdGlvbnMubWFwKGJjID0+IGJjLmJyb3dzZXJJbmZvLmFsaWFzKSk7XG4gICAgICAgIGNvbnN0IGxpc3RPZkhpbnRzICAgICAgICAgICAgICAgID0gY3JlYXRlTGlzdChnZXRCcm93c2VyQ29ubmVjdGlvbkhpbnRzKHRoaXMuX2Jyb3dzZXJDb25uZWN0aW9ucywgdGhpcy5fb3B0aW9ucykpO1xuXG4gICAgICAgIHJldHVybiBuZXcgQnJvd3NlckNvbm5lY3Rpb25FcnJvcihcbiAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UsXG4gICAgICAgICAgICBudW1PZk5vdE9wZW5lZENvbm5lY3Rpb25zLFxuICAgICAgICAgICAgbnVtT2ZBbGxDb25uZWN0aW9ucyxcbiAgICAgICAgICAgIGxpc3RPZk5vdE9wZW5lZENvbm5lY3Rpb25zLFxuICAgICAgICAgICAgbGlzdE9mSGludHNcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVsZWFzZUNvbm5lY3Rpb24gKGJjOiBCcm93c2VyQ29ubmVjdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoIXRoaXMuX2Jyb3dzZXJDb25uZWN0aW9ucy5pbmNsdWRlcyhiYykpXG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG5cbiAgICAgICAgcmVtb3ZlKHRoaXMuX2Jyb3dzZXJDb25uZWN0aW9ucywgYmMpO1xuXG4gICAgICAgIGJjLnJlbW92ZUxpc3RlbmVyKCdlcnJvcicsIHRoaXMuX2Jyb3dzZXJFcnJvckhhbmRsZXIpO1xuXG4gICAgICAgIGNvbnN0IGFwcHJvcHJpYXRlU3RhdGVTd2l0Y2ggPSBiYy5wZXJtYW5lbnQgP1xuICAgICAgICAgICAgQnJvd3NlclNldC5fd2FpdElkbGUoYmMpIDpcbiAgICAgICAgICAgIEJyb3dzZXJTZXQuX2Nsb3NlQ29ubmVjdGlvbihiYyk7XG5cbiAgICAgICAgY29uc3QgcmVsZWFzZSA9IGdldFRpbWVMaW1pdGVkUHJvbWlzZShhcHByb3ByaWF0ZVN0YXRlU3dpdGNoLCBSRUxFQVNFX1RJTUVPVVQpXG4gICAgICAgICAgICAudGhlbigoKSA9PiByZW1vdmUodGhpcy5fcGVuZGluZ1JlbGVhc2VzLCByZWxlYXNlKSkgYXMgUHJvbWlzZTx2b2lkPjtcblxuICAgICAgICB0aGlzLl9wZW5kaW5nUmVsZWFzZXMucHVzaChyZWxlYXNlKTtcblxuICAgICAgICByZXR1cm4gcmVsZWFzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZGlzcG9zZSAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIC8vIE5PVEU6IFdoZW4gYnJvd3NlckNvbm5lY3Rpb24gaXMgY2FuY2VsbGVkLCBpdCBpcyByZW1vdmVkIGZyb21cbiAgICAgICAgLy8gdGhlIHRoaXMuY29ubmVjdGlvbnMgYXJyYXksIHdoaWNoIGxlYWRzIHRvIHNoaWZ0aW5nIGluZGV4ZXNcbiAgICAgICAgLy8gdG93YXJkcyB0aGUgYmVnaW5uaW5nLiBTbywgd2UgbXVzdCBjb3B5IHRoZSBhcnJheSBpbiBvcmRlciB0byBpdGVyYXRlIGl0LFxuICAgICAgICAvLyBvciB3ZSBjYW4gcGVyZm9ybSBpdGVyYXRpb24gZnJvbSB0aGUgZW5kIHRvIHRoZSBiZWdpbm5pbmcuXG4gICAgICAgIHRoaXMuX2Jyb3dzZXJDb25uZWN0aW9ucy5yZWR1Y2VSaWdodCgoXywgYmMpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVsZWFzZUNvbm5lY3Rpb24oYmMpO1xuXG4gICAgICAgICAgICByZXR1cm4gYmM7XG4gICAgICAgIH0sIHt9KTtcblxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbCh0aGlzLl9wZW5kaW5nUmVsZWFzZXMpO1xuICAgIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci1zZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVubmVyL2Jyb3dzZXItc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQXNDO0FBQ3RDLDRFQUF1RDtBQUN2RCxzRUFBNkM7QUFDN0MsbUNBSWdCO0FBRWhCLCtDQUF5RTtBQUN6RSwyQ0FBaUQ7QUFFakQsMEVBQW1FO0FBRW5FLGdGQUF3RTtBQUN4RSw0Q0FBNkM7QUFFN0MsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDO0FBRTlCLE1BQU0sNkJBQTZCLEdBQUcsQ0FBQyxDQUFDO0FBRXhDLE1BQXFCLFVBQVcsU0FBUSxxQkFBWTtJQU9oRCxZQUFvQix1QkFBOEMsRUFBRSxPQUEwQjtRQUMxRixLQUFLLEVBQUUsQ0FBQztRQUVSLElBQUksQ0FBQyxnQkFBZ0IsR0FBVyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLHVCQUF1QixHQUFJLHVCQUF1QixDQUFDO1FBQ3hELElBQUksQ0FBQyxtQkFBbUIsR0FBUSxJQUFBLGdCQUFPLEVBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsUUFBUSxHQUFtQixPQUFPLENBQUM7UUFFeEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLENBQUMsS0FBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4RSxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztRQUVsRixpR0FBaUc7UUFDakcsbUdBQW1HO1FBQ25HLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLGFBQUksQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFTyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBRSxFQUFxQjtRQUNqRCxJQUFJLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFO1lBQ3hCLE9BQU87UUFFWCxNQUFNLElBQUEseUJBQWMsRUFBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUUsRUFBcUI7UUFDeEQsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLGdCQUF1QixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLGdCQUF1QixDQUFDLE9BQU87WUFDN0YsT0FBTztRQUVYLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTyxLQUFLLENBQUMscUJBQXFCLENBQUUsRUFBcUI7UUFDdEQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsSUFBSSxNQUFNLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQ2xHLE1BQU0sVUFBVSxHQUFNLElBQUksc0JBQVksQ0FBQyxzQkFBYyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDeEYsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztZQUMvQixJQUFBLHlCQUFjLEVBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztZQUM3QixJQUFBLHlCQUFjLEVBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQztTQUMvQixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUEsNEJBQXFCLEVBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFTyxLQUFLLENBQUMsc0JBQXNCO1FBQ2hDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FDZCxJQUFJLENBQUMsbUJBQW1CO2FBQ25CLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssZ0JBQXVCLENBQUMsTUFBTSxDQUFDO2FBQzFELEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FDbkYsQ0FBQztJQUNOLENBQUM7SUFFTyx1QkFBdUI7UUFDM0IsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CO2FBQ2xELE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssZ0JBQXVCLENBQUMsTUFBTSxDQUFDO2FBQzFELEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU3QixJQUFJLHNCQUFzQixDQUFDLE1BQU07WUFDN0IsTUFBTSxJQUFJLHNCQUFZLENBQUMsc0JBQWMsQ0FBQyxvQ0FBb0MsRUFBRSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2SCxDQUFDO0lBRU0sS0FBSyxDQUFDLGtCQUFrQjtRQUMzQixNQUFNLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGdGQUFnRjtJQUN6RSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBRSxrQkFBeUMsRUFBRSxJQUF1QjtRQUN4RixNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU1RCxJQUFJO1lBQ0EsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMzRCxNQUFNLGVBQWUsR0FBTSxJQUFBLHlCQUFjLEVBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRS9ELE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFFLGtCQUFrQixFQUFFLGVBQWUsQ0FBRSxDQUFDLENBQUM7WUFFNUQsT0FBTyxVQUFVLENBQUM7U0FDckI7UUFDRCxPQUFPLENBQU0sRUFBRTtZQUNYLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssc0JBQWMsQ0FBQyxnQ0FBZ0M7Z0JBQ3pFLENBQUMsQ0FBQyxVQUFVLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRVIsTUFBTSxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFM0IsTUFBTSxVQUFVLENBQUM7U0FDcEI7SUFDTCxDQUFDO0lBRU0sNEJBQTRCLENBQUUsS0FBWTtRQUM3QyxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLGdCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWpILE1BQU0sbUJBQW1CLEdBQVMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztRQUNsRSxNQUFNLHlCQUF5QixHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztRQUU5RCxNQUFNLDBCQUEwQixHQUFHLElBQUEsbUJBQVUsRUFBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDcEcsTUFBTSxXQUFXLEdBQWtCLElBQUEsbUJBQVUsRUFBQyxJQUFBLG1CQUF5QixFQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUVsSCxPQUFPLElBQUksZ0NBQXNCLENBQzdCLEtBQUssQ0FBQyxPQUFPLEVBQ2IseUJBQXlCLEVBQ3pCLG1CQUFtQixFQUNuQiwwQkFBMEIsRUFDMUIsV0FBVyxDQUNkLENBQUM7SUFDTixDQUFDO0lBRU0saUJBQWlCLENBQUUsRUFBcUI7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRTdCLElBQUEsYUFBTSxFQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVyQyxFQUFFLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUV0RCxNQUFNLHNCQUFzQixHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN6QyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUIsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXBDLE1BQU0sT0FBTyxHQUFHLElBQUEsNEJBQXFCLEVBQUMsc0JBQXNCLEVBQUUsZUFBZSxDQUFDO2FBQ3pFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLGFBQU0sRUFBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQWtCLENBQUM7UUFFekUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVwQyxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU87UUFDaEIsZ0VBQWdFO1FBQ2hFLDhEQUE4RDtRQUM5RCw0RUFBNEU7UUFDNUUsNkRBQTZEO1FBQzdELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRTNCLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRVAsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDSjtBQWxKRCw2QkFrSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdldmVudHMnO1xuaW1wb3J0IGdldFRpbWVMaW1pdGVkUHJvbWlzZSBmcm9tICd0aW1lLWxpbWl0LXByb21pc2UnO1xuaW1wb3J0IHByb21pc2lmeUV2ZW50IGZyb20gJ3Byb21pc2lmeS1ldmVudCc7XG5pbXBvcnQge1xuICAgIGZsYXR0ZW4sXG4gICAgbm9vcCxcbiAgICBwdWxsIGFzIHJlbW92ZSxcbn0gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgQnJvd3NlckNvbm5lY3Rpb25FcnJvciwgR2VuZXJhbEVycm9yIH0gZnJvbSAnLi4vZXJyb3JzL3J1bnRpbWUnO1xuaW1wb3J0IHsgUlVOVElNRV9FUlJPUlMgfSBmcm9tICcuLi9lcnJvcnMvdHlwZXMnO1xuaW1wb3J0IEJyb3dzZXJDb25uZWN0aW9uIGZyb20gJy4uL2Jyb3dzZXIvY29ubmVjdGlvbic7XG5pbXBvcnQgQnJvd3NlckNvbm5lY3Rpb25TdGF0dXMgZnJvbSAnLi4vYnJvd3Nlci9jb25uZWN0aW9uL3N0YXR1cyc7XG5pbXBvcnQgeyBCcm93c2VyU2V0T3B0aW9ucyB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgZ2V0QnJvd3NlckNvbm5lY3Rpb25IaW50cyBmcm9tICcuLi9icm93c2VyL2Nvbm5lY3Rpb24vZ2V0LWhpbnRzJztcbmltcG9ydCB7IGNyZWF0ZUxpc3QgfSBmcm9tICcuLi91dGlscy9zdHJpbmcnO1xuXG5jb25zdCBSRUxFQVNFX1RJTUVPVVQgPSAxMDAwMDtcblxuY29uc3QgQ09VTlRfT1dOX0FORF9PVVRFUl9MSVNURU5FUlMgPSAzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCcm93c2VyU2V0IGV4dGVuZHMgRXZlbnRFbWl0dGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9icm93c2VyQ29ubmVjdGlvbnM6IEJyb3dzZXJDb25uZWN0aW9uW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBfYnJvd3NlckVycm9ySGFuZGxlcjogKGVycm9yOiBFcnJvcikgPT4gdm9pZDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9wZW5kaW5nUmVsZWFzZXM6IFByb21pc2U8dm9pZD5bXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vcHRpb25zOiBCcm93c2VyU2V0T3B0aW9ucztcbiAgICBwdWJsaWMgYnJvd3NlckNvbm5lY3Rpb25Hcm91cHM6IEJyb3dzZXJDb25uZWN0aW9uW11bXTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvciAoYnJvd3NlckNvbm5lY3Rpb25Hcm91cHM6IEJyb3dzZXJDb25uZWN0aW9uW11bXSwgb3B0aW9uczogQnJvd3NlclNldE9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLl9wZW5kaW5nUmVsZWFzZXMgICAgICAgICA9IFtdO1xuICAgICAgICB0aGlzLmJyb3dzZXJDb25uZWN0aW9uR3JvdXBzICA9IGJyb3dzZXJDb25uZWN0aW9uR3JvdXBzO1xuICAgICAgICB0aGlzLl9icm93c2VyQ29ubmVjdGlvbnMgICAgICA9IGZsYXR0ZW4oYnJvd3NlckNvbm5lY3Rpb25Hcm91cHMpO1xuICAgICAgICB0aGlzLl9vcHRpb25zICAgICAgICAgICAgICAgICA9IG9wdGlvbnM7XG5cbiAgICAgICAgdGhpcy5fYnJvd3NlckVycm9ySGFuZGxlciA9IChlcnJvcjogRXJyb3IpID0+IHRoaXMuZW1pdCgnZXJyb3InLCBlcnJvcik7XG5cbiAgICAgICAgdGhpcy5fYnJvd3NlckNvbm5lY3Rpb25zLmZvckVhY2goYmMgPT4gYmMub24oJ2Vycm9yJywgdGhpcy5fYnJvd3NlckVycm9ySGFuZGxlcikpO1xuXG4gICAgICAgIC8vIE5PVEU6IFdlJ3JlIHNldHRpbmcgYW4gZW1wdHkgZXJyb3IgaGFuZGxlciwgYmVjYXVzZSBOb2RlIGtpbGxzIHRoZSBwcm9jZXNzIG9uIGFuICdlcnJvcicgZXZlbnRcbiAgICAgICAgLy8gaWYgdGhlcmUgaXMgbm8gaGFuZGxlci4gU2VlOiBodHRwczovL25vZGVqcy5vcmcvYXBpL2V2ZW50cy5odG1sI2V2ZW50c19jbGFzc19ldmVudHNfZXZlbnRlbWl0dGVyXG4gICAgICAgIHRoaXMub24oJ2Vycm9yJywgbm9vcCk7XG4gICAgICAgIHRoaXMuc2V0TWF4TGlzdGVuZXJzKENPVU5UX09XTl9BTkRfT1VURVJfTElTVEVORVJTICsgdGhpcy5fYnJvd3NlckNvbm5lY3Rpb25zLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgYXN5bmMgX3dhaXRJZGxlIChiYzogQnJvd3NlckNvbm5lY3Rpb24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKGJjLmlkbGUgfHwgIWJjLmlzUmVhZHkoKSlcbiAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICBhd2FpdCBwcm9taXNpZnlFdmVudChiYywgJ2lkbGUnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBhc3luYyBfY2xvc2VDb25uZWN0aW9uIChiYzogQnJvd3NlckNvbm5lY3Rpb24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKGJjLnN0YXR1cyA9PT0gQnJvd3NlckNvbm5lY3Rpb25TdGF0dXMuY2xvc2VkIHx8IGJjLnN0YXR1cyA9PT0gQnJvd3NlckNvbm5lY3Rpb25TdGF0dXMuY2xvc2luZylcbiAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICBhd2FpdCBiYy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX3dhaXRDb25uZWN0aW9uT3BlbmVkIChiYzogQnJvd3NlckNvbm5lY3Rpb24pOiBQcm9taXNlPEJyb3dzZXJDb25uZWN0aW9uPiB7XG4gICAgICAgIGNvbnN0IG9wZW5lZFRpbWVvdXQgPSB0aGlzLl9vcHRpb25zLmJyb3dzZXJJbml0VGltZW91dCB8fCBhd2FpdCBiYy5nZXREZWZhdWx0QnJvd3NlckluaXRUaW1lb3V0KCk7XG4gICAgICAgIGNvbnN0IHRpbWVvdXRFcnIgICAgPSBuZXcgR2VuZXJhbEVycm9yKFJVTlRJTUVfRVJST1JTLmNhbm5vdEVzdGFibGlzaEJyb3dzZXJDb25uZWN0aW9uKTtcbiAgICAgICAgY29uc3Qgb3BlbmVkT3JFcnJvciA9IFByb21pc2UucmFjZShbXG4gICAgICAgICAgICBwcm9taXNpZnlFdmVudCh0aGlzLCAnZXJyb3InKSxcbiAgICAgICAgICAgIHByb21pc2lmeUV2ZW50KGJjLCAnb3BlbmVkJyksXG4gICAgICAgIF0pO1xuXG4gICAgICAgIHJldHVybiBnZXRUaW1lTGltaXRlZFByb21pc2Uob3BlbmVkT3JFcnJvciwgb3BlbmVkVGltZW91dCwgeyByZWplY3RXaXRoOiB0aW1lb3V0RXJyIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX3dhaXRDb25uZWN0aW9uc09wZW5lZCAoKTogUHJvbWlzZTxCcm93c2VyQ29ubmVjdGlvbltdPiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLmFsbChcbiAgICAgICAgICAgIHRoaXMuX2Jyb3dzZXJDb25uZWN0aW9uc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoYmMgPT4gYmMuc3RhdHVzICE9PSBCcm93c2VyQ29ubmVjdGlvblN0YXR1cy5vcGVuZWQpXG4gICAgICAgICAgICAgICAgLm1hcChub3RPcGVuZWRDb25uZWN0aW9uID0+IHRoaXMuX3dhaXRDb25uZWN0aW9uT3BlbmVkKG5vdE9wZW5lZENvbm5lY3Rpb24pKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NoZWNrRm9yRGlzY29ubmVjdGlvbnMgKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBkaXNjb25uZWN0ZWRVc2VyQWdlbnRzID0gdGhpcy5fYnJvd3NlckNvbm5lY3Rpb25zXG4gICAgICAgICAgICAuZmlsdGVyKGJjID0+IGJjLnN0YXR1cyA9PT0gQnJvd3NlckNvbm5lY3Rpb25TdGF0dXMuY2xvc2VkKVxuICAgICAgICAgICAgLm1hcChiYyA9PiBiYy51c2VyQWdlbnQpO1xuXG4gICAgICAgIGlmIChkaXNjb25uZWN0ZWRVc2VyQWdlbnRzLmxlbmd0aClcbiAgICAgICAgICAgIHRocm93IG5ldyBHZW5lcmFsRXJyb3IoUlVOVElNRV9FUlJPUlMuY2Fubm90UnVuQWdhaW5zdERpc2Nvbm5lY3RlZEJyb3dzZXJzLCBkaXNjb25uZWN0ZWRVc2VyQWdlbnRzLmpvaW4oJywgJykpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBwcmVwYXJlQ29ubmVjdGlvbnMgKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLl9jaGVja0ZvckRpc2Nvbm5lY3Rpb25zKCk7XG4gICAgICAgIGF3YWl0IHRoaXMuX3dhaXRDb25uZWN0aW9uc09wZW5lZCgpO1xuICAgIH1cblxuICAgIC8vIE5PVEU6IGNyZWF0ZXMgYW5kIHByZXBhcmVzIEJyb3dzZXJTZXQgaW5zdGFuY2Ugd2l0aCBnaXZlbiBicm93c2VyIGNvbm5lY3Rpb25zXG4gICAgcHVibGljIHN0YXRpYyBhc3luYyBmcm9tIChicm93c2VyQ29ubmVjdGlvbnM6IEJyb3dzZXJDb25uZWN0aW9uW11bXSwgb3B0czogQnJvd3NlclNldE9wdGlvbnMpOiBQcm9taXNlPEJyb3dzZXJTZXQ+IHtcbiAgICAgICAgY29uc3QgYnJvd3NlclNldCA9IG5ldyBCcm93c2VyU2V0KGJyb3dzZXJDb25uZWN0aW9ucywgb3B0cyk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHByZXBhcmVDb25uZWN0aW9ucyA9IGJyb3dzZXJTZXQucHJlcGFyZUNvbm5lY3Rpb25zKCk7XG4gICAgICAgICAgICBjb25zdCBicm93c2VyU2V0RXJyb3IgICAgPSBwcm9taXNpZnlFdmVudChicm93c2VyU2V0LCAnZXJyb3InKTtcblxuICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5yYWNlKFsgcHJlcGFyZUNvbm5lY3Rpb25zLCBicm93c2VyU2V0RXJyb3IgXSk7XG5cbiAgICAgICAgICAgIHJldHVybiBicm93c2VyU2V0O1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbmFsRXJyb3IgPSBlLmNvZGUgPT09IFJVTlRJTUVfRVJST1JTLmNhbm5vdEVzdGFibGlzaEJyb3dzZXJDb25uZWN0aW9uXG4gICAgICAgICAgICAgICAgPyBicm93c2VyU2V0LmNyZWF0ZUJyb3dzZXJDb25uZWN0aW9uRXJyb3IoZSlcbiAgICAgICAgICAgICAgICA6IGU7XG5cbiAgICAgICAgICAgIGF3YWl0IGJyb3dzZXJTZXQuZGlzcG9zZSgpO1xuXG4gICAgICAgICAgICB0aHJvdyBmaW5hbEVycm9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNyZWF0ZUJyb3dzZXJDb25uZWN0aW9uRXJyb3IgKGVycm9yOiBFcnJvcik6IEJyb3dzZXJDb25uZWN0aW9uRXJyb3Ige1xuICAgICAgICBjb25zdCBub3RPcGVuZWRDb25uZWN0aW9ucyA9IHRoaXMuX2Jyb3dzZXJDb25uZWN0aW9ucy5maWx0ZXIoYmMgPT4gYmMuc3RhdHVzICE9PSBCcm93c2VyQ29ubmVjdGlvblN0YXR1cy5vcGVuZWQpO1xuXG4gICAgICAgIGNvbnN0IG51bU9mQWxsQ29ubmVjdGlvbnMgICAgICAgPSB0aGlzLl9icm93c2VyQ29ubmVjdGlvbnMubGVuZ3RoO1xuICAgICAgICBjb25zdCBudW1PZk5vdE9wZW5lZENvbm5lY3Rpb25zID0gbm90T3BlbmVkQ29ubmVjdGlvbnMubGVuZ3RoO1xuXG4gICAgICAgIGNvbnN0IGxpc3RPZk5vdE9wZW5lZENvbm5lY3Rpb25zID0gY3JlYXRlTGlzdChub3RPcGVuZWRDb25uZWN0aW9ucy5tYXAoYmMgPT4gYmMuYnJvd3NlckluZm8uYWxpYXMpKTtcbiAgICAgICAgY29uc3QgbGlzdE9mSGludHMgICAgICAgICAgICAgICAgPSBjcmVhdGVMaXN0KGdldEJyb3dzZXJDb25uZWN0aW9uSGludHModGhpcy5fYnJvd3NlckNvbm5lY3Rpb25zLCB0aGlzLl9vcHRpb25zKSk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBCcm93c2VyQ29ubmVjdGlvbkVycm9yKFxuICAgICAgICAgICAgZXJyb3IubWVzc2FnZSxcbiAgICAgICAgICAgIG51bU9mTm90T3BlbmVkQ29ubmVjdGlvbnMsXG4gICAgICAgICAgICBudW1PZkFsbENvbm5lY3Rpb25zLFxuICAgICAgICAgICAgbGlzdE9mTm90T3BlbmVkQ29ubmVjdGlvbnMsXG4gICAgICAgICAgICBsaXN0T2ZIaW50c1xuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWxlYXNlQ29ubmVjdGlvbiAoYmM6IEJyb3dzZXJDb25uZWN0aW9uKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5fYnJvd3NlckNvbm5lY3Rpb25zLmluY2x1ZGVzKGJjKSlcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblxuICAgICAgICByZW1vdmUodGhpcy5fYnJvd3NlckNvbm5lY3Rpb25zLCBiYyk7XG5cbiAgICAgICAgYmMucmVtb3ZlTGlzdGVuZXIoJ2Vycm9yJywgdGhpcy5fYnJvd3NlckVycm9ySGFuZGxlcik7XG5cbiAgICAgICAgY29uc3QgYXBwcm9wcmlhdGVTdGF0ZVN3aXRjaCA9IGJjLnBlcm1hbmVudCA/XG4gICAgICAgICAgICBCcm93c2VyU2V0Ll93YWl0SWRsZShiYykgOlxuICAgICAgICAgICAgQnJvd3NlclNldC5fY2xvc2VDb25uZWN0aW9uKGJjKTtcblxuICAgICAgICBjb25zdCByZWxlYXNlID0gZ2V0VGltZUxpbWl0ZWRQcm9taXNlKGFwcHJvcHJpYXRlU3RhdGVTd2l0Y2gsIFJFTEVBU0VfVElNRU9VVClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHJlbW92ZSh0aGlzLl9wZW5kaW5nUmVsZWFzZXMsIHJlbGVhc2UpKSBhcyBQcm9taXNlPHZvaWQ+O1xuXG4gICAgICAgIHRoaXMuX3BlbmRpbmdSZWxlYXNlcy5wdXNoKHJlbGVhc2UpO1xuXG4gICAgICAgIHJldHVybiByZWxlYXNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBkaXNwb3NlICgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgLy8gTk9URTogV2hlbiBicm93c2VyQ29ubmVjdGlvbiBpcyBjYW5jZWxsZWQsIGl0IGlzIHJlbW92ZWQgZnJvbVxuICAgICAgICAvLyB0aGUgdGhpcy5jb25uZWN0aW9ucyBhcnJheSwgd2hpY2ggbGVhZHMgdG8gc2hpZnRpbmcgaW5kZXhlc1xuICAgICAgICAvLyB0b3dhcmRzIHRoZSBiZWdpbm5pbmcuIFNvLCB3ZSBtdXN0IGNvcHkgdGhlIGFycmF5IGluIG9yZGVyIHRvIGl0ZXJhdGUgaXQsXG4gICAgICAgIC8vIG9yIHdlIGNhbiBwZXJmb3JtIGl0ZXJhdGlvbiBmcm9tIHRoZSBlbmQgdG8gdGhlIGJlZ2lubmluZy5cbiAgICAgICAgdGhpcy5fYnJvd3NlckNvbm5lY3Rpb25zLnJlZHVjZVJpZ2h0KChfLCBiYykgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWxlYXNlQ29ubmVjdGlvbihiYyk7XG5cbiAgICAgICAgICAgIHJldHVybiBiYztcbiAgICAgICAgfSwge30pO1xuXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHRoaXMuX3BlbmRpbmdSZWxlYXNlcyk7XG4gICAgfVxufVxuIl19 |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.PreviousWindowNotFoundError = exports.ParentWindowNotFoundError = exports.WindowNotFoundError = exports.SwitchToWindowPredicateError = exports.CannotCloseWindowWithoutParentError = exports.CannotCloseWindowWithChildrenError = exports.CloseChildWindowError = exports.CannotSwitchToWindowError = exports.ChildWindowIsNotLoadedError = exports.ChildWindowNotFoundError = exports.CurrentIframeIsNotLoadedError = exports.ActionIframeIsNotLoadedError = exports.ActionElementNotIframeError = exports.InvalidElementScreenshotDimensionsError = exports.ActionInvalidScrollTargetError = exports.ActionElementIsNotFileInputError = exports.ActionCannotFindFileToUploadError = exports.ActionIncorrectKeysError = exports.ActionRootContainerNotFoundError = exports.ActionElementNonContentEditableError = exports.ActionElementNotTextAreaError = exports.ActionElementNonEditableError = exports.ActionAdditionalSelectorMatchesWrongNodeTypeError = exports.ActionAdditionalElementIsInvisibleError = exports.ActionAdditionalElementNotFoundError = exports.ActionSelectorMatchesWrongNodeTypeError = exports.ActionElementIsInvisibleError = exports.ActionElementNotFoundError = exports.ActionObjectOptionError = exports.ActionUrlSearchParamsOptionError = exports.ActionUrlOptionError = exports.ActionNumberOptionError = exports.ActionDateOptionError = exports.ActionStringOrRegexOptionError = exports.ActionStringOptionError = exports.ActionSpeedOptionError = exports.ActionBooleanOptionError = exports.ActionPositiveIntegerOptionError = exports.ActionIntegerOptionError = exports.UncaughtErrorInCustomClientScriptLoadedFromModule = exports.UncaughtErrorInCustomClientScriptCode = exports.UncaughtErrorInCustomDOMPropertyCode = exports.UncaughtErrorInClientFunctionCode = exports.UncaughtErrorOnPage = exports.CannotObtainInfoForElementSpecifiedBySelectorError = exports.InvalidSelectorResultError = exports.SelectorErrorBase = exports.DomNodeClientFunctionResultError = exports.ClientFunctionExecutionInterruptionError = exports.TestRunErrorBase = void 0; | ||
exports.UncaughtErrorInNativeDialogHandler = exports.NativeDialogNotHandledError = exports.CurrentIframeIsInvisibleError = exports.CurrentIframeNotFoundError = exports.CannotRestoreChildWindowError = exports.ChildWindowClosedBeforeSwitchingError = void 0; | ||
exports.ParentWindowNotFoundError = exports.WindowNotFoundError = exports.SwitchToWindowPredicateError = exports.CannotCloseWindowWithoutParentError = exports.CannotCloseWindowWithChildrenError = exports.CloseChildWindowError = exports.CannotSwitchToWindowError = exports.ChildWindowIsNotLoadedError = exports.ChildWindowNotFoundError = exports.CurrentIframeIsNotLoadedError = exports.ActionIframeIsNotLoadedError = exports.ActionElementNotIframeError = exports.InvalidElementScreenshotDimensionsError = exports.ActionInvalidScrollTargetError = exports.ActionElementIsNotFileInputError = exports.ActionCannotFindFileToUploadError = exports.ActionIncorrectKeysError = exports.ActionRootContainerNotFoundError = exports.ActionElementNonContentEditableError = exports.ActionElementNotTextAreaError = exports.ActionElementNonEditableError = exports.ActionAdditionalSelectorMatchesWrongNodeTypeError = exports.ActionAdditionalElementIsInvisibleError = exports.ActionAdditionalElementNotFoundError = exports.ActionSelectorMatchesWrongNodeTypeError = exports.ActionElementIsInvisibleError = exports.ActionElementNotFoundError = exports.ActionFunctionOptionError = exports.ActionObjectOptionError = exports.ActionUrlSearchParamsOptionError = exports.ActionUrlOptionError = exports.ActionNumberOptionError = exports.ActionDateOptionError = exports.ActionStringOrRegexOptionError = exports.ActionStringOptionError = exports.ActionSpeedOptionError = exports.ActionBooleanOptionError = exports.ActionPositiveIntegerOptionError = exports.ActionIntegerOptionError = exports.UncaughtErrorInCustomClientScriptLoadedFromModule = exports.UncaughtErrorInCustomClientScriptCode = exports.UncaughtErrorInCustomDOMPropertyCode = exports.UncaughtErrorInClientFunctionCode = exports.UncaughtErrorOnPage = exports.CannotObtainInfoForElementSpecifiedBySelectorError = exports.InvalidSelectorResultError = exports.SelectorErrorBase = exports.DomNodeClientFunctionResultError = exports.ClientFunctionExecutionInterruptionError = exports.TestRunErrorBase = void 0; | ||
exports.UncaughtErrorInNativeDialogHandler = exports.NativeDialogNotHandledError = exports.CurrentIframeIsInvisibleError = exports.CurrentIframeNotFoundError = exports.CannotRestoreChildWindowError = exports.ChildWindowClosedBeforeSwitchingError = exports.PreviousWindowNotFoundError = void 0; | ||
// ------------------------------------------------------------- | ||
@@ -177,2 +177,8 @@ // WARNING: this file is used by both the client and the server. | ||
exports.ActionObjectOptionError = ActionObjectOptionError; | ||
class ActionFunctionOptionError extends ActionOptionErrorBase { | ||
constructor(optionName, actualValue) { | ||
super(types_1.TEST_RUN_ERRORS.actionFunctionOptionError, optionName, actualValue); | ||
} | ||
} | ||
exports.ActionFunctionOptionError = ActionFunctionOptionError; | ||
// Action execution errors | ||
@@ -427,2 +433,2 @@ //-------------------------------------------------------------------- | ||
exports.UncaughtErrorInNativeDialogHandler = UncaughtErrorInNativeDialogHandler; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2hhcmVkL2Vycm9ycy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsZ0VBQWdFO0FBQ2hFLGdFQUFnRTtBQUNoRSwrQ0FBK0M7QUFDL0MsZ0VBQWdFO0FBQ2hFLDhDQUFxRDtBQUVyRCxPQUFPO0FBQ1Asc0VBQXNFO0FBQ3RFLE1BQWEsZ0JBQWdCO0lBQ3pCLFlBQWEsSUFBSSxFQUFFLFFBQVE7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBYyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBVSxRQUFRLElBQUksSUFBSSxDQUFDO0lBQzVDLENBQUM7Q0FDSjtBQU5ELDRDQU1DO0FBRUQsTUFBTSxxQkFBc0IsU0FBUSxnQkFBZ0I7SUFDaEQsWUFBYSxJQUFJLEVBQUUsVUFBVSxFQUFFLFdBQVc7UUFDdEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRVosSUFBSSxDQUFDLFVBQVUsR0FBSSxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDbkMsQ0FBQztDQUNKO0FBR0QseUJBQXlCO0FBQ3pCLHNFQUFzRTtBQUN0RSxNQUFhLHdDQUF5QyxTQUFRLGdCQUFnQjtJQUMxRSxZQUFhLHlCQUF5QixFQUFFLFFBQVE7UUFDNUMsS0FBSyxDQUFDLHVCQUFlLENBQUMsd0NBQXdDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFMUUsSUFBSSxDQUFDLHlCQUF5QixHQUFHLHlCQUF5QixDQUFDO0lBQy9ELENBQUM7Q0FDSjtBQU5ELDRGQU1DO0FBRUQsTUFBYSxnQ0FBaUMsU0FBUSxnQkFBZ0I7SUFDbEUsWUFBYSx5QkFBeUIsRUFBRSxRQUFRO1FBQzVDLEtBQUssQ0FBQyx1QkFBZSxDQUFDLGdDQUFnQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FB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QUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBTSxHQUFHLENBQUM7SUFDMUIsQ0FBQztDQUNKO0FBUEQsa0VBT0M7QUFFRCxNQUFhLGtDQUFtQyxTQUFRLGdCQUFnQjtJQUNwRSxZQUFhLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRztRQUNoQyxLQUFLLENBQUMsdUJBQWUsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQU8sTUFBTSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQU0sR0FBRyxDQUFDO0lBQzFCLENBQUM7Q0FDSjtBQVJELGdGQVFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gV0FSTklORzogdGhpcyBmaWxlIGlzIHVzZWQgYnkgYm90aCB0aGUgY2xpZW50IGFuZCB0aGUgc2VydmVyLlxuLy8gRG8gbm90IHVzZSBhbnkgYnJvd3NlciBvciBub2RlLXNwZWNpZmljIEFQSSFcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmltcG9ydCB7IFRFU1RfUlVOX0VSUk9SUyB9IGZyb20gJy4uLy4uL2Vycm9ycy90eXBlcyc7XG5cbi8vIEJhc2Vcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBjbGFzcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoY29kZSwgY2FsbHNpdGUpIHtcbiAgICAgICAgdGhpcy5jb2RlICAgICAgICAgICAgPSBjb2RlO1xuICAgICAgICB0aGlzLmlzVGVzdENhZmVFcnJvciA9IHRydWU7XG4gICAgICAgIHRoaXMuY2FsbHNpdGUgICAgICAgID0gY2FsbHNpdGUgfHwgbnVsbDtcbiAgICB9XG59XG5cbmNsYXNzIEFjdGlvbk9wdGlvbkVycm9yQmFzZSBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChjb2RlLCBvcHRpb25OYW1lLCBhY3R1YWxWYWx1ZSkge1xuICAgICAgICBzdXBlcihjb2RlKTtcblxuICAgICAgICB0aGlzLm9wdGlvbk5hbWUgID0gb3B0aW9uTmFtZTtcbiAgICAgICAgdGhpcy5hY3R1YWxWYWx1ZSA9IGFjdHVhbFZhbHVlO1xuICAgIH1cbn1cblxuXG4vLyBDbGllbnQgZnVuY3Rpb24gZXJyb3JzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5leHBvcnQgY2xhc3MgQ2xpZW50RnVuY3Rpb25FeGVjdXRpb25JbnRlcnJ1cHRpb25FcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lLCBjYWxsc2l0ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuY2xpZW50RnVuY3Rpb25FeGVjdXRpb25JbnRlcnJ1cHRpb25FcnJvciwgY2FsbHNpdGUpO1xuXG4gICAgICAgIHRoaXMuaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZSA9IGluc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRG9tTm9kZUNsaWVudEZ1bmN0aW9uUmVzdWx0RXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZSwgY2FsbHNpdGUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmRvbU5vZGVDbGllbnRGdW5jdGlvblJlc3VsdEVycm9yLCBjYWxsc2l0ZSk7XG5cbiAgICAgICAgdGhpcy5pbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lID0gaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZTtcbiAgICB9XG59XG5cbi8vIFNlbGVjdG9yIGVycm9yc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGNsYXNzIFNlbGVjdG9yRXJyb3JCYXNlIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGNvZGUsIHsgYXBpRm5DaGFpbiwgYXBpRm5JbmRleCB9LCBjYWxsc2l0ZSkge1xuICAgICAgICBzdXBlcihjb2RlLCBjYWxsc2l0ZSk7XG5cbiAgICAgICAgdGhpcy5hcGlGbkNoYWluID0gYXBpRm5DaGFpbjtcbiAgICAgICAgdGhpcy5hcGlGbkluZGV4ID0gYXBpRm5JbmRleDtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbnZhbGlkU2VsZWN0b3JSZXN1bHRFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChjYWxsc2l0ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuaW52YWxpZFNlbGVjdG9yUmVzdWx0RXJyb3IsIGNhbGxzaXRlKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDYW5ub3RPYnRhaW5JbmZvRm9yRWxlbWVudFNwZWNpZmllZEJ5U2VsZWN0b3JFcnJvciBleHRlbmRzIFNlbGVjdG9yRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoY2FsbHNpdGUsIGFwaUZuQXJncykge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuY2Fubm90T2J0YWluSW5mb0ZvckVsZW1lbnRTcGVjaWZpZWRCeVNlbGVjdG9yRXJyb3IsIGFwaUZuQXJncywgY2FsbHNpdGUpO1xuICAgIH1cbn1cblxuXG4vLyBVbmNhdWdodCBlcnJvcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBjbGFzcyBVbmNhdWdodEVycm9yT25QYWdlIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGVyclN0YWNrLCBwYWdlRGVzdFVybCkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFcnJvck9uUGFnZSk7XG5cbiAgICAgICAgdGhpcy5lcnJTdGFjayAgICA9IGVyclN0YWNrO1xuICAgICAgICB0aGlzLnBhZ2VEZXN0VXJsID0gcGFnZURlc3RVcmw7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVW5jYXVnaHRFcnJvckluQ2xpZW50RnVuY3Rpb25Db2RlIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGluc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWUsIGVyciwgY2FsbHNpdGUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLnVuY2F1Z2h0RXJyb3JJbkNsaWVudEZ1bmN0aW9uQ29kZSwgY2FsbHNpdGUpO1xuXG4gICAgICAgIHRoaXMuZXJyTXNnICAgICAgICAgICAgICAgICAgICA9IFN0cmluZyhlcnIpO1xuICAgICAgICB0aGlzLmluc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWUgPSBpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFVuY2F1Z2h0RXJyb3JJbkN1c3RvbURPTVByb3BlcnR5Q29kZSBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lLCBlcnIsIHByb3AsIGNhbGxzaXRlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy51bmNhdWdodEVycm9ySW5DdXN0b21ET01Qcm9wZXJ0eUNvZGUsIGNhbGxzaXRlKTtcblxuICAgICAgICB0aGlzLmVyck1zZyAgICAgICAgICAgICAgICAgICAgPSBTdHJpbmcoZXJyKTtcbiAgICAgICAgdGhpcy5wcm9wZXJ0eSAgICAgICAgICAgICAgICAgID0gcHJvcDtcbiAgICAgICAgdGhpcy5pbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lID0gaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVbmNhdWdodEVycm9ySW5DdXN0b21DbGllbnRTY3JpcHRDb2RlIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGVycikge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFcnJvckluQ3VzdG9tQ2xpZW50U2NyaXB0Q29kZSk7XG5cbiAgICAgICAgdGhpcy5lcnJNc2cgPSBTdHJpbmcoZXJyKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVbmNhdWdodEVycm9ySW5DdXN0b21DbGllbnRTY3JpcHRMb2FkZWRGcm9tTW9kdWxlIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGVyciwgbW9kdWxlTmFtZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFcnJvckluQ3VzdG9tQ2xpZW50U2NyaXB0Q29kZUxvYWRlZEZyb21Nb2R1bGUpO1xuXG4gICAgICAgIHRoaXMuZXJyTXNnICAgICA9IFN0cmluZyhlcnIpO1xuICAgICAgICB0aGlzLm1vZHVsZU5hbWUgPSBtb2R1bGVOYW1lO1xuICAgIH1cbn1cblxuXG4vLyBBY3Rpb24gcGFyYW1ldGVycyBlcnJvcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE9wdGlvbnMgZXJyb3JzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5leHBvcnQgY2xhc3MgQWN0aW9uSW50ZWdlck9wdGlvbkVycm9yIGV4dGVuZHMgQWN0aW9uT3B0aW9uRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAob3B0aW9uTmFtZSwgYWN0dWFsVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvbkludGVnZXJPcHRpb25FcnJvciwgb3B0aW9uTmFtZSwgYWN0dWFsVmFsdWUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvblBvc2l0aXZlSW50ZWdlck9wdGlvbkVycm9yIGV4dGVuZHMgQWN0aW9uT3B0aW9uRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAob3B0aW9uTmFtZSwgYWN0dWFsVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblBvc2l0aXZlSW50ZWdlck9wdGlvbkVycm9yLCBvcHRpb25OYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uQm9vbGVhbk9wdGlvbkVycm9yIGV4dGVuZHMgQWN0aW9uT3B0aW9uRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAob3B0aW9uTmFtZSwgYWN0dWFsVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvbkJvb2xlYW5PcHRpb25FcnJvciwgb3B0aW9uTmFtZSwgYWN0dWFsVmFsdWUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvblNwZWVkT3B0aW9uRXJyb3IgZXh0ZW5kcyBBY3Rpb25PcHRpb25FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChvcHRpb25OYW1lLCBhY3R1YWxWYWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uU3BlZWRPcHRpb25FcnJvciwgb3B0aW9uTmFtZSwgYWN0dWFsVmFsdWUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvblN0cmluZ09wdGlvbkVycm9yIGV4dGVuZHMgQWN0aW9uT3B0aW9uRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAob3B0aW9uTmFtZSwgYWN0dWFsVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblN0cmluZ09wdGlvbkVycm9yLCBvcHRpb25OYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIEFjdGlvblN0cmluZ09yUmVnZXhPcHRpb25FcnJvciBleHRlbmRzIEFjdGlvbk9wdGlvbkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKG9wdGlvbk5hbWUsIGFjdHVhbFZhbHVlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25TdHJpbmdPclJlZ2V4T3B0aW9uRXJyb3IsIG9wdGlvbk5hbWUsIGFjdHVhbFZhbHVlKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25EYXRlT3B0aW9uRXJyb3IgZXh0ZW5kcyBBY3Rpb25PcHRpb25FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChvcHRpb25OYW1lLCBhY3R1YWxWYWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uRGF0ZU9wdGlvbkVycm9yLCBvcHRpb25OYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uTnVtYmVyT3B0aW9uRXJyb3IgZXh0ZW5kcyBBY3Rpb25PcHRpb25FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChvcHRpb25OYW1lLCBhY3R1YWxWYWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uTnVtYmVyT3B0aW9uRXJyb3IsIG9wdGlvbk5hbWUsIGFjdHVhbFZhbHVlKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25VcmxPcHRpb25FcnJvciBleHRlbmRzIEFjdGlvbk9wdGlvbkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKG9wdGlvbk5hbWUsIGFjdHVhbFZhbHVlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25VcmxPcHRpb25FcnJvciwgb3B0aW9uTmFtZSwgYWN0dWFsVmFsdWUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvblVybFNlYXJjaFBhcmFtc09wdGlvbkVycm9yIGV4dGVuZHMgQWN0aW9uT3B0aW9uRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAob3B0aW9uTmFtZSwgYWN0dWFsVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblVybFNlYXJjaFBhcmFtc09wdGlvbkVycm9yLCBvcHRpb25OYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uT2JqZWN0T3B0aW9uRXJyb3IgZXh0ZW5kcyBBY3Rpb25PcHRpb25FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChvcHRpb25OYW1lLCBhY3R1YWxWYWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uT2JqZWN0T3B0aW9uRXJyb3IsIG9wdGlvbk5hbWUsIGFjdHVhbFZhbHVlKTtcbiAgICB9XG59XG5cblxuLy8gQWN0aW9uIGV4ZWN1dGlvbiBlcnJvcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBjbGFzcyBBY3Rpb25FbGVtZW50Tm90Rm91bmRFcnJvciBleHRlbmRzIFNlbGVjdG9yRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoY2FsbHNpdGUsIGFwaUZuQXJncykge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uRWxlbWVudE5vdEZvdW5kRXJyb3IsIGFwaUZuQXJncywgY2FsbHNpdGUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbkVsZW1lbnRJc0ludmlzaWJsZUVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGNhbGxzaXRlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25FbGVtZW50SXNJbnZpc2libGVFcnJvciwgY2FsbHNpdGUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvblNlbGVjdG9yTWF0Y2hlc1dyb25nTm9kZVR5cGVFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChub2RlRGVzY3JpcHRpb24pIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblNlbGVjdG9yTWF0Y2hlc1dyb25nTm9kZVR5cGVFcnJvcik7XG5cbiAgICAgICAgdGhpcy5ub2RlRGVzY3JpcHRpb24gPSBub2RlRGVzY3JpcHRpb247XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uQWRkaXRpb25hbEVsZW1lbnROb3RGb3VuZEVycm9yIGV4dGVuZHMgU2VsZWN0b3JFcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChhcmd1bWVudE5hbWUsIGFwaUZuQXJncykge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uQWRkaXRpb25hbEVsZW1lbnROb3RGb3VuZEVycm9yLCBhcGlGbkFyZ3MpO1xuXG4gICAgICAgIHRoaXMuYXJndW1lbnROYW1lID0gYXJndW1lbnROYW1lO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbkFkZGl0aW9uYWxFbGVtZW50SXNJbnZpc2libGVFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChhcmd1bWVudE5hbWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvbkFkZGl0aW9uYWxFbGVtZW50SXNJbnZpc2libGVFcnJvcik7XG5cbiAgICAgICAgdGhpcy5hcmd1bWVudE5hbWUgPSBhcmd1bWVudE5hbWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uQWRkaXRpb25hbFNlbGVjdG9yTWF0Y2hlc1dyb25nTm9kZVR5cGVFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChhcmd1bWVudE5hbWUsIG5vZGVEZXNjcmlwdGlvbikge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uQWRkaXRpb25hbFNlbGVjdG9yTWF0Y2hlc1dyb25nTm9kZVR5cGVFcnJvcik7XG5cbiAgICAgICAgdGhpcy5hcmd1bWVudE5hbWUgICAgPSBhcmd1bWVudE5hbWU7XG4gICAgICAgIHRoaXMubm9kZURlc2NyaXB0aW9uID0gbm9kZURlc2NyaXB0aW9uO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbkVsZW1lbnROb25FZGl0YWJsZUVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKCkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uRWxlbWVudE5vbkVkaXRhYmxlRXJyb3IpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbkVsZW1lbnROb3RUZXh0QXJlYUVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKCkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uRWxlbWVudE5vdFRleHRBcmVhRXJyb3IpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbkVsZW1lbnROb25Db250ZW50RWRpdGFibGVFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChhcmd1bWVudE5hbWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvbkVsZW1lbnROb25Db250ZW50RWRpdGFibGVFcnJvcik7XG5cbiAgICAgICAgdGhpcy5hcmd1bWVudE5hbWUgPSBhcmd1bWVudE5hbWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uUm9vdENvbnRhaW5lck5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25Sb290Q29udGFpbmVyTm90Rm91bmRFcnJvcik7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uSW5jb3JyZWN0S2V5c0Vycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGFyZ3VtZW50TmFtZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uSW5jb3JyZWN0S2V5c0Vycm9yKTtcblxuICAgICAgICB0aGlzLmFyZ3VtZW50TmFtZSA9IGFyZ3VtZW50TmFtZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25DYW5ub3RGaW5kRmlsZVRvVXBsb2FkRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoZmlsZVBhdGhzLCBzY2FubmVkRmlsZVBhdGhzKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25DYW5ub3RGaW5kRmlsZVRvVXBsb2FkRXJyb3IpO1xuXG4gICAgICAgIHRoaXMuZmlsZVBhdGhzICAgICAgICA9IGZpbGVQYXRocztcbiAgICAgICAgdGhpcy5zY2FubmVkRmlsZVBhdGhzID0gc2Nhbm5lZEZpbGVQYXRocztcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25FbGVtZW50SXNOb3RGaWxlSW5wdXRFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvbkVsZW1lbnRJc05vdEZpbGVJbnB1dEVycm9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25JbnZhbGlkU2Nyb2xsVGFyZ2V0RXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoc2Nyb2xsVGFyZ2V0WFZhbGlkLCBzY3JvbGxUYXJnZXRZVmFsaWQpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvbkludmFsaWRTY3JvbGxUYXJnZXRFcnJvcik7XG5cbiAgICAgICAgaWYgKCFzY3JvbGxUYXJnZXRYVmFsaWQpIHtcbiAgICAgICAgICAgIGlmICghc2Nyb2xsVGFyZ2V0WVZhbGlkKVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcGVydGllcyA9ICdzY3JvbGxUYXJnZXRYIGFuZCBzY3JvbGxUYXJnZXRZIHByb3BlcnRpZXMnO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcGVydGllcyA9ICdzY3JvbGxUYXJnZXRYIHByb3BlcnR5JztcbiAgICAgICAgfVxuICAgICAgICBlbHNlXG4gICAgICAgICAgICB0aGlzLnByb3BlcnRpZXMgPSAnc2Nyb2xsVGFyZ2V0WSBwcm9wZXJ0eSc7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW52YWxpZEVsZW1lbnRTY3JlZW5zaG90RGltZW5zaW9uc0Vycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKHdpZHRoLCBoZWlnaHQpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmludmFsaWRFbGVtZW50U2NyZWVuc2hvdERpbWVuc2lvbnNFcnJvcik7XG5cbiAgICAgICAgY29uc3Qgd2lkdGhJc0ludmFsaWQgID0gd2lkdGggPD0gMDtcbiAgICAgICAgY29uc3QgaGVpZ2h0SXNJbnZhbGlkID0gaGVpZ2h0IDw9IDA7XG5cbiAgICAgICAgaWYgKHdpZHRoSXNJbnZhbGlkKSB7XG4gICAgICAgICAgICBpZiAoaGVpZ2h0SXNJbnZhbGlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52ZXJiICAgICAgID0gJ2FyZSc7XG4gICAgICAgICAgICAgICAgdGhpcy5kaW1lbnNpb25zID0gJ3dpZHRoIGFuZCBoZWlnaHQnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy52ZXJiICAgICAgID0gJ2lzJztcbiAgICAgICAgICAgICAgICB0aGlzLmRpbWVuc2lvbnMgPSAnd2lkdGgnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52ZXJiICAgICAgID0gJ2lzJztcbiAgICAgICAgICAgIHRoaXMuZGltZW5zaW9ucyA9ICdoZWlnaHQnO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIElmcmFtZSBlcnJvcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBjbGFzcyBBY3Rpb25FbGVtZW50Tm90SWZyYW1lRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoY2FsbHNpdGUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvbkVsZW1lbnROb3RJZnJhbWVFcnJvciwgY2FsbHNpdGUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbklmcmFtZUlzTm90TG9hZGVkRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25JZnJhbWVJc05vdExvYWRlZEVycm9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDdXJyZW50SWZyYW1lSXNOb3RMb2FkZWRFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmN1cnJlbnRJZnJhbWVJc05vdExvYWRlZEVycm9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDaGlsZFdpbmRvd05vdEZvdW5kRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5jaGlsZFdpbmRvd05vdEZvdW5kRXJyb3IpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENoaWxkV2luZG93SXNOb3RMb2FkZWRFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmNoaWxkV2luZG93SXNOb3RMb2FkZWRFcnJvcik7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ2Fubm90U3dpdGNoVG9XaW5kb3dFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmNhbm5vdFN3aXRjaFRvV2luZG93RXJyb3IpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENsb3NlQ2hpbGRXaW5kb3dFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmNsb3NlQ2hpbGRXaW5kb3dFcnJvcik7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ2Fubm90Q2xvc2VXaW5kb3dXaXRoQ2hpbGRyZW5FcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmNhbm5vdENsb3NlV2luZG93V2l0aENoaWxkcmVuRXJyb3IpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENhbm5vdENsb3NlV2luZG93V2l0aG91dFBhcmVudEVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKCkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuY2Fubm90Q2xvc2VXaW5kb3dXaXRob3V0UGFyZW50KTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTd2l0Y2hUb1dpbmRvd1ByZWRpY2F0ZUVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGVyck1zZykge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuc3dpdGNoVG9XaW5kb3dQcmVkaWNhdGVFcnJvcik7XG5cbiAgICAgICAgdGhpcy5lcnJNc2cgPSBlcnJNc2c7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgV2luZG93Tm90Rm91bmRFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLnRhcmdldFdpbmRvd05vdEZvdW5kRXJyb3IpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFBhcmVudFdpbmRvd05vdEZvdW5kRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5wYXJlbnRXaW5kb3dOb3RGb3VuZEVycm9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQcmV2aW91c1dpbmRvd05vdEZvdW5kRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5wcmV2aW91c1dpbmRvd05vdEZvdW5kRXJyb3IpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENoaWxkV2luZG93Q2xvc2VkQmVmb3JlU3dpdGNoaW5nRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5jaGlsZFdpbmRvd0Nsb3NlZEJlZm9yZVN3aXRjaGluZ0Vycm9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDYW5ub3RSZXN0b3JlQ2hpbGRXaW5kb3dFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmNhbm5vdFJlc3RvcmVDaGlsZFdpbmRvd0Vycm9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDdXJyZW50SWZyYW1lTm90Rm91bmRFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmN1cnJlbnRJZnJhbWVOb3RGb3VuZEVycm9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDdXJyZW50SWZyYW1lSXNJbnZpc2libGVFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmN1cnJlbnRJZnJhbWVJc0ludmlzaWJsZUVycm9yKTtcbiAgICB9XG59XG5cblxuLy8gTmF0aXZlIGRpYWxvZyBlcnJvcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBjbGFzcyBOYXRpdmVEaWFsb2dOb3RIYW5kbGVkRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoZGlhbG9nVHlwZSwgdXJsKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5uYXRpdmVEaWFsb2dOb3RIYW5kbGVkRXJyb3IpO1xuXG4gICAgICAgIHRoaXMuZGlhbG9nVHlwZSA9IGRpYWxvZ1R5cGU7XG4gICAgICAgIHRoaXMucGFnZVVybCAgICA9IHVybDtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVbmNhdWdodEVycm9ySW5OYXRpdmVEaWFsb2dIYW5kbGVyIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGRpYWxvZ1R5cGUsIGVyck1zZywgdXJsKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy51bmNhdWdodEVycm9ySW5OYXRpdmVEaWFsb2dIYW5kbGVyKTtcblxuICAgICAgICB0aGlzLmRpYWxvZ1R5cGUgPSBkaWFsb2dUeXBlO1xuICAgICAgICB0aGlzLmVyck1zZyAgICAgPSBlcnJNc2c7XG4gICAgICAgIHRoaXMucGFnZVVybCAgICA9IHVybDtcbiAgICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2hhcmVkL2Vycm9ycy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsZ0VBQWdFO0FBQ2hFLGdFQUFnRTtBQUNoRSwrQ0FBK0M7QUFDL0MsZ0VBQWdFO0FBQ2hFLDhDQUFxRDtBQUVyRCxPQUFPO0FBQ1Asc0VBQXNFO0FBQ3RFLE1BQWEsZ0JBQWdCO0lBQ3pCLFlBQWEsSUFBSSxFQUFFLFFBQVE7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBYyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBVSxRQUFRLElBQUksSUFBSSxDQUFDO0lBQzVDLENBQUM7Q0FDSjtBQU5ELDRDQU1DO0FBRUQsTUFBTSxxQkFBc0IsU0FBUSxnQkFBZ0I7SUFDaEQsWUFBYSxJQUFJLEVBQUUsVUFBVSxFQUFFLFdBQVc7UUFDdEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRVosSUFBSSxDQUFDLFVBQVUsR0FBSSxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDbkMsQ0FBQztDQUNKO0FBR0QseUJBQXlCO0FBQ3pCLHNFQUFzRTtBQUN0RSxNQUFhLHdDQUF5QyxTQUFRLGdCQUFnQjtJQUMxRSxZQUFhLHlCQUF5QixFQUFFLFFBQVE7UUFDNUMsS0FBSyxDQUFDLHVCQUFlLENBQUMsd0NBQXdDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFMUUsSUFBSSxDQUFDLHlCQUF5QixHQUFHLHlCQUF5QixDQUFDO0lBQy9ELENBQUM7Q0FDSjtBQU5ELDRGQU1DO0FBRUQsTUFBYSxnQ0FBaUMsU0FBUSxnQkFBZ0I7SUFDbEUsWUFBYSx5QkFBeUIsRUFBRSxRQUFRO1FBQzVDLEtBQUssQ0FBQyx1QkFBZSxDQUFDLGdDQUFnQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FB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SkQsc0VBSUM7QUFHRCx1QkFBdUI7QUFDdkIsc0VBQXNFO0FBQ3RFLE1BQWEsMkJBQTRCLFNBQVEsZ0JBQWdCO0lBQzdELFlBQWEsVUFBVSxFQUFFLEdBQUc7UUFDeEIsS0FBSyxDQUFDLHVCQUFlLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFNLEdBQUcsQ0FBQztJQUMxQixDQUFDO0NBQ0o7QUFQRCxrRUFPQztBQUVELE1BQWEsa0NBQW1DLFNBQVEsZ0JBQWdCO0lBQ3BFLFlBQWEsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHO1FBQ2hDLEtBQUssQ0FBQyx1QkFBZSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFFMUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBTyxNQUFNLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBTSxHQUFHLENBQUM7SUFDMUIsQ0FBQztDQUNKO0FBUkQsZ0ZBUUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBXQVJOSU5HOiB0aGlzIGZpbGUgaXMgdXNlZCBieSBib3RoIHRoZSBjbGllbnQgYW5kIHRoZSBzZXJ2ZXIuXG4vLyBEbyBub3QgdXNlIGFueSBicm93c2VyIG9yIG5vZGUtc3BlY2lmaWMgQVBJIVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuaW1wb3J0IHsgVEVTVF9SVU5fRVJST1JTIH0gZnJvbSAnLi4vLi4vZXJyb3JzL3R5cGVzJztcblxuLy8gQmFzZVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGNsYXNzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChjb2RlLCBjYWxsc2l0ZSkge1xuICAgICAgICB0aGlzLmNvZGUgICAgICAgICAgICA9IGNvZGU7XG4gICAgICAgIHRoaXMuaXNUZXN0Q2FmZUVycm9yID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jYWxsc2l0ZSAgICAgICAgPSBjYWxsc2l0ZSB8fCBudWxsO1xuICAgIH1cbn1cblxuY2xhc3MgQWN0aW9uT3B0aW9uRXJyb3JCYXNlIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGNvZGUsIG9wdGlvbk5hbWUsIGFjdHVhbFZhbHVlKSB7XG4gICAgICAgIHN1cGVyKGNvZGUpO1xuXG4gICAgICAgIHRoaXMub3B0aW9uTmFtZSAgPSBvcHRpb25OYW1lO1xuICAgICAgICB0aGlzLmFjdHVhbFZhbHVlID0gYWN0dWFsVmFsdWU7XG4gICAgfVxufVxuXG5cbi8vIENsaWVudCBmdW5jdGlvbiBlcnJvcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBjbGFzcyBDbGllbnRGdW5jdGlvbkV4ZWN1dGlvbkludGVycnVwdGlvbkVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGluc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWUsIGNhbGxzaXRlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5jbGllbnRGdW5jdGlvbkV4ZWN1dGlvbkludGVycnVwdGlvbkVycm9yLCBjYWxsc2l0ZSk7XG5cbiAgICAgICAgdGhpcy5pbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lID0gaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEb21Ob2RlQ2xpZW50RnVuY3Rpb25SZXN1bHRFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lLCBjYWxsc2l0ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuZG9tTm9kZUNsaWVudEZ1bmN0aW9uUmVzdWx0RXJyb3IsIGNhbGxzaXRlKTtcblxuICAgICAgICB0aGlzLmluc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWUgPSBpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lO1xuICAgIH1cbn1cblxuLy8gU2VsZWN0b3IgZXJyb3JzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5leHBvcnQgY2xhc3MgU2VsZWN0b3JFcnJvckJhc2UgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoY29kZSwgeyBhcGlGbkNoYWluLCBhcGlGbkluZGV4IH0sIGNhbGxzaXRlKSB7XG4gICAgICAgIHN1cGVyKGNvZGUsIGNhbGxzaXRlKTtcblxuICAgICAgICB0aGlzLmFwaUZuQ2hhaW4gPSBhcGlGbkNoYWluO1xuICAgICAgICB0aGlzLmFwaUZuSW5kZXggPSBhcGlGbkluZGV4O1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEludmFsaWRTZWxlY3RvclJlc3VsdEVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGNhbGxzaXRlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5pbnZhbGlkU2VsZWN0b3JSZXN1bHRFcnJvciwgY2FsbHNpdGUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENhbm5vdE9idGFpbkluZm9Gb3JFbGVtZW50U3BlY2lmaWVkQnlTZWxlY3RvckVycm9yIGV4dGVuZHMgU2VsZWN0b3JFcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChjYWxsc2l0ZSwgYXBpRm5BcmdzKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5jYW5ub3RPYnRhaW5JbmZvRm9yRWxlbWVudFNwZWNpZmllZEJ5U2VsZWN0b3JFcnJvciwgYXBpRm5BcmdzLCBjYWxsc2l0ZSk7XG4gICAgfVxufVxuXG5cbi8vIFVuY2F1Z2h0IGVycm9yc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGNsYXNzIFVuY2F1Z2h0RXJyb3JPblBhZ2UgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoZXJyU3RhY2ssIHBhZ2VEZXN0VXJsKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy51bmNhdWdodEVycm9yT25QYWdlKTtcblxuICAgICAgICB0aGlzLmVyclN0YWNrICAgID0gZXJyU3RhY2s7XG4gICAgICAgIHRoaXMucGFnZURlc3RVcmwgPSBwYWdlRGVzdFVybDtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVbmNhdWdodEVycm9ySW5DbGllbnRGdW5jdGlvbkNvZGUgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZSwgZXJyLCBjYWxsc2l0ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMudW5jYXVnaHRFcnJvckluQ2xpZW50RnVuY3Rpb25Db2RlLCBjYWxsc2l0ZSk7XG5cbiAgICAgICAgdGhpcy5lcnJNc2cgICAgICAgICAgICAgICAgICAgID0gU3RyaW5nKGVycik7XG4gICAgICAgIHRoaXMuaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZSA9IGluc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVW5jYXVnaHRFcnJvckluQ3VzdG9tRE9NUHJvcGVydHlDb2RlIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGluc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWUsIGVyciwgcHJvcCwgY2FsbHNpdGUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLnVuY2F1Z2h0RXJyb3JJbkN1c3RvbURPTVByb3BlcnR5Q29kZSwgY2FsbHNpdGUpO1xuXG4gICAgICAgIHRoaXMuZXJyTXNnICAgICAgICAgICAgICAgICAgICA9IFN0cmluZyhlcnIpO1xuICAgICAgICB0aGlzLnByb3BlcnR5ICAgICAgICAgICAgICAgICAgPSBwcm9wO1xuICAgICAgICB0aGlzLmluc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWUgPSBpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFVuY2F1Z2h0RXJyb3JJbkN1c3RvbUNsaWVudFNjcmlwdENvZGUgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoZXJyKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy51bmNhdWdodEVycm9ySW5DdXN0b21DbGllbnRTY3JpcHRDb2RlKTtcblxuICAgICAgICB0aGlzLmVyck1zZyA9IFN0cmluZyhlcnIpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFVuY2F1Z2h0RXJyb3JJbkN1c3RvbUNsaWVudFNjcmlwdExvYWRlZEZyb21Nb2R1bGUgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoZXJyLCBtb2R1bGVOYW1lKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy51bmNhdWdodEVycm9ySW5DdXN0b21DbGllbnRTY3JpcHRDb2RlTG9hZGVkRnJvbU1vZHVsZSk7XG5cbiAgICAgICAgdGhpcy5lcnJNc2cgICAgID0gU3RyaW5nKGVycik7XG4gICAgICAgIHRoaXMubW9kdWxlTmFtZSA9IG1vZHVsZU5hbWU7XG4gICAgfVxufVxuXG5cbi8vIEFjdGlvbiBwYXJhbWV0ZXJzIGVycm9yc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gT3B0aW9ucyBlcnJvcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBjbGFzcyBBY3Rpb25JbnRlZ2VyT3B0aW9uRXJyb3IgZXh0ZW5kcyBBY3Rpb25PcHRpb25FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChvcHRpb25OYW1lLCBhY3R1YWxWYWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uSW50ZWdlck9wdGlvbkVycm9yLCBvcHRpb25OYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uUG9zaXRpdmVJbnRlZ2VyT3B0aW9uRXJyb3IgZXh0ZW5kcyBBY3Rpb25PcHRpb25FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChvcHRpb25OYW1lLCBhY3R1YWxWYWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uUG9zaXRpdmVJbnRlZ2VyT3B0aW9uRXJyb3IsIG9wdGlvbk5hbWUsIGFjdHVhbFZhbHVlKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25Cb29sZWFuT3B0aW9uRXJyb3IgZXh0ZW5kcyBBY3Rpb25PcHRpb25FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChvcHRpb25OYW1lLCBhY3R1YWxWYWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uQm9vbGVhbk9wdGlvbkVycm9yLCBvcHRpb25OYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uU3BlZWRPcHRpb25FcnJvciBleHRlbmRzIEFjdGlvbk9wdGlvbkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKG9wdGlvbk5hbWUsIGFjdHVhbFZhbHVlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25TcGVlZE9wdGlvbkVycm9yLCBvcHRpb25OYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uU3RyaW5nT3B0aW9uRXJyb3IgZXh0ZW5kcyBBY3Rpb25PcHRpb25FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChvcHRpb25OYW1lLCBhY3R1YWxWYWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uU3RyaW5nT3B0aW9uRXJyb3IsIG9wdGlvbk5hbWUsIGFjdHVhbFZhbHVlKTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgQWN0aW9uU3RyaW5nT3JSZWdleE9wdGlvbkVycm9yIGV4dGVuZHMgQWN0aW9uT3B0aW9uRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAob3B0aW9uTmFtZSwgYWN0dWFsVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblN0cmluZ09yUmVnZXhPcHRpb25FcnJvciwgb3B0aW9uTmFtZSwgYWN0dWFsVmFsdWUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbkRhdGVPcHRpb25FcnJvciBleHRlbmRzIEFjdGlvbk9wdGlvbkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKG9wdGlvbk5hbWUsIGFjdHVhbFZhbHVlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25EYXRlT3B0aW9uRXJyb3IsIG9wdGlvbk5hbWUsIGFjdHVhbFZhbHVlKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25OdW1iZXJPcHRpb25FcnJvciBleHRlbmRzIEFjdGlvbk9wdGlvbkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKG9wdGlvbk5hbWUsIGFjdHVhbFZhbHVlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25OdW1iZXJPcHRpb25FcnJvciwgb3B0aW9uTmFtZSwgYWN0dWFsVmFsdWUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvblVybE9wdGlvbkVycm9yIGV4dGVuZHMgQWN0aW9uT3B0aW9uRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAob3B0aW9uTmFtZSwgYWN0dWFsVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblVybE9wdGlvbkVycm9yLCBvcHRpb25OYW1lLCBhY3R1YWxWYWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uVXJsU2VhcmNoUGFyYW1zT3B0aW9uRXJyb3IgZXh0ZW5kcyBBY3Rpb25PcHRpb25FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChvcHRpb25OYW1lLCBhY3R1YWxWYWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uVXJsU2VhcmNoUGFyYW1zT3B0aW9uRXJyb3IsIG9wdGlvbk5hbWUsIGFjdHVhbFZhbHVlKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25PYmplY3RPcHRpb25FcnJvciBleHRlbmRzIEFjdGlvbk9wdGlvbkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKG9wdGlvbk5hbWUsIGFjdHVhbFZhbHVlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25PYmplY3RPcHRpb25FcnJvciwgb3B0aW9uTmFtZSwgYWN0dWFsVmFsdWUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbkZ1bmN0aW9uT3B0aW9uRXJyb3IgZXh0ZW5kcyBBY3Rpb25PcHRpb25FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChvcHRpb25OYW1lLCBhY3R1YWxWYWx1ZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uRnVuY3Rpb25PcHRpb25FcnJvciwgb3B0aW9uTmFtZSwgYWN0dWFsVmFsdWUpO1xuICAgIH1cbn1cblxuLy8gQWN0aW9uIGV4ZWN1dGlvbiBlcnJvcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBjbGFzcyBBY3Rpb25FbGVtZW50Tm90Rm91bmRFcnJvciBleHRlbmRzIFNlbGVjdG9yRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoY2FsbHNpdGUsIGFwaUZuQXJncykge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uRWxlbWVudE5vdEZvdW5kRXJyb3IsIGFwaUZuQXJncywgY2FsbHNpdGUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbkVsZW1lbnRJc0ludmlzaWJsZUVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGNhbGxzaXRlKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25FbGVtZW50SXNJbnZpc2libGVFcnJvciwgY2FsbHNpdGUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvblNlbGVjdG9yTWF0Y2hlc1dyb25nTm9kZVR5cGVFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChub2RlRGVzY3JpcHRpb24pIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvblNlbGVjdG9yTWF0Y2hlc1dyb25nTm9kZVR5cGVFcnJvcik7XG5cbiAgICAgICAgdGhpcy5ub2RlRGVzY3JpcHRpb24gPSBub2RlRGVzY3JpcHRpb247XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uQWRkaXRpb25hbEVsZW1lbnROb3RGb3VuZEVycm9yIGV4dGVuZHMgU2VsZWN0b3JFcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChhcmd1bWVudE5hbWUsIGFwaUZuQXJncykge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uQWRkaXRpb25hbEVsZW1lbnROb3RGb3VuZEVycm9yLCBhcGlGbkFyZ3MpO1xuXG4gICAgICAgIHRoaXMuYXJndW1lbnROYW1lID0gYXJndW1lbnROYW1lO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbkFkZGl0aW9uYWxFbGVtZW50SXNJbnZpc2libGVFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChhcmd1bWVudE5hbWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvbkFkZGl0aW9uYWxFbGVtZW50SXNJbnZpc2libGVFcnJvcik7XG5cbiAgICAgICAgdGhpcy5hcmd1bWVudE5hbWUgPSBhcmd1bWVudE5hbWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uQWRkaXRpb25hbFNlbGVjdG9yTWF0Y2hlc1dyb25nTm9kZVR5cGVFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChhcmd1bWVudE5hbWUsIG5vZGVEZXNjcmlwdGlvbikge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uQWRkaXRpb25hbFNlbGVjdG9yTWF0Y2hlc1dyb25nTm9kZVR5cGVFcnJvcik7XG5cbiAgICAgICAgdGhpcy5hcmd1bWVudE5hbWUgICAgPSBhcmd1bWVudE5hbWU7XG4gICAgICAgIHRoaXMubm9kZURlc2NyaXB0aW9uID0gbm9kZURlc2NyaXB0aW9uO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbkVsZW1lbnROb25FZGl0YWJsZUVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKCkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uRWxlbWVudE5vbkVkaXRhYmxlRXJyb3IpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbkVsZW1lbnROb3RUZXh0QXJlYUVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKCkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uRWxlbWVudE5vdFRleHRBcmVhRXJyb3IpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbkVsZW1lbnROb25Db250ZW50RWRpdGFibGVFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChhcmd1bWVudE5hbWUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvbkVsZW1lbnROb25Db250ZW50RWRpdGFibGVFcnJvcik7XG5cbiAgICAgICAgdGhpcy5hcmd1bWVudE5hbWUgPSBhcmd1bWVudE5hbWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uUm9vdENvbnRhaW5lck5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25Sb290Q29udGFpbmVyTm90Rm91bmRFcnJvcik7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uSW5jb3JyZWN0S2V5c0Vycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGFyZ3VtZW50TmFtZSkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuYWN0aW9uSW5jb3JyZWN0S2V5c0Vycm9yKTtcblxuICAgICAgICB0aGlzLmFyZ3VtZW50TmFtZSA9IGFyZ3VtZW50TmFtZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25DYW5ub3RGaW5kRmlsZVRvVXBsb2FkRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoZmlsZVBhdGhzLCBzY2FubmVkRmlsZVBhdGhzKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25DYW5ub3RGaW5kRmlsZVRvVXBsb2FkRXJyb3IpO1xuXG4gICAgICAgIHRoaXMuZmlsZVBhdGhzICAgICAgICA9IGZpbGVQYXRocztcbiAgICAgICAgdGhpcy5zY2FubmVkRmlsZVBhdGhzID0gc2Nhbm5lZEZpbGVQYXRocztcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25FbGVtZW50SXNOb3RGaWxlSW5wdXRFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvbkVsZW1lbnRJc05vdEZpbGVJbnB1dEVycm9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25JbnZhbGlkU2Nyb2xsVGFyZ2V0RXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoc2Nyb2xsVGFyZ2V0WFZhbGlkLCBzY3JvbGxUYXJnZXRZVmFsaWQpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvbkludmFsaWRTY3JvbGxUYXJnZXRFcnJvcik7XG5cbiAgICAgICAgaWYgKCFzY3JvbGxUYXJnZXRYVmFsaWQpIHtcbiAgICAgICAgICAgIGlmICghc2Nyb2xsVGFyZ2V0WVZhbGlkKVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcGVydGllcyA9ICdzY3JvbGxUYXJnZXRYIGFuZCBzY3JvbGxUYXJnZXRZIHByb3BlcnRpZXMnO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcGVydGllcyA9ICdzY3JvbGxUYXJnZXRYIHByb3BlcnR5JztcbiAgICAgICAgfVxuICAgICAgICBlbHNlXG4gICAgICAgICAgICB0aGlzLnByb3BlcnRpZXMgPSAnc2Nyb2xsVGFyZ2V0WSBwcm9wZXJ0eSc7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW52YWxpZEVsZW1lbnRTY3JlZW5zaG90RGltZW5zaW9uc0Vycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKHdpZHRoLCBoZWlnaHQpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmludmFsaWRFbGVtZW50U2NyZWVuc2hvdERpbWVuc2lvbnNFcnJvcik7XG5cbiAgICAgICAgY29uc3Qgd2lkdGhJc0ludmFsaWQgID0gd2lkdGggPD0gMDtcbiAgICAgICAgY29uc3QgaGVpZ2h0SXNJbnZhbGlkID0gaGVpZ2h0IDw9IDA7XG5cbiAgICAgICAgaWYgKHdpZHRoSXNJbnZhbGlkKSB7XG4gICAgICAgICAgICBpZiAoaGVpZ2h0SXNJbnZhbGlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52ZXJiICAgICAgID0gJ2FyZSc7XG4gICAgICAgICAgICAgICAgdGhpcy5kaW1lbnNpb25zID0gJ3dpZHRoIGFuZCBoZWlnaHQnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy52ZXJiICAgICAgID0gJ2lzJztcbiAgICAgICAgICAgICAgICB0aGlzLmRpbWVuc2lvbnMgPSAnd2lkdGgnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52ZXJiICAgICAgID0gJ2lzJztcbiAgICAgICAgICAgIHRoaXMuZGltZW5zaW9ucyA9ICdoZWlnaHQnO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIElmcmFtZSBlcnJvcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBjbGFzcyBBY3Rpb25FbGVtZW50Tm90SWZyYW1lRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoY2FsbHNpdGUpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmFjdGlvbkVsZW1lbnROb3RJZnJhbWVFcnJvciwgY2FsbHNpdGUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvbklmcmFtZUlzTm90TG9hZGVkRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25JZnJhbWVJc05vdExvYWRlZEVycm9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDdXJyZW50SWZyYW1lSXNOb3RMb2FkZWRFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmN1cnJlbnRJZnJhbWVJc05vdExvYWRlZEVycm9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDaGlsZFdpbmRvd05vdEZvdW5kRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5jaGlsZFdpbmRvd05vdEZvdW5kRXJyb3IpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENoaWxkV2luZG93SXNOb3RMb2FkZWRFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmNoaWxkV2luZG93SXNOb3RMb2FkZWRFcnJvcik7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ2Fubm90U3dpdGNoVG9XaW5kb3dFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmNhbm5vdFN3aXRjaFRvV2luZG93RXJyb3IpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENsb3NlQ2hpbGRXaW5kb3dFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmNsb3NlQ2hpbGRXaW5kb3dFcnJvcik7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ2Fubm90Q2xvc2VXaW5kb3dXaXRoQ2hpbGRyZW5FcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmNhbm5vdENsb3NlV2luZG93V2l0aENoaWxkcmVuRXJyb3IpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENhbm5vdENsb3NlV2luZG93V2l0aG91dFBhcmVudEVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKCkge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuY2Fubm90Q2xvc2VXaW5kb3dXaXRob3V0UGFyZW50KTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTd2l0Y2hUb1dpbmRvd1ByZWRpY2F0ZUVycm9yIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGVyck1zZykge1xuICAgICAgICBzdXBlcihURVNUX1JVTl9FUlJPUlMuc3dpdGNoVG9XaW5kb3dQcmVkaWNhdGVFcnJvcik7XG5cbiAgICAgICAgdGhpcy5lcnJNc2cgPSBlcnJNc2c7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgV2luZG93Tm90Rm91bmRFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLnRhcmdldFdpbmRvd05vdEZvdW5kRXJyb3IpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFBhcmVudFdpbmRvd05vdEZvdW5kRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5wYXJlbnRXaW5kb3dOb3RGb3VuZEVycm9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQcmV2aW91c1dpbmRvd05vdEZvdW5kRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5wcmV2aW91c1dpbmRvd05vdEZvdW5kRXJyb3IpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENoaWxkV2luZG93Q2xvc2VkQmVmb3JlU3dpdGNoaW5nRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5jaGlsZFdpbmRvd0Nsb3NlZEJlZm9yZVN3aXRjaGluZ0Vycm9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDYW5ub3RSZXN0b3JlQ2hpbGRXaW5kb3dFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmNhbm5vdFJlc3RvcmVDaGlsZFdpbmRvd0Vycm9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDdXJyZW50SWZyYW1lTm90Rm91bmRFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmN1cnJlbnRJZnJhbWVOb3RGb3VuZEVycm9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDdXJyZW50SWZyYW1lSXNJbnZpc2libGVFcnJvciBleHRlbmRzIFRlc3RSdW5FcnJvckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoVEVTVF9SVU5fRVJST1JTLmN1cnJlbnRJZnJhbWVJc0ludmlzaWJsZUVycm9yKTtcbiAgICB9XG59XG5cblxuLy8gTmF0aXZlIGRpYWxvZyBlcnJvcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBjbGFzcyBOYXRpdmVEaWFsb2dOb3RIYW5kbGVkRXJyb3IgZXh0ZW5kcyBUZXN0UnVuRXJyb3JCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoZGlhbG9nVHlwZSwgdXJsKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy5uYXRpdmVEaWFsb2dOb3RIYW5kbGVkRXJyb3IpO1xuXG4gICAgICAgIHRoaXMuZGlhbG9nVHlwZSA9IGRpYWxvZ1R5cGU7XG4gICAgICAgIHRoaXMucGFnZVVybCAgICA9IHVybDtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVbmNhdWdodEVycm9ySW5OYXRpdmVEaWFsb2dIYW5kbGVyIGV4dGVuZHMgVGVzdFJ1bkVycm9yQmFzZSB7XG4gICAgY29uc3RydWN0b3IgKGRpYWxvZ1R5cGUsIGVyck1zZywgdXJsKSB7XG4gICAgICAgIHN1cGVyKFRFU1RfUlVOX0VSUk9SUy51bmNhdWdodEVycm9ySW5OYXRpdmVEaWFsb2dIYW5kbGVyKTtcblxuICAgICAgICB0aGlzLmRpYWxvZ1R5cGUgPSBkaWFsb2dUeXBlO1xuICAgICAgICB0aGlzLmVyck1zZyAgICAgPSBlcnJNc2c7XG4gICAgICAgIHRoaXMucGFnZVVybCAgICA9IHVybDtcbiAgICB9XG59XG4iXX0= |
@@ -10,3 +10,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.SkipJsErrorsOptions = exports.GetProxyUrlOptions = exports.RequestOptions = exports.RequestProxyOptions = exports.RequestAuthOptions = exports.CookieOptions = exports.PressOptions = exports.AssertionOptions = exports.ResizeToFitDeviceOptions = exports.DragToElementOptions = exports.TypeOptions = exports.MoveOptions = exports.ClickOptions = exports.MouseOptions = exports.ElementScreenshotOptions = exports.ScrollOptions = exports.OffsetOptions = exports.ActionOptions = exports.objectOption = exports.urlSearchParamsOption = exports.urlOption = exports.numberOption = exports.dateOption = exports.stringOrRegexOption = exports.stringOption = exports.speedOption = exports.booleanOption = exports.positiveIntegerOption = exports.integerOption = void 0; | ||
exports.SkipJsErrorsCallbackWithOptions = exports.SkipJsErrorsOptions = exports.GetProxyUrlOptions = exports.RequestOptions = exports.RequestProxyOptions = exports.RequestAuthOptions = exports.CookieOptions = exports.PressOptions = exports.AssertionOptions = exports.ResizeToFitDeviceOptions = exports.DragToElementOptions = exports.TypeOptions = exports.MoveOptions = exports.ClickOptions = exports.MouseOptions = exports.ElementScreenshotOptions = exports.ScrollOptions = exports.OffsetOptions = exports.ActionOptions = exports.functionOption = exports.objectOption = exports.urlSearchParamsOption = exports.urlOption = exports.numberOption = exports.dateOption = exports.stringOrRegexOption = exports.stringOption = exports.speedOption = exports.booleanOption = exports.positiveIntegerOption = exports.integerOption = void 0; | ||
const assignable_1 = __importDefault(require("../../utils/assignable")); | ||
@@ -26,2 +26,3 @@ const factories_1 = require("./validations/factories"); | ||
exports.objectOption = (0, factories_1.createObjectValidator)(errors_1.ActionObjectOptionError); | ||
exports.functionOption = (0, factories_1.createFunctionValidator)(errors_1.ActionFunctionOptionError); | ||
// Actions | ||
@@ -336,2 +337,15 @@ class ActionOptions extends assignable_1.default { | ||
exports.SkipJsErrorsOptions = SkipJsErrorsOptions; | ||
class SkipJsErrorsCallbackWithOptions extends assignable_1.default { | ||
constructor(obj, validate) { | ||
super(); | ||
this._assignFrom(obj, validate); | ||
} | ||
_getAssignableProperties() { | ||
return [ | ||
{ name: 'fn', type: exports.functionOption, required: true }, | ||
{ name: 'dependencies', type: exports.objectOption, required: false }, | ||
]; | ||
} | ||
} | ||
exports.SkipJsErrorsCallbackWithOptions = SkipJsErrorsCallbackWithOptions; | ||
// Initializers | ||
@@ -344,2 +358,2 @@ function initRequestAuthOption(name, val, initOptions, validate = true) { | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0LXJ1bi9jb21tYW5kcy9vcHRpb25zLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxnRUFBZ0U7QUFDaEUsZ0VBQWdFO0FBQ2hFLCtDQUErQztBQUMvQyxnRUFBZ0U7Ozs7OztBQUVoRSx3RUFBZ0Q7QUFDaEQsdURBWWlDO0FBQ2pDLGdEQVk2QjtBQUVoQixRQUFBLGFBQWEsR0FBVyxJQUFBLGtDQUFzQixFQUFDLGlDQUF3QixDQUFDLENBQUM7QUFDekUsUUFBQSxxQkFBcUIsR0FBRyxJQUFBLDBDQUE4QixFQUFDLHlDQUFnQyxDQUFDLENBQUM7QUFDekYsUUFBQSxhQUFhLEdBQVcsSUFBQSxrQ0FBc0IsRUFBQyxpQ0FBd0IsQ0FBQyxDQUFDO0FBQ3pFLFFBQUEsV0FBVyxHQUFhLElBQUEsZ0NBQW9CLEVBQUMsK0JBQXNCLENBQUMsQ0FBQztBQUNyRSxRQUFBLFlBQVksR0FBWSxJQUFBLGlDQUFxQixFQUFDLGdDQUF1QixDQUFDLENBQUM7QUFDdkUsUUFBQSxtQkFBbUIsR0FBSyxJQUFBLHdDQUE0QixFQUFDLHVDQUE4QixDQUFDLENBQUM7QUFDckYsUUFBQSxVQUFVLEdBQWMsSUFBQSwrQkFBbUIsRUFBQyw4QkFBcUIsQ0FBQyxDQUFDO0FBQ25FLFFBQUEsWUFBWSxHQUFZLElBQUEsaUNBQXFCLEVBQUMsZ0NBQXVCLENBQUMsQ0FBQztBQUN2RSxRQUFBLFNBQVMsR0FBZSxJQUFBLDhCQUFrQixFQUFDLDZCQUFvQixDQUFDLENBQUM7QUFDakUsUUFBQSxxQkFBcUIsR0FBRyxJQUFBLDBDQUE4QixFQUFDLHlDQUFnQyxDQUFDLENBQUM7QUFDekYsUUFBQSxZQUFZLEdBQVksSUFBQSxpQ0FBcUIsRUFBQyxnQ0FBdUIsQ0FBQyxDQUFDO0FBR3BGLFVBQVU7QUFDVixNQUFhLGFBQWMsU0FBUSxvQkFBVTtJQUN6QyxZQUFhLEdBQUcsRUFBRSxRQUFRO1FB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QVEsb0JBQVU7SUFDL0MsWUFBYSxHQUFHLEVBQUUsUUFBUTtRQUN0QixLQUFLLEVBQUUsQ0FBQztRQUVSLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCx3QkFBd0I7UUFDcEIsT0FBTztZQUNILEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsMkJBQW1CLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtZQUM3RCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLDJCQUFtQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7WUFDL0QsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSwyQkFBbUIsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1NBQ2xFLENBQUM7SUFDTixDQUFDO0NBQ0o7QUFkRCxrREFjQztBQUVELGVBQWU7QUFDZixTQUFTLHFCQUFxQixDQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFFBQVEsR0FBRyxJQUFJO0lBQ25FLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDakQsQ0FBQztBQUVELFNBQVMsdUJBQXVCLENBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsUUFBUSxHQUFHLElBQUk7SUFDckUsT0FBTyxJQUFJLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gV0FSTklORzogdGhpcyBmaWxlIGlzIHVzZWQgYnkgYm90aCB0aGUgY2xpZW50IGFuZCB0aGUgc2VydmVyLlxuLy8gRG8gbm90IHVzZSBhbnkgYnJvd3NlciBvciBub2RlLXNwZWNpZmljIEFQSSFcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaW1wb3J0IEFzc2lnbmFibGUgZnJvbSAnLi4vLi4vdXRpbHMvYXNzaWduYWJsZSc7XG5pbXBvcnQge1xuICAgIGNyZWF0ZUJvb2xlYW5WYWxpZGF0b3IsXG4gICAgY3JlYXRlSW50ZWdlclZhbGlkYXRvcixcbiAgICBjcmVhdGVQb3NpdGl2ZUludGVnZXJWYWxpZGF0b3IsXG4gICAgY3JlYXRlU3BlZWRWYWxpZGF0b3IsXG4gICAgY3JlYXRlU3RyaW5nVmFsaWRhdG9yLFxuICAgIGNyZWF0ZURhdGVWYWxpZGF0b3IsXG4gICAgY3JlYXRlTnVtYmVyVmFsaWRhdG9yLFxuICAgIGNyZWF0ZVVybFZhbGlkYXRvcixcbiAgICBjcmVhdGVVcmxTZWFyY2hQYXJhbXNWYWxpZGF0b3IsXG4gICAgY3JlYXRlT2JqZWN0VmFsaWRhdG9yLFxuICAgIGNyZWF0ZVN0cmluZ09yUmVnZXhWYWxpZGF0b3IsXG59IGZyb20gJy4vdmFsaWRhdGlvbnMvZmFjdG9yaWVzJztcbmltcG9ydCB7XG4gICAgQWN0aW9uSW50ZWdlck9wdGlvbkVycm9yLFxuICAgIEFjdGlvblBvc2l0aXZlSW50ZWdlck9wdGlvbkVycm9yLFxuICAgIEFjdGlvbkJvb2xlYW5PcHRpb25FcnJvcixcbiAgICBBY3Rpb25TcGVlZE9wdGlvbkVycm9yLFxuICAgIEFjdGlvblN0cmluZ09wdGlvbkVycm9yLFxuICAgIEFjdGlvbkRhdGVPcHRpb25FcnJvcixcbiAgICBBY3Rpb25OdW1iZXJPcHRpb25FcnJvcixcbiAgICBBY3Rpb25VcmxPcHRpb25FcnJvcixcbiAgICBBY3Rpb25VcmxTZWFyY2hQYXJhbXNPcHRpb25FcnJvcixcbiAgICBBY3Rpb25PYmplY3RPcHRpb25FcnJvcixcbiAgICBBY3Rpb25TdHJpbmdPclJlZ2V4T3B0aW9uRXJyb3IsXG59IGZyb20gJy4uLy4uL3NoYXJlZC9lcnJvcnMnO1xuXG5leHBvcnQgY29uc3QgaW50ZWdlck9wdGlvbiAgICAgICAgID0gY3JlYXRlSW50ZWdlclZhbGlkYXRvcihBY3Rpb25JbnRlZ2VyT3B0aW9uRXJyb3IpO1xuZXhwb3J0IGNvbnN0IHBvc2l0aXZlSW50ZWdlck9wdGlvbiA9IGNyZWF0ZVBvc2l0aXZlSW50ZWdlclZhbGlkYXRvcihBY3Rpb25Qb3NpdGl2ZUludGVnZXJPcHRpb25FcnJvcik7XG5leHBvcnQgY29uc3QgYm9vbGVhbk9wdGlvbiAgICAgICAgID0gY3JlYXRlQm9vbGVhblZhbGlkYXRvcihBY3Rpb25Cb29sZWFuT3B0aW9uRXJyb3IpO1xuZXhwb3J0IGNvbnN0IHNwZWVkT3B0aW9uICAgICAgICAgICA9IGNyZWF0ZVNwZWVkVmFsaWRhdG9yKEFjdGlvblNwZWVkT3B0aW9uRXJyb3IpO1xuZXhwb3J0IGNvbnN0IHN0cmluZ09wdGlvbiAgICAgICAgICA9IGNyZWF0ZVN0cmluZ1ZhbGlkYXRvcihBY3Rpb25TdHJpbmdPcHRpb25FcnJvcik7XG5leHBvcnQgY29uc3Qgc3RyaW5nT3JSZWdleE9wdGlvbiAgID0gY3JlYXRlU3RyaW5nT3JSZWdleFZhbGlkYXRvcihBY3Rpb25TdHJpbmdPclJlZ2V4T3B0aW9uRXJyb3IpO1xuZXhwb3J0IGNvbnN0IGRhdGVPcHRpb24gICAgICAgICAgICA9IGNyZWF0ZURhdGVWYWxpZGF0b3IoQWN0aW9uRGF0ZU9wdGlvbkVycm9yKTtcbmV4cG9ydCBjb25zdCBudW1iZXJPcHRpb24gICAgICAgICAgPSBjcmVhdGVOdW1iZXJWYWxpZGF0b3IoQWN0aW9uTnVtYmVyT3B0aW9uRXJyb3IpO1xuZXhwb3J0IGNvbnN0IHVybE9wdGlvbiAgICAgICAgICAgICA9IGNyZWF0ZVVybFZhbGlkYXRvcihBY3Rpb25VcmxPcHRpb25FcnJvcik7XG5leHBvcnQgY29uc3QgdXJsU2VhcmNoUGFyYW1zT3B0aW9uID0gY3JlYXRlVXJsU2VhcmNoUGFyYW1zVmFsaWRhdG9yKEFjdGlvblVybFNlYXJjaFBhcmFtc09wdGlvbkVycm9yKTtcbmV4cG9ydCBjb25zdCBvYmplY3RPcHRpb24gICAgICAgICAgPSBjcmVhdGVPYmplY3RWYWxpZGF0b3IoQWN0aW9uT2JqZWN0T3B0aW9uRXJyb3IpO1xuXG5cbi8vIEFjdGlvbnNcbmV4cG9ydCBjbGFzcyBBY3Rpb25PcHRpb25zIGV4dGVuZHMgQXNzaWduYWJsZSB7XG4gICAgY29uc3RydWN0b3IgKG9iaiwgdmFsaWRhdGUpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLnNwZWVkID0gbnVsbDtcblxuICAgICAgICB0aGlzLl9hc3NpZ25Gcm9tKG9iaiwgdmFsaWRhdGUpO1xuICAgIH1cblxuICAgIF9nZXRBc3NpZ25hYmxlUHJvcGVydGllcyAoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IG5hbWU6ICdzcGVlZCcsIHR5cGU6IHNwZWVkT3B0aW9uIH0sXG4gICAgICAgIF07XG4gICAgfVxufVxuXG4vLyBPZmZzZXRcbmV4cG9ydCBjbGFzcyBPZmZzZXRPcHRpb25zIGV4dGVuZHMgQWN0aW9uT3B0aW9ucyB7XG4gICAgY29uc3RydWN0b3IgKG9iaiwgdmFsaWRhdGUpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLm9mZnNldFggPSBudWxsO1xuICAgICAgICB0aGlzLm9mZnNldFkgPSBudWxsO1xuXG4gICAgICAgIHRoaXMuX2Fzc2lnbkZyb20ob2JqLCB2YWxpZGF0ZSk7XG4gICAgfVxuXG4gICAgX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzICgpIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLl9nZXRBc3NpZ25hYmxlUHJvcGVydGllcygpLmNvbmNhdChbXG4gICAgICAgICAgICB7IG5hbWU6ICdvZmZzZXRYJywgdHlwZTogaW50ZWdlck9wdGlvbiB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnb2Zmc2V0WScsIHR5cGU6IGludGVnZXJPcHRpb24gfSxcbiAgICAgICAgXSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2Nyb2xsT3B0aW9ucyBleHRlbmRzIE9mZnNldE9wdGlvbnMge1xuICAgIGNvbnN0cnVjdG9yIChvYmosIHZhbGlkYXRlKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5zY3JvbGxUb0NlbnRlciAgID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2tpcFBhcmVudEZyYW1lcyA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuX2Fzc2lnbkZyb20ob2JqLCB2YWxpZGF0ZSk7XG4gICAgfVxuXG4gICAgX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzICgpIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLl9nZXRBc3NpZ25hYmxlUHJvcGVydGllcygpLmNvbmNhdChbXG4gICAgICAgICAgICB7IG5hbWU6ICdzY3JvbGxUb0NlbnRlcicsIHR5cGU6IGJvb2xlYW5PcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3NraXBQYXJlbnRGcmFtZXMnLCB0eXBlOiBib29sZWFuT3B0aW9uIH0sXG4gICAgICAgIF0pO1xuICAgIH1cbn1cblxuLy8gRWxlbWVudCBTY3JlZW5zaG90XG5leHBvcnQgY2xhc3MgRWxlbWVudFNjcmVlbnNob3RPcHRpb25zIGV4dGVuZHMgQWN0aW9uT3B0aW9ucyB7XG4gICAgY29uc3RydWN0b3IgKG9iaiwgdmFsaWRhdGUpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLnNjcm9sbFRhcmdldFggICA9IG51bGw7XG4gICAgICAgIHRoaXMuc2Nyb2xsVGFyZ2V0WSAgID0gbnVsbDtcbiAgICAgICAgdGhpcy5pbmNsdWRlTWFyZ2lucyAgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pbmNsdWRlQm9yZGVycyAgPSB0cnVlO1xuICAgICAgICB0aGlzLmluY2x1ZGVQYWRkaW5ncyA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5jcm9wID0ge1xuICAgICAgICAgICAgbGVmdDogICBudWxsLFxuICAgICAgICAgICAgcmlnaHQ6ICBudWxsLFxuICAgICAgICAgICAgdG9wOiAgICBudWxsLFxuICAgICAgICAgICAgYm90dG9tOiBudWxsLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuX2Fzc2lnbkZyb20ob2JqLCB2YWxpZGF0ZSk7XG4gICAgfVxuXG4gICAgX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzICgpIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLl9nZXRBc3NpZ25hYmxlUHJvcGVydGllcygpLmNvbmNhdChbXG4gICAgICAgICAgICB7IG5hbWU6ICdzY3JvbGxUYXJnZXRYJywgdHlwZTogaW50ZWdlck9wdGlvbiB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnc2Nyb2xsVGFyZ2V0WScsIHR5cGU6IGludGVnZXJPcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2Nyb3AubGVmdCcsIHR5cGU6IGludGVnZXJPcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2Nyb3AucmlnaHQnLCB0eXBlOiBpbnRlZ2VyT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdjcm9wLnRvcCcsIHR5cGU6IGludGVnZXJPcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2Nyb3AuYm90dG9tJywgdHlwZTogaW50ZWdlck9wdGlvbiB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnaW5jbHVkZU1hcmdpbnMnLCB0eXBlOiBib29sZWFuT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdpbmNsdWRlQm9yZGVycycsIHR5cGU6IGJvb2xlYW5PcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2luY2x1ZGVQYWRkaW5ncycsIHR5cGU6IGJvb2xlYW5PcHRpb24gfSxcbiAgICAgICAgXSk7XG4gICAgfVxufVxuXG4vLyBNb3VzZVxuZXhwb3J0IGNsYXNzIE1vdXNlT3B0aW9ucyBleHRlbmRzIE9mZnNldE9wdGlvbnMge1xuICAgIGNvbnN0cnVjdG9yIChvYmosIHZhbGlkYXRlKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5tb2RpZmllcnMgPSB7XG4gICAgICAgICAgICBjdHJsOiAgZmFsc2UsXG4gICAgICAgICAgICBhbHQ6ICAgZmFsc2UsXG4gICAgICAgICAgICBzaGlmdDogZmFsc2UsXG4gICAgICAgICAgICBtZXRhOiAgZmFsc2UsXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5fYXNzaWduRnJvbShvYmosIHZhbGlkYXRlKTtcbiAgICB9XG5cbiAgICBfZ2V0QXNzaWduYWJsZVByb3BlcnRpZXMgKCkge1xuICAgICAgICByZXR1cm4gc3VwZXIuX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzKCkuY29uY2F0KFtcbiAgICAgICAgICAgIHsgbmFtZTogJ21vZGlmaWVycy5jdHJsJywgdHlwZTogYm9vbGVhbk9wdGlvbiB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnbW9kaWZpZXJzLmFsdCcsIHR5cGU6IGJvb2xlYW5PcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ21vZGlmaWVycy5zaGlmdCcsIHR5cGU6IGJvb2xlYW5PcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ21vZGlmaWVycy5tZXRhJywgdHlwZTogYm9vbGVhbk9wdGlvbiB9LFxuICAgICAgICBdKTtcbiAgICB9XG59XG5cblxuLy8gQ2xpY2tcbmV4cG9ydCBjbGFzcyBDbGlja09wdGlvbnMgZXh0ZW5kcyBNb3VzZU9wdGlvbnMge1xuICAgIGNvbnN0cnVjdG9yIChvYmosIHZhbGlkYXRlKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5jYXJldFBvcyA9IG51bGw7XG5cbiAgICAgICAgdGhpcy5fYXNzaWduRnJvbShvYmosIHZhbGlkYXRlKTtcbiAgICB9XG5cbiAgICBfZ2V0QXNzaWduYWJsZVByb3BlcnRpZXMgKCkge1xuICAgICAgICByZXR1cm4gc3VwZXIuX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzKCkuY29uY2F0KFtcbiAgICAgICAgICAgIHsgbmFtZTogJ2NhcmV0UG9zJywgdHlwZTogcG9zaXRpdmVJbnRlZ2VyT3B0aW9uIH0sXG4gICAgICAgIF0pO1xuICAgIH1cbn1cblxuLy8gTW92ZVxuZXhwb3J0IGNsYXNzIE1vdmVPcHRpb25zIGV4dGVuZHMgTW91c2VPcHRpb25zIHtcbiAgICBjb25zdHJ1Y3RvciAob2JqLCB2YWxpZGF0ZSkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuc3BlZWQgICAgICAgICAgICAgICAgICAgPSBudWxsO1xuICAgICAgICB0aGlzLm1pbk1vdmluZ1RpbWUgICAgICAgICAgID0gbnVsbDtcbiAgICAgICAgdGhpcy5ob2xkTGVmdEJ1dHRvbiAgICAgICAgICA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNraXBTY3JvbGxpbmcgICAgICAgICAgID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2tpcERlZmF1bHREcmFnQmVoYXZpb3IgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLl9hc3NpZ25Gcm9tKG9iaiwgdmFsaWRhdGUpO1xuICAgIH1cblxuICAgIF9nZXRBc3NpZ25hYmxlUHJvcGVydGllcyAoKSB7XG4gICAgICAgIHJldHVybiBzdXBlci5fZ2V0QXNzaWduYWJsZVByb3BlcnRpZXMoKS5jb25jYXQoW1xuICAgICAgICAgICAgeyBuYW1lOiAnc3BlZWQnIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdtaW5Nb3ZpbmdUaW1lJyB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnaG9sZExlZnRCdXR0b24nIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdza2lwU2Nyb2xsaW5nJywgdHlwZTogYm9vbGVhbk9wdGlvbiB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnc2tpcERlZmF1bHREcmFnQmVoYXZpb3InLCB0eXBlOiBib29sZWFuT3B0aW9uIH0sXG4gICAgICAgIF0pO1xuICAgIH1cbn1cblxuLy8gVHlwZVxuZXhwb3J0IGNsYXNzIFR5cGVPcHRpb25zIGV4dGVuZHMgQ2xpY2tPcHRpb25zIHtcbiAgICBjb25zdHJ1Y3RvciAob2JqLCB2YWxpZGF0ZSkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMucmVwbGFjZSAgICAgID0gZmFsc2U7XG4gICAgICAgIHRoaXMucGFzdGUgICAgICAgID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY29uZmlkZW50aWFsID0gdm9pZCAwO1xuXG4gICAgICAgIHRoaXMuX2Fzc2lnbkZyb20ob2JqLCB2YWxpZGF0ZSk7XG4gICAgfVxuXG4gICAgX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzICgpIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLl9nZXRBc3NpZ25hYmxlUHJvcGVydGllcygpLmNvbmNhdChbXG4gICAgICAgICAgICB7IG5hbWU6ICdyZXBsYWNlJywgdHlwZTogYm9vbGVhbk9wdGlvbiB9LFxuICAgICAgICAgICAgeyBuYW1lOiAncGFzdGUnLCB0eXBlOiBib29sZWFuT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdjb25maWRlbnRpYWwnLCB0eXBlOiBib29sZWFuT3B0aW9uIH0sXG4gICAgICAgIF0pO1xuICAgIH1cbn1cblxuLy8gRHJhZ1RvRWxlbWVudFxuZXhwb3J0IGNsYXNzIERyYWdUb0VsZW1lbnRPcHRpb25zIGV4dGVuZHMgTW91c2VPcHRpb25zIHtcbiAgICBjb25zdHJ1Y3RvciAob2JqLCB2YWxpZGF0ZSkge1xuICAgICAgICBzdXBlcihvYmosIHZhbGlkYXRlKTtcblxuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uT2Zmc2V0WCA9IG51bGw7XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb25PZmZzZXRZID0gbnVsbDtcblxuICAgICAgICB0aGlzLl9hc3NpZ25Gcm9tKG9iaiwgdmFsaWRhdGUpO1xuICAgIH1cblxuICAgIF9nZXRBc3NpZ25hYmxlUHJvcGVydGllcyAoKSB7XG4gICAgICAgIHJldHVybiBzdXBlci5fZ2V0QXNzaWduYWJsZVByb3BlcnRpZXMoKS5jb25jYXQoW1xuICAgICAgICAgICAgeyBuYW1lOiAnZGVzdGluYXRpb25PZmZzZXRYJywgdHlwZTogaW50ZWdlck9wdGlvbiB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnZGVzdGluYXRpb25PZmZzZXRZJywgdHlwZTogaW50ZWdlck9wdGlvbiB9LFxuICAgICAgICBdKTtcbiAgICB9XG59XG5cbi8vUmVzaXplVG9GaXREZXZpY2VcbmV4cG9ydCBjbGFzcyBSZXNpemVUb0ZpdERldmljZU9wdGlvbnMgZXh0ZW5kcyBBc3NpZ25hYmxlIHtcbiAgICBjb25zdHJ1Y3RvciAob2JqLCB2YWxpZGF0ZSkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMucG9ydHJhaXRPcmllbnRhdGlvbiA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuX2Fzc2lnbkZyb20ob2JqLCB2YWxpZGF0ZSk7XG4gICAgfVxuXG4gICAgX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzICgpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgbmFtZTogJ3BvcnRyYWl0T3JpZW50YXRpb24nLCB0eXBlOiBib29sZWFuT3B0aW9uIH0sXG4gICAgICAgIF07XG4gICAgfVxufVxuXG4vL0Fzc2VydGlvblxuZXhwb3J0IGNsYXNzIEFzc2VydGlvbk9wdGlvbnMgZXh0ZW5kcyBBc3NpZ25hYmxlIHtcbiAgICBjb25zdHJ1Y3RvciAob2JqLCB2YWxpZGF0ZSkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMudGltZW91dCAgICAgICAgICAgICAgID0gdm9pZCAwO1xuICAgICAgICB0aGlzLmFsbG93VW5hd2FpdGVkUHJvbWlzZSA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuX2Fzc2lnbkZyb20ob2JqLCB2YWxpZGF0ZSk7XG4gICAgfVxuXG4gICAgX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzICgpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgbmFtZTogJ3RpbWVvdXQnLCB0eXBlOiBwb3NpdGl2ZUludGVnZXJPcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2FsbG93VW5hd2FpdGVkUHJvbWlzZScsIHR5cGU6IGJvb2xlYW5PcHRpb24gfSxcbiAgICAgICAgXTtcbiAgICB9XG59XG5cbi8vIFByZXNzXG5leHBvcnQgY2xhc3MgUHJlc3NPcHRpb25zIGV4dGVuZHMgQWN0aW9uT3B0aW9ucyB7XG4gICAgY29uc3RydWN0b3IgKG9iaiwgdmFsaWRhdGUpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLmNvbmZpZGVudGlhbCA9IHZvaWQgMDtcblxuICAgICAgICB0aGlzLl9hc3NpZ25Gcm9tKG9iaiwgdmFsaWRhdGUpO1xuICAgIH1cblxuICAgIF9nZXRBc3NpZ25hYmxlUHJvcGVydGllcyAoKSB7XG4gICAgICAgIHJldHVybiBzdXBlci5fZ2V0QXNzaWduYWJsZVByb3BlcnRpZXMoKS5jb25jYXQoW1xuICAgICAgICAgICAgeyBuYW1lOiAnY29uZmlkZW50aWFsJywgdHlwZTogYm9vbGVhbk9wdGlvbiB9LFxuICAgICAgICBdKTtcbiAgICB9XG59XG5cbi8vIENvb2tpZVxuZXhwb3J0IGNsYXNzIENvb2tpZU9wdGlvbnMgZXh0ZW5kcyBBc3NpZ25hYmxlIHtcbiAgICBjb25zdHJ1Y3RvciAob2JqLCB2YWxpZGF0ZSkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuX2Fzc2lnbkZyb20ob2JqLCB2YWxpZGF0ZSk7XG4gICAgfVxuXG4gICAgX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzICgpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgbmFtZTogJ25hbWUnLCB0eXBlOiBzdHJpbmdPcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3ZhbHVlJywgdHlwZTogc3RyaW5nT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdkb21haW4nLCB0eXBlOiBzdHJpbmdPcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3BhdGgnLCB0eXBlOiBzdHJpbmdPcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2V4cGlyZXMnLCB0eXBlOiBkYXRlT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdtYXhBZ2UnLCB0eXBlOiBudW1iZXJPcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3NlY3VyZScsIHR5cGU6IGJvb2xlYW5PcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2h0dHBPbmx5JywgdHlwZTogYm9vbGVhbk9wdGlvbiB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnc2FtZVNpdGUnLCB0eXBlOiBzdHJpbmdPcHRpb24gfSxcbiAgICAgICAgXTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSZXF1ZXN0QXV0aE9wdGlvbnMgZXh0ZW5kcyBBc3NpZ25hYmxlIHtcbiAgICBjb25zdHJ1Y3RvciAob2JqLCB2YWxpZGF0ZSkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuX2Fzc2lnbkZyb20ob2JqLCB2YWxpZGF0ZSk7XG4gICAgfVxuXG4gICAgX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzICgpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgbmFtZTogJ3VzZXJuYW1lJywgdHlwZTogc3RyaW5nT3B0aW9uLCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAncGFzc3dvcmQnLCB0eXBlOiBzdHJpbmdPcHRpb24gfSxcbiAgICAgICAgXTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSZXF1ZXN0UHJveHlPcHRpb25zIGV4dGVuZHMgQXNzaWduYWJsZSB7XG4gICAgY29uc3RydWN0b3IgKG9iaiwgdmFsaWRhdGUpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLl9hc3NpZ25Gcm9tKG9iaiwgdmFsaWRhdGUpO1xuICAgIH1cblxuICAgIF9nZXRBc3NpZ25hYmxlUHJvcGVydGllcyAoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IG5hbWU6ICdwcm90b2NvbCcsIHR5cGU6IHN0cmluZ09wdGlvbiB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnaG9zdCcsIHR5cGU6IHN0cmluZ09wdGlvbiwgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3BvcnQnLCB0eXBlOiBudW1iZXJPcHRpb24sIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdhdXRoJywgdHlwZTogb2JqZWN0T3B0aW9uLCBpbml0OiBpbml0UmVxdWVzdEF1dGhPcHRpb24gfSxcbiAgICAgICAgXTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSZXF1ZXN0T3B0aW9ucyBleHRlbmRzIEFzc2lnbmFibGUge1xuICAgIGNvbnN0cnVjdG9yIChvYmosIHZhbGlkYXRlKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5fYXNzaWduRnJvbShvYmosIHZhbGlkYXRlKTtcbiAgICB9XG5cbiAgICBfZ2V0QXNzaWduYWJsZVByb3BlcnRpZXMgKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgeyBuYW1lOiAndXJsJywgdHlwZTogdXJsT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdtZXRob2QnLCB0eXBlOiBzdHJpbmdPcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2hlYWRlcnMnLCB0eXBlOiBvYmplY3RPcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3BhcmFtcycsIHR5cGU6IHVybFNlYXJjaFBhcmFtc09wdGlvbiB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnYm9keScgfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3RpbWVvdXQnLCB0eXBlOiBudW1iZXJPcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3dpdGhDcmVkZW50aWFscycsIHR5cGU6IGJvb2xlYW5PcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2F1dGgnLCB0eXBlOiBvYmplY3RPcHRpb24sIGluaXQ6IGluaXRSZXF1ZXN0QXV0aE9wdGlvbiB9LFxuICAgICAgICAgICAgeyBuYW1lOiAncHJveHknLCB0eXBlOiBvYmplY3RPcHRpb24sIGluaXQ6IGluaXRSZXF1ZXN0UHJveHlPcHRpb25zIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdyYXdSZXNwb25zZScsIHR5cGU6IGJvb2xlYW5PcHRpb24gfSxcbiAgICAgICAgXTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBHZXRQcm94eVVybE9wdGlvbnMgZXh0ZW5kcyBBc3NpZ25hYmxlIHtcbiAgICBjb25zdHJ1Y3RvciAob2JqLCB2YWxpZGF0ZSkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuX2Fzc2lnbkZyb20ob2JqLCB2YWxpZGF0ZSk7XG4gICAgfVxuXG4gICAgX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzICgpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgbmFtZTogJ2NyZWRlbnRpYWxzJywgdHlwZTogbnVtYmVyT3B0aW9uIH0sXG4gICAgICAgIF07XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2tpcEpzRXJyb3JzT3B0aW9ucyBleHRlbmRzIEFzc2lnbmFibGUge1xuICAgIGNvbnN0cnVjdG9yIChvYmosIHZhbGlkYXRlKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5fYXNzaWduRnJvbShvYmosIHZhbGlkYXRlKTtcbiAgICB9XG5cbiAgICBfZ2V0QXNzaWduYWJsZVByb3BlcnRpZXMgKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgeyBuYW1lOiAnc3RhY2snLCB0eXBlOiBzdHJpbmdPclJlZ2V4T3B0aW9uLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ21lc3NhZ2UnLCB0eXBlOiBzdHJpbmdPclJlZ2V4T3B0aW9uLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3BhZ2VVcmwnLCB0eXBlOiBzdHJpbmdPclJlZ2V4T3B0aW9uLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgXTtcbiAgICB9XG59XG5cbi8vIEluaXRpYWxpemVyc1xuZnVuY3Rpb24gaW5pdFJlcXVlc3RBdXRoT3B0aW9uIChuYW1lLCB2YWwsIGluaXRPcHRpb25zLCB2YWxpZGF0ZSA9IHRydWUpIHtcbiAgICByZXR1cm4gbmV3IFJlcXVlc3RBdXRoT3B0aW9ucyh2YWwsIHZhbGlkYXRlKTtcbn1cblxuZnVuY3Rpb24gaW5pdFJlcXVlc3RQcm94eU9wdGlvbnMgKG5hbWUsIHZhbCwgaW5pdE9wdGlvbnMsIHZhbGlkYXRlID0gdHJ1ZSkge1xuICAgIHJldHVybiBuZXcgUmVxdWVzdFByb3h5T3B0aW9ucyh2YWwsIHZhbGlkYXRlKTtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0LXJ1bi9jb21tYW5kcy9vcHRpb25zLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxnRUFBZ0U7QUFDaEUsZ0VBQWdFO0FBQ2hFLCtDQUErQztBQUMvQyxnRUFBZ0U7Ozs7OztBQUVoRSx3RUFBZ0Q7QUFDaEQsdURBYWlDO0FBQ2pDLGdEQWE2QjtBQUVoQixRQUFBLGFBQWEsR0FBVyxJQUFBLGtDQUFzQixFQUFDLGlDQUF3QixDQUFDLENBQUM7QUFDekUsUUFBQSxxQkFBcUIsR0FBRyxJQUFBLDBDQUE4QixFQUFDLHlDQUFnQyxDQUFDLENBQUM7QUFDekYsUUFBQSxhQUFhLEdBQVcsSUFBQSxrQ0FBc0IsRUFBQyxpQ0FBd0IsQ0FBQyxDQUFDO0FBQ3pFLFFBQUEsV0FBVyxHQUFhLElBQUEsZ0NBQW9CLEVBQUMsK0JBQXNCLENBQUMsQ0FBQztBQUNyRSxRQUFBLFlBQVksR0FBWSxJQUFBLGlDQUFxQixFQUFDLGdDQUF1QixDQUFDLENBQUM7QUFDdkUsUUFBQSxtQkFBbUIsR0FBSyxJQUFBLHdDQUE0QixFQUFDLHVDQUE4QixDQUFDLENBQUM7QUFDckYsUUFBQSxVQUFVLEdBQWMsSUFBQSwrQkFBbUIsRUFBQyw4QkFBcUIsQ0FBQyxDQUFDO0FBQ25FLFFBQUEsWUFBWSxHQUFZLElBQUEsaUNBQXFCLEVBQUMsZ0NBQXVCLENBQUMsQ0FBQztBQUN2RSxRQUFBLFNBQVMsR0FBZSxJQUFBLDhCQUFrQixFQUFDLDZCQUFvQixDQUFDLENBQUM7QUFDakUsUUFBQSxxQkFBcUIsR0FBRyxJQUFBLDBDQUE4QixFQUFDLHlDQUFnQyxDQUFDLENBQUM7QUFDekYsUUFBQSxZQUFZLEdBQVksSUFBQSxpQ0FBcUIsRUFBQyxnQ0FBdUIsQ0FBQyxDQUFDO0FBQ3ZFLFFBQUEsY0FBYyxHQUFVLElBQUEsbUNBQXVCLEVBQUMsa0NBQXlCLENBQUMsQ0FBQztBQUV4RixVQUFV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QUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUFFRCxTQUFTLHVCQUF1QixDQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFFBQVEsR0FBRyxJQUFJO0lBQ3JFLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFdBUk5JTkc6IHRoaXMgZmlsZSBpcyB1c2VkIGJ5IGJvdGggdGhlIGNsaWVudCBhbmQgdGhlIHNlcnZlci5cbi8vIERvIG5vdCB1c2UgYW55IGJyb3dzZXIgb3Igbm9kZS1zcGVjaWZpYyBBUEkhXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmltcG9ydCBBc3NpZ25hYmxlIGZyb20gJy4uLy4uL3V0aWxzL2Fzc2lnbmFibGUnO1xuaW1wb3J0IHtcbiAgICBjcmVhdGVCb29sZWFuVmFsaWRhdG9yLFxuICAgIGNyZWF0ZUludGVnZXJWYWxpZGF0b3IsXG4gICAgY3JlYXRlUG9zaXRpdmVJbnRlZ2VyVmFsaWRhdG9yLFxuICAgIGNyZWF0ZVNwZWVkVmFsaWRhdG9yLFxuICAgIGNyZWF0ZVN0cmluZ1ZhbGlkYXRvcixcbiAgICBjcmVhdGVEYXRlVmFsaWRhdG9yLFxuICAgIGNyZWF0ZU51bWJlclZhbGlkYXRvcixcbiAgICBjcmVhdGVVcmxWYWxpZGF0b3IsXG4gICAgY3JlYXRlVXJsU2VhcmNoUGFyYW1zVmFsaWRhdG9yLFxuICAgIGNyZWF0ZU9iamVjdFZhbGlkYXRvcixcbiAgICBjcmVhdGVTdHJpbmdPclJlZ2V4VmFsaWRhdG9yLFxuICAgIGNyZWF0ZUZ1bmN0aW9uVmFsaWRhdG9yLFxufSBmcm9tICcuL3ZhbGlkYXRpb25zL2ZhY3Rvcmllcyc7XG5pbXBvcnQge1xuICAgIEFjdGlvbkludGVnZXJPcHRpb25FcnJvcixcbiAgICBBY3Rpb25Qb3NpdGl2ZUludGVnZXJPcHRpb25FcnJvcixcbiAgICBBY3Rpb25Cb29sZWFuT3B0aW9uRXJyb3IsXG4gICAgQWN0aW9uU3BlZWRPcHRpb25FcnJvcixcbiAgICBBY3Rpb25TdHJpbmdPcHRpb25FcnJvcixcbiAgICBBY3Rpb25EYXRlT3B0aW9uRXJyb3IsXG4gICAgQWN0aW9uTnVtYmVyT3B0aW9uRXJyb3IsXG4gICAgQWN0aW9uVXJsT3B0aW9uRXJyb3IsXG4gICAgQWN0aW9uVXJsU2VhcmNoUGFyYW1zT3B0aW9uRXJyb3IsXG4gICAgQWN0aW9uT2JqZWN0T3B0aW9uRXJyb3IsXG4gICAgQWN0aW9uU3RyaW5nT3JSZWdleE9wdGlvbkVycm9yLFxuICAgIEFjdGlvbkZ1bmN0aW9uT3B0aW9uRXJyb3IsXG59IGZyb20gJy4uLy4uL3NoYXJlZC9lcnJvcnMnO1xuXG5leHBvcnQgY29uc3QgaW50ZWdlck9wdGlvbiAgICAgICAgID0gY3JlYXRlSW50ZWdlclZhbGlkYXRvcihBY3Rpb25JbnRlZ2VyT3B0aW9uRXJyb3IpO1xuZXhwb3J0IGNvbnN0IHBvc2l0aXZlSW50ZWdlck9wdGlvbiA9IGNyZWF0ZVBvc2l0aXZlSW50ZWdlclZhbGlkYXRvcihBY3Rpb25Qb3NpdGl2ZUludGVnZXJPcHRpb25FcnJvcik7XG5leHBvcnQgY29uc3QgYm9vbGVhbk9wdGlvbiAgICAgICAgID0gY3JlYXRlQm9vbGVhblZhbGlkYXRvcihBY3Rpb25Cb29sZWFuT3B0aW9uRXJyb3IpO1xuZXhwb3J0IGNvbnN0IHNwZWVkT3B0aW9uICAgICAgICAgICA9IGNyZWF0ZVNwZWVkVmFsaWRhdG9yKEFjdGlvblNwZWVkT3B0aW9uRXJyb3IpO1xuZXhwb3J0IGNvbnN0IHN0cmluZ09wdGlvbiAgICAgICAgICA9IGNyZWF0ZVN0cmluZ1ZhbGlkYXRvcihBY3Rpb25TdHJpbmdPcHRpb25FcnJvcik7XG5leHBvcnQgY29uc3Qgc3RyaW5nT3JSZWdleE9wdGlvbiAgID0gY3JlYXRlU3RyaW5nT3JSZWdleFZhbGlkYXRvcihBY3Rpb25TdHJpbmdPclJlZ2V4T3B0aW9uRXJyb3IpO1xuZXhwb3J0IGNvbnN0IGRhdGVPcHRpb24gICAgICAgICAgICA9IGNyZWF0ZURhdGVWYWxpZGF0b3IoQWN0aW9uRGF0ZU9wdGlvbkVycm9yKTtcbmV4cG9ydCBjb25zdCBudW1iZXJPcHRpb24gICAgICAgICAgPSBjcmVhdGVOdW1iZXJWYWxpZGF0b3IoQWN0aW9uTnVtYmVyT3B0aW9uRXJyb3IpO1xuZXhwb3J0IGNvbnN0IHVybE9wdGlvbiAgICAgICAgICAgICA9IGNyZWF0ZVVybFZhbGlkYXRvcihBY3Rpb25VcmxPcHRpb25FcnJvcik7XG5leHBvcnQgY29uc3QgdXJsU2VhcmNoUGFyYW1zT3B0aW9uID0gY3JlYXRlVXJsU2VhcmNoUGFyYW1zVmFsaWRhdG9yKEFjdGlvblVybFNlYXJjaFBhcmFtc09wdGlvbkVycm9yKTtcbmV4cG9ydCBjb25zdCBvYmplY3RPcHRpb24gICAgICAgICAgPSBjcmVhdGVPYmplY3RWYWxpZGF0b3IoQWN0aW9uT2JqZWN0T3B0aW9uRXJyb3IpO1xuZXhwb3J0IGNvbnN0IGZ1bmN0aW9uT3B0aW9uICAgICAgICA9IGNyZWF0ZUZ1bmN0aW9uVmFsaWRhdG9yKEFjdGlvbkZ1bmN0aW9uT3B0aW9uRXJyb3IpO1xuXG4vLyBBY3Rpb25zXG5leHBvcnQgY2xhc3MgQWN0aW9uT3B0aW9ucyBleHRlbmRzIEFzc2lnbmFibGUge1xuICAgIGNvbnN0cnVjdG9yIChvYmosIHZhbGlkYXRlKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5zcGVlZCA9IG51bGw7XG5cbiAgICAgICAgdGhpcy5fYXNzaWduRnJvbShvYmosIHZhbGlkYXRlKTtcbiAgICB9XG5cbiAgICBfZ2V0QXNzaWduYWJsZVByb3BlcnRpZXMgKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgeyBuYW1lOiAnc3BlZWQnLCB0eXBlOiBzcGVlZE9wdGlvbiB9LFxuICAgICAgICBdO1xuICAgIH1cbn1cblxuLy8gT2Zmc2V0XG5leHBvcnQgY2xhc3MgT2Zmc2V0T3B0aW9ucyBleHRlbmRzIEFjdGlvbk9wdGlvbnMge1xuICAgIGNvbnN0cnVjdG9yIChvYmosIHZhbGlkYXRlKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5vZmZzZXRYID0gbnVsbDtcbiAgICAgICAgdGhpcy5vZmZzZXRZID0gbnVsbDtcblxuICAgICAgICB0aGlzLl9hc3NpZ25Gcm9tKG9iaiwgdmFsaWRhdGUpO1xuICAgIH1cblxuICAgIF9nZXRBc3NpZ25hYmxlUHJvcGVydGllcyAoKSB7XG4gICAgICAgIHJldHVybiBzdXBlci5fZ2V0QXNzaWduYWJsZVByb3BlcnRpZXMoKS5jb25jYXQoW1xuICAgICAgICAgICAgeyBuYW1lOiAnb2Zmc2V0WCcsIHR5cGU6IGludGVnZXJPcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ29mZnNldFknLCB0eXBlOiBpbnRlZ2VyT3B0aW9uIH0sXG4gICAgICAgIF0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNjcm9sbE9wdGlvbnMgZXh0ZW5kcyBPZmZzZXRPcHRpb25zIHtcbiAgICBjb25zdHJ1Y3RvciAob2JqLCB2YWxpZGF0ZSkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuc2Nyb2xsVG9DZW50ZXIgICA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNraXBQYXJlbnRGcmFtZXMgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLl9hc3NpZ25Gcm9tKG9iaiwgdmFsaWRhdGUpO1xuICAgIH1cblxuICAgIF9nZXRBc3NpZ25hYmxlUHJvcGVydGllcyAoKSB7XG4gICAgICAgIHJldHVybiBzdXBlci5fZ2V0QXNzaWduYWJsZVByb3BlcnRpZXMoKS5jb25jYXQoW1xuICAgICAgICAgICAgeyBuYW1lOiAnc2Nyb2xsVG9DZW50ZXInLCB0eXBlOiBib29sZWFuT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdza2lwUGFyZW50RnJhbWVzJywgdHlwZTogYm9vbGVhbk9wdGlvbiB9LFxuICAgICAgICBdKTtcbiAgICB9XG59XG5cbi8vIEVsZW1lbnQgU2NyZWVuc2hvdFxuZXhwb3J0IGNsYXNzIEVsZW1lbnRTY3JlZW5zaG90T3B0aW9ucyBleHRlbmRzIEFjdGlvbk9wdGlvbnMge1xuICAgIGNvbnN0cnVjdG9yIChvYmosIHZhbGlkYXRlKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5zY3JvbGxUYXJnZXRYICAgPSBudWxsO1xuICAgICAgICB0aGlzLnNjcm9sbFRhcmdldFkgICA9IG51bGw7XG4gICAgICAgIHRoaXMuaW5jbHVkZU1hcmdpbnMgID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaW5jbHVkZUJvcmRlcnMgID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pbmNsdWRlUGFkZGluZ3MgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuY3JvcCA9IHtcbiAgICAgICAgICAgIGxlZnQ6ICAgbnVsbCxcbiAgICAgICAgICAgIHJpZ2h0OiAgbnVsbCxcbiAgICAgICAgICAgIHRvcDogICAgbnVsbCxcbiAgICAgICAgICAgIGJvdHRvbTogbnVsbCxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLl9hc3NpZ25Gcm9tKG9iaiwgdmFsaWRhdGUpO1xuICAgIH1cblxuICAgIF9nZXRBc3NpZ25hYmxlUHJvcGVydGllcyAoKSB7XG4gICAgICAgIHJldHVybiBzdXBlci5fZ2V0QXNzaWduYWJsZVByb3BlcnRpZXMoKS5jb25jYXQoW1xuICAgICAgICAgICAgeyBuYW1lOiAnc2Nyb2xsVGFyZ2V0WCcsIHR5cGU6IGludGVnZXJPcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3Njcm9sbFRhcmdldFknLCB0eXBlOiBpbnRlZ2VyT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdjcm9wLmxlZnQnLCB0eXBlOiBpbnRlZ2VyT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdjcm9wLnJpZ2h0JywgdHlwZTogaW50ZWdlck9wdGlvbiB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnY3JvcC50b3AnLCB0eXBlOiBpbnRlZ2VyT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdjcm9wLmJvdHRvbScsIHR5cGU6IGludGVnZXJPcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2luY2x1ZGVNYXJnaW5zJywgdHlwZTogYm9vbGVhbk9wdGlvbiB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnaW5jbHVkZUJvcmRlcnMnLCB0eXBlOiBib29sZWFuT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdpbmNsdWRlUGFkZGluZ3MnLCB0eXBlOiBib29sZWFuT3B0aW9uIH0sXG4gICAgICAgIF0pO1xuICAgIH1cbn1cblxuLy8gTW91c2VcbmV4cG9ydCBjbGFzcyBNb3VzZU9wdGlvbnMgZXh0ZW5kcyBPZmZzZXRPcHRpb25zIHtcbiAgICBjb25zdHJ1Y3RvciAob2JqLCB2YWxpZGF0ZSkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMubW9kaWZpZXJzID0ge1xuICAgICAgICAgICAgY3RybDogIGZhbHNlLFxuICAgICAgICAgICAgYWx0OiAgIGZhbHNlLFxuICAgICAgICAgICAgc2hpZnQ6IGZhbHNlLFxuICAgICAgICAgICAgbWV0YTogIGZhbHNlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuX2Fzc2lnbkZyb20ob2JqLCB2YWxpZGF0ZSk7XG4gICAgfVxuXG4gICAgX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzICgpIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLl9nZXRBc3NpZ25hYmxlUHJvcGVydGllcygpLmNvbmNhdChbXG4gICAgICAgICAgICB7IG5hbWU6ICdtb2RpZmllcnMuY3RybCcsIHR5cGU6IGJvb2xlYW5PcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ21vZGlmaWVycy5hbHQnLCB0eXBlOiBib29sZWFuT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdtb2RpZmllcnMuc2hpZnQnLCB0eXBlOiBib29sZWFuT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdtb2RpZmllcnMubWV0YScsIHR5cGU6IGJvb2xlYW5PcHRpb24gfSxcbiAgICAgICAgXSk7XG4gICAgfVxufVxuXG5cbi8vIENsaWNrXG5leHBvcnQgY2xhc3MgQ2xpY2tPcHRpb25zIGV4dGVuZHMgTW91c2VPcHRpb25zIHtcbiAgICBjb25zdHJ1Y3RvciAob2JqLCB2YWxpZGF0ZSkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuY2FyZXRQb3MgPSBudWxsO1xuXG4gICAgICAgIHRoaXMuX2Fzc2lnbkZyb20ob2JqLCB2YWxpZGF0ZSk7XG4gICAgfVxuXG4gICAgX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzICgpIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLl9nZXRBc3NpZ25hYmxlUHJvcGVydGllcygpLmNvbmNhdChbXG4gICAgICAgICAgICB7IG5hbWU6ICdjYXJldFBvcycsIHR5cGU6IHBvc2l0aXZlSW50ZWdlck9wdGlvbiB9LFxuICAgICAgICBdKTtcbiAgICB9XG59XG5cbi8vIE1vdmVcbmV4cG9ydCBjbGFzcyBNb3ZlT3B0aW9ucyBleHRlbmRzIE1vdXNlT3B0aW9ucyB7XG4gICAgY29uc3RydWN0b3IgKG9iaiwgdmFsaWRhdGUpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLnNwZWVkICAgICAgICAgICAgICAgICAgID0gbnVsbDtcbiAgICAgICAgdGhpcy5taW5Nb3ZpbmdUaW1lICAgICAgICAgICA9IG51bGw7XG4gICAgICAgIHRoaXMuaG9sZExlZnRCdXR0b24gICAgICAgICAgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5za2lwU2Nyb2xsaW5nICAgICAgICAgICA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNraXBEZWZhdWx0RHJhZ0JlaGF2aW9yID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5fYXNzaWduRnJvbShvYmosIHZhbGlkYXRlKTtcbiAgICB9XG5cbiAgICBfZ2V0QXNzaWduYWJsZVByb3BlcnRpZXMgKCkge1xuICAgICAgICByZXR1cm4gc3VwZXIuX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzKCkuY29uY2F0KFtcbiAgICAgICAgICAgIHsgbmFtZTogJ3NwZWVkJyB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnbWluTW92aW5nVGltZScgfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2hvbGRMZWZ0QnV0dG9uJyB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnc2tpcFNjcm9sbGluZycsIHR5cGU6IGJvb2xlYW5PcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3NraXBEZWZhdWx0RHJhZ0JlaGF2aW9yJywgdHlwZTogYm9vbGVhbk9wdGlvbiB9LFxuICAgICAgICBdKTtcbiAgICB9XG59XG5cbi8vIFR5cGVcbmV4cG9ydCBjbGFzcyBUeXBlT3B0aW9ucyBleHRlbmRzIENsaWNrT3B0aW9ucyB7XG4gICAgY29uc3RydWN0b3IgKG9iaiwgdmFsaWRhdGUpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLnJlcGxhY2UgICAgICA9IGZhbHNlO1xuICAgICAgICB0aGlzLnBhc3RlICAgICAgICA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNvbmZpZGVudGlhbCA9IHZvaWQgMDtcblxuICAgICAgICB0aGlzLl9hc3NpZ25Gcm9tKG9iaiwgdmFsaWRhdGUpO1xuICAgIH1cblxuICAgIF9nZXRBc3NpZ25hYmxlUHJvcGVydGllcyAoKSB7XG4gICAgICAgIHJldHVybiBzdXBlci5fZ2V0QXNzaWduYWJsZVByb3BlcnRpZXMoKS5jb25jYXQoW1xuICAgICAgICAgICAgeyBuYW1lOiAncmVwbGFjZScsIHR5cGU6IGJvb2xlYW5PcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3Bhc3RlJywgdHlwZTogYm9vbGVhbk9wdGlvbiB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnY29uZmlkZW50aWFsJywgdHlwZTogYm9vbGVhbk9wdGlvbiB9LFxuICAgICAgICBdKTtcbiAgICB9XG59XG5cbi8vIERyYWdUb0VsZW1lbnRcbmV4cG9ydCBjbGFzcyBEcmFnVG9FbGVtZW50T3B0aW9ucyBleHRlbmRzIE1vdXNlT3B0aW9ucyB7XG4gICAgY29uc3RydWN0b3IgKG9iaiwgdmFsaWRhdGUpIHtcbiAgICAgICAgc3VwZXIob2JqLCB2YWxpZGF0ZSk7XG5cbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbk9mZnNldFggPSBudWxsO1xuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uT2Zmc2V0WSA9IG51bGw7XG5cbiAgICAgICAgdGhpcy5fYXNzaWduRnJvbShvYmosIHZhbGlkYXRlKTtcbiAgICB9XG5cbiAgICBfZ2V0QXNzaWduYWJsZVByb3BlcnRpZXMgKCkge1xuICAgICAgICByZXR1cm4gc3VwZXIuX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzKCkuY29uY2F0KFtcbiAgICAgICAgICAgIHsgbmFtZTogJ2Rlc3RpbmF0aW9uT2Zmc2V0WCcsIHR5cGU6IGludGVnZXJPcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2Rlc3RpbmF0aW9uT2Zmc2V0WScsIHR5cGU6IGludGVnZXJPcHRpb24gfSxcbiAgICAgICAgXSk7XG4gICAgfVxufVxuXG4vL1Jlc2l6ZVRvRml0RGV2aWNlXG5leHBvcnQgY2xhc3MgUmVzaXplVG9GaXREZXZpY2VPcHRpb25zIGV4dGVuZHMgQXNzaWduYWJsZSB7XG4gICAgY29uc3RydWN0b3IgKG9iaiwgdmFsaWRhdGUpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLnBvcnRyYWl0T3JpZW50YXRpb24gPSBmYWxzZTtcblxuICAgICAgICB0aGlzLl9hc3NpZ25Gcm9tKG9iaiwgdmFsaWRhdGUpO1xuICAgIH1cblxuICAgIF9nZXRBc3NpZ25hYmxlUHJvcGVydGllcyAoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IG5hbWU6ICdwb3J0cmFpdE9yaWVudGF0aW9uJywgdHlwZTogYm9vbGVhbk9wdGlvbiB9LFxuICAgICAgICBdO1xuICAgIH1cbn1cblxuLy9Bc3NlcnRpb25cbmV4cG9ydCBjbGFzcyBBc3NlcnRpb25PcHRpb25zIGV4dGVuZHMgQXNzaWduYWJsZSB7XG4gICAgY29uc3RydWN0b3IgKG9iaiwgdmFsaWRhdGUpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLnRpbWVvdXQgICAgICAgICAgICAgICA9IHZvaWQgMDtcbiAgICAgICAgdGhpcy5hbGxvd1VuYXdhaXRlZFByb21pc2UgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLl9hc3NpZ25Gcm9tKG9iaiwgdmFsaWRhdGUpO1xuICAgIH1cblxuICAgIF9nZXRBc3NpZ25hYmxlUHJvcGVydGllcyAoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IG5hbWU6ICd0aW1lb3V0JywgdHlwZTogcG9zaXRpdmVJbnRlZ2VyT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdhbGxvd1VuYXdhaXRlZFByb21pc2UnLCB0eXBlOiBib29sZWFuT3B0aW9uIH0sXG4gICAgICAgIF07XG4gICAgfVxufVxuXG4vLyBQcmVzc1xuZXhwb3J0IGNsYXNzIFByZXNzT3B0aW9ucyBleHRlbmRzIEFjdGlvbk9wdGlvbnMge1xuICAgIGNvbnN0cnVjdG9yIChvYmosIHZhbGlkYXRlKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5jb25maWRlbnRpYWwgPSB2b2lkIDA7XG5cbiAgICAgICAgdGhpcy5fYXNzaWduRnJvbShvYmosIHZhbGlkYXRlKTtcbiAgICB9XG5cbiAgICBfZ2V0QXNzaWduYWJsZVByb3BlcnRpZXMgKCkge1xuICAgICAgICByZXR1cm4gc3VwZXIuX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzKCkuY29uY2F0KFtcbiAgICAgICAgICAgIHsgbmFtZTogJ2NvbmZpZGVudGlhbCcsIHR5cGU6IGJvb2xlYW5PcHRpb24gfSxcbiAgICAgICAgXSk7XG4gICAgfVxufVxuXG4vLyBDb29raWVcbmV4cG9ydCBjbGFzcyBDb29raWVPcHRpb25zIGV4dGVuZHMgQXNzaWduYWJsZSB7XG4gICAgY29uc3RydWN0b3IgKG9iaiwgdmFsaWRhdGUpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLl9hc3NpZ25Gcm9tKG9iaiwgdmFsaWRhdGUpO1xuICAgIH1cblxuICAgIF9nZXRBc3NpZ25hYmxlUHJvcGVydGllcyAoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IG5hbWU6ICduYW1lJywgdHlwZTogc3RyaW5nT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICd2YWx1ZScsIHR5cGU6IHN0cmluZ09wdGlvbiB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnZG9tYWluJywgdHlwZTogc3RyaW5nT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdwYXRoJywgdHlwZTogc3RyaW5nT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdleHBpcmVzJywgdHlwZTogZGF0ZU9wdGlvbiB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnbWF4QWdlJywgdHlwZTogbnVtYmVyT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdzZWN1cmUnLCB0eXBlOiBib29sZWFuT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdodHRwT25seScsIHR5cGU6IGJvb2xlYW5PcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3NhbWVTaXRlJywgdHlwZTogc3RyaW5nT3B0aW9uIH0sXG4gICAgICAgIF07XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVxdWVzdEF1dGhPcHRpb25zIGV4dGVuZHMgQXNzaWduYWJsZSB7XG4gICAgY29uc3RydWN0b3IgKG9iaiwgdmFsaWRhdGUpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLl9hc3NpZ25Gcm9tKG9iaiwgdmFsaWRhdGUpO1xuICAgIH1cblxuICAgIF9nZXRBc3NpZ25hYmxlUHJvcGVydGllcyAoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IG5hbWU6ICd1c2VybmFtZScsIHR5cGU6IHN0cmluZ09wdGlvbiwgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3Bhc3N3b3JkJywgdHlwZTogc3RyaW5nT3B0aW9uIH0sXG4gICAgICAgIF07XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVxdWVzdFByb3h5T3B0aW9ucyBleHRlbmRzIEFzc2lnbmFibGUge1xuICAgIGNvbnN0cnVjdG9yIChvYmosIHZhbGlkYXRlKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5fYXNzaWduRnJvbShvYmosIHZhbGlkYXRlKTtcbiAgICB9XG5cbiAgICBfZ2V0QXNzaWduYWJsZVByb3BlcnRpZXMgKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgeyBuYW1lOiAncHJvdG9jb2wnLCB0eXBlOiBzdHJpbmdPcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2hvc3QnLCB0eXBlOiBzdHJpbmdPcHRpb24sIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdwb3J0JywgdHlwZTogbnVtYmVyT3B0aW9uLCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnYXV0aCcsIHR5cGU6IG9iamVjdE9wdGlvbiwgaW5pdDogaW5pdFJlcXVlc3RBdXRoT3B0aW9uIH0sXG4gICAgICAgIF07XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVxdWVzdE9wdGlvbnMgZXh0ZW5kcyBBc3NpZ25hYmxlIHtcbiAgICBjb25zdHJ1Y3RvciAob2JqLCB2YWxpZGF0ZSkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuX2Fzc2lnbkZyb20ob2JqLCB2YWxpZGF0ZSk7XG4gICAgfVxuXG4gICAgX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzICgpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgbmFtZTogJ3VybCcsIHR5cGU6IHVybE9wdGlvbiB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnbWV0aG9kJywgdHlwZTogc3RyaW5nT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdoZWFkZXJzJywgdHlwZTogb2JqZWN0T3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdwYXJhbXMnLCB0eXBlOiB1cmxTZWFyY2hQYXJhbXNPcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2JvZHknIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICd0aW1lb3V0JywgdHlwZTogbnVtYmVyT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICd3aXRoQ3JlZGVudGlhbHMnLCB0eXBlOiBib29sZWFuT3B0aW9uIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdhdXRoJywgdHlwZTogb2JqZWN0T3B0aW9uLCBpbml0OiBpbml0UmVxdWVzdEF1dGhPcHRpb24gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3Byb3h5JywgdHlwZTogb2JqZWN0T3B0aW9uLCBpbml0OiBpbml0UmVxdWVzdFByb3h5T3B0aW9ucyB9LFxuICAgICAgICAgICAgeyBuYW1lOiAncmF3UmVzcG9uc2UnLCB0eXBlOiBib29sZWFuT3B0aW9uIH0sXG4gICAgICAgIF07XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgR2V0UHJveHlVcmxPcHRpb25zIGV4dGVuZHMgQXNzaWduYWJsZSB7XG4gICAgY29uc3RydWN0b3IgKG9iaiwgdmFsaWRhdGUpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLl9hc3NpZ25Gcm9tKG9iaiwgdmFsaWRhdGUpO1xuICAgIH1cblxuICAgIF9nZXRBc3NpZ25hYmxlUHJvcGVydGllcyAoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IG5hbWU6ICdjcmVkZW50aWFscycsIHR5cGU6IG51bWJlck9wdGlvbiB9LFxuICAgICAgICBdO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNraXBKc0Vycm9yc09wdGlvbnMgZXh0ZW5kcyBBc3NpZ25hYmxlIHtcbiAgICBjb25zdHJ1Y3RvciAob2JqLCB2YWxpZGF0ZSkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuX2Fzc2lnbkZyb20ob2JqLCB2YWxpZGF0ZSk7XG4gICAgfVxuXG4gICAgX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzICgpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgbmFtZTogJ3N0YWNrJywgdHlwZTogc3RyaW5nT3JSZWdleE9wdGlvbiwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdtZXNzYWdlJywgdHlwZTogc3RyaW5nT3JSZWdleE9wdGlvbiwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdwYWdlVXJsJywgdHlwZTogc3RyaW5nT3JSZWdleE9wdGlvbiwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgIF07XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIFNraXBKc0Vycm9yc0NhbGxiYWNrV2l0aE9wdGlvbnMgZXh0ZW5kcyBBc3NpZ25hYmxlIHtcbiAgICBjb25zdHJ1Y3RvciAob2JqLCB2YWxpZGF0ZSkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuX2Fzc2lnbkZyb20ob2JqLCB2YWxpZGF0ZSk7XG4gICAgfVxuXG4gICAgX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzICgpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgbmFtZTogJ2ZuJywgdHlwZTogZnVuY3Rpb25PcHRpb24sIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdkZXBlbmRlbmNpZXMnLCB0eXBlOiBvYmplY3RPcHRpb24sIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICBdO1xuICAgIH1cbn1cblxuLy8gSW5pdGlhbGl6ZXJzXG5mdW5jdGlvbiBpbml0UmVxdWVzdEF1dGhPcHRpb24gKG5hbWUsIHZhbCwgaW5pdE9wdGlvbnMsIHZhbGlkYXRlID0gdHJ1ZSkge1xuICAgIHJldHVybiBuZXcgUmVxdWVzdEF1dGhPcHRpb25zKHZhbCwgdmFsaWRhdGUpO1xufVxuXG5mdW5jdGlvbiBpbml0UmVxdWVzdFByb3h5T3B0aW9ucyAobmFtZSwgdmFsLCBpbml0T3B0aW9ucywgdmFsaWRhdGUgPSB0cnVlKSB7XG4gICAgcmV0dXJuIG5ldyBSZXF1ZXN0UHJveHlPcHRpb25zKHZhbCwgdmFsaWRhdGUpO1xufVxuIl19 |
@@ -15,3 +15,2 @@ "use strict"; | ||
const lodash_1 = require("lodash"); | ||
const skip_js_errors_1 = require("../../../api/skip-js-errors"); | ||
// Validators | ||
@@ -144,6 +143,4 @@ exports.integerArgument = (0, factories_1.createIntegerValidator)(test_run_1.ActionIntegerArgumentError); | ||
throw new test_run_1.ActionSkipJsErrorsArgumentTypeError(name, valType); | ||
if ((0, skip_js_errors_1.isSkipJsErrorsCallbackWithOptionsObject)(val) && val.dependencies && typeof val.dependencies !== 'object') | ||
throw new test_run_1.ActionSkipJsErrorsDependenciesArgumentTypeError('dependencies', typeof dependencies); | ||
} | ||
exports.skipJsErrorOptions = skipJsErrorOptions; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJndW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGVzdC1ydW4vY29tbWFuZHMvdmFsaWRhdGlvbnMvYXJndW1lbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsK0NBQWlEO0FBQ2pELGdGQUEyRDtBQUUzRCwyQ0FLcUI7QUFFckIsdURBc0JrQztBQUVsQyw2QkFBMEI7QUFDMUIsOERBQTJEO0FBQzNELHFGQUEyRDtBQUMzRCxtQ0FBbUM7QUFDbkMsZ0VBQXNGO0FBR3RGLGFBQWE7QUFDQSxRQUFBLGVBQWUsR0FBVyxJQUFBLGtDQUFzQixFQUFDLHFDQUEwQixDQUFDLENBQUM7QUFDN0UsUUFBQSx1QkFBdUIsR0FBRyxJQUFBLDBDQUE4QixFQUFDLDZDQUFrQyxDQUFDLENBQUM7QUFDN0YsUUFBQSxlQUFlLEdBQVcsSUFBQSxrQ0FBc0IsRUFBQyxxQ0FBMEIsQ0FBQyxDQUFDO0FBQzdFLFFBQUEsZ0JBQWdCLEdBQVUsSUFBQSxnQ0FBb0IsRUFBQyxvQ0FBeUIsQ0FBQyxDQUFDO0FBR3ZGLFNBQWdCLGtCQUFrQixDQUFFLElBQUksRUFBRSxHQUFHO0lBQ3pDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsdUJBQWdCLENBQUM7UUFDOUIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLElBQUksRUFBRSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBQzVELENBQUM7QUFIRCxnREFHQztBQUVELFNBQWdCLGFBQWEsQ0FBRSxJQUFJLEVBQUUsR0FBRztJQUNwQyxNQUFNLElBQUksR0FBRyxPQUFPLEdBQUcsQ0FBQztJQUV4QixJQUFJLElBQUksS0FBSyxRQUFRLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLEtBQUssS0FBSyxDQUFDO1FBQ25ELE1BQU0sSUFBSSxpQ0FBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBTEQsc0NBS0M7QUFHRCxTQUFnQixjQUFjLENB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QUFLLFFBQVEsSUFBSSxPQUFPLEtBQUssU0FBUyxJQUFJLE9BQU8sS0FBSyxVQUFVO1FBQ2xHLE1BQU0sSUFBSSw4Q0FBbUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFakUsSUFBSSxJQUFBLHdEQUF1QyxFQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxZQUFZLElBQUksT0FBTyxHQUFHLENBQUMsWUFBWSxLQUFLLFFBQVE7UUFDeEcsTUFBTSxJQUFJLDBEQUErQyxDQUFDLGNBQWMsRUFBRSxPQUFPLFlBQVksQ0FBQyxDQUFDO0FBQ3ZHLENBQUM7QUFSRCxnREFRQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzVmFsaWREZXZpY2VOYW1lIH0gZnJvbSAnZGV2aWNlLXNwZWNzJztcbmltcG9ydCByb2xlTWFya2VyU3ltYm9sIGZyb20gJy4uLy4uLy4uL3JvbGUvbWFya2VyLXN5bWJvbCc7XG5cbmltcG9ydCB7XG4gICAgY3JlYXRlQm9vbGVhblZhbGlkYXRvcixcbiAgICBjcmVhdGVJbnRlZ2VyVmFsaWRhdG9yLFxuICAgIGNyZWF0ZVBvc2l0aXZlSW50ZWdlclZhbGlkYXRvcixcbiAgICBjcmVhdGVTcGVlZFZhbGlkYXRvcixcbn0gZnJvbSAnLi9mYWN0b3JpZXMnO1xuXG5pbXBvcnQge1xuICAgIEFjdGlvbk9wdGlvbnNUeXBlRXJyb3IsXG4gICAgQWN0aW9uQm9vbGVhbkFyZ3VtZW50RXJyb3IsXG4gICAgQWN0aW9uU3RyaW5nQXJndW1lbnRFcnJvcixcbiAgICBBY3Rpb25OdWxsYWJsZVN0cmluZ0FyZ3VtZW50RXJyb3IsXG4gICAgQWN0aW9uSW50ZWdlckFyZ3VtZW50RXJyb3IsXG4gICAgQWN0aW9uUm9sZUFyZ3VtZW50RXJyb3IsXG4gICAgQWN0aW9uUG9zaXRpdmVJbnRlZ2VyQXJndW1lbnRFcnJvcixcbiAgICBBY3Rpb25TdHJpbmdPclN0cmluZ0FycmF5QXJndW1lbnRFcnJvcixcbiAgICBBY3Rpb25TdHJpbmdBcnJheUVsZW1lbnRFcnJvcixcbiAgICBBY3Rpb25VbnN1cHBvcnRlZERldmljZVR5cGVFcnJvcixcbiAgICBBY3Rpb25GdW5jdGlvbkFyZ3VtZW50RXJyb3IsXG4gICAgU2V0VGVzdFNwZWVkQXJndW1lbnRFcnJvcixcbiAgICBGb3JiaWRkZW5DaGFyYWN0ZXJzSW5TY3JlZW5zaG90UGF0aEVycm9yLFxuICAgIEFjdGlvbkNvb2tpZUFyZ3VtZW50RXJyb3IsXG4gICAgQWN0aW9uQ29va2llQXJndW1lbnRzRXJyb3IsXG4gICAgQWN0aW9uVXJsQ29va2llQXJndW1lbnRFcnJvcixcbiAgICBBY3Rpb25VcmxzQ29va2llQXJndW1lbnRFcnJvcixcbiAgICBBY3Rpb25SZXF1aXJlZENvb2tpZUFyZ3VtZW50cyxcbiAgICBBY3Rpb25VcmxBcmd1bWVudEVycm9yLFxuICAgIEFjdGlvblNraXBKc0Vycm9yc0FyZ3VtZW50VHlwZUVycm9yLFxuICAgIEFjdGlvblNraXBKc0Vycm9yc0RlcGVuZGVuY2llc0FyZ3VtZW50VHlwZUVycm9yLFxufSBmcm9tICcuLi8uLi8uLi9lcnJvcnMvdGVzdC1ydW4nO1xuXG5pbXBvcnQgeyBVUkwgfSBmcm9tICd1cmwnO1xuaW1wb3J0IHsgYXNzZXJ0UGFnZVVybCB9IGZyb20gJy4uLy4uLy4uL2FwaS90ZXN0LXBhZ2UtdXJsJztcbmltcG9ydCBjaGVja0ZpbGVQYXRoIGZyb20gJy4uLy4uLy4uL3V0aWxzL2NoZWNrLWZpbGUtcGF0aCc7XG5pbXBvcnQgeyBjYXN0QXJyYXkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgaXNTa2lwSnNFcnJvcnNDYWxsYmFja1dpdGhPcHRpb25zT2JqZWN0IH0gZnJvbSAnLi4vLi4vLi4vYXBpL3NraXAtanMtZXJyb3JzJztcblxuXG4vLyBWYWxpZGF0b3JzXG5leHBvcnQgY29uc3QgaW50ZWdlckFyZ3VtZW50ICAgICAgICAgPSBjcmVhdGVJbnRlZ2VyVmFsaWRhdG9yKEFjdGlvbkludGVnZXJBcmd1bWVudEVycm9yKTtcbmV4cG9ydCBjb25zdCBwb3NpdGl2ZUludGVnZXJBcmd1bWVudCA9IGNyZWF0ZVBvc2l0aXZlSW50ZWdlclZhbGlkYXRvcihBY3Rpb25Qb3NpdGl2ZUludGVnZXJBcmd1bWVudEVycm9yKTtcbmV4cG9ydCBjb25zdCBib29sZWFuQXJndW1lbnQgICAgICAgICA9IGNyZWF0ZUJvb2xlYW5WYWxpZGF0b3IoQWN0aW9uQm9vbGVhbkFyZ3VtZW50RXJyb3IpO1xuZXhwb3J0IGNvbnN0IHNldFNwZWVkQXJndW1lbnQgICAgICAgID0gY3JlYXRlU3BlZWRWYWxpZGF0b3IoU2V0VGVzdFNwZWVkQXJndW1lbnRFcnJvcik7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvblJvbGVBcmd1bWVudCAobmFtZSwgdmFsKSB7XG4gICAgaWYgKCF2YWwgfHwgIXZhbFtyb2xlTWFya2VyU3ltYm9sXSlcbiAgICAgICAgdGhyb3cgbmV3IEFjdGlvblJvbGVBcmd1bWVudEVycm9yKG5hbWUsIHR5cGVvZiB2YWwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uT3B0aW9ucyAobmFtZSwgdmFsKSB7XG4gICAgY29uc3QgdHlwZSA9IHR5cGVvZiB2YWw7XG5cbiAgICBpZiAodHlwZSAhPT0gJ29iamVjdCcgJiYgdmFsICE9PSBudWxsICYmIHZhbCAhPT0gdm9pZCAwKVxuICAgICAgICB0aHJvdyBuZXcgQWN0aW9uT3B0aW9uc1R5cGVFcnJvcih0eXBlKTtcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5nQXJndW1lbnQgKGFyZ3VtZW50LCB2YWwsIGNyZWF0ZUVycm9yKSB7XG4gICAgaWYgKCFjcmVhdGVFcnJvcilcbiAgICAgICAgY3JlYXRlRXJyb3IgPSBhY3R1YWxWYWx1ZSA9PiBuZXcgQWN0aW9uU3RyaW5nQXJndW1lbnRFcnJvcihhcmd1bWVudCwgYWN0dWFsVmFsdWUpO1xuXG4gICAgY29uc3QgdHlwZSA9IHR5cGVvZiB2YWw7XG5cbiAgICBpZiAodHlwZSAhPT0gJ3N0cmluZycpXG4gICAgICAgIHRocm93IGNyZWF0ZUVycm9yKHR5cGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9uRW1wdHlTdHJpbmdBcmd1bWVudCAoYXJndW1lbnQsIHZhbCwgY3JlYXRlRXJyb3IpIHtcbiAgICBpZiAoIWNyZWF0ZUVycm9yKVxuICAgICAgICBjcmVhdGVFcnJvciA9IGFjdHVhbFZhbHVlID0+IG5ldyBBY3Rpb25TdHJpbmdBcmd1bWVudEVycm9yKGFyZ3VtZW50LCBhY3R1YWxWYWx1ZSk7XG5cbiAgICBzdHJpbmdBcmd1bWVudChhcmd1bWVudCwgdmFsLCBjcmVhdGVFcnJvcik7XG5cbiAgICBpZiAoIXZhbC5sZW5ndGgpXG4gICAgICAgIHRocm93IGNyZWF0ZUVycm9yKCdcIlwiJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBudWxsYWJsZVN0cmluZ0FyZ3VtZW50IChhcmd1bWVudCwgdmFsKSB7XG4gICAgY29uc3QgdHlwZSA9IHR5cGVvZiB2YWw7XG5cbiAgICBpZiAodHlwZSAhPT0gJ3N0cmluZycgJiYgdmFsICE9PSBudWxsKVxuICAgICAgICB0aHJvdyBuZXcgQWN0aW9uTnVsbGFibGVTdHJpbmdBcmd1bWVudEVycm9yKGFyZ3VtZW50LCB0eXBlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhZ2VVcmxBcmd1bWVudCAobmFtZSwgdmFsKSB7XG4gICAgbm9uRW1wdHlTdHJpbmdBcmd1bWVudChuYW1lLCB2YWwpO1xuXG4gICAgYXNzZXJ0UGFnZVVybCh2YWwudHJpbSgpLCAnbmF2aWdhdGVUbycpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5nT3JTdHJpbmdBcnJheUFyZ3VtZW50IChhcmd1bWVudCwgdmFsKSB7XG4gICAgY29uc3QgdHlwZSA9IHR5cGVvZiB2YWw7XG5cbiAgICBpZiAodHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgaWYgKCF2YWwubGVuZ3RoKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEFjdGlvblN0cmluZ09yU3RyaW5nQXJyYXlBcmd1bWVudEVycm9yKGFyZ3VtZW50LCAnXCJcIicpO1xuICAgIH1cblxuICAgIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgICBpZiAoIXZhbC5sZW5ndGgpXG4gICAgICAgICAgICB0aHJvdyBuZXcgQWN0aW9uU3RyaW5nT3JTdHJpbmdBcnJheUFyZ3VtZW50RXJyb3IoYXJndW1lbnQsICdbXScpO1xuXG4gICAgICAgIGNvbnN0IHZhbGlkYXRlRWxlbWVudCA9IGVsZW1lbnRJbmRleCA9PiBub25FbXB0eVN0cmluZ0FyZ3VtZW50KFxuICAgICAgICAgICAgYXJndW1lbnQsXG4gICAgICAgICAgICB2YWxbZWxlbWVudEluZGV4XSxcbiAgICAgICAgICAgIGFjdHVhbFZhbHVlID0+IG5ldyBBY3Rpb25TdHJpbmdBcnJheUVsZW1lbnRFcnJvcihhcmd1bWVudCwgYWN0dWFsVmFsdWUsIGVsZW1lbnRJbmRleClcbiAgICAgICAgKTtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbC5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIHZhbGlkYXRlRWxlbWVudChpKTtcbiAgICB9XG5cbiAgICBlbHNlXG4gICAgICAgIHRocm93IG5ldyBBY3Rpb25TdHJpbmdPclN0cmluZ0FycmF5QXJndW1lbnRFcnJvcihhcmd1bWVudCwgdHlwZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNpemVXaW5kb3dEZXZpY2VBcmd1bWVudCAobmFtZSwgdmFsKSB7XG4gICAgbm9uRW1wdHlTdHJpbmdBcmd1bWVudChuYW1lLCB2YWwpO1xuXG4gICAgaWYgKCFpc1ZhbGlkRGV2aWNlTmFtZSh2YWwpKVxuICAgICAgICB0aHJvdyBuZXcgQWN0aW9uVW5zdXBwb3J0ZWREZXZpY2VUeXBlRXJyb3IobmFtZSwgdmFsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNjcmVlbnNob3RQYXRoQXJndW1lbnQgKG5hbWUsIHZhbCkge1xuICAgIG5vbkVtcHR5U3RyaW5nQXJndW1lbnQobmFtZSwgdmFsKTtcblxuICAgIGNvbnN0IGZvcmJpZGRlbkNoYXJzTGlzdCA9IGNoZWNrRmlsZVBhdGgodmFsKTtcblxuICAgIGlmIChmb3JiaWRkZW5DaGFyc0xpc3QubGVuZ3RoKVxuICAgICAgICB0aHJvdyBuZXcgRm9yYmlkZGVuQ2hhcmFjdGVyc0luU2NyZWVuc2hvdFBhdGhFcnJvcih2YWwsIGZvcmJpZGRlbkNoYXJzTGlzdCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmdW5jdGlvbkFyZ3VtZW50IChuYW1lLCB2YWwpIHtcbiAgICBpZiAodHlwZW9mIHZhbCAhPT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgdGhyb3cgbmV3IEFjdGlvbkZ1bmN0aW9uQXJndW1lbnRFcnJvcihuYW1lLCB2YWwpO1xufVxuXG5mdW5jdGlvbiBpc1ZhbGlkQ29va2llIChjb29raWUpIHtcbiAgICByZXR1cm4gISFjb29raWUgJiYgKHR5cGVvZiBjb29raWUgPT09ICdvYmplY3QnIHx8IHR5cGVvZiBjb29raWUgPT09ICdzdHJpbmcnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvb2tpZXNBcmd1bWVudCAobmFtZSwgdmFsKSB7XG4gICAgY29uc3QgY29va2llc0xlbmd0aCA9IHZhbC5sZW5ndGg7XG5cbiAgICBmb3IgKGNvbnN0IFtpLCB2YWx1ZV0gb2YgdmFsLmVudHJpZXMoKSkge1xuICAgICAgICBpZiAoIWlzVmFsaWRDb29raWUodmFsdWUpKSB7XG4gICAgICAgICAgICB0aHJvdyBjb29raWVzTGVuZ3RoID09PSAxXG4gICAgICAgICAgICAgICAgPyBuZXcgQWN0aW9uQ29va2llQXJndW1lbnRFcnJvcigpXG4gICAgICAgICAgICAgICAgOiBuZXcgQWN0aW9uQ29va2llQXJndW1lbnRzRXJyb3IoaSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0Q29va2llc0FyZ3VtZW50IChuYW1lLCB2YWwpIHtcbiAgICBpZiAoIXZhbC5sZW5ndGgpXG4gICAgICAgIHRocm93IG5ldyBBY3Rpb25SZXF1aXJlZENvb2tpZUFyZ3VtZW50cygpO1xuXG4gICAgY29va2llc0FyZ3VtZW50KG5hbWUsIHZhbCk7XG59XG5cbmZ1bmN0aW9uIGlzVmFsaWRVcmwgKHVybCkge1xuICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBuZXcgVVJMKHVybCkgJiYgdHJ1ZTtcbiAgICB9XG4gICAgY2F0Y2gge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdXJsc0FyZ3VtZW50IChuYW1lLCB2YWwpIHtcbiAgICBjb25zdCBjYXN0VmFsID0gY2FzdEFycmF5KHZhbCk7XG5cbiAgICBmb3IgKGNvbnN0IFtpLCB2YWx1ZV0gb2YgY2FzdFZhbC5lbnRyaWVzKCkpIHtcbiAgICAgICAgaWYgKCFpc1ZhbGlkVXJsKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhyb3cgY2FzdFZhbC5sZW5ndGggPT09IDFcbiAgICAgICAgICAgICAgICA/IG5ldyBBY3Rpb25VcmxDb29raWVBcmd1bWVudEVycm9yKClcbiAgICAgICAgICAgICAgICA6IG5ldyBBY3Rpb25VcmxzQ29va2llQXJndW1lbnRFcnJvcihpLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cmxBcmd1bWVudCAobmFtZSwgdmFsKSB7XG4gICAgY29uc3QgdmFsVHlwZSA9IHR5cGVvZiB2YWw7XG5cbiAgICBpZiAodmFsVHlwZSAhPT0gJ3N0cmluZycgJiYgISh2YWwgaW5zdGFuY2VvZiBVUkwpKVxuICAgICAgICB0aHJvdyBuZXcgQWN0aW9uVXJsQXJndW1lbnRFcnJvcihuYW1lLCB2YWxUeXBlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNraXBKc0Vycm9yT3B0aW9ucyAobmFtZSwgdmFsKSB7XG4gICAgY29uc3QgdmFsVHlwZSA9IHR5cGVvZiB2YWw7XG5cbiAgICBpZiAodmFsVHlwZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsVHlwZSAhPT0gJ29iamVjdCcgJiYgdmFsVHlwZSAhPT0gJ2Jvb2xlYW4nICYmIHZhbFR5cGUgIT09ICdmdW5jdGlvbicpXG4gICAgICAgIHRocm93IG5ldyBBY3Rpb25Ta2lwSnNFcnJvcnNBcmd1bWVudFR5cGVFcnJvcihuYW1lLCB2YWxUeXBlKTtcblxuICAgIGlmIChpc1NraXBKc0Vycm9yc0NhbGxiYWNrV2l0aE9wdGlvbnNPYmplY3QodmFsKSAmJiB2YWwuZGVwZW5kZW5jaWVzICYmIHR5cGVvZiB2YWwuZGVwZW5kZW5jaWVzICE9PSAnb2JqZWN0JylcbiAgICAgICAgdGhyb3cgbmV3IEFjdGlvblNraXBKc0Vycm9yc0RlcGVuZGVuY2llc0FyZ3VtZW50VHlwZUVycm9yKCdkZXBlbmRlbmNpZXMnLCB0eXBlb2YgZGVwZW5kZW5jaWVzKTtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJndW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGVzdC1ydW4vY29tbWFuZHMvdmFsaWRhdGlvbnMvYXJndW1lbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsK0NBQWlEO0FBQ2pELGdGQUEyRDtBQUUzRCwyQ0FLcUI7QUFFckIsdURBcUJrQztBQUVsQyw2QkFBMEI7QUFDMUIsOERBQTJEO0FBQzNELHFGQUEyRDtBQUMzRCxtQ0FBbUM7QUFFbkMsYUFBYTtBQUNBLFFBQUEsZUFBZSxHQUFXLElBQUEsa0NBQXNCLEVBQUMscUNBQTBCLENBQUMsQ0FBQztBQUM3RSxRQUFBLHVCQUF1QixHQUFHLElBQUEsMENBQThCLEVBQUMsNkNBQWtDLENBQUMsQ0FBQztBQUM3RixRQUFBLGVBQWUsR0FBVyxJQUFBLGtDQUFzQixFQUFDLHFDQUEwQixDQUFDLENBQUM7QUFDN0UsUUFBQSxnQkFBZ0IsR0FBVSxJQUFBLGdDQUFvQixFQUFDLG9DQUF5QixDQUFDLENBQUM7QUFHdkYsU0FBZ0Isa0JBQWtCLENBQUUsSUFBSSxFQUFFLEdBQUc7SUFDekMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBZ0IsQ0FBQztRQUM5QixNQUFNLElBQUksa0NBQXVCLENBQUMsSUFBSSxFQUFFLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUhELGdEQUdDO0FBRUQsU0FBZ0IsYUFBYSxDQUFFLElBQUksRUFBRSxHQUFHO0lBQ3BDLE1BQU0sSUFBSSxHQUFHLE9BQU8sR0FBRyxDQUFDO0lBRXhCLElBQUksSUFBSSxLQUFLLFFBQVEsSUFBSSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsS0FBSyxLQUFLLENBQUM7UUFDbkQsTUFBTSxJQUFJLGlDQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFMRCxzQ0FLQztBQUdELFNBQWdCLGNBQWMsQ0FBRSxRQUFRLEVBQUUs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LE9BQU8sS0FBSyxTQUFTLElBQUksT0FBTyxLQUFLLFVBQVU7UUFDbEcsTUFBTSxJQUFJLDhDQUFtQyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNyRSxDQUFDO0FBTEQsZ0RBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1ZhbGlkRGV2aWNlTmFtZSB9IGZyb20gJ2RldmljZS1zcGVjcyc7XG5pbXBvcnQgcm9sZU1hcmtlclN5bWJvbCBmcm9tICcuLi8uLi8uLi9yb2xlL21hcmtlci1zeW1ib2wnO1xuXG5pbXBvcnQge1xuICAgIGNyZWF0ZUJvb2xlYW5WYWxpZGF0b3IsXG4gICAgY3JlYXRlSW50ZWdlclZhbGlkYXRvcixcbiAgICBjcmVhdGVQb3NpdGl2ZUludGVnZXJWYWxpZGF0b3IsXG4gICAgY3JlYXRlU3BlZWRWYWxpZGF0b3IsXG59IGZyb20gJy4vZmFjdG9yaWVzJztcblxuaW1wb3J0IHtcbiAgICBBY3Rpb25PcHRpb25zVHlwZUVycm9yLFxuICAgIEFjdGlvbkJvb2xlYW5Bcmd1bWVudEVycm9yLFxuICAgIEFjdGlvblN0cmluZ0FyZ3VtZW50RXJyb3IsXG4gICAgQWN0aW9uTnVsbGFibGVTdHJpbmdBcmd1bWVudEVycm9yLFxuICAgIEFjdGlvbkludGVnZXJBcmd1bWVudEVycm9yLFxuICAgIEFjdGlvblJvbGVBcmd1bWVudEVycm9yLFxuICAgIEFjdGlvblBvc2l0aXZlSW50ZWdlckFyZ3VtZW50RXJyb3IsXG4gICAgQWN0aW9uU3RyaW5nT3JTdHJpbmdBcnJheUFyZ3VtZW50RXJyb3IsXG4gICAgQWN0aW9uU3RyaW5nQXJyYXlFbGVtZW50RXJyb3IsXG4gICAgQWN0aW9uVW5zdXBwb3J0ZWREZXZpY2VUeXBlRXJyb3IsXG4gICAgQWN0aW9uRnVuY3Rpb25Bcmd1bWVudEVycm9yLFxuICAgIFNldFRlc3RTcGVlZEFyZ3VtZW50RXJyb3IsXG4gICAgRm9yYmlkZGVuQ2hhcmFjdGVyc0luU2NyZWVuc2hvdFBhdGhFcnJvcixcbiAgICBBY3Rpb25Db29raWVBcmd1bWVudEVycm9yLFxuICAgIEFjdGlvbkNvb2tpZUFyZ3VtZW50c0Vycm9yLFxuICAgIEFjdGlvblVybENvb2tpZUFyZ3VtZW50RXJyb3IsXG4gICAgQWN0aW9uVXJsc0Nvb2tpZUFyZ3VtZW50RXJyb3IsXG4gICAgQWN0aW9uUmVxdWlyZWRDb29raWVBcmd1bWVudHMsXG4gICAgQWN0aW9uVXJsQXJndW1lbnRFcnJvcixcbiAgICBBY3Rpb25Ta2lwSnNFcnJvcnNBcmd1bWVudFR5cGVFcnJvcixcbn0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzL3Rlc3QtcnVuJztcblxuaW1wb3J0IHsgVVJMIH0gZnJvbSAndXJsJztcbmltcG9ydCB7IGFzc2VydFBhZ2VVcmwgfSBmcm9tICcuLi8uLi8uLi9hcGkvdGVzdC1wYWdlLXVybCc7XG5pbXBvcnQgY2hlY2tGaWxlUGF0aCBmcm9tICcuLi8uLi8uLi91dGlscy9jaGVjay1maWxlLXBhdGgnO1xuaW1wb3J0IHsgY2FzdEFycmF5IH0gZnJvbSAnbG9kYXNoJztcblxuLy8gVmFsaWRhdG9yc1xuZXhwb3J0IGNvbnN0IGludGVnZXJBcmd1bWVudCAgICAgICAgID0gY3JlYXRlSW50ZWdlclZhbGlkYXRvcihBY3Rpb25JbnRlZ2VyQXJndW1lbnRFcnJvcik7XG5leHBvcnQgY29uc3QgcG9zaXRpdmVJbnRlZ2VyQXJndW1lbnQgPSBjcmVhdGVQb3NpdGl2ZUludGVnZXJWYWxpZGF0b3IoQWN0aW9uUG9zaXRpdmVJbnRlZ2VyQXJndW1lbnRFcnJvcik7XG5leHBvcnQgY29uc3QgYm9vbGVhbkFyZ3VtZW50ICAgICAgICAgPSBjcmVhdGVCb29sZWFuVmFsaWRhdG9yKEFjdGlvbkJvb2xlYW5Bcmd1bWVudEVycm9yKTtcbmV4cG9ydCBjb25zdCBzZXRTcGVlZEFyZ3VtZW50ICAgICAgICA9IGNyZWF0ZVNwZWVkVmFsaWRhdG9yKFNldFRlc3RTcGVlZEFyZ3VtZW50RXJyb3IpO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBhY3Rpb25Sb2xlQXJndW1lbnQgKG5hbWUsIHZhbCkge1xuICAgIGlmICghdmFsIHx8ICF2YWxbcm9sZU1hcmtlclN5bWJvbF0pXG4gICAgICAgIHRocm93IG5ldyBBY3Rpb25Sb2xlQXJndW1lbnRFcnJvcihuYW1lLCB0eXBlb2YgdmFsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvbk9wdGlvbnMgKG5hbWUsIHZhbCkge1xuICAgIGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsO1xuXG4gICAgaWYgKHR5cGUgIT09ICdvYmplY3QnICYmIHZhbCAhPT0gbnVsbCAmJiB2YWwgIT09IHZvaWQgMClcbiAgICAgICAgdGhyb3cgbmV3IEFjdGlvbk9wdGlvbnNUeXBlRXJyb3IodHlwZSk7XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ0FyZ3VtZW50IChhcmd1bWVudCwgdmFsLCBjcmVhdGVFcnJvcikge1xuICAgIGlmICghY3JlYXRlRXJyb3IpXG4gICAgICAgIGNyZWF0ZUVycm9yID0gYWN0dWFsVmFsdWUgPT4gbmV3IEFjdGlvblN0cmluZ0FyZ3VtZW50RXJyb3IoYXJndW1lbnQsIGFjdHVhbFZhbHVlKTtcblxuICAgIGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsO1xuXG4gICAgaWYgKHR5cGUgIT09ICdzdHJpbmcnKVxuICAgICAgICB0aHJvdyBjcmVhdGVFcnJvcih0eXBlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vbkVtcHR5U3RyaW5nQXJndW1lbnQgKGFyZ3VtZW50LCB2YWwsIGNyZWF0ZUVycm9yKSB7XG4gICAgaWYgKCFjcmVhdGVFcnJvcilcbiAgICAgICAgY3JlYXRlRXJyb3IgPSBhY3R1YWxWYWx1ZSA9PiBuZXcgQWN0aW9uU3RyaW5nQXJndW1lbnRFcnJvcihhcmd1bWVudCwgYWN0dWFsVmFsdWUpO1xuXG4gICAgc3RyaW5nQXJndW1lbnQoYXJndW1lbnQsIHZhbCwgY3JlYXRlRXJyb3IpO1xuXG4gICAgaWYgKCF2YWwubGVuZ3RoKVxuICAgICAgICB0aHJvdyBjcmVhdGVFcnJvcignXCJcIicpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbnVsbGFibGVTdHJpbmdBcmd1bWVudCAoYXJndW1lbnQsIHZhbCkge1xuICAgIGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsO1xuXG4gICAgaWYgKHR5cGUgIT09ICdzdHJpbmcnICYmIHZhbCAhPT0gbnVsbClcbiAgICAgICAgdGhyb3cgbmV3IEFjdGlvbk51bGxhYmxlU3RyaW5nQXJndW1lbnRFcnJvcihhcmd1bWVudCwgdHlwZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYWdlVXJsQXJndW1lbnQgKG5hbWUsIHZhbCkge1xuICAgIG5vbkVtcHR5U3RyaW5nQXJndW1lbnQobmFtZSwgdmFsKTtcblxuICAgIGFzc2VydFBhZ2VVcmwodmFsLnRyaW0oKSwgJ25hdmlnYXRlVG8nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ09yU3RyaW5nQXJyYXlBcmd1bWVudCAoYXJndW1lbnQsIHZhbCkge1xuICAgIGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsO1xuXG4gICAgaWYgKHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGlmICghdmFsLmxlbmd0aClcbiAgICAgICAgICAgIHRocm93IG5ldyBBY3Rpb25TdHJpbmdPclN0cmluZ0FycmF5QXJndW1lbnRFcnJvcihhcmd1bWVudCwgJ1wiXCInKTtcbiAgICB9XG5cbiAgICBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgICAgaWYgKCF2YWwubGVuZ3RoKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEFjdGlvblN0cmluZ09yU3RyaW5nQXJyYXlBcmd1bWVudEVycm9yKGFyZ3VtZW50LCAnW10nKTtcblxuICAgICAgICBjb25zdCB2YWxpZGF0ZUVsZW1lbnQgPSBlbGVtZW50SW5kZXggPT4gbm9uRW1wdHlTdHJpbmdBcmd1bWVudChcbiAgICAgICAgICAgIGFyZ3VtZW50LFxuICAgICAgICAgICAgdmFsW2VsZW1lbnRJbmRleF0sXG4gICAgICAgICAgICBhY3R1YWxWYWx1ZSA9PiBuZXcgQWN0aW9uU3RyaW5nQXJyYXlFbGVtZW50RXJyb3IoYXJndW1lbnQsIGFjdHVhbFZhbHVlLCBlbGVtZW50SW5kZXgpXG4gICAgICAgICk7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWwubGVuZ3RoOyBpKyspXG4gICAgICAgICAgICB2YWxpZGF0ZUVsZW1lbnQoaSk7XG4gICAgfVxuXG4gICAgZWxzZVxuICAgICAgICB0aHJvdyBuZXcgQWN0aW9uU3RyaW5nT3JTdHJpbmdBcnJheUFyZ3VtZW50RXJyb3IoYXJndW1lbnQsIHR5cGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzaXplV2luZG93RGV2aWNlQXJndW1lbnQgKG5hbWUsIHZhbCkge1xuICAgIG5vbkVtcHR5U3RyaW5nQXJndW1lbnQobmFtZSwgdmFsKTtcblxuICAgIGlmICghaXNWYWxpZERldmljZU5hbWUodmFsKSlcbiAgICAgICAgdGhyb3cgbmV3IEFjdGlvblVuc3VwcG9ydGVkRGV2aWNlVHlwZUVycm9yKG5hbWUsIHZhbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzY3JlZW5zaG90UGF0aEFyZ3VtZW50IChuYW1lLCB2YWwpIHtcbiAgICBub25FbXB0eVN0cmluZ0FyZ3VtZW50KG5hbWUsIHZhbCk7XG5cbiAgICBjb25zdCBmb3JiaWRkZW5DaGFyc0xpc3QgPSBjaGVja0ZpbGVQYXRoKHZhbCk7XG5cbiAgICBpZiAoZm9yYmlkZGVuQ2hhcnNMaXN0Lmxlbmd0aClcbiAgICAgICAgdGhyb3cgbmV3IEZvcmJpZGRlbkNoYXJhY3RlcnNJblNjcmVlbnNob3RQYXRoRXJyb3IodmFsLCBmb3JiaWRkZW5DaGFyc0xpc3QpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZnVuY3Rpb25Bcmd1bWVudCAobmFtZSwgdmFsKSB7XG4gICAgaWYgKHR5cGVvZiB2YWwgIT09ICdmdW5jdGlvbicpXG4gICAgICAgIHRocm93IG5ldyBBY3Rpb25GdW5jdGlvbkFyZ3VtZW50RXJyb3IobmFtZSwgdmFsKTtcbn1cblxuZnVuY3Rpb24gaXNWYWxpZENvb2tpZSAoY29va2llKSB7XG4gICAgcmV0dXJuICEhY29va2llICYmICh0eXBlb2YgY29va2llID09PSAnb2JqZWN0JyB8fCB0eXBlb2YgY29va2llID09PSAnc3RyaW5nJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb29raWVzQXJndW1lbnQgKG5hbWUsIHZhbCkge1xuICAgIGNvbnN0IGNvb2tpZXNMZW5ndGggPSB2YWwubGVuZ3RoO1xuXG4gICAgZm9yIChjb25zdCBbaSwgdmFsdWVdIG9mIHZhbC5lbnRyaWVzKCkpIHtcbiAgICAgICAgaWYgKCFpc1ZhbGlkQ29va2llKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhyb3cgY29va2llc0xlbmd0aCA9PT0gMVxuICAgICAgICAgICAgICAgID8gbmV3IEFjdGlvbkNvb2tpZUFyZ3VtZW50RXJyb3IoKVxuICAgICAgICAgICAgICAgIDogbmV3IEFjdGlvbkNvb2tpZUFyZ3VtZW50c0Vycm9yKGksIHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldENvb2tpZXNBcmd1bWVudCAobmFtZSwgdmFsKSB7XG4gICAgaWYgKCF2YWwubGVuZ3RoKVxuICAgICAgICB0aHJvdyBuZXcgQWN0aW9uUmVxdWlyZWRDb29raWVBcmd1bWVudHMoKTtcblxuICAgIGNvb2tpZXNBcmd1bWVudChuYW1lLCB2YWwpO1xufVxuXG5mdW5jdGlvbiBpc1ZhbGlkVXJsICh1cmwpIHtcbiAgICB0cnkge1xuICAgICAgICByZXR1cm4gbmV3IFVSTCh1cmwpICYmIHRydWU7XG4gICAgfVxuICAgIGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVybHNBcmd1bWVudCAobmFtZSwgdmFsKSB7XG4gICAgY29uc3QgY2FzdFZhbCA9IGNhc3RBcnJheSh2YWwpO1xuXG4gICAgZm9yIChjb25zdCBbaSwgdmFsdWVdIG9mIGNhc3RWYWwuZW50cmllcygpKSB7XG4gICAgICAgIGlmICghaXNWYWxpZFVybCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRocm93IGNhc3RWYWwubGVuZ3RoID09PSAxXG4gICAgICAgICAgICAgICAgPyBuZXcgQWN0aW9uVXJsQ29va2llQXJndW1lbnRFcnJvcigpXG4gICAgICAgICAgICAgICAgOiBuZXcgQWN0aW9uVXJsc0Nvb2tpZUFyZ3VtZW50RXJyb3IoaSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdXJsQXJndW1lbnQgKG5hbWUsIHZhbCkge1xuICAgIGNvbnN0IHZhbFR5cGUgPSB0eXBlb2YgdmFsO1xuXG4gICAgaWYgKHZhbFR5cGUgIT09ICdzdHJpbmcnICYmICEodmFsIGluc3RhbmNlb2YgVVJMKSlcbiAgICAgICAgdGhyb3cgbmV3IEFjdGlvblVybEFyZ3VtZW50RXJyb3IobmFtZSwgdmFsVHlwZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBza2lwSnNFcnJvck9wdGlvbnMgKG5hbWUsIHZhbCkge1xuICAgIGNvbnN0IHZhbFR5cGUgPSB0eXBlb2YgdmFsO1xuXG4gICAgaWYgKHZhbFR5cGUgIT09ICd1bmRlZmluZWQnICYmIHZhbFR5cGUgIT09ICdvYmplY3QnICYmIHZhbFR5cGUgIT09ICdib29sZWFuJyAmJiB2YWxUeXBlICE9PSAnZnVuY3Rpb24nKVxuICAgICAgICB0aHJvdyBuZXcgQWN0aW9uU2tpcEpzRXJyb3JzQXJndW1lbnRUeXBlRXJyb3IobmFtZSwgdmFsVHlwZSk7XG59XG4iXX0= |
@@ -7,3 +7,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createObjectValidator = exports.createUrlSearchParamsValidator = exports.createUrlValidator = exports.createNumberValidator = exports.createDateValidator = exports.createStringOrRegexValidator = exports.createStringValidator = exports.createSpeedValidator = exports.createBooleanValidator = exports.createPositiveIntegerValidator = exports.createIntegerValidator = void 0; | ||
exports.createFunctionValidator = exports.createObjectValidator = exports.createUrlSearchParamsValidator = exports.createUrlValidator = exports.createNumberValidator = exports.createDateValidator = exports.createStringOrRegexValidator = exports.createStringValidator = exports.createSpeedValidator = exports.createBooleanValidator = exports.createPositiveIntegerValidator = exports.createIntegerValidator = void 0; | ||
function createIntegerValidator(ErrorCtor) { | ||
@@ -103,2 +103,10 @@ return (name, val) => { | ||
exports.createObjectValidator = createObjectValidator; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Rlc3QtcnVuL2NvbW1hbmRzL3ZhbGlkYXRpb25zL2ZhY3Rvcmllcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsZ0VBQWdFO0FBQ2hFLGdFQUFnRTtBQUNoRSwrQ0FBK0M7QUFDL0MsZ0VBQWdFOzs7QUFFaEUsU0FBZ0Isc0JBQXNCLENBQUUsU0FBUztJQUM3QyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ2pCLE1BQU0sT0FBTyxHQUFHLE9BQU8sR0FBRyxDQUFDO1FBRTNCLElBQUksT0FBTyxLQUFLLFFBQVE7WUFDcEIsTUFBTSxJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFdkMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1lBQ2IsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUNiLEdBQUcsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXhDLElBQUksQ0FBQyxTQUFTO1lBQ1YsTUFBTSxJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQWRELHdEQWNDO0FBRUQsU0FBZ0IsOEJBQThCLENBQUUsU0FBUztJQUNyRCxNQUFNLGdCQUFnQixHQUFHLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTNELE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDakIsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRTVCLElBQUksR0FBRyxHQUFHLENBQUM7WUFDUCxNQUFNLElBQUksU0FBUyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDLENBQUM7QUFDTixDQUFDO0FBVEQsd0VBU0M7QUFFRCxTQUFnQixz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TyxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsR0FBRyxZQUFZLGVBQWUsQ0FBQztZQUN6RCxNQUFNLElBQUksU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDLENBQUM7QUFDTixDQUFDO0FBUEQsd0VBT0M7QUFFRCxTQUFnQixxQkFBcUIsQ0FBRSxTQUFTO0lBQzVDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDakIsTUFBTSxPQUFPLEdBQUcsT0FBTyxHQUFHLENBQUM7UUFFM0IsSUFBSSxPQUFPLEtBQUssUUFBUTtZQUNwQixNQUFNLElBQUksU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDLENBQUM7QUFDTixDQUFDO0FBUEQsc0RBT0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBXQVJOSU5HOiB0aGlzIGZpbGUgaXMgdXNlZCBieSBib3RoIHRoZSBjbGllbnQgYW5kIHRoZSBzZXJ2ZXIuXG4vLyBEbyBub3QgdXNlIGFueSBicm93c2VyIG9yIG5vZGUtc3BlY2lmaWMgQVBJIVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSW50ZWdlclZhbGlkYXRvciAoRXJyb3JDdG9yKSB7XG4gICAgcmV0dXJuIChuYW1lLCB2YWwpID0+IHtcbiAgICAgICAgY29uc3QgdmFsVHlwZSA9IHR5cGVvZiB2YWw7XG5cbiAgICAgICAgaWYgKHZhbFR5cGUgIT09ICdudW1iZXInKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yQ3RvcihuYW1lLCB2YWxUeXBlKTtcblxuICAgICAgICBjb25zdCBpc0ludGVnZXIgPSAhaXNOYU4odmFsKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgaXNGaW5pdGUodmFsKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsID09PSBNYXRoLmZsb29yKHZhbCk7XG5cbiAgICAgICAgaWYgKCFpc0ludGVnZXIpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3JDdG9yKG5hbWUsIHZhbCk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVBvc2l0aXZlSW50ZWdlclZhbGlkYXRvciAoRXJyb3JDdG9yKSB7XG4gICAgY29uc3QgaW50ZWdlclZhbGlkYXRvciA9IGNyZWF0ZUludGVnZXJWYWxpZGF0b3IoRXJyb3JDdG9yKTtcblxuICAgIHJldHVybiAobmFtZSwgdmFsKSA9PiB7XG4gICAgICAgIGludGVnZXJWYWxpZGF0b3IobmFtZSwgdmFsKTtcblxuICAgICAgICBpZiAodmFsIDwgMClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvckN0b3IobmFtZSwgdmFsKTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQm9vbGVhblZhbGlkYXRvciAoRXJyb3JDdG9yKSB7XG4gICAgcmV0dXJuIChuYW1lLCB2YWwpID0+IHtcbiAgICAgICAgY29uc3QgdmFsVHlwZSA9IHR5cGVvZiB2YWw7XG5cbiAgICAgICAgaWYgKHZhbFR5cGUgIT09ICdib29sZWFuJylcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvckN0b3IobmFtZSwgdmFsVHlwZSk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNwZWVkVmFsaWRhdG9yIChFcnJvckN0b3IpIHtcbiAgICByZXR1cm4gKG5hbWUsIHZhbCkgPT4ge1xuICAgICAgICBjb25zdCB2YWxUeXBlID0gdHlwZW9mIHZhbDtcblxuICAgICAgICBpZiAodmFsVHlwZSAhPT0gJ251bWJlcicpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3JDdG9yKG5hbWUsIHZhbFR5cGUpO1xuXG4gICAgICAgIGlmIChpc05hTih2YWwpIHx8IHZhbCA8IDAuMDEgfHwgdmFsID4gMSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvckN0b3IobmFtZSwgdmFsKTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU3RyaW5nVmFsaWRhdG9yIChFcnJvckN0b3IpIHtcbiAgICByZXR1cm4gKG5hbWUsIHZhbCkgPT4ge1xuICAgICAgICBjb25zdCB2YWxUeXBlID0gdHlwZW9mIHZhbDtcblxuICAgICAgICBpZiAodmFsVHlwZSAhPT0gJ3N0cmluZycpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3JDdG9yKG5hbWUsIHZhbFR5cGUpO1xuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU3RyaW5nT3JSZWdleFZhbGlkYXRvciAoRXJyb3JDdG9yKSB7XG4gICAgcmV0dXJuIChuYW1lLCB2YWwpID0+IHtcbiAgICAgICAgY29uc3QgdmFsVHlwZSA9IHR5cGVvZiB2YWw7XG5cbiAgICAgICAgaWYgKHZhbFR5cGUgIT09ICdzdHJpbmcnICYmICEodmFsIGluc3RhbmNlb2YgUmVnRXhwKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvckN0b3IobmFtZSwgdmFsVHlwZSk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURhdGVWYWxpZGF0b3IgKEVycm9yQ3Rvcikge1xuICAgIHJldHVybiAobmFtZSwgdmFsKSA9PiB7XG4gICAgICAgIGlmICghKHZhbCBpbnN0YW5jZW9mIERhdGUpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yQ3RvcihuYW1lLCB2YWwpO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVOdW1iZXJWYWxpZGF0b3IgKEVycm9yQ3Rvcikge1xuICAgIHJldHVybiAobmFtZSwgdmFsKSA9PiB7XG4gICAgICAgIGlmIChpc05hTihOdW1iZXIodmFsKSkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3JDdG9yKG5hbWUsIHR5cGVvZiB2YWwpO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVcmxWYWxpZGF0b3IgKEVycm9yQ3Rvcikge1xuICAgIHJldHVybiAobmFtZSwgdmFsKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbFR5cGUgPSB0eXBlb2YgdmFsO1xuXG4gICAgICAgIGlmICh2YWxUeXBlICE9PSAnc3RyaW5nJyAmJiAhKHZhbCBpbnN0YW5jZW9mIFVSTCkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3JDdG9yKG5hbWUsIHZhbFR5cGUpO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVcmxTZWFyY2hQYXJhbXNWYWxpZGF0b3IgKEVycm9yQ3Rvcikge1xuICAgIHJldHVybiAobmFtZSwgdmFsKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbFR5cGUgPSB0eXBlb2YgdmFsO1xuXG4gICAgICAgIGlmICh2YWxUeXBlICE9PSAnb2JqZWN0JyAmJiAhKHZhbCBpbnN0YW5jZW9mIFVSTFNlYXJjaFBhcmFtcykpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3JDdG9yKG5hbWUsIHZhbFR5cGUpO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVPYmplY3RWYWxpZGF0b3IgKEVycm9yQ3Rvcikge1xuICAgIHJldHVybiAobmFtZSwgdmFsKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbFR5cGUgPSB0eXBlb2YgdmFsO1xuXG4gICAgICAgIGlmICh2YWxUeXBlICE9PSAnb2JqZWN0JylcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvckN0b3IobmFtZSwgdmFsVHlwZSk7XG4gICAgfTtcbn1cbiJdfQ== | ||
function createFunctionValidator(ErrorCtor) { | ||
return (name, val) => { | ||
const valType = typeof val; | ||
if (valType !== 'function') | ||
throw new ErrorCtor(name, valType); | ||
}; | ||
} | ||
exports.createFunctionValidator = createFunctionValidator; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Rlc3QtcnVuL2NvbW1hbmRzL3ZhbGlkYXRpb25zL2ZhY3Rvcmllcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsZ0VBQWdFO0FBQ2hFLGdFQUFnRTtBQUNoRSwrQ0FBK0M7QUFDL0MsZ0VBQWdFOzs7QUFFaEUsU0FBZ0Isc0JBQXNCLENBQUUsU0FBUztJQUM3QyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ2pCLE1BQU0sT0FBTyxHQUFHLE9BQU8sR0FBRyxDQUFDO1FBRTNCLElBQUksT0FBTyxLQUFLLFFBQVE7WUFDcEIsTUFBTSxJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFdkMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1lBQ2IsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUNiLEdBQUcsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXhDLElBQUksQ0FBQyxTQUFTO1lBQ1YsTUFBTSxJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQWRELHdEQWNDO0FBRUQsU0FBZ0IsOEJBQThCLENBQUUsU0FBUztJQUNyRCxNQUFNLGdCQUFnQixHQUFHLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTNELE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDakIsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRTVCLElBQUksR0FBRyxHQUFHLENBQUM7WUFDUCxNQUFNLElBQUksU0FBUyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDLENBQUM7QUFDTixDQUFDO0FBVEQsd0VBU0M7QUFFRCxTQUFnQixz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TyxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsR0FBRyxZQUFZLGVBQWUsQ0FBQztZQUN6RCxNQUFNLElBQUksU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDLENBQUM7QUFDTixDQUFDO0FBUEQsd0VBT0M7QUFFRCxTQUFnQixxQkFBcUIsQ0FBRSxTQUFTO0lBQzVDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDakIsTUFBTSxPQUFPLEdBQUcsT0FBTyxHQUFHLENBQUM7UUFFM0IsSUFBSSxPQUFPLEtBQUssUUFBUTtZQUNwQixNQUFNLElBQUksU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDLENBQUM7QUFDTixDQUFDO0FBUEQsc0RBT0M7QUFFRCxTQUFnQix1QkFBdUIsQ0FBRSxTQUFTO0lBQzlDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDakIsTUFBTSxPQUFPLEdBQUcsT0FBTyxHQUFHLENBQUM7UUFFM0IsSUFBSSxPQUFPLEtBQUssVUFBVTtZQUN0QixNQUFNLElBQUksU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDLENBQUM7QUFDTixDQUFDO0FBUEQsMERBT0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBXQVJOSU5HOiB0aGlzIGZpbGUgaXMgdXNlZCBieSBib3RoIHRoZSBjbGllbnQgYW5kIHRoZSBzZXJ2ZXIuXG4vLyBEbyBub3QgdXNlIGFueSBicm93c2VyIG9yIG5vZGUtc3BlY2lmaWMgQVBJIVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSW50ZWdlclZhbGlkYXRvciAoRXJyb3JDdG9yKSB7XG4gICAgcmV0dXJuIChuYW1lLCB2YWwpID0+IHtcbiAgICAgICAgY29uc3QgdmFsVHlwZSA9IHR5cGVvZiB2YWw7XG5cbiAgICAgICAgaWYgKHZhbFR5cGUgIT09ICdudW1iZXInKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yQ3RvcihuYW1lLCB2YWxUeXBlKTtcblxuICAgICAgICBjb25zdCBpc0ludGVnZXIgPSAhaXNOYU4odmFsKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgaXNGaW5pdGUodmFsKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsID09PSBNYXRoLmZsb29yKHZhbCk7XG5cbiAgICAgICAgaWYgKCFpc0ludGVnZXIpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3JDdG9yKG5hbWUsIHZhbCk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVBvc2l0aXZlSW50ZWdlclZhbGlkYXRvciAoRXJyb3JDdG9yKSB7XG4gICAgY29uc3QgaW50ZWdlclZhbGlkYXRvciA9IGNyZWF0ZUludGVnZXJWYWxpZGF0b3IoRXJyb3JDdG9yKTtcblxuICAgIHJldHVybiAobmFtZSwgdmFsKSA9PiB7XG4gICAgICAgIGludGVnZXJWYWxpZGF0b3IobmFtZSwgdmFsKTtcblxuICAgICAgICBpZiAodmFsIDwgMClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvckN0b3IobmFtZSwgdmFsKTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQm9vbGVhblZhbGlkYXRvciAoRXJyb3JDdG9yKSB7XG4gICAgcmV0dXJuIChuYW1lLCB2YWwpID0+IHtcbiAgICAgICAgY29uc3QgdmFsVHlwZSA9IHR5cGVvZiB2YWw7XG5cbiAgICAgICAgaWYgKHZhbFR5cGUgIT09ICdib29sZWFuJylcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvckN0b3IobmFtZSwgdmFsVHlwZSk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNwZWVkVmFsaWRhdG9yIChFcnJvckN0b3IpIHtcbiAgICByZXR1cm4gKG5hbWUsIHZhbCkgPT4ge1xuICAgICAgICBjb25zdCB2YWxUeXBlID0gdHlwZW9mIHZhbDtcblxuICAgICAgICBpZiAodmFsVHlwZSAhPT0gJ251bWJlcicpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3JDdG9yKG5hbWUsIHZhbFR5cGUpO1xuXG4gICAgICAgIGlmIChpc05hTih2YWwpIHx8IHZhbCA8IDAuMDEgfHwgdmFsID4gMSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvckN0b3IobmFtZSwgdmFsKTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU3RyaW5nVmFsaWRhdG9yIChFcnJvckN0b3IpIHtcbiAgICByZXR1cm4gKG5hbWUsIHZhbCkgPT4ge1xuICAgICAgICBjb25zdCB2YWxUeXBlID0gdHlwZW9mIHZhbDtcblxuICAgICAgICBpZiAodmFsVHlwZSAhPT0gJ3N0cmluZycpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3JDdG9yKG5hbWUsIHZhbFR5cGUpO1xuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU3RyaW5nT3JSZWdleFZhbGlkYXRvciAoRXJyb3JDdG9yKSB7XG4gICAgcmV0dXJuIChuYW1lLCB2YWwpID0+IHtcbiAgICAgICAgY29uc3QgdmFsVHlwZSA9IHR5cGVvZiB2YWw7XG5cbiAgICAgICAgaWYgKHZhbFR5cGUgIT09ICdzdHJpbmcnICYmICEodmFsIGluc3RhbmNlb2YgUmVnRXhwKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvckN0b3IobmFtZSwgdmFsVHlwZSk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURhdGVWYWxpZGF0b3IgKEVycm9yQ3Rvcikge1xuICAgIHJldHVybiAobmFtZSwgdmFsKSA9PiB7XG4gICAgICAgIGlmICghKHZhbCBpbnN0YW5jZW9mIERhdGUpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yQ3RvcihuYW1lLCB2YWwpO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVOdW1iZXJWYWxpZGF0b3IgKEVycm9yQ3Rvcikge1xuICAgIHJldHVybiAobmFtZSwgdmFsKSA9PiB7XG4gICAgICAgIGlmIChpc05hTihOdW1iZXIodmFsKSkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3JDdG9yKG5hbWUsIHR5cGVvZiB2YWwpO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVcmxWYWxpZGF0b3IgKEVycm9yQ3Rvcikge1xuICAgIHJldHVybiAobmFtZSwgdmFsKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbFR5cGUgPSB0eXBlb2YgdmFsO1xuXG4gICAgICAgIGlmICh2YWxUeXBlICE9PSAnc3RyaW5nJyAmJiAhKHZhbCBpbnN0YW5jZW9mIFVSTCkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3JDdG9yKG5hbWUsIHZhbFR5cGUpO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVcmxTZWFyY2hQYXJhbXNWYWxpZGF0b3IgKEVycm9yQ3Rvcikge1xuICAgIHJldHVybiAobmFtZSwgdmFsKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbFR5cGUgPSB0eXBlb2YgdmFsO1xuXG4gICAgICAgIGlmICh2YWxUeXBlICE9PSAnb2JqZWN0JyAmJiAhKHZhbCBpbnN0YW5jZW9mIFVSTFNlYXJjaFBhcmFtcykpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3JDdG9yKG5hbWUsIHZhbFR5cGUpO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVPYmplY3RWYWxpZGF0b3IgKEVycm9yQ3Rvcikge1xuICAgIHJldHVybiAobmFtZSwgdmFsKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbFR5cGUgPSB0eXBlb2YgdmFsO1xuXG4gICAgICAgIGlmICh2YWxUeXBlICE9PSAnb2JqZWN0JylcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvckN0b3IobmFtZSwgdmFsVHlwZSk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZ1bmN0aW9uVmFsaWRhdG9yIChFcnJvckN0b3IpIHtcbiAgICByZXR1cm4gKG5hbWUsIHZhbCkgPT4ge1xuICAgICAgICBjb25zdCB2YWxUeXBlID0gdHlwZW9mIHZhbDtcblxuICAgICAgICBpZiAodmFsVHlwZSAhPT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvckN0b3IobmFtZSwgdmFsVHlwZSk7XG4gICAgfTtcbn1cbiJdfQ== |
@@ -6,17 +6,16 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getSkipJsErrorsOptions = exports.validateSkipJsErrorsOptionsObject = void 0; | ||
exports.getSkipJsErrorsOptions = exports.validateSkipJsErrorsOptionValue = void 0; | ||
const base_1 = __importDefault(require("./base")); | ||
const skip_js_errors_option_names_1 = __importDefault(require("../../configuration/skip-js-errors-option-names")); | ||
const skip_js_errors_option_names_1 = require("../../configuration/skip-js-errors-option-names"); | ||
const types_1 = require("../../errors/types"); | ||
const runtime_1 = require("../../errors/runtime"); | ||
function _isSkipJsOption(option) { | ||
return Object.values(skip_js_errors_option_names_1.default).includes(option); | ||
const skip_js_errors_1 = require("../../api/skip-js-errors"); | ||
function validateSkipJsErrorsOptionValue(options, ErrorCtor) { | ||
if ((0, skip_js_errors_1.isSkipJsErrorsCallbackWithOptionsObject)(options)) | ||
validateSkipJsErrorsCallbackWithOptionsObject(options, ErrorCtor); | ||
else if ((0, skip_js_errors_1.isSkipJsErrorsOptionsObject)(options)) | ||
validateSkipJsErrorsOptionsObject(options, ErrorCtor); | ||
return void 0; | ||
} | ||
function validateSkipJsErrorsOptionsObject(options, ErrorCtor) { | ||
for (const key in options) { | ||
if (!_isSkipJsOption(key)) | ||
throw new ErrorCtor(types_1.RUNTIME_ERRORS.invalidSkipJsErrorsOption, key); | ||
} | ||
} | ||
exports.validateSkipJsErrorsOptionsObject = validateSkipJsErrorsOptionsObject; | ||
exports.validateSkipJsErrorsOptionValue = validateSkipJsErrorsOptionValue; | ||
async function getSkipJsErrorsOptions(optionName, options) { | ||
@@ -36,2 +35,20 @@ if (typeof options === 'boolean') | ||
exports.getSkipJsErrorsOptions = getSkipJsErrorsOptions; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpcC1qcy1lcnJvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZ2V0LW9wdGlvbnMvc2tpcC1qcy1lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQW9DO0FBQ3BDLGtIQUEwRjtBQUMxRiw4Q0FBb0Q7QUFDcEQsa0RBQW9EO0FBR3BELFNBQVMsZUFBZSxDQUFFLE1BQWM7SUFDcEMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLHFDQUEyQixDQUFDLENBQUMsUUFBUSxDQUFDLE1BQXFDLENBQUMsQ0FBQztBQUN0RyxDQUFDO0FBRUQsU0FBZ0IsaUNBQWlDLENBQUUsT0FBd0QsRUFBRSxTQUFjO0lBQ3ZILEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxTQUFTLENBQUMsc0JBQWMsQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLENBQUMsQ0FBQztLQUMxRTtBQUNMLENBQUM7QUFMRCw4RUFLQztBQUVNLEtBQUssVUFBVSxzQkFBc0IsQ0FBRSxVQUFrQixFQUFFLE9BQXVEO0lBQ3JILElBQUksT0FBTyxPQUFPLEtBQUssU0FBUztRQUM1QixPQUFPLE9BQU8sQ0FBQztJQUVuQixNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUEsY0FBYyxFQUFDLE9BQTZCLEVBQUU7UUFDdEUsS0FBSyxDQUFDLGNBQWMsQ0FBRSxHQUFXLEVBQUUsS0FBc0I7WUFDckQsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUs7Z0JBQ2QsTUFBTSxJQUFJLHNCQUFZLENBQUMsc0JBQWMsQ0FBQyw2QkFBNkIsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUVyRixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO0tBQ0osQ0FBQyxDQUFDO0lBRUgsaUNBQWlDLENBQUMsYUFBYSxFQUFFLHNCQUFZLENBQUMsQ0FBQztJQUUvRCxPQUFPLGFBQWEsQ0FBQztBQUN6QixDQUFDO0FBaEJELHdEQWdCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBiYXNlR2V0T3B0aW9ucyBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IFNLSVBfSlNfRVJST1JTX09QVElPTl9OQU1FUyBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9uL3NraXAtanMtZXJyb3JzLW9wdGlvbi1uYW1lcyc7XG5pbXBvcnQgeyBSVU5USU1FX0VSUk9SUyB9IGZyb20gJy4uLy4uL2Vycm9ycy90eXBlcyc7XG5pbXBvcnQgeyBHZW5lcmFsRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMvcnVudGltZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbi9pbnRlcmZhY2VzJztcblxuZnVuY3Rpb24gX2lzU2tpcEpzT3B0aW9uIChvcHRpb246IHN0cmluZyk6IG9wdGlvbiBpcyBTS0lQX0pTX0VSUk9SU19PUFRJT05fTkFNRVMge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKFNLSVBfSlNfRVJST1JTX09QVElPTl9OQU1FUykuaW5jbHVkZXMob3B0aW9uIGFzIFNLSVBfSlNfRVJST1JTX09QVElPTl9OQU1FUyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNraXBKc0Vycm9yc09wdGlvbnNPYmplY3QgKG9wdGlvbnM6IERpY3Rpb25hcnk8dW5rbm93bj4gfCBTa2lwSnNFcnJvcnNPcHRpb25zT2JqZWN0LCBFcnJvckN0b3I6IGFueSk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qga2V5IGluIG9wdGlvbnMpIHtcbiAgICAgICAgaWYgKCFfaXNTa2lwSnNPcHRpb24oa2V5KSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvckN0b3IoUlVOVElNRV9FUlJPUlMuaW52YWxpZFNraXBKc0Vycm9yc09wdGlvbiwga2V5KTtcbiAgICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRTa2lwSnNFcnJvcnNPcHRpb25zIChvcHRpb25OYW1lOiBzdHJpbmcsIG9wdGlvbnM6IHN0cmluZyB8IGJvb2xlYW4gfCBEaWN0aW9uYXJ5PHN0cmluZyB8IFJlZ0V4cD4pOiBQcm9taXNlPERpY3Rpb25hcnk8UmVnRXhwfHN0cmluZz4gfCBib29sZWFuPiB7XG4gICAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnYm9vbGVhbicpXG4gICAgICAgIHJldHVybiBvcHRpb25zO1xuXG4gICAgY29uc3QgcGFyc2VkT3B0aW9ucyA9IGF3YWl0IGJhc2VHZXRPcHRpb25zKG9wdGlvbnMgYXMgRGljdGlvbmFyeTxzdHJpbmc+LCB7XG4gICAgICAgIGFzeW5jIG9uT3B0aW9uUGFyc2VkIChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IFJlZ0V4cCkge1xuICAgICAgICAgICAgaWYgKCFrZXkgfHwgIXZhbHVlKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBHZW5lcmFsRXJyb3IoUlVOVElNRV9FUlJPUlMub3B0aW9uVmFsdWVJc05vdFZhbGlkS2V5VmFsdWUsIG9wdGlvbk5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB2YWxpZGF0ZVNraXBKc0Vycm9yc09wdGlvbnNPYmplY3QocGFyc2VkT3B0aW9ucywgR2VuZXJhbEVycm9yKTtcblxuICAgIHJldHVybiBwYXJzZWRPcHRpb25zO1xufVxuIl19 | ||
function _isSkipJsErrorsOptionsObjectOption(option) { | ||
return Object.values(skip_js_errors_option_names_1.SKIP_JS_ERRORS_OPTIONS_OBJECT_OPTION_NAMES).includes(option); | ||
} | ||
function _isSkipJsErrorsCallbackWithOptionsOption(option) { | ||
return Object.values(skip_js_errors_option_names_1.SKIP_JS_ERRORS_CALLBACK_WITH_OPTIONS_OPTION_NAMES).includes(option); | ||
} | ||
function validateSkipJsErrorsOptionsObject(options, ErrorCtor) { | ||
for (const key in options) { | ||
if (!_isSkipJsErrorsOptionsObjectOption(key)) | ||
throw new ErrorCtor(types_1.RUNTIME_ERRORS.invalidSkipJsErrorsOptionsObjectProperty, key); | ||
} | ||
} | ||
function validateSkipJsErrorsCallbackWithOptionsObject(options, ErrorCtor) { | ||
for (const key in options) { | ||
if (!_isSkipJsErrorsCallbackWithOptionsOption(key)) | ||
throw new ErrorCtor(types_1.RUNTIME_ERRORS.invalidSkipJsErrorsCallbackWithOptionsProperty, key); | ||
} | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpcC1qcy1lcnJvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZ2V0LW9wdGlvbnMvc2tpcC1qcy1lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQW9DO0FBQ3BDLGlHQUFnSztBQUNoSyw4Q0FBb0Q7QUFDcEQsa0RBQW9EO0FBRXBELDZEQUFnSDtBQUVoSCxTQUFnQiwrQkFBK0IsQ0FBRSxPQUFpSSxFQUFFLFNBQWM7SUFDOUwsSUFBSSxJQUFBLHdEQUF1QyxFQUFDLE9BQU8sQ0FBQztRQUNoRCw2Q0FBNkMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FFakUsSUFBSSxJQUFBLDRDQUEyQixFQUFDLE9BQU8sQ0FBQztRQUN6QyxpQ0FBaUMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFMUQsT0FBTyxLQUFLLENBQUMsQ0FBQztBQUNsQixDQUFDO0FBUkQsMEVBUUM7QUFFTSxLQUFLLFVBQVUsc0JBQXNCLENBQUUsVUFBa0IsRUFBRSxPQUF1RDtJQUNySCxJQUFJLE9BQU8sT0FBTyxLQUFLLFNBQVM7UUFDNUIsT0FBTyxPQUFPLENBQUM7SUFFbkIsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFBLGNBQWMsRUFBQyxPQUE2QixFQUFFO1FBQ3RFLEtBQUssQ0FBQyxjQUFjLENBQUUsR0FBVyxFQUFFLEtBQXNCO1lBQ3JELElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLO2dCQUNkLE1BQU0sSUFBSSxzQkFBWSxDQUFDLHNCQUFjLENBQUMsNkJBQTZCLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFFckYsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztLQUNKLENBQUMsQ0FBQztJQUVILGlDQUFpQyxDQUFDLGFBQWEsRUFBRSxzQkFBWSxDQUFDLENBQUM7SUFFL0QsT0FBTyxhQUFhLENBQUM7QUFDekIsQ0FBQztBQWhCRCx3REFnQkM7QUFFRCxTQUFTLGtDQUFrQyxDQUFFLE1BQWM7SUFDdkQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLHdFQUEwQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQW9ELENBQUMsQ0FBQztBQUNwSSxDQUFDO0FBRUQsU0FBUyx3Q0FBd0MsQ0FBRSxNQUFjO0lBQzdELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQywrRUFBaUQsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUEyRCxDQUFDLENBQUM7QUFDbEosQ0FBQztBQUVELFNBQVMsaUNBQWlDLENBQUUsT0FBd0QsRUFBRSxTQUFjO0lBQ2hILEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFO1FBQ3ZCLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFHLENBQUM7WUFDeEMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxzQkFBYyxDQUFDLHdDQUF3QyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQ3pGO0FBQ0wsQ0FBQztBQUVELFNBQVMsNkNBQTZDLENBQUUsT0FBb0UsRUFBRSxTQUFjO0lBQ3hJLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFO1FBQ3ZCLElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxHQUFHLENBQUM7WUFDOUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxzQkFBYyxDQUFDLDhDQUE4QyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQy9GO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBiYXNlR2V0T3B0aW9ucyBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgU0tJUF9KU19FUlJPUlNfQ0FMTEJBQ0tfV0lUSF9PUFRJT05TX09QVElPTl9OQU1FUywgU0tJUF9KU19FUlJPUlNfT1BUSU9OU19PQkpFQ1RfT1BUSU9OX05BTUVTIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbi9za2lwLWpzLWVycm9ycy1vcHRpb24tbmFtZXMnO1xuaW1wb3J0IHsgUlVOVElNRV9FUlJPUlMgfSBmcm9tICcuLi8uLi9lcnJvcnMvdHlwZXMnO1xuaW1wb3J0IHsgR2VuZXJhbEVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL3J1bnRpbWUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb24vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBpc1NraXBKc0Vycm9yc0NhbGxiYWNrV2l0aE9wdGlvbnNPYmplY3QsIGlzU2tpcEpzRXJyb3JzT3B0aW9uc09iamVjdCB9IGZyb20gJy4uLy4uL2FwaS9za2lwLWpzLWVycm9ycyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNraXBKc0Vycm9yc09wdGlvblZhbHVlIChvcHRpb25zOiBib29sZWFuIHwgRGljdGlvbmFyeTx1bmtub3duPiB8IFNraXBKc0Vycm9yc09wdGlvbnNPYmplY3QgfCBTa2lwSnNFcnJvcnNDYWxsYmFjayB8IFNraXBKc0Vycm9yc0NhbGxiYWNrV2l0aE9wdGlvbnNPYmplY3QsIEVycm9yQ3RvcjogYW55KTogdm9pZCB7XG4gICAgaWYgKGlzU2tpcEpzRXJyb3JzQ2FsbGJhY2tXaXRoT3B0aW9uc09iamVjdChvcHRpb25zKSlcbiAgICAgICAgdmFsaWRhdGVTa2lwSnNFcnJvcnNDYWxsYmFja1dpdGhPcHRpb25zT2JqZWN0KG9wdGlvbnMsIEVycm9yQ3Rvcik7XG5cbiAgICBlbHNlIGlmIChpc1NraXBKc0Vycm9yc09wdGlvbnNPYmplY3Qob3B0aW9ucykpXG4gICAgICAgIHZhbGlkYXRlU2tpcEpzRXJyb3JzT3B0aW9uc09iamVjdChvcHRpb25zLCBFcnJvckN0b3IpO1xuXG4gICAgcmV0dXJuIHZvaWQgMDtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFNraXBKc0Vycm9yc09wdGlvbnMgKG9wdGlvbk5hbWU6IHN0cmluZywgb3B0aW9uczogc3RyaW5nIHwgYm9vbGVhbiB8IERpY3Rpb25hcnk8c3RyaW5nIHwgUmVnRXhwPik6IFByb21pc2U8RGljdGlvbmFyeTxSZWdFeHB8c3RyaW5nPiB8IGJvb2xlYW4+IHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdib29sZWFuJylcbiAgICAgICAgcmV0dXJuIG9wdGlvbnM7XG5cbiAgICBjb25zdCBwYXJzZWRPcHRpb25zID0gYXdhaXQgYmFzZUdldE9wdGlvbnMob3B0aW9ucyBhcyBEaWN0aW9uYXJ5PHN0cmluZz4sIHtcbiAgICAgICAgYXN5bmMgb25PcHRpb25QYXJzZWQgKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgUmVnRXhwKSB7XG4gICAgICAgICAgICBpZiAoIWtleSB8fCAhdmFsdWUpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEdlbmVyYWxFcnJvcihSVU5USU1FX0VSUk9SUy5vcHRpb25WYWx1ZUlzTm90VmFsaWRLZXlWYWx1ZSwgb3B0aW9uTmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfSxcbiAgICB9KTtcblxuICAgIHZhbGlkYXRlU2tpcEpzRXJyb3JzT3B0aW9uc09iamVjdChwYXJzZWRPcHRpb25zLCBHZW5lcmFsRXJyb3IpO1xuXG4gICAgcmV0dXJuIHBhcnNlZE9wdGlvbnM7XG59XG5cbmZ1bmN0aW9uIF9pc1NraXBKc0Vycm9yc09wdGlvbnNPYmplY3RPcHRpb24gKG9wdGlvbjogc3RyaW5nKTogb3B0aW9uIGlzIFNLSVBfSlNfRVJST1JTX09QVElPTlNfT0JKRUNUX09QVElPTl9OQU1FUyB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoU0tJUF9KU19FUlJPUlNfT1BUSU9OU19PQkpFQ1RfT1BUSU9OX05BTUVTKS5pbmNsdWRlcyhvcHRpb24gYXMgU0tJUF9KU19FUlJPUlNfT1BUSU9OU19PQkpFQ1RfT1BUSU9OX05BTUVTKTtcbn1cblxuZnVuY3Rpb24gX2lzU2tpcEpzRXJyb3JzQ2FsbGJhY2tXaXRoT3B0aW9uc09wdGlvbiAob3B0aW9uOiBzdHJpbmcpOiBvcHRpb24gaXMgU0tJUF9KU19FUlJPUlNfQ0FMTEJBQ0tfV0lUSF9PUFRJT05TX09QVElPTl9OQU1FUyB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoU0tJUF9KU19FUlJPUlNfQ0FMTEJBQ0tfV0lUSF9PUFRJT05TX09QVElPTl9OQU1FUykuaW5jbHVkZXMob3B0aW9uIGFzIFNLSVBfSlNfRVJST1JTX0NBTExCQUNLX1dJVEhfT1BUSU9OU19PUFRJT05fTkFNRVMpO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVNraXBKc0Vycm9yc09wdGlvbnNPYmplY3QgKG9wdGlvbnM6IERpY3Rpb25hcnk8dW5rbm93bj4gfCBTa2lwSnNFcnJvcnNPcHRpb25zT2JqZWN0LCBFcnJvckN0b3I6IGFueSk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qga2V5IGluIG9wdGlvbnMpIHtcbiAgICAgICAgaWYgKCFfaXNTa2lwSnNFcnJvcnNPcHRpb25zT2JqZWN0T3B0aW9uKGtleSkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3JDdG9yKFJVTlRJTUVfRVJST1JTLmludmFsaWRTa2lwSnNFcnJvcnNPcHRpb25zT2JqZWN0UHJvcGVydHksIGtleSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVNraXBKc0Vycm9yc0NhbGxiYWNrV2l0aE9wdGlvbnNPYmplY3QgKG9wdGlvbnM6IERpY3Rpb25hcnk8dW5rbm93bj4gfCBTa2lwSnNFcnJvcnNDYWxsYmFja1dpdGhPcHRpb25zT2JqZWN0LCBFcnJvckN0b3I6IGFueSk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qga2V5IGluIG9wdGlvbnMpIHtcbiAgICAgICAgaWYgKCFfaXNTa2lwSnNFcnJvcnNDYWxsYmFja1dpdGhPcHRpb25zT3B0aW9uKGtleSkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3JDdG9yKFJVTlRJTUVfRVJST1JTLmludmFsaWRTa2lwSnNFcnJvcnNDYWxsYmFja1dpdGhPcHRpb25zUHJvcGVydHksIGtleSk7XG4gICAgfVxufVxuIl19 |
@@ -13,2 +13,4 @@ "use strict"; | ||
const DEFAULT_OPTIONS = { | ||
// NOTE: use to force stdin and stdout formats | ||
'f': 'image2pipe', | ||
// NOTE: don't ask confirmation for rewriting the output file | ||
@@ -33,3 +35,3 @@ 'y': true, | ||
const FFMPEG_START_DELAY = 500; | ||
const DELAY_AFTER_EMPTY_FRAME = 50; | ||
const DELAY_AFTER_EMPTY_FRAME = 20; | ||
class VideoRecorder extends async_event_emitter_1.default { | ||
@@ -153,2 +155,2 @@ constructor(basePath, ffmpegPath, connection, customOptions) { | ||
module.exports = exports.default; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92aWRlby1yZWNvcmRlci9wcm9jZXNzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLGlEQUFzQztBQUN0QyxtQ0FBaUM7QUFDakMsdUZBQXdEO0FBQ3hELDJEQUFtQztBQUduQyxNQUFNLG1CQUFtQixHQUFHLGtDQUFrQyxDQUFDO0FBRS9ELE1BQU0sZUFBZSxHQUFHO0lBQ3BCLDZEQUE2RDtJQUM3RCxHQUFHLEVBQUUsSUFBSTtJQUVULDJFQUEyRTtJQUMzRSw2REFBNkQ7SUFDN0QsNkJBQTZCLEVBQUUsQ0FBQztJQUVoQyw4QkFBOEI7SUFDOUIsR0FBRyxFQUFFLFFBQVE7SUFFYixrQ0FBa0M7SUFDbEMsS0FBSyxFQUFFLFNBQVM7SUFFaEIsK0NBQStDO0lBQy9DLFFBQVEsRUFBRSxXQUFXO0lBRXJCLGlFQUFpRTtJQUNqRSxTQUFTLEVBQUUsU0FBUztJQUVwQiwyRkFBMkY7SUFDM0YsSUFBSSxFQUFFLG1DQUFtQztJQUV6QyxpRkFBaUY7SUFDakYsR0FBRyxFQUFFLEVBQUU7Q0FDVixDQUFDO0FBRUYsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUM7QUFFL0IsTUFBTSx1QkFBdUIsR0FBRyxFQUFFLENBQUM7QUFFbkMsTUFBcUIsYUFBYyxTQUFRLDZCQUFZO0lBQ25ELFlBQWEsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsYUFBYTtRQUN4RCxLQUFLLEVBQUUsQ0FBQztRQUVSLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBQSxlQUFLLEVBQUMsbUJBQW1CLEdBQUcsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQU8sUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQU0sVUFBVSxDQUFDO1FBQ2hDLElBQUks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QUM7UUFFbkIsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUIsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDNUIsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekIsQ0FBQztDQUNKO0FBekpELGdDQXlKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgeyBzcGF3biB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IHsgZmxhdHRlbiB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgQXN5bmNFbWl0dGVyIGZyb20gJy4uL3V0aWxzL2FzeW5jLWV2ZW50LWVtaXR0ZXInO1xuaW1wb3J0IGRlbGF5IGZyb20gJy4uL3V0aWxzL2RlbGF5JztcblxuXG5jb25zdCBERUJVR19MT0dHRVJfUFJFRklYID0gJ3Rlc3RjYWZlOnZpZGVvLXJlY29yZGVyOnByb2Nlc3M6JztcblxuY29uc3QgREVGQVVMVF9PUFRJT05TID0ge1xuICAgIC8vIE5PVEU6IGRvbid0IGFzayBjb25maXJtYXRpb24gZm9yIHJld3JpdGluZyB0aGUgb3V0cHV0IGZpbGVcbiAgICAneSc6IHRydWUsXG5cbiAgICAvLyBOT1RFOiB1c2UgdGhlIHRpbWUgd2hlbiBhIGZyYW1lIGlzIHJlYWQgZnJvbSB0aGUgc291cmNlIGFzIGl0cyB0aW1lc3RhbXBcbiAgICAvLyBJTVBPUlRBTlQ6IG11c3QgYmUgc3BlY2lmaWVkIGJlZm9yZSBjb25maWd1cmluZyB0aGUgc291cmNlXG4gICAgJ3VzZV93YWxsY2xvY2tfYXNfdGltZXN0YW1wcyc6IDEsXG5cbiAgICAvLyBOT1RFOiB1c2Ugc3RkaW4gYXMgYSBzb3VyY2VcbiAgICAnaSc6ICdwaXBlOjAnLFxuXG4gICAgLy8gTk9URTogdXNlIHRoZSBILjI2NCB2aWRlbyBjb2RlY1xuICAgICdjOnYnOiAnbGlieDI2NCcsXG5cbiAgICAvLyBOT1RFOiB1c2UgdGhlICd1bHRyYWZhc3QnIGNvbXByZXNzaW9uIHByZXNldFxuICAgICdwcmVzZXQnOiAndWx0cmFmYXN0JyxcblxuICAgIC8vIE5PVEU6IHVzZSB0aGUgeXV2NDIwcCBwaXhlbCBmb3JtYXQgKHRoZSBtb3N0IHdpZGVseSBzdXBwb3J0ZWQpXG4gICAgJ3BpeF9mbXQnOiAneXV2NDIwcCcsXG5cbiAgICAvLyBOT1RFOiBzY2FsZSBpbnB1dCBmcmFtZXMgdG8gbWFrZSB0aGUgZnJhbWUgaGVpZ2h0IGRpdmlzaWJsZSBieSAyICh5dXY0MjBwJ3MgcmVxdWlyZW1lbnQpXG4gICAgJ3ZmJzogJ3NjYWxlPXRydW5jKGl3LzIpKjI6dHJ1bmMoaWgvMikqMicsXG5cbiAgICAvLyBOT1RFOiBzZXQgdGhlIGZyYW1lIHJhdGUgdG8gMzAgaW4gdGhlIG91dHB1dCB2aWRlbyAodGhlIG1vc3Qgd2lkZWx5IHN1cHBvcnRlZClcbiAgICAncic6IDMwLFxufTtcblxuY29uc3QgRkZNUEVHX1NUQVJUX0RFTEFZID0gNTAwO1xuXG5jb25zdCBERUxBWV9BRlRFUl9FTVBUWV9GUkFNRSA9IDUwO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWaWRlb1JlY29yZGVyIGV4dGVuZHMgQXN5bmNFbWl0dGVyIHtcbiAgICBjb25zdHJ1Y3RvciAoYmFzZVBhdGgsIGZmbXBlZ1BhdGgsIGNvbm5lY3Rpb24sIGN1c3RvbU9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLmRlYnVnTG9nZ2VyID0gZGVidWcoREVCVUdfTE9HR0VSX1BSRUZJWCArIGNvbm5lY3Rpb24uaWQpO1xuXG4gICAgICAgIHRoaXMuY3VzdG9tT3B0aW9ucyA9IGN1c3RvbU9wdGlvbnM7XG4gICAgICAgIHRoaXMudmlkZW9QYXRoICAgICA9IGJhc2VQYXRoO1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb24gICAgPSBjb25uZWN0aW9uO1xuICAgICAgICB0aGlzLmZmbXBlZ1BhdGggICAgPSBmZm1wZWdQYXRoO1xuICAgICAgICB0aGlzLmZmbXBlZ1Byb2Nlc3MgPSBudWxsO1xuXG4gICAgICAgIHRoaXMuZmZtcGVnU3Rkb3V0QnVmID0gJyc7XG4gICAgICAgIHRoaXMuZmZtcGVnU3RkZXJyQnVmID0gJyc7XG5cbiAgICAgICAgdGhpcy5mZm1wZWdDbG9zaW5nUHJvbWlzZSA9IG51bGw7XG5cbiAgICAgICAgdGhpcy5kaXNwb3NlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNsb3NlZCA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMub3B0aW9uc0xpc3QgPSB0aGlzLl9nZXRPcHRpb25zTGlzdCgpO1xuXG4gICAgICAgIHRoaXMuY2FwdHVyaW5nUHJvbWlzZSA9IG51bGw7XG4gICAgfVxuXG4gICAgc3RhdGljIF9maWx0ZXJPcHRpb24gKFtrZXksIHZhbHVlXSkge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRydWUpXG4gICAgICAgICAgICByZXR1cm4gWyctJyArIGtleV07XG5cbiAgICAgICAgcmV0dXJuIFsnLScgKyBrZXksIHZhbHVlXTtcbiAgICB9XG5cbiAgICBfc2V0dXBGRk1QRUdCdWZmZXJzICgpIHtcbiAgICAgICAgdGhpcy5mZm1wZWdQcm9jZXNzLnN0ZG91dC5vbignZGF0YScsIGRhdGEgPT4ge1xuICAgICAgICAgICAgdGhpcy5mZm1wZWdTdGRvdXRCdWYgKz0gU3RyaW5nKGRhdGEpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmZmbXBlZ1Byb2Nlc3Muc3RkZXJyLm9uKCdkYXRhJywgZGF0YSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZmbXBlZ1N0ZGVyckJ1ZiArPSBTdHJpbmcoZGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9nZXRDaGlsZFByb2Nlc3NQcm9taXNlICgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZmZtcGVnUHJvY2Vzcy5vbignZXhpdCcsIHJlc29sdmUpO1xuICAgICAgICAgICAgdGhpcy5mZm1wZWdQcm9jZXNzLm9uKCdlcnJvcicsIHJlamVjdCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9nZXRPcHRpb25zTGlzdCAoKSB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnNPYmplY3QgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX09QVElPTlMsIHRoaXMuY3VzdG9tT3B0aW9ucyk7XG5cbiAgICAgICAgY29uc3Qgb3B0aW9uc0xpc3QgPSBmbGF0dGVuKE9iamVjdC5lbnRyaWVzKG9wdGlvbnNPYmplY3QpLm1hcChWaWRlb1JlY29yZGVyLl9maWx0ZXJPcHRpb24pKTtcblxuICAgICAgICBvcHRpb25zTGlzdC5wdXNoKHRoaXMudmlkZW9QYXRoKTtcblxuICAgICAgICByZXR1cm4gb3B0aW9uc0xpc3Q7XG4gICAgfVxuXG4gICAgZ2V0IGFjdGl2ZSAoKSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5jbG9zZWQgJiYgIXRoaXMuZGlzcG9zZWQ7XG4gICAgfVxuXG4gICAgYXN5bmMgX2FkZEZyYW1lIChmcmFtZURhdGEpIHtcbiAgICAgICAgY29uc3Qgd3JpdGluZ0ZpbmlzaGVkID0gdGhpcy5mZm1wZWdQcm9jZXNzLnN0ZGluLndyaXRlKGZyYW1lRGF0YSk7XG5cbiAgICAgICAgaWYgKCF3cml0aW5nRmluaXNoZWQpXG4gICAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHRoaXMuZmZtcGVnUHJvY2Vzcy5zdGRpbi5vbmNlKCdkcmFpbicsIHIpKTtcbiAgICB9XG5cbiAgICBhc3luYyBfY2FwdHVyZSAoKSB7XG4gICAgICAgIHdoaWxlICh0aGlzLmFjdGl2ZSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmcmFtZSA9IGF3YWl0IHRoaXMuY29ubmVjdGlvbi5wcm92aWRlci5nZXRWaWRlb0ZyYW1lRGF0YSh0aGlzLmNvbm5lY3Rpb24uaWQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGZyYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuZW1pdCgnZnJhbWUnKTtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fYWRkRnJhbWUoZnJhbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IGRlbGF5KERFTEFZX0FGVEVSX0VNUFRZX0ZSQU1FKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHRoaXMuZGVidWdMb2dnZXIoZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgX3N0YXJ0Q2FwdHVyaW5nICgpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5jb25uZWN0aW9uLnByb3ZpZGVyLnN0YXJ0Q2FwdHVyaW5nVmlkZW8odGhpcy5jb25uZWN0aW9uLmlkKTtcbiAgICB9XG5cbiAgICBhc3luYyBfc3RvcENhcHR1cmluZyAoKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuY29ubmVjdGlvbi5wcm92aWRlci5zdG9wQ2FwdHVyaW5nVmlkZW8odGhpcy5jb25uZWN0aW9uLmlkKTtcbiAgICB9XG5cbiAgICBhc3luYyBpbml0ICgpIHtcbiAgICAgICAgdGhpcy5mZm1wZWdQcm9jZXNzID0gc3Bhd24odGhpcy5mZm1wZWdQYXRoLCB0aGlzLm9wdGlvbnNMaXN0LCB7IHN0ZGlvOiAncGlwZScgfSk7XG5cbiAgICAgICAgdGhpcy5fc2V0dXBGRk1QRUdCdWZmZXJzKCk7XG5cbiAgICAgICAgdGhpcy5mZm1wZWdDbG9zaW5nUHJvbWlzZSA9IHRoaXNcbiAgICAgICAgICAgIC5fZ2V0Q2hpbGRQcm9jZXNzUHJvbWlzZSgpXG4gICAgICAgICAgICAudGhlbihjb2RlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwb3NlZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICBpZiAoY29kZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlYnVnTG9nZ2VyKGNvZGUpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlYnVnTG9nZ2VyKHRoaXMuZmZtcGVnU3Rkb3V0QnVmKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWJ1Z0xvZ2dlcih0aGlzLmZmbXBlZ1N0ZGVyckJ1Zik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcG9zZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5kZWJ1Z0xvZ2dlcihlcnJvcik7XG4gICAgICAgICAgICAgICAgdGhpcy5kZWJ1Z0xvZ2dlcih0aGlzLmZmbXBlZ1N0ZG91dEJ1Zik7XG4gICAgICAgICAgICAgICAgdGhpcy5kZWJ1Z0xvZ2dlcih0aGlzLmZmbXBlZ1N0ZGVyckJ1Zik7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBhd2FpdCBkZWxheShGRk1QRUdfU1RBUlRfREVMQVkpO1xuICAgIH1cblxuICAgIGFzeW5jIGRpc3Bvc2UgKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNwb3NlZClcbiAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICB0aGlzLmRpc3Bvc2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5mZm1wZWdQcm9jZXNzLnN0ZGluLmVuZCgpO1xuXG4gICAgICAgIGF3YWl0IHRoaXMuZmZtcGVnQ2xvc2luZ1Byb21pc2U7XG4gICAgfVxuXG4gICAgYXN5bmMgc3RhcnRDYXB0dXJpbmcgKCkge1xuICAgICAgICBhd2FpdCB0aGlzLl9zdGFydENhcHR1cmluZygpO1xuXG4gICAgICAgIHRoaXMuY2FwdHVyaW5nUHJvbWlzZSA9IHRoaXMuX2NhcHR1cmUoKTtcblxuICAgICAgICBhd2FpdCB0aGlzLm9uY2UoJ2ZyYW1lJyk7XG4gICAgfVxuXG4gICAgYXN5bmMgZmluaXNoQ2FwdHVyaW5nICgpIHtcbiAgICAgICAgaWYgKHRoaXMuY2xvc2VkKVxuICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuY2xvc2VkID0gdHJ1ZTtcblxuICAgICAgICBhd2FpdCB0aGlzLl9zdG9wQ2FwdHVyaW5nKCk7XG4gICAgICAgIGF3YWl0IHRoaXMuY2FwdHVyaW5nUHJvbWlzZTtcbiAgICAgICAgYXdhaXQgdGhpcy5kaXNwb3NlKCk7XG4gICAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92aWRlby1yZWNvcmRlci9wcm9jZXNzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLGlEQUFzQztBQUN0QyxtQ0FBaUM7QUFDakMsdUZBQXdEO0FBQ3hELDJEQUFtQztBQUduQyxNQUFNLG1CQUFtQixHQUFHLGtDQUFrQyxDQUFDO0FBRS9ELE1BQU0sZUFBZSxHQUFHO0lBRXBCLDhDQUE4QztJQUM5QyxHQUFHLEVBQUUsWUFBWTtJQUVqQiw2REFBNkQ7SUFDN0QsR0FBRyxFQUFFLElBQUk7SUFFVCwyRUFBMkU7SUFDM0UsNkRBQTZEO0lBQzdELDZCQUE2QixFQUFFLENBQUM7SUFFaEMsOEJBQThCO0lBQzlCLEdBQUcsRUFBRSxRQUFRO0lBRWIsa0NBQWtDO0lBQ2xDLEtBQUssRUFBRSxTQUFTO0lBRWhCLCtDQUErQztJQUMvQyxRQUFRLEVBQUUsV0FBVztJQUVyQixpRUFBaUU7SUFDakUsU0FBUyxFQUFFLFNBQVM7SUFFcEIsMkZBQTJGO0lBQzNGLElBQUksRUFBRSxtQ0FBbUM7SUFFekMsaUZBQWlGO0lBQ2pGLEdBQUcsRUFBRSxFQUFFO0NBQ1YsQ0FBQztBQUVGLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFDO0FBRS9CLE1BQU0sdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0FBRW5DLE1BQXFCLGFBQWMsU0FBUSw2QkFBWTtJQUNuRCxZQUFhLFFBQVEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGFBQWE7UUFDeEQsS0FBSyxFQUFFLENBQUM7UUFFUixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUEsZUFBSyxFQUFDLG1CQUFtQixHQUFHLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFPLFFBQVEsQ0FBQztRQUM5QixJQUFJLENB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TztRQUVYLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBRW5CLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVCLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQzVCLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pCLENBQUM7Q0FDSjtBQXpKRCxnQ0F5SkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHsgc3Bhd24gfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCB7IGZsYXR0ZW4gfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IEFzeW5jRW1pdHRlciBmcm9tICcuLi91dGlscy9hc3luYy1ldmVudC1lbWl0dGVyJztcbmltcG9ydCBkZWxheSBmcm9tICcuLi91dGlscy9kZWxheSc7XG5cblxuY29uc3QgREVCVUdfTE9HR0VSX1BSRUZJWCA9ICd0ZXN0Y2FmZTp2aWRlby1yZWNvcmRlcjpwcm9jZXNzOic7XG5cbmNvbnN0IERFRkFVTFRfT1BUSU9OUyA9IHtcblxuICAgIC8vIE5PVEU6IHVzZSB0byBmb3JjZSBzdGRpbiBhbmQgc3Rkb3V0IGZvcm1hdHNcbiAgICAnZic6ICdpbWFnZTJwaXBlJyxcblxuICAgIC8vIE5PVEU6IGRvbid0IGFzayBjb25maXJtYXRpb24gZm9yIHJld3JpdGluZyB0aGUgb3V0cHV0IGZpbGVcbiAgICAneSc6IHRydWUsXG5cbiAgICAvLyBOT1RFOiB1c2UgdGhlIHRpbWUgd2hlbiBhIGZyYW1lIGlzIHJlYWQgZnJvbSB0aGUgc291cmNlIGFzIGl0cyB0aW1lc3RhbXBcbiAgICAvLyBJTVBPUlRBTlQ6IG11c3QgYmUgc3BlY2lmaWVkIGJlZm9yZSBjb25maWd1cmluZyB0aGUgc291cmNlXG4gICAgJ3VzZV93YWxsY2xvY2tfYXNfdGltZXN0YW1wcyc6IDEsXG5cbiAgICAvLyBOT1RFOiB1c2Ugc3RkaW4gYXMgYSBzb3VyY2VcbiAgICAnaSc6ICdwaXBlOjAnLFxuXG4gICAgLy8gTk9URTogdXNlIHRoZSBILjI2NCB2aWRlbyBjb2RlY1xuICAgICdjOnYnOiAnbGlieDI2NCcsXG5cbiAgICAvLyBOT1RFOiB1c2UgdGhlICd1bHRyYWZhc3QnIGNvbXByZXNzaW9uIHByZXNldFxuICAgICdwcmVzZXQnOiAndWx0cmFmYXN0JyxcblxuICAgIC8vIE5PVEU6IHVzZSB0aGUgeXV2NDIwcCBwaXhlbCBmb3JtYXQgKHRoZSBtb3N0IHdpZGVseSBzdXBwb3J0ZWQpXG4gICAgJ3BpeF9mbXQnOiAneXV2NDIwcCcsXG5cbiAgICAvLyBOT1RFOiBzY2FsZSBpbnB1dCBmcmFtZXMgdG8gbWFrZSB0aGUgZnJhbWUgaGVpZ2h0IGRpdmlzaWJsZSBieSAyICh5dXY0MjBwJ3MgcmVxdWlyZW1lbnQpXG4gICAgJ3ZmJzogJ3NjYWxlPXRydW5jKGl3LzIpKjI6dHJ1bmMoaWgvMikqMicsXG5cbiAgICAvLyBOT1RFOiBzZXQgdGhlIGZyYW1lIHJhdGUgdG8gMzAgaW4gdGhlIG91dHB1dCB2aWRlbyAodGhlIG1vc3Qgd2lkZWx5IHN1cHBvcnRlZClcbiAgICAncic6IDMwLFxufTtcblxuY29uc3QgRkZNUEVHX1NUQVJUX0RFTEFZID0gNTAwO1xuXG5jb25zdCBERUxBWV9BRlRFUl9FTVBUWV9GUkFNRSA9IDIwO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWaWRlb1JlY29yZGVyIGV4dGVuZHMgQXN5bmNFbWl0dGVyIHtcbiAgICBjb25zdHJ1Y3RvciAoYmFzZVBhdGgsIGZmbXBlZ1BhdGgsIGNvbm5lY3Rpb24sIGN1c3RvbU9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLmRlYnVnTG9nZ2VyID0gZGVidWcoREVCVUdfTE9HR0VSX1BSRUZJWCArIGNvbm5lY3Rpb24uaWQpO1xuXG4gICAgICAgIHRoaXMuY3VzdG9tT3B0aW9ucyA9IGN1c3RvbU9wdGlvbnM7XG4gICAgICAgIHRoaXMudmlkZW9QYXRoICAgICA9IGJhc2VQYXRoO1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb24gICAgPSBjb25uZWN0aW9uO1xuICAgICAgICB0aGlzLmZmbXBlZ1BhdGggICAgPSBmZm1wZWdQYXRoO1xuICAgICAgICB0aGlzLmZmbXBlZ1Byb2Nlc3MgPSBudWxsO1xuXG4gICAgICAgIHRoaXMuZmZtcGVnU3Rkb3V0QnVmID0gJyc7XG4gICAgICAgIHRoaXMuZmZtcGVnU3RkZXJyQnVmID0gJyc7XG5cbiAgICAgICAgdGhpcy5mZm1wZWdDbG9zaW5nUHJvbWlzZSA9IG51bGw7XG5cbiAgICAgICAgdGhpcy5kaXNwb3NlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNsb3NlZCA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMub3B0aW9uc0xpc3QgPSB0aGlzLl9nZXRPcHRpb25zTGlzdCgpO1xuXG4gICAgICAgIHRoaXMuY2FwdHVyaW5nUHJvbWlzZSA9IG51bGw7XG4gICAgfVxuXG4gICAgc3RhdGljIF9maWx0ZXJPcHRpb24gKFtrZXksIHZhbHVlXSkge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRydWUpXG4gICAgICAgICAgICByZXR1cm4gWyctJyArIGtleV07XG5cbiAgICAgICAgcmV0dXJuIFsnLScgKyBrZXksIHZhbHVlXTtcbiAgICB9XG5cbiAgICBfc2V0dXBGRk1QRUdCdWZmZXJzICgpIHtcbiAgICAgICAgdGhpcy5mZm1wZWdQcm9jZXNzLnN0ZG91dC5vbignZGF0YScsIGRhdGEgPT4ge1xuICAgICAgICAgICAgdGhpcy5mZm1wZWdTdGRvdXRCdWYgKz0gU3RyaW5nKGRhdGEpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmZmbXBlZ1Byb2Nlc3Muc3RkZXJyLm9uKCdkYXRhJywgZGF0YSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZmbXBlZ1N0ZGVyckJ1ZiArPSBTdHJpbmcoZGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9nZXRDaGlsZFByb2Nlc3NQcm9taXNlICgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZmZtcGVnUHJvY2Vzcy5vbignZXhpdCcsIHJlc29sdmUpO1xuICAgICAgICAgICAgdGhpcy5mZm1wZWdQcm9jZXNzLm9uKCdlcnJvcicsIHJlamVjdCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9nZXRPcHRpb25zTGlzdCAoKSB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnNPYmplY3QgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX09QVElPTlMsIHRoaXMuY3VzdG9tT3B0aW9ucyk7XG5cbiAgICAgICAgY29uc3Qgb3B0aW9uc0xpc3QgPSBmbGF0dGVuKE9iamVjdC5lbnRyaWVzKG9wdGlvbnNPYmplY3QpLm1hcChWaWRlb1JlY29yZGVyLl9maWx0ZXJPcHRpb24pKTtcblxuICAgICAgICBvcHRpb25zTGlzdC5wdXNoKHRoaXMudmlkZW9QYXRoKTtcblxuICAgICAgICByZXR1cm4gb3B0aW9uc0xpc3Q7XG4gICAgfVxuXG4gICAgZ2V0IGFjdGl2ZSAoKSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5jbG9zZWQgJiYgIXRoaXMuZGlzcG9zZWQ7XG4gICAgfVxuXG4gICAgYXN5bmMgX2FkZEZyYW1lIChmcmFtZURhdGEpIHtcbiAgICAgICAgY29uc3Qgd3JpdGluZ0ZpbmlzaGVkID0gdGhpcy5mZm1wZWdQcm9jZXNzLnN0ZGluLndyaXRlKGZyYW1lRGF0YSk7XG5cbiAgICAgICAgaWYgKCF3cml0aW5nRmluaXNoZWQpXG4gICAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHRoaXMuZmZtcGVnUHJvY2Vzcy5zdGRpbi5vbmNlKCdkcmFpbicsIHIpKTtcbiAgICB9XG5cbiAgICBhc3luYyBfY2FwdHVyZSAoKSB7XG4gICAgICAgIHdoaWxlICh0aGlzLmFjdGl2ZSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmcmFtZSA9IGF3YWl0IHRoaXMuY29ubmVjdGlvbi5wcm92aWRlci5nZXRWaWRlb0ZyYW1lRGF0YSh0aGlzLmNvbm5lY3Rpb24uaWQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGZyYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuZW1pdCgnZnJhbWUnKTtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fYWRkRnJhbWUoZnJhbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IGRlbGF5KERFTEFZX0FGVEVSX0VNUFRZX0ZSQU1FKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHRoaXMuZGVidWdMb2dnZXIoZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgX3N0YXJ0Q2FwdHVyaW5nICgpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5jb25uZWN0aW9uLnByb3ZpZGVyLnN0YXJ0Q2FwdHVyaW5nVmlkZW8odGhpcy5jb25uZWN0aW9uLmlkKTtcbiAgICB9XG5cbiAgICBhc3luYyBfc3RvcENhcHR1cmluZyAoKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuY29ubmVjdGlvbi5wcm92aWRlci5zdG9wQ2FwdHVyaW5nVmlkZW8odGhpcy5jb25uZWN0aW9uLmlkKTtcbiAgICB9XG5cbiAgICBhc3luYyBpbml0ICgpIHtcbiAgICAgICAgdGhpcy5mZm1wZWdQcm9jZXNzID0gc3Bhd24odGhpcy5mZm1wZWdQYXRoLCB0aGlzLm9wdGlvbnNMaXN0LCB7IHN0ZGlvOiAncGlwZScgfSk7XG5cbiAgICAgICAgdGhpcy5fc2V0dXBGRk1QRUdCdWZmZXJzKCk7XG5cbiAgICAgICAgdGhpcy5mZm1wZWdDbG9zaW5nUHJvbWlzZSA9IHRoaXNcbiAgICAgICAgICAgIC5fZ2V0Q2hpbGRQcm9jZXNzUHJvbWlzZSgpXG4gICAgICAgICAgICAudGhlbihjb2RlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwb3NlZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICBpZiAoY29kZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlYnVnTG9nZ2VyKGNvZGUpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlYnVnTG9nZ2VyKHRoaXMuZmZtcGVnU3Rkb3V0QnVmKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWJ1Z0xvZ2dlcih0aGlzLmZmbXBlZ1N0ZGVyckJ1Zik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcG9zZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5kZWJ1Z0xvZ2dlcihlcnJvcik7XG4gICAgICAgICAgICAgICAgdGhpcy5kZWJ1Z0xvZ2dlcih0aGlzLmZmbXBlZ1N0ZG91dEJ1Zik7XG4gICAgICAgICAgICAgICAgdGhpcy5kZWJ1Z0xvZ2dlcih0aGlzLmZmbXBlZ1N0ZGVyckJ1Zik7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBhd2FpdCBkZWxheShGRk1QRUdfU1RBUlRfREVMQVkpO1xuICAgIH1cblxuICAgIGFzeW5jIGRpc3Bvc2UgKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNwb3NlZClcbiAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICB0aGlzLmRpc3Bvc2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5mZm1wZWdQcm9jZXNzLnN0ZGluLmVuZCgpO1xuXG4gICAgICAgIGF3YWl0IHRoaXMuZmZtcGVnQ2xvc2luZ1Byb21pc2U7XG4gICAgfVxuXG4gICAgYXN5bmMgc3RhcnRDYXB0dXJpbmcgKCkge1xuICAgICAgICBhd2FpdCB0aGlzLl9zdGFydENhcHR1cmluZygpO1xuXG4gICAgICAgIHRoaXMuY2FwdHVyaW5nUHJvbWlzZSA9IHRoaXMuX2NhcHR1cmUoKTtcblxuICAgICAgICBhd2FpdCB0aGlzLm9uY2UoJ2ZyYW1lJyk7XG4gICAgfVxuXG4gICAgYXN5bmMgZmluaXNoQ2FwdHVyaW5nICgpIHtcbiAgICAgICAgaWYgKHRoaXMuY2xvc2VkKVxuICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuY2xvc2VkID0gdHJ1ZTtcblxuICAgICAgICBhd2FpdCB0aGlzLl9zdG9wQ2FwdHVyaW5nKCk7XG4gICAgICAgIGF3YWl0IHRoaXMuY2FwdHVyaW5nUHJvbWlzZTtcbiAgICAgICAgYXdhaXQgdGhpcy5kaXNwb3NlKCk7XG4gICAgfVxufVxuIl19 |
@@ -5,3 +5,3 @@ { | ||
"license": "MIT", | ||
"version": "2.0.0", | ||
"version": "2.0.1-alpha.1", | ||
"author": { | ||
@@ -8,0 +8,0 @@ "name": "Developer Express Inc.", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
6128426
54169
2