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

filestack-js

Package Overview
Dependencies
Maintainers
1
Versions
174
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

filestack-js - npm Package Compare versions

Comparing version 3.27.0 to 3.28.0

build/main/jest_browser_setup.d.ts

4

build/browser/manifest.json
{
"main.js": {
"src": "filestack.min.js",
"integrity": "sha256-EbTD0WBpfF5Im1DhNXL1dCEAtB5+h9MwYkoD6NgMhq0= sha384-e948V3qv1/nXO0y/lFHKX/j2HftuDNBdzPL+FLraxH+gU9vbmFRe6/AJ+APqLg5P sha512-mtzL6z2KpzosNMp23VFqN2u1FR+9B7AoIP1cru7umQAxZ1HJu2ztP9XtNXFWGeu4m0lMCYulGyMcBV/5PO/1PA=="
"integrity": "sha256-OOIhZNnSSNcQfMK4VEmxBTBTgMAx1ikbzbwcBFsqh2g= sha384-HU1wx6RQ+8FfG6N8Od+QudCYW/MYNfCRjGgK/1p1sBc8n6SAzS0Cu0pKrln23NrZ sha512-f9/Ucs2UUUn1ZePSxLf7an0mZgyZTYTqqiPpxmPXQHjUtsagC5CRAyEPQm55JZU6sCI6l6ek+QpJsOiSMBSH5A=="
},
"main.js.map": {
"src": "filestack.min.js.map",
"integrity": "sha256-bDtU6du44BFYvlw2Bmyqs2wYwvUuOyAHjuIpl7cJKHs= sha384-oQTL2N1SPEq6cF3OL+7tYgyoQ5f6QQpl28298NsUgRXuFhrR8wqfW5IF08TE4Kl0 sha512-S19BdjwJWUSfgxEhCMpOblfqQ1d38RP15urXYnkqo6HJK2jCxUkjN0EmXNkiFWUkZ/gadvPSVhSYOV9f++B0LA=="
"integrity": "sha256-E7vUK5ky79iPzA1Cpz9bEBpzOrqFk+OxpdQm1hmmk0Y= sha384-07auN/IxDgmevwgpcbPgRiFZk7QEgRomPuo7ki6ulrRRTRBH3eo/JVfIS/Qyn/DX sha512-qfbmHhi1LwFosqRAkVPg3oSl94z7nU/7uE72f6mD4xTlxrlpOl8eFH49/0ELngkU46R4py/8A/dlpCkes4h+pQ=="
}
}

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.config = void 0;
/**

@@ -31,6 +32,6 @@ * @private

cdnUrl: 'https://cdn.filestackcontent.com',
pickerUrl: "https://static.filestackapi.com/picker/" + PICKER_VERSION + "/picker.js",
pickerUrl: "https://static.filestackapi.com/picker/".concat(PICKER_VERSION, "/picker.js"),
},
};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFFSDs7R0FFRztBQUNILElBQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQztBQXNCbkIsUUFBQSxNQUFNLEdBQUc7SUFDcEIsSUFBSSxFQUFFO1FBQ0osVUFBVSxFQUFFLGtDQUFrQztRQUM5QyxVQUFVLEVBQUUsdUNBQXVDO1FBQ25ELFlBQVksRUFBRSxpQ0FBaUM7UUFDL0MsV0FBVyxFQUFFLGdDQUFnQztRQUM3QyxNQUFNLEVBQUUsa0NBQWtDO1FBQzFDLFNBQVMsRUFBRSw0Q0FBMEMsY0FBYyxlQUFZO0tBQ2hGO0NBQ0YsQ0FBQyIsImZpbGUiOiJjb25maWcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmNvbnN0IFBJQ0tFUl9WRVJTSU9OID0gJzEuMjQuMSc7XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIb3N0cyB7XG4gIFt1cmw6IHN0cmluZ106IHN0cmluZztcbiAgZmlsZUFwaVVybDogc3RyaW5nO1xuICB1cGxvYWRBcGlVcmw6IHN0cmluZztcbiAgY2xvdWRBcGlVcmw6IHN0cmluZztcbiAgY2RuVXJsOiBzdHJpbmc7XG4gIHBpY2tlclVybDogc3RyaW5nO1xuICBwcm9jZXNzVXJsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWcge1xuICB1cmxzOiBIb3N0cztcbn1cblxuZXhwb3J0IGNvbnN0IGNvbmZpZyA9IHtcbiAgdXJsczoge1xuICAgIHByb2Nlc3NVcmw6ICdodHRwczovL3Byb2Nlc3MuZmlsZXN0YWNrYXBpLmNvbScsXG4gICAgZmlsZUFwaVVybDogJ2h0dHBzOi8vd3d3LmZpbGVzdGFja2FwaS5jb20vYXBpL2ZpbGUnLFxuICAgIHVwbG9hZEFwaVVybDogJ2h0dHBzOi8vdXBsb2FkLmZpbGVzdGFja2FwaS5jb20nLFxuICAgIGNsb3VkQXBpVXJsOiAnaHR0cHM6Ly9jbG91ZC5maWxlc3RhY2thcGkuY29tJyxcbiAgICBjZG5Vcmw6ICdodHRwczovL2Nkbi5maWxlc3RhY2tjb250ZW50LmNvbScsXG4gICAgcGlja2VyVXJsOiBgaHR0cHM6Ly9zdGF0aWMuZmlsZXN0YWNrYXBpLmNvbS9waWNrZXIvJHtQSUNLRVJfVkVSU0lPTn0vcGlja2VyLmpzYCxcbiAgfSxcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7O0FBRUg7O0dBRUc7QUFDSCxJQUFNLGNBQWMsR0FBRyxRQUFRLENBQUM7QUFzQm5CLFFBQUEsTUFBTSxHQUFHO0lBQ3BCLElBQUksRUFBRTtRQUNKLFVBQVUsRUFBRSxrQ0FBa0M7UUFDOUMsVUFBVSxFQUFFLHVDQUF1QztRQUNuRCxZQUFZLEVBQUUsaUNBQWlDO1FBQy9DLFdBQVcsRUFBRSxnQ0FBZ0M7UUFDN0MsTUFBTSxFQUFFLGtDQUFrQztRQUMxQyxTQUFTLEVBQUUsaURBQTBDLGNBQWMsZUFBWTtLQUNoRjtDQUNGLENBQUMiLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5jb25zdCBQSUNLRVJfVkVSU0lPTiA9ICcxLjI0LjEnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSG9zdHMge1xuICBbdXJsOiBzdHJpbmddOiBzdHJpbmc7XG4gIGZpbGVBcGlVcmw6IHN0cmluZztcbiAgdXBsb2FkQXBpVXJsOiBzdHJpbmc7XG4gIGNsb3VkQXBpVXJsOiBzdHJpbmc7XG4gIGNkblVybDogc3RyaW5nO1xuICBwaWNrZXJVcmw6IHN0cmluZztcbiAgcHJvY2Vzc1VybDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnIHtcbiAgdXJsczogSG9zdHM7XG59XG5cbmV4cG9ydCBjb25zdCBjb25maWcgPSB7XG4gIHVybHM6IHtcbiAgICBwcm9jZXNzVXJsOiAnaHR0cHM6Ly9wcm9jZXNzLmZpbGVzdGFja2FwaS5jb20nLFxuICAgIGZpbGVBcGlVcmw6ICdodHRwczovL3d3dy5maWxlc3RhY2thcGkuY29tL2FwaS9maWxlJyxcbiAgICB1cGxvYWRBcGlVcmw6ICdodHRwczovL3VwbG9hZC5maWxlc3RhY2thcGkuY29tJyxcbiAgICBjbG91ZEFwaVVybDogJ2h0dHBzOi8vY2xvdWQuZmlsZXN0YWNrYXBpLmNvbScsXG4gICAgY2RuVXJsOiAnaHR0cHM6Ly9jZG4uZmlsZXN0YWNrY29udGVudC5jb20nLFxuICAgIHBpY2tlclVybDogYGh0dHBzOi8vc3RhdGljLmZpbGVzdGFja2FwaS5jb20vcGlja2VyLyR7UElDS0VSX1ZFUlNJT059L3BpY2tlci5qc2AsXG4gIH0sXG59O1xuIl19

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.FilestackError = exports.FilestackErrorType = void 0;
var tslib_1 = require("tslib");

@@ -43,2 +44,2 @@ var FilestackErrorType;

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWxlc3RhY2tfZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7O0FBRUgsSUFBWSxrQkFLWDtBQUxELFdBQVksa0JBQWtCO0lBQzVCLCtDQUF5QixDQUFBO0lBQ3pCLHlDQUFtQixDQUFBO0lBQ25CLHlDQUFtQixDQUFBO0lBQ25CLHFDQUFlLENBQUE7QUFDakIsQ0FBQyxFQUxXLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBSzdCO0FBRUQ7SUFBb0MsMENBQUs7SUFXdkMsd0JBQVksT0FBZ0IsRUFBRSxPQUFhLEVBQUUsSUFBeUI7UUFBdEU7UUFFRSwwQkFBMEI7UUFDMUIsa0JBQU0sT0FBTyxDQUFDLFNBSWY7UUFIQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUksRUFBRSxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEQsS0FBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsS0FBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7O0lBQ25CLENBQUM7SUFFSCxxQkFBQztBQUFELENBcEJBLEFBb0JDLENBcEJtQyxLQUFLLEdBb0J4QztBQXBCWSx3Q0FBYyIsImZpbGUiOiJmaWxlc3RhY2tfZXJyb3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgZW51bSBGaWxlc3RhY2tFcnJvclR5cGUge1xuICBWQUxJREFUSU9OID0gJ3ZhbGlkYXRpb24nLFxuICBSRVFVRVNUID0gJ3JlcXVlc3QnLFxuICBBQk9SVEVEID0gJ2Fib3J0ZWQnLFxuICBPVEhFUiA9ICdvdGhlcicsXG59XG5cbmV4cG9ydCBjbGFzcyBGaWxlc3RhY2tFcnJvciBleHRlbmRzIEVycm9yIHtcblxuICAvKipcbiAgICogRXJyb3IgZGV0YWlscywgaWUgdmFsaWRhdGlvbiBlcnJvcnNcbiAgICpcbiAgICogQHR5cGUgeyp9XG4gICAqIEBtZW1iZXJvZiBGaWxlc3RhY2tFcnJvclxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRldGFpbHM6IGFueTtcbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nLCBkZXRhaWxzPzogYW55LCB0eXBlPzogRmlsZXN0YWNrRXJyb3JUeXBlKSB7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBGaWxlc3RhY2tFcnJvci5wcm90b3R5cGUpO1xuICAgIHRoaXMuZGV0YWlscyA9IGRldGFpbHM7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgfVxuXG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWxlc3RhY2tfZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7OztBQUVILElBQVksa0JBS1g7QUFMRCxXQUFZLGtCQUFrQjtJQUM1QiwrQ0FBeUIsQ0FBQTtJQUN6Qix5Q0FBbUIsQ0FBQTtJQUNuQix5Q0FBbUIsQ0FBQTtJQUNuQixxQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxrQkFBa0IsR0FBbEIsMEJBQWtCLEtBQWxCLDBCQUFrQixRQUs3QjtBQUVEO0lBQW9DLDBDQUFLO0lBV3ZDLHdCQUFZLE9BQWdCLEVBQUUsT0FBYSxFQUFFLElBQXlCO1FBQXRFO1FBRUUsMEJBQTBCO1FBQzFCLGtCQUFNLE9BQU8sQ0FBQyxTQUlmO1FBSEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFJLEVBQUUsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RELEtBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLEtBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDOztJQUNuQixDQUFDO0lBRUgscUJBQUM7QUFBRCxDQXBCQSxBQW9CQyxDQXBCbUMsS0FBSyxHQW9CeEM7QUFwQlksd0NBQWMiLCJmaWxlIjoiZmlsZXN0YWNrX2Vycm9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0IGVudW0gRmlsZXN0YWNrRXJyb3JUeXBlIHtcbiAgVkFMSURBVElPTiA9ICd2YWxpZGF0aW9uJyxcbiAgUkVRVUVTVCA9ICdyZXF1ZXN0JyxcbiAgQUJPUlRFRCA9ICdhYm9ydGVkJyxcbiAgT1RIRVIgPSAnb3RoZXInLFxufVxuXG5leHBvcnQgY2xhc3MgRmlsZXN0YWNrRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG5cbiAgLyoqXG4gICAqIEVycm9yIGRldGFpbHMsIGllIHZhbGlkYXRpb24gZXJyb3JzXG4gICAqXG4gICAqIEB0eXBlIHsqfVxuICAgKiBAbWVtYmVyb2YgRmlsZXN0YWNrRXJyb3JcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkZXRhaWxzOiBhbnk7XG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IobWVzc2FnZT86IHN0cmluZywgZGV0YWlscz86IGFueSwgdHlwZT86IEZpbGVzdGFja0Vycm9yVHlwZSkge1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgRmlsZXN0YWNrRXJyb3IucHJvdG90eXBlKTtcbiAgICB0aGlzLmRldGFpbHMgPSBkZXRhaWxzO1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gIH1cblxufVxuIl19

@@ -26,3 +26,3 @@ import { SecurityOptions, getSecurity, validateWebhookSignature, WebhookValidatePayload } from './lib/api/security';

*/
export declare const version = "3.27.0";
export declare const version = "3.28.0";
export * from './lib/api/transform';

@@ -29,0 +29,0 @@ export * from './lib/filelink';

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PrefetchEvents = exports.getMimetype = exports.PickerDisplayMode = exports.FilestackError = exports.Client = exports.validateWebhookSignature = exports.getSecurity = exports.TransformSchema = exports.version = exports.init = exports.Filestack = void 0;
var tslib_1 = require("tslib");

@@ -22,16 +23,16 @@ /*

var security_1 = require("./lib/api/security");
exports.getSecurity = security_1.getSecurity;
exports.validateWebhookSignature = security_1.validateWebhookSignature;
Object.defineProperty(exports, "getSecurity", { enumerable: true, get: function () { return security_1.getSecurity; } });
Object.defineProperty(exports, "validateWebhookSignature", { enumerable: true, get: function () { return security_1.validateWebhookSignature; } });
var client_1 = require("./lib/client");
exports.Client = client_1.Client;
Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return client_1.Client; } });
var picker_1 = require("./lib/picker");
exports.PickerDisplayMode = picker_1.PickerDisplayMode;
Object.defineProperty(exports, "PickerDisplayMode", { enumerable: true, get: function () { return picker_1.PickerDisplayMode; } });
var transforms_schema_1 = require("./schema/transforms.schema");
exports.TransformSchema = transforms_schema_1.TransformSchema;
Object.defineProperty(exports, "TransformSchema", { enumerable: true, get: function () { return transforms_schema_1.TransformSchema; } });
var prefetch_1 = require("./lib/api/prefetch");
exports.PrefetchEvents = prefetch_1.PrefetchEvents;
Object.defineProperty(exports, "PrefetchEvents", { enumerable: true, get: function () { return prefetch_1.PrefetchEvents; } });
var filestack_error_1 = require("./filestack_error");
exports.FilestackError = filestack_error_1.FilestackError;
Object.defineProperty(exports, "FilestackError", { enumerable: true, get: function () { return filestack_error_1.FilestackError; } });
var index_1 = require("./lib/utils/index");
exports.getMimetype = index_1.getMimetype;
Object.defineProperty(exports, "getMimetype", { enumerable: true, get: function () { return index_1.getMimetype; } });
/**

@@ -43,5 +44,6 @@ * Initialize client with given config

*/
exports.Filestack = function (apikey, options) {
var Filestack = function (apikey, options) {
return new client_1.Client(apikey, options);
};
exports.Filestack = Filestack;
// This will be deprecated in feature use

@@ -52,4 +54,4 @@ exports.init = exports.Filestack;

*/
exports.version = '3.27.0';
loader_1.registerModule(loader_1.FILESTACK_MODULES.FILESTACK_SDK, exports.Filestack, { version: '3.27.0' });
exports.version = '3.28.0';
(0, loader_1.registerModule)(loader_1.FILESTACK_MODULES.FILESTACK_SDK, exports.Filestack, { version: '3.28.0' });
tslib_1.__exportStar(require("./lib/api/transform"), exports);

@@ -61,2 +63,2 @@ tslib_1.__exportStar(require("./lib/filelink"), exports);

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCw0Q0FBc0U7QUFDdEUsK0NBQW9IO0FBNkNsSCxzQkE3Q3dCLHNCQUFXLENBNkN4QjtBQUNYLG1DQTlDcUMsbUNBQXdCLENBOENyQztBQTdDMUIsdUNBQStEO0FBNkQ3RCxpQkE3RE8sZUFBTSxDQTZEUDtBQTVEUix1Q0FBOEk7QUE4RDVJLDRCQTlEb0csMEJBQWlCLENBOERwRztBQTdEbkIsZ0VBQTZEO0FBd0MzRCwwQkF4Q08sbUNBQWUsQ0F3Q1A7QUFoQ2pCLCtDQUE0RztBQTBEMUcseUJBMUQrRCx5QkFBYyxDQTBEL0Q7QUF6RGhCLHFEQUFtRDtBQW1EakQseUJBbkRPLGdDQUFjLENBbURQO0FBbERoQiwyQ0FBZ0Q7QUFvRDlDLHNCQXBETyxtQkFBVyxDQW9EUDtBQWxEYjs7Ozs7R0FLRztBQUNVLFFBQUEsU0FBUyxHQUFHLFVBQUMsTUFBYyxFQUFFLE9BQXVCO0lBQy9ELE9BQU8sSUFBSSxlQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3JDLENBQUMsQ0FBQztBQUVGLHlDQUF5QztBQUM1QixRQUFBLElBQUksR0FBRyxpQkFBUyxDQUFDO0FBRTlCOztHQUVHO0FBQ1UsUUFBQSxPQUFPLEdBQUcsWUFBWSxDQUFDO0FBRXBDLHVCQUFjLENBQUMsMEJBQWlCLENBQUMsYUFBYSxFQUFFLGlCQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztBQUV0Riw4REFBb0M7QUFDcEMseURBQStCO0FBQy9CLDREQUFrQztBQUNsQyx3REFBOEI7QUFDOUIsc0RBQTRCIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IHJlZ2lzdGVyTW9kdWxlLCBGSUxFU1RBQ0tfTU9EVUxFUyB9IGZyb20gJ0BmaWxlc3RhY2svbG9hZGVyJztcbmltcG9ydCB7IFNlY3VyaXR5T3B0aW9ucywgZ2V0U2VjdXJpdHksIHZhbGlkYXRlV2ViaG9va1NpZ25hdHVyZSwgV2ViaG9va1ZhbGlkYXRlUGF5bG9hZCB9IGZyb20gJy4vbGliL2FwaS9zZWN1cml0eSc7XG5pbXBvcnQgeyBDbGllbnQsIENsaWVudE9wdGlvbnMsIFNlY3VyaXR5IH0gZnJvbSAnLi9saWIvY2xpZW50JztcbmltcG9ydCB7IFBpY2tlck9wdGlvbnMsIFBpY2tlckluc3RhbmNlLCBQaWNrZXJVcGxvYWREb25lQ2FsbGJhY2ssIFBpY2tlckZpbGVNZXRhZGF0YSwgUGlja2VyUmVzcG9uc2UsIFBpY2tlckRpc3BsYXlNb2RlIH0gZnJvbSAnLi9saWIvcGlja2VyJztcbmltcG9ydCB7IFRyYW5zZm9ybVNjaGVtYSB9IGZyb20gJy4vc2NoZW1hL3RyYW5zZm9ybXMuc2NoZW1hJztcbmltcG9ydCB7IFRyYW5zZm9ybU9wdGlvbnMgfSBmcm9tICcuL2xpYi9hcGkvdHJhbnNmb3JtJztcbmltcG9ydCB7IFJldHJpZXZlT3B0aW9ucywgTWV0YWRhdGFPcHRpb25zIH0gZnJvbSAnLi9saWIvYXBpL2ZpbGUnO1xuaW1wb3J0IHsgVXBsb2FkVGFncyB9IGZyb20gJy4vbGliL2FwaS91cGxvYWQvZmlsZSc7XG5pbXBvcnQgeyBJbnB1dEZpbGUgfSBmcm9tICcuL2xpYi9hcGkvdXBsb2FkL2ZpbGVfdG9vbHMnO1xuaW1wb3J0IHsgVXBsb2FkT3B0aW9ucyB9IGZyb20gJy4vbGliL2FwaS91cGxvYWQvdHlwZXMnO1xuaW1wb3J0IHsgU3RvcmVVcGxvYWRPcHRpb25zIH0gZnJvbSAnLi9saWIvYXBpL3VwbG9hZCc7XG5pbXBvcnQgeyBQcmV2aWV3T3B0aW9ucyB9IGZyb20gJy4vbGliL2FwaS9wcmV2aWV3JztcbmltcG9ydCB7IFByZWZldGNoT3B0aW9ucywgUHJlZmV0Y2hSZXNwb25zZSwgUHJlZmV0Y2hQZXJtaXNzaW9ucywgUHJlZmV0Y2hFdmVudHMgfSBmcm9tICcuL2xpYi9hcGkvcHJlZmV0Y2gnO1xuaW1wb3J0IHsgRmlsZXN0YWNrRXJyb3IgfSBmcm9tICcuL2ZpbGVzdGFja19lcnJvcic7XG5pbXBvcnQgeyBnZXRNaW1ldHlwZSB9IGZyb20gJy4vbGliL3V0aWxzL2luZGV4JztcblxuLyoqXG4gKiBJbml0aWFsaXplIGNsaWVudCB3aXRoIGdpdmVuIGNvbmZpZ1xuICpcbiAqIEBwYXJhbSBhcGlrZXlcbiAqIEBwYXJhbSBvcHRpb25zXG4gKi9cbmV4cG9ydCBjb25zdCBGaWxlc3RhY2sgPSAoYXBpa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBDbGllbnRPcHRpb25zKTogQ2xpZW50ID0+IHtcbiAgcmV0dXJuIG5ldyBDbGllbnQoYXBpa2V5LCBvcHRpb25zKTtcbn07XG5cbi8vIFRoaXMgd2lsbCBiZSBkZXByZWNhdGVkIGluIGZlYXR1cmUgdXNlXG5leHBvcnQgY29uc3QgaW5pdCA9IEZpbGVzdGFjaztcblxuLyoqXG4gKiBmaWxlc3RhY2stanMgdmVyc2lvbi4gSW50ZXJwb2xhdGVkIGF0IGJ1aWxkIHRpbWUuXG4gKi9cbmV4cG9ydCBjb25zdCB2ZXJzaW9uID0gJ0B7VkVSU0lPTn0nO1xuXG5yZWdpc3Rlck1vZHVsZShGSUxFU1RBQ0tfTU9EVUxFUy5GSUxFU1RBQ0tfU0RLLCBGaWxlc3RhY2ssIHsgdmVyc2lvbjogJ0B7VkVSU0lPTn0nIH0pO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvdHJhbnNmb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGVsaW5rJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZXN0YWNrX2Vycm9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMnO1xuXG5leHBvcnQge1xuICBVcGxvYWRUYWdzLFxuICBUcmFuc2Zvcm1TY2hlbWEsXG4gIFNlY3VyaXR5T3B0aW9ucyxcbiAgZ2V0U2VjdXJpdHksXG4gIHZhbGlkYXRlV2ViaG9va1NpZ25hdHVyZSxcbiAgV2ViaG9va1ZhbGlkYXRlUGF5bG9hZCxcbiAgQ2xpZW50T3B0aW9ucyxcbiAgUGlja2VyT3B0aW9ucyxcbiAgUGlja2VySW5zdGFuY2UsXG4gIFNlY3VyaXR5LFxuICBUcmFuc2Zvcm1PcHRpb25zLFxuICBSZXRyaWV2ZU9wdGlvbnMsXG4gIElucHV0RmlsZSxcbiAgVXBsb2FkT3B0aW9ucyxcbiAgU3RvcmVVcGxvYWRPcHRpb25zLFxuICBNZXRhZGF0YU9wdGlvbnMsXG4gIFByZXZpZXdPcHRpb25zLFxuICBQaWNrZXJVcGxvYWREb25lQ2FsbGJhY2ssXG4gIFBpY2tlckZpbGVNZXRhZGF0YSxcbiAgUGlja2VyUmVzcG9uc2UsXG4gIENsaWVudCxcbiAgRmlsZXN0YWNrRXJyb3IsXG4gIFBpY2tlckRpc3BsYXlNb2RlLFxuICBnZXRNaW1ldHlwZSxcbiAgUHJlZmV0Y2hPcHRpb25zLFxuICBQcmVmZXRjaFJlc3BvbnNlLFxuICBQcmVmZXRjaFBlcm1pc3Npb25zLFxuICBQcmVmZXRjaEV2ZW50c1xufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsNENBQXNFO0FBQ3RFLCtDQUFvSDtBQTZDbEgsNEZBN0N3QixzQkFBVyxPQTZDeEI7QUFDWCx5R0E5Q3FDLG1DQUF3QixPQThDckM7QUE3QzFCLHVDQUErRDtBQTZEN0QsdUZBN0RPLGVBQU0sT0E2RFA7QUE1RFIsdUNBQThJO0FBOEQ1SSxrR0E5RG9HLDBCQUFpQixPQThEcEc7QUE3RG5CLGdFQUE2RDtBQXdDM0QsZ0dBeENPLG1DQUFlLE9Bd0NQO0FBaENqQiwrQ0FBNEc7QUEwRDFHLCtGQTFEK0QseUJBQWMsT0EwRC9EO0FBekRoQixxREFBbUQ7QUFtRGpELCtGQW5ETyxnQ0FBYyxPQW1EUDtBQWxEaEIsMkNBQWdEO0FBb0Q5Qyw0RkFwRE8sbUJBQVcsT0FvRFA7QUFsRGI7Ozs7O0dBS0c7QUFDSSxJQUFNLFNBQVMsR0FBRyxVQUFDLE1BQWMsRUFBRSxPQUF1QjtJQUMvRCxPQUFPLElBQUksZUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUM7QUFGVyxRQUFBLFNBQVMsYUFFcEI7QUFFRix5Q0FBeUM7QUFDNUIsUUFBQSxJQUFJLEdBQUcsaUJBQVMsQ0FBQztBQUU5Qjs7R0FFRztBQUNVLFFBQUEsT0FBTyxHQUFHLFlBQVksQ0FBQztBQUVwQyxJQUFBLHVCQUFjLEVBQUMsMEJBQWlCLENBQUMsYUFBYSxFQUFFLGlCQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztBQUV0Riw4REFBb0M7QUFDcEMseURBQStCO0FBQy9CLDREQUFrQztBQUNsQyx3REFBOEI7QUFDOUIsc0RBQTRCIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IHJlZ2lzdGVyTW9kdWxlLCBGSUxFU1RBQ0tfTU9EVUxFUyB9IGZyb20gJ0BmaWxlc3RhY2svbG9hZGVyJztcbmltcG9ydCB7IFNlY3VyaXR5T3B0aW9ucywgZ2V0U2VjdXJpdHksIHZhbGlkYXRlV2ViaG9va1NpZ25hdHVyZSwgV2ViaG9va1ZhbGlkYXRlUGF5bG9hZCB9IGZyb20gJy4vbGliL2FwaS9zZWN1cml0eSc7XG5pbXBvcnQgeyBDbGllbnQsIENsaWVudE9wdGlvbnMsIFNlY3VyaXR5IH0gZnJvbSAnLi9saWIvY2xpZW50JztcbmltcG9ydCB7IFBpY2tlck9wdGlvbnMsIFBpY2tlckluc3RhbmNlLCBQaWNrZXJVcGxvYWREb25lQ2FsbGJhY2ssIFBpY2tlckZpbGVNZXRhZGF0YSwgUGlja2VyUmVzcG9uc2UsIFBpY2tlckRpc3BsYXlNb2RlIH0gZnJvbSAnLi9saWIvcGlja2VyJztcbmltcG9ydCB7IFRyYW5zZm9ybVNjaGVtYSB9IGZyb20gJy4vc2NoZW1hL3RyYW5zZm9ybXMuc2NoZW1hJztcbmltcG9ydCB7IFRyYW5zZm9ybU9wdGlvbnMgfSBmcm9tICcuL2xpYi9hcGkvdHJhbnNmb3JtJztcbmltcG9ydCB7IFJldHJpZXZlT3B0aW9ucywgTWV0YWRhdGFPcHRpb25zIH0gZnJvbSAnLi9saWIvYXBpL2ZpbGUnO1xuaW1wb3J0IHsgVXBsb2FkVGFncyB9IGZyb20gJy4vbGliL2FwaS91cGxvYWQvZmlsZSc7XG5pbXBvcnQgeyBJbnB1dEZpbGUgfSBmcm9tICcuL2xpYi9hcGkvdXBsb2FkL2ZpbGVfdG9vbHMnO1xuaW1wb3J0IHsgVXBsb2FkT3B0aW9ucyB9IGZyb20gJy4vbGliL2FwaS91cGxvYWQvdHlwZXMnO1xuaW1wb3J0IHsgU3RvcmVVcGxvYWRPcHRpb25zIH0gZnJvbSAnLi9saWIvYXBpL3VwbG9hZCc7XG5pbXBvcnQgeyBQcmV2aWV3T3B0aW9ucyB9IGZyb20gJy4vbGliL2FwaS9wcmV2aWV3JztcbmltcG9ydCB7IFByZWZldGNoT3B0aW9ucywgUHJlZmV0Y2hSZXNwb25zZSwgUHJlZmV0Y2hQZXJtaXNzaW9ucywgUHJlZmV0Y2hFdmVudHMgfSBmcm9tICcuL2xpYi9hcGkvcHJlZmV0Y2gnO1xuaW1wb3J0IHsgRmlsZXN0YWNrRXJyb3IgfSBmcm9tICcuL2ZpbGVzdGFja19lcnJvcic7XG5pbXBvcnQgeyBnZXRNaW1ldHlwZSB9IGZyb20gJy4vbGliL3V0aWxzL2luZGV4JztcblxuLyoqXG4gKiBJbml0aWFsaXplIGNsaWVudCB3aXRoIGdpdmVuIGNvbmZpZ1xuICpcbiAqIEBwYXJhbSBhcGlrZXlcbiAqIEBwYXJhbSBvcHRpb25zXG4gKi9cbmV4cG9ydCBjb25zdCBGaWxlc3RhY2sgPSAoYXBpa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBDbGllbnRPcHRpb25zKTogQ2xpZW50ID0+IHtcbiAgcmV0dXJuIG5ldyBDbGllbnQoYXBpa2V5LCBvcHRpb25zKTtcbn07XG5cbi8vIFRoaXMgd2lsbCBiZSBkZXByZWNhdGVkIGluIGZlYXR1cmUgdXNlXG5leHBvcnQgY29uc3QgaW5pdCA9IEZpbGVzdGFjaztcblxuLyoqXG4gKiBmaWxlc3RhY2stanMgdmVyc2lvbi4gSW50ZXJwb2xhdGVkIGF0IGJ1aWxkIHRpbWUuXG4gKi9cbmV4cG9ydCBjb25zdCB2ZXJzaW9uID0gJ0B7VkVSU0lPTn0nO1xuXG5yZWdpc3Rlck1vZHVsZShGSUxFU1RBQ0tfTU9EVUxFUy5GSUxFU1RBQ0tfU0RLLCBGaWxlc3RhY2ssIHsgdmVyc2lvbjogJ0B7VkVSU0lPTn0nIH0pO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvdHJhbnNmb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGVsaW5rJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZXN0YWNrX2Vycm9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMnO1xuXG5leHBvcnQge1xuICBVcGxvYWRUYWdzLFxuICBUcmFuc2Zvcm1TY2hlbWEsXG4gIFNlY3VyaXR5T3B0aW9ucyxcbiAgZ2V0U2VjdXJpdHksXG4gIHZhbGlkYXRlV2ViaG9va1NpZ25hdHVyZSxcbiAgV2ViaG9va1ZhbGlkYXRlUGF5bG9hZCxcbiAgQ2xpZW50T3B0aW9ucyxcbiAgUGlja2VyT3B0aW9ucyxcbiAgUGlja2VySW5zdGFuY2UsXG4gIFNlY3VyaXR5LFxuICBUcmFuc2Zvcm1PcHRpb25zLFxuICBSZXRyaWV2ZU9wdGlvbnMsXG4gIElucHV0RmlsZSxcbiAgVXBsb2FkT3B0aW9ucyxcbiAgU3RvcmVVcGxvYWRPcHRpb25zLFxuICBNZXRhZGF0YU9wdGlvbnMsXG4gIFByZXZpZXdPcHRpb25zLFxuICBQaWNrZXJVcGxvYWREb25lQ2FsbGJhY2ssXG4gIFBpY2tlckZpbGVNZXRhZGF0YSxcbiAgUGlja2VyUmVzcG9uc2UsXG4gIENsaWVudCxcbiAgRmlsZXN0YWNrRXJyb3IsXG4gIFBpY2tlckRpc3BsYXlNb2RlLFxuICBnZXRNaW1ldHlwZSxcbiAgUHJlZmV0Y2hPcHRpb25zLFxuICBQcmVmZXRjaFJlc3BvbnNlLFxuICBQcmVmZXRjaFBlcm1pc3Npb25zLFxuICBQcmVmZXRjaEV2ZW50c1xufTtcbiJdfQ==

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.CloudClient = exports.CALLBACK_URL_KEY = exports.PICKER_KEY = void 0;
var utils_1 = require("../utils");

@@ -74,3 +75,3 @@ var filestack_error_1 = require("./../../filestack_error");

},
enumerable: true,
enumerable: false,
configurable: true

@@ -94,3 +95,3 @@ });

},
enumerable: true,
enumerable: false,
configurable: true

@@ -126,3 +127,3 @@ });

}
return request_1.FsRequest.post(this.cloudApiUrl + "/folder/list", payload, options).then(function (res) {
return request_1.FsRequest.post("".concat(this.cloudApiUrl, "/folder/list"), payload, options).then(function (res) {
if (res.data && res.data.token) {

@@ -152,3 +153,3 @@ _this.token = res.data.token;

path: path,
store: utils_1.removeEmpty(options),
store: (0, utils_1.removeEmpty)(options),
},

@@ -173,3 +174,3 @@ _a),

}
return request_1.FsRequest.post(this.cloudApiUrl + "/store/", payload, requestOptions).then(function (res) {
return request_1.FsRequest.post("".concat(this.cloudApiUrl, "/store/"), payload, requestOptions).then(function (res) {
if (res.data && res.data.token) {

@@ -203,3 +204,3 @@ _this.token = res.data.token;

}
return request_1.FsRequest.post(this.cloudApiUrl + "/auth/logout", payload).then(function (res) {
return request_1.FsRequest.post("".concat(this.cloudApiUrl, "/auth/logout"), payload).then(function (res) {
if (res.data && res.data[name]) {

@@ -221,3 +222,3 @@ return res.data[name];

}
return request_1.FsRequest.post(this.cloudApiUrl + "/metadata", payload).then(function (res) { return res.data; });
return request_1.FsRequest.post("".concat(this.cloudApiUrl, "/metadata"), payload).then(function (res) { return res.data; });
};

@@ -229,3 +230,3 @@ // OpenTok API Endpoints

}
return request_1.FsRequest.post(this.cloudApiUrl + "/recording/" + type + "/init").then(function (res) { return res.data; });
return request_1.FsRequest.post("".concat(this.cloudApiUrl, "/recording/").concat(type, "/init")).then(function (res) { return res.data; });
};

@@ -240,3 +241,3 @@ CloudClient.prototype.tokStart = function (type, key, sessionId) {

};
return request_1.FsRequest.post(this.cloudApiUrl + "/recording/" + type + "/start", payload).then(function (res) { return res.data; });
return request_1.FsRequest.post("".concat(this.cloudApiUrl, "/recording/").concat(type, "/start"), payload).then(function (res) { return res.data; });
};

@@ -252,3 +253,3 @@ CloudClient.prototype.tokStop = function (type, key, sessionId, archiveId) {

};
return request_1.FsRequest.post(this.cloudApiUrl + "/recording/" + type + "/stop", payload).then(function (res) { return res.data; });
return request_1.FsRequest.post("".concat(this.cloudApiUrl, "/recording/").concat(type, "/stop"), payload).then(function (res) { return res.data; });
};

@@ -264,3 +265,3 @@ CloudClient.prototype.currentAppUrl = function () {

searchParams.set(exports.CALLBACK_URL_KEY, 'init');
return window.location.protocol + "//" + window.location.host + window.location.pathname + "?" + searchParams.toString();
return "".concat(window.location.protocol, "//").concat(window.location.host).concat(window.location.pathname, "?").concat(searchParams.toString());
};

@@ -271,2 +272,2 @@ return CloudClient;

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL2Nsb3VkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7O0FBRUgsa0NBQXVDO0FBR3ZDLDJEQUF5RDtBQUV6RCxzQ0FBc0Q7QUFDdEQsMENBQXFEO0FBRXJEOztHQUVHO0FBQ1UsUUFBQSxVQUFVLEdBQUcsbUJBQW1CLENBQUM7QUFFOUM7OztHQUdHO0FBQ1UsUUFBQSxnQkFBZ0IsR0FBRyxRQUFRLENBQUM7QUFFekM7O0dBRUc7QUFDSDtJQStCRSxxQkFBWSxPQUFnQixFQUFFLE9BQXVCO1FBM0JyRDs7Ozs7O1dBTUc7UUFDSyxVQUFLLEdBQVksS0FBSyxDQUFDO1FBcUI3QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksYUFBSyxFQUFFLENBQUM7UUFFaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUU1QyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztTQUNuQztJQUNILENBQUM7SUFFRCxzQkFBSSw4QkFBSzthQUFUO1lBQ0UsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLElBQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGtCQUFVLEVBQUUsa0JBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdEUsSUFBSSxLQUFLO29CQUFFLE9BQU8sS0FBSyxDQUFDO2FBQ3pCO1lBRUQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUN2QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGtCQUFVLEVBQUUsa0JBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNsRTtZQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FB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QUNqRTtRQUVELElBQU0sT0FBTyxHQUFHO1lBQ2QsTUFBTSxFQUFFLEdBQUc7WUFDWCxVQUFVLEVBQUUsU0FBUztZQUNyQixVQUFVLEVBQUUsU0FBUztTQUN0QixDQUFDO1FBRUYsT0FBTyxtQkFBUyxDQUFDLElBQUksQ0FBSSxJQUFJLENBQUMsV0FBVyxtQkFBYyxJQUFJLFVBQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsSUFBSSxFQUFSLENBQVEsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFTyxtQ0FBYSxHQUFyQjtRQUNFLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFO1lBQzNCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsc0NBQXNDO1FBQ3RDLHdHQUF3RztRQUN4Ryw4RUFBOEU7UUFDOUUsSUFBTSxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRSxZQUFZLENBQUMsR0FBRyxDQUFDLHdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTNDLE9BQVUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLFVBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLFNBQUksWUFBWSxDQUFDLFFBQVEsRUFBSSxDQUFDO0lBQ3RILENBQUM7SUFDSCxrQkFBQztBQUFELENBN1FBLEFBNlFDLElBQUE7QUE3UVksa0NBQVciLCJmaWxlIjoibGliL2FwaS9jbG91ZC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IHJlbW92ZUVtcHR5IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgU3RvcmVQYXJhbXMgfSBmcm9tICcuLi9maWxlbGluayc7XG5pbXBvcnQgeyBDbGllbnRPcHRpb25zLCBTZXNzaW9uIH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yIH0gZnJvbSAnLi8uLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuaW1wb3J0IHsgVXBsb2FkVGFncyB9IGZyb20gJy4vdXBsb2FkL2ZpbGUnO1xuaW1wb3J0IHsgRnNSZXF1ZXN0LCBGc0NhbmNlbFRva2VuIH0gZnJvbSAnLi4vcmVxdWVzdCc7XG5pbXBvcnQgeyBTdG9yZSwgU1RPUkVfVFlQRSB9IGZyb20gJy4vLi4vdXRpbHMvc3RvcmUnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjb25zdCBQSUNLRVJfS0VZID0gJ19fZnNfcGlja2VyX3Rva2VuJztcblxuLyoqXG4gKiBrZXkgZm9yIHBpY2tlciBjYWxsYmFjayB1cmwgKHNwZWNpZmllcyB3aGljaCB0YWIgd2lsbCBiZSBvcGVuZWQgYWZ0ZXIgb3BlbmluZyBwaWNrZXIpXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgY29uc3QgQ0FMTEJBQ0tfVVJMX0tFWSA9ICdmcy10YWInO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBDbG91ZENsaWVudCB7XG4gIHNlc3Npb246IFNlc3Npb247XG4gIGNsb3VkQXBpVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgZmxhZyBpZiB0b2tlbiBzaG91bGQgYmUgY2FjaGVkIGluIGxvY2FsIHN0b3JhZ2VcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBDbG91ZENsaWVudFxuICAgKi9cbiAgcHJpdmF0ZSBjYWNoZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUb2tlbiByZXR1cm5lZCBmcm9tIGFwaSBmb3IgYWNjZXNzaW5nIGNsb3Vkc1xuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQ2xvdWRDbGllbnRcbiAgICovXG4gIHByaXZhdGUgX3Rva2VuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN0b3JlIGFkYXB0ZXIgaW5zdGFuY2VcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHR5cGUge1N0b3JlfVxuICAgKiBAbWVtYmVyb2YgQ2xvdWRDbGllbnRcbiAgICovXG4gIHByaXZhdGUgc3RvcmVBZGFwdGVyOiBTdG9yZTtcblxuICBjb25zdHJ1Y3RvcihzZXNzaW9uOiBTZXNzaW9uLCBvcHRpb25zPzogQ2xpZW50T3B0aW9ucykge1xuICAgIHRoaXMuc2Vzc2lvbiA9IHNlc3Npb247XG4gICAgdGhpcy5zdG9yZUFkYXB0ZXIgPSBuZXcgU3RvcmUoKTtcblxuICAgIHRoaXMuY2xvdWRBcGlVcmwgPSBzZXNzaW9uLnVybHMuY2xvdWRBcGlVcmw7XG5cbiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLnNlc3Npb25DYWNoZSkge1xuICAgICAgdGhpcy5jYWNoZSA9IG9wdGlvbnMuc2Vzc2lvbkNhY2hlO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0b2tlbigpIHtcbiAgICBpZiAodGhpcy5jYWNoZSkge1xuICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnN0b3JlQWRhcHRlci5nZXRJdGVtKFBJQ0tFUl9LRVksIFNUT1JFX1RZUEUuTE9DQUwpO1xuICAgICAgaWYgKHRva2VuKSByZXR1cm4gdG9rZW47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNJbkFwcEJyb3dzZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLnN0b3JlQWRhcHRlci5nZXRJdGVtKFBJQ0tFUl9LRVksIFNUT1JFX1RZUEUuU0VTU0lPTik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3Rva2VuO1xuICB9XG5cbiAgc2V0IHRva2VuKGtleSkge1xuICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICB0aGlzLnN0b3JlQWRhcHRlci5zZXRJdGVtKFBJQ0tFUl9LRVksIGtleSwgU1RPUkVfVFlQRS5MT0NBTCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNJbkFwcEJyb3dzZXIpIHtcbiAgICAgIHRoaXMuc3RvcmVBZGFwdGVyLnNldEl0ZW0oUElDS0VSX0tFWSwga2V5LCBTVE9SRV9UWVBFLlNFU1NJT04pO1xuICAgIH1cblxuICAgIHRoaXMuX3Rva2VuID0ga2V5O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBpbmZvcm1hdGlvbiBpcyBpbmFwcGJyb3dzZXIgZmxhZyBpcyBzZXRcbiAgICpcbiAgICogQHJlYWRvbmx5XG4gICAqIEBtZW1iZXJvZiBDbG91ZENsaWVudFxuICAgKi9cbiAgcHJpdmF0ZSBnZXQgaXNJbkFwcEJyb3dzZXIoKSB7XG4gICAgaWYgKHRoaXMuc2Vzc2lvblxuICAgICAgJiYgdGhpcy5zZXNzaW9uLnByZWZldGNoXG4gICAgICAmJiB0aGlzLnNlc3Npb24ucHJlZmV0Y2guc2V0dGluZ3NcbiAgICAgICYmIHRoaXMuc2Vzc2lvbi5wcmVmZXRjaC5zZXR0aW5ncy5pbmFwcF9icm93c2VyKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXNzaW9uLnByZWZldGNoLnNldHRpbmdzLmluYXBwX2Jyb3dzZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbGlzdChjbG91ZHM6IGFueSwgY2FuY2VsVG9rZW5JbnB1dD86IGFueSwgYWNjZXB0Pzogc3RyaW5nW10gfCBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXlsb2FkOiBhbnkgPSB7XG4gICAgICBhcGlrZXk6IHRoaXMuc2Vzc2lvbi5hcGlrZXksXG4gICAgICBjbG91ZHMsXG4gICAgICBmbG93OiAnd2ViJyxcbiAgICAgIHRva2VuOiB0aGlzLnRva2VuLFxuICAgIH07XG5cbiAgICBpZiAoYWNjZXB0KSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWNjZXB0KSkge1xuICAgICAgICBhY2NlcHQgPSBbYWNjZXB0XTtcbiAgICAgIH1cbiAgICAgIC8vIGZpbHRlcmluZyBtaW1ldHlwZXMgaW4gY2xvdWRzXG4gICAgICBwYXlsb2FkLmFjY2VwdCA9IGFjY2VwdDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0luQXBwQnJvd3Nlcikge1xuICAgICAgcGF5bG9hZC5hcHB1cmwgPSB0aGlzLmN1cnJlbnRBcHBVcmwoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZXNzaW9uLnBvbGljeSAmJiB0aGlzLnNlc3Npb24uc2lnbmF0dXJlKSB7XG4gICAgICBwYXlsb2FkLnBvbGljeSA9IHRoaXMuc2Vzc2lvbi5wb2xpY3k7XG4gICAgICBwYXlsb2FkLnNpZ25hdHVyZSA9IHRoaXMuc2Vzc2lvbi5zaWduYXR1cmU7XG4gICAgfVxuXG4gICAgbGV0IG9wdGlvbnM6IGFueSA9IHt9O1xuXG4gICAgaWYgKGNhbmNlbFRva2VuSW5wdXQpIHtcbiAgICAgIGNvbnN0IGNhbmNlbFRva2VuID0gbmV3IEZzQ2FuY2VsVG9rZW4oKTtcbiAgICAgIGNhbmNlbFRva2VuSW5wdXQuY2FuY2VsID0gY2FuY2VsVG9rZW4uY2FuY2VsLmJpbmQoY2FuY2VsVG9rZW4pO1xuICAgICAgb3B0aW9ucy5jYW5jZWxUb2tlbiA9IGNhbmNlbFRva2VuO1xuICAgIH1cblxuICAgIHJldHVybiBGc1JlcXVlc3QucG9zdChgJHt0aGlzLmNsb3VkQXBpVXJsfS9mb2xkZXIvbGlzdGAsIHBheWxvYWQsIG9wdGlvbnMpLnRoZW4ocmVzID0+IHtcbiAgICAgIGlmIChyZXMuZGF0YSAmJiByZXMuZGF0YS50b2tlbikge1xuICAgICAgICB0aGlzLnRva2VuID0gcmVzLmRhdGEudG9rZW47XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXMuZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0b3JlKG5hbWU6IHN0cmluZywgcGF0aDogc3RyaW5nLCBvcHRpb25zOiBTdG9yZVBhcmFtcyA9IHt9LCBjdXN0b21Tb3VyY2U6IGFueSA9IHt9LCBjYW5jZWxUb2tlbklucHV0PzogYW55LCB1cGxvYWRUYWdzOiBVcGxvYWRUYWdzID0gbnVsbCkge1xuICAgIC8vIERlZmF1bHQgdG8gUzNcbiAgICBpZiAob3B0aW9ucy5sb2NhdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBvcHRpb25zLmxvY2F0aW9uID0gJ3MzJztcbiAgICB9XG5cbiAgICBjb25zdCBwYXlsb2FkOiBhbnkgPSB7XG4gICAgICBhcGlrZXk6IHRoaXMuc2Vzc2lvbi5hcGlrZXksXG4gICAgICB0b2tlbjogdGhpcy50b2tlbixcbiAgICAgIGZsb3c6ICd3ZWInLFxuICAgICAgdXBsb2FkX3RhZ3M6IHVwbG9hZFRhZ3MgPyB1cGxvYWRUYWdzIDogdW5kZWZpbmVkLFxuICAgICAgY2xvdWRzOiB7XG4gICAgICAgIFtuYW1lXToge1xuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgc3RvcmU6IHJlbW92ZUVtcHR5KG9wdGlvbnMpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgaWYgKG5hbWUgPT09ICdjdXN0b21zb3VyY2UnICYmIGN1c3RvbVNvdXJjZS5jdXN0b21Tb3VyY2VQYXRoKSB7XG4gICAgICBwYXlsb2FkLmNsb3Vkcy5jdXN0b21zb3VyY2UuY3VzdG9tU291cmNlUGF0aCA9IGN1c3RvbVNvdXJjZS5jdXN0b21Tb3VyY2VQYXRoO1xuICAgIH1cblxuICAgIGlmIChuYW1lID09PSAnY3VzdG9tc291cmNlJyAmJiBjdXN0b21Tb3VyY2UuY3VzdG9tU291cmNlQ29udGFpbmVyKSB7XG4gICAgICBwYXlsb2FkLmNsb3Vkcy5jdXN0b21zb3VyY2UuY3VzdG9tU291cmNlQ29udGFpbmVyID0gY3VzdG9tU291cmNlLmN1c3RvbVNvdXJjZUNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZXNzaW9uLnBvbGljeSAmJiB0aGlzLnNlc3Npb24uc2lnbmF0dXJlKSB7XG4gICAgICBwYXlsb2FkLnBvbGljeSA9IHRoaXMuc2Vzc2lvbi5wb2xpY3k7XG4gICAgICBwYXlsb2FkLnNpZ25hdHVyZSA9IHRoaXMuc2Vzc2lvbi5zaWduYXR1cmU7XG4gICAgfVxuXG4gICAgbGV0IHJlcXVlc3RPcHRpb25zOiBhbnkgPSB7fTtcblxuICAgIGlmIChjYW5jZWxUb2tlbklucHV0KSB7XG4gICAgICBjb25zdCBjYW5jZWxUb2tlbiA9IG5ldyBGc0NhbmNlbFRva2VuKCk7XG4gICAgICBjYW5jZWxUb2tlbklucHV0LmNhbmNlbCA9IGNhbmNlbFRva2VuLmNhbmNlbC5iaW5kKGNhbmNlbFRva2VuKTtcbiAgICAgIHJlcXVlc3RPcHRpb25zLmNhbmNlbFRva2VuID0gY2FuY2VsVG9rZW47XG4gICAgfVxuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuY2xvdWRBcGlVcmx9L3N0b3JlL2AsIHBheWxvYWQsIHJlcXVlc3RPcHRpb25zKS50aGVuKHJlcyA9PiB7XG4gICAgICBpZiAocmVzLmRhdGEgJiYgcmVzLmRhdGEudG9rZW4pIHtcbiAgICAgICAgdGhpcy50b2tlbiA9IHJlcy5kYXRhLnRva2VuO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVzLmRhdGEgJiYgcmVzLmRhdGFbbmFtZV0pIHtcbiAgICAgICAgcmV0dXJuIHJlcy5kYXRhW25hbWVdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzLmRhdGE7XG4gICAgfSk7XG4gIH1cblxuICBsb2dvdXQobmFtZT86IHN0cmluZykge1xuICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IHtcbiAgICAgIGFwaWtleTogdGhpcy5zZXNzaW9uLmFwaWtleSxcbiAgICAgIGZsb3c6ICd3ZWInLFxuICAgICAgdG9rZW46IHRoaXMudG9rZW4sXG4gICAgfTtcblxuICAgIGlmIChuYW1lKSB7XG4gICAgICBwYXlsb2FkLmNsb3VkcyA9IHsgW25hbWVdOiB7fSB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5jYWNoZSkge1xuICAgICAgICAvLyBObyBuYW1lIG1lYW5zIGxvZ291dCBvZiBBTEwgY2xvdWRzLiBDbGVhciBsb2NhbCBzZXNzaW9uLlxuICAgICAgICB0aGlzLnN0b3JlQWRhcHRlci5yZW1vdmVJdGVtKFBJQ0tFUl9LRVksIFNUT1JFX1RZUEUuTE9DQUwpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5pc0luQXBwQnJvd3Nlcikge1xuICAgICAgICB0aGlzLnN0b3JlQWRhcHRlci5yZW1vdmVJdGVtKFBJQ0tFUl9LRVksIFNUT1JFX1RZUEUuU0VTU0lPTik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuY2xvdWRBcGlVcmx9L2F1dGgvbG9nb3V0YCwgcGF5bG9hZCkudGhlbihyZXMgPT4ge1xuICAgICAgaWYgKHJlcy5kYXRhICYmIHJlcy5kYXRhW25hbWVdKSB7XG4gICAgICAgIHJldHVybiByZXMuZGF0YVtuYW1lXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXMuZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIG1ldGFkYXRhKHVybDogc3RyaW5nLCBoZWFkZXJzPzoge1trZXk6IHN0cmluZ106IHN0cmluZ30pIHtcbiAgICBjb25zdCBwYXlsb2FkOiBhbnkgPSB7XG4gICAgICBhcGlrZXk6IHRoaXMuc2Vzc2lvbi5hcGlrZXksXG4gICAgICB1cmwsXG4gICAgICBoZWFkZXJzLFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5zZXNzaW9uLnBvbGljeSAmJiB0aGlzLnNlc3Npb24uc2lnbmF0dXJlKSB7XG4gICAgICBwYXlsb2FkLnBvbGljeSA9IHRoaXMuc2Vzc2lvbi5wb2xpY3k7XG4gICAgICBwYXlsb2FkLnNpZ25hdHVyZSA9IHRoaXMuc2Vzc2lvbi5zaWduYXR1cmU7XG4gICAgfVxuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuY2xvdWRBcGlVcmx9L21ldGFkYXRhYCwgcGF5bG9hZCkudGhlbihyZXMgPT4gcmVzLmRhdGEpO1xuICB9XG5cbiAgLy8gT3BlblRvayBBUEkgRW5kcG9pbnRzXG4gIHRva0luaXQodHlwZTogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGUgIT09ICd2aWRlbycgJiYgdHlwZSAhPT0gJ2F1ZGlvJykge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdUeXBlIG11c3QgYmUgb25lIG9mIHZpZGVvIG9yIGF1ZGlvLicpO1xuICAgIH1cbiAgICByZXR1cm4gRnNSZXF1ZXN0LnBvc3QoYCR7dGhpcy5jbG91ZEFwaVVybH0vcmVjb3JkaW5nLyR7dHlwZX0vaW5pdGApLnRoZW4ocmVzID0+IHJlcy5kYXRhKTtcbiAgfVxuXG4gIHRva1N0YXJ0KHR5cGU6IHN0cmluZywga2V5OiBzdHJpbmcsIHNlc3Npb25JZDogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGUgIT09ICd2aWRlbycgJiYgdHlwZSAhPT0gJ2F1ZGlvJykge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdUeXBlIG11c3QgYmUgb25lIG9mIHZpZGVvIG9yIGF1ZGlvLicpO1xuICAgIH1cbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgYXBpa2V5OiBrZXksXG4gICAgICBzZXNzaW9uX2lkOiBzZXNzaW9uSWQsXG4gICAgfTtcblxuICAgIHJldHVybiBGc1JlcXVlc3QucG9zdChgJHt0aGlzLmNsb3VkQXBpVXJsfS9yZWNvcmRpbmcvJHt0eXBlfS9zdGFydGAsIHBheWxvYWQpLnRoZW4ocmVzID0+IHJlcy5kYXRhKTtcbiAgfVxuXG4gIHRva1N0b3AodHlwZTogc3RyaW5nLCBrZXk6IHN0cmluZywgc2Vzc2lvbklkOiBzdHJpbmcsIGFyY2hpdmVJZDogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGUgIT09ICd2aWRlbycgJiYgdHlwZSAhPT0gJ2F1ZGlvJykge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdUeXBlIG11c3QgYmUgb25lIG9mIHZpZGVvIG9yIGF1ZGlvLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICBhcGlrZXk6IGtleSxcbiAgICAgIHNlc3Npb25faWQ6IHNlc3Npb25JZCxcbiAgICAgIGFyY2hpdmVfaWQ6IGFyY2hpdmVJZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuY2xvdWRBcGlVcmx9L3JlY29yZGluZy8ke3R5cGV9L3N0b3BgLCBwYXlsb2FkKS50aGVuKHJlcyA9PiByZXMuZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnRBcHBVcmwoKSB7XG4gICAgaWYgKCF3aW5kb3cuVVJMU2VhcmNoUGFyYW1zKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8vIHNldCBpbml0IHN0cmluZyBmb3IgY2xvdWRzIGJhY2tlbmQsXG4gICAgLy8gQWZ0ZXIgdGhpcyBjbG91ZCBzZXJ2aWNlIGNhbiBtYWtlIHJlZGlyZWN0IGJhY2sgdG8gY3VycmVudCBwYWdlIHVybCB3aXRoIHNlbGVjdGVkIHRhYiBmb3IgZ2l2ZW4gY2xvdWRcbiAgICAvLyBpZiBwYXJhbSBleGlzdHMgYW5kIGl0cyB2YWx1ZSBpcyBpbml0LCBiYWNrZW5kIHdpbGwgZmlsbCBpdCB3aXRoIGNsb3VkIG5hbWVcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuICAgIHNlYXJjaFBhcmFtcy5zZXQoQ0FMTEJBQ0tfVVJMX0tFWSwgJ2luaXQnKTtcblxuICAgIHJldHVybiBgJHt3aW5kb3cubG9jYXRpb24ucHJvdG9jb2x9Ly8ke3dpbmRvdy5sb2NhdGlvbi5ob3N0fSR7d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lfT8ke3NlYXJjaFBhcmFtcy50b1N0cmluZygpfWA7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL2Nsb3VkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7OztBQUVILGtDQUF1QztBQUd2QywyREFBeUQ7QUFFekQsc0NBQXNEO0FBQ3RELDBDQUFxRDtBQUVyRDs7R0FFRztBQUNVLFFBQUEsVUFBVSxHQUFHLG1CQUFtQixDQUFDO0FBRTlDOzs7R0FHRztBQUNVLFFBQUEsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO0FBRXpDOztHQUVHO0FBQ0g7SUErQkUscUJBQVksT0FBZ0IsRUFBRSxPQUF1QjtRQTNCckQ7Ozs7OztXQU1HO1FBQ0ssVUFBSyxHQUFZLEtBQUssQ0FBQztRQXFCN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLGFBQUssRUFBRSxDQUFDO1FBRWhDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFNUMsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRTtZQUNuQyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRUQsc0JBQUksOEJBQUs7YUFBVDtZQUNFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZCxJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxrQkFBVSxFQUFFLGtCQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RFLElBQUksS0FBSztvQkFBRSxPQUFPLEtBQUssQ0FBQzthQUN6QjtZQUVELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDdkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxrQkFBVSxFQUFFLGtCQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDbEU7WUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENB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TSxJQUFJLGdDQUFjLENBQUMscUNBQXFDLENBQUMsQ0FBQztTQUNqRTtRQUVELElBQU0sT0FBTyxHQUFHO1lBQ2QsTUFBTSxFQUFFLEdBQUc7WUFDWCxVQUFVLEVBQUUsU0FBUztZQUNyQixVQUFVLEVBQUUsU0FBUztTQUN0QixDQUFDO1FBRUYsT0FBTyxtQkFBUyxDQUFDLElBQUksQ0FBQyxVQUFHLElBQUksQ0FBQyxXQUFXLHdCQUFjLElBQUksVUFBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFBLEdBQUcsSUFBSSxPQUFBLEdBQUcsQ0FBQyxJQUFJLEVBQVIsQ0FBUSxDQUFDLENBQUM7SUFDckcsQ0FBQztJQUVPLG1DQUFhLEdBQXJCO1FBQ0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUU7WUFDM0IsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxzQ0FBc0M7UUFDdEMsd0dBQXdHO1FBQ3hHLDhFQUE4RTtRQUM5RSxJQUFNLFlBQVksR0FBRyxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pFLFlBQVksQ0FBQyxHQUFHLENBQUMsd0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFM0MsT0FBTyxVQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxlQUFLLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxTQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxjQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBRSxDQUFDO0lBQ3RILENBQUM7SUFDSCxrQkFBQztBQUFELENBN1FBLEFBNlFDLElBQUE7QUE3UVksa0NBQVciLCJmaWxlIjoibGliL2FwaS9jbG91ZC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IHJlbW92ZUVtcHR5IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgU3RvcmVQYXJhbXMgfSBmcm9tICcuLi9maWxlbGluayc7XG5pbXBvcnQgeyBDbGllbnRPcHRpb25zLCBTZXNzaW9uIH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yIH0gZnJvbSAnLi8uLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuaW1wb3J0IHsgVXBsb2FkVGFncyB9IGZyb20gJy4vdXBsb2FkL2ZpbGUnO1xuaW1wb3J0IHsgRnNSZXF1ZXN0LCBGc0NhbmNlbFRva2VuIH0gZnJvbSAnLi4vcmVxdWVzdCc7XG5pbXBvcnQgeyBTdG9yZSwgU1RPUkVfVFlQRSB9IGZyb20gJy4vLi4vdXRpbHMvc3RvcmUnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjb25zdCBQSUNLRVJfS0VZID0gJ19fZnNfcGlja2VyX3Rva2VuJztcblxuLyoqXG4gKiBrZXkgZm9yIHBpY2tlciBjYWxsYmFjayB1cmwgKHNwZWNpZmllcyB3aGljaCB0YWIgd2lsbCBiZSBvcGVuZWQgYWZ0ZXIgb3BlbmluZyBwaWNrZXIpXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgY29uc3QgQ0FMTEJBQ0tfVVJMX0tFWSA9ICdmcy10YWInO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBDbG91ZENsaWVudCB7XG4gIHNlc3Npb246IFNlc3Npb247XG4gIGNsb3VkQXBpVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgZmxhZyBpZiB0b2tlbiBzaG91bGQgYmUgY2FjaGVkIGluIGxvY2FsIHN0b3JhZ2VcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBDbG91ZENsaWVudFxuICAgKi9cbiAgcHJpdmF0ZSBjYWNoZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUb2tlbiByZXR1cm5lZCBmcm9tIGFwaSBmb3IgYWNjZXNzaW5nIGNsb3Vkc1xuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQ2xvdWRDbGllbnRcbiAgICovXG4gIHByaXZhdGUgX3Rva2VuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN0b3JlIGFkYXB0ZXIgaW5zdGFuY2VcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHR5cGUge1N0b3JlfVxuICAgKiBAbWVtYmVyb2YgQ2xvdWRDbGllbnRcbiAgICovXG4gIHByaXZhdGUgc3RvcmVBZGFwdGVyOiBTdG9yZTtcblxuICBjb25zdHJ1Y3RvcihzZXNzaW9uOiBTZXNzaW9uLCBvcHRpb25zPzogQ2xpZW50T3B0aW9ucykge1xuICAgIHRoaXMuc2Vzc2lvbiA9IHNlc3Npb247XG4gICAgdGhpcy5zdG9yZUFkYXB0ZXIgPSBuZXcgU3RvcmUoKTtcblxuICAgIHRoaXMuY2xvdWRBcGlVcmwgPSBzZXNzaW9uLnVybHMuY2xvdWRBcGlVcmw7XG5cbiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLnNlc3Npb25DYWNoZSkge1xuICAgICAgdGhpcy5jYWNoZSA9IG9wdGlvbnMuc2Vzc2lvbkNhY2hlO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0b2tlbigpIHtcbiAgICBpZiAodGhpcy5jYWNoZSkge1xuICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnN0b3JlQWRhcHRlci5nZXRJdGVtKFBJQ0tFUl9LRVksIFNUT1JFX1RZUEUuTE9DQUwpO1xuICAgICAgaWYgKHRva2VuKSByZXR1cm4gdG9rZW47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNJbkFwcEJyb3dzZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLnN0b3JlQWRhcHRlci5nZXRJdGVtKFBJQ0tFUl9LRVksIFNUT1JFX1RZUEUuU0VTU0lPTik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3Rva2VuO1xuICB9XG5cbiAgc2V0IHRva2VuKGtleSkge1xuICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICB0aGlzLnN0b3JlQWRhcHRlci5zZXRJdGVtKFBJQ0tFUl9LRVksIGtleSwgU1RPUkVfVFlQRS5MT0NBTCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNJbkFwcEJyb3dzZXIpIHtcbiAgICAgIHRoaXMuc3RvcmVBZGFwdGVyLnNldEl0ZW0oUElDS0VSX0tFWSwga2V5LCBTVE9SRV9UWVBFLlNFU1NJT04pO1xuICAgIH1cblxuICAgIHRoaXMuX3Rva2VuID0ga2V5O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBpbmZvcm1hdGlvbiBpcyBpbmFwcGJyb3dzZXIgZmxhZyBpcyBzZXRcbiAgICpcbiAgICogQHJlYWRvbmx5XG4gICAqIEBtZW1iZXJvZiBDbG91ZENsaWVudFxuICAgKi9cbiAgcHJpdmF0ZSBnZXQgaXNJbkFwcEJyb3dzZXIoKSB7XG4gICAgaWYgKHRoaXMuc2Vzc2lvblxuICAgICAgJiYgdGhpcy5zZXNzaW9uLnByZWZldGNoXG4gICAgICAmJiB0aGlzLnNlc3Npb24ucHJlZmV0Y2guc2V0dGluZ3NcbiAgICAgICYmIHRoaXMuc2Vzc2lvbi5wcmVmZXRjaC5zZXR0aW5ncy5pbmFwcF9icm93c2VyKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXNzaW9uLnByZWZldGNoLnNldHRpbmdzLmluYXBwX2Jyb3dzZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbGlzdChjbG91ZHM6IGFueSwgY2FuY2VsVG9rZW5JbnB1dD86IGFueSwgYWNjZXB0Pzogc3RyaW5nW10gfCBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXlsb2FkOiBhbnkgPSB7XG4gICAgICBhcGlrZXk6IHRoaXMuc2Vzc2lvbi5hcGlrZXksXG4gICAgICBjbG91ZHMsXG4gICAgICBmbG93OiAnd2ViJyxcbiAgICAgIHRva2VuOiB0aGlzLnRva2VuLFxuICAgIH07XG5cbiAgICBpZiAoYWNjZXB0KSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWNjZXB0KSkge1xuICAgICAgICBhY2NlcHQgPSBbYWNjZXB0XTtcbiAgICAgIH1cbiAgICAgIC8vIGZpbHRlcmluZyBtaW1ldHlwZXMgaW4gY2xvdWRzXG4gICAgICBwYXlsb2FkLmFjY2VwdCA9IGFjY2VwdDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0luQXBwQnJvd3Nlcikge1xuICAgICAgcGF5bG9hZC5hcHB1cmwgPSB0aGlzLmN1cnJlbnRBcHBVcmwoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZXNzaW9uLnBvbGljeSAmJiB0aGlzLnNlc3Npb24uc2lnbmF0dXJlKSB7XG4gICAgICBwYXlsb2FkLnBvbGljeSA9IHRoaXMuc2Vzc2lvbi5wb2xpY3k7XG4gICAgICBwYXlsb2FkLnNpZ25hdHVyZSA9IHRoaXMuc2Vzc2lvbi5zaWduYXR1cmU7XG4gICAgfVxuXG4gICAgbGV0IG9wdGlvbnM6IGFueSA9IHt9O1xuXG4gICAgaWYgKGNhbmNlbFRva2VuSW5wdXQpIHtcbiAgICAgIGNvbnN0IGNhbmNlbFRva2VuID0gbmV3IEZzQ2FuY2VsVG9rZW4oKTtcbiAgICAgIGNhbmNlbFRva2VuSW5wdXQuY2FuY2VsID0gY2FuY2VsVG9rZW4uY2FuY2VsLmJpbmQoY2FuY2VsVG9rZW4pO1xuICAgICAgb3B0aW9ucy5jYW5jZWxUb2tlbiA9IGNhbmNlbFRva2VuO1xuICAgIH1cblxuICAgIHJldHVybiBGc1JlcXVlc3QucG9zdChgJHt0aGlzLmNsb3VkQXBpVXJsfS9mb2xkZXIvbGlzdGAsIHBheWxvYWQsIG9wdGlvbnMpLnRoZW4ocmVzID0+IHtcbiAgICAgIGlmIChyZXMuZGF0YSAmJiByZXMuZGF0YS50b2tlbikge1xuICAgICAgICB0aGlzLnRva2VuID0gcmVzLmRhdGEudG9rZW47XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXMuZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0b3JlKG5hbWU6IHN0cmluZywgcGF0aDogc3RyaW5nLCBvcHRpb25zOiBTdG9yZVBhcmFtcyA9IHt9LCBjdXN0b21Tb3VyY2U6IGFueSA9IHt9LCBjYW5jZWxUb2tlbklucHV0PzogYW55LCB1cGxvYWRUYWdzOiBVcGxvYWRUYWdzID0gbnVsbCkge1xuICAgIC8vIERlZmF1bHQgdG8gUzNcbiAgICBpZiAob3B0aW9ucy5sb2NhdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBvcHRpb25zLmxvY2F0aW9uID0gJ3MzJztcbiAgICB9XG5cbiAgICBjb25zdCBwYXlsb2FkOiBhbnkgPSB7XG4gICAgICBhcGlrZXk6IHRoaXMuc2Vzc2lvbi5hcGlrZXksXG4gICAgICB0b2tlbjogdGhpcy50b2tlbixcbiAgICAgIGZsb3c6ICd3ZWInLFxuICAgICAgdXBsb2FkX3RhZ3M6IHVwbG9hZFRhZ3MgPyB1cGxvYWRUYWdzIDogdW5kZWZpbmVkLFxuICAgICAgY2xvdWRzOiB7XG4gICAgICAgIFtuYW1lXToge1xuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgc3RvcmU6IHJlbW92ZUVtcHR5KG9wdGlvbnMpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgaWYgKG5hbWUgPT09ICdjdXN0b21zb3VyY2UnICYmIGN1c3RvbVNvdXJjZS5jdXN0b21Tb3VyY2VQYXRoKSB7XG4gICAgICBwYXlsb2FkLmNsb3Vkcy5jdXN0b21zb3VyY2UuY3VzdG9tU291cmNlUGF0aCA9IGN1c3RvbVNvdXJjZS5jdXN0b21Tb3VyY2VQYXRoO1xuICAgIH1cblxuICAgIGlmIChuYW1lID09PSAnY3VzdG9tc291cmNlJyAmJiBjdXN0b21Tb3VyY2UuY3VzdG9tU291cmNlQ29udGFpbmVyKSB7XG4gICAgICBwYXlsb2FkLmNsb3Vkcy5jdXN0b21zb3VyY2UuY3VzdG9tU291cmNlQ29udGFpbmVyID0gY3VzdG9tU291cmNlLmN1c3RvbVNvdXJjZUNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZXNzaW9uLnBvbGljeSAmJiB0aGlzLnNlc3Npb24uc2lnbmF0dXJlKSB7XG4gICAgICBwYXlsb2FkLnBvbGljeSA9IHRoaXMuc2Vzc2lvbi5wb2xpY3k7XG4gICAgICBwYXlsb2FkLnNpZ25hdHVyZSA9IHRoaXMuc2Vzc2lvbi5zaWduYXR1cmU7XG4gICAgfVxuXG4gICAgbGV0IHJlcXVlc3RPcHRpb25zOiBhbnkgPSB7fTtcblxuICAgIGlmIChjYW5jZWxUb2tlbklucHV0KSB7XG4gICAgICBjb25zdCBjYW5jZWxUb2tlbiA9IG5ldyBGc0NhbmNlbFRva2VuKCk7XG4gICAgICBjYW5jZWxUb2tlbklucHV0LmNhbmNlbCA9IGNhbmNlbFRva2VuLmNhbmNlbC5iaW5kKGNhbmNlbFRva2VuKTtcbiAgICAgIHJlcXVlc3RPcHRpb25zLmNhbmNlbFRva2VuID0gY2FuY2VsVG9rZW47XG4gICAgfVxuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuY2xvdWRBcGlVcmx9L3N0b3JlL2AsIHBheWxvYWQsIHJlcXVlc3RPcHRpb25zKS50aGVuKHJlcyA9PiB7XG4gICAgICBpZiAocmVzLmRhdGEgJiYgcmVzLmRhdGEudG9rZW4pIHtcbiAgICAgICAgdGhpcy50b2tlbiA9IHJlcy5kYXRhLnRva2VuO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVzLmRhdGEgJiYgcmVzLmRhdGFbbmFtZV0pIHtcbiAgICAgICAgcmV0dXJuIHJlcy5kYXRhW25hbWVdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzLmRhdGE7XG4gICAgfSk7XG4gIH1cblxuICBsb2dvdXQobmFtZT86IHN0cmluZykge1xuICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IHtcbiAgICAgIGFwaWtleTogdGhpcy5zZXNzaW9uLmFwaWtleSxcbiAgICAgIGZsb3c6ICd3ZWInLFxuICAgICAgdG9rZW46IHRoaXMudG9rZW4sXG4gICAgfTtcblxuICAgIGlmIChuYW1lKSB7XG4gICAgICBwYXlsb2FkLmNsb3VkcyA9IHsgW25hbWVdOiB7fSB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5jYWNoZSkge1xuICAgICAgICAvLyBObyBuYW1lIG1lYW5zIGxvZ291dCBvZiBBTEwgY2xvdWRzLiBDbGVhciBsb2NhbCBzZXNzaW9uLlxuICAgICAgICB0aGlzLnN0b3JlQWRhcHRlci5yZW1vdmVJdGVtKFBJQ0tFUl9LRVksIFNUT1JFX1RZUEUuTE9DQUwpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5pc0luQXBwQnJvd3Nlcikge1xuICAgICAgICB0aGlzLnN0b3JlQWRhcHRlci5yZW1vdmVJdGVtKFBJQ0tFUl9LRVksIFNUT1JFX1RZUEUuU0VTU0lPTik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuY2xvdWRBcGlVcmx9L2F1dGgvbG9nb3V0YCwgcGF5bG9hZCkudGhlbihyZXMgPT4ge1xuICAgICAgaWYgKHJlcy5kYXRhICYmIHJlcy5kYXRhW25hbWVdKSB7XG4gICAgICAgIHJldHVybiByZXMuZGF0YVtuYW1lXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXMuZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIG1ldGFkYXRhKHVybDogc3RyaW5nLCBoZWFkZXJzPzoge1trZXk6IHN0cmluZ106IHN0cmluZ30pIHtcbiAgICBjb25zdCBwYXlsb2FkOiBhbnkgPSB7XG4gICAgICBhcGlrZXk6IHRoaXMuc2Vzc2lvbi5hcGlrZXksXG4gICAgICB1cmwsXG4gICAgICBoZWFkZXJzLFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5zZXNzaW9uLnBvbGljeSAmJiB0aGlzLnNlc3Npb24uc2lnbmF0dXJlKSB7XG4gICAgICBwYXlsb2FkLnBvbGljeSA9IHRoaXMuc2Vzc2lvbi5wb2xpY3k7XG4gICAgICBwYXlsb2FkLnNpZ25hdHVyZSA9IHRoaXMuc2Vzc2lvbi5zaWduYXR1cmU7XG4gICAgfVxuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuY2xvdWRBcGlVcmx9L21ldGFkYXRhYCwgcGF5bG9hZCkudGhlbihyZXMgPT4gcmVzLmRhdGEpO1xuICB9XG5cbiAgLy8gT3BlblRvayBBUEkgRW5kcG9pbnRzXG4gIHRva0luaXQodHlwZTogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGUgIT09ICd2aWRlbycgJiYgdHlwZSAhPT0gJ2F1ZGlvJykge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdUeXBlIG11c3QgYmUgb25lIG9mIHZpZGVvIG9yIGF1ZGlvLicpO1xuICAgIH1cbiAgICByZXR1cm4gRnNSZXF1ZXN0LnBvc3QoYCR7dGhpcy5jbG91ZEFwaVVybH0vcmVjb3JkaW5nLyR7dHlwZX0vaW5pdGApLnRoZW4ocmVzID0+IHJlcy5kYXRhKTtcbiAgfVxuXG4gIHRva1N0YXJ0KHR5cGU6IHN0cmluZywga2V5OiBzdHJpbmcsIHNlc3Npb25JZDogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGUgIT09ICd2aWRlbycgJiYgdHlwZSAhPT0gJ2F1ZGlvJykge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdUeXBlIG11c3QgYmUgb25lIG9mIHZpZGVvIG9yIGF1ZGlvLicpO1xuICAgIH1cbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgYXBpa2V5OiBrZXksXG4gICAgICBzZXNzaW9uX2lkOiBzZXNzaW9uSWQsXG4gICAgfTtcblxuICAgIHJldHVybiBGc1JlcXVlc3QucG9zdChgJHt0aGlzLmNsb3VkQXBpVXJsfS9yZWNvcmRpbmcvJHt0eXBlfS9zdGFydGAsIHBheWxvYWQpLnRoZW4ocmVzID0+IHJlcy5kYXRhKTtcbiAgfVxuXG4gIHRva1N0b3AodHlwZTogc3RyaW5nLCBrZXk6IHN0cmluZywgc2Vzc2lvbklkOiBzdHJpbmcsIGFyY2hpdmVJZDogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGUgIT09ICd2aWRlbycgJiYgdHlwZSAhPT0gJ2F1ZGlvJykge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdUeXBlIG11c3QgYmUgb25lIG9mIHZpZGVvIG9yIGF1ZGlvLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICBhcGlrZXk6IGtleSxcbiAgICAgIHNlc3Npb25faWQ6IHNlc3Npb25JZCxcbiAgICAgIGFyY2hpdmVfaWQ6IGFyY2hpdmVJZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuY2xvdWRBcGlVcmx9L3JlY29yZGluZy8ke3R5cGV9L3N0b3BgLCBwYXlsb2FkKS50aGVuKHJlcyA9PiByZXMuZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnRBcHBVcmwoKSB7XG4gICAgaWYgKCF3aW5kb3cuVVJMU2VhcmNoUGFyYW1zKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8vIHNldCBpbml0IHN0cmluZyBmb3IgY2xvdWRzIGJhY2tlbmQsXG4gICAgLy8gQWZ0ZXIgdGhpcyBjbG91ZCBzZXJ2aWNlIGNhbiBtYWtlIHJlZGlyZWN0IGJhY2sgdG8gY3VycmVudCBwYWdlIHVybCB3aXRoIHNlbGVjdGVkIHRhYiBmb3IgZ2l2ZW4gY2xvdWRcbiAgICAvLyBpZiBwYXJhbSBleGlzdHMgYW5kIGl0cyB2YWx1ZSBpcyBpbml0LCBiYWNrZW5kIHdpbGwgZmlsbCBpdCB3aXRoIGNsb3VkIG5hbWVcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuICAgIHNlYXJjaFBhcmFtcy5zZXQoQ0FMTEJBQ0tfVVJMX0tFWSwgJ2luaXQnKTtcblxuICAgIHJldHVybiBgJHt3aW5kb3cubG9jYXRpb24ucHJvdG9jb2x9Ly8ke3dpbmRvdy5sb2NhdGlvbi5ob3N0fSR7d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lfT8ke3NlYXJjaFBhcmFtcy50b1N0cmluZygpfWA7XG4gIH1cbn1cbiJdfQ==

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.retrieve = exports.download = exports.metadata = exports.remove = void 0;
var tslib_1 = require("tslib");

@@ -34,3 +35,3 @@ var filelink_1 = require("./../filelink");

*/
exports.remove = function (session, handle, skipStorage, security) {
var remove = function (session, handle, skipStorage, security) {
if (!handle || typeof handle !== 'string') {

@@ -43,3 +44,3 @@ throw new filestack_error_1.FilestackError('A valid Filestack handle is required for remove');

var fileApiUrl = session.urls.fileApiUrl;
var baseURL = fileApiUrl + "/" + handle;
var baseURL = "".concat(fileApiUrl, "/").concat(handle);
var options = {

@@ -55,5 +56,6 @@ key: session.apikey,

filestackHeaders: false,
params: utils_1.removeEmpty(options),
params: (0, utils_1.removeEmpty)(options),
});
};
exports.remove = remove;
/**

@@ -68,7 +70,7 @@ * Returns file metadata

*/
exports.metadata = function (session, handle, opts, security) {
var metadata = function (session, handle, opts, security) {
if (!handle || typeof handle !== 'string') {
throw new filestack_error_1.FilestackError('A valid Filestack handle is required for metadata');
}
var validateRes = schema_1.getValidator(schema_1.MetadataParamsSchema)(opts);
var validateRes = (0, schema_1.getValidator)(schema_1.MetadataParamsSchema)(opts);
if (validateRes.errors.length) {

@@ -81,5 +83,5 @@ throw new filestack_error_1.FilestackError("Invalid metadata params", validateRes.errors);

options.signature = (security && security.signature) || session.signature;
var baseURL = session.urls.fileApiUrl + "/" + handle + "/metadata";
var baseURL = "".concat(session.urls.fileApiUrl, "/").concat(handle, "/metadata");
return new Promise(function (resolve, reject) {
request_1.FsRequest.get(baseURL, { params: utils_1.removeEmpty(options), filestackHeaders: false })
request_1.FsRequest.get(baseURL, { params: (0, utils_1.removeEmpty)(options), filestackHeaders: false })
.then(function (res) { return resolve(tslib_1.__assign(tslib_1.__assign({}, res.data), { handle: handle })); })

@@ -89,2 +91,3 @@ .catch(reject);

};
exports.metadata = metadata;
/**

@@ -96,3 +99,3 @@ * Download file to blob or buffer format

*/
exports.download = function (session, handle, security) {
var download = function (session, handle, security) {
var fl = new filelink_1.Filelink(handle, session.apikey);

@@ -106,2 +109,3 @@ var policy = (security && security.policy) || session.policy;

};
exports.download = download;
/**

@@ -117,3 +121,3 @@ * Returns file information

*/
exports.retrieve = function (session, handle, options, security) {
var retrieve = function (session, handle, options, security) {
if (options === void 0) { options = {}; }

@@ -124,3 +128,3 @@ if (!handle || handle.length === 0 || typeof handle !== 'string') {

console.info('Retrieve method is deprecated and it will be removed. Please use metadata or download');
var validateRes = schema_1.getValidator(schema_1.RetrieveParamsSchema)(options);
var validateRes = (0, schema_1.getValidator)(schema_1.RetrieveParamsSchema)(options);
if (validateRes.errors.length) {

@@ -151,3 +155,3 @@ throw new filestack_error_1.FilestackError("Invalid retrieve params", validateRes.errors);

}
var baseURL = session.urls.fileApiUrl + "/" + handle + (extension ? "+" + extension : '') + (metadata ? '/metadata' : '');
var baseURL = "".concat(session.urls.fileApiUrl, "/").concat(handle) + (extension ? "+".concat(extension) : '') + (metadata ? '/metadata' : '');
return new Promise(function (resolve, reject) {

@@ -157,3 +161,3 @@ request_1.FsRequest.dispatch(baseURL, {

filestackHeaders: false,
params: utils_1.removeEmpty(requestOptions),
params: (0, utils_1.removeEmpty)(requestOptions),
})

@@ -164,3 +168,4 @@ .then(function (res) { return resolve(method === request_1.FsHttpMethod.HEAD ? res.headers : res.data); })

};
exports.retrieve = retrieve;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL2ZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7O0FBR0gsMENBQXlDO0FBQ3pDLGtDQUF1QztBQUV2QywyREFBeUQ7QUFDekQseUNBQTBGO0FBQzFGLHNDQUFxRDtBQUVyRDs7Ozs7OztHQU9HO0FBQ1UsUUFBQSxNQUFNLEdBQUcsVUFBQyxPQUFnQixFQUFFLE1BQWUsRUFBRSxXQUFxQixFQUFFLFFBQW1CO0lBQ2xHLElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1FBQ3pDLE1BQU0sSUFBSSxnQ0FBYyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7S0FDN0U7SUFFRCxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFO1FBQ3JHLE1BQU0sSUFBSSxnQ0FBYyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7S0FDbkY7SUFFRCxJQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQyxJQUFNLE9BQU8sR0FBTSxVQUFVLFNBQUksTUFBUSxDQUFDO0lBQzFDLElBQU0sT0FBTyxHQUFRO1FBQ25CLEdBQUcsRUFBRSxPQUFPLENBQUMsTUFBTTtRQUNuQixNQUFNLEVBQUUsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNO1FBQ3ZELFNBQVMsRUFBRSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLFNBQVM7S0FDakUsQ0FBQztJQUVGLElBQUksV0FBVyxFQUFFO1FBQ2YsT0FBTyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7S0FDN0I7SUFFRCxPQUFPLG1CQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUMvQixnQkFBZ0IsRUFBRSxLQUFLO1FBQ3ZCLE1BQU0sRUFBRSxtQkFBVyxDQUFDLE9BQU8sQ0FBQztLQUM3QixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUF3QkY7Ozs7Ozs7O0dBUUc7QUFDVSxRQUFBLFFBQVEsR0FBRyxVQUFDLE9BQWdCLEVBQUUsTUFBZSxFQUFFLElBQXNCLEVBQUUsUUFBbUI7SUFDckcsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7UUFDekMsTUFBTSxJQUFJLGdDQUFjLENBQUMsbURBQW1ELENBQUMsQ0FBQztLQUMvRTtJQUVELElBQU0sV0FBVyxHQUFHLHFCQUFZLENBQUMsNkJBQW9CLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU3RCxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQzdCLE1BQU0sSUFBSSxnQ0FBYyxDQUFDLHlCQUF5QixFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN6RTtJQUVELElBQU0sT0FBTyx3QkFBYSxJQUFJLENBQUUsQ0FBQztJQUNqQyxPQUFPLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQywyQkFBMkI7SUFDbkUsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUNqRSxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDO0lBRTFFLElBQU0sT0FBTyxHQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxTQUFJLE1BQU0sY0FBVyxDQUFDO0lBQ2hFLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtRQUNqQyxtQkFBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsbUJBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsQ0FBQzthQUM5RSxJQUFJLENBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxPQUFPLHVDQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUUsTUFBTSxRQUFBLElBQUcsRUFBaEMsQ0FBZ0MsQ0FBQzthQUM3QyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNVLFFBQUEsUUFBUSxHQUFHLFVBQUMsT0FBZ0IsRUFBRSxNQUFjLEVBQUcsUUFBbUI7SUFDN0UsSUFBTSxFQUFFLEdBQUcsSUFBSSxtQkFBUSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFaEQsSUFBTSxNQUFNLEdBQUcsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDL0QsSUFBTSxTQUFTLEdBQUcsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFFeEUsSUFBSSxNQUFNLElBQUksU0FBUyxFQUFFO1FBQ3ZCLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLFdBQUEsRUFBRSxNQUFNLFFBQUEsRUFBRSxDQUFDLENBQUM7S0FDcEM7SUFFRCxPQUFPLG1CQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxzQkFBWSxDQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUM3RixDQUFDLENBQUM7QUFVRjs7Ozs7Ozs7O0dBU0c7QUFDVSxRQUFBLFFBQVEsR0FBRyxVQUFDLE9BQWdCLEVBQUUsTUFBYyxFQUFFLE9BQTZCLEVBQUUsUUFBbUI7SUFBbEQsd0JBQUEsRUFBQSxZQUE2QjtJQUN0RixJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtRQUNoRSxNQUFNLElBQUksZ0NBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0tBQ3JEO0lBRUQsT0FBTyxDQUFDLElBQUksQ0FBQyx1RkFBdUYsQ0FBQyxDQUFDO0lBRXRHLElBQU0sV0FBVyxHQUFHLHFCQUFZLENBQUMsNkJBQW9CLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVoRSxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQzdCLE1BQU0sSUFBSSxnQ0FBYyxDQUFDLHlCQUF5QixFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN6RTtJQUVELElBQU0sY0FBYyx3QkFBYSxPQUFPLENBQUUsQ0FBQztJQUMzQyxjQUFjLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDcEMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUN4RSxjQUFjLENBQUMsU0FBUyxHQUFHLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDO0lBRWpGLElBQUksTUFBTSxHQUFpQixzQkFBWSxDQUFDLEdBQUcsQ0FBQztJQUU1QyxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUU7UUFDdkIsTUFBTSxHQUFHLHNCQUFZLENBQUMsSUFBSSxDQUFDO1FBQzNCLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQztLQUM1QjtJQUVELElBQUksU0FBUyxDQUFDO0lBRWQsSUFBSSxjQUFjLENBQUMsU0FBUyxJQUFJLGNBQWMsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO1FBQy9ELFNBQVMsR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDO1FBQ3JDLE9BQU8sY0FBYyxDQUFDLFNBQVMsQ0FBQztLQUNqQztJQUVELElBQUksUUFBUSxDQUFDO0lBQ2IsSUFBSSxjQUFjLENBQUMsUUFBUSxFQUFFO1FBQzNCLElBQUksTUFBTSxLQUFLLHNCQUFZLENBQUMsSUFBSSxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxnQ0FBYyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7U0FDL0U7UUFFRCxRQUFRLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQztRQUNuQyxPQUFPLGNBQWMsQ0FBQyxRQUFRLENBQUM7S0FDaEM7SUFFRCxJQUFNLE9BQU8sR0FBTSxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsU0FBSSxNQUFRLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQUksU0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU1SCxPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07UUFDakMsbUJBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFO1lBQzFCLE1BQU0sUUFBQTtZQUNOLGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsTUFBTSxFQUFFLG1CQUFXLENBQUMsY0FBYyxDQUFDO1NBQ3BDLENBQUM7YUFDQyxJQUFJLENBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxPQUFPLENBQUMsTUFBTSxLQUFLLHNCQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQTlELENBQThELENBQUM7YUFDM0UsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9hcGkvZmlsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFNlY3VyaXR5LCBTZXNzaW9uIH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IEZpbGVsaW5rIH0gZnJvbSAnLi8uLi9maWxlbGluayc7XG5pbXBvcnQgeyByZW1vdmVFbXB0eSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IEZzUmVzcG9uc2UgfSBmcm9tICcuLy4uL3JlcXVlc3QvdHlwZXMnO1xuaW1wb3J0IHsgRmlsZXN0YWNrRXJyb3IgfSBmcm9tICcuLy4uLy4uL2ZpbGVzdGFja19lcnJvcic7XG5pbXBvcnQgeyBnZXRWYWxpZGF0b3IsIE1ldGFkYXRhUGFyYW1zU2NoZW1hLCBSZXRyaWV2ZVBhcmFtc1NjaGVtYSB9IGZyb20gJy4vLi4vLi4vc2NoZW1hJztcbmltcG9ydCB7IEZzUmVxdWVzdCwgRnNIdHRwTWV0aG9kIH0gZnJvbSAnLi4vcmVxdWVzdCc7XG5cbi8qKlxuICogUmVtb3ZlIGdpdmVuIGZpbGVcbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHNlc3Npb25cbiAqIEBwYXJhbSBoYW5kbGVcbiAqIEBwYXJhbSBzZWN1cml0eVxuICovXG5leHBvcnQgY29uc3QgcmVtb3ZlID0gKHNlc3Npb246IFNlc3Npb24sIGhhbmRsZT86IHN0cmluZywgc2tpcFN0b3JhZ2U/OiBib29sZWFuLCBzZWN1cml0eT86IFNlY3VyaXR5KTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgaWYgKCFoYW5kbGUgfHwgdHlwZW9mIGhhbmRsZSAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoJ0EgdmFsaWQgRmlsZXN0YWNrIGhhbmRsZSBpcyByZXF1aXJlZCBmb3IgcmVtb3ZlJyk7XG4gIH1cblxuICBpZiAoIShzZXNzaW9uLnBvbGljeSAmJiBzZXNzaW9uLnNpZ25hdHVyZSkgJiYgKCFzZWN1cml0eSB8fCAhKHNlY3VyaXR5LnBvbGljeSAmJiBzZWN1cml0eS5zaWduYXR1cmUpKSkge1xuICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcignU2VjdXJpdHkgcG9saWN5IGFuZCBzaWduYXR1cmUgYXJlIHJlcXVpcmVkIGZvciByZW1vdmUnKTtcbiAgfVxuXG4gIGNvbnN0IGZpbGVBcGlVcmwgPSBzZXNzaW9uLnVybHMuZmlsZUFwaVVybDtcbiAgY29uc3QgYmFzZVVSTCA9IGAke2ZpbGVBcGlVcmx9LyR7aGFuZGxlfWA7XG4gIGNvbnN0IG9wdGlvbnM6IGFueSA9IHtcbiAgICBrZXk6IHNlc3Npb24uYXBpa2V5LFxuICAgIHBvbGljeTogKHNlY3VyaXR5ICYmIHNlY3VyaXR5LnBvbGljeSkgfHwgc2Vzc2lvbi5wb2xpY3ksXG4gICAgc2lnbmF0dXJlOiAoc2VjdXJpdHkgJiYgc2VjdXJpdHkuc2lnbmF0dXJlKSB8fCBzZXNzaW9uLnNpZ25hdHVyZSxcbiAgfTtcblxuICBpZiAoc2tpcFN0b3JhZ2UpIHtcbiAgICBvcHRpb25zLnNraXBfc3RvcmFnZSA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gRnNSZXF1ZXN0LmRlbGV0ZShiYXNlVVJMLCB7XG4gICAgZmlsZXN0YWNrSGVhZGVyczogZmFsc2UsXG4gICAgcGFyYW1zOiByZW1vdmVFbXB0eShvcHRpb25zKSxcbiAgfSk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhT3B0aW9ucyB7XG4gIHNpemU/OiBib29sZWFuO1xuICBtaW1ldHlwZT86IGJvb2xlYW47XG4gIGZpbGVuYW1lPzogYm9vbGVhbjtcbiAgd2lkdGg/OiBib29sZWFuO1xuICBoZWlnaHQ/OiBib29sZWFuO1xuICB1cGxvYWRlZD86IGJvb2xlYW47XG4gIHdyaXRlYWJsZT86IGJvb2xlYW47XG4gIGNsb3VkPzogYm9vbGVhbjtcbiAgc291cmNlVXJsPzogYm9vbGVhbjtcbiAgbWQ1PzogYm9vbGVhbjtcbiAgc2hhMT86IGJvb2xlYW47XG4gIHNoYTIyND86IGJvb2xlYW47XG4gIHNoYTI1Nj86IGJvb2xlYW47XG4gIHNoYTM4ND86IGJvb2xlYW47XG4gIHNoYTUxMj86IGJvb2xlYW47XG4gIGxvY2F0aW9uPzogYm9vbGVhbjtcbiAgcGF0aD86IGJvb2xlYW47XG4gIGNvbnRhaW5lcj86IGJvb2xlYW47XG4gIGV4aWY/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJldHVybnMgZmlsZSBtZXRhZGF0YVxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gc2Vzc2lvblxuICogQHBhcmFtIGhhbmRsZVxuICogQHBhcmFtIG9wdHNcbiAqIEBwYXJhbSBzZWN1cml0eVxuICovXG5leHBvcnQgY29uc3QgbWV0YWRhdGEgPSAoc2Vzc2lvbjogU2Vzc2lvbiwgaGFuZGxlPzogc3RyaW5nLCBvcHRzPzogTWV0YWRhdGFPcHRpb25zLCBzZWN1cml0eT86IFNlY3VyaXR5KTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgaWYgKCFoYW5kbGUgfHwgdHlwZW9mIGhhbmRsZSAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoJ0EgdmFsaWQgRmlsZXN0YWNrIGhhbmRsZSBpcyByZXF1aXJlZCBmb3IgbWV0YWRhdGEnKTtcbiAgfVxuXG4gIGNvbnN0IHZhbGlkYXRlUmVzID0gZ2V0VmFsaWRhdG9yKE1ldGFkYXRhUGFyYW1zU2NoZW1hKShvcHRzKTtcblxuICBpZiAodmFsaWRhdGVSZXMuZXJyb3JzLmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcihgSW52YWxpZCBtZXRhZGF0YSBwYXJhbXNgLCB2YWxpZGF0ZVJlcy5lcnJvcnMpO1xuICB9XG5cbiAgY29uc3Qgb3B0aW9uczogYW55ID0geyAuLi5vcHRzIH07XG4gIG9wdGlvbnMuc291cmNlX3VybCA9IG9wdGlvbnMuc291cmNlVXJsOyAvLyBzb3VyY2VfdXJsIGlzIHNuYWtlX2Nhc2VcbiAgb3B0aW9ucy5wb2xpY3kgPSAoc2VjdXJpdHkgJiYgc2VjdXJpdHkucG9saWN5KSB8fCBzZXNzaW9uLnBvbGljeTtcbiAgb3B0aW9ucy5zaWduYXR1cmUgPSAoc2VjdXJpdHkgJiYgc2VjdXJpdHkuc2lnbmF0dXJlKSB8fCBzZXNzaW9uLnNpZ25hdHVyZTtcblxuICBjb25zdCBiYXNlVVJMID0gYCR7c2Vzc2lvbi51cmxzLmZpbGVBcGlVcmx9LyR7aGFuZGxlfS9tZXRhZGF0YWA7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgRnNSZXF1ZXN0LmdldChiYXNlVVJMLCB7IHBhcmFtczogcmVtb3ZlRW1wdHkob3B0aW9ucyksIGZpbGVzdGFja0hlYWRlcnM6IGZhbHNlIH0pXG4gICAgICAudGhlbihyZXMgPT4gcmVzb2x2ZSh7IC4uLnJlcy5kYXRhLCBoYW5kbGUgfSkpXG4gICAgICAuY2F0Y2gocmVqZWN0KTtcbiAgfSk7XG59O1xuXG4vKipcbiAqIERvd25sb2FkIGZpbGUgdG8gYmxvYiBvciBidWZmZXIgZm9ybWF0XG4gKlxuICogQHBhcmFtIHNlc3Npb25cbiAqIEBwYXJhbSBoYW5kbGVcbiAqL1xuZXhwb3J0IGNvbnN0IGRvd25sb2FkID0gKHNlc3Npb246IFNlc3Npb24sIGhhbmRsZTogc3RyaW5nLCAgc2VjdXJpdHk/OiBTZWN1cml0eSk6IFByb21pc2U8RnNSZXNwb25zZT4gPT4ge1xuICBjb25zdCBmbCA9IG5ldyBGaWxlbGluayhoYW5kbGUsIHNlc3Npb24uYXBpa2V5KTtcblxuICBjb25zdCBwb2xpY3kgPSAoc2VjdXJpdHkgJiYgc2VjdXJpdHkucG9saWN5KSB8fCBzZXNzaW9uLnBvbGljeTtcbiAgY29uc3Qgc2lnbmF0dXJlID0gKHNlY3VyaXR5ICYmIHNlY3VyaXR5LnNpZ25hdHVyZSkgfHwgc2Vzc2lvbi5zaWduYXR1cmU7XG5cbiAgaWYgKHBvbGljeSAmJiBzaWduYXR1cmUpIHtcbiAgICBmbC5zZWN1cml0eSh7IHNpZ25hdHVyZSwgcG9saWN5IH0pO1xuICB9XG5cbiAgcmV0dXJuIEZzUmVxdWVzdC5kaXNwYXRjaChmbC50b1N0cmluZygpLCB7IG1ldGhvZDogRnNIdHRwTWV0aG9kLkdFVCwgYmxvYlJlc3BvbnNlOiB0cnVlIH0pO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBSZXRyaWV2ZU9wdGlvbnMge1xuICBtZXRhZGF0YT86IGJvb2xlYW47XG4gIGhlYWQ/OiBib29sZWFuO1xuICBkbD86IGJvb2xlYW47XG4gIGV4dGVuc2lvbj86IHN0cmluZztcbiAgY2FjaGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJldHVybnMgZmlsZSBpbmZvcm1hdGlvblxuICpcbiAqIEBwcml2YXRlXG4gKiBAZGVwcmVjYXRlZFxuICogQHBhcmFtIHNlc3Npb25cbiAqIEBwYXJhbSBoYW5kbGVcbiAqIEBwYXJhbSBvcHRpb25zXG4gKiBAcGFyYW0gc2VjdXJpdHlcbiAqL1xuZXhwb3J0IGNvbnN0IHJldHJpZXZlID0gKHNlc3Npb246IFNlc3Npb24sIGhhbmRsZTogc3RyaW5nLCBvcHRpb25zOiBSZXRyaWV2ZU9wdGlvbnMgPSB7fSwgc2VjdXJpdHk/OiBTZWN1cml0eSk6IFByb21pc2U8T2JqZWN0IHwgQmxvYj4gPT4ge1xuICBpZiAoIWhhbmRsZSB8fCBoYW5kbGUubGVuZ3RoID09PSAwIHx8IHR5cGVvZiBoYW5kbGUgIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdGaWxlIGhhbmRsZSBpcyByZXF1aXJlZCcpO1xuICB9XG5cbiAgY29uc29sZS5pbmZvKCdSZXRyaWV2ZSBtZXRob2QgaXMgZGVwcmVjYXRlZCBhbmQgaXQgd2lsbCBiZSByZW1vdmVkLiBQbGVhc2UgdXNlIG1ldGFkYXRhIG9yIGRvd25sb2FkJyk7XG5cbiAgY29uc3QgdmFsaWRhdGVSZXMgPSBnZXRWYWxpZGF0b3IoUmV0cmlldmVQYXJhbXNTY2hlbWEpKG9wdGlvbnMpO1xuXG4gIGlmICh2YWxpZGF0ZVJlcy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKGBJbnZhbGlkIHJldHJpZXZlIHBhcmFtc2AsIHZhbGlkYXRlUmVzLmVycm9ycyk7XG4gIH1cblxuICBjb25zdCByZXF1ZXN0T3B0aW9uczogYW55ID0geyAuLi5vcHRpb25zIH07XG4gIHJlcXVlc3RPcHRpb25zLmtleSA9IHNlc3Npb24uYXBpa2V5O1xuICByZXF1ZXN0T3B0aW9ucy5wb2xpY3kgPSAoc2VjdXJpdHkgJiYgc2VjdXJpdHkucG9saWN5KSB8fCBzZXNzaW9uLnBvbGljeTtcbiAgcmVxdWVzdE9wdGlvbnMuc2lnbmF0dXJlID0gKHNlY3VyaXR5ICYmIHNlY3VyaXR5LnNpZ25hdHVyZSkgfHwgc2Vzc2lvbi5zaWduYXR1cmU7XG5cbiAgbGV0IG1ldGhvZDogRnNIdHRwTWV0aG9kID0gRnNIdHRwTWV0aG9kLkdFVDtcblxuICBpZiAocmVxdWVzdE9wdGlvbnMuaGVhZCkge1xuICAgIG1ldGhvZCA9IEZzSHR0cE1ldGhvZC5IRUFEO1xuICAgIGRlbGV0ZSByZXF1ZXN0T3B0aW9ucy5oZWFkO1xuICB9XG5cbiAgbGV0IGV4dGVuc2lvbjtcblxuICBpZiAocmVxdWVzdE9wdGlvbnMuZXh0ZW5zaW9uICYmIHJlcXVlc3RPcHRpb25zLmV4dGVuc2lvbi5sZW5ndGgpIHtcbiAgICBleHRlbnNpb24gPSByZXF1ZXN0T3B0aW9ucy5leHRlbnNpb247XG4gICAgZGVsZXRlIHJlcXVlc3RPcHRpb25zLmV4dGVuc2lvbjtcbiAgfVxuXG4gIGxldCBtZXRhZGF0YTtcbiAgaWYgKHJlcXVlc3RPcHRpb25zLm1ldGFkYXRhKSB7XG4gICAgaWYgKG1ldGhvZCA9PT0gRnNIdHRwTWV0aG9kLkhFQUQpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcignSGVhZCBhbmQgbWV0YWRhdGEgb3B0aW9ucyBjYW5ub3QgYmUgdXNlZCB0b2dldGhlcicpO1xuICAgIH1cblxuICAgIG1ldGFkYXRhID0gcmVxdWVzdE9wdGlvbnMubWV0YWRhdGE7XG4gICAgZGVsZXRlIHJlcXVlc3RPcHRpb25zLm1ldGFkYXRhO1xuICB9XG5cbiAgY29uc3QgYmFzZVVSTCA9IGAke3Nlc3Npb24udXJscy5maWxlQXBpVXJsfS8ke2hhbmRsZX1gICsgKGV4dGVuc2lvbiA/IGArJHtleHRlbnNpb259YCA6ICcnKSArIChtZXRhZGF0YSA/ICcvbWV0YWRhdGEnIDogJycpO1xuXG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgRnNSZXF1ZXN0LmRpc3BhdGNoKGJhc2VVUkwsIHtcbiAgICAgIG1ldGhvZCxcbiAgICAgIGZpbGVzdGFja0hlYWRlcnM6IGZhbHNlLFxuICAgICAgcGFyYW1zOiByZW1vdmVFbXB0eShyZXF1ZXN0T3B0aW9ucyksXG4gICAgfSlcbiAgICAgIC50aGVuKHJlcyA9PiByZXNvbHZlKG1ldGhvZCA9PT0gRnNIdHRwTWV0aG9kLkhFQUQgPyByZXMuaGVhZGVycyA6IHJlcy5kYXRhKSlcbiAgICAgIC5jYXRjaChyZWplY3QpO1xuICB9KTtcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL2ZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7OztBQUdILDBDQUF5QztBQUN6QyxrQ0FBdUM7QUFFdkMsMkRBQXlEO0FBQ3pELHlDQUEwRjtBQUMxRixzQ0FBcUQ7QUFFckQ7Ozs7Ozs7R0FPRztBQUNJLElBQU0sTUFBTSxHQUFHLFVBQUMsT0FBZ0IsRUFBRSxNQUFlLEVBQUUsV0FBcUIsRUFBRSxRQUFtQjtJQUNsRyxJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtRQUN6QyxNQUFNLElBQUksZ0NBQWMsQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO0tBQzdFO0lBRUQsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRTtRQUNyRyxNQUFNLElBQUksZ0NBQWMsQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO0tBQ25GO0lBRUQsSUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0MsSUFBTSxPQUFPLEdBQUcsVUFBRyxVQUFVLGNBQUksTUFBTSxDQUFFLENBQUM7SUFDMUMsSUFBTSxPQUFPLEdBQVE7UUFDbkIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxNQUFNO1FBQ25CLE1BQU0sRUFBRSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU07UUFDdkQsU0FBUyxFQUFFLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsU0FBUztLQUNqRSxDQUFDO0lBRUYsSUFBSSxXQUFXLEVBQUU7UUFDZixPQUFPLENBQUMsWUFBWSxHQUFHLElBQUks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O0FBckRXLFFBQUEsUUFBUSxZQXFEbkIiLCJmaWxlIjoibGliL2FwaS9maWxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgU2VjdXJpdHksIFNlc3Npb24gfSBmcm9tICcuLi9jbGllbnQnO1xuaW1wb3J0IHsgRmlsZWxpbmsgfSBmcm9tICcuLy4uL2ZpbGVsaW5rJztcbmltcG9ydCB7IHJlbW92ZUVtcHR5IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgRnNSZXNwb25zZSB9IGZyb20gJy4vLi4vcmVxdWVzdC90eXBlcyc7XG5pbXBvcnQgeyBGaWxlc3RhY2tFcnJvciB9IGZyb20gJy4vLi4vLi4vZmlsZXN0YWNrX2Vycm9yJztcbmltcG9ydCB7IGdldFZhbGlkYXRvciwgTWV0YWRhdGFQYXJhbXNTY2hlbWEsIFJldHJpZXZlUGFyYW1zU2NoZW1hIH0gZnJvbSAnLi8uLi8uLi9zY2hlbWEnO1xuaW1wb3J0IHsgRnNSZXF1ZXN0LCBGc0h0dHBNZXRob2QgfSBmcm9tICcuLi9yZXF1ZXN0JztcblxuLyoqXG4gKiBSZW1vdmUgZ2l2ZW4gZmlsZVxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gc2Vzc2lvblxuICogQHBhcmFtIGhhbmRsZVxuICogQHBhcmFtIHNlY3VyaXR5XG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmUgPSAoc2Vzc2lvbjogU2Vzc2lvbiwgaGFuZGxlPzogc3RyaW5nLCBza2lwU3RvcmFnZT86IGJvb2xlYW4sIHNlY3VyaXR5PzogU2VjdXJpdHkpOiBQcm9taXNlPGFueT4gPT4ge1xuICBpZiAoIWhhbmRsZSB8fCB0eXBlb2YgaGFuZGxlICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcignQSB2YWxpZCBGaWxlc3RhY2sgaGFuZGxlIGlzIHJlcXVpcmVkIGZvciByZW1vdmUnKTtcbiAgfVxuXG4gIGlmICghKHNlc3Npb24ucG9saWN5ICYmIHNlc3Npb24uc2lnbmF0dXJlKSAmJiAoIXNlY3VyaXR5IHx8ICEoc2VjdXJpdHkucG9saWN5ICYmIHNlY3VyaXR5LnNpZ25hdHVyZSkpKSB7XG4gICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdTZWN1cml0eSBwb2xpY3kgYW5kIHNpZ25hdHVyZSBhcmUgcmVxdWlyZWQgZm9yIHJlbW92ZScpO1xuICB9XG5cbiAgY29uc3QgZmlsZUFwaVVybCA9IHNlc3Npb24udXJscy5maWxlQXBpVXJsO1xuICBjb25zdCBiYXNlVVJMID0gYCR7ZmlsZUFwaVVybH0vJHtoYW5kbGV9YDtcbiAgY29uc3Qgb3B0aW9uczogYW55ID0ge1xuICAgIGtleTogc2Vzc2lvbi5hcGlrZXksXG4gICAgcG9saWN5OiAoc2VjdXJpdHkgJiYgc2VjdXJpdHkucG9saWN5KSB8fCBzZXNzaW9uLnBvbGljeSxcbiAgICBzaWduYXR1cmU6IChzZWN1cml0eSAmJiBzZWN1cml0eS5zaWduYXR1cmUpIHx8IHNlc3Npb24uc2lnbmF0dXJlLFxuICB9O1xuXG4gIGlmIChza2lwU3RvcmFnZSkge1xuICAgIG9wdGlvbnMuc2tpcF9zdG9yYWdlID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBGc1JlcXVlc3QuZGVsZXRlKGJhc2VVUkwsIHtcbiAgICBmaWxlc3RhY2tIZWFkZXJzOiBmYWxzZSxcbiAgICBwYXJhbXM6IHJlbW92ZUVtcHR5KG9wdGlvbnMpLFxuICB9KTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhdGFPcHRpb25zIHtcbiAgc2l6ZT86IGJvb2xlYW47XG4gIG1pbWV0eXBlPzogYm9vbGVhbjtcbiAgZmlsZW5hbWU/OiBib29sZWFuO1xuICB3aWR0aD86IGJvb2xlYW47XG4gIGhlaWdodD86IGJvb2xlYW47XG4gIHVwbG9hZGVkPzogYm9vbGVhbjtcbiAgd3JpdGVhYmxlPzogYm9vbGVhbjtcbiAgY2xvdWQ/OiBib29sZWFuO1xuICBzb3VyY2VVcmw/OiBib29sZWFuO1xuICBtZDU/OiBib29sZWFuO1xuICBzaGExPzogYm9vbGVhbjtcbiAgc2hhMjI0PzogYm9vbGVhbjtcbiAgc2hhMjU2PzogYm9vbGVhbjtcbiAgc2hhMzg0PzogYm9vbGVhbjtcbiAgc2hhNTEyPzogYm9vbGVhbjtcbiAgbG9jYXRpb24/OiBib29sZWFuO1xuICBwYXRoPzogYm9vbGVhbjtcbiAgY29udGFpbmVyPzogYm9vbGVhbjtcbiAgZXhpZj86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmV0dXJucyBmaWxlIG1ldGFkYXRhXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBzZXNzaW9uXG4gKiBAcGFyYW0gaGFuZGxlXG4gKiBAcGFyYW0gb3B0c1xuICogQHBhcmFtIHNlY3VyaXR5XG4gKi9cbmV4cG9ydCBjb25zdCBtZXRhZGF0YSA9IChzZXNzaW9uOiBTZXNzaW9uLCBoYW5kbGU/OiBzdHJpbmcsIG9wdHM/OiBNZXRhZGF0YU9wdGlvbnMsIHNlY3VyaXR5PzogU2VjdXJpdHkpOiBQcm9taXNlPGFueT4gPT4ge1xuICBpZiAoIWhhbmRsZSB8fCB0eXBlb2YgaGFuZGxlICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcignQSB2YWxpZCBGaWxlc3RhY2sgaGFuZGxlIGlzIHJlcXVpcmVkIGZvciBtZXRhZGF0YScpO1xuICB9XG5cbiAgY29uc3QgdmFsaWRhdGVSZXMgPSBnZXRWYWxpZGF0b3IoTWV0YWRhdGFQYXJhbXNTY2hlbWEpKG9wdHMpO1xuXG4gIGlmICh2YWxpZGF0ZVJlcy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKGBJbnZhbGlkIG1ldGFkYXRhIHBhcmFtc2AsIHZhbGlkYXRlUmVzLmVycm9ycyk7XG4gIH1cblxuICBjb25zdCBvcHRpb25zOiBhbnkgPSB7IC4uLm9wdHMgfTtcbiAgb3B0aW9ucy5zb3VyY2VfdXJsID0gb3B0aW9ucy5zb3VyY2VVcmw7IC8vIHNvdXJjZV91cmwgaXMgc25ha2VfY2FzZVxuICBvcHRpb25zLnBvbGljeSA9IChzZWN1cml0eSAmJiBzZWN1cml0eS5wb2xpY3kpIHx8IHNlc3Npb24ucG9saWN5O1xuICBvcHRpb25zLnNpZ25hdHVyZSA9IChzZWN1cml0eSAmJiBzZWN1cml0eS5zaWduYXR1cmUpIHx8IHNlc3Npb24uc2lnbmF0dXJlO1xuXG4gIGNvbnN0IGJhc2VVUkwgPSBgJHtzZXNzaW9uLnVybHMuZmlsZUFwaVVybH0vJHtoYW5kbGV9L21ldGFkYXRhYDtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBGc1JlcXVlc3QuZ2V0KGJhc2VVUkwsIHsgcGFyYW1zOiByZW1vdmVFbXB0eShvcHRpb25zKSwgZmlsZXN0YWNrSGVhZGVyczogZmFsc2UgfSlcbiAgICAgIC50aGVuKHJlcyA9PiByZXNvbHZlKHsgLi4ucmVzLmRhdGEsIGhhbmRsZSB9KSlcbiAgICAgIC5jYXRjaChyZWplY3QpO1xuICB9KTtcbn07XG5cbi8qKlxuICogRG93bmxvYWQgZmlsZSB0byBibG9iIG9yIGJ1ZmZlciBmb3JtYXRcbiAqXG4gKiBAcGFyYW0gc2Vzc2lvblxuICogQHBhcmFtIGhhbmRsZVxuICovXG5leHBvcnQgY29uc3QgZG93bmxvYWQgPSAoc2Vzc2lvbjogU2Vzc2lvbiwgaGFuZGxlOiBzdHJpbmcsICBzZWN1cml0eT86IFNlY3VyaXR5KTogUHJvbWlzZTxGc1Jlc3BvbnNlPiA9PiB7XG4gIGNvbnN0IGZsID0gbmV3IEZpbGVsaW5rKGhhbmRsZSwgc2Vzc2lvbi5hcGlrZXkpO1xuXG4gIGNvbnN0IHBvbGljeSA9IChzZWN1cml0eSAmJiBzZWN1cml0eS5wb2xpY3kpIHx8IHNlc3Npb24ucG9saWN5O1xuICBjb25zdCBzaWduYXR1cmUgPSAoc2VjdXJpdHkgJiYgc2VjdXJpdHkuc2lnbmF0dXJlKSB8fCBzZXNzaW9uLnNpZ25hdHVyZTtcblxuICBpZiAocG9saWN5ICYmIHNpZ25hdHVyZSkge1xuICAgIGZsLnNlY3VyaXR5KHsgc2lnbmF0dXJlLCBwb2xpY3kgfSk7XG4gIH1cblxuICByZXR1cm4gRnNSZXF1ZXN0LmRpc3BhdGNoKGZsLnRvU3RyaW5nKCksIHsgbWV0aG9kOiBGc0h0dHBNZXRob2QuR0VULCBibG9iUmVzcG9uc2U6IHRydWUgfSk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFJldHJpZXZlT3B0aW9ucyB7XG4gIG1ldGFkYXRhPzogYm9vbGVhbjtcbiAgaGVhZD86IGJvb2xlYW47XG4gIGRsPzogYm9vbGVhbjtcbiAgZXh0ZW5zaW9uPzogc3RyaW5nO1xuICBjYWNoZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmV0dXJucyBmaWxlIGluZm9ybWF0aW9uXG4gKlxuICogQHByaXZhdGVcbiAqIEBkZXByZWNhdGVkXG4gKiBAcGFyYW0gc2Vzc2lvblxuICogQHBhcmFtIGhhbmRsZVxuICogQHBhcmFtIG9wdGlvbnNcbiAqIEBwYXJhbSBzZWN1cml0eVxuICovXG5leHBvcnQgY29uc3QgcmV0cmlldmUgPSAoc2Vzc2lvbjogU2Vzc2lvbiwgaGFuZGxlOiBzdHJpbmcsIG9wdGlvbnM6IFJldHJpZXZlT3B0aW9ucyA9IHt9LCBzZWN1cml0eT86IFNlY3VyaXR5KTogUHJvbWlzZTxPYmplY3QgfCBCbG9iPiA9PiB7XG4gIGlmICghaGFuZGxlIHx8IGhhbmRsZS5sZW5ndGggPT09IDAgfHwgdHlwZW9mIGhhbmRsZSAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoJ0ZpbGUgaGFuZGxlIGlzIHJlcXVpcmVkJyk7XG4gIH1cblxuICBjb25zb2xlLmluZm8oJ1JldHJpZXZlIG1ldGhvZCBpcyBkZXByZWNhdGVkIGFuZCBpdCB3aWxsIGJlIHJlbW92ZWQuIFBsZWFzZSB1c2UgbWV0YWRhdGEgb3IgZG93bmxvYWQnKTtcblxuICBjb25zdCB2YWxpZGF0ZVJlcyA9IGdldFZhbGlkYXRvcihSZXRyaWV2ZVBhcmFtc1NjaGVtYSkob3B0aW9ucyk7XG5cbiAgaWYgKHZhbGlkYXRlUmVzLmVycm9ycy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoYEludmFsaWQgcmV0cmlldmUgcGFyYW1zYCwgdmFsaWRhdGVSZXMuZXJyb3JzKTtcbiAgfVxuXG4gIGNvbnN0IHJlcXVlc3RPcHRpb25zOiBhbnkgPSB7IC4uLm9wdGlvbnMgfTtcbiAgcmVxdWVzdE9wdGlvbnMua2V5ID0gc2Vzc2lvbi5hcGlrZXk7XG4gIHJlcXVlc3RPcHRpb25zLnBvbGljeSA9IChzZWN1cml0eSAmJiBzZWN1cml0eS5wb2xpY3kpIHx8IHNlc3Npb24ucG9saWN5O1xuICByZXF1ZXN0T3B0aW9ucy5zaWduYXR1cmUgPSAoc2VjdXJpdHkgJiYgc2VjdXJpdHkuc2lnbmF0dXJlKSB8fCBzZXNzaW9uLnNpZ25hdHVyZTtcblxuICBsZXQgbWV0aG9kOiBGc0h0dHBNZXRob2QgPSBGc0h0dHBNZXRob2QuR0VUO1xuXG4gIGlmIChyZXF1ZXN0T3B0aW9ucy5oZWFkKSB7XG4gICAgbWV0aG9kID0gRnNIdHRwTWV0aG9kLkhFQUQ7XG4gICAgZGVsZXRlIHJlcXVlc3RPcHRpb25zLmhlYWQ7XG4gIH1cblxuICBsZXQgZXh0ZW5zaW9uO1xuXG4gIGlmIChyZXF1ZXN0T3B0aW9ucy5leHRlbnNpb24gJiYgcmVxdWVzdE9wdGlvbnMuZXh0ZW5zaW9uLmxlbmd0aCkge1xuICAgIGV4dGVuc2lvbiA9IHJlcXVlc3RPcHRpb25zLmV4dGVuc2lvbjtcbiAgICBkZWxldGUgcmVxdWVzdE9wdGlvbnMuZXh0ZW5zaW9uO1xuICB9XG5cbiAgbGV0IG1ldGFkYXRhO1xuICBpZiAocmVxdWVzdE9wdGlvbnMubWV0YWRhdGEpIHtcbiAgICBpZiAobWV0aG9kID09PSBGc0h0dHBNZXRob2QuSEVBRCkge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdIZWFkIGFuZCBtZXRhZGF0YSBvcHRpb25zIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyJyk7XG4gICAgfVxuXG4gICAgbWV0YWRhdGEgPSByZXF1ZXN0T3B0aW9ucy5tZXRhZGF0YTtcbiAgICBkZWxldGUgcmVxdWVzdE9wdGlvbnMubWV0YWRhdGE7XG4gIH1cblxuICBjb25zdCBiYXNlVVJMID0gYCR7c2Vzc2lvbi51cmxzLmZpbGVBcGlVcmx9LyR7aGFuZGxlfWAgKyAoZXh0ZW5zaW9uID8gYCske2V4dGVuc2lvbn1gIDogJycpICsgKG1ldGFkYXRhID8gJy9tZXRhZGF0YScgOiAnJyk7XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBGc1JlcXVlc3QuZGlzcGF0Y2goYmFzZVVSTCwge1xuICAgICAgbWV0aG9kLFxuICAgICAgZmlsZXN0YWNrSGVhZGVyczogZmFsc2UsXG4gICAgICBwYXJhbXM6IHJlbW92ZUVtcHR5KHJlcXVlc3RPcHRpb25zKSxcbiAgICB9KVxuICAgICAgLnRoZW4ocmVzID0+IHJlc29sdmUobWV0aG9kID09PSBGc0h0dHBNZXRob2QuSEVBRCA/IHJlcy5oZWFkZXJzIDogcmVzLmRhdGEpKVxuICAgICAgLmNhdGNoKHJlamVjdCk7XG4gIH0pO1xufTtcbiJdfQ==

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

request_1.FsRequest.get.mockImplementation(methodMocked);
return [4 /*yield*/, file_1.metadata(mockedSession, 'fakeHandle')];
return [4 /*yield*/, (0, file_1.metadata)(mockedSession, 'fakeHandle')];
case 1:

@@ -79,3 +79,3 @@ resp = _a.sent();

request_1.FsRequest.get.mockImplementation(methodMocked);
return [4 /*yield*/, file_1.metadata(mockedSession, 'fakeHandle', { size: true })];
return [4 /*yield*/, (0, file_1.metadata)(mockedSession, 'fakeHandle', { size: true })];
case 1:

@@ -92,7 +92,7 @@ resp = _a.sent();

// @ts-ignore
return [2 /*return*/, expect(function () { return file_1.metadata(mockedSession, 'fakekey', { bla: 123 }); }).toThrowError('Invalid metadata params')];
return [2 /*return*/, expect(function () { return (0, file_1.metadata)(mockedSession, 'fakekey', { bla: 123 }); }).toThrowError('Invalid metadata params')];
});
}); });
it('should throw an error on empty handle', function () {
return expect(function () { return file_1.metadata(mockedSession); }).toThrowError();
return expect(function () { return (0, file_1.metadata)(mockedSession); }).toThrowError();
});

@@ -110,3 +110,3 @@ it('should respect provided security options', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {

request_1.FsRequest.get.mockImplementation(function () { return Promise.resolve({ data: {} }); });
return [4 /*yield*/, file_1.metadata(mockedSession, 'fakeHandle', {}, fakeSecurity)];
return [4 /*yield*/, (0, file_1.metadata)(mockedSession, 'fakeHandle', {}, fakeSecurity)];
case 1:

@@ -130,3 +130,3 @@ resp = _a.sent();

request_1.FsRequest.dispatch.mockImplementation(methodMocked);
return [4 /*yield*/, file_1.download(mockedSession, 'gNDNCDWNTKqoGFISdd2A')];
return [4 /*yield*/, (0, file_1.download)(mockedSession, 'gNDNCDWNTKqoGFISdd2A')];
case 1:

@@ -149,3 +149,3 @@ resp = _a.sent();

request_1.FsRequest.delete.mockImplementation(deleteMocked);
return [4 /*yield*/, file_1.remove(Object.assign({}, mockedSession, {
return [4 /*yield*/, (0, file_1.remove)(Object.assign({}, mockedSession, {
signature: 'fakeS',

@@ -170,3 +170,3 @@ policy: 'fakeP',

request_1.FsRequest.delete.mockImplementation(methodMocked);
return [4 /*yield*/, file_1.remove(Object.assign({}, mockedSession, {
return [4 /*yield*/, (0, file_1.remove)(Object.assign({}, mockedSession, {
signature: 'fakeS',

@@ -184,3 +184,3 @@ policy: 'fakeP',

it('should throw on empty handle', function () {
expect(function () { return file_1.remove(mockedSession); }).toThrowError();
expect(function () { return (0, file_1.remove)(mockedSession); }).toThrowError();
});

@@ -198,3 +198,3 @@ it('should call remove with provided session', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {

request_1.FsRequest.delete.mockImplementation(function () { return Promise.resolve({ data: {} }); });
return [4 /*yield*/, file_1.remove(mockedSession, 'fakeHandle', false, fakeSecurity)];
return [4 /*yield*/, (0, file_1.remove)(mockedSession, 'fakeHandle', false, fakeSecurity)];
case 1:

@@ -214,3 +214,3 @@ resp = _a.sent();

};
expect(function () { return file_1.remove(mockedSession, 'fakeHandle', false, fakeSecurity); }).toThrowError();
expect(function () { return (0, file_1.remove)(mockedSession, 'fakeHandle', false, fakeSecurity); }).toThrowError();
return [2 /*return*/];

@@ -226,3 +226,3 @@ });

};
expect(function () { return file_1.remove(mockedSession, 'fakeHandle', false, fakeSecurity); }).toThrowError();
expect(function () { return (0, file_1.remove)(mockedSession, 'fakeHandle', false, fakeSecurity); }).toThrowError();
return [2 /*return*/];

@@ -233,3 +233,3 @@ });

return tslib_1.__generator(this, function (_a) {
return [2 /*return*/, expect(function () { return file_1.remove(mockedSession, 'fakeHandle'); }).toThrowError()];
return [2 /*return*/, expect(function () { return (0, file_1.remove)(mockedSession, 'fakeHandle'); }).toThrowError()];
});

@@ -247,3 +247,3 @@ }); });

request_1.FsRequest.dispatch.mockImplementation(methodMocked);
return [4 /*yield*/, file_1.retrieve(mockedSession, 'fakeHandle')];
return [4 /*yield*/, (0, file_1.retrieve)(mockedSession, 'fakeHandle')];
case 1:

@@ -265,3 +265,3 @@ resp = _a.sent();

request_1.FsRequest.dispatch.mockImplementation(methodMocked);
return [4 /*yield*/, file_1.retrieve(mockedSession, 'fakeHandle', {
return [4 /*yield*/, (0, file_1.retrieve)(mockedSession, 'fakeHandle', {
head: true,

@@ -289,3 +289,3 @@ })];

request_1.FsRequest.dispatch.mockImplementation(methodMocked);
return [4 /*yield*/, file_1.retrieve(mockedSession, 'fakeHandle', {}, fakeSecurity)];
return [4 /*yield*/, (0, file_1.retrieve)(mockedSession, 'fakeHandle', {}, fakeSecurity)];
case 1:

@@ -311,3 +311,3 @@ resp = _a.sent();

request_1.FsRequest.dispatch.mockImplementation(methodMocked);
return [4 /*yield*/, file_1.retrieve(mockedSession, 'fakeHandle', {
return [4 /*yield*/, (0, file_1.retrieve)(mockedSession, 'fakeHandle', {
extension: 'txt',

@@ -331,3 +331,3 @@ })];

request_1.FsRequest.dispatch.mockImplementation(methodMocked);
return [4 /*yield*/, file_1.retrieve(mockedSession, 'fakeHandle', {
return [4 /*yield*/, (0, file_1.retrieve)(mockedSession, 'fakeHandle', {
metadata: true,

@@ -344,7 +344,7 @@ })];

it('should throw an error on empty handle', function () {
return expect(function () { return file_1.retrieve(mockedSession, ''); }).toThrowError();
return expect(function () { return (0, file_1.retrieve)(mockedSession, ''); }).toThrowError();
});
it('should throw an error worng options provided', function () {
return expect(function () {
return file_1.retrieve(mockedSession, 'fakeHandle', {
return (0, file_1.retrieve)(mockedSession, 'fakeHandle', {
// @ts-ignore

@@ -357,3 +357,3 @@ test: 123,

return expect(function () {
return file_1.retrieve(mockedSession, 'fakeHandle', {
return (0, file_1.retrieve)(mockedSession, 'fakeHandle', {
metadata: true,

@@ -365,3 +365,3 @@ });

return expect(function () {
return file_1.retrieve(mockedSession, 'fakeHandle', {
return (0, file_1.retrieve)(mockedSession, 'fakeHandle', {
metadata: true,

@@ -375,2 +375,2 @@ head: true,

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL2ZpbGUuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0g7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSCwrQkFBOEQ7QUFDOUQsd0NBQXlDO0FBRXpDLHlDQUF3QztBQUV4QyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQzFCLDhCQUE4QjtBQUU5QixJQUFNLGFBQWEsR0FBWTtJQUM3QixNQUFNLEVBQUUsWUFBWTtJQUNwQixJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsZUFBTSxDQUFDLElBQUksRUFBRTtRQUNuQyxNQUFNLEVBQUUsU0FBUztRQUNqQixVQUFVLEVBQUUsWUFBWTtRQUN4QixZQUFZLEVBQUUsa0JBQWtCO1FBQ2hDLFdBQVcsRUFBRSxpQkFBaUI7UUFDOUIsU0FBUyxFQUFFLGVBQWU7S0FDM0IsQ0FBQztDQUNILENBQUM7QUFFRixRQUFRLENBQUMsU0FBUyxFQUFFO0lBQ2xCLFFBQVEsQ0FBQyxVQUFVLEVBQUU7UUFDbkIsRUFBRSxDQUFDLDhDQUE4QyxFQUFFOzs7Ozt3QkFDM0MsWUFBWSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBTSxPQUFBLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBN0IsQ0FBNkIsQ0FBQyxDQUFDO3dCQUNsRSxhQUFhO3dCQUNiLG1CQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO3dCQUNsQyxxQkFBTSxlQUFRLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxFQUFBOzt3QkFBbEQsSUFBSSxHQUFHLFNBQTJDO3dCQUV4RCxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7d0JBQy9DLE1BQU0sQ0FBQyxZQUFZ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ZmlsZSI6ImxpYi9hcGkvZmlsZS5zcGVjLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IHJldHJpZXZlLCByZW1vdmUsIG1ldGFkYXRhLCBkb3dubG9hZCB9IGZyb20gJy4vZmlsZSc7XG5pbXBvcnQgeyBGc1JlcXVlc3QgfSBmcm9tICcuLy4uL3JlcXVlc3QnO1xuaW1wb3J0IHsgU2Vzc2lvbiB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICcuLy4uLy4uL2NvbmZpZyc7XG5cbmplc3QubW9jaygnLi8uLi9yZXF1ZXN0Jyk7XG4vLyBqZXN0Lm1vY2soJy4vLi4vZmlsZWxpbmsnKTtcblxuY29uc3QgbW9ja2VkU2Vzc2lvbjogU2Vzc2lvbiA9IHtcbiAgYXBpa2V5OiAnZmFrZUFwaWtleScsXG4gIHVybHM6IE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZy51cmxzLCB7XG4gICAgY2RuVXJsOiAnZmFrZVVybCcsXG4gICAgZmlsZUFwaVVybDogJ2Zha2VBcGlVcmwnLFxuICAgIHVwbG9hZEFwaVVybDogJ2Zha2VVcGxvYWRBcGlVcmwnLFxuICAgIGNsb3VkQXBpVXJsOiAnZmFrZUNsb3VkQXBpVXJsJyxcbiAgICBwaWNrZXJVcmw6ICdmYWtlUGlja2VyVXJsJyxcbiAgfSksXG59O1xuXG5kZXNjcmliZSgnRmlsZUFQSScsICgpID0+IHtcbiAgZGVzY3JpYmUoJ01ldGFkYXRhJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgY2FsbCBjb3JyZWN0IG1ldGFkYXRhIHdpdGhvdXQgb3B0aW9ucycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG1ldGhvZE1vY2tlZCA9IGplc3QuZm4oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHsgZGF0YToge30gfSkpO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRnNSZXF1ZXN0LmdldC5tb2NrSW1wbGVtZW50YXRpb24obWV0aG9kTW9ja2VkKTtcbiAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCBtZXRhZGF0YShtb2NrZWRTZXNzaW9uLCAnZmFrZUhhbmRsZScpO1xuXG4gICAgICBleHBlY3QocmVzcCkudG9FcXVhbCh7IGhhbmRsZTogJ2Zha2VIYW5kbGUnIH0pO1xuICAgICAgZXhwZWN0KG1ldGhvZE1vY2tlZCkudG9IYXZlQmVlbkxhc3RDYWxsZWRXaXRoKCdmYWtlQXBpVXJsL2Zha2VIYW5kbGUvbWV0YWRhdGEnLCB7IHBhcmFtczoge30sIGZpbGVzdGFja0hlYWRlcnM6IGZhbHNlIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBjYWxsIGNvcnJlY3QgbWV0YWRhdGEgd2l0aCBvcHRpb25zJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbWV0aG9kTW9ja2VkID0gamVzdC5mbigoKSA9PiBQcm9taXNlLnJlc29sdmUoeyBkYXRhOiB7fSB9KSk7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBGc1JlcXVlc3QuZ2V0Lm1vY2tJbXBsZW1lbnRhdGlvbihtZXRob2RNb2NrZWQpO1xuICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IG1ldGFkYXRhKG1vY2tlZFNlc3Npb24sICdmYWtlSGFuZGxlJywgeyBzaXplOiB0cnVlIH0pO1xuXG4gICAgICBleHBlY3QocmVzcCkudG9FcXVhbCh7IGhhbmRsZTogJ2Zha2VIYW5kbGUnIH0pO1xuICAgICAgZXhwZWN0KG1ldGhvZE1vY2tlZCkudG9IYXZlQmVlbkxhc3RDYWxsZWRXaXRoKCdmYWtlQXBpVXJsL2Zha2VIYW5kbGUvbWV0YWRhdGEnLCB7IHBhcmFtczogeyBzaXplOiB0cnVlIH0sIGZpbGVzdGFja0hlYWRlcnM6IGZhbHNlIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBvbiB3cm9uZyBvcHRpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICByZXR1cm4gZXhwZWN0KCgpID0+IG1ldGFkYXRhKG1vY2tlZFNlc3Npb24sICdmYWtla2V5JywgeyBibGE6IDEyMyB9KSkudG9UaHJvd0Vycm9yKCdJbnZhbGlkIG1ldGFkYXRhIHBhcmFtcycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBvbiBlbXB0eSBoYW5kbGUnLCAoKSA9PiB7XG4gICAgICByZXR1cm4gZXhwZWN0KCgpID0+IG1ldGFkYXRhKG1vY2tlZFNlc3Npb24pKS50b1Rocm93RXJyb3IoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVzcGVjdCBwcm92aWRlZCBzZWN1cml0eSBvcHRpb25zJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFrZVNlY3VyaXR5ID0ge1xuICAgICAgICBzaWduYXR1cmU6ICdmYWtlUycsXG4gICAgICAgIHBvbGljeTogJ2Zha2VQJyxcbiAgICAgIH07XG5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIEZzUmVxdWVzdC5nZXQubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IFByb21pc2UucmVzb2x2ZSh7IGRhdGE6IHt9IH0pKTtcbiAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCBtZXRhZGF0YShtb2NrZWRTZXNzaW9uLCAnZmFrZUhhbmRsZScsIHt9LCBmYWtlU2VjdXJpdHkpO1xuXG4gICAgICBleHBlY3QocmVzcCkudG9FcXVhbCh7IGhhbmRsZTogJ2Zha2VIYW5kbGUnIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnRG93bmxvYWQnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gYnVmZmVyIG9uIGRvd25sb2FkIHJlcXVlc3QnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0ZXN0UmVzcCA9IEJ1ZmZlci5mcm9tKCcxMjMnKTtcbiAgICAgIGNvbnN0IG1ldGhvZE1vY2tlZCA9IGplc3QuZm4oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHRlc3RSZXNwKSk7XG5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIEZzUmVxdWVzdC5kaXNwYXRjaC5tb2NrSW1wbGVtZW50YXRpb24obWV0aG9kTW9ja2VkKTtcbiAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCBkb3dubG9hZChtb2NrZWRTZXNzaW9uLCAnZ05ETkNEV05US3FvR0ZJU2RkMkEnKTtcblxuICAgICAgZXhwZWN0KHJlc3ApLnRvRXF1YWwodGVzdFJlc3ApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnUmVtb3ZlJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgY2FsbCByZW1vdmUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBkZWxldGVNb2NrZWQgPSBqZXN0LmZuKCgpID0+IFByb21pc2UucmVzb2x2ZSh7IGRhdGE6IHt9IH0pKTtcblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRnNSZXF1ZXN0LmRlbGV0ZS5tb2NrSW1wbGVtZW50YXRpb24oZGVsZXRlTW9ja2VkKTtcbiAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCByZW1vdmUoXG4gICAgICAgIE9iamVjdC5hc3NpZ24oe30sIG1vY2tlZFNlc3Npb24sIHtcbiAgICAgICAgICBzaWduYXR1cmU6ICdmYWtlUycsXG4gICAgICAgICAgcG9saWN5OiAnZmFrZVAnLFxuICAgICAgICB9KSxcbiAgICAgICAgJ2Zha2VIYW5kbGUnXG4gICAgICApO1xuXG4gICAgICBleHBlY3QocmVzcCkudG9FcXVhbCh7IGRhdGE6IHt9IH0pO1xuICAgICAgZXhwZWN0KGRlbGV0ZU1vY2tlZCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ2Zha2VBcGlVcmwvZmFrZUhhbmRsZScsIHsgcGFyYW1zOiB7IGtleTogJ2Zha2VBcGlrZXknLCBwb2xpY3k6ICdmYWtlUCcsIHNpZ25hdHVyZTogJ2Zha2VTJyB9LCBmaWxlc3RhY2tIZWFkZXJzOiBmYWxzZSB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVzcGVjdCBza2lwIHN0b3JhZ2Ugb3B0aW9uJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbWV0aG9kTW9ja2VkID0gamVzdC5mbigoKSA9PiBQcm9taXNlLnJlc29sdmUoeyBkYXRhOiB7fSB9KSk7XG5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIEZzUmVxdWVzdC5kZWxldGUubW9ja0ltcGxlbWVudGF0aW9uKG1ldGhvZE1vY2tlZCk7XG4gICAgICBjb25zdCByZXNwID0gYXdhaXQgcmVtb3ZlKFxuICAgICAgICBPYmplY3QuYXNzaWduKHt9LCBtb2NrZWRTZXNzaW9uLCB7XG4gICAgICAgICAgc2lnbmF0dXJlOiAnZmFrZVMnLFxuICAgICAgICAgIHBvbGljeTogJ2Zha2VQJyxcbiAgICAgICAgfSksXG4gICAgICAgICdmYWtlSGFuZGxlJyxcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcblxuICAgICAgZXhwZWN0KHJlc3ApLnRvRXF1YWwoeyBkYXRhOiB7fSB9KTtcbiAgICAgIGV4cGVjdChtZXRob2RNb2NrZWQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCdmYWtlQXBpVXJsL2Zha2VIYW5kbGUnLCB7IHBhcmFtczogeyBrZXk6ICdmYWtlQXBpa2V5JywgcG9saWN5OiAnZmFrZVAnLCBzaWduYXR1cmU6ICdmYWtlUycsIHNraXBfc3RvcmFnZTogdHJ1ZSB9LCBmaWxlc3RhY2tIZWFkZXJzOiBmYWxzZSB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgb24gZW1wdHkgaGFuZGxlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KCgpID0+IHJlbW92ZShtb2NrZWRTZXNzaW9uKSkudG9UaHJvd0Vycm9yKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGNhbGwgcmVtb3ZlIHdpdGggcHJvdmlkZWQgc2Vzc2lvbicsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZha2VTZWN1cml0eSA9IHtcbiAgICAgICAgc2lnbmF0dXJlOiAnZmFrZVMnLFxuICAgICAgICBwb2xpY3k6ICdmYWtlUCcsXG4gICAgICB9O1xuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBGc1JlcXVlc3QuZGVsZXRlLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBQcm9taXNlLnJlc29sdmUoeyBkYXRhOiB7fSB9KSk7XG4gICAgICBjb25zdCByZXNwID0gYXdhaXQgcmVtb3ZlKG1vY2tlZFNlc3Npb24sICdmYWtlSGFuZGxlJywgZmFsc2UsIGZha2VTZWN1cml0eSk7XG5cbiAgICAgIGV4cGVjdChyZXNwKS50b0VxdWFsKHsgZGF0YToge30gfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IG9uIGVtcHR5IHNpZ25hdHVyZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZha2VTZWN1cml0eSA9IHtcbiAgICAgICAgc2lnbmF0dXJlOiBudWxsLFxuICAgICAgICBwb2xpY3k6ICdmYWtlUCcsXG4gICAgICB9O1xuXG4gICAgICBleHBlY3QoKCkgPT4gcmVtb3ZlKG1vY2tlZFNlc3Npb24sICdmYWtlSGFuZGxlJywgZmFsc2UsIGZha2VTZWN1cml0eSkpLnRvVGhyb3dFcnJvcigpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBvbiBlbXB0eSBwb2xpY3knLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmYWtlU2VjdXJpdHkgPSB7XG4gICAgICAgIHNpZ25hdHVyZTogJ2Zha2VTJyxcbiAgICAgICAgcG9saWN5OiBudWxsLFxuICAgICAgfTtcblxuICAgICAgZXhwZWN0KCgpID0+IHJlbW92ZShtb2NrZWRTZXNzaW9uLCAnZmFrZUhhbmRsZScsIGZhbHNlLCBmYWtlU2VjdXJpdHkpKS50b1Rocm93RXJyb3IoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgb24gZW1wdHkgcG9saWN5IG9uIHNlc3Npb24nLCBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gZXhwZWN0KCgpID0+IHJlbW92ZShtb2NrZWRTZXNzaW9uLCAnZmFrZUhhbmRsZScpKS50b1Rocm93RXJyb3IoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1JldHJpZXZlJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgbWFrZSBjb3JyZWN0IHJldHJpZXZlIHJlcXVlc3QgKEdFVCknLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtZXRob2RNb2NrZWQgPSBqZXN0LmZuKCgpID0+IFByb21pc2UucmVzb2x2ZSh7IGRhdGE6IHt9IH0pKTtcblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRnNSZXF1ZXN0LmRpc3BhdGNoLm1vY2tJbXBsZW1lbnRhdGlvbihtZXRob2RNb2NrZWQpO1xuICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IHJldHJpZXZlKG1vY2tlZFNlc3Npb24sICdmYWtlSGFuZGxlJyk7XG5cbiAgICAgIGV4cGVjdChyZXNwKS50b0VxdWFsKHt9KTtcbiAgICAgIGV4cGVjdChtZXRob2RNb2NrZWQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCdmYWtlQXBpVXJsL2Zha2VIYW5kbGUnLCB7IG1ldGhvZDogJ0dFVCcsIHBhcmFtczogeyBrZXk6ICdmYWtlQXBpa2V5JyB9LCBmaWxlc3RhY2tIZWFkZXJzOiBmYWxzZSB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbWFrZSBjb3JyZWN0IHJldHJpZXZlIHJlcXVlc3QgKEhFQUQpJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbWV0aG9kTW9ja2VkID0gamVzdC5mbigoKSA9PiBQcm9taXNlLnJlc29sdmUoeyBkYXRhOiB7fSwgaGVhZGVyczogeyB0eXBlOiAndGVzdCcgfSB9KSk7XG5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIEZzUmVxdWVzdC5kaXNwYXRjaC5tb2NrSW1wbGVtZW50YXRpb24obWV0aG9kTW9ja2VkKTtcbiAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCByZXRyaWV2ZShtb2NrZWRTZXNzaW9uLCAnZmFrZUhhbmRsZScsIHtcbiAgICAgICAgaGVhZDogdHJ1ZSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QocmVzcCkudG9FcXVhbCh7IHR5cGU6ICd0ZXN0JyB9KTtcbiAgICAgIGV4cGVjdChtZXRob2RNb2NrZWQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCdmYWtlQXBpVXJsL2Zha2VIYW5kbGUnLCB7IG1ldGhvZDogJ0hFQUQnLCBwYXJhbXM6IHsga2V5OiAnZmFrZUFwaWtleScgfSwgZmlsZXN0YWNrSGVhZGVyczogZmFsc2UgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG1ha2UgY29ycmVjdCByZXRyaWV2ZSByZXF1ZXN0IHdpdGggcHJvdmlkZWQgc2VjdXJpdHknLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtZXRob2RNb2NrZWQgPSBqZXN0LmZuKCgpID0+IFByb21pc2UucmVzb2x2ZSh7IGRhdGE6IHt9IH0pKTtcblxuICAgICAgY29uc3QgZmFrZVNlY3VyaXR5ID0ge1xuICAgICAgICBzaWduYXR1cmU6ICdmYWtlUycsXG4gICAgICAgIHBvbGljeTogJ2Zha2VQJyxcbiAgICAgIH07XG5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIEZzUmVxdWVzdC5kaXNwYXRjaC5tb2NrSW1wbGVtZW50YXRpb24obWV0aG9kTW9ja2VkKTtcbiAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCByZXRyaWV2ZShtb2NrZWRTZXNzaW9uLCAnZmFrZUhhbmRsZScsIHt9LCBmYWtlU2VjdXJpdHkpO1xuXG4gICAgICBleHBlY3QocmVzcCkudG9FcXVhbCh7fSk7XG4gICAgICBleHBlY3QobWV0aG9kTW9ja2VkKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnZmFrZUFwaVVybC9mYWtlSGFuZGxlJywge1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBwYXJhbXM6IHsga2V5OiAnZmFrZUFwaWtleScsIHBvbGljeTogJ2Zha2VQJywgc2lnbmF0dXJlOiAnZmFrZVMnIH0sXG4gICAgICAgIGZpbGVzdGFja0hlYWRlcnM6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG1ha2UgY29ycmVjdCByZXRyaWV2ZSByZXF1ZXN0IHdpdGggZXh0ZW5zaW9uJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbWV0aG9kTW9ja2VkID0gamVzdC5mbigoKSA9PiBQcm9taXNlLnJlc29sdmUoeyBkYXRhOiB7fSB9KSk7XG5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIEZzUmVxdWVzdC5kaXNwYXRjaC5tb2NrSW1wbGVtZW50YXRpb24obWV0aG9kTW9ja2VkKTtcbiAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCByZXRyaWV2ZShtb2NrZWRTZXNzaW9uLCAnZmFrZUhhbmRsZScsIHtcbiAgICAgICAgZXh0ZW5zaW9uOiAndHh0JyxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QocmVzcCkudG9FcXVhbCh7fSk7XG4gICAgICBleHBlY3QobWV0aG9kTW9ja2VkKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnZmFrZUFwaVVybC9mYWtlSGFuZGxlK3R4dCcsIHsgbWV0aG9kOiAnR0VUJywgcGFyYW1zOiB7IGtleTogJ2Zha2VBcGlrZXknIH0sIGZpbGVzdGFja0hlYWRlcnM6IGZhbHNlIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBtYWtlIGNvcnJlY3QgcmV0cmlldmUgcmVxdWVzdCB3aXRoIG1ldGFkYXRhJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbWV0aG9kTW9ja2VkID0gamVzdC5mbigoKSA9PiBQcm9taXNlLnJlc29sdmUoeyBkYXRhOiB7fSB9KSk7XG5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIEZzUmVxdWVzdC5kaXNwYXRjaC5tb2NrSW1wbGVtZW50YXRpb24obWV0aG9kTW9ja2VkKTtcbiAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCByZXRyaWV2ZShtb2NrZWRTZXNzaW9uLCAnZmFrZUhhbmRsZScsIHtcbiAgICAgICAgbWV0YWRhdGE6IHRydWUsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KHJlc3ApLnRvRXF1YWwoe30pO1xuICAgICAgZXhwZWN0KG1ldGhvZE1vY2tlZCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ2Zha2VBcGlVcmwvZmFrZUhhbmRsZS9tZXRhZGF0YScsIHsgbWV0aG9kOiAnR0VUJywgcGFyYW1zOiB7IGtleTogJ2Zha2VBcGlrZXknIH0sIGZpbGVzdGFja0hlYWRlcnM6IGZhbHNlIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBvbiBlbXB0eSBoYW5kbGUnLCAoKSA9PiB7XG4gICAgICByZXR1cm4gZXhwZWN0KCgpID0+IHJldHJpZXZlKG1vY2tlZFNlc3Npb24sICcnKSkudG9UaHJvd0Vycm9yKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIHdvcm5nIG9wdGlvbnMgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICByZXR1cm4gZXhwZWN0KCgpID0+XG4gICAgICAgIHJldHJpZXZlKG1vY2tlZFNlc3Npb24sICdmYWtlSGFuZGxlJywge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICB0ZXN0OiAxMjMsXG4gICAgICAgIH0pXG4gICAgICApLnRvVGhyb3dFcnJvcignSW52YWxpZCByZXRyaWV2ZSBwYXJhbXMnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbm90IHRocm93IGFuIGVycm9yIHdvcm5nIG9wdGlvbnMgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICByZXR1cm4gZXhwZWN0KCgpID0+XG4gICAgICAgIHJldHJpZXZlKG1vY2tlZFNlc3Npb24sICdmYWtlSGFuZGxlJywge1xuICAgICAgICAgIG1ldGFkYXRhOiB0cnVlLFxuICAgICAgICB9KVxuICAgICAgKS5ub3QudG9UaHJvd0Vycm9yKCdJbnZhbGlkIHJldHJpZXZlIHBhcmFtcycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciB3aGVuIG1ldGFkYXRhIGFuZCBoZWFkIGlzIHByb3ZpZGVkJywgKCkgPT4ge1xuICAgICAgcmV0dXJuIGV4cGVjdCgoKSA9PlxuICAgICAgICByZXRyaWV2ZShtb2NrZWRTZXNzaW9uLCAnZmFrZUhhbmRsZScsIHtcbiAgICAgICAgICBtZXRhZGF0YTogdHJ1ZSxcbiAgICAgICAgICBoZWFkOiB0cnVlLFxuICAgICAgICB9KVxuICAgICAgKS50b1Rocm93RXJyb3IoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL2ZpbGUuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0g7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSCwrQkFBOEQ7QUFDOUQsd0NBQXlDO0FBRXpDLHlDQUF3QztBQUV4QyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQzFCLDhCQUE4QjtBQUU5QixJQUFNLGFBQWEsR0FBWTtJQUM3QixNQUFNLEVBQUUsWUFBWTtJQUNwQixJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsZUFBTSxDQUFDLElBQUksRUFBRTtRQUNuQyxNQUFNLEVBQUUsU0FBUztRQUNqQixVQUFVLEVBQUUsWUFBWTtRQUN4QixZQUFZLEVBQUUsa0JBQWtCO1FBQ2hDLFdBQVcsRUFBRSxpQkFBaUI7UUFDOUIsU0FBUyxFQUFFLGVBQWU7S0FDM0IsQ0FBQztDQUNILENBQUM7QUFFRixRQUFRLENBQUMsU0FBUyxFQUFFO0lBQ2xCLFFBQVEsQ0FBQyxVQUFVLEVBQUU7UUFDbkIsRUFBRSxDQUFDLDhDQUE4QyxFQUFFOzs7Ozt3QkFDM0MsWUFBWSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBTSxPQUFBLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBN0IsQ0FBNkIsQ0FBQyxDQUFDO3dCQUNsRSxhQUFhO3dCQUNiLG1CQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO3dCQUNsQyxxQkFBTSxJQUFBLGVBQVEsRUFBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLEVBQUE7O3dCQUFsRCxJQUFJLEdBQUcsU0FBMkM7d0JBRXhELE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQzt3QkFDL0MsTUFBTSxDQUFD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O2lCQUNYLENBQUM7WUFIRixDQUdFLENBQ0gsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS9maWxlLnNwZWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgcmV0cmlldmUsIHJlbW92ZSwgbWV0YWRhdGEsIGRvd25sb2FkIH0gZnJvbSAnLi9maWxlJztcbmltcG9ydCB7IEZzUmVxdWVzdCB9IGZyb20gJy4vLi4vcmVxdWVzdCc7XG5pbXBvcnQgeyBTZXNzaW9uIH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJy4vLi4vLi4vY29uZmlnJztcblxuamVzdC5tb2NrKCcuLy4uL3JlcXVlc3QnKTtcbi8vIGplc3QubW9jaygnLi8uLi9maWxlbGluaycpO1xuXG5jb25zdCBtb2NrZWRTZXNzaW9uOiBTZXNzaW9uID0ge1xuICBhcGlrZXk6ICdmYWtlQXBpa2V5JyxcbiAgdXJsczogT2JqZWN0LmFzc2lnbih7fSwgY29uZmlnLnVybHMsIHtcbiAgICBjZG5Vcmw6ICdmYWtlVXJsJyxcbiAgICBmaWxlQXBpVXJsOiAnZmFrZUFwaVVybCcsXG4gICAgdXBsb2FkQXBpVXJsOiAnZmFrZVVwbG9hZEFwaVVybCcsXG4gICAgY2xvdWRBcGlVcmw6ICdmYWtlQ2xvdWRBcGlVcmwnLFxuICAgIHBpY2tlclVybDogJ2Zha2VQaWNrZXJVcmwnLFxuICB9KSxcbn07XG5cbmRlc2NyaWJlKCdGaWxlQVBJJywgKCkgPT4ge1xuICBkZXNjcmliZSgnTWV0YWRhdGEnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBjYWxsIGNvcnJlY3QgbWV0YWRhdGEgd2l0aG91dCBvcHRpb25zJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbWV0aG9kTW9ja2VkID0gamVzdC5mbigoKSA9PiBQcm9taXNlLnJlc29sdmUoeyBkYXRhOiB7fSB9KSk7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBGc1JlcXVlc3QuZ2V0Lm1vY2tJbXBsZW1lbnRhdGlvbihtZXRob2RNb2NrZWQpO1xuICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IG1ldGFkYXRhKG1vY2tlZFNlc3Npb24sICdmYWtlSGFuZGxlJyk7XG5cbiAgICAgIGV4cGVjdChyZXNwKS50b0VxdWFsKHsgaGFuZGxlOiAnZmFrZUhhbmRsZScgfSk7XG4gICAgICBleHBlY3QobWV0aG9kTW9ja2VkKS50b0hhdmVCZWVuTGFzdENhbGxlZFdpdGgoJ2Zha2VBcGlVcmwvZmFrZUhhbmRsZS9tZXRhZGF0YScsIHsgcGFyYW1zOiB7fSwgZmlsZXN0YWNrSGVhZGVyczogZmFsc2UgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGNhbGwgY29ycmVjdCBtZXRhZGF0YSB3aXRoIG9wdGlvbnMnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtZXRob2RNb2NrZWQgPSBqZXN0LmZuKCgpID0+IFByb21pc2UucmVzb2x2ZSh7IGRhdGE6IHt9IH0pKTtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIEZzUmVxdWVzdC5nZXQubW9ja0ltcGxlbWVudGF0aW9uKG1ldGhvZE1vY2tlZCk7XG4gICAgICBjb25zdCByZXNwID0gYXdhaXQgbWV0YWRhdGEobW9ja2VkU2Vzc2lvbiwgJ2Zha2VIYW5kbGUnLCB7IHNpemU6IHRydWUgfSk7XG5cbiAgICAgIGV4cGVjdChyZXNwKS50b0VxdWFsKHsgaGFuZGxlOiAnZmFrZUhhbmRsZScgfSk7XG4gICAgICBleHBlY3QobWV0aG9kTW9ja2VkKS50b0hhdmVCZWVuTGFzdENhbGxlZFdpdGgoJ2Zha2VBcGlVcmwvZmFrZUhhbmRsZS9tZXRhZGF0YScsIHsgcGFyYW1zOiB7IHNpemU6IHRydWUgfSwgZmlsZXN0YWNrSGVhZGVyczogZmFsc2UgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IG9uIHdyb25nIG9wdGlvbicsIGFzeW5jICgpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiBleHBlY3QoKCkgPT4gbWV0YWRhdGEobW9ja2VkU2Vzc2lvbiwgJ2Zha2VrZXknLCB7IGJsYTogMTIzIH0pKS50b1Rocm93RXJyb3IoJ0ludmFsaWQgbWV0YWRhdGEgcGFyYW1zJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIG9uIGVtcHR5IGhhbmRsZScsICgpID0+IHtcbiAgICAgIHJldHVybiBleHBlY3QoKCkgPT4gbWV0YWRhdGEobW9ja2VkU2Vzc2lvbikpLnRvVGhyb3dFcnJvcigpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXNwZWN0IHByb3ZpZGVkIHNlY3VyaXR5IG9wdGlvbnMnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmYWtlU2VjdXJpdHkgPSB7XG4gICAgICAgIHNpZ25hdHVyZTogJ2Zha2VTJyxcbiAgICAgICAgcG9saWN5OiAnZmFrZVAnLFxuICAgICAgfTtcblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRnNSZXF1ZXN0LmdldC5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHsgZGF0YToge30gfSkpO1xuICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IG1ldGFkYXRhKG1vY2tlZFNlc3Npb24sICdmYWtlSGFuZGxlJywge30sIGZha2VTZWN1cml0eSk7XG5cbiAgICAgIGV4cGVjdChyZXNwKS50b0VxdWFsKHsgaGFuZGxlOiAnZmFrZUhhbmRsZScgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdEb3dubG9hZCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiBidWZmZXIgb24gZG93bmxvYWQgcmVxdWVzdCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHRlc3RSZXNwID0gQnVmZmVyLmZyb20oJzEyMycpO1xuICAgICAgY29uc3QgbWV0aG9kTW9ja2VkID0gamVzdC5mbigoKSA9PiBQcm9taXNlLnJlc29sdmUodGVzdFJlc3ApKTtcblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRnNSZXF1ZXN0LmRpc3BhdGNoLm1vY2tJbXBsZW1lbnRhdGlvbihtZXRob2RNb2NrZWQpO1xuICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IGRvd25sb2FkKG1vY2tlZFNlc3Npb24sICdnTkROQ0RXTlRLcW9HRklTZGQyQScpO1xuXG4gICAgICBleHBlY3QocmVzcCkudG9FcXVhbCh0ZXN0UmVzcCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdSZW1vdmUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBjYWxsIHJlbW92ZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGRlbGV0ZU1vY2tlZCA9IGplc3QuZm4oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHsgZGF0YToge30gfSkpO1xuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBGc1JlcXVlc3QuZGVsZXRlLm1vY2tJbXBsZW1lbnRhdGlvbihkZWxldGVNb2NrZWQpO1xuICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IHJlbW92ZShcbiAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgbW9ja2VkU2Vzc2lvbiwge1xuICAgICAgICAgIHNpZ25hdHVyZTogJ2Zha2VTJyxcbiAgICAgICAgICBwb2xpY3k6ICdmYWtlUCcsXG4gICAgICAgIH0pLFxuICAgICAgICAnZmFrZUhhbmRsZSdcbiAgICAgICk7XG5cbiAgICAgIGV4cGVjdChyZXNwKS50b0VxdWFsKHsgZGF0YToge30gfSk7XG4gICAgICBleHBlY3QoZGVsZXRlTW9ja2VkKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnZmFrZUFwaVVybC9mYWtlSGFuZGxlJywgeyBwYXJhbXM6IHsga2V5OiAnZmFrZUFwaWtleScsIHBvbGljeTogJ2Zha2VQJywgc2lnbmF0dXJlOiAnZmFrZVMnIH0sIGZpbGVzdGFja0hlYWRlcnM6IGZhbHNlIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXNwZWN0IHNraXAgc3RvcmFnZSBvcHRpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtZXRob2RNb2NrZWQgPSBqZXN0LmZuKCgpID0+IFByb21pc2UucmVzb2x2ZSh7IGRhdGE6IHt9IH0pKTtcblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRnNSZXF1ZXN0LmRlbGV0ZS5tb2NrSW1wbGVtZW50YXRpb24obWV0aG9kTW9ja2VkKTtcbiAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCByZW1vdmUoXG4gICAgICAgIE9iamVjdC5hc3NpZ24oe30sIG1vY2tlZFNlc3Npb24sIHtcbiAgICAgICAgICBzaWduYXR1cmU6ICdmYWtlUycsXG4gICAgICAgICAgcG9saWN5OiAnZmFrZVAnLFxuICAgICAgICB9KSxcbiAgICAgICAgJ2Zha2VIYW5kbGUnLFxuICAgICAgICB0cnVlXG4gICAgICApO1xuXG4gICAgICBleHBlY3QocmVzcCkudG9FcXVhbCh7IGRhdGE6IHt9IH0pO1xuICAgICAgZXhwZWN0KG1ldGhvZE1vY2tlZCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ2Zha2VBcGlVcmwvZmFrZUhhbmRsZScsIHsgcGFyYW1zOiB7IGtleTogJ2Zha2VBcGlrZXknLCBwb2xpY3k6ICdmYWtlUCcsIHNpZ25hdHVyZTogJ2Zha2VTJywgc2tpcF9zdG9yYWdlOiB0cnVlIH0sIGZpbGVzdGFja0hlYWRlcnM6IGZhbHNlIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBvbiBlbXB0eSBoYW5kbGUnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoKCkgPT4gcmVtb3ZlKG1vY2tlZFNlc3Npb24pKS50b1Rocm93RXJyb3IoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgY2FsbCByZW1vdmUgd2l0aCBwcm92aWRlZCBzZXNzaW9uJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFrZVNlY3VyaXR5ID0ge1xuICAgICAgICBzaWduYXR1cmU6ICdmYWtlUycsXG4gICAgICAgIHBvbGljeTogJ2Zha2VQJyxcbiAgICAgIH07XG5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIEZzUmVxdWVzdC5kZWxldGUubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IFByb21pc2UucmVzb2x2ZSh7IGRhdGE6IHt9IH0pKTtcbiAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCByZW1vdmUobW9ja2VkU2Vzc2lvbiwgJ2Zha2VIYW5kbGUnLCBmYWxzZSwgZmFrZVNlY3VyaXR5KTtcblxuICAgICAgZXhwZWN0KHJlc3ApLnRvRXF1YWwoeyBkYXRhOiB7fSB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgb24gZW1wdHkgc2lnbmF0dXJlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFrZVNlY3VyaXR5ID0ge1xuICAgICAgICBzaWduYXR1cmU6IG51bGwsXG4gICAgICAgIHBvbGljeTogJ2Zha2VQJyxcbiAgICAgIH07XG5cbiAgICAgIGV4cGVjdCgoKSA9PiByZW1vdmUobW9ja2VkU2Vzc2lvbiwgJ2Zha2VIYW5kbGUnLCBmYWxzZSwgZmFrZVNlY3VyaXR5KSkudG9UaHJvd0Vycm9yKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IG9uIGVtcHR5IHBvbGljeScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZha2VTZWN1cml0eSA9IHtcbiAgICAgICAgc2lnbmF0dXJlOiAnZmFrZVMnLFxuICAgICAgICBwb2xpY3k6IG51bGwsXG4gICAgICB9O1xuXG4gICAgICBleHBlY3QoKCkgPT4gcmVtb3ZlKG1vY2tlZFNlc3Npb24sICdmYWtlSGFuZGxlJywgZmFsc2UsIGZha2VTZWN1cml0eSkpLnRvVGhyb3dFcnJvcigpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBvbiBlbXB0eSBwb2xpY3kgb24gc2Vzc2lvbicsIGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiBleHBlY3QoKCkgPT4gcmVtb3ZlKG1vY2tlZFNlc3Npb24sICdmYWtlSGFuZGxlJykpLnRvVGhyb3dFcnJvcigpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnUmV0cmlldmUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBtYWtlIGNvcnJlY3QgcmV0cmlldmUgcmVxdWVzdCAoR0VUKScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG1ldGhvZE1vY2tlZCA9IGplc3QuZm4oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHsgZGF0YToge30gfSkpO1xuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBGc1JlcXVlc3QuZGlzcGF0Y2gubW9ja0ltcGxlbWVudGF0aW9uKG1ldGhvZE1vY2tlZCk7XG4gICAgICBjb25zdCByZXNwID0gYXdhaXQgcmV0cmlldmUobW9ja2VkU2Vzc2lvbiwgJ2Zha2VIYW5kbGUnKTtcblxuICAgICAgZXhwZWN0KHJlc3ApLnRvRXF1YWwoe30pO1xuICAgICAgZXhwZWN0KG1ldGhvZE1vY2tlZCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ2Zha2VBcGlVcmwvZmFrZUhhbmRsZScsIHsgbWV0aG9kOiAnR0VUJywgcGFyYW1zOiB7IGtleTogJ2Zha2VBcGlrZXknIH0sIGZpbGVzdGFja0hlYWRlcnM6IGZhbHNlIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBtYWtlIGNvcnJlY3QgcmV0cmlldmUgcmVxdWVzdCAoSEVBRCknLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtZXRob2RNb2NrZWQgPSBqZXN0LmZuKCgpID0+IFByb21pc2UucmVzb2x2ZSh7IGRhdGE6IHt9LCBoZWFkZXJzOiB7IHR5cGU6ICd0ZXN0JyB9IH0pKTtcblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRnNSZXF1ZXN0LmRpc3BhdGNoLm1vY2tJbXBsZW1lbnRhdGlvbihtZXRob2RNb2NrZWQpO1xuICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IHJldHJpZXZlKG1vY2tlZFNlc3Npb24sICdmYWtlSGFuZGxlJywge1xuICAgICAgICBoZWFkOiB0cnVlLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChyZXNwKS50b0VxdWFsKHsgdHlwZTogJ3Rlc3QnIH0pO1xuICAgICAgZXhwZWN0KG1ldGhvZE1vY2tlZCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ2Zha2VBcGlVcmwvZmFrZUhhbmRsZScsIHsgbWV0aG9kOiAnSEVBRCcsIHBhcmFtczogeyBrZXk6ICdmYWtlQXBpa2V5JyB9LCBmaWxlc3RhY2tIZWFkZXJzOiBmYWxzZSB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbWFrZSBjb3JyZWN0IHJldHJpZXZlIHJlcXVlc3Qgd2l0aCBwcm92aWRlZCBzZWN1cml0eScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG1ldGhvZE1vY2tlZCA9IGplc3QuZm4oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHsgZGF0YToge30gfSkpO1xuXG4gICAgICBjb25zdCBmYWtlU2VjdXJpdHkgPSB7XG4gICAgICAgIHNpZ25hdHVyZTogJ2Zha2VTJyxcbiAgICAgICAgcG9saWN5OiAnZmFrZVAnLFxuICAgICAgfTtcblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRnNSZXF1ZXN0LmRpc3BhdGNoLm1vY2tJbXBsZW1lbnRhdGlvbihtZXRob2RNb2NrZWQpO1xuICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IHJldHJpZXZlKG1vY2tlZFNlc3Npb24sICdmYWtlSGFuZGxlJywge30sIGZha2VTZWN1cml0eSk7XG5cbiAgICAgIGV4cGVjdChyZXNwKS50b0VxdWFsKHt9KTtcbiAgICAgIGV4cGVjdChtZXRob2RNb2NrZWQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCdmYWtlQXBpVXJsL2Zha2VIYW5kbGUnLCB7XG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIHBhcmFtczogeyBrZXk6ICdmYWtlQXBpa2V5JywgcG9saWN5OiAnZmFrZVAnLCBzaWduYXR1cmU6ICdmYWtlUycgfSxcbiAgICAgICAgZmlsZXN0YWNrSGVhZGVyczogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbWFrZSBjb3JyZWN0IHJldHJpZXZlIHJlcXVlc3Qgd2l0aCBleHRlbnNpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtZXRob2RNb2NrZWQgPSBqZXN0LmZuKCgpID0+IFByb21pc2UucmVzb2x2ZSh7IGRhdGE6IHt9IH0pKTtcblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRnNSZXF1ZXN0LmRpc3BhdGNoLm1vY2tJbXBsZW1lbnRhdGlvbihtZXRob2RNb2NrZWQpO1xuICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IHJldHJpZXZlKG1vY2tlZFNlc3Npb24sICdmYWtlSGFuZGxlJywge1xuICAgICAgICBleHRlbnNpb246ICd0eHQnLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChyZXNwKS50b0VxdWFsKHt9KTtcbiAgICAgIGV4cGVjdChtZXRob2RNb2NrZWQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCdmYWtlQXBpVXJsL2Zha2VIYW5kbGUrdHh0JywgeyBtZXRob2Q6ICdHRVQnLCBwYXJhbXM6IHsga2V5OiAnZmFrZUFwaWtleScgfSwgZmlsZXN0YWNrSGVhZGVyczogZmFsc2UgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG1ha2UgY29ycmVjdCByZXRyaWV2ZSByZXF1ZXN0IHdpdGggbWV0YWRhdGEnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtZXRob2RNb2NrZWQgPSBqZXN0LmZuKCgpID0+IFByb21pc2UucmVzb2x2ZSh7IGRhdGE6IHt9IH0pKTtcblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRnNSZXF1ZXN0LmRpc3BhdGNoLm1vY2tJbXBsZW1lbnRhdGlvbihtZXRob2RNb2NrZWQpO1xuICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IHJldHJpZXZlKG1vY2tlZFNlc3Npb24sICdmYWtlSGFuZGxlJywge1xuICAgICAgICBtZXRhZGF0YTogdHJ1ZSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QocmVzcCkudG9FcXVhbCh7fSk7XG4gICAgICBleHBlY3QobWV0aG9kTW9ja2VkKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnZmFrZUFwaVVybC9mYWtlSGFuZGxlL21ldGFkYXRhJywgeyBtZXRob2Q6ICdHRVQnLCBwYXJhbXM6IHsga2V5OiAnZmFrZUFwaWtleScgfSwgZmlsZXN0YWNrSGVhZGVyczogZmFsc2UgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIG9uIGVtcHR5IGhhbmRsZScsICgpID0+IHtcbiAgICAgIHJldHVybiBleHBlY3QoKCkgPT4gcmV0cmlldmUobW9ja2VkU2Vzc2lvbiwgJycpKS50b1Rocm93RXJyb3IoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3Igd29ybmcgb3B0aW9ucyBwcm92aWRlZCcsICgpID0+IHtcbiAgICAgIHJldHVybiBleHBlY3QoKCkgPT5cbiAgICAgICAgcmV0cmlldmUobW9ja2VkU2Vzc2lvbiwgJ2Zha2VIYW5kbGUnLCB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHRlc3Q6IDEyMyxcbiAgICAgICAgfSlcbiAgICAgICkudG9UaHJvd0Vycm9yKCdJbnZhbGlkIHJldHJpZXZlIHBhcmFtcycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBub3QgdGhyb3cgYW4gZXJyb3Igd29ybmcgb3B0aW9ucyBwcm92aWRlZCcsICgpID0+IHtcbiAgICAgIHJldHVybiBleHBlY3QoKCkgPT5cbiAgICAgICAgcmV0cmlldmUobW9ja2VkU2Vzc2lvbiwgJ2Zha2VIYW5kbGUnLCB7XG4gICAgICAgICAgbWV0YWRhdGE6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICApLm5vdC50b1Rocm93RXJyb3IoJ0ludmFsaWQgcmV0cmlldmUgcGFyYW1zJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIHdoZW4gbWV0YWRhdGEgYW5kIGhlYWQgaXMgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICByZXR1cm4gZXhwZWN0KCgpID0+XG4gICAgICAgIHJldHJpZXZlKG1vY2tlZFNlc3Npb24sICdmYWtlSGFuZGxlJywge1xuICAgICAgICAgIG1ldGFkYXRhOiB0cnVlLFxuICAgICAgICAgIGhlYWQ6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICApLnRvVGhyb3dFcnJvcigpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
import { Session, Client } from './../client';
import { PickerOptions } from './../picker';
export declare type PrefetchSettings = {
export type PrefetchSettings = {
inapp_browser?: boolean;
};
export declare type PrefetchPermissions = {
export type PrefetchPermissions = {
intelligent_ingestion?: boolean;

@@ -17,3 +17,3 @@ whitelabel?: boolean;

}
export declare type PrefetchOptions = {
export type PrefetchOptions = {
pickerOptions?: PickerOptions;

@@ -24,3 +24,3 @@ settings?: Array<keyof PrefetchSettings>;

};
export declare type PrefetchResponse = {
export type PrefetchResponse = {
blocked?: boolean | string;

@@ -27,0 +27,0 @@ settings?: PrefetchSettings;

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.Prefetch = exports.PrefetchEvents = void 0;
var tslib_1 = require("tslib");

@@ -26,3 +27,3 @@ // import Debug from 'debug';

var utils_1 = require("./../utils");
var cloneDeep = require("lodash.clonedeep");
var lodash_clonedeep_1 = tslib_1.__importDefault(require("lodash.clonedeep"));
var PrefetchEvents;

@@ -75,8 +76,7 @@ (function (PrefetchEvents) {

if (pickerOptions && Object.keys(pickerOptions).length) {
pickerOptionsToSend = utils_1.cleanUpCallbacks(cloneDeep(tslib_1.__assign({}, pickerOptions)));
pickerOptionsToSend = (0, utils_1.cleanUpCallbacks)((0, lodash_clonedeep_1.default)(tslib_1.__assign({}, pickerOptions)));
}
paramsToSend = tslib_1.__assign(tslib_1.__assign({}, paramsToSend), { permissions: permissions,
settings: settings, picker_config: pickerOptionsToSend, events: events });
paramsToSend = tslib_1.__assign(tslib_1.__assign({}, paramsToSend), { permissions: permissions, settings: settings, picker_config: pickerOptionsToSend, events: events });
this.session.prefetch = null;
return [2 /*return*/, request_1.FsRequest.post(this.session.urls.uploadApiUrl + "/prefetch", paramsToSend).then(function (res) {
return [2 /*return*/, request_1.FsRequest.post("".concat(this.session.urls.uploadApiUrl, "/prefetch"), paramsToSend).then(function (res) {
/* istanbul ignore if */

@@ -126,2 +126,2 @@ if (res.status !== 200) {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3ByZWZldGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7OztBQUVILDZCQUE2QjtBQUM3QiwyREFBeUQ7QUFDekQsc0NBQXdEO0FBRXhELHNDQUF1QztBQUN2QyxvQ0FBOEM7QUFDOUMsNENBQThDO0FBZ0I5QyxJQUFZLGNBR1g7QUFIRCxXQUFZLGNBQWM7SUFDeEIsbUNBQWlCLENBQUE7SUFDakIsK0NBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQUhXLGNBQWMsR0FBZCxzQkFBYyxLQUFkLHNCQUFjLFFBR3pCO0FBeUJEOztHQUVHO0FBQ0g7SUFJRSxrQkFBWSxLQUF1QjtRQUNqQyxJQUFJLEtBQUssWUFBWSxlQUFNLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1NBQzlCO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0csNEJBQVMsR0FBZixVQUFnQixFQUFpRTtZQUEvRCxnQ0FBYSxFQUFFLHNCQUFRLEVBQUUsNEJBQVcsRUFBRSxrQkFBTTs7Ozs7Z0JBQ3hELFlBQVksR0FBb0I7b0JBQ2xDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07aUJBQzVCLENBQUM7Z0JBRUYsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtvQkFDakQsWUFBWSxDQUFDLFFBQVEsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztpQkFDNUY7Z0JBRUQseUNBQXlDO2dCQUN6Qyx3SUFBd0k7Z0JBQ3hJLElBQUk7Z0JBRUosbURBQW1EO2dCQUNuRCxJQUFJLENBQUMs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KSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBpbXBvcnQgRGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHsgRmlsZXN0YWNrRXJyb3IgfSBmcm9tICcuLy4uLy4uL2ZpbGVzdGFja19lcnJvcic7XG5pbXBvcnQgeyBTZXNzaW9uLCBTZWN1cml0eSwgQ2xpZW50IH0gZnJvbSAnLi8uLi9jbGllbnQnO1xuaW1wb3J0IHsgUGlja2VyT3B0aW9ucyB9IGZyb20gJy4vLi4vcGlja2VyJztcbmltcG9ydCB7IEZzUmVxdWVzdCB9IGZyb20gJy4uL3JlcXVlc3QnO1xuaW1wb3J0IHsgY2xlYW5VcENhbGxiYWNrcyB9IGZyb20gJy4vLi4vdXRpbHMnO1xuaW1wb3J0ICogYXMgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC5jbG9uZWRlZXAnO1xuXG4vLyBjb25zdCBkZWJ1ZyA9IERlYnVnKCdmczpwcmVmZXRjaCcpO1xuXG5leHBvcnQgdHlwZSBQcmVmZXRjaFNldHRpbmdzID0ge1xuICBpbmFwcF9icm93c2VyPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIFByZWZldGNoUGVybWlzc2lvbnMgPSB7XG4gIGludGVsbGlnZW50X2luZ2VzdGlvbj86IGJvb2xlYW47XG4gIHdoaXRlbGFiZWw/OiBib29sZWFuO1xuICB0cmFuc2Zvcm1zX3VpPzogYm9vbGVhbjtcbiAgZW5oYW5jZT86IGJvb2xlYW47XG4gIGFkdmFuY2VkX2VuaGFuY2U/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGVudW0gUHJlZmV0Y2hFdmVudHMge1xuICBQSUNLRVIgPSAncGlja2VyJyxcbiAgVFJBTlNGT1JNX1VJID0gJ3RyYW5zZm9ybV91aScsXG59XG5cbmV4cG9ydCB0eXBlIFByZWZldGNoT3B0aW9ucyA9IHtcbiAgcGlja2VyT3B0aW9ucz86IFBpY2tlck9wdGlvbnM7XG4gIHNldHRpbmdzPzogQXJyYXk8a2V5b2YgUHJlZmV0Y2hTZXR0aW5ncz47XG4gIHBlcm1pc3Npb25zPzogQXJyYXk8a2V5b2YgUHJlZmV0Y2hQZXJtaXNzaW9ucz47XG4gIGV2ZW50cz86IFByZWZldGNoRXZlbnRzW107XG59O1xuXG5pbnRlcmZhY2UgUHJlZmV0Y2hSZXF1ZXN0IHtcbiAgYXBpa2V5OiBzdHJpbmc7XG4gIHNlY3VyaXR5PzogU2VjdXJpdHk7XG4gIHBlcm1pc3Npb25zPzogQXJyYXk8a2V5b2YgUHJlZmV0Y2hQZXJtaXNzaW9ucz47XG4gIHNldHRpbmdzPzogQXJyYXk8a2V5b2YgUHJlZmV0Y2hTZXR0aW5ncz47XG4gIGV2ZW50cz86IFByZWZldGNoRXZlbnRzW107XG4gIHBpY2tlcl9jb25maWc/OiBQaWNrZXJPcHRpb25zO1xufVxuXG5leHBvcnQgdHlwZSBQcmVmZXRjaFJlc3BvbnNlID0ge1xuICBibG9ja2VkPzogYm9vbGVhbiB8IHN0cmluZztcbiAgc2V0dGluZ3M/OiBQcmVmZXRjaFNldHRpbmdzO1xuICBwZXJtaXNzaW9ucz86IFByZWZldGNoUGVybWlzc2lvbnM7XG4gIHBpY2tlck9wdGlvbnM6IFBpY2tlck9wdGlvbnM7XG59O1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBQcmVmZXRjaCB7XG5cbiAgcHJpdmF0ZSBzZXNzaW9uOiBTZXNzaW9uO1xuXG4gIGNvbnN0cnVjdG9yKHBhcmFtOiBTZXNzaW9uIHwgQ2xpZW50KSB7XG4gICAgaWYgKHBhcmFtIGluc3RhbmNlb2YgQ2xpZW50KSB7XG4gICAgICB0aGlzLnNlc3Npb24gPSBwYXJhbS5zZXNzaW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlc3Npb24gPSBwYXJhbTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBmaWxlc3RhY2sgb3B0aW9ucyBmcm9tIGJhY2tlbmQgYWNjb3JkaW5nIHRvIGlucHV0IHBhcmFtc1xuICAgKlxuICAgKiBAcGFyYW0gcGFyYW0wXG4gICAqL1xuICBhc3luYyBnZXRDb25maWcoeyBwaWNrZXJPcHRpb25zLCBzZXR0aW5ncywgcGVybWlzc2lvbnMsIGV2ZW50cyB9OiBQcmVmZXRjaE9wdGlvbnMpOiBQcm9taXNlPFByZWZldGNoUmVzcG9uc2U+IHtcbiAgICBsZXQgcGFyYW1zVG9TZW5kOiBQcmVmZXRjaFJlcXVlc3QgPSB7XG4gICAgICBhcGlrZXk6IHRoaXMuc2Vzc2lvbi5hcGlrZXksXG4gICAgfTtcblxuICAgIGlmICh0aGlzLnNlc3Npb24ucG9saWN5ICYmIHRoaXMuc2Vzc2lvbi5zaWduYXR1cmUpIHtcbiAgICAgIHBhcmFtc1RvU2VuZC5zZWN1cml0eSA9IHsgcG9saWN5OiB0aGlzLnNlc3Npb24ucG9saWN5LCBzaWduYXR1cmU6IHRoaXMuc2Vzc2lvbi5zaWduYXR1cmUgfTtcbiAgICB9XG5cbiAgICAvLyBpZiAodGhpcy5zZXNzaW9uLnByZWZldGNoICYmIGV2ZW50cykge1xuICAgIC8vICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuc2Vzc2lvbi51cmxzLnVwbG9hZEFwaVVybH0vcHJlZmV0Y2hgLCB7IC4uLnBhcmFtc1RvU2VuZCwgZXZlbnRzIH0pLnRoZW4oKCkgPT4gdGhpcy5zZXNzaW9uLnByZWZldGNoKTtcbiAgICAvLyB9XG5cbiAgICAvLyB3ZSBzaG91bGQgYWx3YXlzIGFzayBmb3IgdGhpcyBzZXR0aW5nIGZvciBwaWNrZXJcbiAgICBpZiAoIXNldHRpbmdzKSB7XG4gICAgICBzZXR0aW5ncyA9IFsnaW5hcHBfYnJvd3NlciddO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXR0aW5ncyA9IHNldHRpbmdzLmNvbmNhdChbJ2luYXBwX2Jyb3dzZXInXSk7XG4gICAgICAvLyBtYWtlIGFycnJheSB1bmlxdWVcbiAgICAgIHNldHRpbmdzID0gc2V0dGluZ3MuZmlsdGVyKCh2LCBpKSA9PiBzZXR0aW5ncy5pbmRleE9mKHYpID09PSBpKTtcbiAgICB9XG5cbiAgICBsZXQgcGlja2VyT3B0aW9uc1RvU2VuZDtcbiAgICBpZiAocGlja2VyT3B0aW9ucyAmJiBPYmplY3Qua2V5cyhwaWNrZXJPcHRpb25zKS5sZW5ndGgpIHtcbiAgICAgIHBpY2tlck9wdGlvbnNUb1NlbmQgPSBjbGVhblVwQ2FsbGJhY2tzKGNsb25lRGVlcCh7IC4uLnBpY2tlck9wdGlvbnMgfSkpO1xuICAgIH1cblxuICAgIHBhcmFtc1RvU2VuZCA9IHtcbiAgICAgIC4uLnBhcmFtc1RvU2VuZCxcbiAgICAgIHBlcm1pc3Npb25zLFxuICAgICAgc2V0dGluZ3MsXG4gICAgICBwaWNrZXJfY29uZmlnOiBwaWNrZXJPcHRpb25zVG9TZW5kLFxuICAgICAgZXZlbnRzLFxuICAgIH07XG5cbiAgICB0aGlzLnNlc3Npb24ucHJlZmV0Y2ggPSBudWxsO1xuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuc2Vzc2lvbi51cmxzLnVwbG9hZEFwaVVybH0vcHJlZmV0Y2hgLCBwYXJhbXNUb1NlbmQpLnRoZW4oKHJlcykgPT4ge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAocmVzLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcignVGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggcHJlZmV0Y2ggcmVxdWVzdCcpO1xuICAgICAgfVxuXG4gICAgICBsZXQgZGF0YSA9IHJlcy5kYXRhO1xuXG4gICAgICAvLyBpZiBiYWNrZW5kIG5vdCByZXR1cm5pbmcgdXBkYXRlZF9jb25maWcgY2F5IHdlIHRha2Ugb2xkIGNvbmZpZyBhbmQgcmV0dXJuXG4gICAgICBpZiAoZGF0YS51cGRhdGVkX2NvbmZpZykge1xuICAgICAgICAvLyByZWFzc2lnbiBjYWxsYmFjayBmcm9tIG9sZCBjb25maWcgdG8gbmV3IG9uZSByZXR1cm5lZCBmcm9tIGJhY2tlbmRcbiAgICAgICAgZGF0YS5waWNrZXJPcHRpb25zID0gdGhpcy5yZWFzc2lnbkNhbGxiYWNrcyhwaWNrZXJPcHRpb25zLCBkYXRhLnVwZGF0ZWRfY29uZmlnIHx8IHt9KTtcbiAgICAgICAgZGVsZXRlIGRhdGEudXBkYXRlZF9jb25maWc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhLnBpY2tlck9wdGlvbnMgPSBwaWNrZXJPcHRpb25zO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNlc3Npb24ucHJlZmV0Y2ggPSBkYXRhO1xuXG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFzc2lnbiBjYWxsYmFja3MgZnJvbSBvbGQgcGlja2VyIGNvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogQHBhcmFtIG9iak9sZFxuICAgKiBAcGFyYW0gb2JqVGFyZ2V0XG4gICAqL1xuICBwcml2YXRlIHJlYXNzaWduQ2FsbGJhY2tzKG9iak9sZCwgb2JqVGFyZ2V0KSB7XG4gICAgaWYgKCFvYmpPbGQgfHwgT2JqZWN0LmtleXMob2JqT2xkKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBvYmpPbGQ7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBrIGluIG9iak9sZCkge1xuICAgICAgaWYgKHR5cGVvZiBvYmpPbGRba10gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgb2JqVGFyZ2V0W2tdID0gb2JqT2xkW2tdO1xuICAgICAgfVxuXG4gICAgICBpZiAob2JqT2xkW2tdID09PSBPYmplY3Qob2JqT2xkW2tdKSkge1xuICAgICAgICBvYmpUYXJnZXRba10gPSB0aGlzLnJlYXNzaWduQ2FsbGJhY2tzKG9iak9sZFtrXSwgb2JqVGFyZ2V0W2tdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gb2JqVGFyZ2V0O1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3ByZWZldGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7Ozs7QUFFSCw2QkFBNkI7QUFDN0IsMkRBQXlEO0FBQ3pELHNDQUF3RDtBQUV4RCxzQ0FBdUM7QUFDdkMsb0NBQThDO0FBQzlDLDhFQUF5QztBQWdCekMsSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3hCLG1DQUFpQixDQUFBO0lBQ2pCLCtDQUE2QixDQUFBO0FBQy9CLENBQUMsRUFIVyxjQUFjLEdBQWQsc0JBQWMsS0FBZCxzQkFBYyxRQUd6QjtBQXlCRDs7R0FFRztBQUNIO0lBSUUsa0JBQVksS0FBdUI7UUFDakMsSUFBSSxLQUFLLFlBQVksZUFBTSxFQUFFO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztTQUM5QjthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNHLDRCQUFTLEdBQWYsVUFBZ0IsRUFBaUU7WUFBL0QsYUFBYSxtQkFBQSxFQUFFLFFBQVEsY0FBQSxFQUFFLFdBQVcsaUJBQUEsRUFBRSxNQUFNLFlBQUE7Ozs7O2dCQUN4RCxZQUFZLEdBQW9CO29CQUNsQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2lCQUM1QixDQUFDO2dCQUVGLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7b0JBQ2pELFlBQVksQ0FBQyxRQUFRLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7aUJBQzVGO2dCQUVELHlDQUF5QztnQkFDekMsd0lBQXdJO2dCQUN4SSxJQUFJO2dCQUVKLG1EQUFt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cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8gaW1wb3J0IERlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yIH0gZnJvbSAnLi8uLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuaW1wb3J0IHsgU2Vzc2lvbiwgU2VjdXJpdHksIENsaWVudCB9IGZyb20gJy4vLi4vY2xpZW50JztcbmltcG9ydCB7IFBpY2tlck9wdGlvbnMgfSBmcm9tICcuLy4uL3BpY2tlcic7XG5pbXBvcnQgeyBGc1JlcXVlc3QgfSBmcm9tICcuLi9yZXF1ZXN0JztcbmltcG9ydCB7IGNsZWFuVXBDYWxsYmFja3MgfSBmcm9tICcuLy4uL3V0aWxzJztcbmltcG9ydCBjbG9uZURlZXAgZnJvbSAnbG9kYXNoLmNsb25lZGVlcCc7XG5cbi8vIGNvbnN0IGRlYnVnID0gRGVidWcoJ2ZzOnByZWZldGNoJyk7XG5cbmV4cG9ydCB0eXBlIFByZWZldGNoU2V0dGluZ3MgPSB7XG4gIGluYXBwX2Jyb3dzZXI/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgUHJlZmV0Y2hQZXJtaXNzaW9ucyA9IHtcbiAgaW50ZWxsaWdlbnRfaW5nZXN0aW9uPzogYm9vbGVhbjtcbiAgd2hpdGVsYWJlbD86IGJvb2xlYW47XG4gIHRyYW5zZm9ybXNfdWk/OiBib29sZWFuO1xuICBlbmhhbmNlPzogYm9vbGVhbjtcbiAgYWR2YW5jZWRfZW5oYW5jZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgZW51bSBQcmVmZXRjaEV2ZW50cyB7XG4gIFBJQ0tFUiA9ICdwaWNrZXInLFxuICBUUkFOU0ZPUk1fVUkgPSAndHJhbnNmb3JtX3VpJyxcbn1cblxuZXhwb3J0IHR5cGUgUHJlZmV0Y2hPcHRpb25zID0ge1xuICBwaWNrZXJPcHRpb25zPzogUGlja2VyT3B0aW9ucztcbiAgc2V0dGluZ3M/OiBBcnJheTxrZXlvZiBQcmVmZXRjaFNldHRpbmdzPjtcbiAgcGVybWlzc2lvbnM/OiBBcnJheTxrZXlvZiBQcmVmZXRjaFBlcm1pc3Npb25zPjtcbiAgZXZlbnRzPzogUHJlZmV0Y2hFdmVudHNbXTtcbn07XG5cbmludGVyZmFjZSBQcmVmZXRjaFJlcXVlc3Qge1xuICBhcGlrZXk6IHN0cmluZztcbiAgc2VjdXJpdHk/OiBTZWN1cml0eTtcbiAgcGVybWlzc2lvbnM/OiBBcnJheTxrZXlvZiBQcmVmZXRjaFBlcm1pc3Npb25zPjtcbiAgc2V0dGluZ3M/OiBBcnJheTxrZXlvZiBQcmVmZXRjaFNldHRpbmdzPjtcbiAgZXZlbnRzPzogUHJlZmV0Y2hFdmVudHNbXTtcbiAgcGlja2VyX2NvbmZpZz86IFBpY2tlck9wdGlvbnM7XG59XG5cbmV4cG9ydCB0eXBlIFByZWZldGNoUmVzcG9uc2UgPSB7XG4gIGJsb2NrZWQ/OiBib29sZWFuIHwgc3RyaW5nO1xuICBzZXR0aW5ncz86IFByZWZldGNoU2V0dGluZ3M7XG4gIHBlcm1pc3Npb25zPzogUHJlZmV0Y2hQZXJtaXNzaW9ucztcbiAgcGlja2VyT3B0aW9uczogUGlja2VyT3B0aW9ucztcbn07XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuZXhwb3J0IGNsYXNzIFByZWZldGNoIHtcblxuICBwcml2YXRlIHNlc3Npb246IFNlc3Npb247XG5cbiAgY29uc3RydWN0b3IocGFyYW06IFNlc3Npb24gfCBDbGllbnQpIHtcbiAgICBpZiAocGFyYW0gaW5zdGFuY2VvZiBDbGllbnQpIHtcbiAgICAgIHRoaXMuc2Vzc2lvbiA9IHBhcmFtLnNlc3Npb247XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2Vzc2lvbiA9IHBhcmFtO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGZpbGVzdGFjayBvcHRpb25zIGZyb20gYmFja2VuZCBhY2NvcmRpbmcgdG8gaW5wdXQgcGFyYW1zXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbTBcbiAgICovXG4gIGFzeW5jIGdldENvbmZpZyh7IHBpY2tlck9wdGlvbnMsIHNldHRpbmdzLCBwZXJtaXNzaW9ucywgZXZlbnRzIH06IFByZWZldGNoT3B0aW9ucyk6IFByb21pc2U8UHJlZmV0Y2hSZXNwb25zZT4ge1xuICAgIGxldCBwYXJhbXNUb1NlbmQ6IFByZWZldGNoUmVxdWVzdCA9IHtcbiAgICAgIGFwaWtleTogdGhpcy5zZXNzaW9uLmFwaWtleSxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuc2Vzc2lvbi5wb2xpY3kgJiYgdGhpcy5zZXNzaW9uLnNpZ25hdHVyZSkge1xuICAgICAgcGFyYW1zVG9TZW5kLnNlY3VyaXR5ID0geyBwb2xpY3k6IHRoaXMuc2Vzc2lvbi5wb2xpY3ksIHNpZ25hdHVyZTogdGhpcy5zZXNzaW9uLnNpZ25hdHVyZSB9O1xuICAgIH1cblxuICAgIC8vIGlmICh0aGlzLnNlc3Npb24ucHJlZmV0Y2ggJiYgZXZlbnRzKSB7XG4gICAgLy8gICByZXR1cm4gRnNSZXF1ZXN0LnBvc3QoYCR7dGhpcy5zZXNzaW9uLnVybHMudXBsb2FkQXBpVXJsfS9wcmVmZXRjaGAsIHsgLi4ucGFyYW1zVG9TZW5kLCBldmVudHMgfSkudGhlbigoKSA9PiB0aGlzLnNlc3Npb24ucHJlZmV0Y2gpO1xuICAgIC8vIH1cblxuICAgIC8vIHdlIHNob3VsZCBhbHdheXMgYXNrIGZvciB0aGlzIHNldHRpbmcgZm9yIHBpY2tlclxuICAgIGlmICghc2V0dGluZ3MpIHtcbiAgICAgIHNldHRpbmdzID0gWydpbmFwcF9icm93c2VyJ107XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldHRpbmdzID0gc2V0dGluZ3MuY29uY2F0KFsnaW5hcHBfYnJvd3NlciddKTtcbiAgICAgIC8vIG1ha2UgYXJycmF5IHVuaXF1ZVxuICAgICAgc2V0dGluZ3MgPSBzZXR0aW5ncy5maWx0ZXIoKHYsIGkpID0+IHNldHRpbmdzLmluZGV4T2YodikgPT09IGkpO1xuICAgIH1cblxuICAgIGxldCBwaWNrZXJPcHRpb25zVG9TZW5kO1xuICAgIGlmIChwaWNrZXJPcHRpb25zICYmIE9iamVjdC5rZXlzKHBpY2tlck9wdGlvbnMpLmxlbmd0aCkge1xuICAgICAgcGlja2VyT3B0aW9uc1RvU2VuZCA9IGNsZWFuVXBDYWxsYmFja3MoY2xvbmVEZWVwKHsgLi4ucGlja2VyT3B0aW9ucyB9KSk7XG4gICAgfVxuXG4gICAgcGFyYW1zVG9TZW5kID0ge1xuICAgICAgLi4ucGFyYW1zVG9TZW5kLFxuICAgICAgcGVybWlzc2lvbnMsXG4gICAgICBzZXR0aW5ncyxcbiAgICAgIHBpY2tlcl9jb25maWc6IHBpY2tlck9wdGlvbnNUb1NlbmQsXG4gICAgICBldmVudHMsXG4gICAgfTtcblxuICAgIHRoaXMuc2Vzc2lvbi5wcmVmZXRjaCA9IG51bGw7XG5cbiAgICByZXR1cm4gRnNSZXF1ZXN0LnBvc3QoYCR7dGhpcy5zZXNzaW9uLnVybHMudXBsb2FkQXBpVXJsfS9wcmVmZXRjaGAsIHBhcmFtc1RvU2VuZCkudGhlbigocmVzKSA9PiB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmIChyZXMuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdUaGVyZSBpcyBhIHByb2JsZW0gd2l0aCBwcmVmZXRjaCByZXF1ZXN0Jyk7XG4gICAgICB9XG5cbiAgICAgIGxldCBkYXRhID0gcmVzLmRhdGE7XG5cbiAgICAgIC8vIGlmIGJhY2tlbmQgbm90IHJldHVybmluZyB1cGRhdGVkX2NvbmZpZyBjYXkgd2UgdGFrZSBvbGQgY29uZmlnIGFuZCByZXR1cm5cbiAgICAgIGlmIChkYXRhLnVwZGF0ZWRfY29uZmlnKSB7XG4gICAgICAgIC8vIHJlYXNzaWduIGNhbGxiYWNrIGZyb20gb2xkIGNvbmZpZyB0byBuZXcgb25lIHJldHVybmVkIGZyb20gYmFja2VuZFxuICAgICAgICBkYXRhLnBpY2tlck9wdGlvbnMgPSB0aGlzLnJlYXNzaWduQ2FsbGJhY2tzKHBpY2tlck9wdGlvbnMsIGRhdGEudXBkYXRlZF9jb25maWcgfHwge30pO1xuICAgICAgICBkZWxldGUgZGF0YS51cGRhdGVkX2NvbmZpZztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRhdGEucGlja2VyT3B0aW9ucyA9IHBpY2tlck9wdGlvbnM7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2Vzc2lvbi5wcmVmZXRjaCA9IGRhdGE7XG5cbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYXNzaWduIGNhbGxiYWNrcyBmcm9tIG9sZCBwaWNrZXIgY29uZmlndXJhdGlvblxuICAgKlxuICAgKiBAcGFyYW0gb2JqT2xkXG4gICAqIEBwYXJhbSBvYmpUYXJnZXRcbiAgICovXG4gIHByaXZhdGUgcmVhc3NpZ25DYWxsYmFja3Mob2JqT2xkLCBvYmpUYXJnZXQpIHtcbiAgICBpZiAoIW9iak9sZCB8fCBPYmplY3Qua2V5cyhvYmpPbGQpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG9iak9sZDtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGsgaW4gb2JqT2xkKSB7XG4gICAgICBpZiAodHlwZW9mIG9iak9sZFtrXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBvYmpUYXJnZXRba10gPSBvYmpPbGRba107XG4gICAgICB9XG5cbiAgICAgIGlmIChvYmpPbGRba10gPT09IE9iamVjdChvYmpPbGRba10pKSB7XG4gICAgICAgIG9ialRhcmdldFtrXSA9IHRoaXMucmVhc3NpZ25DYWxsYmFja3Mob2JqT2xkW2tdLCBvYmpUYXJnZXRba10pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBvYmpUYXJnZXQ7XG4gIH1cbn1cbiJdfQ==

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

// import { config } from './../../config';
var nock = require("nock");
var nock_1 = tslib_1.__importDefault(require("nock"));
var prefetch_1 = require("./prefetch");

@@ -42,8 +42,8 @@ var request_1 = require("../request");

};
var scope = nock(testURL.uploadApiUrl);
var scope = (0, nock_1.default)(testURL.uploadApiUrl);
// mock cors responses for all request for browser tests
scope.defaultReplyHeaders({
'access-control-allow-origin': function (req) { return req.headers['origin']; },
'access-control-allow-methods': function (req) { return req.headers['access-control-request-method']; },
'access-control-allow-headers': function (req) { return req.headers['access-control-request-headers']; },
'access-control-allow-origin': function (req) { var _a; return (_a = req.getHeader('origin')) === null || _a === void 0 ? void 0 : _a.toString(); },
'access-control-allow-methods': function (req) { var _a; return (_a = req.getHeader('access-control-request-method')) === null || _a === void 0 ? void 0 : _a.toString(); },
'access-control-allow-headers': function (req) { var _a; return (_a = req.getHeader('access-control-request-headers')) === null || _a === void 0 ? void 0 : _a.toString(); },
'content-type': 'application/json',

@@ -57,3 +57,3 @@ });

});
it('Should make correct request to prefetch and return new config', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
it('should make correct request to prefetch and return new config', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var sessionCopy, serverResponse, test, prefetch, res;

@@ -250,2 +250,2 @@ return tslib_1.__generator(this, function (_a) {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3ByZWZldGNoLnNwZWMuYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSCwyQ0FBMkM7QUFDM0MsMkJBQTZCO0FBQzdCLHVDQUFzRDtBQUV0RCxzQ0FBZ0Q7QUFFaEQsSUFBTSxVQUFVLEdBQUcsd0JBQXdCLENBQUM7QUFDNUMsSUFBTSxZQUFZLEdBQWE7SUFDN0IsTUFBTSxFQUFFLGVBQWU7SUFDdkIsU0FBUyxFQUFFLGtCQUFrQjtDQUM5QixDQUFDO0FBRUYsSUFBTSxPQUFPLEdBQUc7SUFDZCxVQUFVLEVBQUUsRUFBRTtJQUNkLFlBQVksRUFBRSw4QkFBOEI7SUFDNUMsV0FBVyxFQUFFLEVBQUU7SUFDZixNQUFNLEVBQUUsRUFBRTtJQUNWLFNBQVMsRUFBRSxFQUFFO0lBQ2IsVUFBVSxFQUFFLEVBQUU7Q0FDZixDQUFDO0FBRUYsSUFBTSxXQUFXLEdBQVk7SUFDM0IsTUFBTSxFQUFFLFVBQVU7SUFDbEIsSUFBSSxFQUFFLE9BQU87Q0FDZCxDQUFDO0FBRUYsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUV2Qyx3REFBd0Q7QUFDeEQsS0FBSyxDQUFDLG1CQUFtQixDQUFDO0lBQ3hCLDZCQUE2QixFQUFFLFVBQUEsR0FBRyxJQUFJLE9BQUEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBckIsQ0FBcUI7SUFDM0QsOEJBQThCLEVBQUUsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsT0FBTyxDQUFDLCtCQUErQixDQUFDLEVBQTVDLENBQTRDO0lBQ25GLDhCQUE4QixFQUFFLFVBQUEsR0FBRyxJQUFJLE9BQUEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUE3QyxDQUE2QztJQUNwRixjQUFjLEVBQUUsa0JBQWtCO0NBQ25DLENBQUMsQ0FBQztBQUVILFFBQVEsQ0FBQyxV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QjtxQkFDRixDQUFDO29CQUVJLFFBQVEsR0FBRyxJQUFJLG1CQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQy9CLHFCQUFNLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxhQUFhLGVBQUEsRUFBRSxDQUFDLEVBQUE7O29CQUFqRCxHQUFHLEdBQUcsU0FBMkM7b0JBRXZELE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO29CQUVqRCxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7Ozs7U0FDZCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvYXBpL3ByZWZldGNoLnNwZWMuYnJvd3Nlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICdMaWNlbnNlJyk7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8gaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi8uLi8uLi9jb25maWcnO1xuaW1wb3J0ICogYXMgbm9jayBmcm9tICdub2NrJztcbmltcG9ydCB7IFByZWZldGNoLCBQcmVmZXRjaEV2ZW50cyB9IGZyb20gJy4vcHJlZmV0Y2gnO1xuaW1wb3J0IHsgU2Vzc2lvbiwgU2VjdXJpdHkgfSBmcm9tICcuLy4uL2NsaWVudCc7XG5pbXBvcnQgeyBGc1JlcXVlc3RFcnJvckNvZGUgfSBmcm9tICcuLi9yZXF1ZXN0JztcblxuY29uc3QgdGVzdEFwaUtleSA9ICdBSHYyMjIyMjIyMjIyNDQ0NDQ0dWV6JztcbmNvbnN0IHRlc3RTZWN1cml0eTogU2VjdXJpdHkgPSB7XG4gIHBvbGljeTogJ2V4YW1wbGVQb2xpY3knLFxuICBzaWduYXR1cmU6ICdleGFtcGxlU2lnbmF0dXJlJyxcbn07XG5cbmNvbnN0IHRlc3RVUkwgPSB7XG4gIGZpbGVBcGlVcmw6ICcnLFxuICB1cGxvYWRBcGlVcmw6ICdodHRwczovL3VwbG9hZHRlc3R1cmwtZnMuY29tJyxcbiAgY2xvdWRBcGlVcmw6ICcnLFxuICBjZG5Vcmw6ICcnLFxuICBwaWNrZXJVcmw6ICcnLFxuICBwcm9jZXNzVXJsOiAnJyxcbn07XG5cbmNvbnN0IHRlc3RTZXNzaW9uOiBTZXNzaW9uID0ge1xuICBhcGlrZXk6IHRlc3RBcGlLZXksXG4gIHVybHM6IHRlc3RVUkwsXG59O1xuXG5sZXQgc2NvcGUgPSBub2NrKHRlc3RVUkwudXBsb2FkQXBpVXJsKTtcblxuLy8gbW9jayBjb3JzIHJlc3BvbnNlcyBmb3IgYWxsIHJlcXVlc3QgZm9yIGJyb3dzZXIgdGVzdHNcbnNjb3BlLmRlZmF1bHRSZXBseUhlYWRlcnMoe1xuICAnYWNjZXNzLWNvbnRyb2wtYWxsb3ctb3JpZ2luJzogcmVxID0+IHJlcS5oZWFkZXJzWydvcmlnaW4nXSxcbiAgJ2FjY2Vzcy1jb250cm9sLWFsbG93LW1ldGhvZHMnOiByZXEgPT4gcmVxLmhlYWRlcnNbJ2FjY2Vzcy1jb250cm9sLXJlcXVlc3QtbWV0aG9kJ10sXG4gICdhY2Nlc3MtY29udHJvbC1hbGxvdy1oZWFkZXJzJzogcmVxID0+IHJlcS5oZWFkZXJzWydhY2Nlc3MtY29udHJvbC1yZXF1ZXN0LWhlYWRlcnMnXSxcbiAgJ2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbn0pO1xuXG5kZXNjcmliZSgnUHJlZmV0Y2gnLCAoKSA9PiB7XG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIHNjb3BlXG4gICAgLm9wdGlvbnMoLy4qLylcbiAgICAucmVwbHkoMjA0KTtcbiAgfSk7XG5cbiAgaXQoJ1Nob3VsZCBtYWtlIGNvcnJlY3QgcmVxdWVzdCB0byBwcmVmZXRjaCBhbmQgcmV0dXJuIG5ldyBjb25maWcnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc2Vzc2lvbkNvcHkgPSAgeyAuLi50ZXN0U2Vzc2lvbiB9O1xuXG4gICAgY29uc3Qgc2VydmVyUmVzcG9uc2UgPSB7XG4gICAgICBibG9ja2VkOiBmYWxzZSxcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIGN1c3RvbXNvdXJjZTogZmFsc2UsXG4gICAgICAgIGluYXBwX2Jyb3dzZXI6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICAgIHRyYW5zZm9ybXNfdWk6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHVwZGF0ZWRfY29uZmlnOiB7XG4gICAgICAgIGZyb21Tb3VyY2VzOiBbJ2dvb2dsZWRyaXZlJ10sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBzY29wZS5wb3N0KCcvcHJlZmV0Y2gnKS5vbmNlKCkucmVwbHkoMjAwLCBzZXJ2ZXJSZXNwb25zZSk7XG5cbiAgICBjb25zdCB0ZXN0ID0gKCkgPT4gMjtcblxuICAgIGNvbnN0IHByZWZldGNoID0gbmV3IFByZWZldGNoKHNlc3Npb25Db3B5KTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCBwcmVmZXRjaC5nZXRDb25maWcoe1xuICAgICAgcGlja2VyT3B0aW9uczoge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIG9uRmlsZVNlbGVjdGVkOiB0ZXN0LFxuICAgICAgICBmcm9tU291cmNlczogWydnb29nbGVkcml2ZScsICd0ZXN0J10sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KHJlcy5waWNrZXJPcHRpb25zLm9uRmlsZVNlbGVjdGVkKS50b0VxdWFsKHRlc3QpO1xuICAgIGV4cGVjdChyZXMucGlja2VyT3B0aW9ucy5mcm9tU291cmNlcykudG9FcXVhbChbJ2dvb2dsZWRyaXZlJ10pO1xuXG4gICAgc2NvcGUuZG9uZSgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHNldCBjb3JyZWN0IHBhcmFtcyB0byBzZXNzaW9ucyAocHJlZmV0Y2gpJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHNlc3Npb25Db3B5ID0gIHsgLi4udGVzdFNlc3Npb24gfTtcbiAgICBjb25zdCBzZXJ2ZXJSZXNwb25zZSA9IHtcbiAgICAgIGJsb2NrZWQ6IGZhbHNlLFxuICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgY3VzdG9tc291cmNlOiBmYWxzZSxcbiAgICAgICAgaW5hcHBfYnJvd3NlcjogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICB0cmFuc2Zvcm1zX3VpOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHVwZGF0ZWRfY29uZmlnOiB7XG4gICAgICAgIGZyb21Tb3VyY2VzOiBbJ2dvb2dsZWRyaXZlJ10sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBzY29wZS5wb3N0KCcvcHJlZmV0Y2gnKS5vbmNlKCkucmVwbHkoMjAwLCBzZXJ2ZXJSZXNwb25zZSk7XG5cbiAgICBjb25zdCBwcmVmZXRjaCA9IG5ldyBQcmVmZXRjaChzZXNzaW9uQ29weSk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgcHJlZmV0Y2guZ2V0Q29uZmlnKHtcbiAgICAgIHBpY2tlck9wdGlvbnM6IHtcbiAgICAgICAgZnJvbVNvdXJjZXM6IFsnZmFjZWJvb2snLCAndGVzdCddLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGV4cGVjdChzZXNzaW9uQ29weS5wcmVmZXRjaCkudG9FcXVhbChleHBlY3QuYW55KE9iamVjdCkpO1xuICAgIGV4cGVjdChzZXNzaW9uQ29weS5wcmVmZXRjaC5zZXR0aW5ncy5pbmFwcF9icm93c2VyKS50b0VxdWFsKHRydWUpO1xuICAgIGV4cGVjdChzZXNzaW9uQ29weS5wcmVmZXRjaC5wZXJtaXNzaW9ucy50cmFuc2Zvcm1zX3VpKS50b0VxdWFsKHRydWUpO1xuXG4gICAgc2NvcGUuZG9uZSgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGVycm9yIHdoZW4gcmVzcG9uc2UgY29kZSBpcyBvdGhlciB0aGFudCAyMDAnLCBhc3luYyAoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNlc3Npb25Db3B5ID0gIHsgLi4udGVzdFNlc3Npb24gfTtcbiAgICAgIGNvbnN0IHByZWZldGNoID0gbmV3IFByZWZldGNoKHNlc3Npb25Db3B5KTtcblxuICAgICAgc2NvcGUucG9zdCgnL3ByZWZldGNoJykub25jZSgpLnJlcGx5KDUwMCk7XG5cbiAgICAgIGF3YWl0IHByZWZldGNoLmdldENvbmZpZyh7fSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBleHBlY3QoZXJyLmNvZGUpLnRvRXF1YWwoRnNSZXF1ZXN0RXJyb3JDb2RlLlNFUlZFUik7XG4gICAgfVxuXG4gICAgc2NvcGUuZG9uZSgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGFkZCBzZWN1cml0eSB0byByZXF1ZXN0IHdoZW4gcHJvdmlkZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc2Vzc2lvbkNvcHkgPSAge1xuICAgICAgLi4udGVzdFNlc3Npb24sXG4gICAgICBzaWduYXR1cmU6IHRlc3RTZWN1cml0eS5zaWduYXR1cmUsXG4gICAgICBwb2xpY3k6IHRlc3RTZWN1cml0eS5wb2xpY3ksXG4gICAgfTtcblxuICAgIGNvbnN0IG1vY2tQcmVmID0gamVzdC5mbigpIC5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gKHt9KSk7XG5cbiAgICBzY29wZS5wb3N0KCcvcHJlZmV0Y2gnKS5vbmNlKCkucmVwbHkoMjAwLCAoXywgZGF0YSkgPT4gbW9ja1ByZWYoZGF0YSkpO1xuXG4gICAgY29uc3QgcHJlZmV0Y2ggPSBuZXcgUHJlZmV0Y2goc2Vzc2lvbkNvcHkpO1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHByZWZldGNoLmdldENvbmZpZyh7XG4gICAgICBwaWNrZXJPcHRpb25zOiB7fSxcbiAgICB9KTtcblxuICAgIGV4cGVjdChtb2NrUHJlZikudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgYXBpa2V5OiB0ZXN0QXBpS2V5LFxuICAgICAgc2V0dGluZ3M6IFsnaW5hcHBfYnJvd3NlciddLFxuICAgICAgc2VjdXJpdHk6IHtcbiAgICAgICAgc2lnbmF0dXJlOiB0ZXN0U2VjdXJpdHkuc2lnbmF0dXJlLFxuICAgICAgICBwb2xpY3k6IHRlc3RTZWN1cml0eS5wb2xpY3ksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgc2NvcGUuZG9uZSgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGFsd2F5cyBhZGQgaW5hcHAgYnJvd3NlciBzZXR0aW5nIHRvIHJlcXVlc3QnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbW9ja1ByZWYgPSBqZXN0LmZuKCkgLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiAoe30pKTtcbiAgICBzY29wZS5wb3N0KCcvcHJlZmV0Y2gnKS5vbmNlKCkucmVwbHkoMjAwLCAoXywgZGF0YSkgPT4gbW9ja1ByZWYoZGF0YSkpO1xuXG4gICAgY29uc3QgcHJlZmV0Y2ggPSBuZXcgUHJlZmV0Y2goeyAuLi50ZXN0U2Vzc2lvbiB9KTtcbiAgICBhd2FpdCBwcmVmZXRjaC5nZXRDb25maWcoe30pO1xuXG4gICAgZXhwZWN0KG1vY2tQcmVmKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7XG4gICAgICBhcGlrZXk6IHRlc3RBcGlLZXksXG4gICAgICBzZXR0aW5nczogWydpbmFwcF9icm93c2VyJ10sXG4gICAgfSk7XG5cbiAgICBzY29wZS5kb25lKCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYWx3YXlzIGFkZCBpbmFwcCBicm93c2VyIHNldHRpbmcgdG8gcmVxdWVzdCBldmVudCBpZiBzb21lIHNldHRpbmdzIGFyZSBwcm92aWRlZCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBtb2NrUHJlZiA9IGplc3QuZm4oKSAubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+ICh7fSkpO1xuICAgIHNjb3BlLnBvc3QoJy9wcmVmZXRjaCcpLm9uY2UoKS5yZXBseSgyMDAsIChfLCBkYXRhKSA9PiBtb2NrUHJlZihkYXRhKSk7XG5cbiAgICBjb25zdCBwcmVmZXRjaCA9IG5ldyBQcmVmZXRjaCh7IC4uLnRlc3RTZXNzaW9uIH0pO1xuICAgIGF3YWl0IHByZWZldGNoLmdldENvbmZpZyh7IHNldHRpbmdzOiBbJ2luYXBwX2Jyb3dzZXInXSB9KTtcblxuICAgIGV4cGVjdChtb2NrUHJlZikudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgYXBpa2V5OiB0ZXN0QXBpS2V5LFxuICAgICAgc2V0dGluZ3M6IFsnaW5hcHBfYnJvd3NlciddLFxuICAgIH0pO1xuXG4gICAgc2NvcGUuZG9uZSgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiBvbGQgY29uZmlnIHdoZW4gdXBkYXRlZF9jb25maWcgaXMgbWlzc2luZyBpbiByZXNwb25zZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBzZXNzaW9uQ29weSA9ICB7XG4gICAgICAuLi50ZXN0U2Vzc2lvbixcbiAgICAgIHNpZ25hdHVyZTogdGVzdFNlY3VyaXR5LnNpZ25hdHVyZSxcbiAgICAgIHBvbGljeTogdGVzdFNlY3VyaXR5LnBvbGljeSxcbiAgICB9O1xuXG4gICAgc2NvcGUucG9zdCgnL3ByZWZldGNoJykub25jZSgpLnJlcGx5KDIwMCwge1xuICAgICAgYmxvY2tlZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHBpY2tlck9wdGlvbnMgPSB7XG4gICAgICB1cGxvYWRJbkJhY2tncm91bmQ6IHRydWUsXG4gICAgICBvblVwbG9hZERvbmU6ICgpID0+IGNvbnNvbGUubG9nLFxuICAgICAgc3RvcmVUbzoge1xuICAgICAgICBsb2NhdGlvbjogJ2FzZCcsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBjb25zdCBwcmVmZXRjaCA9IG5ldyBQcmVmZXRjaChzZXNzaW9uQ29weSk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgcHJlZmV0Y2guZ2V0Q29uZmlnKHsgcGlja2VyT3B0aW9ucyB9KTtcblxuICAgIGV4cGVjdChyZXMucGlja2VyT3B0aW9ucykudG9FcXVhbChwaWNrZXJPcHRpb25zKTtcblxuICAgIHNjb3BlLmRvbmUoKTtcbiAgfSk7XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3ByZWZldGNoLnNwZWMuYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSCwyQ0FBMkM7QUFDM0Msc0RBQXdCO0FBQ3hCLHVDQUFzRDtBQUV0RCxzQ0FBZ0Q7QUFFaEQsSUFBTSxVQUFVLEdBQUcsd0JBQXdCLENBQUM7QUFDNUMsSUFBTSxZQUFZLEdBQWE7SUFDN0IsTUFBTSxFQUFFLGVBQWU7SUFDdkIsU0FBUyxFQUFFLGtCQUFrQjtDQUM5QixDQUFDO0FBRUYsSUFBTSxPQUFPLEdBQUc7SUFDZCxVQUFVLEVBQUUsRUFBRTtJQUNkLFlBQVksRUFBRSw4QkFBOEI7SUFDNUMsV0FBVyxFQUFFLEVBQUU7SUFDZixNQUFNLEVBQUUsRUFBRTtJQUNWLFNBQVMsRUFBRSxFQUFFO0lBQ2IsVUFBVSxFQUFFLEVBQUU7Q0FDZixDQUFDO0FBRUYsSUFBTSxXQUFXLEdBQVk7SUFDM0IsTUFBTSxFQUFFLFVBQVU7SUFDbEIsSUFBSSxFQUFFLE9BQU87Q0FDZCxDQUFDO0FBRUYsSUFBSSxLQUFLLEdBQUcsSUFBQSxjQUFJLEVBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBRXZDLHdEQUF3RDtBQUN4RCxLQUFLLENBQUMsbUJBQW1CLENBQUM7SUFDeEIsNkJBQTZCLEVBQUUsVUFBVSxHQUFHLFlBQUksT0FBTyxNQUFBLEdBQUcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLDBDQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3Riw4QkFBOEIsRUFBRSxVQUFVLEdBQUcsWUFBSSxPQUFPLE1BQUEsR0FBRyxDQUFDLFNBQVMsQ0FBQywrQkFBK0IsQ0FBQywwQ0FBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDckgsOEJBQThCLEVBQUUsVUFBVSxHQUFHLFlBQUksT0FBTyxNQUFBLEdBQUcsQ0FBQyxTQUFTLENBQUMsZ0NBQWdDLENBQUMsMENBQUUsUUFB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QUFNLE9BQUEsT0FBTyxDQUFDLEdBQUcsRUFBWCxDQUFXO3dCQUMvQixPQUFPLEVBQUU7NEJBQ1AsUUFBUSxFQUFFLEtBQUs7eUJBQ2hCO3FCQUNGLENBQUM7b0JBRUksUUFBUSxHQUFHLElBQUksbUJBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDL0IscUJBQU0sUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLGFBQWEsZUFBQSxFQUFFLENBQUMsRUFBQTs7b0JBQWpELEdBQUcsR0FBRyxTQUEyQztvQkFFdkQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBRWpELEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQzs7OztTQUNkLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9hcGkvcHJlZmV0Y2guc3BlYy5icm93c2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgJ0xpY2Vuc2UnKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBpbXBvcnQgeyBjb25maWcgfSBmcm9tICcuLy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgbm9jayBmcm9tICdub2NrJztcbmltcG9ydCB7IFByZWZldGNoLCBQcmVmZXRjaEV2ZW50cyB9IGZyb20gJy4vcHJlZmV0Y2gnO1xuaW1wb3J0IHsgU2Vzc2lvbiwgU2VjdXJpdHkgfSBmcm9tICcuLy4uL2NsaWVudCc7XG5pbXBvcnQgeyBGc1JlcXVlc3RFcnJvckNvZGUgfSBmcm9tICcuLi9yZXF1ZXN0JztcblxuY29uc3QgdGVzdEFwaUtleSA9ICdBSHYyMjIyMjIyMjIyNDQ0NDQ0dWV6JztcbmNvbnN0IHRlc3RTZWN1cml0eTogU2VjdXJpdHkgPSB7XG4gIHBvbGljeTogJ2V4YW1wbGVQb2xpY3knLFxuICBzaWduYXR1cmU6ICdleGFtcGxlU2lnbmF0dXJlJyxcbn07XG5cbmNvbnN0IHRlc3RVUkwgPSB7XG4gIGZpbGVBcGlVcmw6ICcnLFxuICB1cGxvYWRBcGlVcmw6ICdodHRwczovL3VwbG9hZHRlc3R1cmwtZnMuY29tJyxcbiAgY2xvdWRBcGlVcmw6ICcnLFxuICBjZG5Vcmw6ICcnLFxuICBwaWNrZXJVcmw6ICcnLFxuICBwcm9jZXNzVXJsOiAnJyxcbn07XG5cbmNvbnN0IHRlc3RTZXNzaW9uOiBTZXNzaW9uID0ge1xuICBhcGlrZXk6IHRlc3RBcGlLZXksXG4gIHVybHM6IHRlc3RVUkwsXG59O1xuXG5sZXQgc2NvcGUgPSBub2NrKHRlc3RVUkwudXBsb2FkQXBpVXJsKTtcblxuLy8gbW9jayBjb3JzIHJlc3BvbnNlcyBmb3IgYWxsIHJlcXVlc3QgZm9yIGJyb3dzZXIgdGVzdHNcbnNjb3BlLmRlZmF1bHRSZXBseUhlYWRlcnMoe1xuICAnYWNjZXNzLWNvbnRyb2wtYWxsb3ctb3JpZ2luJzogZnVuY3Rpb24gKHJlcSkgeyByZXR1cm4gcmVxLmdldEhlYWRlcignb3JpZ2luJyk/LnRvU3RyaW5nKCk7IH0sXG4gICdhY2Nlc3MtY29udHJvbC1hbGxvdy1tZXRob2RzJzogZnVuY3Rpb24gKHJlcSkgeyByZXR1cm4gcmVxLmdldEhlYWRlcignYWNjZXNzLWNvbnRyb2wtcmVxdWVzdC1tZXRob2QnKT8udG9TdHJpbmcoKTsgfSxcbiAgJ2FjY2Vzcy1jb250cm9sLWFsbG93LWhlYWRlcnMnOiBmdW5jdGlvbiAocmVxKSB7IHJldHVybiByZXEuZ2V0SGVhZGVyKCdhY2Nlc3MtY29udHJvbC1yZXF1ZXN0LWhlYWRlcnMnKT8udG9TdHJpbmcoKTsgfSxcbiAgJ2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbn0pO1xuXG5kZXNjcmliZSgnUHJlZmV0Y2gnLCAoKSA9PiB7XG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIHNjb3BlXG4gICAgLm9wdGlvbnMoLy4qLylcbiAgICAucmVwbHkoMjA0KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBtYWtlIGNvcnJlY3QgcmVxdWVzdCB0byBwcmVmZXRjaCBhbmQgcmV0dXJuIG5ldyBjb25maWcnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc2Vzc2lvbkNvcHkgPSAgeyAuLi50ZXN0U2Vzc2lvbiB9O1xuXG4gICAgY29uc3Qgc2VydmVyUmVzcG9uc2UgPSB7XG4gICAgICBibG9ja2VkOiBmYWxzZSxcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIGN1c3RvbXNvdXJjZTogZmFsc2UsXG4gICAgICAgIGluYXBwX2Jyb3dzZXI6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICAgIHRyYW5zZm9ybXNfdWk6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHVwZGF0ZWRfY29uZmlnOiB7XG4gICAgICAgIGZyb21Tb3VyY2VzOiBbJ2dvb2dsZWRyaXZlJ10sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBzY29wZS5wb3N0KCcvcHJlZmV0Y2gnKS5vbmNlKCkucmVwbHkoMjAwLCBzZXJ2ZXJSZXNwb25zZSk7XG5cbiAgICBjb25zdCB0ZXN0ID0gKCkgPT4gMjtcblxuICAgIGNvbnN0IHByZWZldGNoID0gbmV3IFByZWZldGNoKHNlc3Npb25Db3B5KTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCBwcmVmZXRjaC5nZXRDb25maWcoe1xuICAgICAgcGlja2VyT3B0aW9uczoge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIG9uRmlsZVNlbGVjdGVkOiB0ZXN0LFxuICAgICAgICBmcm9tU291cmNlczogWydnb29nbGVkcml2ZScsICd0ZXN0J10sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KHJlcy5waWNrZXJPcHRpb25zLm9uRmlsZVNlbGVjdGVkKS50b0VxdWFsKHRlc3QpO1xuICAgIGV4cGVjdChyZXMucGlja2VyT3B0aW9ucy5mcm9tU291cmNlcykudG9FcXVhbChbJ2dvb2dsZWRyaXZlJ10pO1xuXG4gICAgc2NvcGUuZG9uZSgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHNldCBjb3JyZWN0IHBhcmFtcyB0byBzZXNzaW9ucyAocHJlZmV0Y2gpJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHNlc3Npb25Db3B5ID0gIHsgLi4udGVzdFNlc3Npb24gfTtcbiAgICBjb25zdCBzZXJ2ZXJSZXNwb25zZSA9IHtcbiAgICAgIGJsb2NrZWQ6IGZhbHNlLFxuICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgY3VzdG9tc291cmNlOiBmYWxzZSxcbiAgICAgICAgaW5hcHBfYnJvd3NlcjogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICB0cmFuc2Zvcm1zX3VpOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHVwZGF0ZWRfY29uZmlnOiB7XG4gICAgICAgIGZyb21Tb3VyY2VzOiBbJ2dvb2dsZWRyaXZlJ10sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBzY29wZS5wb3N0KCcvcHJlZmV0Y2gnKS5vbmNlKCkucmVwbHkoMjAwLCBzZXJ2ZXJSZXNwb25zZSk7XG5cbiAgICBjb25zdCBwcmVmZXRjaCA9IG5ldyBQcmVmZXRjaChzZXNzaW9uQ29weSk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgcHJlZmV0Y2guZ2V0Q29uZmlnKHtcbiAgICAgIHBpY2tlck9wdGlvbnM6IHtcbiAgICAgICAgZnJvbVNvdXJjZXM6IFsnZmFjZWJvb2snLCAndGVzdCddLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGV4cGVjdChzZXNzaW9uQ29weS5wcmVmZXRjaCkudG9FcXVhbChleHBlY3QuYW55KE9iamVjdCkpO1xuICAgIGV4cGVjdChzZXNzaW9uQ29weS5wcmVmZXRjaC5zZXR0aW5ncy5pbmFwcF9icm93c2VyKS50b0VxdWFsKHRydWUpO1xuICAgIGV4cGVjdChzZXNzaW9uQ29weS5wcmVmZXRjaC5wZXJtaXNzaW9ucy50cmFuc2Zvcm1zX3VpKS50b0VxdWFsKHRydWUpO1xuXG4gICAgc2NvcGUuZG9uZSgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGVycm9yIHdoZW4gcmVzcG9uc2UgY29kZSBpcyBvdGhlciB0aGFudCAyMDAnLCBhc3luYyAoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNlc3Npb25Db3B5ID0gIHsgLi4udGVzdFNlc3Npb24gfTtcbiAgICAgIGNvbnN0IHByZWZldGNoID0gbmV3IFByZWZldGNoKHNlc3Npb25Db3B5KTtcblxuICAgICAgc2NvcGUucG9zdCgnL3ByZWZldGNoJykub25jZSgpLnJlcGx5KDUwMCk7XG5cbiAgICAgIGF3YWl0IHByZWZldGNoLmdldENvbmZpZyh7fSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBleHBlY3QoZXJyLmNvZGUpLnRvRXF1YWwoRnNSZXF1ZXN0RXJyb3JDb2RlLlNFUlZFUik7XG4gICAgfVxuXG4gICAgc2NvcGUuZG9uZSgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGFkZCBzZWN1cml0eSB0byByZXF1ZXN0IHdoZW4gcHJvdmlkZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc2Vzc2lvbkNvcHkgPSAge1xuICAgICAgLi4udGVzdFNlc3Npb24sXG4gICAgICBzaWduYXR1cmU6IHRlc3RTZWN1cml0eS5zaWduYXR1cmUsXG4gICAgICBwb2xpY3k6IHRlc3RTZWN1cml0eS5wb2xpY3ksXG4gICAgfTtcblxuICAgIGNvbnN0IG1vY2tQcmVmID0gamVzdC5mbigpIC5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gKHt9KSk7XG5cbiAgICBzY29wZS5wb3N0KCcvcHJlZmV0Y2gnKS5vbmNlKCkucmVwbHkoMjAwLCAoXywgZGF0YSkgPT4gbW9ja1ByZWYoZGF0YSkpO1xuXG4gICAgY29uc3QgcHJlZmV0Y2ggPSBuZXcgUHJlZmV0Y2goc2Vzc2lvbkNvcHkpO1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHByZWZldGNoLmdldENvbmZpZyh7XG4gICAgICBwaWNrZXJPcHRpb25zOiB7fSxcbiAgICB9KTtcblxuICAgIGV4cGVjdChtb2NrUHJlZikudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgYXBpa2V5OiB0ZXN0QXBpS2V5LFxuICAgICAgc2V0dGluZ3M6IFsnaW5hcHBfYnJvd3NlciddLFxuICAgICAgc2VjdXJpdHk6IHtcbiAgICAgICAgc2lnbmF0dXJlOiB0ZXN0U2VjdXJpdHkuc2lnbmF0dXJlLFxuICAgICAgICBwb2xpY3k6IHRlc3RTZWN1cml0eS5wb2xpY3ksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgc2NvcGUuZG9uZSgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGFsd2F5cyBhZGQgaW5hcHAgYnJvd3NlciBzZXR0aW5nIHRvIHJlcXVlc3QnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbW9ja1ByZWYgPSBqZXN0LmZuKCkgLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiAoe30pKTtcbiAgICBzY29wZS5wb3N0KCcvcHJlZmV0Y2gnKS5vbmNlKCkucmVwbHkoMjAwLCAoXywgZGF0YSkgPT4gbW9ja1ByZWYoZGF0YSkpO1xuXG4gICAgY29uc3QgcHJlZmV0Y2ggPSBuZXcgUHJlZmV0Y2goeyAuLi50ZXN0U2Vzc2lvbiB9KTtcbiAgICBhd2FpdCBwcmVmZXRjaC5nZXRDb25maWcoe30pO1xuXG4gICAgZXhwZWN0KG1vY2tQcmVmKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7XG4gICAgICBhcGlrZXk6IHRlc3RBcGlLZXksXG4gICAgICBzZXR0aW5nczogWydpbmFwcF9icm93c2VyJ10sXG4gICAgfSk7XG5cbiAgICBzY29wZS5kb25lKCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYWx3YXlzIGFkZCBpbmFwcCBicm93c2VyIHNldHRpbmcgdG8gcmVxdWVzdCBldmVudCBpZiBzb21lIHNldHRpbmdzIGFyZSBwcm92aWRlZCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBtb2NrUHJlZiA9IGplc3QuZm4oKSAubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+ICh7fSkpO1xuICAgIHNjb3BlLnBvc3QoJy9wcmVmZXRjaCcpLm9uY2UoKS5yZXBseSgyMDAsIChfLCBkYXRhKSA9PiBtb2NrUHJlZihkYXRhKSk7XG5cbiAgICBjb25zdCBwcmVmZXRjaCA9IG5ldyBQcmVmZXRjaCh7IC4uLnRlc3RTZXNzaW9uIH0pO1xuICAgIGF3YWl0IHByZWZldGNoLmdldENvbmZpZyh7IHNldHRpbmdzOiBbJ2luYXBwX2Jyb3dzZXInXSB9KTtcblxuICAgIGV4cGVjdChtb2NrUHJlZikudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgYXBpa2V5OiB0ZXN0QXBpS2V5LFxuICAgICAgc2V0dGluZ3M6IFsnaW5hcHBfYnJvd3NlciddLFxuICAgIH0pO1xuXG4gICAgc2NvcGUuZG9uZSgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiBvbGQgY29uZmlnIHdoZW4gdXBkYXRlZF9jb25maWcgaXMgbWlzc2luZyBpbiByZXNwb25zZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBzZXNzaW9uQ29weSA9ICB7XG4gICAgICAuLi50ZXN0U2Vzc2lvbixcbiAgICAgIHNpZ25hdHVyZTogdGVzdFNlY3VyaXR5LnNpZ25hdHVyZSxcbiAgICAgIHBvbGljeTogdGVzdFNlY3VyaXR5LnBvbGljeSxcbiAgICB9O1xuXG4gICAgc2NvcGUucG9zdCgnL3ByZWZldGNoJykub25jZSgpLnJlcGx5KDIwMCwge1xuICAgICAgYmxvY2tlZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHBpY2tlck9wdGlvbnMgPSB7XG4gICAgICB1cGxvYWRJbkJhY2tncm91bmQ6IHRydWUsXG4gICAgICBvblVwbG9hZERvbmU6ICgpID0+IGNvbnNvbGUubG9nLFxuICAgICAgc3RvcmVUbzoge1xuICAgICAgICBsb2NhdGlvbjogJ2FzZCcsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBjb25zdCBwcmVmZXRjaCA9IG5ldyBQcmVmZXRjaChzZXNzaW9uQ29weSk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgcHJlZmV0Y2guZ2V0Q29uZmlnKHsgcGlja2VyT3B0aW9ucyB9KTtcblxuICAgIGV4cGVjdChyZXMucGlja2VyT3B0aW9ucykudG9FcXVhbChwaWNrZXJPcHRpb25zKTtcblxuICAgIHNjb3BlLmRvbmUoKTtcbiAgfSk7XG59KTtcbiJdfQ==

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.preview = exports.getUrl = void 0;
var tslib_1 = require("tslib");

@@ -33,3 +34,3 @@ var utils_1 = require("../utils");

*/
exports.getUrl = function (session, handle, opts, security) {
var getUrl = function (session, handle, opts, security) {
var options = tslib_1.__assign({}, opts);

@@ -40,7 +41,7 @@ var policy = security && security.policy || session.policy;

var baseUrl = [session.urls.cdnUrl];
var css = options.css && encodeURIComponent("\"" + options.css + "\"");
var previewTask = css ? "preview=css:" + css : 'preview';
var css = options.css && encodeURIComponent("\"".concat(options.css, "\""));
var previewTask = css ? "preview=css:".concat(css) : 'preview';
// @todo move to utils?
if (handle.indexOf('src:') !== -1) {
baseUrl.push(session.apikey + "/" + previewTask);
baseUrl.push("".concat(session.apikey, "/").concat(previewTask));
}

@@ -51,3 +52,3 @@ else {

if (hasSecurity) {
baseUrl.push("security=policy:" + policy + ",signature:" + signature);
baseUrl.push("security=policy:".concat(policy, ",signature:").concat(signature));
}

@@ -57,2 +58,3 @@ baseUrl.push(handle);

};
exports.getUrl = getUrl;
/**

@@ -66,12 +68,12 @@ * Appends image preview into page

*/
exports.preview = function (session, handle, opts) {
var preview = function (session, handle, opts) {
if (!handle || typeof handle !== 'string') {
throw new Error('A valid Filestack handle or storage alias is required for preview');
}
var validateRes = schema_1.getValidator(schema_1.PreviewParamsSchema)(opts);
var validateRes = (0, schema_1.getValidator)(schema_1.PreviewParamsSchema)(opts);
if (validateRes.errors.length) {
throw new filestack_error_1.FilestackError("Invalid preview params", validateRes.errors, filestack_error_1.FilestackErrorType.VALIDATION);
}
var options = utils_1.removeEmpty(opts || {});
var url = exports.getUrl(session, handle, options);
var options = (0, utils_1.removeEmpty)(opts || {});
var url = (0, exports.getUrl)(session, handle, options);
if (options && options.id) {

@@ -85,3 +87,3 @@ var id = options.id;

if (!domElement) {
throw new Error("DOM Element with id \"" + id + "\" not found.");
throw new Error("DOM Element with id \"".concat(id, "\" not found."));
}

@@ -92,3 +94,4 @@ return domElement.appendChild(iframe);

};
exports.preview = preview;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3ByZXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7O0FBR0gsa0NBQXVDO0FBQ3ZDLHlDQUFtRTtBQUNuRSwyREFBNkU7QUFjN0U7Ozs7Ozs7O0dBUUc7QUFDVSxRQUFBLE1BQU0sR0FBRyxVQUNwQixPQUFnQixFQUNoQixNQUFjLEVBQ2QsSUFBVSxFQUNWLFFBQW1CO0lBRW5CLElBQU0sT0FBTyx3QkFBUSxJQUFJLENBQUUsQ0FBQztJQUM1QixJQUFNLE1BQU0sR0FBRyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQzdELElBQU0sU0FBUyxHQUFHLFFBQVEsSUFBSSxRQUFRLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDdEUsSUFBTSxXQUFXLEdBQUcsU0FBUyxJQUFJLE1BQU0sQ0FBQztJQUN4QyxJQUFNLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsSUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxPQUFJLE9BQU8sQ0FBQyxHQUFHLE9BQUcsQ0FBQyxDQUFDO0lBQ2xFLElBQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsaUJBQWUsR0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFFM0QsdUJBQXVCO0lBQ3ZCLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFJLE9BQU8sQ0FBQyxNQUFNLFNBQUksV0FBYSxDQUFDLENBQUM7S0FDbEQ7U0FBTTtRQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDM0I7SUFDRCxJQUFJLFdBQVcsRUFBRTtRQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQW1CLE1BQU0sbUJBQWMsU0FBVyxDQUFDLENBQUM7S0FDbEU7SUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ1UsUUFBQSxPQUFPLEdBQUcsVUFBQyxPQUFnQixFQUFFLE1BQWUsRUFBRSxJQUFxQjtJQUM5RSxJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtRQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLG1FQUFtRSxDQUFDLENBQUM7S0FDdEY7SUFFRCxJQUFNLFdBQVcsR0FBRyxxQkFBWSxDQUFDLDRCQUFtQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFNUQsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUM3QixNQUFNLElBQUksZ0NBQWMsQ0FBQyx3QkFBd0IsRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFLG9DQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ3ZHO0lBRUQsSUFBTSxPQUFPLEdBQUcsbUJBQVcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7SUFDeEMsSUFBTSxHQUFHLEdBQUcsY0FBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFN0MsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRTtRQUN6QixJQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3RCLElBQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsSUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUvQyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNqQixNQUFNLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUN0QixNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUV2QixJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBd0IsRUFBRSxrQkFBYyxDQUFDLENBQUM7U0FDM0Q7UUFDRCxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDdkM7SUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvYXBpL3ByZXZpZXcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBTZWN1cml0eSwgU2Vzc2lvbiB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgeyByZW1vdmVFbXB0eSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGdldFZhbGlkYXRvciwgUHJldmlld1BhcmFtc1NjaGVtYSB9IGZyb20gJy4vLi4vLi4vc2NoZW1hJztcbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yLCBGaWxlc3RhY2tFcnJvclR5cGUgfSBmcm9tICcuLy4uLy4uL2ZpbGVzdGFja19lcnJvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJldmlld09wdGlvbnMge1xuICAvKipcbiAgICogSWQgZm9yIERPTSBlbGVtZW50IHRvIGVtYmVkIHByZXZpZXcgaW50by5cbiAgICogT21pdCB0aGlzIHRvIG9wZW4gdGhlIHByZXZpZXcgaW4gYSBuZXcgdGFiXG4gICAqL1xuICBpZDogc3RyaW5nO1xuICAvKipcbiAgICogVVJMIHRvIGN1c3RvbSBDU1NcbiAgICovXG4gIGNzcz86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGZpbGUgcHJldmlldyB1cmxcbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHNlc3Npb25cbiAqIEBwYXJhbSBoYW5kbGVcbiAqIEBwYXJhbSBvcHRzXG4gKiBAcGFyYW0gc2VjdXJpdHlcbiAqL1xuZXhwb3J0IGNvbnN0IGdldFVybCA9IChcbiAgc2Vzc2lvbjogU2Vzc2lvbixcbiAgaGFuZGxlOiBzdHJpbmcsXG4gIG9wdHM/OiBhbnksXG4gIHNlY3VyaXR5PzogU2VjdXJpdHlcbikgPT4ge1xuICBjb25zdCBvcHRpb25zID0geyAuLi5vcHRzIH07XG4gIGNvbnN0IHBvbGljeSA9IHNlY3VyaXR5ICYmIHNlY3VyaXR5LnBvbGljeSB8fCBzZXNzaW9uLnBvbGljeTtcbiAgY29uc3Qgc2lnbmF0dXJlID0gc2VjdXJpdHkgJiYgc2VjdXJpdHkuc2lnbmF0dXJlIHx8IHNlc3Npb24uc2lnbmF0dXJlO1xuICBjb25zdCBoYXNTZWN1cml0eSA9IHNpZ25hdHVyZSAmJiBwb2xpY3k7XG4gIGNvbnN0IGJhc2VVcmwgPSBbc2Vzc2lvbi51cmxzLmNkblVybF07XG4gIGNvbnN0IGNzcyA9IG9wdGlvbnMuY3NzICYmIGVuY29kZVVSSUNvbXBvbmVudChgXCIke29wdGlvbnMuY3NzfVwiYCk7XG4gIGNvbnN0IHByZXZpZXdUYXNrID0gY3NzID8gYHByZXZpZXc9Y3NzOiR7Y3NzfWAgOiAncHJldmlldyc7XG5cbiAgLy8gQHRvZG8gbW92ZSB0byB1dGlscz9cbiAgaWYgKGhhbmRsZS5pbmRleE9mKCdzcmM6JykgIT09IC0xKSB7XG4gICAgYmFzZVVybC5wdXNoKGAke3Nlc3Npb24uYXBpa2V5fS8ke3ByZXZpZXdUYXNrfWApO1xuICB9IGVsc2Uge1xuICAgIGJhc2VVcmwucHVzaChwcmV2aWV3VGFzayk7XG4gIH1cbiAgaWYgKGhhc1NlY3VyaXR5KSB7XG4gICAgYmFzZVVybC5wdXNoKGBzZWN1cml0eT1wb2xpY3k6JHtwb2xpY3l9LHNpZ25hdHVyZToke3NpZ25hdHVyZX1gKTtcbiAgfVxuXG4gIGJhc2VVcmwucHVzaChoYW5kbGUpO1xuICByZXR1cm4gYmFzZVVybC5qb2luKCcvJyk7XG59O1xuXG4vKipcbiAqIEFwcGVuZHMgaW1hZ2UgcHJldmlldyBpbnRvIHBhZ2VcbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHNlc3Npb25cbiAqIEBwYXJhbSBoYW5kbGVcbiAqIEBwYXJhbSBvcHRzXG4gKi9cbmV4cG9ydCBjb25zdCBwcmV2aWV3ID0gKHNlc3Npb246IFNlc3Npb24sIGhhbmRsZT86IHN0cmluZywgb3B0cz86IFByZXZpZXdPcHRpb25zKSA9PiB7XG4gIGlmICghaGFuZGxlIHx8IHR5cGVvZiBoYW5kbGUgIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdBIHZhbGlkIEZpbGVzdGFjayBoYW5kbGUgb3Igc3RvcmFnZSBhbGlhcyBpcyByZXF1aXJlZCBmb3IgcHJldmlldycpO1xuICB9XG5cbiAgY29uc3QgdmFsaWRhdGVSZXMgPSBnZXRWYWxpZGF0b3IoUHJldmlld1BhcmFtc1NjaGVtYSkob3B0cyk7XG5cbiAgaWYgKHZhbGlkYXRlUmVzLmVycm9ycy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoYEludmFsaWQgcHJldmlldyBwYXJhbXNgLCB2YWxpZGF0ZVJlcy5lcnJvcnMsIEZpbGVzdGFja0Vycm9yVHlwZS5WQUxJREFUSU9OKTtcbiAgfVxuXG4gIGNvbnN0IG9wdGlvbnMgPSByZW1vdmVFbXB0eShvcHRzIHx8IHt9KTtcbiAgY29uc3QgdXJsID0gZ2V0VXJsKHNlc3Npb24sIGhhbmRsZSwgb3B0aW9ucyk7XG5cbiAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5pZCkge1xuICAgIGNvbnN0IGlkID0gb3B0aW9ucy5pZDtcbiAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTtcbiAgICBjb25zdCBkb21FbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xuXG4gICAgaWZyYW1lLnNyYyA9IHVybDtcbiAgICBpZnJhbWUud2lkdGggPSAnMTAwJSc7XG4gICAgaWZyYW1lLmhlaWdodCA9ICcxMDAlJztcblxuICAgIGlmICghZG9tRWxlbWVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBET00gRWxlbWVudCB3aXRoIGlkIFwiJHtpZH1cIiBub3QgZm91bmQuYCk7XG4gICAgfVxuICAgIHJldHVybiBkb21FbGVtZW50LmFwcGVuZENoaWxkKGlmcmFtZSk7XG4gIH1cbiAgcmV0dXJuIHdpbmRvdy5vcGVuKHVybCwgaGFuZGxlKTtcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3ByZXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7OztBQUdILGtDQUF1QztBQUN2Qyx5Q0FBbUU7QUFDbkUsMkRBQTZFO0FBYzdFOzs7Ozs7OztHQVFHO0FBQ0ksSUFBTSxNQUFNLEdBQUcsVUFDcEIsT0FBZ0IsRUFDaEIsTUFBYyxFQUNkLElBQVUsRUFDVixRQUFtQjtJQUVuQixJQUFNLE9BQU8sd0JBQVEsSUFBSSxDQUFFLENBQUM7SUFDNUIsSUFBTSxNQUFNLEdBQUcsUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUM3RCxJQUFNLFNBQVMsR0FBRyxRQUFRLElBQUksUUFBUSxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ3RFLElBQU0sV0FBVyxHQUFHLFNBQVMsSUFBSSxNQUFNLENBQUM7SUFDeEMsSUFBTSxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLElBQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLElBQUksa0JBQWtCLENBQUMsWUFBSSxPQUFPLENBQUMsR0FBRyxPQUFHLENBQUMsQ0FBQztJQUNsRSxJQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLHNCQUFlLEdBQUcsQ0FBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFFM0QsdUJBQXVCO0lBQ3ZCLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQUcsT0FBTyxDQUFDLE1BQU0sY0FBSSxXQUFXLENBQUUsQ0FBQyxDQUFDO0tBQ2xEO1NBQU07UUFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQzNCO0lBQ0QsSUFBSSxXQUFXLEVBQUU7UUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLDBCQUFtQixNQUFNLHdCQUFjLFNBQVMsQ0FBRSxDQUFDLENBQUM7S0FDbEU7SUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUM7QUExQlcsUUFBQSxNQUFNLFVBMEJqQjtBQUVGOzs7Ozs7O0dBT0c7QUFDSSxJQUFNLE9BQU8sR0FBRyxVQUFDLE9BQWdCLEVBQUUsTUFBZSxFQUFFLElBQXFCO0lBQzlFLElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1FBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMsbUVBQW1FLENBQUMsQ0FBQztLQUN0RjtJQUVELElBQU0sV0FBVyxHQUFHLElBQUEscUJBQVksRUFBQyw0QkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTVELElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDN0IsTUFBTSxJQUFJLGdDQUFjLENBQUMsd0JBQXdCLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRSxvQ0FBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUN2RztJQUVELElBQU0sT0FBTyxHQUFHLElBQUEsbUJBQVcsRUFBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7SUFDeEMsSUFBTSxHQUFHLEdBQUcsSUFBQSxjQUFNLEVBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUU3QyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsRUFBRSxFQUFFO1FBQ3pCLElBQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDdEIsSUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxJQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRS9DLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRXZCLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUF3QixFQUFFLGtCQUFjLENBQUMsQ0FBQztTQUMzRDtRQUNELE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN2QztJQUNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUFDO0FBN0JXLFFBQUEsT0FBTyxXQTZCbEIiLCJmaWxlIjoibGliL2FwaS9wcmV2aWV3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgU2VjdXJpdHksIFNlc3Npb24gfSBmcm9tICcuLi9jbGllbnQnO1xuaW1wb3J0IHsgcmVtb3ZlRW1wdHkgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBnZXRWYWxpZGF0b3IsIFByZXZpZXdQYXJhbXNTY2hlbWEgfSBmcm9tICcuLy4uLy4uL3NjaGVtYSc7XG5pbXBvcnQgeyBGaWxlc3RhY2tFcnJvciwgRmlsZXN0YWNrRXJyb3JUeXBlIH0gZnJvbSAnLi8uLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByZXZpZXdPcHRpb25zIHtcbiAgLyoqXG4gICAqIElkIGZvciBET00gZWxlbWVudCB0byBlbWJlZCBwcmV2aWV3IGludG8uXG4gICAqIE9taXQgdGhpcyB0byBvcGVuIHRoZSBwcmV2aWV3IGluIGEgbmV3IHRhYlxuICAgKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFVSTCB0byBjdXN0b20gQ1NTXG4gICAqL1xuICBjc3M/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmV0dXJucyBmaWxlIHByZXZpZXcgdXJsXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBzZXNzaW9uXG4gKiBAcGFyYW0gaGFuZGxlXG4gKiBAcGFyYW0gb3B0c1xuICogQHBhcmFtIHNlY3VyaXR5XG4gKi9cbmV4cG9ydCBjb25zdCBnZXRVcmwgPSAoXG4gIHNlc3Npb246IFNlc3Npb24sXG4gIGhhbmRsZTogc3RyaW5nLFxuICBvcHRzPzogYW55LFxuICBzZWN1cml0eT86IFNlY3VyaXR5XG4pID0+IHtcbiAgY29uc3Qgb3B0aW9ucyA9IHsgLi4ub3B0cyB9O1xuICBjb25zdCBwb2xpY3kgPSBzZWN1cml0eSAmJiBzZWN1cml0eS5wb2xpY3kgfHwgc2Vzc2lvbi5wb2xpY3k7XG4gIGNvbnN0IHNpZ25hdHVyZSA9IHNlY3VyaXR5ICYmIHNlY3VyaXR5LnNpZ25hdHVyZSB8fCBzZXNzaW9uLnNpZ25hdHVyZTtcbiAgY29uc3QgaGFzU2VjdXJpdHkgPSBzaWduYXR1cmUgJiYgcG9saWN5O1xuICBjb25zdCBiYXNlVXJsID0gW3Nlc3Npb24udXJscy5jZG5VcmxdO1xuICBjb25zdCBjc3MgPSBvcHRpb25zLmNzcyAmJiBlbmNvZGVVUklDb21wb25lbnQoYFwiJHtvcHRpb25zLmNzc31cImApO1xuICBjb25zdCBwcmV2aWV3VGFzayA9IGNzcyA/IGBwcmV2aWV3PWNzczoke2Nzc31gIDogJ3ByZXZpZXcnO1xuXG4gIC8vIEB0b2RvIG1vdmUgdG8gdXRpbHM/XG4gIGlmIChoYW5kbGUuaW5kZXhPZignc3JjOicpICE9PSAtMSkge1xuICAgIGJhc2VVcmwucHVzaChgJHtzZXNzaW9uLmFwaWtleX0vJHtwcmV2aWV3VGFza31gKTtcbiAgfSBlbHNlIHtcbiAgICBiYXNlVXJsLnB1c2gocHJldmlld1Rhc2spO1xuICB9XG4gIGlmIChoYXNTZWN1cml0eSkge1xuICAgIGJhc2VVcmwucHVzaChgc2VjdXJpdHk9cG9saWN5OiR7cG9saWN5fSxzaWduYXR1cmU6JHtzaWduYXR1cmV9YCk7XG4gIH1cblxuICBiYXNlVXJsLnB1c2goaGFuZGxlKTtcbiAgcmV0dXJuIGJhc2VVcmwuam9pbignLycpO1xufTtcblxuLyoqXG4gKiBBcHBlbmRzIGltYWdlIHByZXZpZXcgaW50byBwYWdlXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBzZXNzaW9uXG4gKiBAcGFyYW0gaGFuZGxlXG4gKiBAcGFyYW0gb3B0c1xuICovXG5leHBvcnQgY29uc3QgcHJldmlldyA9IChzZXNzaW9uOiBTZXNzaW9uLCBoYW5kbGU/OiBzdHJpbmcsIG9wdHM/OiBQcmV2aWV3T3B0aW9ucykgPT4ge1xuICBpZiAoIWhhbmRsZSB8fCB0eXBlb2YgaGFuZGxlICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcignQSB2YWxpZCBGaWxlc3RhY2sgaGFuZGxlIG9yIHN0b3JhZ2UgYWxpYXMgaXMgcmVxdWlyZWQgZm9yIHByZXZpZXcnKTtcbiAgfVxuXG4gIGNvbnN0IHZhbGlkYXRlUmVzID0gZ2V0VmFsaWRhdG9yKFByZXZpZXdQYXJhbXNTY2hlbWEpKG9wdHMpO1xuXG4gIGlmICh2YWxpZGF0ZVJlcy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKGBJbnZhbGlkIHByZXZpZXcgcGFyYW1zYCwgdmFsaWRhdGVSZXMuZXJyb3JzLCBGaWxlc3RhY2tFcnJvclR5cGUuVkFMSURBVElPTik7XG4gIH1cblxuICBjb25zdCBvcHRpb25zID0gcmVtb3ZlRW1wdHkob3B0cyB8fCB7fSk7XG4gIGNvbnN0IHVybCA9IGdldFVybChzZXNzaW9uLCBoYW5kbGUsIG9wdGlvbnMpO1xuXG4gIGlmIChvcHRpb25zICYmIG9wdGlvbnMuaWQpIHtcbiAgICBjb25zdCBpZCA9IG9wdGlvbnMuaWQ7XG4gICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7XG4gICAgY29uc3QgZG9tRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcblxuICAgIGlmcmFtZS5zcmMgPSB1cmw7XG4gICAgaWZyYW1lLndpZHRoID0gJzEwMCUnO1xuICAgIGlmcmFtZS5oZWlnaHQgPSAnMTAwJSc7XG5cbiAgICBpZiAoIWRvbUVsZW1lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRE9NIEVsZW1lbnQgd2l0aCBpZCBcIiR7aWR9XCIgbm90IGZvdW5kLmApO1xuICAgIH1cbiAgICByZXR1cm4gZG9tRWxlbWVudC5hcHBlbmRDaGlsZChpZnJhbWUpO1xuICB9XG4gIHJldHVybiB3aW5kb3cub3Blbih1cmwsIGhhbmRsZSk7XG59O1xuIl19

@@ -28,9 +28,10 @@ "use strict";

beforeEach(function () {
spyOn(window, 'open').and.returnValue(true);
spyOn(document, 'createElement').and.returnValue({
jest.spyOn(window, 'open').mockImplementation();
var createdElement = {
src: '',
width: '',
height: '',
});
spyOn(document, 'getElementById').and.callFake(function (id) {
};
jest.spyOn(document, 'createElement').mockReturnValue(createdElement);
jest.spyOn(document, 'getElementById').mockImplementation(function (id) {
var obj;

@@ -46,3 +47,3 @@ if (id === 'testId') {

var handle = 'testHandle';
preview_1.preview(defaultSession, handle);
(0, preview_1.preview)(defaultSession, handle);
expect(window.open).toBeCalledTimes(1);

@@ -53,3 +54,3 @@ expect(window.open).toBeCalledWith('https://cdn.filestackcontent.com/preview/testHandle', 'testHandle');

var handle = 'src://test123/test.jpg';
preview_1.preview(defaultSession, handle);
(0, preview_1.preview)(defaultSession, handle);
expect(window.open).toBeCalledTimes(1);

@@ -64,3 +65,3 @@ expect(window.open).toBeCalledWith('https://cdn.filestackcontent.com/TEST_API_KEY/preview/src://test123/test.jpg', 'src://test123/test.jpg');

};
preview_1.preview(defaultSession, handle, options);
(0, preview_1.preview)(defaultSession, handle, options);
var expected = { 'height': '100%', 'width': '100%', 'src': 'https://cdn.filestackcontent.com/TEST_API_KEY/preview=css:%22customCss%22/src://test123/test.jpg' };

@@ -71,3 +72,3 @@ expect(mockAppendChild).toBeCalledTimes(1);

it('should throw an error when handle is not provided', function () {
expect(function () { preview_1.preview(defaultSession); }).toThrow('A valid Filestack handle or storage alias is required for preview');
expect(function () { (0, preview_1.preview)(defaultSession); }).toThrow('A valid Filestack handle or storage alias is required for preview');
});

@@ -79,3 +80,3 @@ it('should throw an error when id provided and dom element not found', function () {

};
expect(function () { preview_1.preview(defaultSession, handle, options); }).toThrow('DOM Element with id "testId2" not found.');
expect(function () { (0, preview_1.preview)(defaultSession, handle, options); }).toThrow('DOM Element with id "testId2" not found.');
});

@@ -89,3 +90,3 @@ it('should throw an error on invalid preview params', function () {

// @ts-ignore
expect(function () { preview_1.preview(defaultSession, handle, options); }).toThrow('Invalid preview params');
expect(function () { (0, preview_1.preview)(defaultSession, handle, options); }).toThrow('Invalid preview params');
});

@@ -103,3 +104,3 @@ });

};
var result = preview_1.getUrl(defaultSession, handle, options, security);
var result = (0, preview_1.getUrl)(defaultSession, handle, options, security);
var expected = 'https://cdn.filestackcontent.com/preview/security=policy:eyJleHBpcnkiOjE1MjM1OTU2MDAsImNhbGwiOlsicmVhZCIsImNvbnZlcnQiXSwiaGFuZGxlIjoiYmZUTkNpZ1JMcTBRTU9yc0ZLemIifQ==,signature:ab1624c9f219ca0118f1af43d21ee87a09a07645c15c9fdbb7447818739c2b8b/TEST_HANDLE';

@@ -111,2 +112,2 @@ expect(result).toBe(expected);

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3ByZXZpZXcuc3BlYy5icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7O0FBRUgscUNBQTRDO0FBQzVDLHlDQUF3QztBQUV4QyxJQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFFbEMsSUFBTSxjQUFjLEdBQUc7SUFDckIsTUFBTSxFQUFFLGNBQWM7SUFDdEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGVBQU0sQ0FBQyxJQUFJLENBQUM7Q0FDckMsQ0FBQztBQUVGLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRTtJQUM3QixVQUFVLENBQUM7UUFDVCxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDO1lBQy9DLEdBQUcsRUFBRSxFQUFFO1lBQ1AsS0FBSyxFQUFFLEVBQUU7WUFDVCxNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUMsQ0FBQztRQUVILEtBQUssQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQUMsRUFBRTtZQUNoRCxJQUFJLEdBQUcsQ0FBQztZQUVSLElBQUksRUFBRSxLQUFLLFFBQVEsRUFBRTtnQkFDbkIsR0FBRyxHQUFHLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxDQUFDO2FBQ3hDO1lBRUQsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFNBQVMsRUFBRTtRQUNsQixFQUFFLENBQUMsaURBQWlELEVBQUU7WUFDcEQsSUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDO1lBQzVCLGlCQUFPLENBQUMs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Y0FBYyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDakUsSUFBTSxRQUFRLEdBQUcsOFBBQThQLENBQUM7WUFDaFIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS9wcmV2aWV3LnNwZWMuYnJvd3Nlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICdMaWNlbnNlJyk7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgcHJldmlldywgZ2V0VXJsIH0gZnJvbSAnLi9wcmV2aWV3JztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJy4vLi4vLi4vY29uZmlnJztcblxuY29uc3QgbW9ja0FwcGVuZENoaWxkID0gamVzdC5mbigpO1xuXG5jb25zdCBkZWZhdWx0U2Vzc2lvbiA9IHtcbiAgYXBpa2V5OiAnVEVTVF9BUElfS0VZJyxcbiAgdXJsczogT2JqZWN0LmFzc2lnbih7fSwgY29uZmlnLnVybHMpLFxufTtcblxuZGVzY3JpYmUoJ2FwaTp1cGxvYWQ6cHJldmlldycsICgpID0+IHtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgc3B5T24od2luZG93LCAnb3BlbicpLmFuZC5yZXR1cm5WYWx1ZSh0cnVlKTtcblxuICAgIHNweU9uKGRvY3VtZW50LCAnY3JlYXRlRWxlbWVudCcpLmFuZC5yZXR1cm5WYWx1ZSh7XG4gICAgICBzcmM6ICcnLFxuICAgICAgd2lkdGg6ICcnLFxuICAgICAgaGVpZ2h0OiAnJyxcbiAgICB9KTtcblxuICAgIHNweU9uKGRvY3VtZW50LCAnZ2V0RWxlbWVudEJ5SWQnKS5hbmQuY2FsbEZha2UoKGlkKSA9PiB7XG4gICAgICBsZXQgb2JqO1xuXG4gICAgICBpZiAoaWQgPT09ICd0ZXN0SWQnKSB7XG4gICAgICAgIG9iaiA9IHsgYXBwZW5kQ2hpbGQ6IG1vY2tBcHBlbmRDaGlsZCB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2JqO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncHJldmlldycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIG9wZW4gYSBwcm9wZXIgdXJsIHdpdGggcHJldmlldyBvZiBhIGZpbGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGUgPSAndGVzdEhhbmRsZSc7XG4gICAgICBwcmV2aWV3KGRlZmF1bHRTZXNzaW9uLCBoYW5kbGUpO1xuICAgICAgZXhwZWN0KHdpbmRvdy5vcGVuKS50b0JlQ2FsbGVkVGltZXMoMSk7XG4gICAgICBleHBlY3Qod2luZG93Lm9wZW4pLnRvQmVDYWxsZWRXaXRoKCdodHRwczovL2Nkbi5maWxlc3RhY2tjb250ZW50LmNvbS9wcmV2aWV3L3Rlc3RIYW5kbGUnLCAndGVzdEhhbmRsZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBvcGVuIGEgcHJvcGVyIHVybCB3aXRoIHByZXZpZXcgb2YgYSBmaWxlIHdpdGggc3JjIGhhbmRsZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZSA9ICdzcmM6Ly90ZXN0MTIzL3Rlc3QuanBnJztcbiAgICAgIHByZXZpZXcoZGVmYXVsdFNlc3Npb24sIGhhbmRsZSk7XG5cbiAgICAgIGV4cGVjdCh3aW5kb3cub3BlbikudG9CZUNhbGxlZFRpbWVzKDEpO1xuICAgICAgZXhwZWN0KHdpbmRvdy5vcGVuKS50b0JlQ2FsbGVkV2l0aCgnaHR0cHM6Ly9jZG4uZmlsZXN0YWNrY29udGVudC5jb20vVEVTVF9BUElfS0VZL3ByZXZpZXcvc3JjOi8vdGVzdDEyMy90ZXN0LmpwZycsICdzcmM6Ly90ZXN0MTIzL3Rlc3QuanBnJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG9wZW4gaWZyYW1lIGluc2lkZSBwcm92aWRlZCBvcHRpb25zLmlkJywgKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlID0gJ3NyYzovL3Rlc3QxMjMvdGVzdC5qcGcnO1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgaWQ6ICd0ZXN0SWQnLFxuICAgICAgICBjc3M6ICdjdXN0b21Dc3MnLFxuICAgICAgfTtcblxuICAgICAgcHJldmlldyhkZWZhdWx0U2Vzc2lvbiwgaGFuZGxlLCBvcHRpb25zKTtcbiAgICAgIGNvbnN0IGV4cGVjdGVkID0geyAnaGVpZ2h0JzogJzEwMCUnLCAnd2lkdGgnOiAnMTAwJScsICdzcmMnOiAnaHR0cHM6Ly9jZG4uZmlsZXN0YWNrY29udGVudC5jb20vVEVTVF9BUElfS0VZL3ByZXZpZXc9Y3NzOiUyMmN1c3RvbUNzcyUyMi9zcmM6Ly90ZXN0MTIzL3Rlc3QuanBnJyB9O1xuICAgICAgZXhwZWN0KG1vY2tBcHBlbmRDaGlsZCkudG9CZUNhbGxlZFRpbWVzKDEpO1xuICAgICAgZXhwZWN0KG1vY2tBcHBlbmRDaGlsZCkudG9CZUNhbGxlZFdpdGgoZXhwZWN0ZWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciB3aGVuIGhhbmRsZSBpcyBub3QgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoKCkgPT4geyBwcmV2aWV3KGRlZmF1bHRTZXNzaW9uKTsgfSkudG9UaHJvdygnQSB2YWxpZCBGaWxlc3RhY2sgaGFuZGxlIG9yIHN0b3JhZ2UgYWxpYXMgaXMgcmVxdWlyZWQgZm9yIHByZXZpZXcnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3Igd2hlbiBpZCBwcm92aWRlZCBhbmQgZG9tIGVsZW1lbnQgbm90IGZvdW5kJywgKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlID0gJ3NyYzovL3Rlc3QxMjMvdGVzdC5qcGcnO1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgaWQ6ICd0ZXN0SWQyJyxcbiAgICAgIH07XG4gICAgICBleHBlY3QoKCkgPT4geyBwcmV2aWV3KGRlZmF1bHRTZXNzaW9uLCBoYW5kbGUsIG9wdGlvbnMpOyB9KS50b1Rocm93KCdET00gRWxlbWVudCB3aXRoIGlkIFwidGVzdElkMlwiIG5vdCBmb3VuZC4nKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3Igb24gaW52YWxpZCBwcmV2aWV3IHBhcmFtcycsICgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZSA9ICdzcmM6Ly90ZXN0MTIzL3Rlc3QuanBnJztcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIGlkOiB7fSxcbiAgICAgICAgdGVzdDogMTIzLFxuICAgICAgfTtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGV4cGVjdCgoKSA9PiB7IHByZXZpZXcoZGVmYXVsdFNlc3Npb24sIGhhbmRsZSwgb3B0aW9ucyk7IH0pLnRvVGhyb3coJ0ludmFsaWQgcHJldmlldyBwYXJhbXMnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2dldFVybCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGJlIGFibGUgdG8gZ2V0IHVybCB3aXRoIHNlY3VyaXR5JywgKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlID0gJ1RFU1RfSEFORExFJztcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIGlkOiAndGVzdElkMicsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBzZWN1cml0eSA9IHtcbiAgICAgICAgcG9saWN5OiAnZXlKbGVIQnBjbmtpT2pFMU1qTTFPVFUyTURBc0ltTmhiR3dpT2xzaWNtVmhaQ0lzSW1OdmJuWmxjblFpWFN3aWFHRnVaR3hsSWpvaVltWlVUa05wWjFKTWNUQlJUVTl5YzBaTGVtSWlmUT09JyxcbiAgICAgICAgc2lnbmF0dXJlOiAnYWIxNjI0YzlmMjE5Y2EwMTE4ZjFhZjQzZDIxZWU4N2EwOWEwNzY0NWMxNWM5ZmRiYjc0NDc4MTg3MzljMmI4YicsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBnZXRVcmwoZGVmYXVsdFNlc3Npb24sIGhhbmRsZSwgb3B0aW9ucywgc2VjdXJpdHkpO1xuICAgICAgY29uc3QgZXhwZWN0ZWQgPSAnaHR0cHM6Ly9jZG4uZmlsZXN0YWNrY29udGVudC5jb20vcHJldmlldy9zZWN1cml0eT1wb2xpY3k6ZXlKbGVIQnBjbmtpT2pFMU1qTTFPVFUyTURBc0ltTmhiR3dpT2xzaWNtVmhaQ0lzSW1OdmJuWmxjblFpWFN3aWFHRnVaR3hsSWpvaVltWlVUa05wWjFKTWNUQlJUVTl5YzBaTGVtSWlmUT09LHNpZ25hdHVyZTphYjE2MjRjOWYyMTljYTAxMThmMWFmNDNkMjFlZTg3YTA5YTA3NjQ1YzE1YzlmZGJiNzQ0NzgxODczOWMyYjhiL1RFU1RfSEFORExFJztcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoZXhwZWN0ZWQpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3ByZXZpZXcuc3BlYy5icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7O0FBRUgscUNBQTRDO0FBQzVDLHlDQUF3QztBQUV4QyxJQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFFbEMsSUFBTSxjQUFjLEdBQUc7SUFDckIsTUFBTSxFQUFFLGNBQWM7SUFDdEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGVBQU0sQ0FBQyxJQUFJLENBQUM7Q0FDckMsQ0FBQztBQUVGLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRTtJQUM3QixVQUFVLENBQUM7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRWhELElBQU0sY0FBYyxHQUFRO1lBQzFCLEdBQUcsRUFBRSxFQUFFO1lBQ1AsS0FBSyxFQUFFLEVBQUU7WUFDVCxNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFdEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFDLEVBQUU7WUFDM0QsSUFBSSxHQUFHLENBQUM7WUFFUixJQUFJLEVBQUUsS0FBSyxRQUFRLEVBQUU7Z0JBQ25CLEdBQUcsR0FBRyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsQ0FBQzthQUN4QztZQUVELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxTQUFTLEVBQUU7UUFDbEIsRUFBRSxDQUFDLGlEQUFpRCxFQUFFO1lBQ3BELElBQU0sTUFBTSxHQUFHLFlB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LEVBQUUsa0VBQWtFO2FBQzlFLENBQUM7WUFFRixJQUFNLE1BQU0sR0FBRyxJQUFBLGdCQUFNLEVBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDakUsSUFBTSxRQUFRLEdBQUcsOFBBQThQLENBQUM7WUFDaFIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS9wcmV2aWV3LnNwZWMuYnJvd3Nlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICdMaWNlbnNlJyk7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgcHJldmlldywgZ2V0VXJsIH0gZnJvbSAnLi9wcmV2aWV3JztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJy4vLi4vLi4vY29uZmlnJztcblxuY29uc3QgbW9ja0FwcGVuZENoaWxkID0gamVzdC5mbigpO1xuXG5jb25zdCBkZWZhdWx0U2Vzc2lvbiA9IHtcbiAgYXBpa2V5OiAnVEVTVF9BUElfS0VZJyxcbiAgdXJsczogT2JqZWN0LmFzc2lnbih7fSwgY29uZmlnLnVybHMpLFxufTtcblxuZGVzY3JpYmUoJ2FwaTp1cGxvYWQ6cHJldmlldycsICgpID0+IHtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgamVzdC5zcHlPbih3aW5kb3csICdvcGVuJykubW9ja0ltcGxlbWVudGF0aW9uKCk7XG5cbiAgICBjb25zdCBjcmVhdGVkRWxlbWVudDogYW55ID0ge1xuICAgICAgc3JjOiAnJyxcbiAgICAgIHdpZHRoOiAnJyxcbiAgICAgIGhlaWdodDogJycsXG4gICAgfTtcbiAgICBqZXN0LnNweU9uKGRvY3VtZW50LCAnY3JlYXRlRWxlbWVudCcpLm1vY2tSZXR1cm5WYWx1ZShjcmVhdGVkRWxlbWVudCk7XG5cbiAgICBqZXN0LnNweU9uKGRvY3VtZW50LCAnZ2V0RWxlbWVudEJ5SWQnKS5tb2NrSW1wbGVtZW50YXRpb24oKGlkKSA9PiB7XG4gICAgICBsZXQgb2JqO1xuXG4gICAgICBpZiAoaWQgPT09ICd0ZXN0SWQnKSB7XG4gICAgICAgIG9iaiA9IHsgYXBwZW5kQ2hpbGQ6IG1vY2tBcHBlbmRDaGlsZCB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2JqO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncHJldmlldycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIG9wZW4gYSBwcm9wZXIgdXJsIHdpdGggcHJldmlldyBvZiBhIGZpbGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGUgPSAndGVzdEhhbmRsZSc7XG4gICAgICBwcmV2aWV3KGRlZmF1bHRTZXNzaW9uLCBoYW5kbGUpO1xuICAgICAgZXhwZWN0KHdpbmRvdy5vcGVuKS50b0JlQ2FsbGVkVGltZXMoMSk7XG4gICAgICBleHBlY3Qod2luZG93Lm9wZW4pLnRvQmVDYWxsZWRXaXRoKCdodHRwczovL2Nkbi5maWxlc3RhY2tjb250ZW50LmNvbS9wcmV2aWV3L3Rlc3RIYW5kbGUnLCAndGVzdEhhbmRsZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBvcGVuIGEgcHJvcGVyIHVybCB3aXRoIHByZXZpZXcgb2YgYSBmaWxlIHdpdGggc3JjIGhhbmRsZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZSA9ICdzcmM6Ly90ZXN0MTIzL3Rlc3QuanBnJztcbiAgICAgIHByZXZpZXcoZGVmYXVsdFNlc3Npb24sIGhhbmRsZSk7XG5cbiAgICAgIGV4cGVjdCh3aW5kb3cub3BlbikudG9CZUNhbGxlZFRpbWVzKDEpO1xuICAgICAgZXhwZWN0KHdpbmRvdy5vcGVuKS50b0JlQ2FsbGVkV2l0aCgnaHR0cHM6Ly9jZG4uZmlsZXN0YWNrY29udGVudC5jb20vVEVTVF9BUElfS0VZL3ByZXZpZXcvc3JjOi8vdGVzdDEyMy90ZXN0LmpwZycsICdzcmM6Ly90ZXN0MTIzL3Rlc3QuanBnJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG9wZW4gaWZyYW1lIGluc2lkZSBwcm92aWRlZCBvcHRpb25zLmlkJywgKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlID0gJ3NyYzovL3Rlc3QxMjMvdGVzdC5qcGcnO1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgaWQ6ICd0ZXN0SWQnLFxuICAgICAgICBjc3M6ICdjdXN0b21Dc3MnLFxuICAgICAgfTtcblxuICAgICAgcHJldmlldyhkZWZhdWx0U2Vzc2lvbiwgaGFuZGxlLCBvcHRpb25zKTtcbiAgICAgIGNvbnN0IGV4cGVjdGVkID0geyAnaGVpZ2h0JzogJzEwMCUnLCAnd2lkdGgnOiAnMTAwJScsICdzcmMnOiAnaHR0cHM6Ly9jZG4uZmlsZXN0YWNrY29udGVudC5jb20vVEVTVF9BUElfS0VZL3ByZXZpZXc9Y3NzOiUyMmN1c3RvbUNzcyUyMi9zcmM6Ly90ZXN0MTIzL3Rlc3QuanBnJyB9O1xuICAgICAgZXhwZWN0KG1vY2tBcHBlbmRDaGlsZCkudG9CZUNhbGxlZFRpbWVzKDEpO1xuICAgICAgZXhwZWN0KG1vY2tBcHBlbmRDaGlsZCkudG9CZUNhbGxlZFdpdGgoZXhwZWN0ZWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciB3aGVuIGhhbmRsZSBpcyBub3QgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoKCkgPT4geyBwcmV2aWV3KGRlZmF1bHRTZXNzaW9uKTsgfSkudG9UaHJvdygnQSB2YWxpZCBGaWxlc3RhY2sgaGFuZGxlIG9yIHN0b3JhZ2UgYWxpYXMgaXMgcmVxdWlyZWQgZm9yIHByZXZpZXcnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3Igd2hlbiBpZCBwcm92aWRlZCBhbmQgZG9tIGVsZW1lbnQgbm90IGZvdW5kJywgKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlID0gJ3NyYzovL3Rlc3QxMjMvdGVzdC5qcGcnO1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgaWQ6ICd0ZXN0SWQyJyxcbiAgICAgIH07XG4gICAgICBleHBlY3QoKCkgPT4geyBwcmV2aWV3KGRlZmF1bHRTZXNzaW9uLCBoYW5kbGUsIG9wdGlvbnMpOyB9KS50b1Rocm93KCdET00gRWxlbWVudCB3aXRoIGlkIFwidGVzdElkMlwiIG5vdCBmb3VuZC4nKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3Igb24gaW52YWxpZCBwcmV2aWV3IHBhcmFtcycsICgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZSA9ICdzcmM6Ly90ZXN0MTIzL3Rlc3QuanBnJztcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIGlkOiB7fSxcbiAgICAgICAgdGVzdDogMTIzLFxuICAgICAgfTtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGV4cGVjdCgoKSA9PiB7IHByZXZpZXcoZGVmYXVsdFNlc3Npb24sIGhhbmRsZSwgb3B0aW9ucyk7IH0pLnRvVGhyb3coJ0ludmFsaWQgcHJldmlldyBwYXJhbXMnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2dldFVybCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGJlIGFibGUgdG8gZ2V0IHVybCB3aXRoIHNlY3VyaXR5JywgKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlID0gJ1RFU1RfSEFORExFJztcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIGlkOiAndGVzdElkMicsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBzZWN1cml0eSA9IHtcbiAgICAgICAgcG9saWN5OiAnZXlKbGVIQnBjbmtpT2pFMU1qTTFPVFUyTURBc0ltTmhiR3dpT2xzaWNtVmhaQ0lzSW1OdmJuWmxjblFpWFN3aWFHRnVaR3hsSWpvaVltWlVUa05wWjFKTWNUQlJUVTl5YzBaTGVtSWlmUT09JyxcbiAgICAgICAgc2lnbmF0dXJlOiAnYWIxNjI0YzlmMjE5Y2EwMTE4ZjFhZjQzZDIxZWU4N2EwOWEwNzY0NWMxNWM5ZmRiYjc0NDc4MTg3MzljMmI4YicsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBnZXRVcmwoZGVmYXVsdFNlc3Npb24sIGhhbmRsZSwgb3B0aW9ucywgc2VjdXJpdHkpO1xuICAgICAgY29uc3QgZXhwZWN0ZWQgPSAnaHR0cHM6Ly9jZG4uZmlsZXN0YWNrY29udGVudC5jb20vcHJldmlldy9zZWN1cml0eT1wb2xpY3k6ZXlKbGVIQnBjbmtpT2pFMU1qTTFPVFUyTURBc0ltTmhiR3dpT2xzaWNtVmhaQ0lzSW1OdmJuWmxjblFpWFN3aWFHRnVaR3hsSWpvaVltWlVUa05wWjFKTWNUQlJUVTl5YzBaTGVtSWlmUT09LHNpZ25hdHVyZTphYjE2MjRjOWYyMTljYTAxMThmMWFmNDNkMjFlZTg3YTA5YTA3NjQ1YzE1YzlmZGJiNzQ0NzgxODczOWMyYjhiL1RFU1RfSEFORExFJztcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoZXhwZWN0ZWQpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19

@@ -19,9 +19,12 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.getSecurity = function (policyOptions, appSecret) {
exports.validateWebhookSignature = exports.getSecurity = void 0;
var getSecurity = function (policyOptions, appSecret) {
throw new Error('getSecurity is only supported in nodejs');
};
exports.validateWebhookSignature = function (secret, rawBody, toCompare) {
exports.getSecurity = getSecurity;
var validateWebhookSignature = function (secret, rawBody, toCompare) {
throw new Error('validateWebhookSignature is only supported in nodejs');
};
exports.validateWebhookSignature = validateWebhookSignature;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3NlY3VyaXR5LmJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFLVSxRQUFBLFdBQVcsR0FBRyxVQUFDLGFBQThCLEVBQUUsU0FBaUI7SUFDM0UsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0FBQzdELENBQUMsQ0FBQztBQUVXLFFBQUEsd0JBQXdCLEdBQUcsVUFBQyxNQUFjLEVBQUUsT0FBZSxFQUFFLFNBQWlDO0lBQ3pHLE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQztBQUMxRSxDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS9zZWN1cml0eS5icm93c2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgU2VjdXJpdHkgfSBmcm9tICcuLy4uL2NsaWVudCc7XG5pbXBvcnQgeyBTZWN1cml0eU9wdGlvbnMsIFdlYmhvb2tWYWxpZGF0ZVBheWxvYWQgfSBmcm9tICcuL3NlY3VyaXR5JztcblxuZXhwb3J0IGNvbnN0IGdldFNlY3VyaXR5ID0gKHBvbGljeU9wdGlvbnM6IFNlY3VyaXR5T3B0aW9ucywgYXBwU2VjcmV0OiBzdHJpbmcpOiBTZWN1cml0eSA9PiB7XG4gIHRocm93IG5ldyBFcnJvcignZ2V0U2VjdXJpdHkgaXMgb25seSBzdXBwb3J0ZWQgaW4gbm9kZWpzJyk7XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVXZWJob29rU2lnbmF0dXJlID0gKHNlY3JldDogc3RyaW5nLCByYXdCb2R5OiBzdHJpbmcsIHRvQ29tcGFyZTogV2ViaG9va1ZhbGlkYXRlUGF5bG9hZCkgPT4ge1xuICB0aHJvdyBuZXcgRXJyb3IoJ3ZhbGlkYXRlV2ViaG9va1NpZ25hdHVyZSBpcyBvbmx5IHN1cHBvcnRlZCBpbiBub2RlanMnKTtcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3NlY3VyaXR5LmJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7O0FBS0ksSUFBTSxXQUFXLEdBQUcsVUFBQyxhQUE4QixFQUFFLFNBQWlCO0lBQzNFLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUM7QUFGVyxRQUFBLFdBQVcsZUFFdEI7QUFFSyxJQUFNLHdCQUF3QixHQUFHLFVBQUMsTUFBYyxFQUFFLE9BQWUsRUFBRSxTQUFpQztJQUN6RyxNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7QUFDMUUsQ0FBQyxDQUFDO0FBRlcsUUFBQSx3QkFBd0IsNEJBRW5DIiwiZmlsZSI6ImxpYi9hcGkvc2VjdXJpdHkuYnJvd3Nlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFNlY3VyaXR5IH0gZnJvbSAnLi8uLi9jbGllbnQnO1xuaW1wb3J0IHsgU2VjdXJpdHlPcHRpb25zLCBXZWJob29rVmFsaWRhdGVQYXlsb2FkIH0gZnJvbSAnLi9zZWN1cml0eSc7XG5cbmV4cG9ydCBjb25zdCBnZXRTZWN1cml0eSA9IChwb2xpY3lPcHRpb25zOiBTZWN1cml0eU9wdGlvbnMsIGFwcFNlY3JldDogc3RyaW5nKTogU2VjdXJpdHkgPT4ge1xuICB0aHJvdyBuZXcgRXJyb3IoJ2dldFNlY3VyaXR5IGlzIG9ubHkgc3VwcG9ydGVkIGluIG5vZGVqcycpO1xufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlV2ViaG9va1NpZ25hdHVyZSA9IChzZWNyZXQ6IHN0cmluZywgcmF3Qm9keTogc3RyaW5nLCB0b0NvbXBhcmU6IFdlYmhvb2tWYWxpZGF0ZVBheWxvYWQpID0+IHtcbiAgdGhyb3cgbmV3IEVycm9yKCd2YWxpZGF0ZVdlYmhvb2tTaWduYXR1cmUgaXMgb25seSBzdXBwb3J0ZWQgaW4gbm9kZWpzJyk7XG59O1xuIl19

@@ -19,5 +19,7 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.validateWebhookSignature = exports.getSecurity = void 0;
var tslib_1 = require("tslib");
var filestack_error_1 = require("./../../filestack_error");
var schema_1 = require("./../../schema");
var crypto = require("crypto");
var crypto = tslib_1.__importStar(require("crypto"));
/**

@@ -38,4 +40,4 @@ * Returns Filestack base64 policy and HMAC-SHA256 signature

*/
exports.getSecurity = function (policyOptions, appSecret) {
var validateRes = schema_1.getValidator(schema_1.SecurityParamsSchema)(policyOptions);
var getSecurity = function (policyOptions, appSecret) {
var validateRes = (0, schema_1.getValidator)(schema_1.SecurityParamsSchema)(policyOptions);
if (validateRes.errors.length) {

@@ -50,2 +52,3 @@ throw new filestack_error_1.FilestackError("Invalid security params", validateRes.errors, filestack_error_1.FilestackErrorType.VALIDATION);

};
exports.getSecurity = getSecurity;
/**

@@ -58,9 +61,10 @@ * Check webhook signature

*/
exports.validateWebhookSignature = function (secret, rawBody, toCompare) {
var validateWebhookSignature = function (secret, rawBody, toCompare) {
var hash = crypto.createHmac('sha256', secret)
.update(toCompare.timestamp + "." + rawBody)
.update("".concat(toCompare.timestamp, ".").concat(rawBody))
.digest('hex');
return hash === toCompare.signature;
};
exports.validateWebhookSignature = validateWebhookSignature;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3NlY3VyaXR5Lm5vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFJSCwyREFBNkU7QUFDN0UseUNBQW9FO0FBQ3BFLCtCQUFpQztBQUVqQzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNVLFFBQUEsV0FBVyxHQUFHLFVBQUMsYUFBOEIsRUFBRSxTQUFpQjtJQUMzRSxJQUFNLFdBQVcsR0FBRyxxQkFBWSxDQUFDLDZCQUFvQixDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFdEUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUM3QixNQUFNLElBQUksZ0NBQWMsQ0FBQyx5QkFBeUIsRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFLG9DQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ3hHO0lBRUQsSUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdFLElBQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQztTQUN0QyxNQUFNLENBQUMsTUFBTSxDQUFDO1NBQ2QsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWhDLE9BQU8sRUFBRSxNQUFNLFFBQUEsRUFBRSxTQUFTLFdBQUEsRUFBRSxDQUFDO0FBQy9CLENBQUMsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNVLFFBQUEsd0JBQXdCLEdBQUcsVUFBQyxNQUFjLEVBQUUsT0FBZSxFQUFFLFNBQWlDO0lBQ3pHLElBQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQztTQUNqQyxNQUFNLENBQUksU0FBUyxDQUFDLFNBQVMsU0FBSSxPQUFTLENBQUM7U0FDM0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTdCLE9BQU8sSUFBSSxLQUFLLFNBQVMsQ0FBQyxTQUFTLENBQUM7QUFDdEMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9hcGkvc2VjdXJpdHkubm9kZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFNlY3VyaXR5IH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IFdlYmhvb2tWYWxpZGF0ZVBheWxvYWQsIFNlY3VyaXR5T3B0aW9ucyB9IGZyb20gJy4vc2VjdXJpdHknO1xuaW1wb3J0IHsgRmlsZXN0YWNrRXJyb3IsIEZpbGVzdGFja0Vycm9yVHlwZSB9IGZyb20gJy4vLi4vLi4vZmlsZXN0YWNrX2Vycm9yJztcbmltcG9ydCB7IGdldFZhbGlkYXRvciwgU2VjdXJpdHlQYXJhbXNTY2hlbWEgfSBmcm9tICcuLy4uLy4uL3NjaGVtYSc7XG5pbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcblxuLyoqXG4gKiBSZXR1cm5zIEZpbGVzdGFjayBiYXNlNjQgcG9saWN5IGFuZCBITUFDLVNIQTI1NiBzaWduYXR1cmVcbiAqXG4gKiAjIyMgRXhhbXBsZVxuICpcbiAqIGBgYGpzXG4gKiBpbXBvcnQgKiBhcyBmaWxlc3RhY2sgZnJvbSAnZmlsZXN0YWNrLWpzJztcbiAqXG4gKiBjb25zdCBqc29uUG9saWN5ID0geyAnZXhwaXJ5JzogMjUzMzgxOTY0NDE1IH07XG4gKiBjb25zdCBzZWN1cml0eSA9IGZpbGVzdGFjay5nZXRTZWN1cml0eShqc29uUG9saWN5LCAnPFlPVVJfQVBQX1NFQ1JFVD4nKTtcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBwb2xpY3lPcHRpb25zXG4gKiBAcGFyYW0gYXBwU2VjcmV0XG4gKi9cbmV4cG9ydCBjb25zdCBnZXRTZWN1cml0eSA9IChwb2xpY3lPcHRpb25zOiBTZWN1cml0eU9wdGlvbnMsIGFwcFNlY3JldDogc3RyaW5nKTogU2VjdXJpdHkgPT4ge1xuICBjb25zdCB2YWxpZGF0ZVJlcyA9IGdldFZhbGlkYXRvcihTZWN1cml0eVBhcmFtc1NjaGVtYSkocG9saWN5T3B0aW9ucyk7XG5cbiAgaWYgKHZhbGlkYXRlUmVzLmVycm9ycy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoYEludmFsaWQgc2VjdXJpdHkgcGFyYW1zYCwgdmFsaWRhdGVSZXMuZXJyb3JzLCBGaWxlc3RhY2tFcnJvclR5cGUuVkFMSURBVElPTik7XG4gIH1cblxuICBjb25zdCBwb2xpY3kgPSBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShwb2xpY3lPcHRpb25zKSkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICBjb25zdCBzaWduYXR1cmUgPSBjcnlwdG8uY3JlYXRlSG1hYygnc2hhMjU2JywgYXBwU2VjcmV0KVxuICAgICAgICAgICAgICAgICAgIC51cGRhdGUocG9saWN5KVxuICAgICAgICAgICAgICAgICAgIC5kaWdlc3QoJ2hleCcpO1xuXG4gIHJldHVybiB7IHBvbGljeSwgc2lnbmF0dXJlIH07XG59O1xuXG4vKipcbiAqIENoZWNrIHdlYmhvb2sgc2lnbmF0dXJlXG4gKlxuICogQHBhcmFtIHNlY3JldCAtIGFwcCBzZWNyZWRcbiAqIEBwYXJhbSByYXdCb2R5IC0gdW5jaGFuZ2VkIHJhdyB3ZWJob29rIGJvZHlcbiAqIEBwYXJhbSB0b0NvbXBhcmUgLSBkYXRhIGZyb20gd2ggcmVzcG9uc2UgaGVhZGVyc1xuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVXZWJob29rU2lnbmF0dXJlID0gKHNlY3JldDogc3RyaW5nLCByYXdCb2R5OiBzdHJpbmcsIHRvQ29tcGFyZTogV2ViaG9va1ZhbGlkYXRlUGF5bG9hZCkgPT4ge1xuICBjb25zdCBoYXNoID0gY3J5cHRvLmNyZWF0ZUhtYWMoJ3NoYTI1NicsIHNlY3JldClcbiAgICAgICAgICAgICAgICAudXBkYXRlKGAke3RvQ29tcGFyZS50aW1lc3RhbXB9LiR7cmF3Qm9keX1gKVxuICAgICAgICAgICAgICAgIC5kaWdlc3QoJ2hleCcpO1xuXG4gIHJldHVybiBoYXNoID09PSB0b0NvbXBhcmUuc2lnbmF0dXJlO1xufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3NlY3VyaXR5Lm5vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7OztBQUlILDJEQUE2RTtBQUM3RSx5Q0FBb0U7QUFDcEUscURBQWlDO0FBRWpDOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0ksSUFBTSxXQUFXLEdBQUcsVUFBQyxhQUE4QixFQUFFLFNBQWlCO0lBQzNFLElBQU0sV0FBVyxHQUFHLElBQUEscUJBQVksRUFBQyw2QkFBb0IsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXRFLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDN0IsTUFBTSxJQUFJLGdDQUFjLENBQUMseUJBQXlCLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRSxvQ0FBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUN4RztJQUVELElBQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3RSxJQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7U0FDdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQztTQUNkLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVoQyxPQUFPLEVBQUUsTUFBTSxRQUFBLEVBQUUsU0FBUyxXQUFBLEVBQUUsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFiVyxRQUFBLFdBQVcsZUFhdEI7QUFFRjs7Ozs7O0dBTUc7QUFDSSxJQUFNLHdCQUF3QixHQUFHLFVBQUMsTUFBYyxFQUFFLE9BQWUsRUFBRSxTQUFpQztJQUN6RyxJQUFNLElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7U0FDakMsTUFBTSxDQUFDLFVBQUcsU0FBUyxDQUFDLFNBQVMsY0FBSSxPQUFPLENBQUUsQ0FBQztTQUMzQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFN0IsT0FBTyxJQUFJLEtBQUssU0FBUyxDQUFDLFNBQVMsQ0FBQztBQUN0QyxDQUFDLENBQUM7QUFOVyxRQUFBLHdCQUF3Qiw0QkFNbkMiLCJmaWxlIjoibGliL2FwaS9zZWN1cml0eS5ub2RlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgU2VjdXJpdHkgfSBmcm9tICcuLi9jbGllbnQnO1xuaW1wb3J0IHsgV2ViaG9va1ZhbGlkYXRlUGF5bG9hZCwgU2VjdXJpdHlPcHRpb25zIH0gZnJvbSAnLi9zZWN1cml0eSc7XG5pbXBvcnQgeyBGaWxlc3RhY2tFcnJvciwgRmlsZXN0YWNrRXJyb3JUeXBlIH0gZnJvbSAnLi8uLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuaW1wb3J0IHsgZ2V0VmFsaWRhdG9yLCBTZWN1cml0eVBhcmFtc1NjaGVtYSB9IGZyb20gJy4vLi4vLi4vc2NoZW1hJztcbmltcG9ydCAqIGFzIGNyeXB0byBmcm9tICdjcnlwdG8nO1xuXG4vKipcbiAqIFJldHVybnMgRmlsZXN0YWNrIGJhc2U2NCBwb2xpY3kgYW5kIEhNQUMtU0hBMjU2IHNpZ25hdHVyZVxuICpcbiAqICMjIyBFeGFtcGxlXG4gKlxuICogYGBganNcbiAqIGltcG9ydCAqIGFzIGZpbGVzdGFjayBmcm9tICdmaWxlc3RhY2stanMnO1xuICpcbiAqIGNvbnN0IGpzb25Qb2xpY3kgPSB7ICdleHBpcnknOiAyNTMzODE5NjQ0MTUgfTtcbiAqIGNvbnN0IHNlY3VyaXR5ID0gZmlsZXN0YWNrLmdldFNlY3VyaXR5KGpzb25Qb2xpY3ksICc8WU9VUl9BUFBfU0VDUkVUPicpO1xuICogYGBgXG4gKlxuICogQHBhcmFtIHBvbGljeU9wdGlvbnNcbiAqIEBwYXJhbSBhcHBTZWNyZXRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldFNlY3VyaXR5ID0gKHBvbGljeU9wdGlvbnM6IFNlY3VyaXR5T3B0aW9ucywgYXBwU2VjcmV0OiBzdHJpbmcpOiBTZWN1cml0eSA9PiB7XG4gIGNvbnN0IHZhbGlkYXRlUmVzID0gZ2V0VmFsaWRhdG9yKFNlY3VyaXR5UGFyYW1zU2NoZW1hKShwb2xpY3lPcHRpb25zKTtcblxuICBpZiAodmFsaWRhdGVSZXMuZXJyb3JzLmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcihgSW52YWxpZCBzZWN1cml0eSBwYXJhbXNgLCB2YWxpZGF0ZVJlcy5lcnJvcnMsIEZpbGVzdGFja0Vycm9yVHlwZS5WQUxJREFUSU9OKTtcbiAgfVxuXG4gIGNvbnN0IHBvbGljeSA9IEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KHBvbGljeU9wdGlvbnMpKS50b1N0cmluZygnYmFzZTY0Jyk7XG4gIGNvbnN0IHNpZ25hdHVyZSA9IGNyeXB0by5jcmVhdGVIbWFjKCdzaGEyNTYnLCBhcHBTZWNyZXQpXG4gICAgICAgICAgICAgICAgICAgLnVwZGF0ZShwb2xpY3kpXG4gICAgICAgICAgICAgICAgICAgLmRpZ2VzdCgnaGV4Jyk7XG5cbiAgcmV0dXJuIHsgcG9saWN5LCBzaWduYXR1cmUgfTtcbn07XG5cbi8qKlxuICogQ2hlY2sgd2ViaG9vayBzaWduYXR1cmVcbiAqXG4gKiBAcGFyYW0gc2VjcmV0IC0gYXBwIHNlY3JlZFxuICogQHBhcmFtIHJhd0JvZHkgLSB1bmNoYW5nZWQgcmF3IHdlYmhvb2sgYm9keVxuICogQHBhcmFtIHRvQ29tcGFyZSAtIGRhdGEgZnJvbSB3aCByZXNwb25zZSBoZWFkZXJzXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVdlYmhvb2tTaWduYXR1cmUgPSAoc2VjcmV0OiBzdHJpbmcsIHJhd0JvZHk6IHN0cmluZywgdG9Db21wYXJlOiBXZWJob29rVmFsaWRhdGVQYXlsb2FkKSA9PiB7XG4gIGNvbnN0IGhhc2ggPSBjcnlwdG8uY3JlYXRlSG1hYygnc2hhMjU2Jywgc2VjcmV0KVxuICAgICAgICAgICAgICAgIC51cGRhdGUoYCR7dG9Db21wYXJlLnRpbWVzdGFtcH0uJHtyYXdCb2R5fWApXG4gICAgICAgICAgICAgICAgLmRpZ2VzdCgnaGV4Jyk7XG5cbiAgcmV0dXJuIGhhc2ggPT09IHRvQ29tcGFyZS5zaWduYXR1cmU7XG59O1xuIl19

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

var appSecret = 'testAppSecret';
expect(function () { return security_1.getSecurity(policy, appSecret); }).toThrowError('getSecurity is only supported in nodejs');
expect(function () { return (0, security_1.getSecurity)(policy, appSecret); }).toThrowError('getSecurity is only supported in nodejs');
});

@@ -41,3 +41,3 @@ });

var secret = 'Y5cWb1rdRDSTSqEjF5pv';
expect(function () { return security_1.validateWebhookSignature(secret, testRawData, correctSignature); }).toThrowError('validateWebhookSignature is only supported in nodejs');
expect(function () { return (0, security_1.validateWebhookSignature)(secret, testRawData, correctSignature); }).toThrowError('validateWebhookSignature is only supported in nodejs');
});

@@ -47,2 +47,2 @@ });

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3NlY3VyaXR5LnNwZWMuYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUVILHVDQUFtRTtBQUVuRSxRQUFRLENBQUMsY0FBYyxFQUFFO0lBQ3ZCLFFBQVEsQ0FBQyxhQUFhLEVBQUU7UUFDdEIsRUFBRSxDQUFDLGtDQUFrQyxFQUFFO1lBQ3JDLElBQU0sTUFBTSxHQUFHO2dCQUNiLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUM7Z0JBQ3hHLE1BQU0sRUFBRSxhQUFhO2FBQ3RCLENBQUM7WUFDRixJQUFNLFNBQVMsR0FBRyxlQUFlLENBQUM7WUFFbEMsTUFBTSxDQUFDLGNBQU0sT0FBQSxzQkFBVyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBOUIsQ0FBOEIsQ0FBQyxDQUFDLFlBQVksQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQ3ZHLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsMEJBQTBCLEVBQUU7UUFDbkMsRUFBRSxDQUFDLGtDQUFrQyxFQUFFO1lBQ3JDLElBQU0sV0FBVyxHQUFHLGtPQUFrTyxDQUFDO1lBRXZQLElBQU0sZ0JBQWdCLEdBQUc7Z0JBQ3ZCLFNBQVMsRUFBRSxrRUFBa0U7Z0JBQzdFLFNBQVMsRUFBRSxZQUFZO2FBQ3hCLENBQUM7WUFFRixJQUFNLE1BQU0sR0FBRyxzQkFBc0IsQ0FBQztZQUV0QyxNQUFNLENBQUMsY0FBTSxPQUFBLG1DQUF3QixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsRUFBL0QsQ0FBK0QsQ0FBQyxDQUFDLFlBQVksQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO1FBQ3JKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvYXBpL3NlY3VyaXR5LnNwZWMuYnJvd3Nlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICdMaWNlbnNlJyk7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgZ2V0U2VjdXJpdHksIHZhbGlkYXRlV2ViaG9va1NpZ25hdHVyZSB9IGZyb20gJy4vc2VjdXJpdHknO1xuXG5kZXNjcmliZSgnYXBpL3NlY3VyaXR5JywgKCkgPT4ge1xuICBkZXNjcmliZSgnZ2V0U2VjdXJpdHknLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBub3Qgc3VwcG9ydGVkIGVycm9yJywgKCkgPT4ge1xuICAgICAgY29uc3QgcG9saWN5ID0ge1xuICAgICAgICBleHBpcnk6IDE1MjM1OTU2MDAsXG4gICAgICAgIGNhbGw6IFsncGljaycsICdyZWFkJywgJ3N0YXQnLCAnd3JpdGUnLCAnd3JpdGVVcmwnLCAnc3RvcmUnLCAnY29udmVydCcsICdyZW1vdmUnLCAnZXhpZicsICdydW5Xb3JrZmxvdyddLFxuICAgICAgICBoYW5kbGU6ICdURVNUX0hBTkRMRScsXG4gICAgICB9O1xuICAgICAgY29uc3QgYXBwU2VjcmV0ID0gJ3Rlc3RBcHBTZWNyZXQnO1xuXG4gICAgICBleHBlY3QoKCkgPT4gZ2V0U2VjdXJpdHkocG9saWN5LCBhcHBTZWNyZXQpKS50b1Rocm93RXJyb3IoJ2dldFNlY3VyaXR5IGlzIG9ubHkgc3VwcG9ydGVkIGluIG5vZGVqcycpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgndmFsaWRhdGVXZWJob29rU2lnbmF0dXJlJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgdGhyb3cgbm90IHN1cHBvcnRlZCBlcnJvcicsICgpID0+IHtcbiAgICAgIGNvbnN0IHRlc3RSYXdEYXRhID0gJ3tcImlkXCI6IDY4NDQsIFwiYWN0aW9uXCI6IFwiZnAudXBsb2FkXCIsIFwidGltZXN0YW1wXCI6IDE1NTkxOTk5MDEsIFwidGV4dFwiOiB7XCJ1cmxcIjogXCJodHRwOi8vY2RuLmZpbGVzdGFja2FwaS5kZXYveEs4OFFBcnhSaXlWdkZ6bzRwMzNcIiwgXCJjbGllbnRcIjogXCJDb21wdXRlclwiLCBcImRhdGFcIjoge1wiZmlsZW5hbWVcIjogXCIwMSAoMSkucG5nXCIsIFwidHlwZVwiOiBcImltYWdlL3BuZ1wiLCBcInNpemVcIjogODgxODU1fX19JztcblxuICAgICAgY29uc3QgY29ycmVjdFNpZ25hdHVyZSA9IHtcbiAgICAgICAgc2lnbmF0dXJlOiAnMTQ0OTViNTRiMjQ2ZTEzNTJiYjY5Y2Q5MWM1YzFiZmUyMjIxZjJkMDMzMDQxNGIzZGY4ZjVmYjI5MDNkYjczMCcsXG4gICAgICAgIHRpbWVzdGFtcDogJzE1NTkxOTk5MDEnLFxuICAgICAgfTtcblxuICAgICAgY29uc3Qgc2VjcmV0ID0gJ1k1Y1diMXJkUkRTVFNxRWpGNXB2JztcblxuICAgICAgZXhwZWN0KCgpID0+IHZhbGlkYXRlV2ViaG9va1NpZ25hdHVyZShzZWNyZXQsIHRlc3RSYXdEYXRhLCBjb3JyZWN0U2lnbmF0dXJlKSkudG9UaHJvd0Vycm9yKCd2YWxpZGF0ZVdlYmhvb2tTaWduYXR1cmUgaXMgb25seSBzdXBwb3J0ZWQgaW4gbm9kZWpzJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3NlY3VyaXR5LnNwZWMuYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUVILHVDQUFtRTtBQUVuRSxRQUFRLENBQUMsY0FBYyxFQUFFO0lBQ3ZCLFFBQVEsQ0FBQyxhQUFhLEVBQUU7UUFDdEIsRUFBRSxDQUFDLGtDQUFrQyxFQUFFO1lBQ3JDLElBQU0sTUFBTSxHQUFHO2dCQUNiLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUM7Z0JBQ3hHLE1BQU0sRUFBRSxhQUFhO2FBQ3RCLENBQUM7WUFDRixJQUFNLFNBQVMsR0FBRyxlQUFlLENBQUM7WUFFbEMsTUFBTSxDQUFDLGNBQU0sT0FBQSxJQUFBLHNCQUFXLEVBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUE5QixDQUE4QixDQUFDLENBQUMsWUFBWSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7UUFDdkcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQywwQkFBMEIsRUFBRTtRQUNuQyxFQUFFLENBQUMsa0NBQWtDLEVBQUU7WUFDckMsSUFBTSxXQUFXLEdBQUcsa09BQWtPLENBQUM7WUFFdlAsSUFBTSxnQkFBZ0IsR0FBRztnQkFDdkIsU0FBUyxFQUFFLGtFQUFrRTtnQkFDN0UsU0FBUyxFQUFFLFlBQVk7YUFDeEIsQ0FBQztZQUVGLElBQU0sTUFBTSxHQUFHLHNCQUFzQixDQUFDO1lBRXRDLE1BQU0sQ0FBQyxjQUFNLE9BQUEsSUFBQSxtQ0FBd0IsRUFBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixDQUFDLEVBQS9ELENBQStELENBQUMsQ0FBQyxZQUFZLENBQUMsc0RBQXNELENBQUMsQ0FBQztRQUNySixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS9zZWN1cml0eS5zcGVjLmJyb3dzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE5IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAnTGljZW5zZScpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IGdldFNlY3VyaXR5LCB2YWxpZGF0ZVdlYmhvb2tTaWduYXR1cmUgfSBmcm9tICcuL3NlY3VyaXR5JztcblxuZGVzY3JpYmUoJ2FwaS9zZWN1cml0eScsICgpID0+IHtcbiAgZGVzY3JpYmUoJ2dldFNlY3VyaXR5JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgdGhyb3cgbm90IHN1cHBvcnRlZCBlcnJvcicsICgpID0+IHtcbiAgICAgIGNvbnN0IHBvbGljeSA9IHtcbiAgICAgICAgZXhwaXJ5OiAxNTIzNTk1NjAwLFxuICAgICAgICBjYWxsOiBbJ3BpY2snLCAncmVhZCcsICdzdGF0JywgJ3dyaXRlJywgJ3dyaXRlVXJsJywgJ3N0b3JlJywgJ2NvbnZlcnQnLCAncmVtb3ZlJywgJ2V4aWYnLCAncnVuV29ya2Zsb3cnXSxcbiAgICAgICAgaGFuZGxlOiAnVEVTVF9IQU5ETEUnLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGFwcFNlY3JldCA9ICd0ZXN0QXBwU2VjcmV0JztcblxuICAgICAgZXhwZWN0KCgpID0+IGdldFNlY3VyaXR5KHBvbGljeSwgYXBwU2VjcmV0KSkudG9UaHJvd0Vycm9yKCdnZXRTZWN1cml0eSBpcyBvbmx5IHN1cHBvcnRlZCBpbiBub2RlanMnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3ZhbGlkYXRlV2ViaG9va1NpZ25hdHVyZScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHRocm93IG5vdCBzdXBwb3J0ZWQgZXJyb3InLCAoKSA9PiB7XG4gICAgICBjb25zdCB0ZXN0UmF3RGF0YSA9ICd7XCJpZFwiOiA2ODQ0LCBcImFjdGlvblwiOiBcImZwLnVwbG9hZFwiLCBcInRpbWVzdGFtcFwiOiAxNTU5MTk5OTAxLCBcInRleHRcIjoge1widXJsXCI6IFwiaHR0cDovL2Nkbi5maWxlc3RhY2thcGkuZGV2L3hLODhRQXJ4Uml5VnZGem80cDMzXCIsIFwiY2xpZW50XCI6IFwiQ29tcHV0ZXJcIiwgXCJkYXRhXCI6IHtcImZpbGVuYW1lXCI6IFwiMDEgKDEpLnBuZ1wiLCBcInR5cGVcIjogXCJpbWFnZS9wbmdcIiwgXCJzaXplXCI6IDg4MTg1NX19fSc7XG5cbiAgICAgIGNvbnN0IGNvcnJlY3RTaWduYXR1cmUgPSB7XG4gICAgICAgIHNpZ25hdHVyZTogJzE0NDk1YjU0YjI0NmUxMzUyYmI2OWNkOTFjNWMxYmZlMjIyMWYyZDAzMzA0MTRiM2RmOGY1ZmIyOTAzZGI3MzAnLFxuICAgICAgICB0aW1lc3RhbXA6ICcxNTU5MTk5OTAxJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHNlY3JldCA9ICdZNWNXYjFyZFJEU1RTcUVqRjVwdic7XG5cbiAgICAgIGV4cGVjdCgoKSA9PiB2YWxpZGF0ZVdlYmhvb2tTaWduYXR1cmUoc2VjcmV0LCB0ZXN0UmF3RGF0YSwgY29ycmVjdFNpZ25hdHVyZSkpLnRvVGhyb3dFcnJvcigndmFsaWRhdGVXZWJob29rU2lnbmF0dXJlIGlzIG9ubHkgc3VwcG9ydGVkIGluIG5vZGVqcycpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19

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

var appSecret = 'testAppSecret';
var result = security_1.getSecurity(policy, appSecret);
var result = (0, security_1.getSecurity)(policy, appSecret);
var expected = {

@@ -45,3 +45,3 @@ policy: 'eyJleHBpcnkiOjE1MjM1OTU2MDAsImNhbGwiOlsicGljayIsInJlYWQiLCJzdGF0Iiwid3JpdGUiLCJ3cml0ZVVybCIsInN0b3JlIiwiY29udmVydCIsInJlbW92ZSIsImV4aWYiLCJydW5Xb3JrZmxvdyJdLCJoYW5kbGUiOiJURVNUX0hBTkRMRSJ9',

// @ts-ignore
expect(function () { return security_1.getSecurity(policy, appSecret); }).toThrowError('Invalid security params');
expect(function () { return (0, security_1.getSecurity)(policy, appSecret); }).toThrowError('Invalid security params');
});

@@ -57,3 +57,3 @@ });

var secret = 'Y5cWb1rdRDSTSqEjF5pv';
expect(security_1.validateWebhookSignature(secret, testRawData, correctSignature)).toBeTruthy();
expect((0, security_1.validateWebhookSignature)(secret, testRawData, correctSignature)).toBeTruthy();
});

@@ -63,2 +63,2 @@ });

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3NlY3VyaXR5LnNwZWMubm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUVILHVDQUFtRTtBQUVuRSxRQUFRLENBQUMsY0FBYyxFQUFFO0lBQ3ZCLFFBQVEsQ0FBQyxhQUFhLEVBQUU7UUFDdEIsRUFBRSxDQUFDLHVEQUF1RCxFQUFFO1lBQzFELElBQU0sTUFBTSxHQUFHO2dCQUNiLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUM7Z0JBQ3hHLE1BQU0sRUFBRSxhQUFhO2FBQ3RCLENBQUM7WUFDRixJQUFNLFNBQVMsR0FBRyxlQUFlLENBQUM7WUFDbEMsSUFBTSxNQUFNLEdBQUcsc0JBQVcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDOUMsSUFBTSxRQUFRLEdBQUc7Z0JBQ2YsTUFBTSxFQUNKLDhMQUE4TDtnQkFDaE0sU0FBUyxFQUFFLGtFQUFrRTthQUM5RSxDQUFDO1lBQ0YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrQ0FBK0MsRUFBRTtZQUNsRCxJQUFNLE1BQU0sR0FBRztnQkFDYixNQUFNLEVBQUUsTUFBTTtnQkFDZCxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUM7Z0JBQ3pHLE1BQU0sRUFBRSxhQUFhO2FBQ3RCLENBQUM7WUFDRixJQUFNLFNBQVMsR0FBRyxlQUFlLENBQUM7WUFDbEMsYUFBYTtZQUNiLE1BQU0sQ0FBQyxjQUFNLE9BQUEsc0JBQVcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQTlCLENBQThCLENBQUMsQ0FBQyxZQUFZLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUN2RixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLDBCQUEwQixFQUFFO1FBQ25DLEVBQUUsQ0FBQyw0Q0FBNEMsRUFBRTtZQUMvQyxJQUFNLFdBQVcsR0FBRyxrT0FBa08sQ0FBQztZQUV2UCxJQUFNLGdCQUFnQixHQUFHO2dCQUN2QixTQUFTLEVBQUUsa0VBQWtFO2dCQUM3RSxTQUFTLEVBQUUsWUFBWTthQUN4QixDQUFDO1lBRUYsSUFBTSxNQUFNLEdBQUcsc0JBQXNCLENBQUM7WUFFdEMsTUFBTSxDQUFDLG1DQUF3QixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3ZGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvYXBpL3NlY3VyaXR5LnNwZWMubm9kZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICdMaWNlbnNlJyk7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgZ2V0U2VjdXJpdHksIHZhbGlkYXRlV2ViaG9va1NpZ25hdHVyZSB9IGZyb20gJy4vc2VjdXJpdHknO1xuXG5kZXNjcmliZSgnYXBpOnNlY3VyaXR5JywgKCkgPT4ge1xuICBkZXNjcmliZSgnZ2V0U2VjdXJpdHknLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBjcmVhdGUgYSBwcm9wZXIgb2JqZWN0IHdpdGggcG9saWN5ICYgc2lnbmF0dXJlJywgKCkgPT4ge1xuICAgICAgY29uc3QgcG9saWN5ID0ge1xuICAgICAgICBleHBpcnk6IDE1MjM1OTU2MDAsXG4gICAgICAgIGNhbGw6IFsncGljaycsICdyZWFkJywgJ3N0YXQnLCAnd3JpdGUnLCAnd3JpdGVVcmwnLCAnc3RvcmUnLCAnY29udmVydCcsICdyZW1vdmUnLCAnZXhpZicsICdydW5Xb3JrZmxvdyddLFxuICAgICAgICBoYW5kbGU6ICdURVNUX0hBTkRMRScsXG4gICAgICB9O1xuICAgICAgY29uc3QgYXBwU2VjcmV0ID0gJ3Rlc3RBcHBTZWNyZXQnO1xuICAgICAgY29uc3QgcmVzdWx0ID0gZ2V0U2VjdXJpdHkocG9saWN5LCBhcHBTZWNyZXQpO1xuICAgICAgY29uc3QgZXhwZWN0ZWQgPSB7XG4gICAgICAgIHBvbGljeTpcbiAgICAgICAgICAnZXlKbGVIQnBjbmtpT2pFMU1qTTFPVFUyTURBc0ltTmhiR3dpT2xzaWNHbGpheUlzSW5KbFlXUWlMQ0p6ZEdGMElpd2lkM0pwZEdVaUxDSjNjbWwwWlZWeWJDSXNJbk4wYjNKbElpd2lZMjl1ZG1WeWRDSXNJbkpsYlc5MlpTSXNJbVY0YVdZaUxDSnlkVzVYYjNKclpteHZkeUpkTENKb1lXNWtiR1VpT2lKVVJWTlVYMGhCVGtSTVJTSjknLFxuICAgICAgICBzaWduYXR1cmU6ICc3ZGYwNTM2MTA0Y2RjYzE2MzcwYWQ2NDk0Y2RiZGEzMGM5NzczYTYyZWVjNmU1MTUzZmE1Mzk1NDRkYjYyMDZlJyxcbiAgICAgIH07XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgZXJyb3Igb24gaW52YWxpZCBzZWN1cml0eSBwYXJhbXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwb2xpY3kgPSB7XG4gICAgICAgIGV4cGlyeTogJ3Rlc3QnLFxuICAgICAgICBjYWxsOiBbJ3BpY2sxJywgJ3JlYWQnLCAnc3RhdCcsICd3cml0ZScsICd3cml0ZVVybCcsICdzdG9yZScsICdjb252ZXJ0JywgJ3JlbW92ZScsICdleGlmJywgJ3J1bldvcmtmbG93J10sXG4gICAgICAgIGhhbmRsZTogJ1RFU1RfSEFORExFJyxcbiAgICAgIH07XG4gICAgICBjb25zdCBhcHBTZWNyZXQgPSAndGVzdEFwcFNlY3JldCc7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3QoKCkgPT4gZ2V0U2VjdXJpdHkocG9saWN5LCBhcHBTZWNyZXQpKS50b1Rocm93RXJyb3IoJ0ludmFsaWQgc2VjdXJpdHkgcGFyYW1zJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCd2YWxpZGF0ZVdlYmhvb2tTaWduYXR1cmUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBwYXNzIHZhbGlkYXRpb24gb24gcHJvcGVyIHNpZ25hdHVyZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHRlc3RSYXdEYXRhID0gJ3tcImlkXCI6IDY4NDQsIFwiYWN0aW9uXCI6IFwiZnAudXBsb2FkXCIsIFwidGltZXN0YW1wXCI6IDE1NTkxOTk5MDEsIFwidGV4dFwiOiB7XCJ1cmxcIjogXCJodHRwOi8vY2RuLmZpbGVzdGFja2FwaS5kZXYveEs4OFFBcnhSaXlWdkZ6bzRwMzNcIiwgXCJjbGllbnRcIjogXCJDb21wdXRlclwiLCBcImRhdGFcIjoge1wiZmlsZW5hbWVcIjogXCIwMSAoMSkucG5nXCIsIFwidHlwZVwiOiBcImltYWdlL3BuZ1wiLCBcInNpemVcIjogODgxODU1fX19JztcblxuICAgICAgY29uc3QgY29ycmVjdFNpZ25hdHVyZSA9IHtcbiAgICAgICAgc2lnbmF0dXJlOiAnMTQ0OTViNTRiMjQ2ZTEzNTJiYjY5Y2Q5MWM1YzFiZmUyMjIxZjJkMDMzMDQxNGIzZGY4ZjVmYjI5MDNkYjczMCcsXG4gICAgICAgIHRpbWVzdGFtcDogJzE1NTkxOTk5MDEnLFxuICAgICAgfTtcblxuICAgICAgY29uc3Qgc2VjcmV0ID0gJ1k1Y1diMXJkUkRTVFNxRWpGNXB2JztcblxuICAgICAgZXhwZWN0KHZhbGlkYXRlV2ViaG9va1NpZ25hdHVyZShzZWNyZXQsIHRlc3RSYXdEYXRhLCBjb3JyZWN0U2lnbmF0dXJlKSkudG9CZVRydXRoeSgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3NlY3VyaXR5LnNwZWMubm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUVILHVDQUFtRTtBQUVuRSxRQUFRLENBQUMsY0FBYyxFQUFFO0lBQ3ZCLFFBQVEsQ0FBQyxhQUFhLEVBQUU7UUFDdEIsRUFBRSxDQUFDLHVEQUF1RCxFQUFFO1lBQzFELElBQU0sTUFBTSxHQUFHO2dCQUNiLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUM7Z0JBQ3hHLE1BQU0sRUFBRSxhQUFhO2FBQ3RCLENBQUM7WUFDRixJQUFNLFNBQVMsR0FBRyxlQUFlLENBQUM7WUFDbEMsSUFBTSxNQUFNLEdBQUcsSUFBQSxzQkFBVyxFQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM5QyxJQUFNLFFBQVEsR0FBRztnQkFDZixNQUFNLEVBQ0osOExBQThMO2dCQUNoTSxTQUFTLEVBQUUsa0VBQWtFO2FBQzlFLENBQUM7WUFDRixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLCtDQUErQyxFQUFFO1lBQ2xELElBQU0sTUFBTSxHQUFHO2dCQUNiLE1BQU0sRUFBRSxNQUFNO2dCQUNkLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQztnQkFDekcsTUFBTSxFQUFFLGFBQWE7YUFDdEIsQ0FBQztZQUNGLElBQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQztZQUNsQyxhQUFhO1lBQ2IsTUFBTSxDQUFDLGNBQU0sT0FBQSxJQUFBLHNCQUFXLEVBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUE5QixDQUE4QixDQUFDLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDdkYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQywwQkFBMEIsRUFBRTtRQUNuQyxFQUFFLENBQUMsNENBQTRDLEVBQUU7WUFDL0MsSUFBTSxXQUFXLEdBQUcsa09BQWtPLENBQUM7WUFFdlAsSUFBTSxnQkFBZ0IsR0FBRztnQkFDdkIsU0FBUyxFQUFFLGtFQUFrRTtnQkFDN0UsU0FBUyxFQUFFLFlBQVk7YUFDeEIsQ0FBQztZQUVGLElBQU0sTUFBTSxHQUFHLHNCQUFzQixDQUFDO1lBRXRDLE1BQU0sQ0FBQyxJQUFBLG1DQUF3QixFQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3ZGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvYXBpL3NlY3VyaXR5LnNwZWMubm9kZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICdMaWNlbnNlJyk7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgZ2V0U2VjdXJpdHksIHZhbGlkYXRlV2ViaG9va1NpZ25hdHVyZSB9IGZyb20gJy4vc2VjdXJpdHknO1xuXG5kZXNjcmliZSgnYXBpOnNlY3VyaXR5JywgKCkgPT4ge1xuICBkZXNjcmliZSgnZ2V0U2VjdXJpdHknLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBjcmVhdGUgYSBwcm9wZXIgb2JqZWN0IHdpdGggcG9saWN5ICYgc2lnbmF0dXJlJywgKCkgPT4ge1xuICAgICAgY29uc3QgcG9saWN5ID0ge1xuICAgICAgICBleHBpcnk6IDE1MjM1OTU2MDAsXG4gICAgICAgIGNhbGw6IFsncGljaycsICdyZWFkJywgJ3N0YXQnLCAnd3JpdGUnLCAnd3JpdGVVcmwnLCAnc3RvcmUnLCAnY29udmVydCcsICdyZW1vdmUnLCAnZXhpZicsICdydW5Xb3JrZmxvdyddLFxuICAgICAgICBoYW5kbGU6ICdURVNUX0hBTkRMRScsXG4gICAgICB9O1xuICAgICAgY29uc3QgYXBwU2VjcmV0ID0gJ3Rlc3RBcHBTZWNyZXQnO1xuICAgICAgY29uc3QgcmVzdWx0ID0gZ2V0U2VjdXJpdHkocG9saWN5LCBhcHBTZWNyZXQpO1xuICAgICAgY29uc3QgZXhwZWN0ZWQgPSB7XG4gICAgICAgIHBvbGljeTpcbiAgICAgICAgICAnZXlKbGVIQnBjbmtpT2pFMU1qTTFPVFUyTURBc0ltTmhiR3dpT2xzaWNHbGpheUlzSW5KbFlXUWlMQ0p6ZEdGMElpd2lkM0pwZEdVaUxDSjNjbWwwWlZWeWJDSXNJbk4wYjNKbElpd2lZMjl1ZG1WeWRDSXNJbkpsYlc5MlpTSXNJbVY0YVdZaUxDSnlkVzVYYjNKclpteHZkeUpkTENKb1lXNWtiR1VpT2lKVVJWTlVYMGhCVGtSTVJTSjknLFxuICAgICAgICBzaWduYXR1cmU6ICc3ZGYwNTM2MTA0Y2RjYzE2MzcwYWQ2NDk0Y2RiZGEzMGM5NzczYTYyZWVjNmU1MTUzZmE1Mzk1NDRkYjYyMDZlJyxcbiAgICAgIH07XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgZXJyb3Igb24gaW52YWxpZCBzZWN1cml0eSBwYXJhbXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwb2xpY3kgPSB7XG4gICAgICAgIGV4cGlyeTogJ3Rlc3QnLFxuICAgICAgICBjYWxsOiBbJ3BpY2sxJywgJ3JlYWQnLCAnc3RhdCcsICd3cml0ZScsICd3cml0ZVVybCcsICdzdG9yZScsICdjb252ZXJ0JywgJ3JlbW92ZScsICdleGlmJywgJ3J1bldvcmtmbG93J10sXG4gICAgICAgIGhhbmRsZTogJ1RFU1RfSEFORExFJyxcbiAgICAgIH07XG4gICAgICBjb25zdCBhcHBTZWNyZXQgPSAndGVzdEFwcFNlY3JldCc7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3QoKCkgPT4gZ2V0U2VjdXJpdHkocG9saWN5LCBhcHBTZWNyZXQpKS50b1Rocm93RXJyb3IoJ0ludmFsaWQgc2VjdXJpdHkgcGFyYW1zJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCd2YWxpZGF0ZVdlYmhvb2tTaWduYXR1cmUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBwYXNzIHZhbGlkYXRpb24gb24gcHJvcGVyIHNpZ25hdHVyZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHRlc3RSYXdEYXRhID0gJ3tcImlkXCI6IDY4NDQsIFwiYWN0aW9uXCI6IFwiZnAudXBsb2FkXCIsIFwidGltZXN0YW1wXCI6IDE1NTkxOTk5MDEsIFwidGV4dFwiOiB7XCJ1cmxcIjogXCJodHRwOi8vY2RuLmZpbGVzdGFja2FwaS5kZXYveEs4OFFBcnhSaXlWdkZ6bzRwMzNcIiwgXCJjbGllbnRcIjogXCJDb21wdXRlclwiLCBcImRhdGFcIjoge1wiZmlsZW5hbWVcIjogXCIwMSAoMSkucG5nXCIsIFwidHlwZVwiOiBcImltYWdlL3BuZ1wiLCBcInNpemVcIjogODgxODU1fX19JztcblxuICAgICAgY29uc3QgY29ycmVjdFNpZ25hdHVyZSA9IHtcbiAgICAgICAgc2lnbmF0dXJlOiAnMTQ0OTViNTRiMjQ2ZTEzNTJiYjY5Y2Q5MWM1YzFiZmUyMjIxZjJkMDMzMDQxNGIzZGY4ZjVmYjI5MDNkYjczMCcsXG4gICAgICAgIHRpbWVzdGFtcDogJzE1NTkxOTk5MDEnLFxuICAgICAgfTtcblxuICAgICAgY29uc3Qgc2VjcmV0ID0gJ1k1Y1diMXJkUkRTVFNxRWpGNXB2JztcblxuICAgICAgZXhwZWN0KHZhbGlkYXRlV2ViaG9va1NpZ25hdHVyZShzZWNyZXQsIHRlc3RSYXdEYXRhLCBjb3JyZWN0U2lnbmF0dXJlKSkudG9CZVRydXRoeSgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
import { Security, Session } from '../client';
import { StoreParams } from './../filelink';
import { UploadTags } from './upload/file';
export declare type StoreUrlParams = {
export type StoreUrlParams = {
session: Session;

@@ -6,0 +6,0 @@ url?: string;

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.storeURL = void 0;
var tslib_1 = require("tslib");

@@ -36,3 +37,3 @@ var filelink_1 = require("./../filelink");

*/
exports.storeURL = function (_a) {
var storeURL = function (_a) {
var session = _a.session, url = _a.url, storeParams = _a.storeParams, token = _a.token, security = _a.security, uploadTags = _a.uploadTags, headers = _a.headers, workflowIds = _a.workflowIds;

@@ -42,3 +43,3 @@ if (!url || typeof url !== 'string') {

}
var validateRes = schema_1.getValidator(schema_1.StoreParamsSchema)(storeParams);
var validateRes = (0, schema_1.getValidator)(schema_1.StoreParamsSchema)(storeParams);
if (validateRes.errors.length) {

@@ -73,3 +74,3 @@ return Promise.reject(new filestack_error_1.FilestackError("Invalid store params", validateRes.errors));

}
return request_1.FsRequest.post(session.urls.processUrl + "/process", {
return request_1.FsRequest.post("".concat(session.urls.processUrl, "/process"), {
apikey: session.apikey,

@@ -87,6 +88,7 @@ sources: sources,

}
throw new filestack_error_1.FilestackError("Invalid store response " + JSON.stringify(res.data));
throw new filestack_error_1.FilestackError("Invalid store response ".concat(JSON.stringify(res.data)));
});
};
exports.storeURL = storeURL;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7OztBQUdILDBDQUFzRDtBQUN0RCwyREFBeUQ7QUFDekQseUNBQWlFO0FBQ2pFLHNDQUFzRDtBQWN0RDs7Ozs7Ozs7OztHQVVHO0FBQ1UsUUFBQSxRQUFRLEdBQUcsVUFBQyxFQVNSO1FBUmYsb0JBQU8sRUFDUCxZQUFHLEVBQ0gsNEJBQVcsRUFDWCxnQkFBSyxFQUNMLHNCQUFRLEVBQ1IsMEJBQVUsRUFDVixvQkFBTyxFQUNQLDRCQUFXO0lBRVgsSUFBSSxDQUFDLEdBQUcsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7UUFDbkMsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksZ0NBQWMsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUM7S0FDM0U7SUFFRCxJQUFNLFdBQVcsR0FBRyxxQkFBWSxDQUFDLDBCQUFpQixDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFakUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUM3QixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxnQ0FBYyxDQUFDLHNCQUFzQixFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0tBQ3ZGO0lBRUQsT0FBTyxDQUFDLE1BQU0sR0FBRyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQy9ELE9BQU8sQ0FBQyxTQUFTLEdBQUcsUUFBUSxJQUFJLFFBQVEsQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUV4RSxJQUFNLFFBQVEsR0FBRyxJQUFJLG1CQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRTVCLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1FBQ3ZDLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFDaEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQ3RCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztTQUM3QixDQUFDLENBQUM7S0FDSjtJQUVELElBQUksT0FBTyxHQUFRLEVBQUUsQ0FBQztJQUV0QixJQUFJLEtBQUssRUFBRTtRQUNULElBQU0sV0FBVyxHQUFHLElBQUksdUJBQWEsRUFBRSxDQUFDO1FBQ3hDLEtBQUssQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEQsT0FBTyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7S0FDbkM7SUFFRCxJQUFJLE9BQU8sR0FBUSxDQUFFLEdBQUcsQ0FBRSxDQUFDO0lBRTNCLElBQUksT0FBTyxFQUFFO1FBQ1gsT0FBTyxHQUFHLENBQUM7Z0JBQ1QsTUFBTSxFQUFFLEdBQUc7Z0JBQ1gsT0FBTyxTQUFBO2FBQ1IsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUN6QyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0tBQ3ZEO0lBRUQsT0FBTyxtQkFBUyxDQUFDLElBQUksQ0FBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsYUFBVSxFQUFFO1FBQzFELE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixPQUFPLFNBQUE7UUFDUCxLQUFLLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRTtRQUMxQixXQUFXLEVBQUUsVUFBVTtLQUN4QixFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFDLEdBQUc7UUFDbkIsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQy9CLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3hCLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUMzQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO2FBQzdCO1lBRUQsNkNBQVksR0FBRyxDQUFDLElBQUksS0FBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUc7U0FDakQ7UUFFRCxNQUFNLElBQUksZ0NBQWMsQ0FBQyw0QkFBMEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFHLENBQUMsQ0FBQztJQUNqRixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvYXBpL3N0b3JlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgU2VjdXJpdHksIFNlc3Npb24gfSBmcm9tICcuLi9jbGllbnQnO1xuaW1wb3J0IHsgRmlsZWxpbmssIFN0b3JlUGFyYW1zIH0gZnJvbSAnLi8uLi9maWxlbGluayc7XG5pbXBvcnQgeyBGaWxlc3RhY2tFcnJvciB9IGZyb20gJy4vLi4vLi4vZmlsZXN0YWNrX2Vycm9yJztcbmltcG9ydCB7IGdldFZhbGlkYXRvciwgU3RvcmVQYXJhbXNTY2hlbWEgfSBmcm9tICcuLy4uLy4uL3NjaGVtYSc7XG5pbXBvcnQgeyBGc1JlcXVlc3QsIEZzQ2FuY2VsVG9rZW4gfSBmcm9tICcuLi9yZXF1ZXN0JztcbmltcG9ydCB7IFVwbG9hZFRhZ3MgfSBmcm9tICcuL3VwbG9hZC9maWxlJztcblxuZXhwb3J0IHR5cGUgU3RvcmVVcmxQYXJhbXMgPSB7XG4gIHNlc3Npb246IFNlc3Npb247XG4gIHVybD86IHN0cmluZztcbiAgc3RvcmVQYXJhbXM/OiBTdG9yZVBhcmFtcztcbiAgdG9rZW4/OiBhbnk7XG4gIHNlY3VyaXR5PzogU2VjdXJpdHk7XG4gIHVwbG9hZFRhZ3M/OiBVcGxvYWRUYWdzO1xuICBoZWFkZXJzPzoge1trZXk6IHN0cmluZ106IHN0cmluZ30sXG4gIHdvcmtmbG93SWRzPzogc3RyaW5nW11cbn07XG5cbi8qKlxuICogU3RvcmUgZ2l2ZW4gdXJsIHdpdGggb3B0aW9ucyBhbmRcbiAqXG4gKiBAcGFyYW0gc2Vzc2lvblxuICogQHBhcmFtIHVybFxuICogQHBhcmFtIHN0b3JlT3B0c1xuICogQHBhcmFtIHRva2VuXG4gKiBAcGFyYW0gc2VjdXJpdHlcbiAqIEBwYXJhbSB1cGxvYWRUYWdzXG4gKiBAcGFyYW0gd29ya2Zsb3dJZHNcbiAqL1xuZXhwb3J0IGNvbnN0IHN0b3JlVVJMID0gKHtcbiAgc2Vzc2lvbixcbiAgdXJsLFxuICBzdG9yZVBhcmFtcyxcbiAgdG9rZW4sXG4gIHNlY3VyaXR5LFxuICB1cGxvYWRUYWdzLFxuICBoZWFkZXJzLFxuICB3b3JrZmxvd0lkcyxcbn06IFN0b3JlVXJsUGFyYW1zKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgaWYgKCF1cmwgfHwgdHlwZW9mIHVybCAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEZpbGVzdGFja0Vycm9yKCd1cmwgaXMgcmVxdWlyZWQgZm9yIHN0b3JlVVJMJykpO1xuICB9XG5cbiAgY29uc3QgdmFsaWRhdGVSZXMgPSBnZXRWYWxpZGF0b3IoU3RvcmVQYXJhbXNTY2hlbWEpKHN0b3JlUGFyYW1zKTtcblxuICBpZiAodmFsaWRhdGVSZXMuZXJyb3JzLmxlbmd0aCkge1xuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRmlsZXN0YWNrRXJyb3IoYEludmFsaWQgc3RvcmUgcGFyYW1zYCwgdmFsaWRhdGVSZXMuZXJyb3JzKSk7XG4gIH1cblxuICBzZXNzaW9uLnBvbGljeSA9IHNlY3VyaXR5ICYmIHNlY3VyaXR5LnBvbGljeSB8fCBzZXNzaW9uLnBvbGljeTtcbiAgc2Vzc2lvbi5zaWduYXR1cmUgPSBzZWN1cml0eSAmJiBzZWN1cml0eS5zaWduYXR1cmUgfHwgc2Vzc2lvbi5zaWduYXR1cmU7XG5cbiAgY29uc3QgZmlsZWxpbmsgPSBuZXcgRmlsZWxpbmsodXJsLCBzZXNzaW9uLmFwaWtleSk7XG4gIGZpbGVsaW5rLnN0b3JlKHN0b3JlUGFyYW1zKTtcblxuICBpZiAoc2Vzc2lvbi5wb2xpY3kgJiYgc2Vzc2lvbi5zaWduYXR1cmUpIHtcbiAgICBmaWxlbGluay5zZWN1cml0eSh7XG4gICAgICBwb2xpY3k6IHNlc3Npb24ucG9saWN5LFxuICAgICAgc2lnbmF0dXJlOiBzZXNzaW9uLnNpZ25hdHVyZSxcbiAgICB9KTtcbiAgfVxuXG4gIGxldCBvcHRpb25zOiBhbnkgPSB7fTtcblxuICBpZiAodG9rZW4pIHtcbiAgICBjb25zdCBjYW5jZWxUb2tlbiA9IG5ldyBGc0NhbmNlbFRva2VuKCk7XG4gICAgdG9rZW4uY2FuY2VsID0gY2FuY2VsVG9rZW4uY2FuY2VsLmJpbmQoY2FuY2VsVG9rZW4pO1xuICAgIG9wdGlvbnMuY2FuY2VsVG9rZW4gPSBjYW5jZWxUb2tlbjtcbiAgfVxuXG4gIGxldCBzb3VyY2VzOiBhbnkgPSBbIHVybCBdO1xuXG4gIGlmIChoZWFkZXJzKSB7XG4gICAgc291cmNlcyA9IFt7XG4gICAgICBzb3VyY2U6IHVybCxcbiAgICAgIGhlYWRlcnMsXG4gICAgfV07XG4gIH1cblxuICBpZiAod29ya2Zsb3dJZHMgJiYgd29ya2Zsb3dJZHMubGVuZ3RoID4gMCkge1xuICAgIGZpbGVsaW5rLmFkZFRhc2soJ3N0b3JlJywgeyB3b3JrZmxvd3M6IHdvcmtmbG93SWRzIH0pO1xuICB9XG5cbiAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3Nlc3Npb24udXJscy5wcm9jZXNzVXJsfS9wcm9jZXNzYCwge1xuICAgIGFwaWtleTogc2Vzc2lvbi5hcGlrZXksXG4gICAgc291cmNlcyxcbiAgICB0YXNrczogZmlsZWxpbmsuZ2V0VGFza3MoKSxcbiAgICB1cGxvYWRfdGFnczogdXBsb2FkVGFncyxcbiAgfSwgb3B0aW9ucykudGhlbigocmVzKSA9PiB7XG4gICAgaWYgKHJlcy5kYXRhICYmIHJlcy5kYXRhLmhhbmRsZSkge1xuICAgICAgaWYgKHJlcy5kYXRhLnVwbG9hZF90YWdzKSB7XG4gICAgICAgIHJlcy5kYXRhLnVwbG9hZFRhZ3MgPSByZXMuZGF0YS51cGxvYWRfdGFncztcbiAgICAgICAgZGVsZXRlIHJlcy5kYXRhLnVwbG9hZF90YWdzO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4geyAuLi5yZXMuZGF0YSwgbWltZXR5cGU6IHJlcy5kYXRhLnR5cGUgfTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoYEludmFsaWQgc3RvcmUgcmVzcG9uc2UgJHtKU09OLnN0cmluZ2lmeShyZXMuZGF0YSl9YCk7XG4gIH0pO1xufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7Ozs7QUFHSCwwQ0FBc0Q7QUFDdEQsMkRBQXlEO0FBQ3pELHlDQUFpRTtBQUNqRSxzQ0FBc0Q7QUFjdEQ7Ozs7Ozs7Ozs7R0FVRztBQUNJLElBQU0sUUFBUSxHQUFHLFVBQUMsRUFTUjtRQVJmLE9BQU8sYUFBQSxFQUNQLEdBQUcsU0FBQSxFQUNILFdBQVcsaUJBQUEsRUFDWCxLQUFLLFdBQUEsRUFDTCxRQUFRLGNBQUEsRUFDUixVQUFVLGdCQUFBLEVBQ1YsT0FBTyxhQUFBLEVBQ1AsV0FBVyxpQkFBQTtJQUVYLElBQUksQ0FBQyxHQUFHLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO1FBQ25DLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLGdDQUFjLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDO0tBQzNFO0lBRUQsSUFBTSxXQUFXLEdBQUcsSUFBQSxxQkFBWSxFQUFDLDBCQUFpQixDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFakUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUM3QixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxnQ0FBYyxDQUFDLHNCQUFzQixFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0tBQ3ZGO0lBRUQsT0FBTyxDQUFDLE1BQU0sR0FBRyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQy9ELE9BQU8sQ0FBQyxTQUFTLEdBQUcsUUFBUSxJQUFJLFFBQVEsQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUV4RSxJQUFNLFFBQVEsR0FBRyxJQUFJLG1CQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRTVCLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1FBQ3ZDLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFDaEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQ3RCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztTQUM3QixDQUFDLENBQUM7S0FDSjtJQUVELElBQUksT0FBTyxHQUFRLEVBQUUsQ0FBQztJQUV0QixJQUFJLEtBQUssRUFBRTtRQUNULElBQU0sV0FBVyxHQUFHLElBQUksdUJBQWEsRUFBRSxDQUFDO1FBQ3hDLEtBQUssQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEQsT0FBTyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7S0FDbkM7SUFFRCxJQUFJLE9BQU8sR0FBUSxDQUFFLEdBQUcsQ0FBRSxDQUFDO0lBRTNCLElBQUksT0FBTyxFQUFFO1FBQ1gsT0FBTyxHQUFHLENBQUM7Z0JBQ1QsTUFBTSxFQUFFLEdBQUc7Z0JBQ1gsT0FBTyxTQUFBO2FBQ1IsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUN6QyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0tBQ3ZEO0lBRUQsT0FBTyxtQkFBUyxDQUFDLElBQUksQ0FBQyxVQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxhQUFVLEVBQUU7UUFDMUQsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1FBQ3RCLE9BQU8sU0FBQTtRQUNQLEtBQUssRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFO1FBQzFCLFdBQVcsRUFBRSxVQUFVO0tBQ3hCLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsR0FBRztRQUNuQixJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDL0IsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDeEIsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQzNDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDN0I7WUFFRCw2Q0FBWSxHQUFHLENBQUMsSUFBSSxLQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksSUFBRztTQUNqRDtRQUVELE1BQU0sSUFBSSxnQ0FBYyxDQUFDLGlDQUEwQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBRSxDQUFDLENBQUM7SUFDakYsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUF2RVcsUUFBQSxRQUFRLFlBdUVuQiIsImZpbGUiOiJsaWIvYXBpL3N0b3JlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgU2VjdXJpdHksIFNlc3Npb24gfSBmcm9tICcuLi9jbGllbnQnO1xuaW1wb3J0IHsgRmlsZWxpbmssIFN0b3JlUGFyYW1zIH0gZnJvbSAnLi8uLi9maWxlbGluayc7XG5pbXBvcnQgeyBGaWxlc3RhY2tFcnJvciB9IGZyb20gJy4vLi4vLi4vZmlsZXN0YWNrX2Vycm9yJztcbmltcG9ydCB7IGdldFZhbGlkYXRvciwgU3RvcmVQYXJhbXNTY2hlbWEgfSBmcm9tICcuLy4uLy4uL3NjaGVtYSc7XG5pbXBvcnQgeyBGc1JlcXVlc3QsIEZzQ2FuY2VsVG9rZW4gfSBmcm9tICcuLi9yZXF1ZXN0JztcbmltcG9ydCB7IFVwbG9hZFRhZ3MgfSBmcm9tICcuL3VwbG9hZC9maWxlJztcblxuZXhwb3J0IHR5cGUgU3RvcmVVcmxQYXJhbXMgPSB7XG4gIHNlc3Npb246IFNlc3Npb247XG4gIHVybD86IHN0cmluZztcbiAgc3RvcmVQYXJhbXM/OiBTdG9yZVBhcmFtcztcbiAgdG9rZW4/OiBhbnk7XG4gIHNlY3VyaXR5PzogU2VjdXJpdHk7XG4gIHVwbG9hZFRhZ3M/OiBVcGxvYWRUYWdzO1xuICBoZWFkZXJzPzoge1trZXk6IHN0cmluZ106IHN0cmluZ30sXG4gIHdvcmtmbG93SWRzPzogc3RyaW5nW11cbn07XG5cbi8qKlxuICogU3RvcmUgZ2l2ZW4gdXJsIHdpdGggb3B0aW9ucyBhbmRcbiAqXG4gKiBAcGFyYW0gc2Vzc2lvblxuICogQHBhcmFtIHVybFxuICogQHBhcmFtIHN0b3JlT3B0c1xuICogQHBhcmFtIHRva2VuXG4gKiBAcGFyYW0gc2VjdXJpdHlcbiAqIEBwYXJhbSB1cGxvYWRUYWdzXG4gKiBAcGFyYW0gd29ya2Zsb3dJZHNcbiAqL1xuZXhwb3J0IGNvbnN0IHN0b3JlVVJMID0gKHtcbiAgc2Vzc2lvbixcbiAgdXJsLFxuICBzdG9yZVBhcmFtcyxcbiAgdG9rZW4sXG4gIHNlY3VyaXR5LFxuICB1cGxvYWRUYWdzLFxuICBoZWFkZXJzLFxuICB3b3JrZmxvd0lkcyxcbn06IFN0b3JlVXJsUGFyYW1zKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgaWYgKCF1cmwgfHwgdHlwZW9mIHVybCAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEZpbGVzdGFja0Vycm9yKCd1cmwgaXMgcmVxdWlyZWQgZm9yIHN0b3JlVVJMJykpO1xuICB9XG5cbiAgY29uc3QgdmFsaWRhdGVSZXMgPSBnZXRWYWxpZGF0b3IoU3RvcmVQYXJhbXNTY2hlbWEpKHN0b3JlUGFyYW1zKTtcblxuICBpZiAodmFsaWRhdGVSZXMuZXJyb3JzLmxlbmd0aCkge1xuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRmlsZXN0YWNrRXJyb3IoYEludmFsaWQgc3RvcmUgcGFyYW1zYCwgdmFsaWRhdGVSZXMuZXJyb3JzKSk7XG4gIH1cblxuICBzZXNzaW9uLnBvbGljeSA9IHNlY3VyaXR5ICYmIHNlY3VyaXR5LnBvbGljeSB8fCBzZXNzaW9uLnBvbGljeTtcbiAgc2Vzc2lvbi5zaWduYXR1cmUgPSBzZWN1cml0eSAmJiBzZWN1cml0eS5zaWduYXR1cmUgfHwgc2Vzc2lvbi5zaWduYXR1cmU7XG5cbiAgY29uc3QgZmlsZWxpbmsgPSBuZXcgRmlsZWxpbmsodXJsLCBzZXNzaW9uLmFwaWtleSk7XG4gIGZpbGVsaW5rLnN0b3JlKHN0b3JlUGFyYW1zKTtcblxuICBpZiAoc2Vzc2lvbi5wb2xpY3kgJiYgc2Vzc2lvbi5zaWduYXR1cmUpIHtcbiAgICBmaWxlbGluay5zZWN1cml0eSh7XG4gICAgICBwb2xpY3k6IHNlc3Npb24ucG9saWN5LFxuICAgICAgc2lnbmF0dXJlOiBzZXNzaW9uLnNpZ25hdHVyZSxcbiAgICB9KTtcbiAgfVxuXG4gIGxldCBvcHRpb25zOiBhbnkgPSB7fTtcblxuICBpZiAodG9rZW4pIHtcbiAgICBjb25zdCBjYW5jZWxUb2tlbiA9IG5ldyBGc0NhbmNlbFRva2VuKCk7XG4gICAgdG9rZW4uY2FuY2VsID0gY2FuY2VsVG9rZW4uY2FuY2VsLmJpbmQoY2FuY2VsVG9rZW4pO1xuICAgIG9wdGlvbnMuY2FuY2VsVG9rZW4gPSBjYW5jZWxUb2tlbjtcbiAgfVxuXG4gIGxldCBzb3VyY2VzOiBhbnkgPSBbIHVybCBdO1xuXG4gIGlmIChoZWFkZXJzKSB7XG4gICAgc291cmNlcyA9IFt7XG4gICAgICBzb3VyY2U6IHVybCxcbiAgICAgIGhlYWRlcnMsXG4gICAgfV07XG4gIH1cblxuICBpZiAod29ya2Zsb3dJZHMgJiYgd29ya2Zsb3dJZHMubGVuZ3RoID4gMCkge1xuICAgIGZpbGVsaW5rLmFkZFRhc2soJ3N0b3JlJywgeyB3b3JrZmxvd3M6IHdvcmtmbG93SWRzIH0pO1xuICB9XG5cbiAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3Nlc3Npb24udXJscy5wcm9jZXNzVXJsfS9wcm9jZXNzYCwge1xuICAgIGFwaWtleTogc2Vzc2lvbi5hcGlrZXksXG4gICAgc291cmNlcyxcbiAgICB0YXNrczogZmlsZWxpbmsuZ2V0VGFza3MoKSxcbiAgICB1cGxvYWRfdGFnczogdXBsb2FkVGFncyxcbiAgfSwgb3B0aW9ucykudGhlbigocmVzKSA9PiB7XG4gICAgaWYgKHJlcy5kYXRhICYmIHJlcy5kYXRhLmhhbmRsZSkge1xuICAgICAgaWYgKHJlcy5kYXRhLnVwbG9hZF90YWdzKSB7XG4gICAgICAgIHJlcy5kYXRhLnVwbG9hZFRhZ3MgPSByZXMuZGF0YS51cGxvYWRfdGFncztcbiAgICAgICAgZGVsZXRlIHJlcy5kYXRhLnVwbG9hZF90YWdzO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4geyAuLi5yZXMuZGF0YSwgbWltZXR5cGU6IHJlcy5kYXRhLnR5cGUgfTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoYEludmFsaWQgc3RvcmUgcmVzcG9uc2UgJHtKU09OLnN0cmluZ2lmeShyZXMuZGF0YSl9YCk7XG4gIH0pO1xufTtcbiJdfQ==

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

switch (_a.label) {
case 0: return [4 /*yield*/, store_1.storeURL({ session: mockedSession, url: sourceToStore })];
case 0: return [4 /*yield*/, (0, store_1.storeURL)({ session: mockedSession, url: sourceToStore })];
case 1:
_a.sent();
expect(request_1.FsRequest.post).toHaveBeenCalledWith(mockedSession.urls.processUrl + "/process", {
expect(request_1.FsRequest.post).toHaveBeenCalledWith("".concat(mockedSession.urls.processUrl, "/process"), {
apikey: mockedSession.apikey,

@@ -79,7 +79,7 @@ sources: [sourceToStore],

};
return [4 /*yield*/, store_1.storeURL({ session: mockedSession, url: sourceToStore, security: fakeSecurity })];
return [4 /*yield*/, (0, store_1.storeURL)({ session: mockedSession, url: sourceToStore, security: fakeSecurity })];
case 1:
_a.sent();
expect(filelink_1.Filelink.prototype.security).toHaveBeenCalledWith(fakeSecurity);
expect(request_1.FsRequest.post).toHaveBeenCalledWith(mockedSession.urls.processUrl + "/process", {
expect(request_1.FsRequest.post).toHaveBeenCalledWith("".concat(mockedSession.urls.processUrl, "/process"), {
apikey: mockedSession.apikey,

@@ -95,3 +95,3 @@ sources: [sourceToStore],

it('should throw error on wrong store params', function () {
return expect(store_1.storeURL({
return expect((0, store_1.storeURL)({
session: mockedSession,

@@ -115,3 +115,3 @@ url: sourceToStore,

};
return [4 /*yield*/, store_1.storeURL({
return [4 /*yield*/, (0, store_1.storeURL)({
session: mockedSession,

@@ -123,3 +123,3 @@ url: sourceToStore,

_a.sent();
expect(request_1.FsRequest.post).toHaveBeenCalledWith(mockedSession.urls.processUrl + "/process", {
expect(request_1.FsRequest.post).toHaveBeenCalledWith("".concat(mockedSession.urls.processUrl, "/process"), {
apikey: mockedSession.apikey,

@@ -129,2 +129,3 @@ sources: [sourceToStore],

upload_tags: undefined,
// expect.any(FsCancelToken) is not working correctly with mocked functions
}, { cancelToken: expect.any(Object) });

@@ -141,3 +142,3 @@ return [2 /*return*/];

uploadTags = { test: '123' };
return [4 /*yield*/, store_1.storeURL({
return [4 /*yield*/, (0, store_1.storeURL)({
session: mockedSession,

@@ -149,3 +150,3 @@ url: sourceToStore,

res = _a.sent();
expect(request_1.FsRequest.post).toHaveBeenCalledWith(mockedSession.urls.processUrl + "/process", {
expect(request_1.FsRequest.post).toHaveBeenCalledWith("".concat(mockedSession.urls.processUrl, "/process"), {
apikey: mockedSession.apikey,

@@ -162,3 +163,3 @@ sources: [sourceToStore],

it('should throw an error when missing url', function () {
return expect(store_1.storeURL({ session: mockedSession })).rejects.toEqual(expect.any(filestack_error_1.FilestackError));
return expect((0, store_1.storeURL)({ session: mockedSession })).rejects.toEqual(expect.any(filestack_error_1.FilestackError));
});

@@ -170,3 +171,3 @@ it('should throw on missing handle in response', function () {

}); });
return expect(store_1.storeURL({
return expect((0, store_1.storeURL)({
session: mockedSession,

@@ -179,3 +180,3 @@ url: sourceToStore,

switch (_a.label) {
case 0: return [4 /*yield*/, store_1.storeURL({
case 0: return [4 /*yield*/, (0, store_1.storeURL)({
session: mockedSession,

@@ -187,3 +188,3 @@ url: sourceToStore,

_a.sent();
expect(request_1.FsRequest.post).toHaveBeenCalledWith(mockedSession.urls.processUrl + "/process", {
expect(request_1.FsRequest.post).toHaveBeenCalledWith("".concat(mockedSession.urls.processUrl, "/process"), {
apikey: mockedSession.apikey,

@@ -199,2 +200,2 @@ sources: [sourceToStore],

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3N0b3JlLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7O0FBRUgsaUNBQW1DO0FBRW5DLDJEQUF5RDtBQUV6RCx5Q0FBd0M7QUFDeEMsd0NBQXlDO0FBQ3pDLDBDQUF5QztBQUV6QyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7QUFFMUIsSUFBTSxhQUFhLEdBQVk7SUFDN0IsTUFBTSxFQUFFLFlBQVk7SUFDcEIsSUFBSSxFQUFFLGVBQU0sQ0FBQyxJQUFJO0NBQ2xCLENBQUM7QUFFRixJQUFNLFdBQVcsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUVuQyxJQUFNLFlBQVksR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNyRCxJQUFNLHlCQUF5QixHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ2xFLElBQU0sYUFBYSxHQUFHLFlBQVksQ0FBQztBQUVuQyxRQUFRLENBQUMsVUFBVSxFQUFFO0lBRW5CLFVBQVUsQ0FBQztRQUNULGFBQWE7UUFDYixtQkFBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFDLENBQUMsRUFBRSxPQUFPO1lBQzNDLElBQUksUUFBUSxHQUFHO2dCQUNiLElBQUksRUFBRTtvQkFDSixNQUFNLEVBQUUsTUFBTTtpQkFDZjthQUNGLENBQUM7WUFFRixJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFO2dCQUNsQyxhQUFhO2dCQUNiLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7YUFDakQ7WUFFRCxPQUFPLE9BQU8sQ0FB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RXRDLENBQUMsQ0FBQztRQUVKLE9BQU8sTUFBTSxDQUFDLGdCQUFRLENBQUM7WUFDckIsT0FBTyxFQUFFLGFBQWE7WUFDdEIsR0FBRyxFQUFFLGFBQWE7U0FDbkIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGdDQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLCtDQUErQyxFQUFFOzs7d0JBQ2xELHFCQUFNLGdCQUFRLENBQUM7d0JBQ2IsT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLEdBQUcsRUFBRSxhQUFhO3dCQUNsQixXQUFXLGFBQUE7cUJBQ1osQ0FBQyxFQUFBOztvQkFKRixTQUlFLENBQUM7b0JBRUgsTUFBTSxDQUFDLG1CQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsb0JBQW9CLENBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLGFBQVUsRUFBRTt3QkFDdEYsTUFBTSxFQUFFLGFBQWEsQ0FBQyxNQUFNO3dCQUM1QixPQUFPLEVBQUUsQ0FBRSxhQUFhLENBQUU7d0JBQzFCLEtBQUssRUFBRSx5QkFBeUI7cUJBQ2pDLEVBQUUsRUFBRSxDQUFDLENBQUM7Ozs7U0FDUixDQUFDLENBQUM7QUFFTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvYXBpL3N0b3JlLnNwZWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBzdG9yZVVSTCB9IGZyb20gJy4vc3RvcmUnO1xuaW1wb3J0IHsgU2Vzc2lvbiB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgeyBGaWxlc3RhY2tFcnJvciB9IGZyb20gJy4vLi4vLi4vZmlsZXN0YWNrX2Vycm9yJztcblxuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi8uLi8uLi9jb25maWcnO1xuaW1wb3J0IHsgRnNSZXF1ZXN0IH0gZnJvbSAnLi8uLi9yZXF1ZXN0JztcbmltcG9ydCB7IEZpbGVsaW5rIH0gZnJvbSAnLi8uLi9maWxlbGluayc7XG5cbmplc3QubW9jaygnLi8uLi9maWxlbGluaycpO1xuamVzdC5tb2NrKCcuLy4uL3JlcXVlc3QnKTtcblxuY29uc3QgbW9ja2VkU2Vzc2lvbjogU2Vzc2lvbiA9IHtcbiAgYXBpa2V5OiAnZmFrZUFwaWtleScsXG4gIHVybHM6IGNvbmZpZy51cmxzLFxufTtcblxuY29uc3Qgd29ya2Zsb3dJZHMgPSBbJzEyMycsICczMjEnXTtcblxuY29uc3Qgc3RvcmVUYXNrRGVmID0gW3sgbmFtZTogJ3N0b3JlJywgcGFyYW1zOiB7fSB9XTtcbmNvbnN0IHN0b3JlVGFza0RlZldpdGhXb3JrZmxvd3MgPSBbeyBuYW1lOiAnc3RvcmUnLCBwYXJhbXM6IHt9IH1dO1xuY29uc3Qgc291cmNlVG9TdG9yZSA9ICd1cmxUb1N0b3JlJztcblxuZGVzY3JpYmUoJ1N0b3JlVVJMJywgKCkgPT4ge1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBGc1JlcXVlc3QucG9zdC5tb2NrSW1wbGVtZW50YXRpb24oKF8sIG9wdGlvbnMpID0+IHtcbiAgICAgIGxldCB0b1JldHVybiA9IHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGhhbmRsZTogJ3Rlc3QnLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy51cGxvYWRfdGFncykge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRvUmV0dXJuLmRhdGEudXBsb2FkX3RhZ3MgPSBvcHRpb25zLnVwbG9hZF90YWdzO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRvUmV0dXJuKTtcbiAgICB9KTtcblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBGaWxlbGluay5wcm90b3R5cGUuZ2V0VGFza3MubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHN0b3JlVGFza0RlZik7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY2FsbCBjb3JyZWN0IHN0b3JlIG1ldGhvZCcsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBzdG9yZVVSTCh7IHNlc3Npb246IG1vY2tlZFNlc3Npb24sIHVybDogc291cmNlVG9TdG9yZSB9KTtcblxuICAgIGV4cGVjdChGc1JlcXVlc3QucG9zdCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoYCR7bW9ja2VkU2Vzc2lvbi51cmxzLnByb2Nlc3NVcmx9L3Byb2Nlc3NgLCB7XG4gICAgICBhcGlrZXk6IG1vY2tlZFNlc3Npb24uYXBpa2V5LFxuICAgICAgc291cmNlczogWyBzb3VyY2VUb1N0b3JlIF0sXG4gICAgICB0YXNrczogc3RvcmVUYXNrRGVmLFxuICAgICAgdXBsb2FkX3RhZ3M6IHVuZGVmaW5lZCxcbiAgICB9LCB7fSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmVzcGVjdCBwYXNzZWQgc2VjdXJpdHkgYW5kIHBvbGljeScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBmYWtlU2VjdXJpdHkgPSB7XG4gICAgICBzaWduYXR1cmU6ICdmYWtlUycsXG4gICAgICBwb2xpY3k6ICdmYWtlUCcsXG4gICAgfTtcblxuICAgIGF3YWl0IHN0b3JlVVJMKHsgc2Vzc2lvbjogbW9ja2VkU2Vzc2lvbiwgdXJsOiBzb3VyY2VUb1N0b3JlLCBzZWN1cml0eTogZmFrZVNlY3VyaXR5IH0pO1xuXG4gICAgZXhwZWN0KEZpbGVsaW5rLnByb3RvdHlwZS5zZWN1cml0eSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZmFrZVNlY3VyaXR5KTtcblxuICAgIGV4cGVjdChGc1JlcXVlc3QucG9zdCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoYCR7bW9ja2VkU2Vzc2lvbi51cmxzLnByb2Nlc3NVcmx9L3Byb2Nlc3NgLCB7XG4gICAgICBhcGlrZXk6IG1vY2tlZFNlc3Npb24uYXBpa2V5LFxuICAgICAgc291cmNlczogWyBzb3VyY2VUb1N0b3JlIF0sXG4gICAgICB0YXNrczogc3RvcmVUYXNrRGVmLFxuICAgICAgdXBsb2FkX3RhZ3M6IHVuZGVmaW5lZCxcbiAgICB9LCB7fSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdGhyb3cgZXJyb3Igb24gd3Jvbmcgc3RvcmUgcGFyYW1zJywgKCkgPT4ge1xuICAgIHJldHVybiBleHBlY3Qoc3RvcmVVUkwoe1xuICAgICAgc2Vzc2lvbjogbW9ja2VkU2Vzc2lvbixcbiAgICAgIHVybDogc291cmNlVG9TdG9yZSxcbiAgICAgIHN0b3JlUGFyYW1zOiB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGVzdDogMTIzLFxuICAgICAgfSxcbiAgICB9KSkucmVqZWN0cy50b0VxdWFsKGV4cGVjdC5hbnkoRmlsZXN0YWNrRXJyb3IpKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXNwZWN0IHRva2VuIGNhbmNlbCcsIGFzeW5jICgpID0+IHtcbiAgICAvLyBzaW11bGF0ZSBvbGQgdG9rZW5cbiAgICBjb25zdCB0b2tlbiA9IHtcbiAgICAgIGNhbmNlbDogKCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnY2FuY2VsIG1ldGhvZCcpO1xuICAgICAgfSxcbiAgICB9O1xuXG4gICAgYXdhaXQgc3RvcmVVUkwoe1xuICAgICAgc2Vzc2lvbjogbW9ja2VkU2Vzc2lvbixcbiAgICAgIHVybDogc291cmNlVG9TdG9yZSxcbiAgICAgIHRva2VuLFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KEZzUmVxdWVzdC5wb3N0KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChgJHttb2NrZWRTZXNzaW9uLnVybHMucHJvY2Vzc1VybH0vcHJvY2Vzc2AsIHtcbiAgICAgIGFwaWtleTogbW9ja2VkU2Vzc2lvbi5hcGlrZXksXG4gICAgICBzb3VyY2VzOiBbIHNvdXJjZVRvU3RvcmUgXSxcbiAgICAgIHRhc2tzOiBzdG9yZVRhc2tEZWYsXG4gICAgICB1cGxvYWRfdGFnczogdW5kZWZpbmVkLFxuXG4gICAgICAvLyBleHBlY3QuYW55KEZzQ2FuY2VsVG9rZW4pIGlzIG5vdCB3b3JraW5nIGNvcnJlY3RseSB3aXRoIG1vY2tlZCBmdW5jdGlvbnNcbiAgICB9LCB7IGNhbmNlbFRva2VuOiBleHBlY3QuYW55KE9iamVjdCkgfSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcGFzcyB1cGxvYWQgdGFncyB0byByZXF1ZXN0JywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHVwbG9hZFRhZ3MgPSB7IHRlc3Q6ICcxMjMnIH07XG5cbiAgICBjb25zdCByZXMgPSBhd2FpdCBzdG9yZVVSTCh7XG4gICAgICBzZXNzaW9uOiBtb2NrZWRTZXNzaW9uLFxuICAgICAgdXJsOiBzb3VyY2VUb1N0b3JlLFxuICAgICAgdXBsb2FkVGFncyxcbiAgICB9KTtcblxuICAgIGV4cGVjdChGc1JlcXVlc3QucG9zdCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoYCR7bW9ja2VkU2Vzc2lvbi51cmxzLnByb2Nlc3NVcmx9L3Byb2Nlc3NgLCB7XG4gICAgICBhcGlrZXk6IG1vY2tlZFNlc3Npb24uYXBpa2V5LFxuICAgICAgc291cmNlczogWyBzb3VyY2VUb1N0b3JlIF0sXG4gICAgICB0YXNrczogc3RvcmVUYXNrRGVmLFxuICAgICAgdXBsb2FkX3RhZ3M6IHVwbG9hZFRhZ3MsXG4gICAgfSwge30pO1xuXG4gICAgZXhwZWN0KHJlcy51cGxvYWRUYWdzKS50b0VxdWFsKHVwbG9hZFRhZ3MpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIHdoZW4gbWlzc2luZyB1cmwnLCAoKSA9PiB7XG4gICAgcmV0dXJuIGV4cGVjdChzdG9yZVVSTCh7IHNlc3Npb246IG1vY2tlZFNlc3Npb24gfSkpLnJlamVjdHMudG9FcXVhbChleHBlY3QuYW55KEZpbGVzdGFja0Vycm9yKSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdGhyb3cgb24gbWlzc2luZyBoYW5kbGUgaW4gcmVzcG9uc2UnLCAoKSA9PiB7XG5cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgRnNSZXF1ZXN0LnBvc3QubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IFByb21pc2UucmVzb2x2ZSh7XG4gICAgICBkYXRhOiB7fSxcbiAgICB9KSk7XG5cbiAgICByZXR1cm4gZXhwZWN0KHN0b3JlVVJMKHtcbiAgICAgIHNlc3Npb246IG1vY2tlZFNlc3Npb24sXG4gICAgICB1cmw6IHNvdXJjZVRvU3RvcmUsXG4gICAgfSkpLnJlamVjdHMudG9FcXVhbChleHBlY3QuYW55KEZpbGVzdGFja0Vycm9yKSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byBydW4gc3RvcmVVcmwgd2l0aCB3b3JrZmxvd3MnLCBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgc3RvcmVVUkwoe1xuICAgICAgc2Vzc2lvbjogbW9ja2VkU2Vzc2lvbixcbiAgICAgIHVybDogc291cmNlVG9TdG9yZSxcbiAgICAgIHdvcmtmbG93SWRzLFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KEZzUmVxdWVzdC5wb3N0KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChgJHttb2NrZWRTZXNzaW9uLnVybHMucHJvY2Vzc1VybH0vcHJvY2Vzc2AsIHtcbiAgICAgIGFwaWtleTogbW9ja2VkU2Vzc2lvbi5hcGlrZXksXG4gICAgICBzb3VyY2VzOiBbIHNvdXJjZVRvU3RvcmUgXSxcbiAgICAgIHRhc2tzOiBzdG9yZVRhc2tEZWZXaXRoV29ya2Zsb3dzLFxuICAgIH0sIHt9KTtcbiAgfSk7XG5cbn0pO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3N0b3JlLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7O0FBRUgsaUNBQW1DO0FBRW5DLDJEQUF5RDtBQUV6RCx5Q0FBd0M7QUFDeEMsd0NBQXlDO0FBQ3pDLDBDQUF5QztBQUV6QyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7QUFFMUIsSUFBTSxhQUFhLEdBQVk7SUFDN0IsTUFBTSxFQUFFLFlBQVk7SUFDcEIsSUFBSSxFQUFFLGVBQU0sQ0FBQyxJQUFJO0NBQ2xCLENBQUM7QUFFRixJQUFNLFdBQVcsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUVuQyxJQUFNLFlBQVksR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNyRCxJQUFNLHlCQUF5QixHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ2xFLElBQU0sYUFBYSxHQUFHLFlBQVksQ0FBQztBQUVuQyxRQUFRLENBQUMsVUFBVSxFQUFFO0lBRW5CLFVBQVUsQ0FBQztRQUNULGFBQWE7UUFDYixtQkFBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFDLENBQUMsRUFBRSxPQUFPO1lBQzNDLElBQUksUUFBUSxHQUFHO2dCQUNiLElBQUksRUFBRTtvQkFDSixNQUFNLEVBQUUsTUFBTTtpQkFDZjthQUNGLENBQUM7WUFFRixJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFO2dCQUNsQyxhQUFhO2dCQUNiLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7YUFDakQ7WUFFRCxPQUFPLE9BQU8sQ0FB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T0FBQSxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ3RELElBQUksRUFBRSxFQUFFO1NBQ1QsQ0FBQyxFQUZzQyxDQUV0QyxDQUFDLENBQUM7UUFFSixPQUFPLE1BQU0sQ0FBQyxJQUFBLGdCQUFRLEVBQUM7WUFDckIsT0FBTyxFQUFFLGFBQWE7WUFDdEIsR0FBRyxFQUFFLGFBQWE7U0FDbkIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGdDQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLCtDQUErQyxFQUFFOzs7d0JBQ2xELHFCQUFNLElBQUEsZ0JBQVEsRUFBQzt3QkFDYixPQUFPLEVBQUUsYUFBYTt3QkFDdEIsR0FBRyxFQUFFLGFBQWE7d0JBQ2xCLFdBQVcsYUFBQTtxQkFDWixDQUFDLEVBQUE7O29CQUpGLFNBSUUsQ0FBQztvQkFFSCxNQUFNLENBQUMsbUJBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxhQUFVLEVBQUU7d0JBQ3RGLE1BQU0sRUFBRSxhQUFhLENBQUMsTUFBTTt3QkFDNUIsT0FBTyxFQUFFLENBQUUsYUFBYSxDQUFFO3dCQUMxQixLQUFLLEVBQUUseUJBQXlCO3FCQUNqQyxFQUFFLEVBQUUsQ0FBQyxDQUFDOzs7O1NBQ1IsQ0FBQyxDQUFDO0FBRUwsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS9zdG9yZS5zcGVjLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgc3RvcmVVUkwgfSBmcm9tICcuL3N0b3JlJztcbmltcG9ydCB7IFNlc3Npb24gfSBmcm9tICcuLi9jbGllbnQnO1xuaW1wb3J0IHsgRmlsZXN0YWNrRXJyb3IgfSBmcm9tICcuLy4uLy4uL2ZpbGVzdGFja19lcnJvcic7XG5cbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJy4vLi4vLi4vY29uZmlnJztcbmltcG9ydCB7IEZzUmVxdWVzdCB9IGZyb20gJy4vLi4vcmVxdWVzdCc7XG5pbXBvcnQgeyBGaWxlbGluayB9IGZyb20gJy4vLi4vZmlsZWxpbmsnO1xuXG5qZXN0Lm1vY2soJy4vLi4vZmlsZWxpbmsnKTtcbmplc3QubW9jaygnLi8uLi9yZXF1ZXN0Jyk7XG5cbmNvbnN0IG1vY2tlZFNlc3Npb246IFNlc3Npb24gPSB7XG4gIGFwaWtleTogJ2Zha2VBcGlrZXknLFxuICB1cmxzOiBjb25maWcudXJscyxcbn07XG5cbmNvbnN0IHdvcmtmbG93SWRzID0gWycxMjMnLCAnMzIxJ107XG5cbmNvbnN0IHN0b3JlVGFza0RlZiA9IFt7IG5hbWU6ICdzdG9yZScsIHBhcmFtczoge30gfV07XG5jb25zdCBzdG9yZVRhc2tEZWZXaXRoV29ya2Zsb3dzID0gW3sgbmFtZTogJ3N0b3JlJywgcGFyYW1zOiB7fSB9XTtcbmNvbnN0IHNvdXJjZVRvU3RvcmUgPSAndXJsVG9TdG9yZSc7XG5cbmRlc2NyaWJlKCdTdG9yZVVSTCcsICgpID0+IHtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgRnNSZXF1ZXN0LnBvc3QubW9ja0ltcGxlbWVudGF0aW9uKChfLCBvcHRpb25zKSA9PiB7XG4gICAgICBsZXQgdG9SZXR1cm4gPSB7XG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBoYW5kbGU6ICd0ZXN0JyxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMudXBsb2FkX3RhZ3MpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB0b1JldHVybi5kYXRhLnVwbG9hZF90YWdzID0gb3B0aW9ucy51cGxvYWRfdGFncztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0b1JldHVybik7XG4gICAgfSk7XG5cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgRmlsZWxpbmsucHJvdG90eXBlLmdldFRhc2tzLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBzdG9yZVRhc2tEZWYpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGNhbGwgY29ycmVjdCBzdG9yZSBtZXRob2QnLCBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgc3RvcmVVUkwoeyBzZXNzaW9uOiBtb2NrZWRTZXNzaW9uLCB1cmw6IHNvdXJjZVRvU3RvcmUgfSk7XG5cbiAgICBleHBlY3QoRnNSZXF1ZXN0LnBvc3QpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGAke21vY2tlZFNlc3Npb24udXJscy5wcm9jZXNzVXJsfS9wcm9jZXNzYCwge1xuICAgICAgYXBpa2V5OiBtb2NrZWRTZXNzaW9uLmFwaWtleSxcbiAgICAgIHNvdXJjZXM6IFsgc291cmNlVG9TdG9yZSBdLFxuICAgICAgdGFza3M6IHN0b3JlVGFza0RlZixcbiAgICAgIHVwbG9hZF90YWdzOiB1bmRlZmluZWQsXG4gICAgfSwge30pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJlc3BlY3QgcGFzc2VkIHNlY3VyaXR5IGFuZCBwb2xpY3knLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZmFrZVNlY3VyaXR5ID0ge1xuICAgICAgc2lnbmF0dXJlOiAnZmFrZVMnLFxuICAgICAgcG9saWN5OiAnZmFrZVAnLFxuICAgIH07XG5cbiAgICBhd2FpdCBzdG9yZVVSTCh7IHNlc3Npb246IG1vY2tlZFNlc3Npb24sIHVybDogc291cmNlVG9TdG9yZSwgc2VjdXJpdHk6IGZha2VTZWN1cml0eSB9KTtcblxuICAgIGV4cGVjdChGaWxlbGluay5wcm90b3R5cGUuc2VjdXJpdHkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGZha2VTZWN1cml0eSk7XG5cbiAgICBleHBlY3QoRnNSZXF1ZXN0LnBvc3QpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGAke21vY2tlZFNlc3Npb24udXJscy5wcm9jZXNzVXJsfS9wcm9jZXNzYCwge1xuICAgICAgYXBpa2V5OiBtb2NrZWRTZXNzaW9uLmFwaWtleSxcbiAgICAgIHNvdXJjZXM6IFsgc291cmNlVG9TdG9yZSBdLFxuICAgICAgdGFza3M6IHN0b3JlVGFza0RlZixcbiAgICAgIHVwbG9hZF90YWdzOiB1bmRlZmluZWQsXG4gICAgfSwge30pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGVycm9yIG9uIHdyb25nIHN0b3JlIHBhcmFtcycsICgpID0+IHtcbiAgICByZXR1cm4gZXhwZWN0KHN0b3JlVVJMKHtcbiAgICAgIHNlc3Npb246IG1vY2tlZFNlc3Npb24sXG4gICAgICB1cmw6IHNvdXJjZVRvU3RvcmUsXG4gICAgICBzdG9yZVBhcmFtczoge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRlc3Q6IDEyMyxcbiAgICAgIH0sXG4gICAgfSkpLnJlamVjdHMudG9FcXVhbChleHBlY3QuYW55KEZpbGVzdGFja0Vycm9yKSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmVzcGVjdCB0b2tlbiBjYW5jZWwnLCBhc3luYyAoKSA9PiB7XG4gICAgLy8gc2ltdWxhdGUgb2xkIHRva2VuXG4gICAgY29uc3QgdG9rZW4gPSB7XG4gICAgICBjYW5jZWw6ICgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ2NhbmNlbCBtZXRob2QnKTtcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGF3YWl0IHN0b3JlVVJMKHtcbiAgICAgIHNlc3Npb246IG1vY2tlZFNlc3Npb24sXG4gICAgICB1cmw6IHNvdXJjZVRvU3RvcmUsXG4gICAgICB0b2tlbixcbiAgICB9KTtcblxuICAgIGV4cGVjdChGc1JlcXVlc3QucG9zdCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoYCR7bW9ja2VkU2Vzc2lvbi51cmxzLnByb2Nlc3NVcmx9L3Byb2Nlc3NgLCB7XG4gICAgICBhcGlrZXk6IG1vY2tlZFNlc3Npb24uYXBpa2V5LFxuICAgICAgc291cmNlczogWyBzb3VyY2VUb1N0b3JlIF0sXG4gICAgICB0YXNrczogc3RvcmVUYXNrRGVmLFxuICAgICAgdXBsb2FkX3RhZ3M6IHVuZGVmaW5lZCxcblxuICAgICAgLy8gZXhwZWN0LmFueShGc0NhbmNlbFRva2VuKSBpcyBub3Qgd29ya2luZyBjb3JyZWN0bHkgd2l0aCBtb2NrZWQgZnVuY3Rpb25zXG4gICAgfSwgeyBjYW5jZWxUb2tlbjogZXhwZWN0LmFueShPYmplY3QpIH0pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHBhc3MgdXBsb2FkIHRhZ3MgdG8gcmVxdWVzdCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB1cGxvYWRUYWdzID0geyB0ZXN0OiAnMTIzJyB9O1xuXG4gICAgY29uc3QgcmVzID0gYXdhaXQgc3RvcmVVUkwoe1xuICAgICAgc2Vzc2lvbjogbW9ja2VkU2Vzc2lvbixcbiAgICAgIHVybDogc291cmNlVG9TdG9yZSxcbiAgICAgIHVwbG9hZFRhZ3MsXG4gICAgfSk7XG5cbiAgICBleHBlY3QoRnNSZXF1ZXN0LnBvc3QpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGAke21vY2tlZFNlc3Npb24udXJscy5wcm9jZXNzVXJsfS9wcm9jZXNzYCwge1xuICAgICAgYXBpa2V5OiBtb2NrZWRTZXNzaW9uLmFwaWtleSxcbiAgICAgIHNvdXJjZXM6IFsgc291cmNlVG9TdG9yZSBdLFxuICAgICAgdGFza3M6IHN0b3JlVGFza0RlZixcbiAgICAgIHVwbG9hZF90YWdzOiB1cGxvYWRUYWdzLFxuICAgIH0sIHt9KTtcblxuICAgIGV4cGVjdChyZXMudXBsb2FkVGFncykudG9FcXVhbCh1cGxvYWRUYWdzKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciB3aGVuIG1pc3NpbmcgdXJsJywgKCkgPT4ge1xuICAgIHJldHVybiBleHBlY3Qoc3RvcmVVUkwoeyBzZXNzaW9uOiBtb2NrZWRTZXNzaW9uIH0pKS5yZWplY3RzLnRvRXF1YWwoZXhwZWN0LmFueShGaWxlc3RhY2tFcnJvcikpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IG9uIG1pc3NpbmcgaGFuZGxlIGluIHJlc3BvbnNlJywgKCkgPT4ge1xuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIEZzUmVxdWVzdC5wb3N0Lm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgZGF0YToge30sXG4gICAgfSkpO1xuXG4gICAgcmV0dXJuIGV4cGVjdChzdG9yZVVSTCh7XG4gICAgICBzZXNzaW9uOiBtb2NrZWRTZXNzaW9uLFxuICAgICAgdXJsOiBzb3VyY2VUb1N0b3JlLFxuICAgIH0pKS5yZWplY3RzLnRvRXF1YWwoZXhwZWN0LmFueShGaWxlc3RhY2tFcnJvcikpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGJlIGFibGUgdG8gcnVuIHN0b3JlVXJsIHdpdGggd29ya2Zsb3dzJywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHN0b3JlVVJMKHtcbiAgICAgIHNlc3Npb246IG1vY2tlZFNlc3Npb24sXG4gICAgICB1cmw6IHNvdXJjZVRvU3RvcmUsXG4gICAgICB3b3JrZmxvd0lkcyxcbiAgICB9KTtcblxuICAgIGV4cGVjdChGc1JlcXVlc3QucG9zdCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoYCR7bW9ja2VkU2Vzc2lvbi51cmxzLnByb2Nlc3NVcmx9L3Byb2Nlc3NgLCB7XG4gICAgICBhcGlrZXk6IG1vY2tlZFNlc3Npb24uYXBpa2V5LFxuICAgICAgc291cmNlczogWyBzb3VyY2VUb1N0b3JlIF0sXG4gICAgICB0YXNrczogc3RvcmVUYXNrRGVmV2l0aFdvcmtmbG93cyxcbiAgICB9LCB7fSk7XG4gIH0pO1xuXG59KTtcbiJdfQ==

@@ -96,2 +96,15 @@ import { Session } from '../client';

*/
export declare enum EAudioTypes {
libmp3lame = "libmp3lame",
libvorbis = "libvorbis",
libfdk_aac = "libfdk_aac",
dib_ac3 = "dib_ac3",
pcm_s16le = "pcm_s16le",
mp2 = "mp2",
ac3 = "ac3",
eac3 = "eac3"
}
/**
* Convert to format
*/
export declare enum EVideoTypes {

@@ -353,2 +366,3 @@ h264 = "h264",

audio_bitrate?: number;
audio_codec?: EAudioTypes;
upscale: boolean;

@@ -355,0 +369,0 @@ video_bitrate?: number;

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.transform = exports.EVideoAccessMode = exports.EVideoAccess = exports.EVideoLocations = exports.EUrlscreenshotOrientation = exports.EUrlscreenshotMode = exports.EUrlscreenshotAgent = exports.EVideoTypes = exports.EAudioTypes = exports.EImageWatermarkPosition = exports.ESmartCropMode = exports.ECropfacesType = exports.EColorspaceType = exports.EStyleType = exports.ENoiseType = exports.EShapeType = exports.EBlurMode = exports.EFitOptions = exports.EAlignFacesOptions = exports.EAlignOptions = void 0;
var filelink_1 = require("./../filelink");

@@ -143,2 +144,16 @@ /**

*/
var EAudioTypes;
(function (EAudioTypes) {
EAudioTypes["libmp3lame"] = "libmp3lame";
EAudioTypes["libvorbis"] = "libvorbis";
EAudioTypes["libfdk_aac"] = "libfdk_aac";
EAudioTypes["dib_ac3"] = "dib_ac3";
EAudioTypes["pcm_s16le"] = "pcm_s16le";
EAudioTypes["mp2"] = "mp2";
EAudioTypes["ac3"] = "ac3";
EAudioTypes["eac3"] = "eac3";
})(EAudioTypes = exports.EAudioTypes || (exports.EAudioTypes = {}));
/**
* Convert to format
*/
var EVideoTypes;

@@ -230,3 +245,3 @@ (function (EVideoTypes) {

*/
exports.transform = function (session, url, options, b64) {
var transform = function (session, url, options, b64) {
if (options === void 0) { options = {}; }

@@ -252,3 +267,4 @@ if (b64 === void 0) { b64 = false; }

};
exports.transform = transform;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3RyYW5zZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUdILDBDQUF5QztBQUV6Qzs7R0FFRztBQUNILElBQU0sV0FBVyxHQUFHLFVBQUMsUUFBa0M7SUFDckQsSUFBSSxVQUFVLEdBQTZCLEVBQUUsQ0FBQztJQUU5QyxJQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRW5DLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3BDLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWhFLElBQUksT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM5RSxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JEO2FBQU07WUFDTCxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3hDO0tBQ0Y7SUFFRCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILElBQVksYUFNWDtBQU5ELFdBQVksYUFBYTtJQUN2Qiw4QkFBYSxDQUFBO0lBQ2IsZ0NBQWUsQ0FBQTtJQUNmLGtDQUFpQixDQUFBO0lBQ2pCLGtDQUFpQixDQUFB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R0ErQkc7QUFDVSxRQUFBLFNBQVMsR0FBRyxVQUFDLE9BQWdCLEVBQUUsR0FBc0IsRUFBRSxPQUE4QixFQUFFLEdBQW9CO0lBQXBELHdCQUFBLEVBQUEsWUFBOEI7SUFBRSxvQkFBQSxFQUFBLFdBQW9CO0lBQ3RILE9BQU8sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFL0IsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7UUFDdkMsT0FBTyxDQUFDLFFBQVEsR0FBRztZQUNqQixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDdEIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO1NBQzdCLENBQUM7S0FDSDtJQUVELElBQU0sUUFBUSxHQUFHLElBQUksbUJBQVEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQyxHQUEyQjtRQUN2RCxJQUFJLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEtBQUssT0FBTyxFQUFFO1lBQ3pFLE9BQU87U0FDUjtRQUVELFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDN0IsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9hcGkvdHJhbnNmb3JtLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgU2Vzc2lvbiB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgeyBGaWxlbGluayB9IGZyb20gJy4vLi4vZmlsZWxpbmsnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmNvbnN0IHRvU25ha2VDYXNlID0gKG9yaWdpbmFsOiB7IFtpbmRleDogc3RyaW5nXTogYW55IH0pOiB7IFtpbmRleDogc3RyaW5nXTogYW55IH0gPT4ge1xuICBsZXQgc25ha2VDYXNlZDogeyBbaW5kZXg6IHN0cmluZ106IGFueSB9ID0ge307XG5cbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKG9yaWdpbmFsKTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICBsZXQgbmV3S2V5ID0ga2V5c1tpXS5zcGxpdCgvKD89W0EtWl0pLykuam9pbignXycpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBpZiAodHlwZW9mIG9yaWdpbmFsW2tleXNbaV1dID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShvcmlnaW5hbFtrZXlzW2ldXSkpIHtcbiAgICAgIHNuYWtlQ2FzZWRbbmV3S2V5XSA9IHRvU25ha2VDYXNlKG9yaWdpbmFsW2tleXNbaV1dKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc25ha2VDYXNlZFtuZXdLZXldID0gb3JpZ2luYWxba2V5c1tpXV07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHNuYWtlQ2FzZWQ7XG59O1xuXG4vKipcbiAqIEFsaWduIGVudW1cbiAqL1xuZXhwb3J0IGVudW0gRUFsaWduT3B0aW9ucyB7XG4gIGxlZnQgPSAnbGVmdCcsXG4gIHJpZ2h0ID0gJ3JpZ2h0JyxcbiAgY2VudGVyID0gJ2NlbnRlcicsXG4gIGJvdHRvbSA9ICdib3R0b20nLFxuICB0b3AgPSAndG9wJyxcbn1cblxuLyoqXG4gKiBBbGlnbiBlbnVtIHdpdGggZmFjZXMgb3B0aW9uXG4gKi9cbmV4cG9ydCBlbnVtIEVBbGlnbkZhY2VzT3B0aW9ucyB7XG4gIGxlZnQgPSAnbGVmdCcsXG4gIHJpZ2h0ID0gJ3JpZ2h0JyxcbiAgY2VudGVyID0gJ2NlbnRlcicsXG4gIGJvdHRvbSA9ICdib3R0b20nLFxuICB0b3AgPSAndG9wJyxcbiAgZmFjZXMgPSAnZmFjZXMnLFxufVxuXG4vKipcbiAqIEZpdCBlbnVtXG4gKi9cbmV4cG9ydCBlbnVtIEVGaXRPcHRpb25zIHtcbiAgY2xpcCA9ICdjbGlwJyxcbiAgY3JvcCA9ICdjcm9wJyxcbiAgc2NhbGUgPSAnc2NhbGUnLFxuICBtYXggPSAnbWF4Jyxcbn1cblxuLyoqXG4gKiBCbHVyIGVudW1cbiAqL1xuZXhwb3J0IGVudW0gRUJsdXJNb2RlIHtcbiAgbGluZWFyID0gJ2xpbmVhcicsXG4gIGdhdXNzaWFuID0gJ2dhdXNzaWFuJyxcbn1cblxuLyoqXG4gKiBTaGFwZXMgZW51bVxuICovXG5leHBvcnQgZW51bSBFU2hhcGVUeXBlIHtcbiAgb3ZhbCA9ICdvdmFsJyxcbiAgcmVjdCA9ICdyZWN0Jyxcbn1cblxuLyoqXG4gKiBOb2lzZSB0eXBlIGVudW1cbiAqL1xuZXhwb3J0IGVudW0gRU5vaXNlVHlwZSB7XG4gIG5vbmUgPSAnbm9uZScsXG4gIGxvdyA9ICdsb3cnLFxuICBtZWRpdW0gPSAnbWVkaXVtJyxcbiAgaGlnaCA9ICdoaWdoJyxcbn1cblxuLyoqXG4gKiBTdHlsZSB0eXBlIGVudW1cbiAqL1xuZXhwb3J0IGVudW0gRVN0eWxlVHlwZSB7XG4gIGFydHdvcmsgPSAnYXJ0d29yaycsXG4gIHBob3RvID0gJ3Bob3RvJyxcbn1cblxuLyoqXG4gKiBDb2xvciBzcGFjZSBlbnVtXG4gKi9cbmV4cG9ydCBlbnVtIEVDb2xvcnNwYWNlVHlwZSB7XG4gIFJHQiA9ICdSR0InLFxuICBDTVlLID0gJ0NNWUsnLFxuICBJbnB1dCA9ICdJbnB1dCcsXG59XG5cbi8qKlxuICogQ3JvcCBmYWNlcyBvcHRpb25zIGVudW1cbiAqL1xuZXhwb3J0IGVudW0gRUNyb3BmYWNlc1R5cGUge1xuICB0aHVtYiA9ICd0aHVtYicsXG4gIGNyb3AgPSAnY3JvcCcsXG4gIGZpbGwgPSAnZmlsbCcsXG59XG5cbi8qKlxuICogU21hcnRDcm9wIG1vZGUgb3B0aW9ucyBlbnVtXG4gKi9cbmV4cG9ydCBlbnVtIEVTbWFydENyb3BNb2RlIHtcbiAgZml0ID0gJ2ZpdCcsXG4gIGF1dG8gPSAnYXV0bycsXG59XG5cbmV4cG9ydCBlbnVtIEVJbWFnZVdhdGVybWFya1Bvc2l0aW9uIHtcbiAgdG9wID0gJ3RvcCcsXG4gIG1pZGRsZSA9ICdtaWRkbGUnLFxuICBib3R0b20gPSAnYm90dG9tJyxcbiAgbGVmdCA9ICdsZWZ0JyxcbiAgY2VudGVyID0gJ2NlbnRlcicsXG4gIHJpZ2h0ID0gJ3JpZ2h0Jyxcbn1cblxuLyoqXG4gKiBDb252ZXJ0IHRvIGZvcm1hdFxuICovXG5leHBvcnQgZW51bSBFVmlkZW9UeXBlcyB7XG4gICAgaDI2NCA9ICdoMjY0JyxcbiAgICBoMjY0X2hpID0gJ2gyNjQuaGknLFxuICAgIHdlYm0gPSAnd2VibScsXG4gICAgJ3dlYm0taGknID0gJ3dlYm0uaGknLFxuICAgIG9nZyA9ICdvZ2cnLFxuICAgICdvZ2ctaGknID0gJ29nZy5oaScsXG4gICAgJ2hscy12YXJpYW50JyA9ICdobHMudmFyaWFudCcsXG4gICAgbXAzID0gJ21wMycsXG4gICAgb2dhID0gJ29nYScsXG4gICAgbTRhID0gJ200YScsXG4gICAgYWFjID0gJ2FhYycsXG4gICAgaGxzID0gJ2hscy52YXJpYW50LmF1ZGlvJyxcbn1cblxuZXhwb3J0IGVudW0gRVVybHNjcmVlbnNob3RBZ2VudCB7XG4gIGRlc2t0b3AgPSAnZGVza3RvcCcsXG4gIG1vYmlsZSA9ICdtb2JpbGUnLFxufVxuXG5leHBvcnQgZW51bSBFVXJsc2NyZWVuc2hvdE1vZGUge1xuICBhbGwgPSAnYWxsJyxcbiAgd2luZG93ID0gJ3dpbmRvdycsXG59XG5cbmV4cG9ydCBlbnVtIEVVcmxzY3JlZW5zaG90T3JpZW50YXRpb24ge1xuICBwb3J0cmFpdCA9ICdwb3J0cmFpdCcsXG4gIGxhbmRzY2FwZSA9ICdsYW5kc2NhcGUnLFxufVxuXG4vKipcbiAqIFZpZGVvIHN0b3JhZ2UgbG9jYXRpb25cbiAqL1xuZXhwb3J0IGVudW0gRVZpZGVvTG9jYXRpb25zIHtcbiAgczMgPSAnczMnLFxuICBhenVyZSA9ICdhenVyZScsXG4gIGdjcyA9ICdnY3MnLFxuICByYWNrc3BhY2UgPSAncmFja3NwYWNlJyxcbiAgZHJvcGJveCA9ICdkcm9wYm94Jyxcbn1cblxuZXhwb3J0IGVudW0gRVZpZGVvQWNjZXNzIHtcbiAgcHJpdmF0ZSA9ICdwcml2YXRlJyxcbiAgcHVibGljID0gJ3B1YmxpYycsXG59XG5cbmV4cG9ydCBlbnVtIEVWaWRlb0FjY2Vzc01vZGUge1xuICBwcmVzZXJ2ZSA9ICdwcmVzZXJ2ZScsXG4gIGNvbnN0cmFpbiA9ICdjb25zdHJhaW4nLFxuICBsZXR0ZXJib3ggPSAnbGV0dGVyYm94JyxcbiAgcGFkID0gJ3BhZCcsXG4gIGNyb3AgPSAnY3JvcCcsXG59XG5cbi8qKlxuICogQHNlZSBodHRwczovL3d3dy5maWxlc3RhY2suY29tL2RvY3MvaW1hZ2UtdHJhbnNmb3JtYXRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmb3JtT3B0aW9ucyB7XG4gIGZsaXA/OiBib29sZWFuO1xuICBjb21wcmVzcz86IGJvb2xlYW47XG4gIGZsb3A/OiBib29sZWFuO1xuICBub19tZXRhZGF0YT86IGJvb2xlYW47XG4gIHBqcGc/OiB7XG4gICAgcXVhbGl0eTogbnVtYmVyO1xuICAgIG1ldGFkYXRhOiBib29sZWFuO1xuICB9O1xuICBzbWFydF9jcm9wPzoge1xuICAgIG1vZGU/OiBFU21hcnRDcm9wTW9kZVxuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgaGVpZ2h0OiBudW1iZXI7XG4gIH07XG4gIHdhdGVybWFyaz86IHtcbiAgICBmaWxlczogc3RyaW5nO1xuICAgIHNpemU/OiBudW1iZXI7XG4gICAgcG9zaXRpb24/OiBFSW1hZ2VXYXRlcm1hcmtQb3NpdGlvbiB8IEVJbWFnZVdhdGVybWFya1Bvc2l0aW9uW107XG4gIH07XG4gIGltYWdlc2l6ZT86IGJvb2xlYW47XG4gIGVuY2hhbmNlPzogYm9vbGVhbjtcbiAgcmVkZXllPzogYm9vbGVhbjtcbiAgbW9ub2Nocm9tZT86IGJvb2xlYW47XG4gIG5lZ2F0aXZlPzogYm9vbGVhbjtcbiAgdGFncz86IGJvb2xlYW47XG4gIHNmdz86IGJvb2xlYW47XG4gIHN0b3JlPzoge1xuICAgIGZpbGVuYW1lPzogc3RyaW5nLFxuICAgIGxvY2F0aW9uPzogc3RyaW5nLFxuICAgIHBhdGg/OiBzdHJpbmcsXG4gICAgY29udGFpbmVyPzogc3RyaW5nLFxuICAgIHJlZ2lvbj86IHN0cmluZztcbiAgICBhY2Nlc3M/OiBzdHJpbmc7XG4gICAgYmFzZTY0ZGVjb2RlPzogYm9vbGVhbjtcbiAgfTtcbiAgcmVzaXplPzoge1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICBmaXQ/OiBFRml0T3B0aW9ucztcbiAgICBhbGlnbj86IEVBbGlnbkZhY2VzT3B0aW9ucztcbiAgfTtcbiAgY3JvcD86IHtcbiAgICBkaW06IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdXG4gIH07XG4gIHJvdGF0ZT86IHtcbiAgICBkZWc6IG51bWJlciB8IHN0cmluZztcbiAgICBjb2xvcj86IHN0cmluZztcbiAgICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICB9O1xuICBkZXRlY3RfZmFjZXM/OiB7XG4gICAgbWluc2l6ZT86IG51bWJlcjtcbiAgICBtYXhzaXplPzogbnVtYmVyO1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIGV4cG9ydD86IGJvb2xlYW47XG4gIH0gfCB0cnVlO1xuICBjcm9wX2ZhY2VzPzoge1xuICAgIG1vZGU/OiBFQ3JvcGZhY2VzVHlwZTtcbiAgICB3aWR0aD86IG51bWJlcjtcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgZmFjZXM/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgYnVmZmVyPzogbnVtYmVyO1xuICB9O1xuICBwaXhlbGF0ZV9mYWNlcz86IHtcbiAgICBmYWNlcz86IG51bWJlciB8IHN0cmluZztcbiAgICBtaW5zaXplPzogbnVtYmVyO1xuICAgIG1heHNpemU/OiBudW1iZXI7XG4gICAgYnVmZmVyPzogbnVtYmVyO1xuICAgIGFtb3VudD86IG51bWJlcjtcbiAgICBibHVyPzogbnVtYmVyO1xuICAgIHR5cGU/OiBFU2hhcGVUeXBlO1xuICB9O1xuICBibHVyX2ZhY2VzPzoge1xuICAgIGZhY2VzPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIG1pbnNpemU/OiBudW1iZXI7XG4gICAgbWF4c2l6ZT86IG51bWJlcjtcbiAgICBidWZmZXI/OiBudW1iZXI7XG4gICAgYW1vdW50PzogbnVtYmVyO1xuICAgIGJsdXI/OiBudW1iZXI7XG4gICAgdHlwZT86IEVTaGFwZVR5cGU7XG4gIH07XG4gIHJvdW5kZWRfY29ybmVycz86IHtcbiAgICByYWRpdXM/OiBudW1iZXI7XG4gICAgYmx1cj86IG51bWJlcjtcbiAgICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICB9IHwgdHJ1ZTtcbiAgdmlnbmV0dGU/OiB7XG4gICAgYW1vdW50PzogbnVtYmVyO1xuICAgIGJsdXJtb2RlPzogRUJsdXJNb2RlO1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIH07XG4gIHBvbGFyb2lkPzoge1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIHJvdGF0ZT86IG51bWJlcjtcbiAgICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICB9IHwgdHJ1ZTtcbiAgdG9ybl9lZGdlcz86IHtcbiAgICBzcHJlYWQ/OiBbbnVtYmVyLCBudW1iZXJdO1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIH0gfCB0cnVlO1xuICBzaGFkb3c/OiB7XG4gICAgYmx1cj86IG51bWJlcjtcbiAgICBvcGFjaXR5PzogbnVtYmVyO1xuICAgIHZlY3Rvcj86IFtudW1iZXIsIG51bWJlcl07XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgYmFja2dyb3VuZD86IHN0cmluZztcbiAgfSB8IHRydWU7XG4gIGNpcmNsZT86IHtcbiAgICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICB9IHwgdHJ1ZTtcbiAgYm9yZGVyPzoge1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIH0gfCB0cnVlO1xuICBzaGFycGVuPzoge1xuICAgIGFtb3VudDogbnVtYmVyO1xuICB9IHwgdHJ1ZTtcbiAgYmx1cj86IHtcbiAgICBhbW91bnQ6IG51bWJlcjtcbiAgfSB8IHRydWU7XG4gIGJsYWNrd2hpdGU/OiB7XG4gICAgdGhyZXNob2xkOiBudW1iZXI7XG4gIH0gfCB0cnVlO1xuICBzZXBpYT86IHtcbiAgICB0b25lOiBudW1iZXI7XG4gIH0gfCB0cnVlO1xuICBwaXhlbGF0ZT86IHtcbiAgICBhbW91bnQ6IG51bWJlcjtcbiAgfSB8IHRydWU7XG4gIG9pbF9wYWludD86IHtcbiAgICBhbW91bnQ6IG51bWJlcjtcbiAgfSB8IHRydWU7XG4gIG1vZHVsYXRlPzoge1xuICAgIGJyaWdodG5lc3M/OiBudW1iZXI7XG4gICAgaHVlPzogbnVtYmVyO1xuICAgIHNhdHVyYXRpb24/OiBudW1iZXI7XG4gIH0gfCB0cnVlO1xuICBwYXJ0aWFsX3BpeGVsYXRlPzoge1xuICAgIGFtb3VudD86IG51bWJlcjtcbiAgICBibHVyPzogbnVtYmVyO1xuICAgIHR5cGU/OiBFU2hhcGVUeXBlO1xuICAgIG9iamVjdHM/OiBbW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1dO1xuICB9O1xuICBwYXJ0aWFsX2JsdXI/OiB7XG4gICAgYW1vdW50OiBudW1iZXI7XG4gICAgYmx1cj86IG51bWJlcjtcbiAgICB0eXBlPzogRVNoYXBlVHlwZTtcbiAgICBvYmplY3RzPzogW1tudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdXTtcbiAgfTtcbiAgY29sbGFnZT86IHtcbiAgICBtYXJnaW4/OiBudW1iZXI7XG4gICAgd2lkdGg/OiBudW1iZXI7XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIGZpdD86IEVGaXRPcHRpb25zLFxuICAgIGZpbGVzOiBbc3RyaW5nXTtcbiAgfTtcbiAgdXBzY2FsZT86IHtcbiAgICB1cHNjYWxlPzogYm9vbGVhbjtcbiAgICBub2lzZT86IEVOb2lzZVR5cGU7XG4gICAgc3R5bGU/OiBFU3R5bGVUeXBlO1xuICB9IHwgdHJ1ZTtcbiAgYXNjaWk/OiB7XG4gICAgYmFja2dyb3VuZD86IHN0cmluZztcbiAgICBmb3JlZ3JvdW5kPzogc3RyaW5nO1xuICAgIGNvbG9yZWQ/OiBib29sZWFuO1xuICAgIHNpemU/OiBudW1iZXI7XG4gICAgcmV2ZXJzZT86IGJvb2xlYW47XG4gIH0gfCB0cnVlO1xuICBxdWFsaXR5Pzoge1xuICAgIHZhbHVlOiBudW1iZXI7XG4gIH07XG4gIHNlY3VyaXR5Pzoge1xuICAgIHBvbGljeTogc3RyaW5nO1xuICAgIHNpZ25hdHVyZT86IHN0cmluZztcbiAgfTtcbiAgb3V0cHV0Pzoge1xuICAgIGZvcm1hdDogc3RyaW5nO1xuICAgIGNvbG9yc3BhY2U/OiBzdHJpbmc7XG4gICAgc3RyaXA/OiBib29sZWFuO1xuICAgIHF1YWxpdHk/OiBudW1iZXI7XG4gICAgcGFnZT86IG51bWJlcjtcbiAgICBjb21wcmVzcz86IGJvb2xlYW47XG4gICAgZGVuc2l0eT86IG51bWJlcjtcbiAgICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICAgIHNlY3VyZT86IGJvb2xlYW47XG4gICAgZG9jaW5mbz86IGJvb2xlYW47XG4gICAgcGFnZWZvcm1hdD86IHN0cmluZztcbiAgICBwYWdlb3JpZW50YXRpb24/OiBzdHJpbmc7XG4gIH07XG4gIGNhY2hlPzoge1xuICAgIGNhY2hlPzogYm9vbGVhbjtcbiAgICBleHBpcnk6IG51bWJlcjtcbiAgfTtcbiAgLy8gYXVkaW8vdmlkZW9cbiAgdmlkZW9fY29udmVydD86IHtcbiAgICBhc3BlY3RfbW9kZTogRVZpZGVvQWNjZXNzTW9kZTtcbiAgICBwcmVzZXQ/OiBFVmlkZW9UeXBlcztcbiAgICBmb3JjZT86IGJvb2xlYW47XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgZXh0bmFtZT86IHN0cmluZztcbiAgICBmaWxlbmFtZT86IHN0cmluZztcbiAgICBsb2NhdGlvbj86IEVWaWRlb0xvY2F0aW9ucztcbiAgICBwYXRoPzogc3RyaW5nO1xuICAgIGFjY2Vzcz86IEVWaWRlb0FjY2VzcztcbiAgICBjb250YWluZXI/OiBzdHJpbmc7XG4gICAgYXVkaW9fYml0cmF0ZT86IG51bWJlcjtcbiAgICB1cHNjYWxlOiBib29sZWFuO1xuICAgIHZpZGVvX2JpdHJhdGU/OiBudW1iZXI7XG4gICAgYXVkaW9fc2FtcGxlX3JhdGU/OiBudW1iZXI7XG4gICAgYXVkaW9fY2hhbm5lbHM/OiBudW1iZXI7XG4gICAgY2xpcF9sZW5ndGg/OiBzdHJpbmc7XG4gICAgY2xpcF9vZmZzZXQ/OiBzdHJpbmc7XG4gICAgd2lkdGg/OiBudW1iZXI7XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgIHR3b19wYXNzPzogYm9vbGVhbjtcbiAgICBmcHM/OiBudW1iZXI7XG4gICAga2V5ZnJhbWVfaW50ZXJ2YWw/OiBudW1iZXI7XG4gICAgd2F0ZXJtYXJrX3VybD86IHN0cmluZztcbiAgICB3YXRlcm1hcmtfdG9wPzogbnVtYmVyO1xuICAgIHdhdGVybWFya19ib3R0b20/OiBudW1iZXI7XG4gICAgd2F0ZXJtYXJrX3JpZ2h0PzogbnVtYmVyO1xuICAgIHdhdGVybWFya19sZWZ0PzogbnVtYmVyO1xuICAgIHdhdGVybWFya193aWR0aD86IG51bWJlcjtcbiAgICB3YXRlcm1hcmtfaGVpZ2h0PzogbnVtYmVyO1xuICB9O1xuICB1cmxzY3JlZW5zaG90Pzoge1xuICAgIGFnZW50PzogRVVybHNjcmVlbnNob3RBZ2VudDtcbiAgICB3aWR0aD86IG51bWJlcjtcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgbW9kZT86IEVVcmxzY3JlZW5zaG90TW9kZTtcbiAgICBkZWxheT86IG51bWJlcjtcbiAgICBvcmllbnRhdGlvbj86IEVVcmxzY3JlZW5zaG90T3JpZW50YXRpb247XG4gICAgZGV2aWNlPzogc3RyaW5nO1xuICB9IHwgdHJ1ZTtcbiAgcGRmaW5mbz86IHtcbiAgICBjb2xvcmluZm8/OiBib29sZWFuXG4gIH0gfCB0cnVlO1xuICBwZGZjb252ZXJ0Pzoge1xuICAgIHBhZ2VvcmllbnRhdGlvbj86IHN0cmluZ1xuICAgIHBhZ2Vmb3JtYXQ/OiBzdHJpbmdcbiAgICBwYWdlcz86IChzdHJpbmcgfCBudW1iZXIpW11cbiAgfTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGZpbGVzdGFjayB0cmFuc2Zvcm0gdXJsLlxuICogVHJhbnNmb3JtIHBhcmFtcyBjYW4gYmUgcHJvdmlkZWQgaW4gY2FtZWxDYXNlIG9yIHNuYWtlQ2FzZSBzdHlsZVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBqc1xuICogLy8gY2FtZWxDYXNlXG4gKiBjb25zb2xlLmxvZyh0cmFuc2Zvcm0oc2Vzc2lvbiwge1xuICogICAgcGFydGlhbFBpeGVsYXRlOiB7XG4gKiAgICAgIG9iamVjdHM6IFtbMTAsIDIwLCAyMDAsIDI1MF0sIFsyNzUsIDkxLCA1MDAsIDU1N11dLFxuICogICAgfSxcbiAqICB9LCAndGVzdGZpbGUnKSk7XG4gKiBgYGBcbiAqIHJlc3VsdCA9PiBodHRwczovL2Nkbi5maWxlc3RhY2tjb250ZW50LmNvbS9wYXJ0aWFsX3BpeGVsYXRlPW9iamVjdHM6W1sxMCwyMCwyMDAsMjUwXSxbMjc1LDkxLDUwMCw1NTddXS90ZXN0ZmlsZVxuICpcbiAqIGBgYGpzXG4gKiAvLyBzbmFrZV9jYXNlXG4gKiBjb25zb2xlLmxvZyh0cmFuc2Zvcm0oc2Vzc2lvbiwge1xuICogICAgcGFydGlhbF9waXhlbGF0ZToge1xuICogICAgICBvYmplY3RzOiBbWzEwLCAyMCwgMjAwLCAyNTBdLCBbMjc1LCA5MSwgNTAwLCA1NTddXSxcbiAqICAgIH0sXG4gKiAgfSwgJ3Rlc3RmaWxlJykpO1xuICogYGBgXG4gKiByZXN1bHQgPT4gaHR0cHM6Ly9jZG4uZmlsZXN0YWNrY29udGVudC5jb20vcGFydGlhbF9waXhlbGF0ZT1vYmplY3RzOltbMTAsMjAsMjAwLDI1MF0sWzI3NSw5MSw1MDAsNTU3XV0vdGVzdGZpbGVcbiAqXG4gKiBDbGllbnQudHJhbnNmb3JtIGlzIGRlcHJlY2F0ZWQuIFVzZSBGaWxlbGluayBjbGFzcyBpbnN0ZWFkXG4gKlxuICogQHByaXZhdGVcbiAqIEB0aHJvd3MgRXJyb3JcbiAqIEBwYXJhbSBvcHRpb25zIFRyYW5zZm9ybWF0aW9uIG9wdGlvbnNcbiAqIEBwYXJhbSB1cmwgdXJsLCBoYW5kbGUgb3IgYXJyYXkgb2YgZWxlbWVudHNcbiAqL1xuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybSA9IChzZXNzaW9uOiBTZXNzaW9uLCB1cmw6IHN0cmluZyB8IHN0cmluZ1tdLCBvcHRpb25zOiBUcmFuc2Zvcm1PcHRpb25zID0ge30sIGI2NDogYm9vbGVhbiA9IGZhbHNlKTogc3RyaW5nID0+IHtcbiAgb3B0aW9ucyA9IHRvU25ha2VDYXNlKG9wdGlvbnMpO1xuXG4gIGlmIChzZXNzaW9uLnBvbGljeSAmJiBzZXNzaW9uLnNpZ25hdHVyZSkge1xuICAgIG9wdGlvbnMuc2VjdXJpdHkgPSB7XG4gICAgICBwb2xpY3k6IHNlc3Npb24ucG9saWN5LFxuICAgICAgc2lnbmF0dXJlOiBzZXNzaW9uLnNpZ25hdHVyZSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgZmlsZWxpbmsgPSBuZXcgRmlsZWxpbmsodXJsLCBzZXNzaW9uLmFwaWtleSk7XG4gIGZpbGVsaW5rLnNldENuYW1lKHNlc3Npb24uY25hbWUpO1xuICBmaWxlbGluay5zZXRCYXNlNjQoYjY0KTtcblxuICBPYmplY3Qua2V5cyhvcHRpb25zKS5mb3JFYWNoKChrZXk6IGtleW9mIFRyYW5zZm9ybU9wdGlvbnMpID0+IHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnNba2V5XSA9PT0gJ2Jvb2xlYW4nICYmICFvcHRpb25zW2tleV0gJiYga2V5ICE9PSAnY2FjaGUnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZmlsZWxpbmsuYWRkVGFzayhrZXksIG9wdGlvbnNba2V5XSk7XG4gIH0pO1xuXG4gIHJldHVybiBmaWxlbGluay50b1N0cmluZygpO1xufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3RyYW5zZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFHSCwwQ0FBeUM7QUFFekM7O0dBRUc7QUFDSCxJQUFNLFdBQVcsR0FBRyxVQUFDLFFBQWtDO0lBQ3JELElBQUksVUFBVSxHQUE2QixFQUFFLENBQUM7SUFFOUMsSUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUVuQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNwQyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVoRSxJQUFJLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDOUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRDthQUFNO1lBQ0wsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN4QztLQUNGO0lBRUQsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxJQUFZLGFBTVg7QUFORCxXQUFZLGFBQWE7SUFDdkIsOEJBQWEsQ0FBQTtJQUNiLGdDQUFlLENBQUE7SUFDZixrQ0FBaUIsQ0FBQTtJQUNqQixrQ0FBaUIsQ0FB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TyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQzdCLENBQUMsQ0FBQztBQXZCVyxRQUFBLFNBQVMsYUF1QnBCIiwiZmlsZSI6ImxpYi9hcGkvdHJhbnNmb3JtLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgU2Vzc2lvbiB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgeyBGaWxlbGluayB9IGZyb20gJy4vLi4vZmlsZWxpbmsnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmNvbnN0IHRvU25ha2VDYXNlID0gKG9yaWdpbmFsOiB7IFtpbmRleDogc3RyaW5nXTogYW55IH0pOiB7IFtpbmRleDogc3RyaW5nXTogYW55IH0gPT4ge1xuICBsZXQgc25ha2VDYXNlZDogeyBbaW5kZXg6IHN0cmluZ106IGFueSB9ID0ge307XG5cbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKG9yaWdpbmFsKTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICBsZXQgbmV3S2V5ID0ga2V5c1tpXS5zcGxpdCgvKD89W0EtWl0pLykuam9pbignXycpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBpZiAodHlwZW9mIG9yaWdpbmFsW2tleXNbaV1dID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShvcmlnaW5hbFtrZXlzW2ldXSkpIHtcbiAgICAgIHNuYWtlQ2FzZWRbbmV3S2V5XSA9IHRvU25ha2VDYXNlKG9yaWdpbmFsW2tleXNbaV1dKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc25ha2VDYXNlZFtuZXdLZXldID0gb3JpZ2luYWxba2V5c1tpXV07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHNuYWtlQ2FzZWQ7XG59O1xuXG4vKipcbiAqIEFsaWduIGVudW1cbiAqL1xuZXhwb3J0IGVudW0gRUFsaWduT3B0aW9ucyB7XG4gIGxlZnQgPSAnbGVmdCcsXG4gIHJpZ2h0ID0gJ3JpZ2h0JyxcbiAgY2VudGVyID0gJ2NlbnRlcicsXG4gIGJvdHRvbSA9ICdib3R0b20nLFxuICB0b3AgPSAndG9wJyxcbn1cblxuLyoqXG4gKiBBbGlnbiBlbnVtIHdpdGggZmFjZXMgb3B0aW9uXG4gKi9cbmV4cG9ydCBlbnVtIEVBbGlnbkZhY2VzT3B0aW9ucyB7XG4gIGxlZnQgPSAnbGVmdCcsXG4gIHJpZ2h0ID0gJ3JpZ2h0JyxcbiAgY2VudGVyID0gJ2NlbnRlcicsXG4gIGJvdHRvbSA9ICdib3R0b20nLFxuICB0b3AgPSAndG9wJyxcbiAgZmFjZXMgPSAnZmFjZXMnLFxufVxuXG4vKipcbiAqIEZpdCBlbnVtXG4gKi9cbmV4cG9ydCBlbnVtIEVGaXRPcHRpb25zIHtcbiAgY2xpcCA9ICdjbGlwJyxcbiAgY3JvcCA9ICdjcm9wJyxcbiAgc2NhbGUgPSAnc2NhbGUnLFxuICBtYXggPSAnbWF4Jyxcbn1cblxuLyoqXG4gKiBCbHVyIGVudW1cbiAqL1xuZXhwb3J0IGVudW0gRUJsdXJNb2RlIHtcbiAgbGluZWFyID0gJ2xpbmVhcicsXG4gIGdhdXNzaWFuID0gJ2dhdXNzaWFuJyxcbn1cblxuLyoqXG4gKiBTaGFwZXMgZW51bVxuICovXG5leHBvcnQgZW51bSBFU2hhcGVUeXBlIHtcbiAgb3ZhbCA9ICdvdmFsJyxcbiAgcmVjdCA9ICdyZWN0Jyxcbn1cblxuLyoqXG4gKiBOb2lzZSB0eXBlIGVudW1cbiAqL1xuZXhwb3J0IGVudW0gRU5vaXNlVHlwZSB7XG4gIG5vbmUgPSAnbm9uZScsXG4gIGxvdyA9ICdsb3cnLFxuICBtZWRpdW0gPSAnbWVkaXVtJyxcbiAgaGlnaCA9ICdoaWdoJyxcbn1cblxuLyoqXG4gKiBTdHlsZSB0eXBlIGVudW1cbiAqL1xuZXhwb3J0IGVudW0gRVN0eWxlVHlwZSB7XG4gIGFydHdvcmsgPSAnYXJ0d29yaycsXG4gIHBob3RvID0gJ3Bob3RvJyxcbn1cblxuLyoqXG4gKiBDb2xvciBzcGFjZSBlbnVtXG4gKi9cbmV4cG9ydCBlbnVtIEVDb2xvcnNwYWNlVHlwZSB7XG4gIFJHQiA9ICdSR0InLFxuICBDTVlLID0gJ0NNWUsnLFxuICBJbnB1dCA9ICdJbnB1dCcsXG59XG5cbi8qKlxuICogQ3JvcCBmYWNlcyBvcHRpb25zIGVudW1cbiAqL1xuZXhwb3J0IGVudW0gRUNyb3BmYWNlc1R5cGUge1xuICB0aHVtYiA9ICd0aHVtYicsXG4gIGNyb3AgPSAnY3JvcCcsXG4gIGZpbGwgPSAnZmlsbCcsXG59XG5cbi8qKlxuICogU21hcnRDcm9wIG1vZGUgb3B0aW9ucyBlbnVtXG4gKi9cbmV4cG9ydCBlbnVtIEVTbWFydENyb3BNb2RlIHtcbiAgZml0ID0gJ2ZpdCcsXG4gIGF1dG8gPSAnYXV0bycsXG59XG5cbmV4cG9ydCBlbnVtIEVJbWFnZVdhdGVybWFya1Bvc2l0aW9uIHtcbiAgdG9wID0gJ3RvcCcsXG4gIG1pZGRsZSA9ICdtaWRkbGUnLFxuICBib3R0b20gPSAnYm90dG9tJyxcbiAgbGVmdCA9ICdsZWZ0JyxcbiAgY2VudGVyID0gJ2NlbnRlcicsXG4gIHJpZ2h0ID0gJ3JpZ2h0Jyxcbn1cblxuLyoqXG4gKiBDb252ZXJ0IHRvIGZvcm1hdFxuICovXG5leHBvcnQgZW51bSBFQXVkaW9UeXBlcyB7XG4gIGxpYm1wM2xhbWUgPSAnbGlibXAzbGFtZScsXG4gIGxpYnZvcmJpcyA9ICdsaWJ2b3JiaXMnLFxuICBsaWJmZGtfYWFjID0gJ2xpYmZka19hYWMnLFxuICBkaWJfYWMzID0gJ2RpYl9hYzMnLFxuICBwY21fczE2bGUgPSAncGNtX3MxNmxlJyxcbiAgbXAyID0gJ21wMicsXG4gIGFjMyA9ICdhYzMnLFxuICBlYWMzID0gJ2VhYzMnLFxufVxuXG4vKipcbiAqIENvbnZlcnQgdG8gZm9ybWF0XG4gKi9cbmV4cG9ydCBlbnVtIEVWaWRlb1R5cGVzIHtcbiAgICBoMjY0ID0gJ2gyNjQnLFxuICAgIGgyNjRfaGkgPSAnaDI2NC5oaScsXG4gICAgd2VibSA9ICd3ZWJtJyxcbiAgICAnd2VibS1oaScgPSAnd2VibS5oaScsXG4gICAgb2dnID0gJ29nZycsXG4gICAgJ29nZy1oaScgPSAnb2dnLmhpJyxcbiAgICAnaGxzLXZhcmlhbnQnID0gJ2hscy52YXJpYW50JyxcbiAgICBtcDMgPSAnbXAzJyxcbiAgICBvZ2EgPSAnb2dhJyxcbiAgICBtNGEgPSAnbTRhJyxcbiAgICBhYWMgPSAnYWFjJyxcbiAgICBobHMgPSAnaGxzLnZhcmlhbnQuYXVkaW8nLFxufVxuXG5leHBvcnQgZW51bSBFVXJsc2NyZWVuc2hvdEFnZW50IHtcbiAgZGVza3RvcCA9ICdkZXNrdG9wJyxcbiAgbW9iaWxlID0gJ21vYmlsZScsXG59XG5cbmV4cG9ydCBlbnVtIEVVcmxzY3JlZW5zaG90TW9kZSB7XG4gIGFsbCA9ICdhbGwnLFxuICB3aW5kb3cgPSAnd2luZG93Jyxcbn1cblxuZXhwb3J0IGVudW0gRVVybHNjcmVlbnNob3RPcmllbnRhdGlvbiB7XG4gIHBvcnRyYWl0ID0gJ3BvcnRyYWl0JyxcbiAgbGFuZHNjYXBlID0gJ2xhbmRzY2FwZScsXG59XG5cbi8qKlxuICogVmlkZW8gc3RvcmFnZSBsb2NhdGlvblxuICovXG5leHBvcnQgZW51bSBFVmlkZW9Mb2NhdGlvbnMge1xuICBzMyA9ICdzMycsXG4gIGF6dXJlID0gJ2F6dXJlJyxcbiAgZ2NzID0gJ2djcycsXG4gIHJhY2tzcGFjZSA9ICdyYWNrc3BhY2UnLFxuICBkcm9wYm94ID0gJ2Ryb3Bib3gnLFxufVxuXG5leHBvcnQgZW51bSBFVmlkZW9BY2Nlc3Mge1xuICBwcml2YXRlID0gJ3ByaXZhdGUnLFxuICBwdWJsaWMgPSAncHVibGljJyxcbn1cblxuZXhwb3J0IGVudW0gRVZpZGVvQWNjZXNzTW9kZSB7XG4gIHByZXNlcnZlID0gJ3ByZXNlcnZlJyxcbiAgY29uc3RyYWluID0gJ2NvbnN0cmFpbicsXG4gIGxldHRlcmJveCA9ICdsZXR0ZXJib3gnLFxuICBwYWQgPSAncGFkJyxcbiAgY3JvcCA9ICdjcm9wJyxcbn1cblxuLyoqXG4gKiBAc2VlIGh0dHBzOi8vd3d3LmZpbGVzdGFjay5jb20vZG9jcy9pbWFnZS10cmFuc2Zvcm1hdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2Zvcm1PcHRpb25zIHtcbiAgZmxpcD86IGJvb2xlYW47XG4gIGNvbXByZXNzPzogYm9vbGVhbjtcbiAgZmxvcD86IGJvb2xlYW47XG4gIG5vX21ldGFkYXRhPzogYm9vbGVhbjtcbiAgcGpwZz86IHtcbiAgICBxdWFsaXR5OiBudW1iZXI7XG4gICAgbWV0YWRhdGE6IGJvb2xlYW47XG4gIH07XG4gIHNtYXJ0X2Nyb3A/OiB7XG4gICAgbW9kZT86IEVTbWFydENyb3BNb2RlXG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBoZWlnaHQ6IG51bWJlcjtcbiAgfTtcbiAgd2F0ZXJtYXJrPzoge1xuICAgIGZpbGVzOiBzdHJpbmc7XG4gICAgc2l6ZT86IG51bWJlcjtcbiAgICBwb3NpdGlvbj86IEVJbWFnZVdhdGVybWFya1Bvc2l0aW9uIHwgRUltYWdlV2F0ZXJtYXJrUG9zaXRpb25bXTtcbiAgfTtcbiAgaW1hZ2VzaXplPzogYm9vbGVhbjtcbiAgZW5jaGFuY2U/OiBib29sZWFuO1xuICByZWRleWU/OiBib29sZWFuO1xuICBtb25vY2hyb21lPzogYm9vbGVhbjtcbiAgbmVnYXRpdmU/OiBib29sZWFuO1xuICB0YWdzPzogYm9vbGVhbjtcbiAgc2Z3PzogYm9vbGVhbjtcbiAgc3RvcmU/OiB7XG4gICAgZmlsZW5hbWU/OiBzdHJpbmcsXG4gICAgbG9jYXRpb24/OiBzdHJpbmcsXG4gICAgcGF0aD86IHN0cmluZyxcbiAgICBjb250YWluZXI/OiBzdHJpbmcsXG4gICAgcmVnaW9uPzogc3RyaW5nO1xuICAgIGFjY2Vzcz86IHN0cmluZztcbiAgICBiYXNlNjRkZWNvZGU/OiBib29sZWFuO1xuICB9O1xuICByZXNpemU/OiB7XG4gICAgd2lkdGg/OiBudW1iZXI7XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgIGZpdD86IEVGaXRPcHRpb25zO1xuICAgIGFsaWduPzogRUFsaWduRmFjZXNPcHRpb25zO1xuICB9O1xuICBjcm9wPzoge1xuICAgIGRpbTogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cbiAgfTtcbiAgcm90YXRlPzoge1xuICAgIGRlZzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIH07XG4gIGRldGVjdF9mYWNlcz86IHtcbiAgICBtaW5zaXplPzogbnVtYmVyO1xuICAgIG1heHNpemU/OiBudW1iZXI7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgZXhwb3J0PzogYm9vbGVhbjtcbiAgfSB8IHRydWU7XG4gIGNyb3BfZmFjZXM/OiB7XG4gICAgbW9kZT86IEVDcm9wZmFjZXNUeXBlO1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICBmYWNlcz86IG51bWJlciB8IHN0cmluZztcbiAgICBidWZmZXI/OiBudW1iZXI7XG4gIH07XG4gIHBpeGVsYXRlX2ZhY2VzPzoge1xuICAgIGZhY2VzPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIG1pbnNpemU/OiBudW1iZXI7XG4gICAgbWF4c2l6ZT86IG51bWJlcjtcbiAgICBidWZmZXI/OiBudW1iZXI7XG4gICAgYW1vdW50PzogbnVtYmVyO1xuICAgIGJsdXI/OiBudW1iZXI7XG4gICAgdHlwZT86IEVTaGFwZVR5cGU7XG4gIH07XG4gIGJsdXJfZmFjZXM/OiB7XG4gICAgZmFjZXM/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgbWluc2l6ZT86IG51bWJlcjtcbiAgICBtYXhzaXplPzogbnVtYmVyO1xuICAgIGJ1ZmZlcj86IG51bWJlcjtcbiAgICBhbW91bnQ/OiBudW1iZXI7XG4gICAgYmx1cj86IG51bWJlcjtcbiAgICB0eXBlPzogRVNoYXBlVHlwZTtcbiAgfTtcbiAgcm91bmRlZF9jb3JuZXJzPzoge1xuICAgIHJhZGl1cz86IG51bWJlcjtcbiAgICBibHVyPzogbnVtYmVyO1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIH0gfCB0cnVlO1xuICB2aWduZXR0ZT86IHtcbiAgICBhbW91bnQ/OiBudW1iZXI7XG4gICAgYmx1cm1vZGU/OiBFQmx1ck1vZGU7XG4gICAgYmFja2dyb3VuZD86IHN0cmluZztcbiAgfTtcbiAgcG9sYXJvaWQ/OiB7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgcm90YXRlPzogbnVtYmVyO1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIH0gfCB0cnVlO1xuICB0b3JuX2VkZ2VzPzoge1xuICAgIHNwcmVhZD86IFtudW1iZXIsIG51bWJlcl07XG4gICAgYmFja2dyb3VuZD86IHN0cmluZztcbiAgfSB8IHRydWU7XG4gIHNoYWRvdz86IHtcbiAgICBibHVyPzogbnVtYmVyO1xuICAgIG9wYWNpdHk/OiBudW1iZXI7XG4gICAgdmVjdG9yPzogW251bWJlciwgbnVtYmVyXTtcbiAgICBjb2xvcj86IHN0cmluZztcbiAgICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICB9IHwgdHJ1ZTtcbiAgY2lyY2xlPzoge1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIH0gfCB0cnVlO1xuICBib3JkZXI/OiB7XG4gICAgd2lkdGg/OiBudW1iZXI7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgYmFja2dyb3VuZD86IHN0cmluZztcbiAgfSB8IHRydWU7XG4gIHNoYXJwZW4/OiB7XG4gICAgYW1vdW50OiBudW1iZXI7XG4gIH0gfCB0cnVlO1xuICBibHVyPzoge1xuICAgIGFtb3VudDogbnVtYmVyO1xuICB9IHwgdHJ1ZTtcbiAgYmxhY2t3aGl0ZT86IHtcbiAgICB0aHJlc2hvbGQ6IG51bWJlcjtcbiAgfSB8IHRydWU7XG4gIHNlcGlhPzoge1xuICAgIHRvbmU6IG51bWJlcjtcbiAgfSB8IHRydWU7XG4gIHBpeGVsYXRlPzoge1xuICAgIGFtb3VudDogbnVtYmVyO1xuICB9IHwgdHJ1ZTtcbiAgb2lsX3BhaW50Pzoge1xuICAgIGFtb3VudDogbnVtYmVyO1xuICB9IHwgdHJ1ZTtcbiAgbW9kdWxhdGU/OiB7XG4gICAgYnJpZ2h0bmVzcz86IG51bWJlcjtcbiAgICBodWU/OiBudW1iZXI7XG4gICAgc2F0dXJhdGlvbj86IG51bWJlcjtcbiAgfSB8IHRydWU7XG4gIHBhcnRpYWxfcGl4ZWxhdGU/OiB7XG4gICAgYW1vdW50PzogbnVtYmVyO1xuICAgIGJsdXI/OiBudW1iZXI7XG4gICAgdHlwZT86IEVTaGFwZVR5cGU7XG4gICAgb2JqZWN0cz86IFtbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXV07XG4gIH07XG4gIHBhcnRpYWxfYmx1cj86IHtcbiAgICBhbW91bnQ6IG51bWJlcjtcbiAgICBibHVyPzogbnVtYmVyO1xuICAgIHR5cGU/OiBFU2hhcGVUeXBlO1xuICAgIG9iamVjdHM/OiBbW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1dO1xuICB9O1xuICBjb2xsYWdlPzoge1xuICAgIG1hcmdpbj86IG51bWJlcjtcbiAgICB3aWR0aD86IG51bWJlcjtcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgZml0PzogRUZpdE9wdGlvbnMsXG4gICAgZmlsZXM6IFtzdHJpbmddO1xuICB9O1xuICB1cHNjYWxlPzoge1xuICAgIHVwc2NhbGU/OiBib29sZWFuO1xuICAgIG5vaXNlPzogRU5vaXNlVHlwZTtcbiAgICBzdHlsZT86IEVTdHlsZVR5cGU7XG4gIH0gfCB0cnVlO1xuICBhc2NpaT86IHtcbiAgICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICAgIGZvcmVncm91bmQ/OiBzdHJpbmc7XG4gICAgY29sb3JlZD86IGJvb2xlYW47XG4gICAgc2l6ZT86IG51bWJlcjtcbiAgICByZXZlcnNlPzogYm9vbGVhbjtcbiAgfSB8IHRydWU7XG4gIHF1YWxpdHk/OiB7XG4gICAgdmFsdWU6IG51bWJlcjtcbiAgfTtcbiAgc2VjdXJpdHk/OiB7XG4gICAgcG9saWN5OiBzdHJpbmc7XG4gICAgc2lnbmF0dXJlPzogc3RyaW5nO1xuICB9O1xuICBvdXRwdXQ/OiB7XG4gICAgZm9ybWF0OiBzdHJpbmc7XG4gICAgY29sb3JzcGFjZT86IHN0cmluZztcbiAgICBzdHJpcD86IGJvb2xlYW47XG4gICAgcXVhbGl0eT86IG51bWJlcjtcbiAgICBwYWdlPzogbnVtYmVyO1xuICAgIGNvbXByZXNzPzogYm9vbGVhbjtcbiAgICBkZW5zaXR5PzogbnVtYmVyO1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gICAgc2VjdXJlPzogYm9vbGVhbjtcbiAgICBkb2NpbmZvPzogYm9vbGVhbjtcbiAgICBwYWdlZm9ybWF0Pzogc3RyaW5nO1xuICAgIHBhZ2VvcmllbnRhdGlvbj86IHN0cmluZztcbiAgfTtcbiAgY2FjaGU/OiB7XG4gICAgY2FjaGU/OiBib29sZWFuO1xuICAgIGV4cGlyeTogbnVtYmVyO1xuICB9O1xuICAvLyBhdWRpby92aWRlb1xuICB2aWRlb19jb252ZXJ0Pzoge1xuICAgIGFzcGVjdF9tb2RlOiBFVmlkZW9BY2Nlc3NNb2RlO1xuICAgIHByZXNldD86IEVWaWRlb1R5cGVzO1xuICAgIGZvcmNlPzogYm9vbGVhbjtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBleHRuYW1lPzogc3RyaW5nO1xuICAgIGZpbGVuYW1lPzogc3RyaW5nO1xuICAgIGxvY2F0aW9uPzogRVZpZGVvTG9jYXRpb25zO1xuICAgIHBhdGg/OiBzdHJpbmc7XG4gICAgYWNjZXNzPzogRVZpZGVvQWNjZXNzO1xuICAgIGNvbnRhaW5lcj86IHN0cmluZztcbiAgICBhdWRpb19iaXRyYXRlPzogbnVtYmVyO1xuICAgIGF1ZGlvX2NvZGVjPzogRUF1ZGlvVHlwZXM7XG4gICAgdXBzY2FsZTogYm9vbGVhbjtcbiAgICB2aWRlb19iaXRyYXRlPzogbnVtYmVyO1xuICAgIGF1ZGlvX3NhbXBsZV9yYXRlPzogbnVtYmVyO1xuICAgIGF1ZGlvX2NoYW5uZWxzPzogbnVtYmVyO1xuICAgIGNsaXBfbGVuZ3RoPzogc3RyaW5nO1xuICAgIGNsaXBfb2Zmc2V0Pzogc3RyaW5nO1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICB0d29fcGFzcz86IGJvb2xlYW47XG4gICAgZnBzPzogbnVtYmVyO1xuICAgIGtleWZyYW1lX2ludGVydmFsPzogbnVtYmVyO1xuICAgIHdhdGVybWFya191cmw/OiBzdHJpbmc7XG4gICAgd2F0ZXJtYXJrX3RvcD86IG51bWJlcjtcbiAgICB3YXRlcm1hcmtfYm90dG9tPzogbnVtYmVyO1xuICAgIHdhdGVybWFya19yaWdodD86IG51bWJlcjtcbiAgICB3YXRlcm1hcmtfbGVmdD86IG51bWJlcjtcbiAgICB3YXRlcm1hcmtfd2lkdGg/OiBudW1iZXI7XG4gICAgd2F0ZXJtYXJrX2hlaWdodD86IG51bWJlcjtcbiAgfTtcbiAgdXJsc2NyZWVuc2hvdD86IHtcbiAgICBhZ2VudD86IEVVcmxzY3JlZW5zaG90QWdlbnQ7XG4gICAgd2lkdGg/OiBudW1iZXI7XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgIG1vZGU/OiBFVXJsc2NyZWVuc2hvdE1vZGU7XG4gICAgZGVsYXk/OiBudW1iZXI7XG4gICAgb3JpZW50YXRpb24/OiBFVXJsc2NyZWVuc2hvdE9yaWVudGF0aW9uO1xuICAgIGRldmljZT86IHN0cmluZztcbiAgfSB8IHRydWU7XG4gIHBkZmluZm8/OiB7XG4gICAgY29sb3JpbmZvPzogYm9vbGVhblxuICB9IHwgdHJ1ZTtcbiAgcGRmY29udmVydD86IHtcbiAgICBwYWdlb3JpZW50YXRpb24/OiBzdHJpbmdcbiAgICBwYWdlZm9ybWF0Pzogc3RyaW5nXG4gICAgcGFnZXM/OiAoc3RyaW5nIHwgbnVtYmVyKVtdXG4gIH07XG59XG5cbi8qKlxuICogQ3JlYXRlcyBmaWxlc3RhY2sgdHJhbnNmb3JtIHVybC5cbiAqIFRyYW5zZm9ybSBwYXJhbXMgY2FuIGJlIHByb3ZpZGVkIGluIGNhbWVsQ2FzZSBvciBzbmFrZUNhc2Ugc3R5bGVcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBganNcbiAqIC8vIGNhbWVsQ2FzZVxuICogY29uc29sZS5sb2codHJhbnNmb3JtKHNlc3Npb24sIHtcbiAqICAgIHBhcnRpYWxQaXhlbGF0ZToge1xuICogICAgICBvYmplY3RzOiBbWzEwLCAyMCwgMjAwLCAyNTBdLCBbMjc1LCA5MSwgNTAwLCA1NTddXSxcbiAqICAgIH0sXG4gKiAgfSwgJ3Rlc3RmaWxlJykpO1xuICogYGBgXG4gKiByZXN1bHQgPT4gaHR0cHM6Ly9jZG4uZmlsZXN0YWNrY29udGVudC5jb20vcGFydGlhbF9waXhlbGF0ZT1vYmplY3RzOltbMTAsMjAsMjAwLDI1MF0sWzI3NSw5MSw1MDAsNTU3XV0vdGVzdGZpbGVcbiAqXG4gKiBgYGBqc1xuICogLy8gc25ha2VfY2FzZVxuICogY29uc29sZS5sb2codHJhbnNmb3JtKHNlc3Npb24sIHtcbiAqICAgIHBhcnRpYWxfcGl4ZWxhdGU6IHtcbiAqICAgICAgb2JqZWN0czogW1sxMCwgMjAsIDIwMCwgMjUwXSwgWzI3NSwgOTEsIDUwMCwgNTU3XV0sXG4gKiAgICB9LFxuICogIH0sICd0ZXN0ZmlsZScpKTtcbiAqIGBgYFxuICogcmVzdWx0ID0+IGh0dHBzOi8vY2RuLmZpbGVzdGFja2NvbnRlbnQuY29tL3BhcnRpYWxfcGl4ZWxhdGU9b2JqZWN0czpbWzEwLDIwLDIwMCwyNTBdLFsyNzUsOTEsNTAwLDU1N11dL3Rlc3RmaWxlXG4gKlxuICogQ2xpZW50LnRyYW5zZm9ybSBpcyBkZXByZWNhdGVkLiBVc2UgRmlsZWxpbmsgY2xhc3MgaW5zdGVhZFxuICpcbiAqIEBwcml2YXRlXG4gKiBAdGhyb3dzIEVycm9yXG4gKiBAcGFyYW0gb3B0aW9ucyBUcmFuc2Zvcm1hdGlvbiBvcHRpb25zXG4gKiBAcGFyYW0gdXJsIHVybCwgaGFuZGxlIG9yIGFycmF5IG9mIGVsZW1lbnRzXG4gKi9cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm0gPSAoc2Vzc2lvbjogU2Vzc2lvbiwgdXJsOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3B0aW9uczogVHJhbnNmb3JtT3B0aW9ucyA9IHt9LCBiNjQ6IGJvb2xlYW4gPSBmYWxzZSk6IHN0cmluZyA9PiB7XG4gIG9wdGlvbnMgPSB0b1NuYWtlQ2FzZShvcHRpb25zKTtcblxuICBpZiAoc2Vzc2lvbi5wb2xpY3kgJiYgc2Vzc2lvbi5zaWduYXR1cmUpIHtcbiAgICBvcHRpb25zLnNlY3VyaXR5ID0ge1xuICAgICAgcG9saWN5OiBzZXNzaW9uLnBvbGljeSxcbiAgICAgIHNpZ25hdHVyZTogc2Vzc2lvbi5zaWduYXR1cmUsXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGZpbGVsaW5rID0gbmV3IEZpbGVsaW5rKHVybCwgc2Vzc2lvbi5hcGlrZXkpO1xuICBmaWxlbGluay5zZXRDbmFtZShzZXNzaW9uLmNuYW1lKTtcbiAgZmlsZWxpbmsuc2V0QmFzZTY0KGI2NCk7XG5cbiAgT2JqZWN0LmtleXMob3B0aW9ucykuZm9yRWFjaCgoa2V5OiBrZXlvZiBUcmFuc2Zvcm1PcHRpb25zKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBvcHRpb25zW2tleV0gPT09ICdib29sZWFuJyAmJiAhb3B0aW9uc1trZXldICYmIGtleSAhPT0gJ2NhY2hlJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZpbGVsaW5rLmFkZFRhc2soa2V5LCBvcHRpb25zW2tleV0pO1xuICB9KTtcblxuICByZXR1cm4gZmlsZWxpbmsudG9TdHJpbmcoKTtcbn07XG4iXX0=

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

it('should pass params to Filelink class', function () {
transform_1.transform(defaultSession, defaultHandle, {
(0, transform_1.transform)(defaultSession, defaultHandle, {
partial_pixelate: {

@@ -48,3 +48,3 @@ amount: 2,

it('should respect security params', function () {
transform_1.transform(tslib_1.__assign(tslib_1.__assign({}, defaultSession), defaultSecurity), defaultHandle, {
(0, transform_1.transform)(tslib_1.__assign(tslib_1.__assign({}, defaultSession), defaultSecurity), defaultHandle, {
partial_pixelate: {

@@ -57,3 +57,3 @@ amount: 2,

it('should respect cache=false transformation', function () {
transform_1.transform(defaultSession, defaultHandle, {
(0, transform_1.transform)(defaultSession, defaultHandle, {
// @ts-ignore

@@ -65,3 +65,3 @@ cache: false,

it('should remove falsy parameters transformation', function () {
transform_1.transform(defaultSession, defaultHandle, {
(0, transform_1.transform)(defaultSession, defaultHandle, {
flip: false,

@@ -72,3 +72,3 @@ });

it('should change cammel case to snake case transformations', function () {
transform_1.transform(defaultSession, defaultHandle, {
(0, transform_1.transform)(defaultSession, defaultHandle, {
// @ts-ignore

@@ -85,7 +85,7 @@ partialPixelate: {

var testUrl = 'nanana';
spyOn(filelink_1.Filelink.prototype, 'toString').and.callFake(function () { return testUrl; });
expect(transform_1.transform(defaultSession, defaultHandle)).toEqual(testUrl);
jest.spyOn(filelink_1.Filelink.prototype, 'toString').mockImplementation(function () { return testUrl; });
expect((0, transform_1.transform)(defaultSession, defaultHandle)).toEqual(testUrl);
});
it('should enable base64 on filelink', function () {
transform_1.transform(defaultSession, defaultHandle, {
(0, transform_1.transform)(defaultSession, defaultHandle, {
// @ts-ignore

@@ -100,2 +100,2 @@ partialPixelate: {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3RyYW5zZm9ybS5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILHlDQUF3QztBQUN4Qyx5Q0FBd0M7QUFDeEMsMENBQXlDO0FBRXpDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFM0IsSUFBTSxhQUFhLEdBQUcsaUJBQWlCLENBQUM7QUFDeEMsSUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7QUFDdkMsSUFBTSxlQUFlLEdBQUc7SUFDdEIsTUFBTSxFQUFFLGVBQWU7SUFDdkIsU0FBUyxFQUFFLGtCQUFrQjtDQUM5QixDQUFDO0FBRUYsSUFBTSxXQUFXLEdBQUcsZUFBTSxDQUFDLElBQUksQ0FBQztBQUNoQyxJQUFNLGNBQWMsR0FBRztJQUNyQixNQUFNLEVBQUUsYUFBYTtJQUNyQixJQUFJLEVBQUUsV0FBVztDQUNsQixDQUFDO0FBRUYsUUFBUSxDQUFDLGVBQWUsRUFBRTtJQUN4QixFQUFFLENBQUMsc0NBQXNDLEVBQUU7UUFDekMscUJBQVMsQ0FDUCxjQUFjLEVBQ2QsYUFBYSxFQUNiO1lBQ0UsZ0JBQWdCLEVBQUU7Z0JBQ2hCLE1BQU0sRUFBRSxDQUFDO2FBQ1Y7U0FDRixDQUNGLENBQUM7UUFFRixNQUFNLENBQUMsbUJBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLEVBQUU7WUFDMUUsTUFBTSxFQUFFLENBQUM7U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxnQ0FBZ0MsRUFBRTtRQUNuQyxxQkFBUyx1Q0FFRixjQUFjLEdBQ2QsZUFBZSxHQUVwQixhQUFhLEVBQ2I7WUFDRSxnQkFBZ0IsRUFBRTtnQkFDaEIsTUFBTSxFQUFFLENBQUM7YUFDVjtTQUNGLENBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxtQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDdkYsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsMkNBQTJDLEVBQUU7UUFDOUMscUJBQVMsQ0FDUCxjQUFjLEVBQ2QsYUFBYSxFQUNiO1lBQ0UsYUFBYTtZQUNiLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FDRixDQUFDO1FBRUYsTUFBTSxDQUFDLG1CQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywrQ0FBK0MsRUFBRTtRQUNsRCxxQkFBUyxDQUNQLGNBQWMsRUFDZCxhQUFhLEVBQ2I7WUFDRSxJQUFJLEVBQUUsS0FBSztTQUNaLENBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxtQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdFLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHlEQUF5RCxFQUFFO1FBQzVELHFCQUFTLENBQ1AsY0FBYyxFQUNkLGFBQWEsRUFDYjtZQUNFLGFBQWE7WUFDYixlQUFlLEVBQUU7Z0JBQ2YsTUFBTSxFQUFFLENBQUM7YUFDVjtTQUNGLENBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxtQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsRUFBRTtZQUMxRSxNQUFNLEVBQUUsQ0FBQztTQUNWLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHdEQUF3RCxFQUFFO1FBQzNELElBQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQztRQUN6QixLQUFLLENBQUMsbUJBQVEsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxjQUFNLE9BQUEsT0FBTyxFQUFQLENBQU8sQ0FBQyxDQUFDO1FBRWxFLE1BQU0sQ0FBQyxxQkFBUyxDQUNkLGNBQWMsRUFDZCxhQUFhLENBQ2QsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxrQ0FBa0MsRUFBRTtRQUNyQyxxQkFBUyxDQUNQLGNBQWMsRUFDZCxhQUFhLEVBQ2I7WUFDRSxhQUFhO1lBQ2IsZUFBZSxFQUFFO2dCQUNmLE1BQU0sRUFBRSxDQUFDO2FBQ1Y7U0FDRixFQUNELElBQUksQ0FDTCxDQUFDO1FBRUYsTUFBTSxDQUFDLG1CQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xFLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS90cmFuc2Zvcm0uc3BlYy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyB0cmFuc2Zvcm0gfSBmcm9tICcuL3RyYW5zZm9ybSc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICcuLy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBGaWxlbGluayB9IGZyb20gJy4vLi4vZmlsZWxpbmsnO1xuXG5qZXN0Lm1vY2soJy4vLi4vZmlsZWxpbmsnKTtcblxuY29uc3QgZGVmYXVsdEFwaWtleSA9ICdFWEFNUExFX0FQSV9LRVknO1xuY29uc3QgZGVmYXVsdEhhbmRsZSA9ICdFWEFNUExFX0hBTkRMRSc7XG5jb25zdCBkZWZhdWx0U2VjdXJpdHkgPSB7XG4gIHBvbGljeTogJ2V4YW1wbGVQb2xpY3knLFxuICBzaWduYXR1cmU6ICdleGFtcGxlU2lnbmF0dXJlJyxcbn07XG5cbmNvbnN0IHNlc3Npb25VUmxzID0gY29uZmlnLnVybHM7XG5jb25zdCBkZWZhdWx0U2Vzc2lvbiA9IHtcbiAgYXBpa2V5OiBkZWZhdWx0QXBpa2V5LFxuICB1cmxzOiBzZXNzaW9uVVJscyxcbn07XG5cbmRlc2NyaWJlKCdPbGRUcmFuc2Zvcm1zJywgKCkgPT4ge1xuICBpdCgnc2hvdWxkIHBhc3MgcGFyYW1zIHRvIEZpbGVsaW5rIGNsYXNzJywgKCkgPT4ge1xuICAgIHRyYW5zZm9ybShcbiAgICAgIGRlZmF1bHRTZXNzaW9uLFxuICAgICAgZGVmYXVsdEhhbmRsZSxcbiAgICAgIHtcbiAgICAgICAgcGFydGlhbF9waXhlbGF0ZToge1xuICAgICAgICAgIGFtb3VudDogMixcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgZXhwZWN0KEZpbGVsaW5rLnByb3RvdHlwZS5hZGRUYXNrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgncGFydGlhbF9waXhlbGF0ZScsIHtcbiAgICAgIGFtb3VudDogMixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXNwZWN0IHNlY3VyaXR5IHBhcmFtcycsICgpID0+IHtcbiAgICB0cmFuc2Zvcm0oXG4gICAgICB7XG4gICAgICAgIC4uLmRlZmF1bHRTZXNzaW9uLFxuICAgICAgICAuLi5kZWZhdWx0U2VjdXJpdHksXG4gICAgICB9LFxuICAgICAgZGVmYXVsdEhhbmRsZSxcbiAgICAgIHtcbiAgICAgICAgcGFydGlhbF9waXhlbGF0ZToge1xuICAgICAgICAgIGFtb3VudDogMixcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgZXhwZWN0KEZpbGVsaW5rLnByb3RvdHlwZS5hZGRUYXNrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnc2VjdXJpdHknLCBkZWZhdWx0U2VjdXJpdHkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJlc3BlY3QgY2FjaGU9ZmFsc2UgdHJhbnNmb3JtYXRpb24nLCAoKSA9PiB7XG4gICAgdHJhbnNmb3JtKFxuICAgICAgZGVmYXVsdFNlc3Npb24sXG4gICAgICBkZWZhdWx0SGFuZGxlLFxuICAgICAge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGNhY2hlOiBmYWxzZSxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgZXhwZWN0KEZpbGVsaW5rLnByb3RvdHlwZS5hZGRUYXNrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnY2FjaGUnLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmVtb3ZlIGZhbHN5IHBhcmFtZXRlcnMgdHJhbnNmb3JtYXRpb24nLCAoKSA9PiB7XG4gICAgdHJhbnNmb3JtKFxuICAgICAgZGVmYXVsdFNlc3Npb24sXG4gICAgICBkZWZhdWx0SGFuZGxlLFxuICAgICAge1xuICAgICAgICBmbGlwOiBmYWxzZSxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgZXhwZWN0KEZpbGVsaW5rLnByb3RvdHlwZS5hZGRUYXNrKS5ub3QudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ2ZsaXAnLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY2hhbmdlIGNhbW1lbCBjYXNlIHRvIHNuYWtlIGNhc2UgdHJhbnNmb3JtYXRpb25zJywgKCkgPT4ge1xuICAgIHRyYW5zZm9ybShcbiAgICAgIGRlZmF1bHRTZXNzaW9uLFxuICAgICAgZGVmYXVsdEhhbmRsZSxcbiAgICAgIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBwYXJ0aWFsUGl4ZWxhdGU6IHtcbiAgICAgICAgICBhbW91bnQ6IDIsXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgKTtcblxuICAgIGV4cGVjdChGaWxlbGluay5wcm90b3R5cGUuYWRkVGFzaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ3BhcnRpYWxfcGl4ZWxhdGUnLCB7XG4gICAgICBhbW91bnQ6IDIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdyZXR1cm4gY2FsbCB0b1N0cmluZyBvbiBmaWxlbGluayB3aGVuIHBhcmFtcyBhcmUgZW1wdHknLCAoKSA9PiB7XG4gICAgY29uc3QgdGVzdFVybCA9ICduYW5hbmEnO1xuICAgIHNweU9uKEZpbGVsaW5rLnByb3RvdHlwZSwgJ3RvU3RyaW5nJykuYW5kLmNhbGxGYWtlKCgpID0+IHRlc3RVcmwpO1xuXG4gICAgZXhwZWN0KHRyYW5zZm9ybShcbiAgICAgIGRlZmF1bHRTZXNzaW9uLFxuICAgICAgZGVmYXVsdEhhbmRsZVxuICAgICkpLnRvRXF1YWwodGVzdFVybCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZW5hYmxlIGJhc2U2NCBvbiBmaWxlbGluaycsICgpID0+IHtcbiAgICB0cmFuc2Zvcm0oXG4gICAgICBkZWZhdWx0U2Vzc2lvbixcbiAgICAgIGRlZmF1bHRIYW5kbGUsXG4gICAgICB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgcGFydGlhbFBpeGVsYXRlOiB7XG4gICAgICAgICAgYW1vdW50OiAyLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHRydWVcbiAgICApO1xuXG4gICAgZXhwZWN0KEZpbGVsaW5rLnByb3RvdHlwZS5zZXRCYXNlNjQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHRydWUpO1xuICB9KTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3RyYW5zZm9ybS5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILHlDQUF3QztBQUN4Qyx5Q0FBd0M7QUFDeEMsMENBQXlDO0FBRXpDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFM0IsSUFBTSxhQUFhLEdBQUcsaUJBQWlCLENBQUM7QUFDeEMsSUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7QUFDdkMsSUFBTSxlQUFlLEdBQUc7SUFDdEIsTUFBTSxFQUFFLGVBQWU7SUFDdkIsU0FBUyxFQUFFLGtCQUFrQjtDQUM5QixDQUFDO0FBRUYsSUFBTSxXQUFXLEdBQUcsZUFBTSxDQUFDLElBQUksQ0FBQztBQUNoQyxJQUFNLGNBQWMsR0FBRztJQUNyQixNQUFNLEVBQUUsYUFBYTtJQUNyQixJQUFJLEVBQUUsV0FBVztDQUNsQixDQUFDO0FBRUYsUUFBUSxDQUFDLGVBQWUsRUFBRTtJQUN4QixFQUFFLENBQUMsc0NBQXNDLEVBQUU7UUFDekMsSUFBQSxxQkFBUyxFQUNQLGNBQWMsRUFDZCxhQUFhLEVBQ2I7WUFDRSxnQkFBZ0IsRUFBRTtnQkFDaEIsTUFBTSxFQUFFLENBQUM7YUFDVjtTQUNGLENBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxtQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsRUFBRTtZQUMxRSxNQUFNLEVBQUUsQ0FBQztTQUNWLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGdDQUFnQyxFQUFFO1FBQ25DLElBQUEscUJBQVMsd0NBRUYsY0FBYyxHQUNkLGVBQWUsR0FFcEIsYUFBYSxFQUNiO1lBQ0UsZ0JBQWdCLEVBQUU7Z0JBQ2hCLE1BQU0sRUFBRSxDQUFDO2FBQ1Y7U0FDRixDQUNGLENBQUM7UUFFRixNQUFNLENBQUMsbUJBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsb0JBQW9CLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDJDQUEyQyxFQUFFO1FBQzlDLElBQUEscUJBQVMsRUFDUCxjQUFjLEVBQ2QsYUFBYSxFQUNiO1lBQ0UsYUFBYTtZQUNiLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FDRixDQUFDO1FBRUYsTUFBTSxDQUFDLG1CQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywrQ0FBK0MsRUFBRTtRQUNsRCxJQUFBLHFCQUFTLEVBQ1AsY0FBYyxFQUNkLGFBQWEsRUFDYjtZQUNFLElBQUksRUFBRSxLQUFLO1NBQ1osQ0FDRixDQUFDO1FBRUYsTUFBTSxDQUFDLG1CQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0UsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMseURBQXlELEVBQUU7UUFDNUQsSUFBQSxxQkFBUyxFQUNQLGNBQWMsRUFDZCxhQUFhLEVBQ2I7WUFDRSxhQUFhO1lBQ2IsZUFBZSxFQUFFO2dCQUNmLE1BQU0sRUFBRSxDQUFDO2FBQ1Y7U0FDRixDQUNGLENBQUM7UUFFRixNQUFNLENBQUMsbUJBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLEVBQUU7WUFDMUUsTUFBTSxFQUFFLENBQUM7U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx3REFBd0QsRUFBRTtRQUMzRCxJQUFNLE9BQU8sR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBUSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFNLE9BQUEsT0FBTyxFQUFQLENBQU8sQ0FBQyxDQUFDO1FBRTdFLE1BQU0sQ0FBQyxJQUFBLHFCQUFTLEVBQ2QsY0FBYyxFQUNkLGFBQWEsQ0FDZCxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGtDQUFrQyxFQUFFO1FBQ3JDLElBQUEscUJBQVMsRUFDUCxjQUFjLEVBQ2QsYUFBYSxFQUNiO1lBQ0UsYUFBYTtZQUNiLGVBQWUsRUFBRTtnQkFDZixNQUFNLEVBQUUsQ0FBQzthQUNWO1NBQ0YsRUFDRCxJQUFJLENBQ0wsQ0FBQztRQUVGLE1BQU0sQ0FBQyxtQkFBUSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9hcGkvdHJhbnNmb3JtLnNwZWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgdHJhbnNmb3JtIH0gZnJvbSAnLi90cmFuc2Zvcm0nO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi8uLi8uLi9jb25maWcnO1xuaW1wb3J0IHsgRmlsZWxpbmsgfSBmcm9tICcuLy4uL2ZpbGVsaW5rJztcblxuamVzdC5tb2NrKCcuLy4uL2ZpbGVsaW5rJyk7XG5cbmNvbnN0IGRlZmF1bHRBcGlrZXkgPSAnRVhBTVBMRV9BUElfS0VZJztcbmNvbnN0IGRlZmF1bHRIYW5kbGUgPSAnRVhBTVBMRV9IQU5ETEUnO1xuY29uc3QgZGVmYXVsdFNlY3VyaXR5ID0ge1xuICBwb2xpY3k6ICdleGFtcGxlUG9saWN5JyxcbiAgc2lnbmF0dXJlOiAnZXhhbXBsZVNpZ25hdHVyZScsXG59O1xuXG5jb25zdCBzZXNzaW9uVVJscyA9IGNvbmZpZy51cmxzO1xuY29uc3QgZGVmYXVsdFNlc3Npb24gPSB7XG4gIGFwaWtleTogZGVmYXVsdEFwaWtleSxcbiAgdXJsczogc2Vzc2lvblVSbHMsXG59O1xuXG5kZXNjcmliZSgnT2xkVHJhbnNmb3JtcycsICgpID0+IHtcbiAgaXQoJ3Nob3VsZCBwYXNzIHBhcmFtcyB0byBGaWxlbGluayBjbGFzcycsICgpID0+IHtcbiAgICB0cmFuc2Zvcm0oXG4gICAgICBkZWZhdWx0U2Vzc2lvbixcbiAgICAgIGRlZmF1bHRIYW5kbGUsXG4gICAgICB7XG4gICAgICAgIHBhcnRpYWxfcGl4ZWxhdGU6IHtcbiAgICAgICAgICBhbW91bnQ6IDIsXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgKTtcblxuICAgIGV4cGVjdChGaWxlbGluay5wcm90b3R5cGUuYWRkVGFzaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ3BhcnRpYWxfcGl4ZWxhdGUnLCB7XG4gICAgICBhbW91bnQ6IDIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmVzcGVjdCBzZWN1cml0eSBwYXJhbXMnLCAoKSA9PiB7XG4gICAgdHJhbnNmb3JtKFxuICAgICAge1xuICAgICAgICAuLi5kZWZhdWx0U2Vzc2lvbixcbiAgICAgICAgLi4uZGVmYXVsdFNlY3VyaXR5LFxuICAgICAgfSxcbiAgICAgIGRlZmF1bHRIYW5kbGUsXG4gICAgICB7XG4gICAgICAgIHBhcnRpYWxfcGl4ZWxhdGU6IHtcbiAgICAgICAgICBhbW91bnQ6IDIsXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgKTtcblxuICAgIGV4cGVjdChGaWxlbGluay5wcm90b3R5cGUuYWRkVGFzaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ3NlY3VyaXR5JywgZGVmYXVsdFNlY3VyaXR5KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXNwZWN0IGNhY2hlPWZhbHNlIHRyYW5zZm9ybWF0aW9uJywgKCkgPT4ge1xuICAgIHRyYW5zZm9ybShcbiAgICAgIGRlZmF1bHRTZXNzaW9uLFxuICAgICAgZGVmYXVsdEhhbmRsZSxcbiAgICAgIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBjYWNoZTogZmFsc2UsXG4gICAgICB9XG4gICAgKTtcblxuICAgIGV4cGVjdChGaWxlbGluay5wcm90b3R5cGUuYWRkVGFzaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ2NhY2hlJywgZmFsc2UpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJlbW92ZSBmYWxzeSBwYXJhbWV0ZXJzIHRyYW5zZm9ybWF0aW9uJywgKCkgPT4ge1xuICAgIHRyYW5zZm9ybShcbiAgICAgIGRlZmF1bHRTZXNzaW9uLFxuICAgICAgZGVmYXVsdEhhbmRsZSxcbiAgICAgIHtcbiAgICAgICAgZmxpcDogZmFsc2UsXG4gICAgICB9XG4gICAgKTtcblxuICAgIGV4cGVjdChGaWxlbGluay5wcm90b3R5cGUuYWRkVGFzaykubm90LnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCdmbGlwJywgZmFsc2UpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGNoYW5nZSBjYW1tZWwgY2FzZSB0byBzbmFrZSBjYXNlIHRyYW5zZm9ybWF0aW9ucycsICgpID0+IHtcbiAgICB0cmFuc2Zvcm0oXG4gICAgICBkZWZhdWx0U2Vzc2lvbixcbiAgICAgIGRlZmF1bHRIYW5kbGUsXG4gICAgICB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgcGFydGlhbFBpeGVsYXRlOiB7XG4gICAgICAgICAgYW1vdW50OiAyLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgICk7XG5cbiAgICBleHBlY3QoRmlsZWxpbmsucHJvdG90eXBlLmFkZFRhc2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCdwYXJ0aWFsX3BpeGVsYXRlJywge1xuICAgICAgYW1vdW50OiAyLFxuICAgIH0pO1xuICB9KTtcblxuICBpdCgncmV0dXJuIGNhbGwgdG9TdHJpbmcgb24gZmlsZWxpbmsgd2hlbiBwYXJhbXMgYXJlIGVtcHR5JywgKCkgPT4ge1xuICAgIGNvbnN0IHRlc3RVcmwgPSAnbmFuYW5hJztcbiAgICBqZXN0LnNweU9uKEZpbGVsaW5rLnByb3RvdHlwZSwgJ3RvU3RyaW5nJykubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHRlc3RVcmwpO1xuXG4gICAgZXhwZWN0KHRyYW5zZm9ybShcbiAgICAgIGRlZmF1bHRTZXNzaW9uLFxuICAgICAgZGVmYXVsdEhhbmRsZVxuICAgICkpLnRvRXF1YWwodGVzdFVybCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZW5hYmxlIGJhc2U2NCBvbiBmaWxlbGluaycsICgpID0+IHtcbiAgICB0cmFuc2Zvcm0oXG4gICAgICBkZWZhdWx0U2Vzc2lvbixcbiAgICAgIGRlZmF1bHRIYW5kbGUsXG4gICAgICB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgcGFydGlhbFBpeGVsYXRlOiB7XG4gICAgICAgICAgYW1vdW50OiAyLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHRydWVcbiAgICApO1xuXG4gICAgZXhwZWN0KEZpbGVsaW5rLnByb3RvdHlwZS5zZXRCYXNlNjQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHRydWUpO1xuICB9KTtcbn0pO1xuIl19
/// <reference types="node" />
import { File as FsFile } from './file';
import { SanitizeOptions } from './../../utils';
export declare type RawFile = Blob | Buffer | File | string;
export declare type NamedInputFile = {
export type RawFile = Blob | Buffer | File | string;
export type NamedInputFile = {
name?: string;
file: RawFile;
};
declare type InputFile = RawFile | NamedInputFile;
type InputFile = RawFile | NamedInputFile;
/**

@@ -11,0 +11,0 @@ * Accepts b64string or blob file

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getFile = void 0;
var tslib_1 = require("tslib");

@@ -23,3 +24,3 @@ /*

var filestack_error_1 = require("./../../../filestack_error");
var file_type_1 = require("file-type");
var file_type_1 = tslib_1.__importDefault(require("file-type"));
var base64Regexp = /data:([a-zA-Z]*\/[a-zA-Z]*);base64,([^\"]*)/i;

@@ -140,3 +141,3 @@ /**

*/
exports.getFile = function (input, sanitizeOptions) {
var getFile = function (input, sanitizeOptions) {
var filename;

@@ -184,3 +185,4 @@ var file;

};
exports.getFile = getFile;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9maWxlX3Rvb2xzLmJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsK0JBQXdDO0FBQ3hDLHVDQUE2RDtBQUM3RCw4REFBNEQ7QUFDNUQsdUNBQWlDO0FBVWpDLElBQU0sWUFBWSxHQUFHLDhDQUE4QyxDQUFDO0FBRXBFOzs7R0FHRztBQUNILElBQU0sVUFBVSxHQUFHLFVBQUMsS0FBZ0IsSUFBb0IsT0FBQSxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssZUFBZSxFQUFwQyxDQUFvQyxDQUFDO0FBRTdGOzs7OztHQUtHO0FBQ0gsSUFBTSxhQUFhLEdBQUcsVUFBQyxLQUFnQixJQUFvQixPQUFBLEtBQUssWUFBWSxJQUFJLEVBQXJCLENBQXFCLENBQUM7QUFFakY7Ozs7R0FJRztBQUNILElBQU0sVUFBVSxHQUFHLFVBQUMsS0FBZ0I7SUFDbEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtRQUNoQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUN6QztJQUVELElBQUk7UUFDRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUM7S0FDcEM7SUFBQyxPQUFPLEdBQUcsRUFBRTtRQUNaLDBCQUEwQjtRQUMxQixPQUFPLEtBQUssQ0FBQztLQUNkO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILElBQU0sV0FBVyxHQUFHLFVBQUMsS0FBZ0IsSUFBOEIsT0FBQSxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFB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QUFFLFFBQVE7d0JBQ2QsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO3dCQUNmLElBQUksRUFBRSxJQUFJO3dCQUNWLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSzt3QkFDaEIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO3FCQUNyQixFQUNELGVBQWUsQ0FDaEIsRUFBQzs7O1NBQ0gsQ0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9hcGkvdXBsb2FkL2ZpbGVfdG9vbHMuYnJvd3Nlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBGaWxlIGFzIEZzRmlsZSB9IGZyb20gJy4vZmlsZSc7XG5pbXBvcnQgeyBTYW5pdGl6ZU9wdGlvbnMsIGdldE1pbWV0eXBlIH0gZnJvbSAnLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBGaWxlc3RhY2tFcnJvciB9IGZyb20gJy4vLi4vLi4vLi4vZmlsZXN0YWNrX2Vycm9yJztcbmltcG9ydCBmaWxlVHlwZSBmcm9tICdmaWxlLXR5cGUnO1xuXG5leHBvcnQgdHlwZSBSYXdGaWxlID0gQmxvYiB8IEJ1ZmZlciB8IEZpbGUgfCBzdHJpbmc7XG5leHBvcnQgdHlwZSBOYW1lZElucHV0RmlsZSA9IHtcbiAgbmFtZT86IHN0cmluZztcbiAgZmlsZTogUmF3RmlsZTtcbn07XG5cbnR5cGUgSW5wdXRGaWxlID0gUmF3RmlsZSB8IE5hbWVkSW5wdXRGaWxlO1xuXG5jb25zdCBiYXNlNjRSZWdleHAgPSAvZGF0YTooW2EtekEtWl0qXFwvW2EtekEtWl0qKTtiYXNlNjQsKFteXFxcIl0qKS9pO1xuXG4vKipcbiAqIENoZWNrIGlmIGZpbGUgaXMgYmxvYlxuICogQHBhcmFtIGlucHV0XG4gKi9cbmNvbnN0IGlzRmlsZUJsb2IgPSAoaW5wdXQ6IElucHV0RmlsZSk6IGlucHV0IGlzIEJsb2IgPT4gaW5wdXQudG9TdHJpbmcoKSA9PT0gJ1tvYmplY3QgQmxvYl0nO1xuXG4vKipcbiAqIENoZWNrIGlmIGlucHV0IGlzIGluc3RhbmNlIG9mIGJyb3dzZXIgZmlsZVxuICpcbiAqIEBicm93c2VyXG4gKiBAcGFyYW0gaW5wdXRcbiAqL1xuY29uc3QgaXNGaWxlQnJvd3NlciA9IChpbnB1dDogSW5wdXRGaWxlKTogaW5wdXQgaXMgRmlsZSA9PiBpbnB1dCBpbnN0YW5jZW9mIEZpbGU7XG5cbi8qKlxuICogQ2hlY2sgaWYgZmlsZSBpcyBiYXNlNjQgc3RyaW5nXG4gKlxuICogQHBhcmFtIGlucHV0XG4gKi9cbmNvbnN0IGlzRmlsZUJhc2UgPSAoaW5wdXQ6IElucHV0RmlsZSk6IGlucHV0IGlzIHN0cmluZyA9PiB7XG4gIGlmICh0eXBlb2YgaW5wdXQgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGlucHV0LmluZGV4T2YoJ2Jhc2U2NCcpID4gLTEpIHtcbiAgICBpbnB1dCA9IGlucHV0Lm1hdGNoKGJhc2U2NFJlZ2V4cCkucG9wKCk7XG4gIH1cblxuICB0cnkge1xuICAgIHJldHVybiBidG9hKGF0b2IoaW5wdXQpKSA9PT0gaW5wdXQ7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGZpbGUgaXMgaW5zdGFuY2Ugb2YgbmFtZWQgaW50ZXJmYWNlXG4gKlxuICogQHBhcmFtIGlucHV0XG4gKi9cbmNvbnN0IGlzRmlsZU5hbWVkID0gKGlucHV0OiBJbnB1dEZpbGUpOiBpbnB1dCBpcyBOYW1lZElucHV0RmlsZSA9PiBpbnB1dCAmJiBpbnB1dFsnZmlsZSddICYmIGlucHV0WyduYW1lJ107XG5cbi8qKlxuICogQ29udmVydCBlbmNvZGVkIGJhc2U2NCBzdHJpbmcgb3IgZGF0YVVSSSB0byBibG9iXG4gKlxuICogQGJyb3dzZXJcbiAqIEBwYXJhbSBiNjRkYXRhICAgICBTdHJpbmcgdG8gZGVjb2RlXG4gKiBAcGFyYW0gc2xpY2VTaXplICAgQnl0ZSBxdWFudGl0eSB0byBzcGxpdCBkYXRhIGludG9cbiAqIEBwcml2YXRlXG4gKiBAcmV0dXJucyB7QmxvYn1cbiAqL1xuY29uc3QgYjY0dG9CbG9iID0gKGI2NERhdGE6IHN0cmluZywgc2xpY2VTaXplID0gNTEyKTogQmxvYiA9PiB7XG4gIGxldCBjb250ZW50VHlwZSA9ICcnO1xuXG4gIGlmIChiNjREYXRhLmluZGV4T2YoJ2Jhc2U2NCcpID4gLTEpIHtcbiAgICBjb25zdCBtYXRjaGVzID0gYjY0RGF0YS5tYXRjaChiYXNlNjRSZWdleHApO1xuICAgIGI2NERhdGEgPSBtYXRjaGVzLnBvcCgpO1xuICAgIGNvbnRlbnRUeXBlID0gbWF0Y2hlc1sxXTtcbiAgfVxuXG4gIGNvbnN0IGJ5dGVDaGFyYWN0ZXJzID0gYXRvYihiNjREYXRhKTtcbiAgY29uc3QgYnl0ZUFycmF5czogYW55W10gPSBbXTtcblxuICBmb3IgKGxldCBvZmZzZXQgPSAwOyBvZmZzZXQgPCBieXRlQ2hhcmFjdGVycy5sZW5ndGg7IG9mZnNldCArPSBzbGljZVNpemUpIHtcbiAgICBjb25zdCBzbGljZSA9IGJ5dGVDaGFyYWN0ZXJzLnNsaWNlKG9mZnNldCwgb2Zmc2V0ICsgc2xpY2VTaXplKTtcbiAgICBjb25zdCBieXRlTnVtYmVycyA9IG5ldyBBcnJheShzbGljZS5sZW5ndGgpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2xpY2UubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgIGJ5dGVOdW1iZXJzW2ldID0gc2xpY2UuY2hhckNvZGVBdChpKTtcbiAgICB9XG5cbiAgICBieXRlQXJyYXlzLnB1c2gobmV3IFVpbnQ4QXJyYXkoYnl0ZU51bWJlcnMpKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgQmxvYihieXRlQXJyYXlzLCB7IHR5cGU6IGNvbnRlbnRUeXBlIH0pO1xufTtcblxuLyoqXG4gKiBSZWFkIGZpbGUgYXMgYXJyYXkgYnVmZmVyXG4gKlxuICogQGJyb3dzZXJcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gYmxvYlxuICogQHJldHVybnMge0Jvb2xlYW59XG4gKi9cbmNvbnN0IHJlYWRGaWxlID0gYXN5bmMgKGZpbGUpOiBQcm9taXNlPGFueT4gPT4ge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBpZiAoIUZpbGUgfHwgIUZpbGVSZWFkZXIgfHwgIUJsb2IpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEZpbGVzdGFja0Vycm9yKCdUaGUgRmlsZSBBUElzIGFyZSBub3QgZnVsbHkgc3VwcG9ydGVkIGJ5IHlvdXIgYnJvd3NlcicpKTtcbiAgfVxuXG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgIHNsaWNlOiBmdW5jdGlvbihzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcikge1xuICAgICAgcmV0dXJuIHJlYWRQYXJ0KHN0YXJ0LCBlbmQsIGZpbGUpO1xuICAgIH0sXG4gICAgcmVsZWFzZTogKCkgPT4ge1xuICAgICAgZmlsZSA9IG51bGw7XG4gICAgfSxcbiAgfSk7XG59O1xuXG4vKipcbiAqIFJlYWQgZmlsZSBwYXIgaW5zdGVhZCBvZiB3aG9sZSBmaWxlIHRvIGF2b2lkIGJyb3dzZXIgY3Jhc2hpbmdcbiAqXG4gKiBAcGFyYW0gc3RhcnQgLSBzdGFyIGJ5dGVcbiAqIEBwYXJhbSBlbmQgIC0gZW5kIGJ5dGVcbiAqIEBwYXJhbSBmaWxlIC0gZmlsZSB0byBzbGljZVxuICovXG5jb25zdCByZWFkUGFydCA9IChzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlciwgZmlsZSk6IFByb21pc2U8YW55PiA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgciA9IG5ldyBGaWxlUmVhZGVyKCk7XG5cbiAgICBjb25zdCBibG9iID0gZmlsZS5zbGljZShzdGFydCwgZW5kKTtcbiAgICByLm9ubG9hZCA9ICgpID0+IHJlc29sdmUoci5yZXN1bHQpO1xuICAgIHIub25lcnJvciA9IHJlamVjdDtcbiAgICByLnJlYWRBc0FycmF5QnVmZmVyKGJsb2IpO1xuICB9KTtcbn07XG5cbi8qKlxuICogQWNjZXB0cyBiNjRzdHJpbmcgb3IgYmxvYiBmaWxlXG4gKlxuICogQGJyb3dzZXJcbiAqIEBwYXJhbSB7Kn0gZmlsZU9yU3RyaW5nXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxGaWxlPn1cbiAqL1xuZXhwb3J0IGNvbnN0IGdldEZpbGUgPSAoaW5wdXQ6IElucHV0RmlsZSwgc2FuaXRpemVPcHRpb25zPzogU2FuaXRpemVPcHRpb25zKTogUHJvbWlzZTxGc0ZpbGU+ID0+IHtcbiAgbGV0IGZpbGVuYW1lO1xuICBsZXQgZmlsZTogQmxvYjtcblxuICBpZiAoaXNGaWxlTmFtZWQoaW5wdXQpKSB7XG4gICAgZmlsZW5hbWUgPSBpbnB1dC5uYW1lO1xuICAgIGlucHV0ID0gaW5wdXQuZmlsZTtcbiAgfVxuXG4gIGlmIChpc0ZpbGVCcm93c2VyKGlucHV0KSkge1xuICAgIGZpbGUgPSBpbnB1dDtcbiAgICBmaWxlbmFtZSA9IGlucHV0Lm5hbWU7XG4gIH0gZWxzZSBpZiAoaXNGaWxlQmFzZShpbnB1dCkpIHtcbiAgICBmaWxlID0gYjY0dG9CbG9iKGlucHV0KTtcbiAgfSBlbHNlIGlmIChpc0ZpbGVCbG9iKGlucHV0KSkge1xuICAgIGZpbGUgPSBpbnB1dDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEZpbGVzdGFja0Vycm9yKCdVbnN1cHBvcnRlZCBpbnB1dCBmaWxlIHR5cGUnKSk7XG4gIH1cblxuICByZXR1cm4gcmVhZEZpbGUoZmlsZSkudGhlbihcbiAgICBhc3luYyByZXMgPT4ge1xuICAgICAgbGV0IG1pbWUgPSBmaWxlLnR5cGU7XG4gICAgICBpZiAoIWZpbGUudHlwZSAgfHwgZmlsZS50eXBlLmxlbmd0aCA9PT0gMCB8fCBmaWxlLnR5cGUgPT09ICd0ZXh0L3BsYWluJykge1xuICAgICAgICBtaW1lID0gZ2V0TWltZXR5cGUoYXdhaXQgcmVzLnNsaWNlKDAsIGZpbGVUeXBlLm1pbmltdW1CeXRlcyksIGZpbGVuYW1lKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5ldyBGc0ZpbGUoXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBmaWxlbmFtZSxcbiAgICAgICAgICBzaXplOiBmaWxlLnNpemUsXG4gICAgICAgICAgdHlwZTogbWltZSxcbiAgICAgICAgICBzbGljZTogcmVzLnNsaWNlLFxuICAgICAgICAgIHJlbGVhc2U6IHJlcy5yZWxlYXNlLFxuICAgICAgICB9LFxuICAgICAgICBzYW5pdGl6ZU9wdGlvbnNcbiAgICAgICk7XG4gICAgfVxuICApO1xufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9maWxlX3Rvb2xzLmJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILCtCQUF3QztBQUN4Qyx1Q0FBNkQ7QUFDN0QsOERBQTREO0FBQzVELGdFQUFpQztBQVVqQyxJQUFNLFlBQVksR0FBRyw4Q0FBOEMsQ0FBQztBQUVwRTs7O0dBR0c7QUFDSCxJQUFNLFVBQVUsR0FBRyxVQUFDLEtBQWdCLElBQW9CLE9BQUEsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLGVBQWUsRUFBcEMsQ0FBb0MsQ0FBQztBQUU3Rjs7Ozs7R0FLRztBQUNILElBQU0sYUFBYSxHQUFHLFVBQUMsS0FBZ0IsSUFBb0IsT0FBQSxLQUFLLFlBQVksSUFBSSxFQUFyQixDQUFxQixDQUFDO0FBRWpGOzs7O0dBSUc7QUFDSCxJQUFNLFVBQVUsR0FBRyxVQUFDLEtBQWdCO0lBQ2xDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7UUFDaEMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7S0FDekM7SUFFRCxJQUFJO1FBQ0YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDO0tBQ3BDO0lBQUMsT0FBTyxHQUFHLEVBQUU7UUFDWiwwQkFBMEI7UUFDMUIsT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxJQUFNLFdBQVcsR0FBRyxVQUFDLEtBQWdCLElBQThCLE9BQUEsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEVB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RUFBRSxRQUFRO3dCQUNkLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTt3QkFDZixJQUFJLEVBQUUsSUFBSTt3QkFDVixLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUs7d0JBQ2hCLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztxQkFDckIsRUFDRCxlQUFlLENBQ2hCLEVBQUM7OztTQUNILENBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXZDVyxRQUFBLE9BQU8sV0F1Q2xCIiwiZmlsZSI6ImxpYi9hcGkvdXBsb2FkL2ZpbGVfdG9vbHMuYnJvd3Nlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBGaWxlIGFzIEZzRmlsZSB9IGZyb20gJy4vZmlsZSc7XG5pbXBvcnQgeyBTYW5pdGl6ZU9wdGlvbnMsIGdldE1pbWV0eXBlIH0gZnJvbSAnLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBGaWxlc3RhY2tFcnJvciB9IGZyb20gJy4vLi4vLi4vLi4vZmlsZXN0YWNrX2Vycm9yJztcbmltcG9ydCBmaWxlVHlwZSBmcm9tICdmaWxlLXR5cGUnO1xuXG5leHBvcnQgdHlwZSBSYXdGaWxlID0gQmxvYiB8IEJ1ZmZlciB8IEZpbGUgfCBzdHJpbmc7XG5leHBvcnQgdHlwZSBOYW1lZElucHV0RmlsZSA9IHtcbiAgbmFtZT86IHN0cmluZztcbiAgZmlsZTogUmF3RmlsZTtcbn07XG5cbnR5cGUgSW5wdXRGaWxlID0gUmF3RmlsZSB8IE5hbWVkSW5wdXRGaWxlO1xuXG5jb25zdCBiYXNlNjRSZWdleHAgPSAvZGF0YTooW2EtekEtWl0qXFwvW2EtekEtWl0qKTtiYXNlNjQsKFteXFxcIl0qKS9pO1xuXG4vKipcbiAqIENoZWNrIGlmIGZpbGUgaXMgYmxvYlxuICogQHBhcmFtIGlucHV0XG4gKi9cbmNvbnN0IGlzRmlsZUJsb2IgPSAoaW5wdXQ6IElucHV0RmlsZSk6IGlucHV0IGlzIEJsb2IgPT4gaW5wdXQudG9TdHJpbmcoKSA9PT0gJ1tvYmplY3QgQmxvYl0nO1xuXG4vKipcbiAqIENoZWNrIGlmIGlucHV0IGlzIGluc3RhbmNlIG9mIGJyb3dzZXIgZmlsZVxuICpcbiAqIEBicm93c2VyXG4gKiBAcGFyYW0gaW5wdXRcbiAqL1xuY29uc3QgaXNGaWxlQnJvd3NlciA9IChpbnB1dDogSW5wdXRGaWxlKTogaW5wdXQgaXMgRmlsZSA9PiBpbnB1dCBpbnN0YW5jZW9mIEZpbGU7XG5cbi8qKlxuICogQ2hlY2sgaWYgZmlsZSBpcyBiYXNlNjQgc3RyaW5nXG4gKlxuICogQHBhcmFtIGlucHV0XG4gKi9cbmNvbnN0IGlzRmlsZUJhc2UgPSAoaW5wdXQ6IElucHV0RmlsZSk6IGlucHV0IGlzIHN0cmluZyA9PiB7XG4gIGlmICh0eXBlb2YgaW5wdXQgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGlucHV0LmluZGV4T2YoJ2Jhc2U2NCcpID4gLTEpIHtcbiAgICBpbnB1dCA9IGlucHV0Lm1hdGNoKGJhc2U2NFJlZ2V4cCkucG9wKCk7XG4gIH1cblxuICB0cnkge1xuICAgIHJldHVybiBidG9hKGF0b2IoaW5wdXQpKSA9PT0gaW5wdXQ7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGZpbGUgaXMgaW5zdGFuY2Ugb2YgbmFtZWQgaW50ZXJmYWNlXG4gKlxuICogQHBhcmFtIGlucHV0XG4gKi9cbmNvbnN0IGlzRmlsZU5hbWVkID0gKGlucHV0OiBJbnB1dEZpbGUpOiBpbnB1dCBpcyBOYW1lZElucHV0RmlsZSA9PiBpbnB1dCAmJiBpbnB1dFsnZmlsZSddICYmIGlucHV0WyduYW1lJ107XG5cbi8qKlxuICogQ29udmVydCBlbmNvZGVkIGJhc2U2NCBzdHJpbmcgb3IgZGF0YVVSSSB0byBibG9iXG4gKlxuICogQGJyb3dzZXJcbiAqIEBwYXJhbSBiNjRkYXRhICAgICBTdHJpbmcgdG8gZGVjb2RlXG4gKiBAcGFyYW0gc2xpY2VTaXplICAgQnl0ZSBxdWFudGl0eSB0byBzcGxpdCBkYXRhIGludG9cbiAqIEBwcml2YXRlXG4gKiBAcmV0dXJucyB7QmxvYn1cbiAqL1xuY29uc3QgYjY0dG9CbG9iID0gKGI2NERhdGE6IHN0cmluZywgc2xpY2VTaXplID0gNTEyKTogQmxvYiA9PiB7XG4gIGxldCBjb250ZW50VHlwZSA9ICcnO1xuXG4gIGlmIChiNjREYXRhLmluZGV4T2YoJ2Jhc2U2NCcpID4gLTEpIHtcbiAgICBjb25zdCBtYXRjaGVzID0gYjY0RGF0YS5tYXRjaChiYXNlNjRSZWdleHApO1xuICAgIGI2NERhdGEgPSBtYXRjaGVzLnBvcCgpO1xuICAgIGNvbnRlbnRUeXBlID0gbWF0Y2hlc1sxXTtcbiAgfVxuXG4gIGNvbnN0IGJ5dGVDaGFyYWN0ZXJzID0gYXRvYihiNjREYXRhKTtcbiAgY29uc3QgYnl0ZUFycmF5czogYW55W10gPSBbXTtcblxuICBmb3IgKGxldCBvZmZzZXQgPSAwOyBvZmZzZXQgPCBieXRlQ2hhcmFjdGVycy5sZW5ndGg7IG9mZnNldCArPSBzbGljZVNpemUpIHtcbiAgICBjb25zdCBzbGljZSA9IGJ5dGVDaGFyYWN0ZXJzLnNsaWNlKG9mZnNldCwgb2Zmc2V0ICsgc2xpY2VTaXplKTtcbiAgICBjb25zdCBieXRlTnVtYmVycyA9IG5ldyBBcnJheShzbGljZS5sZW5ndGgpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2xpY2UubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgIGJ5dGVOdW1iZXJzW2ldID0gc2xpY2UuY2hhckNvZGVBdChpKTtcbiAgICB9XG5cbiAgICBieXRlQXJyYXlzLnB1c2gobmV3IFVpbnQ4QXJyYXkoYnl0ZU51bWJlcnMpKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgQmxvYihieXRlQXJyYXlzLCB7IHR5cGU6IGNvbnRlbnRUeXBlIH0pO1xufTtcblxuLyoqXG4gKiBSZWFkIGZpbGUgYXMgYXJyYXkgYnVmZmVyXG4gKlxuICogQGJyb3dzZXJcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gYmxvYlxuICogQHJldHVybnMge0Jvb2xlYW59XG4gKi9cbmNvbnN0IHJlYWRGaWxlID0gYXN5bmMgKGZpbGUpOiBQcm9taXNlPGFueT4gPT4ge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBpZiAoIUZpbGUgfHwgIUZpbGVSZWFkZXIgfHwgIUJsb2IpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEZpbGVzdGFja0Vycm9yKCdUaGUgRmlsZSBBUElzIGFyZSBub3QgZnVsbHkgc3VwcG9ydGVkIGJ5IHlvdXIgYnJvd3NlcicpKTtcbiAgfVxuXG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgIHNsaWNlOiBmdW5jdGlvbihzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcikge1xuICAgICAgcmV0dXJuIHJlYWRQYXJ0KHN0YXJ0LCBlbmQsIGZpbGUpO1xuICAgIH0sXG4gICAgcmVsZWFzZTogKCkgPT4ge1xuICAgICAgZmlsZSA9IG51bGw7XG4gICAgfSxcbiAgfSk7XG59O1xuXG4vKipcbiAqIFJlYWQgZmlsZSBwYXIgaW5zdGVhZCBvZiB3aG9sZSBmaWxlIHRvIGF2b2lkIGJyb3dzZXIgY3Jhc2hpbmdcbiAqXG4gKiBAcGFyYW0gc3RhcnQgLSBzdGFyIGJ5dGVcbiAqIEBwYXJhbSBlbmQgIC0gZW5kIGJ5dGVcbiAqIEBwYXJhbSBmaWxlIC0gZmlsZSB0byBzbGljZVxuICovXG5jb25zdCByZWFkUGFydCA9IChzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlciwgZmlsZSk6IFByb21pc2U8YW55PiA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgciA9IG5ldyBGaWxlUmVhZGVyKCk7XG5cbiAgICBjb25zdCBibG9iID0gZmlsZS5zbGljZShzdGFydCwgZW5kKTtcbiAgICByLm9ubG9hZCA9ICgpID0+IHJlc29sdmUoci5yZXN1bHQpO1xuICAgIHIub25lcnJvciA9IHJlamVjdDtcbiAgICByLnJlYWRBc0FycmF5QnVmZmVyKGJsb2IpO1xuICB9KTtcbn07XG5cbi8qKlxuICogQWNjZXB0cyBiNjRzdHJpbmcgb3IgYmxvYiBmaWxlXG4gKlxuICogQGJyb3dzZXJcbiAqIEBwYXJhbSB7Kn0gZmlsZU9yU3RyaW5nXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxGaWxlPn1cbiAqL1xuZXhwb3J0IGNvbnN0IGdldEZpbGUgPSAoaW5wdXQ6IElucHV0RmlsZSwgc2FuaXRpemVPcHRpb25zPzogU2FuaXRpemVPcHRpb25zKTogUHJvbWlzZTxGc0ZpbGU+ID0+IHtcbiAgbGV0IGZpbGVuYW1lO1xuICBsZXQgZmlsZTogQmxvYjtcblxuICBpZiAoaXNGaWxlTmFtZWQoaW5wdXQpKSB7XG4gICAgZmlsZW5hbWUgPSBpbnB1dC5uYW1lO1xuICAgIGlucHV0ID0gaW5wdXQuZmlsZTtcbiAgfVxuXG4gIGlmIChpc0ZpbGVCcm93c2VyKGlucHV0KSkge1xuICAgIGZpbGUgPSBpbnB1dDtcbiAgICBmaWxlbmFtZSA9IGlucHV0Lm5hbWU7XG4gIH0gZWxzZSBpZiAoaXNGaWxlQmFzZShpbnB1dCkpIHtcbiAgICBmaWxlID0gYjY0dG9CbG9iKGlucHV0KTtcbiAgfSBlbHNlIGlmIChpc0ZpbGVCbG9iKGlucHV0KSkge1xuICAgIGZpbGUgPSBpbnB1dDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEZpbGVzdGFja0Vycm9yKCdVbnN1cHBvcnRlZCBpbnB1dCBmaWxlIHR5cGUnKSk7XG4gIH1cblxuICByZXR1cm4gcmVhZEZpbGUoZmlsZSkudGhlbihcbiAgICBhc3luYyByZXMgPT4ge1xuICAgICAgbGV0IG1pbWUgPSBmaWxlLnR5cGU7XG4gICAgICBpZiAoIWZpbGUudHlwZSAgfHwgZmlsZS50eXBlLmxlbmd0aCA9PT0gMCB8fCBmaWxlLnR5cGUgPT09ICd0ZXh0L3BsYWluJykge1xuICAgICAgICBtaW1lID0gZ2V0TWltZXR5cGUoYXdhaXQgcmVzLnNsaWNlKDAsIGZpbGVUeXBlLm1pbmltdW1CeXRlcyksIGZpbGVuYW1lKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5ldyBGc0ZpbGUoXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBmaWxlbmFtZSxcbiAgICAgICAgICBzaXplOiBmaWxlLnNpemUsXG4gICAgICAgICAgdHlwZTogbWltZSxcbiAgICAgICAgICBzbGljZTogcmVzLnNsaWNlLFxuICAgICAgICAgIHJlbGVhc2U6IHJlcy5yZWxlYXNlLFxuICAgICAgICB9LFxuICAgICAgICBzYW5pdGl6ZU9wdGlvbnNcbiAgICAgICk7XG4gICAgfVxuICApO1xufTtcbiJdfQ==
/// <reference types="node" />
export declare type RawFile = Blob | Buffer | File | string;
export declare type NamedInputFile = {
export type RawFile = Blob | Buffer | File | string;
export type NamedInputFile = {
name?: string;
file: RawFile;
};
export declare type InputFile = RawFile | NamedInputFile;
export type InputFile = RawFile | NamedInputFile;
export declare const base64Regexp: RegExp;

@@ -9,0 +9,0 @@ /**

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isFileNamed = exports.isFileBlob = exports.base64Regexp = void 0;
var tslib_1 = require("tslib");

@@ -9,3 +10,4 @@ exports.base64Regexp = /data:([a-zA-Z]*\/[a-zA-Z+]*);base64,([^\"]*)/i;

*/
exports.isFileBlob = function (input) { return input.toString() === '[object Blob]'; };
var isFileBlob = function (input) { return input.toString() === '[object Blob]'; };
exports.isFileBlob = isFileBlob;
/**

@@ -16,5 +18,6 @@ * Check if file is instance of named interface

*/
exports.isFileNamed = function (input) { return input && input['file'] && input['name']; };
var isFileNamed = function (input) { return input && input['file'] && input['name']; };
exports.isFileNamed = isFileNamed;
tslib_1.__exportStar(require("./file_tools.node"), exports);
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9maWxlX3Rvb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCYSxRQUFBLFlBQVksR0FBRywrQ0FBK0MsQ0FBQztBQUU1RTs7O0dBR0c7QUFDVSxRQUFBLFVBQVUsR0FBRyxVQUFDLEtBQWdCLElBQW9CLE9BQUEsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLGVBQWUsRUFBcEMsQ0FBb0MsQ0FBQztBQUVwRzs7OztHQUlHO0FBQ1UsUUFBQSxXQUFXLEdBQUcsVUFBQyxLQUFnQixJQUE4QixPQUFBLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUF2QyxDQUF1QyxDQUFDO0FBRWxILDREQUFrQyIsImZpbGUiOiJsaWIvYXBpL3VwbG9hZC9maWxlX3Rvb2xzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmV4cG9ydCB0eXBlIFJhd0ZpbGUgPSBCbG9iIHwgQnVmZmVyIHwgRmlsZSB8IHN0cmluZztcbmV4cG9ydCB0eXBlIE5hbWVkSW5wdXRGaWxlID0ge1xuICBuYW1lPzogc3RyaW5nO1xuICBmaWxlOiBSYXdGaWxlO1xufTtcblxuZXhwb3J0IHR5cGUgSW5wdXRGaWxlID0gUmF3RmlsZSB8IE5hbWVkSW5wdXRGaWxlO1xuXG5leHBvcnQgY29uc3QgYmFzZTY0UmVnZXhwID0gL2RhdGE6KFthLXpBLVpdKlxcL1thLXpBLVorXSopO2Jhc2U2NCwoW15cXFwiXSopL2k7XG5cbi8qKlxuICogQ2hlY2sgaWYgZmlsZSBpcyBibG9iXG4gKiBAcGFyYW0gaW5wdXRcbiAqL1xuZXhwb3J0IGNvbnN0IGlzRmlsZUJsb2IgPSAoaW5wdXQ6IElucHV0RmlsZSk6IGlucHV0IGlzIEJsb2IgPT4gaW5wdXQudG9TdHJpbmcoKSA9PT0gJ1tvYmplY3QgQmxvYl0nO1xuXG4vKipcbiAqIENoZWNrIGlmIGZpbGUgaXMgaW5zdGFuY2Ugb2YgbmFtZWQgaW50ZXJmYWNlXG4gKlxuICogQHBhcmFtIGlucHV0XG4gKi9cbmV4cG9ydCBjb25zdCBpc0ZpbGVOYW1lZCA9IChpbnB1dDogSW5wdXRGaWxlKTogaW5wdXQgaXMgTmFtZWRJbnB1dEZpbGUgPT4gaW5wdXQgJiYgaW5wdXRbJ2ZpbGUnXSAmJiBpbnB1dFsnbmFtZSddO1xuXG5leHBvcnQgKiBmcm9tICcuL2ZpbGVfdG9vbHMubm9kZSc7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9maWxlX3Rvb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUF3QmEsUUFBQSxZQUFZLEdBQUcsK0NBQStDLENBQUM7QUFFNUU7OztHQUdHO0FBQ0ksSUFBTSxVQUFVLEdBQUcsVUFBQyxLQUFnQixJQUFvQixPQUFBLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxlQUFlLEVBQXBDLENBQW9DLENBQUM7QUFBdkYsUUFBQSxVQUFVLGNBQTZFO0FBRXBHOzs7O0dBSUc7QUFDSSxJQUFNLFdBQVcsR0FBRyxVQUFDLEtBQWdCLElBQThCLE9BQUEsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQXZDLENBQXVDLENBQUM7QUFBckcsUUFBQSxXQUFXLGVBQTBGO0FBRWxILDREQUFrQyIsImZpbGUiOiJsaWIvYXBpL3VwbG9hZC9maWxlX3Rvb2xzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmV4cG9ydCB0eXBlIFJhd0ZpbGUgPSBCbG9iIHwgQnVmZmVyIHwgRmlsZSB8IHN0cmluZztcbmV4cG9ydCB0eXBlIE5hbWVkSW5wdXRGaWxlID0ge1xuICBuYW1lPzogc3RyaW5nO1xuICBmaWxlOiBSYXdGaWxlO1xufTtcblxuZXhwb3J0IHR5cGUgSW5wdXRGaWxlID0gUmF3RmlsZSB8IE5hbWVkSW5wdXRGaWxlO1xuXG5leHBvcnQgY29uc3QgYmFzZTY0UmVnZXhwID0gL2RhdGE6KFthLXpBLVpdKlxcL1thLXpBLVorXSopO2Jhc2U2NCwoW15cXFwiXSopL2k7XG5cbi8qKlxuICogQ2hlY2sgaWYgZmlsZSBpcyBibG9iXG4gKiBAcGFyYW0gaW5wdXRcbiAqL1xuZXhwb3J0IGNvbnN0IGlzRmlsZUJsb2IgPSAoaW5wdXQ6IElucHV0RmlsZSk6IGlucHV0IGlzIEJsb2IgPT4gaW5wdXQudG9TdHJpbmcoKSA9PT0gJ1tvYmplY3QgQmxvYl0nO1xuXG4vKipcbiAqIENoZWNrIGlmIGZpbGUgaXMgaW5zdGFuY2Ugb2YgbmFtZWQgaW50ZXJmYWNlXG4gKlxuICogQHBhcmFtIGlucHV0XG4gKi9cbmV4cG9ydCBjb25zdCBpc0ZpbGVOYW1lZCA9IChpbnB1dDogSW5wdXRGaWxlKTogaW5wdXQgaXMgTmFtZWRJbnB1dEZpbGUgPT4gaW5wdXQgJiYgaW5wdXRbJ2ZpbGUnXSAmJiBpbnB1dFsnbmFtZSddO1xuXG5leHBvcnQgKiBmcm9tICcuL2ZpbGVfdG9vbHMubm9kZSc7XG4iXX0=
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getFile = void 0;
/*

@@ -61,5 +62,5 @@ * Copyright (c) 2019 by Filestack.

*/
exports.getFile = function (input, sanitizeOptions) {
var getFile = function (input, sanitizeOptions) {
var filename;
if (file_tools_1.isFileNamed(input)) {
if ((0, file_tools_1.isFileNamed)(input)) {
filename = input.name;

@@ -81,3 +82,3 @@ input = input.file;

size: buffer.byteLength,
type: utils_1.getMimetype(buffer, filename),
type: (0, utils_1.getMimetype)(buffer, filename),
slice: function (start, end) { return Promise.resolve(buffer.slice(start, end)); },

@@ -101,3 +102,3 @@ }, sanitizeOptions));

size: input.byteLength,
type: utils_1.getMimetype(input, filename),
type: (0, utils_1.getMimetype)(input, filename),
// @ts-ignore

@@ -109,3 +110,4 @@ slice: function (start, end) { return Promise.resolve(input.slice(start, end)); },

};
exports.getFile = getFile;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9maWxlX3Rvb2xzLm5vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCwrQkFBd0M7QUFDeEMsdUNBQTZEO0FBQzdELDhEQUE0RDtBQUM1RCwyQ0FBb0U7QUFFcEU7Ozs7O0dBS0c7QUFDSCxJQUFNLFlBQVksR0FBRyxVQUFDLEtBQWdCLElBQXNCLE9BQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBdEIsQ0FBc0IsQ0FBQztBQUVuRjs7Ozs7R0FLRztBQUNILElBQU0sVUFBVSxHQUFHLFVBQUMsS0FBZ0IsSUFBc0IsT0FBQSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUEvQixDQUErQixDQUFDO0FBRTFGOzs7O0dBSUc7QUFDSCxJQUFNLFVBQVUsR0FBRyxVQUFDLEtBQWdCO0lBQ2xDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUkseUJBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDNUQsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMseUJBQVksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0tBQ3pDO0lBRUQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxFQUFFO1FBQzdELE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNVLFFBQUEsT0FBTyxHQUFHLFVBQUMsS0FBZ0IsRUFBRSxlQUFpQztJQUN6RSxJQUFJLFFBQVEsQ0FBQztJQUViLElBQUksd0JBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUN0QixRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN0QixLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztLQUNwQjtJQUVELElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3JCLElBQUksTUFBSSxHQUFHLEtBQUssQ0FBQztRQUNqQixPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07WUFDakMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFJLEVBQUUsVUFBQyxHQUFHLEVBQUUsTUFBTTtnQkFDdkMsSUFBSSxHQUFHLEVBQUU7b0JBQ1AsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3BCO2dCQUVELElBQUksQ0FBQyxRQUFRLEVBQUU7b0JBQ2IsUUFBUSxHQUFHLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQUksQ0FBQyxDQUFDO2lCQUN0RDtnQkFFRCxPQUFPLE9BQU8sQ0FDWixJQUFJLFdBQU0sQ0FDUjtvQkFDRSxJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsTUFBTSxDQUFDLFVBQVU7b0JBQ3ZCLElBQUksRUFBRSxtQkFBVyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7b0JBQ25DLEtBQUssRUFBRSxVQUFDLEtBQUssRUFBRSxHQUFHLElBQUssT0FBQSxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQXpDLENBQXlDO2lCQUNqRSxFQUNELGVBQWUsQ0FDaEIsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztLQUNKO0lBRUQsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDckIsSUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyx5QkFBWSxDQUFDLENBQUM7UUFDMUMsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDbkMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzNDO2FBQU07WUFDTCxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDdEM7S0FDRjtJQUVELElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3ZCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FDcEIsSUFBSSxXQUFNLENBQ1I7WUFDRSxJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRSxLQUFLLENBQUMsVUFBVTtZQUN0QixJQUFJLEVBQUUsbUJBQVcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDO1lBQ2xDLGFBQWE7WUFDYixLQUFLLEVBQUUsVUFBQyxLQUFLLEVBQUUsR0FBRyxJQUFLLE9BQUEsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUF4QyxDQUF3QztTQUNoRSxFQUNELGVBQWUsQ0FDaEIsQ0FDRixDQUFDO0tBQ0g7SUFFRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxnQ0FBYyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQztBQUMzRSxDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS91cGxvYWQvZmlsZV90b29scy5ub2RlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEZpbGUgYXMgRnNGaWxlIH0gZnJvbSAnLi9maWxlJztcbmltcG9ydCB7IFNhbml0aXplT3B0aW9ucywgZ2V0TWltZXR5cGUgfSBmcm9tICcuLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yIH0gZnJvbSAnLi8uLi8uLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuaW1wb3J0IHsgSW5wdXRGaWxlLCBiYXNlNjRSZWdleHAsIGlzRmlsZU5hbWVkIH0gZnJvbSAnLi9maWxlX3Rvb2xzJztcblxuLyoqXG4gKiBDaGVjayBpZiBmaWxlIGlzIGJ1ZmZlclxuICpcbiAqIEBub2RlXG4gKiBAcGFyYW0gaW5wdXRcbiAqL1xuY29uc3QgaXNGaWxlQnVmZmVyID0gKGlucHV0OiBJbnB1dEZpbGUpOiBpbnB1dCBpcyBCdWZmZXIgPT4gQnVmZmVyLmlzQnVmZmVyKGlucHV0KTtcblxuLyoqXG4gKiBDaGVjayBpZiBpbnB1dCBpcyBhIHZhbGlkIGZpbGUgcGF0aFxuICpcbiAqIEBub2RlXG4gKiBAcGFyYW0gaW5wdXRcbiAqL1xuY29uc3QgaXNGaWxlUGF0aCA9IChpbnB1dDogSW5wdXRGaWxlKTogaW5wdXQgaXMgc3RyaW5nID0+IHJlcXVpcmUoJ2ZzJykuZXhpc3RzU3luYyhpbnB1dCk7XG5cbi8qKlxuICogQ2hlY2sgaWYgZmlsZSBpcyBiYXNlNjQgc3RyaW5nXG4gKlxuICogQHBhcmFtIGlucHV0XG4gKi9cbmNvbnN0IGlzRmlsZUJhc2UgPSAoaW5wdXQ6IElucHV0RmlsZSk6IGlucHV0IGlzIHN0cmluZyA9PiB7XG4gIGlmICh0eXBlb2YgaW5wdXQgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGlucHV0LmluZGV4T2YoJ2Jhc2U2NCcpID4gLTEgJiYgYmFzZTY0UmVnZXhwLnRlc3QoaW5wdXQpKSB7XG4gICAgaW5wdXQgPSBpbnB1dC5tYXRjaChiYXNlNjRSZWdleHApLnBvcCgpO1xuICB9XG5cbiAgaWYgKEJ1ZmZlci5mcm9tKGlucHV0LCAnYmFzZTY0JykudG9TdHJpbmcoJ2Jhc2U2NCcpID09PSBpbnB1dCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuLyoqXG4gKiBBY2NlcHRzIEJ1ZmZlciBvciBmaWxlcGF0aCBvciBiYXNlNjQgc3RyaW5nXG4gKlxuICogQG5vZGVcbiAqIEBwYXJhbSB7Kn0gaW5wdXRGaWxlXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxGaWxlPn1cbiAqL1xuZXhwb3J0IGNvbnN0IGdldEZpbGUgPSAoaW5wdXQ6IElucHV0RmlsZSwgc2FuaXRpemVPcHRpb25zPzogU2FuaXRpemVPcHRpb25zKTogUHJvbWlzZTxGc0ZpbGU+ID0+IHtcbiAgbGV0IGZpbGVuYW1lO1xuXG4gIGlmIChpc0ZpbGVOYW1lZChpbnB1dCkpIHtcbiAgICBmaWxlbmFtZSA9IGlucHV0Lm5hbWU7XG4gICAgaW5wdXQgPSBpbnB1dC5maWxlO1xuICB9XG5cbiAgaWYgKGlzRmlsZVBhdGgoaW5wdXQpKSB7XG4gICAgbGV0IHBhdGggPSBpbnB1dDtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgcmVxdWlyZSgnZnMnKS5yZWFkRmlsZShwYXRoLCAoZXJyLCBidWZmZXIpID0+IHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIHJldHVybiByZWplY3QoZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZmlsZW5hbWUpIHtcbiAgICAgICAgICBmaWxlbmFtZSA9IHJlcXVpcmUgJiYgcmVxdWlyZSgncGF0aCcpLmJhc2VuYW1lKHBhdGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc29sdmUoXG4gICAgICAgICAgbmV3IEZzRmlsZShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogZmlsZW5hbWUsXG4gICAgICAgICAgICAgIHNpemU6IGJ1ZmZlci5ieXRlTGVuZ3RoLFxuICAgICAgICAgICAgICB0eXBlOiBnZXRNaW1ldHlwZShidWZmZXIsIGZpbGVuYW1lKSxcbiAgICAgICAgICAgICAgc2xpY2U6IChzdGFydCwgZW5kKSA9PiBQcm9taXNlLnJlc29sdmUoYnVmZmVyLnNsaWNlKHN0YXJ0LCBlbmQpKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzYW5pdGl6ZU9wdGlvbnNcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGlmIChpc0ZpbGVCYXNlKGlucHV0KSkge1xuICAgIGNvbnN0IG1hdGNoZXMgPSBpbnB1dC5tYXRjaChiYXNlNjRSZWdleHApO1xuICAgIGlmIChtYXRjaGVzICYmIG1hdGNoZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICBpbnB1dCA9IEJ1ZmZlci5mcm9tKG1hdGNoZXNbMl0sICdiYXNlNjQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5wdXQgPSBCdWZmZXIuZnJvbShpbnB1dCwgJ2Jhc2U2NCcpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChpc0ZpbGVCdWZmZXIoaW5wdXQpKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShcbiAgICAgIG5ldyBGc0ZpbGUoXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBmaWxlbmFtZSxcbiAgICAgICAgICBzaXplOiBpbnB1dC5ieXRlTGVuZ3RoLFxuICAgICAgICAgIHR5cGU6IGdldE1pbWV0eXBlKGlucHV0LCBmaWxlbmFtZSksXG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHNsaWNlOiAoc3RhcnQsIGVuZCkgPT4gUHJvbWlzZS5yZXNvbHZlKGlucHV0LnNsaWNlKHN0YXJ0LCBlbmQpKSxcbiAgICAgICAgfSxcbiAgICAgICAgc2FuaXRpemVPcHRpb25zXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRmlsZXN0YWNrRXJyb3IoJ1Vuc3VwcG9ydGVkIGlucHV0IGZpbGUgdHlwZScpKTtcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9maWxlX3Rvb2xzLm5vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsK0JBQXdDO0FBQ3hDLHVDQUE2RDtBQUM3RCw4REFBNEQ7QUFDNUQsMkNBQW9FO0FBRXBFOzs7OztHQUtHO0FBQ0gsSUFBTSxZQUFZLEdBQUcsVUFBQyxLQUFnQixJQUFzQixPQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQXRCLENBQXNCLENBQUM7QUFFbkY7Ozs7O0dBS0c7QUFDSCxJQUFNLFVBQVUsR0FBRyxVQUFDLEtBQWdCLElBQXNCLE9BQUEsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBL0IsQ0FBK0IsQ0FBQztBQUUxRjs7OztHQUlHO0FBQ0gsSUFBTSxVQUFVLEdBQUcsVUFBQyxLQUFnQjtJQUNsQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUM3QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLHlCQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzVELEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLHlCQUFZLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUN6QztJQUVELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEtBQUssRUFBRTtRQUM3RCxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSSxJQUFNLE9BQU8sR0FBRyxVQUFDLEtBQWdCLEVBQUUsZUFBaUM7SUFDekUsSUFBSSxRQUFRLENBQUM7SUFFYixJQUFJLElBQUEsd0JBQVcsRUFBQyxLQUFLLENBQUMsRUFBRTtRQUN0QixRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN0QixLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztLQUNwQjtJQUVELElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3JCLElBQUksTUFBSSxHQUFHLEtBQUssQ0FBQztRQUNqQixPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07WUFDakMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFJLEVBQUUsVUFBQyxHQUFHLEVBQUUsTUFBTTtnQkFDdkMsSUFBSSxHQUFHLEVBQUU7b0JBQ1AsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3BCO2dCQUVELElBQUksQ0FBQyxRQUFRLEVBQUU7b0JBQ2IsUUFBUSxHQUFHLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQUksQ0FBQyxDQUFDO2lCQUN0RDtnQkFFRCxPQUFPLE9BQU8sQ0FDWixJQUFJLFdBQU0sQ0FDUjtvQkFDRSxJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsTUFBTSxDQUFDLFVBQVU7b0JBQ3ZCLElBQUksRUFBRSxJQUFBLG1CQUFXLEVBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztvQkFDbkMsS0FBSyxFQUFFLFVBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSyxPQUFBLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBekMsQ0FBeUM7aUJBQ2pFLEVBQ0QsZUFBZSxDQUNoQixDQUNGLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNyQixJQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLHlCQUFZLENBQUMsQ0FBQztRQUMxQyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNuQyxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDM0M7YUFBTTtZQUNMLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztTQUN0QztLQUNGO0lBRUQsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDdkIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUNwQixJQUFJLFdBQU0sQ0FDUjtZQUNFLElBQUksRUFBRSxRQUFRO1lBQ2QsSUFBSSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQ3RCLElBQUksRUFBRSxJQUFBLG1CQUFXLEVBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQztZQUNsQyxhQUFhO1lBQ2IsS0FBSyxFQUFFLFVBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSyxPQUFBLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBeEMsQ0FBd0M7U0FDaEUsRUFDRCxlQUFlLENBQ2hCLENBQ0YsQ0FBQztLQUNIO0lBRUQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksZ0NBQWMsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUM7QUFDM0UsQ0FBQyxDQUFDO0FBNURXLFFBQUEsT0FBTyxXQTREbEIiLCJmaWxlIjoibGliL2FwaS91cGxvYWQvZmlsZV90b29scy5ub2RlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEZpbGUgYXMgRnNGaWxlIH0gZnJvbSAnLi9maWxlJztcbmltcG9ydCB7IFNhbml0aXplT3B0aW9ucywgZ2V0TWltZXR5cGUgfSBmcm9tICcuLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yIH0gZnJvbSAnLi8uLi8uLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuaW1wb3J0IHsgSW5wdXRGaWxlLCBiYXNlNjRSZWdleHAsIGlzRmlsZU5hbWVkIH0gZnJvbSAnLi9maWxlX3Rvb2xzJztcblxuLyoqXG4gKiBDaGVjayBpZiBmaWxlIGlzIGJ1ZmZlclxuICpcbiAqIEBub2RlXG4gKiBAcGFyYW0gaW5wdXRcbiAqL1xuY29uc3QgaXNGaWxlQnVmZmVyID0gKGlucHV0OiBJbnB1dEZpbGUpOiBpbnB1dCBpcyBCdWZmZXIgPT4gQnVmZmVyLmlzQnVmZmVyKGlucHV0KTtcblxuLyoqXG4gKiBDaGVjayBpZiBpbnB1dCBpcyBhIHZhbGlkIGZpbGUgcGF0aFxuICpcbiAqIEBub2RlXG4gKiBAcGFyYW0gaW5wdXRcbiAqL1xuY29uc3QgaXNGaWxlUGF0aCA9IChpbnB1dDogSW5wdXRGaWxlKTogaW5wdXQgaXMgc3RyaW5nID0+IHJlcXVpcmUoJ2ZzJykuZXhpc3RzU3luYyhpbnB1dCk7XG5cbi8qKlxuICogQ2hlY2sgaWYgZmlsZSBpcyBiYXNlNjQgc3RyaW5nXG4gKlxuICogQHBhcmFtIGlucHV0XG4gKi9cbmNvbnN0IGlzRmlsZUJhc2UgPSAoaW5wdXQ6IElucHV0RmlsZSk6IGlucHV0IGlzIHN0cmluZyA9PiB7XG4gIGlmICh0eXBlb2YgaW5wdXQgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGlucHV0LmluZGV4T2YoJ2Jhc2U2NCcpID4gLTEgJiYgYmFzZTY0UmVnZXhwLnRlc3QoaW5wdXQpKSB7XG4gICAgaW5wdXQgPSBpbnB1dC5tYXRjaChiYXNlNjRSZWdleHApLnBvcCgpO1xuICB9XG5cbiAgaWYgKEJ1ZmZlci5mcm9tKGlucHV0LCAnYmFzZTY0JykudG9TdHJpbmcoJ2Jhc2U2NCcpID09PSBpbnB1dCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuLyoqXG4gKiBBY2NlcHRzIEJ1ZmZlciBvciBmaWxlcGF0aCBvciBiYXNlNjQgc3RyaW5nXG4gKlxuICogQG5vZGVcbiAqIEBwYXJhbSB7Kn0gaW5wdXRGaWxlXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxGaWxlPn1cbiAqL1xuZXhwb3J0IGNvbnN0IGdldEZpbGUgPSAoaW5wdXQ6IElucHV0RmlsZSwgc2FuaXRpemVPcHRpb25zPzogU2FuaXRpemVPcHRpb25zKTogUHJvbWlzZTxGc0ZpbGU+ID0+IHtcbiAgbGV0IGZpbGVuYW1lO1xuXG4gIGlmIChpc0ZpbGVOYW1lZChpbnB1dCkpIHtcbiAgICBmaWxlbmFtZSA9IGlucHV0Lm5hbWU7XG4gICAgaW5wdXQgPSBpbnB1dC5maWxlO1xuICB9XG5cbiAgaWYgKGlzRmlsZVBhdGgoaW5wdXQpKSB7XG4gICAgbGV0IHBhdGggPSBpbnB1dDtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgcmVxdWlyZSgnZnMnKS5yZWFkRmlsZShwYXRoLCAoZXJyLCBidWZmZXIpID0+IHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIHJldHVybiByZWplY3QoZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZmlsZW5hbWUpIHtcbiAgICAgICAgICBmaWxlbmFtZSA9IHJlcXVpcmUgJiYgcmVxdWlyZSgncGF0aCcpLmJhc2VuYW1lKHBhdGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc29sdmUoXG4gICAgICAgICAgbmV3IEZzRmlsZShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogZmlsZW5hbWUsXG4gICAgICAgICAgICAgIHNpemU6IGJ1ZmZlci5ieXRlTGVuZ3RoLFxuICAgICAgICAgICAgICB0eXBlOiBnZXRNaW1ldHlwZShidWZmZXIsIGZpbGVuYW1lKSxcbiAgICAgICAgICAgICAgc2xpY2U6IChzdGFydCwgZW5kKSA9PiBQcm9taXNlLnJlc29sdmUoYnVmZmVyLnNsaWNlKHN0YXJ0LCBlbmQpKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzYW5pdGl6ZU9wdGlvbnNcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGlmIChpc0ZpbGVCYXNlKGlucHV0KSkge1xuICAgIGNvbnN0IG1hdGNoZXMgPSBpbnB1dC5tYXRjaChiYXNlNjRSZWdleHApO1xuICAgIGlmIChtYXRjaGVzICYmIG1hdGNoZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICBpbnB1dCA9IEJ1ZmZlci5mcm9tKG1hdGNoZXNbMl0sICdiYXNlNjQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5wdXQgPSBCdWZmZXIuZnJvbShpbnB1dCwgJ2Jhc2U2NCcpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChpc0ZpbGVCdWZmZXIoaW5wdXQpKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShcbiAgICAgIG5ldyBGc0ZpbGUoXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBmaWxlbmFtZSxcbiAgICAgICAgICBzaXplOiBpbnB1dC5ieXRlTGVuZ3RoLFxuICAgICAgICAgIHR5cGU6IGdldE1pbWV0eXBlKGlucHV0LCBmaWxlbmFtZSksXG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHNsaWNlOiAoc3RhcnQsIGVuZCkgPT4gUHJvbWlzZS5yZXNvbHZlKGlucHV0LnNsaWNlKHN0YXJ0LCBlbmQpKSxcbiAgICAgICAgfSxcbiAgICAgICAgc2FuaXRpemVPcHRpb25zXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRmlsZXN0YWNrRXJyb3IoJ1Vuc3VwcG9ydGVkIGlucHV0IGZpbGUgdHlwZScpKTtcbn07XG4iXX0=

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

var file_tools_1 = require("./file_tools");
var utils = require("./../../utils");
var utils = tslib_1.__importStar(require("./../../utils"));
var createFile = function (size, name, type) {

@@ -35,3 +35,3 @@ if (size === void 0) { size = 44320; }

beforeAll(function () {
spyOn(utils, 'sanitizeName').and.callFake(function (val, opts) {
jest.spyOn(utils, 'sanitizeName').mockImplementation(function (val, opts) {
sanitizeOptions(opts);

@@ -48,3 +48,3 @@ return val;

_a = expect;
return [4 /*yield*/, file_tools_1.getFile({
return [4 /*yield*/, (0, file_tools_1.getFile)({
file: base64Svg,

@@ -63,3 +63,3 @@ name: 'test.svg',

_a = expect;
return [4 /*yield*/, file_tools_1.getFile(base64Png)];
return [4 /*yield*/, (0, file_tools_1.getFile)(base64Png)];
case 1: return [2 /*return*/, _a.apply(void 0, [(_b.sent()).mimetype]).toEqual('image/png')];

@@ -75,3 +75,3 @@ }

_a = expect;
return [4 /*yield*/, file_tools_1.getFile(base64Gif)];
return [4 /*yield*/, (0, file_tools_1.getFile)(base64Gif)];
case 1: return [2 /*return*/, _a.apply(void 0, [(_b.sent()).mimetype]).toEqual('image/gif')];

@@ -87,3 +87,3 @@ }

_a = expect;
return [4 /*yield*/, file_tools_1.getFile("data:image/gif;base64," + base64Gif)];
return [4 /*yield*/, (0, file_tools_1.getFile)("data:image/gif;base64,".concat(base64Gif))];
case 1: return [2 /*return*/, _a.apply(void 0, [(_b.sent()).mimetype]).toEqual('image/gif')];

@@ -101,3 +101,3 @@ }

};
return [4 /*yield*/, file_tools_1.getFile({
return [4 /*yield*/, (0, file_tools_1.getFile)({
file: base64Png,

@@ -114,3 +114,3 @@ name: 'test<.jpg',

it('Should throw error when random string is provided', function () {
return expect(file_tools_1.getFile('asdasdfasdf')).rejects.toEqual(new Error('Unsupported input file type'));
return expect((0, file_tools_1.getFile)('asdasdfasdf')).rejects.toEqual(new Error('Unsupported input file type'));
});

@@ -121,3 +121,3 @@ it('Should handle base64 named file (gif)', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {

switch (_a.label) {
case 0: return [4 /*yield*/, file_tools_1.getFile({
case 0: return [4 /*yield*/, (0, file_tools_1.getFile)({
file: base64Gif,

@@ -138,3 +138,3 @@ name: 'test.gif',

switch (_a.label) {
case 0: return [4 /*yield*/, file_tools_1.getFile(createFile())];
case 0: return [4 /*yield*/, (0, file_tools_1.getFile)(createFile())];
case 1:

@@ -153,3 +153,3 @@ file = _a.sent();

switch (_a.label) {
case 0: return [4 /*yield*/, file_tools_1.getFile(new Blob([new ArrayBuffer(100)], {
case 0: return [4 /*yield*/, (0, file_tools_1.getFile)(new Blob([new ArrayBuffer(100)], {
type: 'image/jpg',

@@ -169,2 +169,2 @@ }))];

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9maWxlX3Rvb2xzLnNwZWMuYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCwyQ0FBdUM7QUFDdkMscUNBQXVDO0FBRXZDLElBQU0sVUFBVSxHQUFHLFVBQUMsSUFBWSxFQUFFLElBQWlCLEVBQUUsSUFBa0I7SUFBbkQscUJBQUEsRUFBQSxZQUFZO0lBQUUscUJBQUEsRUFBQSxpQkFBaUI7SUFBRSxxQkFBQSxFQUFBLGtCQUFrQjtJQUFLLE9BQUEsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUF4RCxDQUF3RCxDQUFDO0FBRXJJLElBQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUU5RCxJQUFNLFNBQVMsR0FBRyxzT0FBc08sQ0FBQztBQUN6UCxJQUFNLFNBQVMsR0FBRyxrR0FBa0csQ0FBQztBQUNySCxJQUFNLFNBQVMsR0FBRyw4REFBOEQsQ0FBQztBQUVqRixRQUFRLENBQUMsc0JBQXNCLEVBQUU7SUFDL0IsU0FBUyxDQUFDO1FBQ1IsS0FBSyxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQUMsR0FBRyxFQUFFLElBQUk7WUFDbEQsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RCLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRTtRQUV6QixFQUFFLENBQUMsMkNBQTJDLEVBQUU7Ozs7O3dCQUN2QyxLQUFBLE1BQU0sQ0FBQTt3QkFBRSxxQkFBTSxvQkFBTyxDQUFDO2dDQUMzQixJQUFJ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QUFPLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFOzRCQUMxRCxJQUFJLEVBQUUsV0FBVzt5QkFDbEIsQ0FBQyxDQUFDLEVBQUE7O3dCQUZHLElBQUksR0FBRyxTQUVWO3dCQUVILE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO3dCQUMzQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQzt3QkFDckMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Ozs7YUFDaEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvYXBpL3VwbG9hZC9maWxlX3Rvb2xzLnNwZWMuYnJvd3Nlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICdMaWNlbnNlJyk7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGdldEZpbGUgfSBmcm9tICcuL2ZpbGVfdG9vbHMnO1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi8uLi8uLi91dGlscyc7XG5cbmNvbnN0IGNyZWF0ZUZpbGUgPSAoc2l6ZSA9IDQ0MzIwLCBuYW1lID0gJ3Rlc3QucG5nJywgdHlwZSA9ICdpbWFnZS9wbmcnKSA9PiBuZXcgRmlsZShbbmV3IEFycmF5QnVmZmVyKHNpemUpXSwgbmFtZSAsIHsgdHlwZTogdHlwZSB9KTtcblxuY29uc3Qgc2FuaXRpemVPcHRpb25zID0gamVzdC5mbigpLm1vY2tOYW1lKCdzYW5pdGl6ZU9wdGlvbnMnKTtcblxuY29uc3QgYmFzZTY0U3ZnID0gJ1BITjJaeUJvWldsbmFIUTlJakV3TUNJZ2QybGtkR2c5SWpFd01DSStDaUFnUEdOcGNtTnNaU0JqZUQwaU5UQWlJR041UFNJMU1DSWdjajBpTkRBaUlITjBjbTlyWlQwaVlteGhZMnNpSUhOMGNtOXJaUzEzYVdSMGFEMGlNeUlnWm1sc2JEMGljbVZrSWlBdlBnb2dJRk52Y25KNUxDQjViM1Z5SUdKeWIzZHpaWElnWkc5bGN5QnViM1FnYzNWd2NHOXlkQ0JwYm14cGJtVWdVMVpITGlBZ0Nqd3ZjM1puUGlBPSc7XG5jb25zdCBiYXNlNjRQbmcgPSAnaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBQUJDQVlBQUFBZkZjU0pBQUFBRFVsRVFWUjQybU5rK005UUR3QURoZ0dBV2pSOWF3QUFBQUJKUlU1RXJrSmdnZz09JztcbmNvbnN0IGJhc2U2NEdpZiA9ICdSMGxHT0RsaEFRQUJBSUFBQVAvLy93QUFBQ0g1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlDUkFFQU93PT0nO1xuXG5kZXNjcmliZSgnQXBpL1VwbG9hZC9GaWxlVG9vbHMnLCAoKSA9PiB7XG4gIGJlZm9yZUFsbCgoKSA9PiB7XG4gICAgc3B5T24odXRpbHMsICdzYW5pdGl6ZU5hbWUnKS5hbmQuY2FsbEZha2UoKHZhbCwgb3B0cykgPT4ge1xuICAgICAgc2FuaXRpemVPcHRpb25zKG9wdHMpO1xuICAgICAgcmV0dXJuIHZhbDtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2dldEZpbGVCcm93c2VyJywgKCkgPT4ge1xuXG4gICAgaXQoJ1Nob3VsZCBoYW5kbGUgYmFzZTY0IGVuY29kZWQgc3RyaW5nIChzdmcpJywgYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIGV4cGVjdCgoYXdhaXQgZ2V0RmlsZSh7XG4gICAgICAgIGZpbGU6IGJhc2U2NFN2ZyxcbiAgICAgICAgbmFtZTogJ3Rlc3Quc3ZnJyxcbiAgICAgIH0pKS5taW1ldHlwZSkudG9FcXVhbCgnaW1hZ2Uvc3ZnK3htbCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYW5kbGUgYmFzZTY0IGVuY29kZWQgc3RyaW5nIChwbmcpJywgYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIGV4cGVjdCgoYXdhaXQgZ2V0RmlsZShiYXNlNjRQbmcpKS5taW1ldHlwZSkudG9FcXVhbCgnaW1hZ2UvcG5nJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhbmRsZSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcgKGdpZiknLCBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gZXhwZWN0KChhd2FpdCBnZXRGaWxlKGJhc2U2NEdpZikpLm1pbWV0eXBlKS50b0VxdWFsKCdpbWFnZS9naWYnKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGFuZGxlIGJhc2U2NCBlbmNvZGVkIHN0cmluZyB3aXRoIGI2NCBwcmVmaXggKGdpZiknLCBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gZXhwZWN0KChhd2FpdCBnZXRGaWxlKGBkYXRhOmltYWdlL2dpZjtiYXNlNjQsJHtiYXNlNjRHaWZ9YCkpLm1pbWV0eXBlKS50b0VxdWFsKCdpbWFnZS9naWYnKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgcGFzcyBzYW5pdGl6ZSBvcHRpb25zIHRvIGZpbGUgaW5zdGFuY2UnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBzb3B0aW9ucyA9IHtcbiAgICAgICAgcmVwbGFjZW1lbnQ6ICc9JyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGZpbGVSZXMgPSBhd2FpdCBnZXRGaWxlKHtcbiAgICAgICAgZmlsZTogYmFzZTY0UG5nLFxuICAgICAgICBuYW1lOiAndGVzdDwuanBnJyxcbiAgICAgIH0sIHNvcHRpb25zKTtcblxuICAgICAgZXhwZWN0KHNhbml0aXplT3B0aW9ucykudG9IYXZlQmVlbkNhbGxlZFdpdGgoc29wdGlvbnMpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCB0aHJvdyBlcnJvciB3aGVuIHJhbmRvbSBzdHJpbmcgaXMgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICByZXR1cm4gZXhwZWN0KGdldEZpbGUoJ2FzZGFzZGZhc2RmJykpLnJlamVjdHMudG9FcXVhbChuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIGlucHV0IGZpbGUgdHlwZScpKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGFuZGxlIGJhc2U2NCBuYW1lZCBmaWxlIChnaWYpJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IGdldEZpbGUoe1xuICAgICAgICBmaWxlOiBiYXNlNjRHaWYsXG4gICAgICAgIG5hbWU6ICd0ZXN0LmdpZicsXG4gICAgICB9KTtcbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCdpbWFnZS9naWYnKTtcbiAgICAgIGV4cGVjdChmaWxlLm5hbWUpLnRvRXF1YWwoJ3Rlc3QuZ2lmJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhbmRsZSBGaWxlIGlucHV0IHR5cGUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZ2V0RmlsZShjcmVhdGVGaWxlKCkpO1xuICAgICAgZXhwZWN0KGZpbGUubWltZXR5cGUpLnRvRXF1YWwoJ2ltYWdlL3BuZycpO1xuICAgICAgZXhwZWN0KGZpbGUubmFtZSkudG9FcXVhbCgndGVzdC5wbmcnKTtcbiAgICAgIGV4cGVjdChmaWxlLnNpemUpLnRvRXF1YWwoNDQzMjApO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYW5kbGUgYmxvYiBpbnB1dCB0eXBlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IGdldEZpbGUobmV3IEJsb2IoW25ldyBBcnJheUJ1ZmZlcigxMDApXSwge1xuICAgICAgICB0eXBlOiAnaW1hZ2UvanBnJyxcbiAgICAgIH0pKTtcblxuICAgICAgZXhwZWN0KGZpbGUubWltZXR5cGUpLnRvRXF1YWwoJ2ltYWdlL2pwZycpO1xuICAgICAgZXhwZWN0KGZpbGUubmFtZSkudG9FcXVhbCh1bmRlZmluZWQpO1xuICAgICAgZXhwZWN0KGZpbGUuc2l6ZSkudG9FcXVhbCgxMDApO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9maWxlX3Rvb2xzLnNwZWMuYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCwyQ0FBdUM7QUFDdkMsMkRBQXVDO0FBRXZDLElBQU0sVUFBVSxHQUFHLFVBQUMsSUFBWSxFQUFFLElBQWlCLEVBQUUsSUFBa0I7SUFBbkQscUJBQUEsRUFBQSxZQUFZO0lBQUUscUJBQUEsRUFBQSxpQkFBaUI7SUFBRSxxQkFBQSxFQUFBLGtCQUFrQjtJQUFLLE9BQUEsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUF4RCxDQUF3RCxDQUFDO0FBRXJJLElBQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUU5RCxJQUFNLFNBQVMsR0FBRyxzT0FBc08sQ0FBQztBQUN6UCxJQUFNLFNBQVMsR0FBRyxrR0FBa0csQ0FBQztBQUNySCxJQUFNLFNBQVMsR0FBRyw4REFBOEQsQ0FBQztBQUVqRixRQUFRLENBQUMsc0JBQXNCLEVBQUU7SUFDL0IsU0FBUyxDQUFDO1FBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUMsa0JBQWtCLENBQUMsVUFBQyxHQUFHLEVBQUUsSUFBSTtZQUM3RCxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGdCQUFnQixFQUFFO1FBRXpCLEVBQUUsQ0FBQywyQ0FBMkMsRUFBRTs7Ozs7d0JBQ3ZDLEtBQUEsTUFBTSxDQUFBO3dCQUFFLHFCQUFNLElBQUEsb0JBQU8sRUFBQztnQ0FD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QztRQUVILEVBQUUsQ0FBQywrQkFBK0IsRUFBRTs7Ozs0QkFDckIscUJBQU0sSUFBQSxvQkFBTyxFQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTs0QkFDMUQsSUFBSSxFQUFFLFdBQVc7eUJBQ2xCLENBQUMsQ0FBQyxFQUFBOzt3QkFGRyxJQUFJLEdBQUcsU0FFVjt3QkFFSCxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQzt3QkFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7d0JBQ3JDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDOzs7O2FBQ2hDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS91cGxvYWQvZmlsZV90b29scy5zcGVjLmJyb3dzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE5IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAnTGljZW5zZScpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBnZXRGaWxlIH0gZnJvbSAnLi9maWxlX3Rvb2xzJztcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vLi4vLi4vdXRpbHMnO1xuXG5jb25zdCBjcmVhdGVGaWxlID0gKHNpemUgPSA0NDMyMCwgbmFtZSA9ICd0ZXN0LnBuZycsIHR5cGUgPSAnaW1hZ2UvcG5nJykgPT4gbmV3IEZpbGUoW25ldyBBcnJheUJ1ZmZlcihzaXplKV0sIG5hbWUgLCB7IHR5cGU6IHR5cGUgfSk7XG5cbmNvbnN0IHNhbml0aXplT3B0aW9ucyA9IGplc3QuZm4oKS5tb2NrTmFtZSgnc2FuaXRpemVPcHRpb25zJyk7XG5cbmNvbnN0IGJhc2U2NFN2ZyA9ICdQSE4yWnlCb1pXbG5hSFE5SWpFd01DSWdkMmxrZEdnOUlqRXdNQ0krQ2lBZ1BHTnBjbU5zWlNCamVEMGlOVEFpSUdONVBTSTFNQ0lnY2owaU5EQWlJSE4wY205clpUMGlZbXhoWTJzaUlITjBjbTlyWlMxM2FXUjBhRDBpTXlJZ1ptbHNiRDBpY21Wa0lpQXZQZ29nSUZOdmNuSjVMQ0I1YjNWeUlHSnliM2R6WlhJZ1pHOWxjeUJ1YjNRZ2MzVndjRzl5ZENCcGJteHBibVVnVTFaSExpQWdDand2YzNablBpQT0nO1xuY29uc3QgYmFzZTY0UG5nID0gJ2lWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FZQUFBQWZGY1NKQUFBQURVbEVRVlI0Mm1OaytNOVFEd0FEaGdHQVdqUjlhd0FBQUFCSlJVNUVya0pnZ2c9PSc7XG5jb25zdCBiYXNlNjRHaWYgPSAnUjBsR09EbGhBUUFCQUlBQUFQLy8vd0FBQUNINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQ1JBRUFPdz09JztcblxuZGVzY3JpYmUoJ0FwaS9VcGxvYWQvRmlsZVRvb2xzJywgKCkgPT4ge1xuICBiZWZvcmVBbGwoKCkgPT4ge1xuICAgIGplc3Quc3B5T24odXRpbHMsICdzYW5pdGl6ZU5hbWUnKS5tb2NrSW1wbGVtZW50YXRpb24oKHZhbCwgb3B0cykgPT4ge1xuICAgICAgc2FuaXRpemVPcHRpb25zKG9wdHMpO1xuICAgICAgcmV0dXJuIHZhbDtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2dldEZpbGVCcm93c2VyJywgKCkgPT4ge1xuXG4gICAgaXQoJ1Nob3VsZCBoYW5kbGUgYmFzZTY0IGVuY29kZWQgc3RyaW5nIChzdmcpJywgYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIGV4cGVjdCgoYXdhaXQgZ2V0RmlsZSh7XG4gICAgICAgIGZpbGU6IGJhc2U2NFN2ZyxcbiAgICAgICAgbmFtZTogJ3Rlc3Quc3ZnJyxcbiAgICAgIH0pKS5taW1ldHlwZSkudG9FcXVhbCgnaW1hZ2Uvc3ZnK3htbCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYW5kbGUgYmFzZTY0IGVuY29kZWQgc3RyaW5nIChwbmcpJywgYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIGV4cGVjdCgoYXdhaXQgZ2V0RmlsZShiYXNlNjRQbmcpKS5taW1ldHlwZSkudG9FcXVhbCgnaW1hZ2UvcG5nJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhbmRsZSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcgKGdpZiknLCBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gZXhwZWN0KChhd2FpdCBnZXRGaWxlKGJhc2U2NEdpZikpLm1pbWV0eXBlKS50b0VxdWFsKCdpbWFnZS9naWYnKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGFuZGxlIGJhc2U2NCBlbmNvZGVkIHN0cmluZyB3aXRoIGI2NCBwcmVmaXggKGdpZiknLCBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gZXhwZWN0KChhd2FpdCBnZXRGaWxlKGBkYXRhOmltYWdlL2dpZjtiYXNlNjQsJHtiYXNlNjRHaWZ9YCkpLm1pbWV0eXBlKS50b0VxdWFsKCdpbWFnZS9naWYnKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgcGFzcyBzYW5pdGl6ZSBvcHRpb25zIHRvIGZpbGUgaW5zdGFuY2UnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBzb3B0aW9ucyA9IHtcbiAgICAgICAgcmVwbGFjZW1lbnQ6ICc9JyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGZpbGVSZXMgPSBhd2FpdCBnZXRGaWxlKHtcbiAgICAgICAgZmlsZTogYmFzZTY0UG5nLFxuICAgICAgICBuYW1lOiAndGVzdDwuanBnJyxcbiAgICAgIH0sIHNvcHRpb25zKTtcblxuICAgICAgZXhwZWN0KHNhbml0aXplT3B0aW9ucykudG9IYXZlQmVlbkNhbGxlZFdpdGgoc29wdGlvbnMpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCB0aHJvdyBlcnJvciB3aGVuIHJhbmRvbSBzdHJpbmcgaXMgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICByZXR1cm4gZXhwZWN0KGdldEZpbGUoJ2FzZGFzZGZhc2RmJykpLnJlamVjdHMudG9FcXVhbChuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIGlucHV0IGZpbGUgdHlwZScpKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGFuZGxlIGJhc2U2NCBuYW1lZCBmaWxlIChnaWYpJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IGdldEZpbGUoe1xuICAgICAgICBmaWxlOiBiYXNlNjRHaWYsXG4gICAgICAgIG5hbWU6ICd0ZXN0LmdpZicsXG4gICAgICB9KTtcbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCdpbWFnZS9naWYnKTtcbiAgICAgIGV4cGVjdChmaWxlLm5hbWUpLnRvRXF1YWwoJ3Rlc3QuZ2lmJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhbmRsZSBGaWxlIGlucHV0IHR5cGUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZ2V0RmlsZShjcmVhdGVGaWxlKCkpO1xuICAgICAgZXhwZWN0KGZpbGUubWltZXR5cGUpLnRvRXF1YWwoJ2ltYWdlL3BuZycpO1xuICAgICAgZXhwZWN0KGZpbGUubmFtZSkudG9FcXVhbCgndGVzdC5wbmcnKTtcbiAgICAgIGV4cGVjdChmaWxlLnNpemUpLnRvRXF1YWwoNDQzMjApO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYW5kbGUgYmxvYiBpbnB1dCB0eXBlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IGdldEZpbGUobmV3IEJsb2IoW25ldyBBcnJheUJ1ZmZlcigxMDApXSwge1xuICAgICAgICB0eXBlOiAnaW1hZ2UvanBnJyxcbiAgICAgIH0pKTtcblxuICAgICAgZXhwZWN0KGZpbGUubWltZXR5cGUpLnRvRXF1YWwoJ2ltYWdlL2pwZycpO1xuICAgICAgZXhwZWN0KGZpbGUubmFtZSkudG9FcXVhbCh1bmRlZmluZWQpO1xuICAgICAgZXhwZWN0KGZpbGUuc2l6ZSkudG9FcXVhbCgxMDApO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19

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

var file_tools_1 = require("./file_tools");
var fs = require("fs");
var fs = tslib_1.__importStar(require("fs"));
jest.mock('fs');

@@ -34,7 +34,7 @@ var mockedTestFile = Buffer.from('text text');

case 0:
spyOn(fs, 'existsSync').and.returnValue(true);
spyOn(fs, 'readFile').and.callFake(function (path, cb) {
jest.spyOn(fs, 'existsSync').mockReturnValue(true);
jest.spyOn(fs, 'readFile').mockImplementation(function (path, cb) {
cb(null, mockedTestFile);
});
return [4 /*yield*/, file_tools_1.getFile('/testfile.txt')];
return [4 /*yield*/, (0, file_tools_1.getFile)('/testfile.txt')];
case 1:

@@ -55,7 +55,7 @@ file = _a.sent();

it('Should reject if provided file cannot be read', function () {
spyOn(fs, 'existsSync').and.returnValue(true);
spyOn(fs, 'readFile').and.callFake(function (path, cb) {
cb('error');
jest.spyOn(fs, 'existsSync').mockReturnValue(true);
jest.spyOn(fs, 'readFile').mockImplementation(function (path, cb) {
cb(new Error('error'), null);
});
return expect(file_tools_1.getFile('/testfile.txt')).rejects.toEqual('error');
return expect((0, file_tools_1.getFile)('/testfile.txt')).rejects.toEqual(new Error('error'));
});

@@ -68,3 +68,3 @@ it('Should return correct mimetype', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {

jest.unmock('fs');
return [4 /*yield*/, file_tools_1.getFile('./package.json')];
return [4 /*yield*/, (0, file_tools_1.getFile)('./package.json')];
case 1:

@@ -81,3 +81,3 @@ file = _a.sent();

switch (_a.label) {
case 0: return [4 /*yield*/, file_tools_1.getFile(mockedTestFile)];
case 0: return [4 /*yield*/, (0, file_tools_1.getFile)(mockedTestFile)];
case 1:

@@ -95,3 +95,3 @@ file = _a.sent();

switch (_a.label) {
case 0: return [4 /*yield*/, file_tools_1.getFile({
case 0: return [4 /*yield*/, (0, file_tools_1.getFile)({
name: 'test.svg',

@@ -111,3 +111,3 @@ file: base64Svg,

switch (_a.label) {
case 0: return [4 /*yield*/, file_tools_1.getFile({
case 0: return [4 /*yield*/, (0, file_tools_1.getFile)({
name: 'test.svg',

@@ -127,3 +127,3 @@ file: base64SvgWithHeader,

switch (_a.label) {
case 0: return [4 /*yield*/, file_tools_1.getFile({
case 0: return [4 /*yield*/, (0, file_tools_1.getFile)({
name: 'test.undefined',

@@ -145,3 +145,3 @@ file: base64Svg,

_a = expect;
return [4 /*yield*/, file_tools_1.getFile("data:image/svg+xml;base64," + base64Svg)];
return [4 /*yield*/, (0, file_tools_1.getFile)("data:image/svg+xml;base64,".concat(base64Svg))];
case 1:

@@ -157,3 +157,3 @@ // it is hard to detect svg mimetype for now using fallback to application/octet-stream

switch (_a.label) {
case 0: return [4 /*yield*/, file_tools_1.getFile(mockedTestFile)];
case 0: return [4 /*yield*/, (0, file_tools_1.getFile)(mockedTestFile)];
case 1:

@@ -174,3 +174,3 @@ file = _a.sent();

switch (_a.label) {
case 0: return [4 /*yield*/, file_tools_1.getFile({
case 0: return [4 /*yield*/, (0, file_tools_1.getFile)({
name: 'test.undefined',

@@ -188,3 +188,3 @@ file: Buffer.of(12),

return tslib_1.__generator(this, function (_a) {
return [2 /*return*/, expect(file_tools_1.getFile('asdasdfasdf')).rejects.toEqual(new Error('Unsupported input file type'))];
return [2 /*return*/, expect((0, file_tools_1.getFile)('asdasdfasdf')).rejects.toEqual(new Error('Unsupported input file type'))];
});

@@ -196,3 +196,3 @@ }); });

switch (_a.label) {
case 0: return [4 /*yield*/, file_tools_1.getFile({
case 0: return [4 /*yield*/, (0, file_tools_1.getFile)({
file: mockedTestFile,

@@ -214,3 +214,3 @@ name: 'test<.jpg',

switch (_a.label) {
case 0: return [4 /*yield*/, file_tools_1.getFile({
case 0: return [4 /*yield*/, (0, file_tools_1.getFile)({
file: './package.json',

@@ -232,3 +232,3 @@ name: 'test<.jpg',

switch (_a.label) {
case 0: return [4 /*yield*/, file_tools_1.getFile({
case 0: return [4 /*yield*/, (0, file_tools_1.getFile)({
name: '123.jpg',

@@ -248,3 +248,3 @@ file: mockedTestFile,

// @ts-ignore
return expect(file_tools_1.getFile({})).rejects.toEqual(new Error('Unsupported input file type'));
return expect((0, file_tools_1.getFile)({})).rejects.toEqual(new Error('Unsupported input file type'));
});

@@ -254,2 +254,2 @@ });

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9maWxlX3Rvb2xzLnNwZWMubm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCwyQ0FBdUM7QUFDdkMsdUJBQXlCO0FBRXpCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFaEIsSUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNoRCxJQUFNLFNBQVMsR0FBRyxzT0FBc08sQ0FBQztBQUN6UCxJQUFNLG1CQUFtQixHQUFHLGdRQUFnUSxDQUFDO0FBRTdSLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRTtJQUMvQixRQUFRLENBQUMsYUFBYSxFQUFFO1FBRXRCLEVBQUUsQ0FBQyw4REFBOEQsRUFBRTs7Ozs7d0JBQ2pFLEtBQUssQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDOUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQUMsSUFBSSxFQUFFLEVBQUU7NEJBQzFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7d0JBQzNCLENBQUMsQ0FBQyxDQUFDO3dCQUVVLHFCQUFNLG9CQUFPLENBQUMsZUFBZSxDQUFDLEVBQUE7O3dCQUFyQyxJQUFJLEdBQUcsU0FBOEI7d0JBRTNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO3dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQzt3QkFDNUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBRXZCLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzt3QkFDMUIscUJBQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFBOzt3QkFBMUMsS0FBSyxHQUFHLFNBQWtDO3dCQUVoRCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzs7OzthQUMvQixDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsK0NBQStDLEVBQUU7WUFDbEQsS0FBSyxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlDLEtBQUssQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFDLElBQUksRUFBRSxFQUFFO2dCQUMxQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDZCxDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sTUFBTSxDQUFDLG9CQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGdDQUFnQyxFQUFFOzs7Ozt3QkFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFFTCxxQkFBTSxvQkFBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUE7O3dCQUF0QyxJQUFJLEdBQUcsU0FBK0I7d0JBQzVDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7Ozs7YUFDbkQsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGlEQUFpRCxFQUFFOzs7OzRCQUN2QyxxQkFBTSxvQkFBTyxDQUFDLGNBQWMsQ0FBQyxFQUFBOzt3QkFBcEMsSUFBSSxHQUFHLFNBQTZCO3dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7Ozs7YUFDN0MsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHFDQUFxQyxFQUFFOzs7OzRCQUMzQixxQkFBTSxvQkFBTyxDQUFDOzRCQUN6QixJQUFJLEVBQUUsVUFBVTs0QkFDaEIsSUFBSSxFQUFFLFNBQVM7eUJBQ2hCLENBQUMsRUFBQTs7d0JBSEksSUFBSSxHQUFHLFNBR1g7d0JBRUYsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7Ozs7YUFDaEQsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGlEQUFpRCxFQUFFOzs7OzRCQUN2QyxxQkFBTSxvQkFBTyxDQUFDOzRCQUN6QixJQUFJLEVBQUUsVUFBVTs0QkFDaEIsSUFBSSxFQUFFLG1CQUFtQjt5QkFDMUIsQ0FBQyxFQUFBOzt3QkFISSxJQUFJLEdBQUcsU0FHWDt3QkFFRixNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQzs7OzthQUNoRCxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsbUNBQW1DLEVBQUU7Ozs7NEJBQ3pCLHFCQUFNLG9CQUFPLENBQUM7NEJBQ3pCLElBQUksRUFBRSxnQkFBZ0I7NEJBQ3RCLElBQUksRUFBRSxTQUFTO3lCQUNoQixDQUFDLEVBQUE7O3dCQUhJLElBQUksR0FBRyxTQUdYO3dCQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDOzs7O2FBQzdDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywyREFBMkQsRUFBRTs7Ozs7d0JBRXZELEtBQUEsTUFBTSxDQUFBO3dCQUFFLHFCQUFNLG9CQUFPLENBQUMsK0JBQTZCLFNBQVcsQ0FBQyxFQUFBOztvQkFEdEUsdUZBQXVGO29CQUN2RixzQkFBTyxrQkFBTyxDQUFDLFNBQXVELENBQUMsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsRUFBQzs7O2FBQ3ZILENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywyQ0FBMkMsRUFBRTs7Ozs0QkFDakMscUJBQU0sb0JBQU8sQ0FBQyxjQUFjLENBQUMsRUFBQTs7d0JBQXBDLElBQUksR0FBRyxTQUE2Qjt3QkFFcEMsSUFBSSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3dCQUMxQixxQkFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUE7O3dCQUExQyxLQUFLLEdBQUcsU0FBa0M7d0JBRWhELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDOzs7O2FBQy9CLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxxQ0FBcUMsRUFBRTs7Ozs0QkFDM0IscUJBQU0sb0JBQU8sQ0FBQzs0QkFDekIsSUFBSSxFQUFFLGdCQUFnQjs0QkFDdEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO3lCQUNwQixDQUFDLEVBQUE7O3dCQUhJLElBQUksR0FBRyxTQUdYO3dCQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDOzs7O2FBQzdDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxtREFBbUQsRUFBRTs7Z0JBQ3RELHNCQUFPLE1BQU0sQ0FBQyxvQkFBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLEVBQUM7O2FBQ2pHLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx3REFBd0QsRUFBRTs7Ozs0QkFDM0MscUJBQU0sb0JBQU8sQ0FBQzs0QkFDNUIsSUFBSSxFQUFFLGNBQWM7NEJBQ3BCLElBQUksRUFBRSxXQUFXO3lCQUNsQixFQUFFOzRCQUNELFdBQVcsRUFBRSxHQUFHO3lCQUNqQixDQUFDLEVBQUE7O3dCQUxJLE9BQU8sR0FBRyxTQUtkO3dCQUVGLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDOzs7O2FBQzNDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxvREFBb0QsRUFBRTs7Ozs0QkFDdkMscUJBQU0sb0JBQU8sQ0FBQzs0QkFDNUIsSUFBSSxFQUFFLGdCQUFnQjs0QkFDdEIsSUFBSSxFQUFFLFdBQVc7eUJBQ2xCLEVBQUU7NEJBQ0QsV0FBVyxFQUFFLEdBQUc7eUJBQ2pCLENBQUMsRUFBQTs7d0JBTEksT0FBTyxHQUFHLFNBS2Q7d0JBRUYsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7Ozs7YUFDM0MsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGdDQUFnQyxFQUFFOzs7OzRCQUN0QixxQkFBTSxvQkFBTyxDQUFDOzRCQUN6QixJQUFJLEVBQUUsU0FBUzs0QkFDZixJQUFJLEVBQUUsY0FBYzt5QkFDckIsQ0FBQyxFQUFBOzt3QkFISSxJQUFJLEdBQUcsU0FHWDt3QkFFRixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQzt3QkFDckMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDOzs7O2FBQzdDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRTtZQUNqRCxhQUFhO1lBQ2IsT0FBTyxNQUFNLENBQUMsb0JBQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvYXBpL3VwbG9hZC9maWxlX3Rvb2xzLnNwZWMubm9kZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgJ0xpY2Vuc2UnKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgZ2V0RmlsZSB9IGZyb20gJy4vZmlsZV90b29scyc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5cbmplc3QubW9jaygnZnMnKTtcblxuY29uc3QgbW9ja2VkVGVzdEZpbGUgPSBCdWZmZXIuZnJvbSgndGV4dCB0ZXh0Jyk7XG5jb25zdCBiYXNlNjRTdmcgPSAnUEhOMlp5Qm9aV2xuYUhROUlqRXdNQ0lnZDJsa2RHZzlJakV3TUNJK0NpQWdQR05wY21Oc1pTQmplRDBpTlRBaUlHTjVQU0kxTUNJZ2NqMGlOREFpSUhOMGNtOXJaVDBpWW14aFkyc2lJSE4wY205clpTMTNhV1IwYUQwaU15SWdabWxzYkQwaWNtVmtJaUF2UGdvZ0lGTnZjbko1TENCNWIzVnlJR0p5YjNkelpYSWdaRzlsY3lCdWIzUWdjM1Z3Y0c5eWRDQnBibXhwYm1VZ1UxWkhMaUFnQ2p3dmMzWm5QaUE9JztcbmNvbnN0IGJhc2U2NFN2Z1dpdGhIZWFkZXIgPSAnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCb1pXbG5hSFE5SWpFd01DSWdkMmxrZEdnOUlqRXdNQ0krQ2lBZ1BHTnBjbU5zWlNCamVEMGlOVEFpSUdONVBTSTFNQ0lnY2owaU5EQWlJSE4wY205clpUMGlZbXhoWTJzaUlITjBjbTlyWlMxM2FXUjBhRDBpTXlJZ1ptbHNiRDBpY21Wa0lpQXZQZ29nSUZOdmNuSjVMQ0I1YjNWeUlHSnliM2R6WlhJZ1pHOWxjeUJ1YjNRZ2MzVndjRzl5ZENCcGJteHBibVVnVTFaSExpQWdDand2YzNablBpQT0nO1xuXG5kZXNjcmliZSgnQXBpL1VwbG9hZC9GaWxlVG9vbHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdnZXRGaWxlTm9kZScsICgpID0+IHtcblxuICAgIGl0KCdTaG91bGQgcmV0dXJuIGZpbGUgaW5zdGFuY2UgZm9yIG5vZGVqcyBsb2FkZWQgZmlsZSBmcm9tIHBhdGgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBzcHlPbihmcywgJ2V4aXN0c1N5bmMnKS5hbmQucmV0dXJuVmFsdWUodHJ1ZSk7XG4gICAgICBzcHlPbihmcywgJ3JlYWRGaWxlJykuYW5kLmNhbGxGYWtlKChwYXRoLCBjYikgPT4ge1xuICAgICAgICBjYihudWxsLCBtb2NrZWRUZXN0RmlsZSk7XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IGdldEZpbGUoJy90ZXN0ZmlsZS50eHQnKTtcblxuICAgICAgZXhwZWN0KGZpbGUubmFtZSkudG9FcXVhbCgndGVzdGZpbGUudHh0Jyk7XG4gICAgICBleHBlY3QoZmlsZS5taW1ldHlwZSkudG9FcXVhbCgndGV4dC9wbGFpbicpO1xuICAgICAgZXhwZWN0KGZpbGUuc2l6ZSkudG9FcXVhbCg5KTtcblxuICAgICAgY29uc3QgbWV0YSA9IGZpbGUuZ2V0UGFydE1ldGFkYXRhKDAsIDIpO1xuICAgICAgY29uc3Qgc2xpY2UgPSBhd2FpdCBmaWxlLmdldFBhcnRCeU1ldGFkYXRhKG1ldGEpO1xuXG4gICAgICBleHBlY3Qoc2xpY2Uuc2l6ZSkudG9FcXVhbCgyKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgcmVqZWN0IGlmIHByb3ZpZGVkIGZpbGUgY2Fubm90IGJlIHJlYWQnLCAoKSA9PiB7XG4gICAgICBzcHlPbihmcywgJ2V4aXN0c1N5bmMnKS5hbmQucmV0dXJuVmFsdWUodHJ1ZSk7XG4gICAgICBzcHlPbihmcywgJ3JlYWRGaWxlJykuYW5kLmNhbGxGYWtlKChwYXRoLCBjYikgPT4ge1xuICAgICAgICBjYignZXJyb3InKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gZXhwZWN0KGdldEZpbGUoJy90ZXN0ZmlsZS50eHQnKSkucmVqZWN0cy50b0VxdWFsKCdlcnJvcicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCByZXR1cm4gY29ycmVjdCBtaW1ldHlwZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGplc3QudW5tb2NrKCdmcycpO1xuXG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZ2V0RmlsZSgnLi9wYWNrYWdlLmpzb24nKTtcbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCdhcHBsaWNhdGlvbi9qc29uJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIHJldHVybiBjb3JyZWN0IGZpbGUgaW5zdGFuY2UgZnJvbSBidWZmZXInLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZ2V0RmlsZShtb2NrZWRUZXN0RmlsZSk7XG4gICAgICBleHBlY3QoZmlsZS5zaXplKS50b0VxdWFsKDkpO1xuICAgICAgZXhwZWN0KGZpbGUubWltZXR5cGUpLnRvRXF1YWwoJ3RleHQvcGxhaW4nKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGFuZGxlIGJhc2U2NCBlbmNvZGVkIHN0cmluZycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCBnZXRGaWxlKHtcbiAgICAgICAgbmFtZTogJ3Rlc3Quc3ZnJyxcbiAgICAgICAgZmlsZTogYmFzZTY0U3ZnLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCdpbWFnZS9zdmcreG1sJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhbmRsZSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcgd2l0aCBIZWFkZXInLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZ2V0RmlsZSh7XG4gICAgICAgIG5hbWU6ICd0ZXN0LnN2ZycsXG4gICAgICAgIGZpbGU6IGJhc2U2NFN2Z1dpdGhIZWFkZXIsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KGZpbGUubWltZXR5cGUpLnRvRXF1YWwoJ2ltYWdlL3N2Zyt4bWwnKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgZGV0ZWN0IHRleHQvcGxhaW4gbWltZXR5cGUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZ2V0RmlsZSh7XG4gICAgICAgIG5hbWU6ICd0ZXN0LnVuZGVmaW5lZCcsXG4gICAgICAgIGZpbGU6IGJhc2U2NFN2ZyxcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KGZpbGUubWltZXR5cGUpLnRvRXF1YWwoJ3RleHQvcGxhaW4nKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGFuZGxlIGJhc2U2NCBlbmNvZGVkIHN0cmluZyB3aXRoIGI2NCBwcmVmaXggKHN2ZyknLCBhc3luYyAoKSA9PiB7XG4gICAgICAvLyBpdCBpcyBoYXJkIHRvIGRldGVjdCBzdmcgbWltZXR5cGUgZm9yIG5vdyB1c2luZyBmYWxsYmFjayB0byBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cbiAgICAgIHJldHVybiBleHBlY3QoKGF3YWl0IGdldEZpbGUoYGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsJHtiYXNlNjRTdmd9YCkpLm1pbWV0eXBlKS50b0VxdWFsKCdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgZ2V0IHBhcnQgb2YgdGhlIGJ1ZmZlciBhZnRlciBzbGljZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCBnZXRGaWxlKG1vY2tlZFRlc3RGaWxlKTtcblxuICAgICAgY29uc3QgbWV0YSA9IGZpbGUuZ2V0UGFydE1ldGFkYXRhKDAsIDIpO1xuICAgICAgY29uc3Qgc2xpY2UgPSBhd2FpdCBmaWxlLmdldFBhcnRCeU1ldGFkYXRhKG1ldGEpO1xuXG4gICAgICBleHBlY3Qoc2xpY2Uuc2l6ZSkudG9FcXVhbCgyKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGFuZGxlIGJhc2U2NCBlbmNvZGVkIHN0cmluZycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCBnZXRGaWxlKHtcbiAgICAgICAgbmFtZTogJ3Rlc3QudW5kZWZpbmVkJyxcbiAgICAgICAgZmlsZTogQnVmZmVyLm9mKDEyKSxcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KGZpbGUubWltZXR5cGUpLnRvRXF1YWwoJ3RleHQvcGxhaW4nKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgdGhyb3cgZXJyb3Igd2hlbiByYW5kb20gc3RyaW5nIGlzIHByb3ZpZGVkJywgYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIGV4cGVjdChnZXRGaWxlKCdhc2Rhc2RmYXNkZicpKS5yZWplY3RzLnRvRXF1YWwobmV3IEVycm9yKCdVbnN1cHBvcnRlZCBpbnB1dCBmaWxlIHR5cGUnKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIHBhc3Mgc2FuaXRpemUgb3B0aW9ucyB0byBmaWxlIGluc3RhbmNlIChidWZmZXIpJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmlsZVJlcyA9IGF3YWl0IGdldEZpbGUoe1xuICAgICAgICBmaWxlOiBtb2NrZWRUZXN0RmlsZSxcbiAgICAgICAgbmFtZTogJ3Rlc3Q8LmpwZycsXG4gICAgICB9LCB7XG4gICAgICAgIHJlcGxhY2VtZW50OiAnPScsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KGZpbGVSZXMubmFtZSkudG9FcXVhbCgndGVzdD0uanBnJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIHBhc3Mgc2FuaXRpemUgb3B0aW9ucyB0byBmaWxlIGluc3RhbmNlIHBhdGgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmaWxlUmVzID0gYXdhaXQgZ2V0RmlsZSh7XG4gICAgICAgIGZpbGU6ICcuL3BhY2thZ2UuanNvbicsXG4gICAgICAgIG5hbWU6ICd0ZXN0PC5qcGcnLFxuICAgICAgfSwge1xuICAgICAgICByZXBsYWNlbWVudDogJz0nLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChmaWxlUmVzLm5hbWUpLnRvRXF1YWwoJ3Rlc3Q9LmpwZycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYW5kbGUgbmFtZWQgZmlsZSBpbnB1dCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCBnZXRGaWxlKHtcbiAgICAgICAgbmFtZTogJzEyMy5qcGcnLFxuICAgICAgICBmaWxlOiBtb2NrZWRUZXN0RmlsZSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QoZmlsZS5uYW1lKS50b0VxdWFsKCcxMjMuanBnJyk7XG4gICAgICBleHBlY3QoZmlsZS5zaXplKS50b0VxdWFsKDkpO1xuICAgICAgZXhwZWN0KGZpbGUubWltZXR5cGUpLnRvRXF1YWwoJ2ltYWdlL2pwZWcnKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgcmVqZWN0IG9uIHVuc3VwcG9ydGVkIGlucHV0IGZpbGUgdHlwZScsICgpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiBleHBlY3QoZ2V0RmlsZSh7fSkpLnJlamVjdHMudG9FcXVhbChuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIGlucHV0IGZpbGUgdHlwZScpKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9maWxlX3Rvb2xzLnNwZWMubm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCwyQ0FBdUM7QUFDdkMsNkNBQXlCO0FBRXpCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFaEIsSUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNoRCxJQUFNLFNBQVMsR0FBRyxzT0FBc08sQ0FBQztBQUN6UCxJQUFNLG1CQUFtQixHQUFHLGdRQUFnUSxDQUFDO0FBRTdSLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRTtJQUMvQixRQUFRLENBQUMsYUFBYSxFQUFFO1FBRXRCLEVBQUUsQ0FBQyw4REFBOEQsRUFBRTs7Ozs7d0JBQ2pFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUMsa0JBQWtCLENBQUMsVUFBQyxJQUFJLEVBQUUsRUFBRTs0QkFDckQsRUFBRSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQzt3QkFDM0IsQ0FBQyxDQUFDLENBQUM7d0JBRVUscUJBQU0sSUFBQSxvQkFBTyxFQUFDLGVBQWUsQ0FBQyxFQUFBOzt3QkFBckMsSUFBSSxHQUFHLFNBQThCO3dCQUUzQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQzt3QkFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7d0JBQzVDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUV2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Q0FBQzs7OzthQUM3QyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsOENBQThDLEVBQUU7WUFDakQsYUFBYTtZQUNiLE9BQU8sTUFBTSxDQUFDLElBQUEsb0JBQU8sRUFBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvYXBpL3VwbG9hZC9maWxlX3Rvb2xzLnNwZWMubm9kZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgJ0xpY2Vuc2UnKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgZ2V0RmlsZSB9IGZyb20gJy4vZmlsZV90b29scyc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5cbmplc3QubW9jaygnZnMnKTtcblxuY29uc3QgbW9ja2VkVGVzdEZpbGUgPSBCdWZmZXIuZnJvbSgndGV4dCB0ZXh0Jyk7XG5jb25zdCBiYXNlNjRTdmcgPSAnUEhOMlp5Qm9aV2xuYUhROUlqRXdNQ0lnZDJsa2RHZzlJakV3TUNJK0NpQWdQR05wY21Oc1pTQmplRDBpTlRBaUlHTjVQU0kxTUNJZ2NqMGlOREFpSUhOMGNtOXJaVDBpWW14aFkyc2lJSE4wY205clpTMTNhV1IwYUQwaU15SWdabWxzYkQwaWNtVmtJaUF2UGdvZ0lGTnZjbko1TENCNWIzVnlJR0p5YjNkelpYSWdaRzlsY3lCdWIzUWdjM1Z3Y0c5eWRDQnBibXhwYm1VZ1UxWkhMaUFnQ2p3dmMzWm5QaUE9JztcbmNvbnN0IGJhc2U2NFN2Z1dpdGhIZWFkZXIgPSAnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCb1pXbG5hSFE5SWpFd01DSWdkMmxrZEdnOUlqRXdNQ0krQ2lBZ1BHTnBjbU5zWlNCamVEMGlOVEFpSUdONVBTSTFNQ0lnY2owaU5EQWlJSE4wY205clpUMGlZbXhoWTJzaUlITjBjbTlyWlMxM2FXUjBhRDBpTXlJZ1ptbHNiRDBpY21Wa0lpQXZQZ29nSUZOdmNuSjVMQ0I1YjNWeUlHSnliM2R6WlhJZ1pHOWxjeUJ1YjNRZ2MzVndjRzl5ZENCcGJteHBibVVnVTFaSExpQWdDand2YzNablBpQT0nO1xuXG5kZXNjcmliZSgnQXBpL1VwbG9hZC9GaWxlVG9vbHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdnZXRGaWxlTm9kZScsICgpID0+IHtcblxuICAgIGl0KCdTaG91bGQgcmV0dXJuIGZpbGUgaW5zdGFuY2UgZm9yIG5vZGVqcyBsb2FkZWQgZmlsZSBmcm9tIHBhdGgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBqZXN0LnNweU9uKGZzLCAnZXhpc3RzU3luYycpLm1vY2tSZXR1cm5WYWx1ZSh0cnVlKTtcbiAgICAgIGplc3Quc3B5T24oZnMsICdyZWFkRmlsZScpLm1vY2tJbXBsZW1lbnRhdGlvbigocGF0aCwgY2IpID0+IHtcbiAgICAgICAgY2IobnVsbCwgbW9ja2VkVGVzdEZpbGUpO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCBnZXRGaWxlKCcvdGVzdGZpbGUudHh0Jyk7XG5cbiAgICAgIGV4cGVjdChmaWxlLm5hbWUpLnRvRXF1YWwoJ3Rlc3RmaWxlLnR4dCcpO1xuICAgICAgZXhwZWN0KGZpbGUubWltZXR5cGUpLnRvRXF1YWwoJ3RleHQvcGxhaW4nKTtcbiAgICAgIGV4cGVjdChmaWxlLnNpemUpLnRvRXF1YWwoOSk7XG5cbiAgICAgIGNvbnN0IG1ldGEgPSBmaWxlLmdldFBhcnRNZXRhZGF0YSgwLCAyKTtcbiAgICAgIGNvbnN0IHNsaWNlID0gYXdhaXQgZmlsZS5nZXRQYXJ0QnlNZXRhZGF0YShtZXRhKTtcblxuICAgICAgZXhwZWN0KHNsaWNlLnNpemUpLnRvRXF1YWwoMik7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIHJlamVjdCBpZiBwcm92aWRlZCBmaWxlIGNhbm5vdCBiZSByZWFkJywgKCkgPT4ge1xuICAgICAgamVzdC5zcHlPbihmcywgJ2V4aXN0c1N5bmMnKS5tb2NrUmV0dXJuVmFsdWUodHJ1ZSk7XG4gICAgICBqZXN0LnNweU9uKGZzLCAncmVhZEZpbGUnKS5tb2NrSW1wbGVtZW50YXRpb24oKHBhdGgsIGNiKSA9PiB7XG4gICAgICAgIGNiKG5ldyBFcnJvcignZXJyb3InKSwgbnVsbCk7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGV4cGVjdChnZXRGaWxlKCcvdGVzdGZpbGUudHh0JykpLnJlamVjdHMudG9FcXVhbChuZXcgRXJyb3IoJ2Vycm9yJykpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCByZXR1cm4gY29ycmVjdCBtaW1ldHlwZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGplc3QudW5tb2NrKCdmcycpO1xuXG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZ2V0RmlsZSgnLi9wYWNrYWdlLmpzb24nKTtcbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCdhcHBsaWNhdGlvbi9qc29uJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIHJldHVybiBjb3JyZWN0IGZpbGUgaW5zdGFuY2UgZnJvbSBidWZmZXInLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZ2V0RmlsZShtb2NrZWRUZXN0RmlsZSk7XG4gICAgICBleHBlY3QoZmlsZS5zaXplKS50b0VxdWFsKDkpO1xuICAgICAgZXhwZWN0KGZpbGUubWltZXR5cGUpLnRvRXF1YWwoJ3RleHQvcGxhaW4nKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGFuZGxlIGJhc2U2NCBlbmNvZGVkIHN0cmluZycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCBnZXRGaWxlKHtcbiAgICAgICAgbmFtZTogJ3Rlc3Quc3ZnJyxcbiAgICAgICAgZmlsZTogYmFzZTY0U3ZnLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCdpbWFnZS9zdmcreG1sJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhbmRsZSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcgd2l0aCBIZWFkZXInLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZ2V0RmlsZSh7XG4gICAgICAgIG5hbWU6ICd0ZXN0LnN2ZycsXG4gICAgICAgIGZpbGU6IGJhc2U2NFN2Z1dpdGhIZWFkZXIsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KGZpbGUubWltZXR5cGUpLnRvRXF1YWwoJ2ltYWdlL3N2Zyt4bWwnKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgZGV0ZWN0IHRleHQvcGxhaW4gbWltZXR5cGUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZ2V0RmlsZSh7XG4gICAgICAgIG5hbWU6ICd0ZXN0LnVuZGVmaW5lZCcsXG4gICAgICAgIGZpbGU6IGJhc2U2NFN2ZyxcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KGZpbGUubWltZXR5cGUpLnRvRXF1YWwoJ3RleHQvcGxhaW4nKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGFuZGxlIGJhc2U2NCBlbmNvZGVkIHN0cmluZyB3aXRoIGI2NCBwcmVmaXggKHN2ZyknLCBhc3luYyAoKSA9PiB7XG4gICAgICAvLyBpdCBpcyBoYXJkIHRvIGRldGVjdCBzdmcgbWltZXR5cGUgZm9yIG5vdyB1c2luZyBmYWxsYmFjayB0byBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cbiAgICAgIHJldHVybiBleHBlY3QoKGF3YWl0IGdldEZpbGUoYGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsJHtiYXNlNjRTdmd9YCkpLm1pbWV0eXBlKS50b0VxdWFsKCdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgZ2V0IHBhcnQgb2YgdGhlIGJ1ZmZlciBhZnRlciBzbGljZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCBnZXRGaWxlKG1vY2tlZFRlc3RGaWxlKTtcblxuICAgICAgY29uc3QgbWV0YSA9IGZpbGUuZ2V0UGFydE1ldGFkYXRhKDAsIDIpO1xuICAgICAgY29uc3Qgc2xpY2UgPSBhd2FpdCBmaWxlLmdldFBhcnRCeU1ldGFkYXRhKG1ldGEpO1xuXG4gICAgICBleHBlY3Qoc2xpY2Uuc2l6ZSkudG9FcXVhbCgyKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGFuZGxlIGJhc2U2NCBlbmNvZGVkIHN0cmluZycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCBnZXRGaWxlKHtcbiAgICAgICAgbmFtZTogJ3Rlc3QudW5kZWZpbmVkJyxcbiAgICAgICAgZmlsZTogQnVmZmVyLm9mKDEyKSxcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KGZpbGUubWltZXR5cGUpLnRvRXF1YWwoJ3RleHQvcGxhaW4nKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgdGhyb3cgZXJyb3Igd2hlbiByYW5kb20gc3RyaW5nIGlzIHByb3ZpZGVkJywgYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIGV4cGVjdChnZXRGaWxlKCdhc2Rhc2RmYXNkZicpKS5yZWplY3RzLnRvRXF1YWwobmV3IEVycm9yKCdVbnN1cHBvcnRlZCBpbnB1dCBmaWxlIHR5cGUnKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIHBhc3Mgc2FuaXRpemUgb3B0aW9ucyB0byBmaWxlIGluc3RhbmNlIChidWZmZXIpJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmlsZVJlcyA9IGF3YWl0IGdldEZpbGUoe1xuICAgICAgICBmaWxlOiBtb2NrZWRUZXN0RmlsZSxcbiAgICAgICAgbmFtZTogJ3Rlc3Q8LmpwZycsXG4gICAgICB9LCB7XG4gICAgICAgIHJlcGxhY2VtZW50OiAnPScsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KGZpbGVSZXMubmFtZSkudG9FcXVhbCgndGVzdD0uanBnJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIHBhc3Mgc2FuaXRpemUgb3B0aW9ucyB0byBmaWxlIGluc3RhbmNlIHBhdGgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmaWxlUmVzID0gYXdhaXQgZ2V0RmlsZSh7XG4gICAgICAgIGZpbGU6ICcuL3BhY2thZ2UuanNvbicsXG4gICAgICAgIG5hbWU6ICd0ZXN0PC5qcGcnLFxuICAgICAgfSwge1xuICAgICAgICByZXBsYWNlbWVudDogJz0nLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChmaWxlUmVzLm5hbWUpLnRvRXF1YWwoJ3Rlc3Q9LmpwZycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYW5kbGUgbmFtZWQgZmlsZSBpbnB1dCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCBnZXRGaWxlKHtcbiAgICAgICAgbmFtZTogJzEyMy5qcGcnLFxuICAgICAgICBmaWxlOiBtb2NrZWRUZXN0RmlsZSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QoZmlsZS5uYW1lKS50b0VxdWFsKCcxMjMuanBnJyk7XG4gICAgICBleHBlY3QoZmlsZS5zaXplKS50b0VxdWFsKDkpO1xuICAgICAgZXhwZWN0KGZpbGUubWltZXR5cGUpLnRvRXF1YWwoJ2ltYWdlL2pwZWcnKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgcmVqZWN0IG9uIHVuc3VwcG9ydGVkIGlucHV0IGZpbGUgdHlwZScsICgpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiBleHBlY3QoZ2V0RmlsZSh7fSkpLnJlamVjdHMudG9FcXVhbChuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIGlucHV0IGZpbGUgdHlwZScpKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.File = void 0;
var tslib_1 = require("tslib");

@@ -31,3 +32,3 @@ /*

this._sanitizeOptions = _sanitizeOptions;
this._file.name = utils_1.sanitizeName(this._file.name, this._sanitizeOptions);
this._file.name = (0, utils_1.sanitizeName)(this._file.name, this._sanitizeOptions);
}

@@ -50,5 +51,5 @@ Object.defineProperty(File.prototype, "name", {

set: function (val) {
this._file.name = utils_1.sanitizeName(val, this._sanitizeOptions);
this._file.name = (0, utils_1.sanitizeName)(val, this._sanitizeOptions);
},
enumerable: true,
enumerable: false,
configurable: true

@@ -67,3 +68,3 @@ });

},
enumerable: true,
enumerable: false,
configurable: true

@@ -86,3 +87,3 @@ });

if (typeof newName !== 'string') {
throw new Error("Name function must return a string. Current return type is " + typeof val);
throw new Error("Name function must return a string. Current return type is ".concat(typeof val));
}

@@ -93,3 +94,3 @@ this.name = val(this);

},
enumerable: true,
enumerable: false,
configurable: true

@@ -109,3 +110,3 @@ });

},
enumerable: true,
enumerable: false,
configurable: true

@@ -124,3 +125,3 @@ });

},
enumerable: true,
enumerable: false,
configurable: true

@@ -138,3 +139,3 @@ });

},
enumerable: true,
enumerable: false,
configurable: true

@@ -189,3 +190,3 @@ });

slice = _a.sent();
return [2 /*return*/, Promise.resolve(tslib_1.__assign(tslib_1.__assign({}, meta), { buffer: slice, md5: md5Enabled ? utils_1.md5(slice) : undefined }))];
return [2 /*return*/, Promise.resolve(tslib_1.__assign(tslib_1.__assign({}, meta), { buffer: slice, md5: md5Enabled ? (0, utils_1.md5)(slice) : undefined }))];
}

@@ -216,5 +217,3 @@ });

slice = _a.sent();
return [2 /*return*/, Promise.resolve(tslib_1.__assign(tslib_1.__assign({}, meta), { buffer: slice, md5: md5Enabled ? utils_1.md5(slice) : undefined, size: slice.byteLength, startByte: startByte,
endByte: endByte,
offset: offset }))];
return [2 /*return*/, Promise.resolve(tslib_1.__assign(tslib_1.__assign({}, meta), { buffer: slice, md5: md5Enabled ? (0, utils_1.md5)(slice) : undefined, size: slice.byteLength, startByte: startByte, endByte: endByte, offset: offset }))];
}

@@ -249,2 +248,2 @@ });

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILHVDQUFtRTtBQXNDbkU7Ozs7O0dBS0c7QUFDSDtJQWdCRSxjQUE2QixLQUFtQixFQUFtQixnQkFBa0M7UUFBeEUsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUFtQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ25HLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLG9CQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekUsQ0FBQztJQVFELHNCQUFXLHNCQUFJO1FBTmY7Ozs7O1dBS0c7YUFDSDtZQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDekIsQ0FBQztRQWFEOzs7O1dBSUc7YUFDSCxVQUFnQixHQUFXO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLG9CQUFZLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzdELENBQUM7OztPQXBCQTtJQVNELHNCQUFXLDBCQUFRO1FBUG5COzs7Ozs7V0FNRzthQUNIO1lBQ0UsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ25CLENBQUM7OztPQUFBO0lBaUJELHNCQUFXLDRCQUFVO1FBTnJCOzs7OztXQUtHO2FBQ0gsVUFBc0IsR0FBc0M7WUFDMUQsUUFBUSxPQUFPLEdBQUcsRUFBRTtnQkFDbEIsS0FBSyxRQUFRO29CQUNYLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO29CQUNoQixNQUFNO2dCQUNSLEtBQUssVUFBVTtvQkFDYixJQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzFCLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO3dCQUMvQixN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LEtBQUssQ0FBQyxVQUFVLEVBQ3RCLFNBQVMsV0FBQTtnQ0FDVCxPQUFPLFNBQUE7Z0NBQ1AsTUFBTSxRQUFBLElBQ04sRUFBQzs7OztLQUNKO0lBQ0Q7Ozs7T0FJRztJQUNJLHNCQUFPLEdBQWQ7UUFDRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRU0scUJBQU0sR0FBYjtRQUNFLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM1QixDQUFDO0lBQ0osQ0FBQztJQUNILFdBQUM7QUFBRCxDQTdNQSxBQTZNQyxJQUFBO0FBN01ZLG9CQUFJIiwiZmlsZSI6ImxpYi9hcGkvdXBsb2FkL2ZpbGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE5IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgbWQ1LCBzYW5pdGl6ZU5hbWUsIFNhbml0aXplT3B0aW9ucyB9IGZyb20gJy4vLi4vLi4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVwbG9hZFRhZ3Mge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUluc3RhbmNlIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHNpemU6IG51bWJlcjtcbiAgc2xpY2U6IChzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcikgPT4gUHJvbWlzZTxBcnJheUJ1ZmZlcj47XG4gIHJlbGVhc2U/OiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgZW51bSBGaWxlU3RhdGUge1xuICBJTklUID0gJ0luaXRpYWxpemVkJyxcbiAgUFJPR1JFU1MgPSAnUHJvZ3Jlc3MnLFxuICBTVE9SRUQgPSAnU3RvcmVkJyxcbiAgSU5UUkFOU0lUID0gJ0luVHJhbnNpdCcsXG4gIEZBSUxFRCA9ICdGYWlsZWQnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVQYXJ0TWV0YWRhdGEge1xuICBzdGFydEJ5dGU6IG51bWJlcjtcbiAgZW5kQnl0ZTogbnVtYmVyO1xuICBwYXJ0TnVtYmVyOiBudW1iZXI7XG4gIHNpemU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlUGFydCBleHRlbmRzIEZpbGVQYXJ0TWV0YWRhdGEge1xuICBidWZmZXI6IEJ1ZmZlciB8IEFycmF5QnVmZmVyO1xuICBtZDU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUNodW5rIGV4dGVuZHMgRmlsZVBhcnQge1xuICBvZmZzZXQ6IG51bWJlcjsgLy8gb2Zmc2V0IGZvciBjaHVuayAtIGZyb20gcGFydCBzdGFydFxufVxuXG4vKipcbiAqIEZpbGUgcmVwcmVzZW50YXRpb24gdG8gdW5pZnkgZmlsZSBvYmplY3QgaW4gbm9kZWpzIGFuZCBicm93c2VyXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIEZpbGVcbiAqL1xuZXhwb3J0IGNsYXNzIEZpbGUge1xuXG4gIHB1YmxpYyBzdGF0dXM6IEZpbGVTdGF0ZTtcblxuICBwdWJsaWMgaGFuZGxlOiBzdHJpbmc7XG5cbiAgcHVibGljIHVybDogc3RyaW5nO1xuXG4gIHB1YmxpYyBjb250YWluZXI6IHN0cmluZztcblxuICBwdWJsaWMga2V5OiBzdHJpbmc7XG5cbiAgcHVibGljIHdvcmtmbG93czogYW55W107XG5cbiAgcHVibGljIHVwbG9hZFRhZ3M6IFVwbG9hZFRhZ3M7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfZmlsZTogRmlsZUluc3RhbmNlLCBwcml2YXRlIHJlYWRvbmx5IF9zYW5pdGl6ZU9wdGlvbnM/OiBTYW5pdGl6ZU9wdGlvbnMpIHtcbiAgICB0aGlzLl9maWxlLm5hbWUgPSBzYW5pdGl6ZU5hbWUodGhpcy5fZmlsZS5uYW1lLCB0aGlzLl9zYW5pdGl6ZU9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgZmlsZSBuYW1lXG4gICAqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBGaWxlXG4gICAqL1xuICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsZS5uYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsaWFzIGZvciBuYW1lIGdldHRlclxuICAgKlxuICAgKiBAcmVhZG9ubHlcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBnZXQgZmlsZW5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgbmV3IGZpbGUgbmFtZSAgYW5kIGNsZWFudXAgZXh0cmEgY2hhcnNcbiAgICpcbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBzZXQgbmFtZSh2YWw6IHN0cmluZykge1xuICAgIHRoaXMuX2ZpbGUubmFtZSA9IHNhbml0aXplTmFtZSh2YWwsIHRoaXMuX3Nhbml0aXplT3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBjdXN0b20gbmFtZSB1c2luZyBzdHJpbmcgb3IgZnVuY3Rpb25cbiAgICogTmFtZSB3aWxsIGJlIHNhbml0aXplZFxuICAgKlxuICAgKiBAbWVtYmVyb2YgRmlsZVxuICAgKi9cbiAgcHVibGljIHNldCBjdXN0b21OYW1lKHZhbDogKChmaWxlOiB0aGlzKSA9PiBzdHJpbmcpIHwgc3RyaW5nKSB7XG4gICAgc3dpdGNoICh0eXBlb2YgdmFsKSB7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICB0aGlzLm5hbWUgPSB2YWw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgICBjb25zdCBuZXdOYW1lID0gdmFsKHRoaXMpO1xuICAgICAgICBpZiAodHlwZW9mIG5ld05hbWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBOYW1lIGZ1bmN0aW9uIG11c3QgcmV0dXJuIGEgc3RyaW5nLiBDdXJyZW50IHJldHVybiB0eXBlIGlzICR7dHlwZW9mIHZhbH1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmFtZSA9IHZhbCh0aGlzKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgZmlsZSB0eXBlXG4gICAqXG4gICAqIEBkZWZhdWx0ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBGaWxlXG4gICAqL1xuICBwdWJsaWMgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiB0aGlzLl9maWxlLnR5cGUgfHwgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSc7XG4gIH1cblxuICAvKipcbiAgICogQWxpYXMgZm9yIGZpbGUgdHlwZVxuICAgKlxuICAgKiBAcmVhZG9ubHlcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBnZXQgbWltZXR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgZmlsZSBzaXplXG4gICAqXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9XG4gICAqIEBtZW1iZXJvZiBGaWxlXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsZS5zaXplO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgbnVtYmVyIG9mIHBhcnRzIGFjY29yZGluZyB0byBwYXJ0IHNpemVcbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHNpemUgLSBwYXJ0IHNpemUgaW4gYnl0ZXNcbiAgICogQHJldHVybnMge251bWJlcn1cbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBnZXRQYXJ0c0NvdW50IChzaXplOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5fZmlsZS5zaXplIC8gc2l6ZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBwYXJ0IG1ldGFkYXRhXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbcGFydE51bT0wXVxuICAgKiBAcGFyYW0geyp9IHNpemVcbiAgICogQHJldHVybnMge0ZpbGVQYXJ0TWV0YWRhdGF9XG4gICAqIEBtZW1iZXJvZiBGaWxlXG4gICAqL1xuICBwdWJsaWMgZ2V0UGFydE1ldGFkYXRhIChwYXJ0TnVtOiBudW1iZXIsIHNpemU6IG51bWJlcik6IEZpbGVQYXJ0TWV0YWRhdGEge1xuICAgIGNvbnN0IHN0YXJ0Qnl0ZSA9IHNpemUgKiBwYXJ0TnVtO1xuXG4gICAgaWYgKHN0YXJ0Qnl0ZSA+IHRoaXMuX2ZpbGUuc2l6ZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTdGFydCBieXRlIG9mIHRoZSBwYXJ0IGlzIGhpZ2hlciB0aGFuIGJ1ZmZlciBzaXplYCk7XG4gICAgfVxuXG4gICAgY29uc3QgZW5kQnl0ZSA9IE1hdGgubWluKHN0YXJ0Qnl0ZSArIHNpemUsIHRoaXMuX2ZpbGUuc2l6ZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGFydE51bWJlcjogcGFydE51bSxcbiAgICAgIHN0YXJ0Qnl0ZSxcbiAgICAgIGVuZEJ5dGUsXG4gICAgICBzaXplOiBlbmRCeXRlIC0gc3RhcnRCeXRlLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBwYXJ0IG1ldGFkYXRhICsgYnVmZmVyXG4gICAqXG4gICAqIEBwYXJhbSB7RmlsZVBhcnRNZXRhZGF0YX0gbWV0YVxuICAgKiBAcmV0dXJucyB7RmlsZVBhcnR9XG4gICAqIEBtZW1iZXJvZiBGaWxlXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0UGFydEJ5TWV0YWRhdGEobWV0YTogRmlsZVBhcnRNZXRhZGF0YSwgbWQ1RW5hYmxlZDogYm9vbGVhbiA9IHRydWUpOiBQcm9taXNlPEZpbGVQYXJ0PiB7XG4gICAgbGV0IHNsaWNlID0gYXdhaXQgdGhpcy5fZmlsZS5zbGljZShtZXRhLnN0YXJ0Qnl0ZSwgbWV0YS5lbmRCeXRlKTtcblxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgLi4ubWV0YSxcbiAgICAgIGJ1ZmZlcjogc2xpY2UsXG4gICAgICBtZDU6IG1kNUVuYWJsZWQgPyBtZDUoc2xpY2UpIDogdW5kZWZpbmVkLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgcGFydCBjaHVua1xuICAgKlxuICAgKiBAcGFyYW0ge0ZpbGVQYXJ0TWV0YWRhdGF9IG1ldGFcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9mZnNldFxuICAgKiBAcGFyYW0ge251bWJlcn0gY2h1bmtTaXplXG4gICAqIEByZXR1cm5zIHtGaWxlUGFydH1cbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRDaHVua0J5TWV0YWRhdGEobWV0YTogRmlsZVBhcnRNZXRhZGF0YSwgb2Zmc2V0OiBudW1iZXIsIGNodW5rU2l6ZTogbnVtYmVyLCBtZDVFbmFibGVkOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8RmlsZUNodW5rPiB7XG4gICAgY29uc3Qgc3RhcnRCeXRlID0gbWV0YS5zdGFydEJ5dGUgKyBvZmZzZXQ7XG4gICAgY29uc3QgZW5kQnl0ZSA9IE1hdGgubWluKHN0YXJ0Qnl0ZSArIGNodW5rU2l6ZSwgbWV0YS5lbmRCeXRlKTtcblxuICAgIGxldCBzbGljZSA9IGF3YWl0IHRoaXMuX2ZpbGUuc2xpY2Uoc3RhcnRCeXRlLCBlbmRCeXRlKTtcblxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgLi4ubWV0YSxcbiAgICAgIGJ1ZmZlcjogc2xpY2UsXG4gICAgICBtZDU6IG1kNUVuYWJsZWQgPyBtZDUoc2xpY2UpIDogdW5kZWZpbmVkLFxuICAgICAgc2l6ZTogc2xpY2UuYnl0ZUxlbmd0aCxcbiAgICAgIHN0YXJ0Qnl0ZSxcbiAgICAgIGVuZEJ5dGUsXG4gICAgICBvZmZzZXQsXG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIENsZWFudXAgZmlsZSBidWZmZXIgdG8gcmVsZWFzZSBtZW1vcnlcbiAgICpcbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyByZWxlYXNlKCkge1xuICAgIGlmICh0aGlzLl9maWxlLnJlbGVhc2UpIHtcbiAgICAgIHRoaXMuX2ZpbGUucmVsZWFzZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIHN0YXR1czogdGhpcy5zdGF0dXMsXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICBzaXplOiB0aGlzLnNpemUsXG4gICAgICB1cmw6IHRoaXMudXJsLFxuICAgICAgaGFuZGxlOiB0aGlzLmhhbmRsZSxcbiAgICAgIHVwbG9hZFRhZ3M6IHRoaXMudXBsb2FkVGFncyxcbiAgICB9O1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCx1Q0FBbUU7QUFzQ25FOzs7OztHQUtHO0FBQ0g7SUFnQkUsY0FBNkIsS0FBbUIsRUFBbUIsZ0JBQWtDO1FBQXhFLFVBQUssR0FBTCxLQUFLLENBQWM7UUFBbUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNuRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFBLG9CQUFZLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekUsQ0FBQztJQVFELHNCQUFXLHNCQUFJO1FBTmY7Ozs7O1dBS0c7YUFDSDtZQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDekIsQ0FBQztRQWFEOzs7O1dBSUc7YUFDSCxVQUFnQixHQUFXO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUEsb0JBQVksRUFBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDN0QsQ0FBQzs7O09BcEJBO0lBU0Qsc0JBQVcsMEJBQVE7UUFQbkI7Ozs7OztXQU1HO2FBQ0g7WUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkIsQ0FBQzs7O09BQUE7SUFpQkQsc0JBQVcsNEJBQVU7UUFOckI7Ozs7O1dBS0c7YUFDSCxVQUFzQixHQUFzQztZQUMxRCxRQUFRLE9BQU8sR0FBRyxFQUFFO2dCQUNsQixLQUFLLFFBQVE7b0JBQ1gsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7b0JBQ2hCLE1BQU07Z0JBQ1IsS0FBSyxVQUFVO29CQUNiLElBQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDMUIsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUU7d0JBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMscUVBQThELE9BQU8sR0FBRyxDQUFFLENBQUMsQ0FBQztxQkFDN0Y7b0JBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3RCLE1BQU07YUFDVDtRQUNILENBQUM7OztPQUFBO0lBU0Qsc0JBQVcsc0JBQUk7UUFQZjs7Ozs7O1dBTUc7YUFDSDtZQUNFLDBCQUEwQjtZQUMxQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLDBCQUEwQixDQUFDO1FBQ3ZELENBQUM7OztPQUFBO0lBU0Qsc0JBQVcsMEJBQVE7UUFQbkI7Ozs7OztXQU1HO2FBQ0g7WUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkIsQ0FBQzs7O09BQUE7SUFRRCxzQkFBVyxzQkFBSTtRQU5mOzs7OztXQUtHO2FBQ0g7WUFDRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3pCLENBQUM7OztPQUFBO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksNEJBQWEsR0FBcEIsVUFBc0IsSUFBWTtRQUNoQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSw4QkFBZSxHQUF0QixVQUF3QixPQUFlLEVBQUUsSUFBWTtRQUNuRCxJQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsT0FBTyxDQUFDO1FBRWpDLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztTQUN0RTtRQUVELElBQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFHLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVELE9BQU87WUFDTCxVQUFVLEVBQUUsT0FBTztZQUNuQixTQUFTLFdBQUE7WUFDVCxPQUFPLFNBQUE7WUFDUCxJQUFJLEVBQUUsT0FBTyxHQUFHLFNBQVM7U0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDVSxnQ0FBaUIsR0FBOUIsVUFBK0IsSUFBc0IsRUFBRSxVQUEwQjtRQUExQiwyQkFBQSxFQUFBLGlCQUEwQjs7Ozs7NEJBQ25FLHFCQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFBOzt3QkFBNUQsS0FBSyxHQUFHLFNBQW9EO3dCQUVoRSxzQkFBTyxPQUFPLENBQUMsT0FBTyx1Q0FDakIsSUFBSSxLQUNQLE1BQU0sRUFBRSxLQUFLLEVBQ2IsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBQSxXQUFHLEVBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFDeEMsRUFBQzs7OztLQUNKO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDVSxpQ0FBa0IsR0FBL0IsVUFBZ0MsSUFBc0IsRUFBRSxNQUFjLEVBQUUsU0FBaUIsRUFBRSxVQUEwQjtRQUExQiwyQkFBQSxFQUFBLGlCQUEwQjs7Ozs7O3dCQUM3RyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7d0JBQ3BDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUVsRCxxQkFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLEVBQUE7O3dCQUFsRCxLQUFLLEdBQUcsU0FBMEM7d0JBRXRELHNCQUFPLE9BQU8sQ0FBQyxPQUFPLHVDQUNqQixJQUFJLEtBQ1AsTUFBTSxFQUFFLEtBQUssRUFDYixHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFBLFdBQUcsRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUN4QyxJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFDdEIsU0FBUyxXQUFBLEVBQ1QsT0FBTyxTQUFBLEVBQ1AsTUFBTSxRQUFBLElBQ04sRUFBQzs7OztLQUNKO0lBQ0Q7Ozs7T0FJRztJQUNJLHNCQUFPLEdBQWQ7UUFDRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRU0scUJBQU0sR0FBYjtRQUNFLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM1QixDQUFDO0lBQ0osQ0FBQztJQUNILFdBQUM7QUFBRCxDQTdNQSxBQTZNQyxJQUFBO0FBN01ZLG9CQUFJIiwiZmlsZSI6ImxpYi9hcGkvdXBsb2FkL2ZpbGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE5IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgbWQ1LCBzYW5pdGl6ZU5hbWUsIFNhbml0aXplT3B0aW9ucyB9IGZyb20gJy4vLi4vLi4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVwbG9hZFRhZ3Mge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUluc3RhbmNlIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHNpemU6IG51bWJlcjtcbiAgc2xpY2U6IChzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcikgPT4gUHJvbWlzZTxBcnJheUJ1ZmZlcj47XG4gIHJlbGVhc2U/OiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgZW51bSBGaWxlU3RhdGUge1xuICBJTklUID0gJ0luaXRpYWxpemVkJyxcbiAgUFJPR1JFU1MgPSAnUHJvZ3Jlc3MnLFxuICBTVE9SRUQgPSAnU3RvcmVkJyxcbiAgSU5UUkFOU0lUID0gJ0luVHJhbnNpdCcsXG4gIEZBSUxFRCA9ICdGYWlsZWQnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVQYXJ0TWV0YWRhdGEge1xuICBzdGFydEJ5dGU6IG51bWJlcjtcbiAgZW5kQnl0ZTogbnVtYmVyO1xuICBwYXJ0TnVtYmVyOiBudW1iZXI7XG4gIHNpemU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlUGFydCBleHRlbmRzIEZpbGVQYXJ0TWV0YWRhdGEge1xuICBidWZmZXI6IEJ1ZmZlciB8IEFycmF5QnVmZmVyO1xuICBtZDU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUNodW5rIGV4dGVuZHMgRmlsZVBhcnQge1xuICBvZmZzZXQ6IG51bWJlcjsgLy8gb2Zmc2V0IGZvciBjaHVuayAtIGZyb20gcGFydCBzdGFydFxufVxuXG4vKipcbiAqIEZpbGUgcmVwcmVzZW50YXRpb24gdG8gdW5pZnkgZmlsZSBvYmplY3QgaW4gbm9kZWpzIGFuZCBicm93c2VyXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIEZpbGVcbiAqL1xuZXhwb3J0IGNsYXNzIEZpbGUge1xuXG4gIHB1YmxpYyBzdGF0dXM6IEZpbGVTdGF0ZTtcblxuICBwdWJsaWMgaGFuZGxlOiBzdHJpbmc7XG5cbiAgcHVibGljIHVybDogc3RyaW5nO1xuXG4gIHB1YmxpYyBjb250YWluZXI6IHN0cmluZztcblxuICBwdWJsaWMga2V5OiBzdHJpbmc7XG5cbiAgcHVibGljIHdvcmtmbG93czogYW55W107XG5cbiAgcHVibGljIHVwbG9hZFRhZ3M6IFVwbG9hZFRhZ3M7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfZmlsZTogRmlsZUluc3RhbmNlLCBwcml2YXRlIHJlYWRvbmx5IF9zYW5pdGl6ZU9wdGlvbnM/OiBTYW5pdGl6ZU9wdGlvbnMpIHtcbiAgICB0aGlzLl9maWxlLm5hbWUgPSBzYW5pdGl6ZU5hbWUodGhpcy5fZmlsZS5uYW1lLCB0aGlzLl9zYW5pdGl6ZU9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgZmlsZSBuYW1lXG4gICAqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBGaWxlXG4gICAqL1xuICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsZS5uYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsaWFzIGZvciBuYW1lIGdldHRlclxuICAgKlxuICAgKiBAcmVhZG9ubHlcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBnZXQgZmlsZW5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgbmV3IGZpbGUgbmFtZSAgYW5kIGNsZWFudXAgZXh0cmEgY2hhcnNcbiAgICpcbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBzZXQgbmFtZSh2YWw6IHN0cmluZykge1xuICAgIHRoaXMuX2ZpbGUubmFtZSA9IHNhbml0aXplTmFtZSh2YWwsIHRoaXMuX3Nhbml0aXplT3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBjdXN0b20gbmFtZSB1c2luZyBzdHJpbmcgb3IgZnVuY3Rpb25cbiAgICogTmFtZSB3aWxsIGJlIHNhbml0aXplZFxuICAgKlxuICAgKiBAbWVtYmVyb2YgRmlsZVxuICAgKi9cbiAgcHVibGljIHNldCBjdXN0b21OYW1lKHZhbDogKChmaWxlOiB0aGlzKSA9PiBzdHJpbmcpIHwgc3RyaW5nKSB7XG4gICAgc3dpdGNoICh0eXBlb2YgdmFsKSB7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICB0aGlzLm5hbWUgPSB2YWw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgICBjb25zdCBuZXdOYW1lID0gdmFsKHRoaXMpO1xuICAgICAgICBpZiAodHlwZW9mIG5ld05hbWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBOYW1lIGZ1bmN0aW9uIG11c3QgcmV0dXJuIGEgc3RyaW5nLiBDdXJyZW50IHJldHVybiB0eXBlIGlzICR7dHlwZW9mIHZhbH1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmFtZSA9IHZhbCh0aGlzKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgZmlsZSB0eXBlXG4gICAqXG4gICAqIEBkZWZhdWx0ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBGaWxlXG4gICAqL1xuICBwdWJsaWMgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiB0aGlzLl9maWxlLnR5cGUgfHwgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSc7XG4gIH1cblxuICAvKipcbiAgICogQWxpYXMgZm9yIGZpbGUgdHlwZVxuICAgKlxuICAgKiBAcmVhZG9ubHlcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBnZXQgbWltZXR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgZmlsZSBzaXplXG4gICAqXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9XG4gICAqIEBtZW1iZXJvZiBGaWxlXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsZS5zaXplO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgbnVtYmVyIG9mIHBhcnRzIGFjY29yZGluZyB0byBwYXJ0IHNpemVcbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHNpemUgLSBwYXJ0IHNpemUgaW4gYnl0ZXNcbiAgICogQHJldHVybnMge251bWJlcn1cbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBnZXRQYXJ0c0NvdW50IChzaXplOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5fZmlsZS5zaXplIC8gc2l6ZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBwYXJ0IG1ldGFkYXRhXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbcGFydE51bT0wXVxuICAgKiBAcGFyYW0geyp9IHNpemVcbiAgICogQHJldHVybnMge0ZpbGVQYXJ0TWV0YWRhdGF9XG4gICAqIEBtZW1iZXJvZiBGaWxlXG4gICAqL1xuICBwdWJsaWMgZ2V0UGFydE1ldGFkYXRhIChwYXJ0TnVtOiBudW1iZXIsIHNpemU6IG51bWJlcik6IEZpbGVQYXJ0TWV0YWRhdGEge1xuICAgIGNvbnN0IHN0YXJ0Qnl0ZSA9IHNpemUgKiBwYXJ0TnVtO1xuXG4gICAgaWYgKHN0YXJ0Qnl0ZSA+IHRoaXMuX2ZpbGUuc2l6ZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTdGFydCBieXRlIG9mIHRoZSBwYXJ0IGlzIGhpZ2hlciB0aGFuIGJ1ZmZlciBzaXplYCk7XG4gICAgfVxuXG4gICAgY29uc3QgZW5kQnl0ZSA9IE1hdGgubWluKHN0YXJ0Qnl0ZSArIHNpemUsIHRoaXMuX2ZpbGUuc2l6ZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGFydE51bWJlcjogcGFydE51bSxcbiAgICAgIHN0YXJ0Qnl0ZSxcbiAgICAgIGVuZEJ5dGUsXG4gICAgICBzaXplOiBlbmRCeXRlIC0gc3RhcnRCeXRlLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBwYXJ0IG1ldGFkYXRhICsgYnVmZmVyXG4gICAqXG4gICAqIEBwYXJhbSB7RmlsZVBhcnRNZXRhZGF0YX0gbWV0YVxuICAgKiBAcmV0dXJucyB7RmlsZVBhcnR9XG4gICAqIEBtZW1iZXJvZiBGaWxlXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0UGFydEJ5TWV0YWRhdGEobWV0YTogRmlsZVBhcnRNZXRhZGF0YSwgbWQ1RW5hYmxlZDogYm9vbGVhbiA9IHRydWUpOiBQcm9taXNlPEZpbGVQYXJ0PiB7XG4gICAgbGV0IHNsaWNlID0gYXdhaXQgdGhpcy5fZmlsZS5zbGljZShtZXRhLnN0YXJ0Qnl0ZSwgbWV0YS5lbmRCeXRlKTtcblxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgLi4ubWV0YSxcbiAgICAgIGJ1ZmZlcjogc2xpY2UsXG4gICAgICBtZDU6IG1kNUVuYWJsZWQgPyBtZDUoc2xpY2UpIDogdW5kZWZpbmVkLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgcGFydCBjaHVua1xuICAgKlxuICAgKiBAcGFyYW0ge0ZpbGVQYXJ0TWV0YWRhdGF9IG1ldGFcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9mZnNldFxuICAgKiBAcGFyYW0ge251bWJlcn0gY2h1bmtTaXplXG4gICAqIEByZXR1cm5zIHtGaWxlUGFydH1cbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRDaHVua0J5TWV0YWRhdGEobWV0YTogRmlsZVBhcnRNZXRhZGF0YSwgb2Zmc2V0OiBudW1iZXIsIGNodW5rU2l6ZTogbnVtYmVyLCBtZDVFbmFibGVkOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8RmlsZUNodW5rPiB7XG4gICAgY29uc3Qgc3RhcnRCeXRlID0gbWV0YS5zdGFydEJ5dGUgKyBvZmZzZXQ7XG4gICAgY29uc3QgZW5kQnl0ZSA9IE1hdGgubWluKHN0YXJ0Qnl0ZSArIGNodW5rU2l6ZSwgbWV0YS5lbmRCeXRlKTtcblxuICAgIGxldCBzbGljZSA9IGF3YWl0IHRoaXMuX2ZpbGUuc2xpY2Uoc3RhcnRCeXRlLCBlbmRCeXRlKTtcblxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgLi4ubWV0YSxcbiAgICAgIGJ1ZmZlcjogc2xpY2UsXG4gICAgICBtZDU6IG1kNUVuYWJsZWQgPyBtZDUoc2xpY2UpIDogdW5kZWZpbmVkLFxuICAgICAgc2l6ZTogc2xpY2UuYnl0ZUxlbmd0aCxcbiAgICAgIHN0YXJ0Qnl0ZSxcbiAgICAgIGVuZEJ5dGUsXG4gICAgICBvZmZzZXQsXG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIENsZWFudXAgZmlsZSBidWZmZXIgdG8gcmVsZWFzZSBtZW1vcnlcbiAgICpcbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyByZWxlYXNlKCkge1xuICAgIGlmICh0aGlzLl9maWxlLnJlbGVhc2UpIHtcbiAgICAgIHRoaXMuX2ZpbGUucmVsZWFzZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIHN0YXR1czogdGhpcy5zdGF0dXMsXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICBzaXplOiB0aGlzLnNpemUsXG4gICAgICB1cmw6IHRoaXMudXJsLFxuICAgICAgaGFuZGxlOiB0aGlzLmhhbmRsZSxcbiAgICAgIHVwbG9hZFRhZ3M6IHRoaXMudXBsb2FkVGFncyxcbiAgICB9O1xuICB9XG59XG4iXX0=

@@ -23,3 +23,4 @@ "use strict";

tslib_1.__exportStar(require("./file"), exports);
tslib_1.__exportStar(require("./types"), exports);
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSCx1REFBNkI7QUFDN0IsbURBQXlCO0FBQ3pCLGlEQUF1QiIsImZpbGUiOiJsaWIvYXBpL3VwbG9hZC9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vZmlsZV90b29scyc7XG5leHBvcnQgKiBmcm9tICcuL3VwbG9hZCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSCx1REFBNkI7QUFDN0IsbURBQXlCO0FBQ3pCLGlEQUF1QjtBQUN2QixrREFBd0IiLCJmaWxlIjoibGliL2FwaS91cGxvYWQvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE5IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2ZpbGVfdG9vbHMnO1xuZXhwb3J0ICogZnJvbSAnLi91cGxvYWQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuIl19

@@ -65,3 +65,3 @@ import { StoreBaseParams } from './../../filelink';

}
export declare type StoreUploadOptions = StoreBaseParams & {
export type StoreUploadOptions = StoreBaseParams & {
/**

@@ -68,0 +68,0 @@ * Filename or function that returns custom filename for stored file

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.Upload = void 0;
var tslib_1 = require("tslib");

@@ -52,7 +53,7 @@ var eventemitter3_1 = require("eventemitter3");

_this.storeOptions = Object.assign({}, storeOptions);
var validateRes = schema_1.getValidator(schema_1.UploadParamsSchema)(options);
var validateRes = (0, schema_1.getValidator)(schema_1.UploadParamsSchema)(options);
if (validateRes.errors.length) {
throw new filestack_error_1.FilestackError("Invalid upload params", validateRes.errors, filestack_error_1.FilestackErrorType.VALIDATION);
}
var storeValidateRes = schema_1.getValidator(schema_1.StoreParamsSchema)(storeOptions);
var storeValidateRes = (0, schema_1.getValidator)(schema_1.StoreParamsSchema)(storeOptions);
if (storeValidateRes.errors.length) {

@@ -87,3 +88,3 @@ throw new filestack_error_1.FilestackError("Invalid store upload params", storeValidateRes.errors, filestack_error_1.FilestackErrorType.VALIDATION);

if (options.intelligent) {
_this.uploader.setUploadMode(options.intelligent === 'fallback' ? "fallback" /* FALLBACK */ : "intelligent" /* INTELLIGENT */);
_this.uploader.setUploadMode(options.intelligent === 'fallback' ? "fallback" /* UploadMode.FALLBACK */ : "intelligent" /* UploadMode.INTELLIGENT */);
}

@@ -160,3 +161,3 @@ _this.uploader.setUploadTags(options.tags);

switch (_a.label) {
case 0: return [4 /*yield*/, file_tools_1.getFile(input, this.sanitizerOptions)];
case 0: return [4 /*yield*/, (0, file_tools_1.getFile)(input, this.sanitizerOptions)];
case 1:

@@ -172,3 +173,3 @@ f = _a.sent();

this.uploader.removeAllListeners();
if (res.status === "Failed" /* FAILED */) {
if (res.status === "Failed" /* FileState.FAILED */) {
return [2 /*return*/, Promise.reject(res)];

@@ -190,14 +191,17 @@ }

return tslib_1.__awaiter(this, void 0, void 0, function () {
var _a, _b, _i, i, f, res;
return tslib_1.__generator(this, function (_c) {
switch (_c.label) {
var _a, _b, _c, _i, i, f, res;
return tslib_1.__generator(this, function (_d) {
switch (_d.label) {
case 0:
_a = [];
for (_b in input)
_a.push(_b);
_a = input;
_b = [];
for (_c in _a)
_b.push(_c);
_i = 0;
_c.label = 1;
_d.label = 1;
case 1:
if (!(_i < _a.length)) return [3 /*break*/, 4];
i = _a[_i];
if (!(_i < _b.length)) return [3 /*break*/, 4];
_c = _b[_i];
if (!(_c in _a)) return [3 /*break*/, 3];
i = _c;
/* istanbul ignore next */

@@ -207,8 +211,8 @@ if (!input.hasOwnProperty(i)) {

}
return [4 /*yield*/, file_tools_1.getFile(input[i], this.sanitizerOptions)];
return [4 /*yield*/, (0, file_tools_1.getFile)(input[i], this.sanitizerOptions)];
case 2:
f = _c.sent();
f = _d.sent();
f.customName = this.overrideFileName;
this.uploader.addFile(f);
_c.label = 3;
_d.label = 3;
case 3:

@@ -221,3 +225,3 @@ _i++;

case 5:
res = _c.sent();
res = _d.sent();
this.stopProgressInterval();

@@ -279,2 +283,2 @@ this.uploader.removeAllListeners();

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC91cGxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7O0FBRUgsK0NBQTZDO0FBRTdDLHFDQUE0QztBQUM1Qyw4REFBZ0Y7QUFJaEYsMkNBQWtEO0FBR2xELDRDQUF3RjtBQVF4RixJQUFNLHlCQUF5QixHQUFHLElBQUksQ0FBQztBQUV2QyxJQUFNLGlCQUFpQixHQUFHLFVBQUMsT0FBTyxFQUFFLElBQUk7SUFDdEMsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25FLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUV6RSxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNIO0lBQTRCLGtDQUFZO0lBMkJ0QyxnQkFBNkIsT0FBMkIsRUFBVSxZQUFxQztRQUExRSx3QkFBQSxFQUFBLFlBQTJCO1FBQVUsNkJBQUEsRUFBQSxpQkFBcUM7UUFBdkcsWUFDRSxpQkFBTyxTQTBEUjtRQTNENEIsYUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFBVSxrQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFSL0Ysa0JBQVksR0FBa0I7WUFDcEMsVUFBVSxFQUFFLENBQUM7WUFDYixZQUFZLEVBQUUsQ0FBQztTQUNoQixDQUFDO1FBUUEseUVBQXlFO1FBQ3pFLEtBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFcEQsSUFBTSxXQUFXLEdBQUcscUJBQVksQ0FBQywyQkFBa0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTlELElBQUksV0FBVyxDQUFDLE1BQU0s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SUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTFELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUU7WUFDM0IsS0FBSyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFO2dCQUM1QixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUM5QixRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDdEY7YUFDRjtTQUNGO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7SUFDL0IsQ0FBQztJQUNILGFBQUM7QUFBRCxDQTNQQSxBQTJQQyxDQTNQMkIsNEJBQVksR0EyUHZDO0FBM1BZLHdCQUFNIiwiZmlsZSI6ImxpYi9hcGkvdXBsb2FkL3VwbG9hZC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ2V2ZW50ZW1pdHRlcjMnO1xuaW1wb3J0IHsgU2Vzc2lvbiwgU2VjdXJpdHkgfSBmcm9tICcuLi8uLi9jbGllbnQnO1xuaW1wb3J0IHsgUzNVcGxvYWRlciB9IGZyb20gJy4vdXBsb2FkZXJzL3MzJztcbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yLCBGaWxlc3RhY2tFcnJvclR5cGUgfSBmcm9tICcuLy4uLy4uLy4uL2ZpbGVzdGFja19lcnJvcic7XG5pbXBvcnQgeyBTYW5pdGl6ZU9wdGlvbnMgfSBmcm9tICcuLy4uLy4uL3V0aWxzJztcblxuaW1wb3J0IHsgVXBsb2FkT3B0aW9ucywgU3RvcmVVcGxvYWRPcHRpb25zIH0gZnJvbSAnLi4vdXBsb2FkL3R5cGVzJztcbmltcG9ydCB7IGdldEZpbGUsIElucHV0RmlsZSB9IGZyb20gJy4vZmlsZV90b29scyc7XG5pbXBvcnQgeyBGaWxlU3RhdGUsIFVwbG9hZFRhZ3MgfSBmcm9tICcuL2ZpbGUnO1xuaW1wb3J0IHsgVXBsb2FkTW9kZSB9IGZyb20gJy4vdXBsb2FkZXJzL2Fic3RyYWN0JztcbmltcG9ydCB7IGdldFZhbGlkYXRvciwgVXBsb2FkUGFyYW1zU2NoZW1hLCBTdG9yZVBhcmFtc1NjaGVtYSB9IGZyb20gJy4vLi4vLi4vLi4vc2NoZW1hJztcblxuZXhwb3J0IGludGVyZmFjZSBQcm9ncmVzc0V2ZW50IHtcbiAgdG90YWxQZXJjZW50OiBudW1iZXI7XG4gIHRvdGFsQnl0ZXM6IG51bWJlcjtcbiAgZmlsZXM/OiB7IChrZXk6IHN0cmluZyk6IFByb2dyZXNzRXZlbnQgfTtcbn1cblxuY29uc3QgREVGQVVMVF9QUk9HUkVTU19JTlRFUlZBTCA9IDEwMDA7XG5cbmNvbnN0IG5vcm1hbGl6ZVByb2dyZXNzID0gKGN1cnJlbnQsIGxhc3QpID0+IHtcbiAgY3VycmVudC50b3RhbEJ5dGVzID0gTWF0aC5tYXgoY3VycmVudC50b3RhbEJ5dGVzLCBsYXN0LnRvdGFsQnl0ZXMpO1xuICBjdXJyZW50LnRvdGFsUGVyY2VudCA9IE1hdGgubWF4KGN1cnJlbnQudG90YWxQZXJjZW50LCBsYXN0LnRvdGFsUGVyY2VudCk7XG5cbiAgcmV0dXJuIGN1cnJlbnQ7XG59O1xuXG4vKipcbiAqIFVwbG9hZGVyIG1haW4gY2xhc3MgZm9yIG5vdyBpdHMgc3VwcG9ydGluZyBvbmx5IHMzIHVwbG9hZCB0eXBlXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIFVwbG9hZFxuICovXG5leHBvcnQgY2xhc3MgVXBsb2FkIGV4dGVuZHMgRXZlbnRFbWl0dGVyIHtcblxuICAvKipcbiAgICogVXBsb2FkZXIgaW5zdGFuY2VcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHR5cGUge1MzVXBsb2FkZXJ9XG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIHByaXZhdGUgdXBsb2FkZXI6IFMzVXBsb2FkZXI7XG5cbiAgLyoqXG4gICAqIFNob3VsZCB3ZSBvdmVyd3JpdGUgZmlsZSBuYW1lXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIHByaXZhdGUgb3ZlcnJpZGVGaWxlTmFtZTtcblxuICBwcml2YXRlIGxhc3RQcm9ncmVzczogUHJvZ3Jlc3NFdmVudCA9IHtcbiAgICB0b3RhbEJ5dGVzOiAwLFxuICAgIHRvdGFsUGVyY2VudDogMCxcbiAgfTtcblxuICBwcml2YXRlIHByb2dyZXNzSW50ZXJ2YWxIYW5kbGVyO1xuICBwcml2YXRlIHNhbml0aXplck9wdGlvbnM6IFNhbml0aXplT3B0aW9ucztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFVwbG9hZE9wdGlvbnMgPSB7fSwgcHJpdmF0ZSBzdG9yZU9wdGlvbnM6IFN0b3JlVXBsb2FkT3B0aW9ucyA9IHt9KSB7XG4gICAgc3VwZXIoKTtcblxuICAgIC8vIGRvIG5vdCBkZWxldGUgZmlsZW5hbWUgZnJvbSBvcmlnaW5hbCBvcHRpb25zIHJlZmVyZW5jZSAtIGNvcHkgaXQgZmlyc3RcbiAgICB0aGlzLnN0b3JlT3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHN0b3JlT3B0aW9ucyk7XG5cbiAgICBjb25zdCB2YWxpZGF0ZVJlcyA9IGdldFZhbGlkYXRvcihVcGxvYWRQYXJhbXNTY2hlbWEpKG9wdGlvbnMpO1xuXG4gICAgaWYgKHZhbGlkYXRlUmVzLmVycm9ycy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcihgSW52YWxpZCB1cGxvYWQgcGFyYW1zYCwgdmFsaWRhdGVSZXMuZXJyb3JzLCBGaWxlc3RhY2tFcnJvclR5cGUuVkFMSURBVElPTik7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RvcmVWYWxpZGF0ZVJlcyA9IGdldFZhbGlkYXRvcihTdG9yZVBhcmFtc1NjaGVtYSkoc3RvcmVPcHRpb25zKTtcbiAgICBpZiAoc3RvcmVWYWxpZGF0ZVJlcy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoYEludmFsaWQgc3RvcmUgdXBsb2FkIHBhcmFtc2AsIHN0b3JlVmFsaWRhdGVSZXMuZXJyb3JzLCBGaWxlc3RhY2tFcnJvclR5cGUuVkFMSURBVElPTik7XG4gICAgfVxuXG4gICAgaWYgKHN0b3JlT3B0aW9ucy5maWxlbmFtZSkge1xuICAgICAgdGhpcy5vdmVycmlkZUZpbGVOYW1lID0gc3RvcmVPcHRpb25zLmZpbGVuYW1lO1xuICAgICAgZGVsZXRlIHRoaXMuc3RvcmVPcHRpb25zLmZpbGVuYW1lO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnN0b3JlT3B0aW9ucy5zYW5pdGl6ZXIpIHtcbiAgICAgIHRoaXMuc2FuaXRpemVyT3B0aW9ucyA9IHRoaXMuc3RvcmVPcHRpb25zLnNhbml0aXplcjtcbiAgICAgIGRlbGV0ZSB0aGlzLnN0b3JlT3B0aW9ucy5zYW5pdGl6ZXI7XG4gICAgfVxuXG4gICAgdGhpcy51cGxvYWRlciA9IG5ldyBTM1VwbG9hZGVyKHRoaXMuc3RvcmVPcHRpb25zLCBvcHRpb25zLmNvbmN1cnJlbmN5KTtcblxuICAgIHRoaXMudXBsb2FkZXIuc2V0UmV0cnlDb25maWcoe1xuICAgICAgcmV0cnk6IG9wdGlvbnMucmV0cnkgfHwgMTAsXG4gICAgICBvblJldHJ5OiBvcHRpb25zLm9uUmV0cnksIC8vIEB0b2RvIGJpbmQgZmlsZSB0byByZXRyeSBpbiBzMyB1cGxvYWRlclxuICAgICAgcmV0cnlGYWN0b3I6IG9wdGlvbnMucmV0cnlGYWN0b3IgfHwgMixcbiAgICAgIHJldHJ5TWF4VGltZTogb3B0aW9ucy5yZXRyeU1heFRpbWUgfHwgMTUwMDAsXG4gICAgfSk7XG5cbiAgICB0aGlzLnVwbG9hZGVyLnNldFRpbWVvdXQob3B0aW9ucy50aW1lb3V0IHx8IDEyMDAwMCk7XG5cbiAgICBpZiAob3B0aW9ucy5wYXJ0U2l6ZSkge1xuICAgICAgdGhpcy51cGxvYWRlci5zZXRQYXJ0U2l6ZShvcHRpb25zLnBhcnRTaXplKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5pbnRlbGxpZ2VudENodW5rU2l6ZSkge1xuICAgICAgdGhpcy51cGxvYWRlci5zZXRJbnRlbGxpZ2VudENodW5rU2l6ZShvcHRpb25zLmludGVsbGlnZW50Q2h1bmtTaXplKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5kaXNhYmxlSW50ZWdyaXR5Q2hlY2spIHtcbiAgICAgIHRoaXMudXBsb2FkZXIuc2V0SW50ZWdyaXR5Q2hlY2soZmFsc2UpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmludGVsbGlnZW50KSB7XG4gICAgICB0aGlzLnVwbG9hZGVyLnNldFVwbG9hZE1vZGUob3B0aW9ucy5pbnRlbGxpZ2VudCA9PT0gJ2ZhbGxiYWNrJyA/IFVwbG9hZE1vZGUuRkFMTEJBQ0sgOiBVcGxvYWRNb2RlLklOVEVMTElHRU5UKTtcbiAgICB9XG5cbiAgICB0aGlzLnVwbG9hZGVyLnNldFVwbG9hZFRhZ3Mob3B0aW9ucy50YWdzKTtcblxuICAgIHRoaXMudXBsb2FkZXIub24oJ3N0YXJ0JywgKCkgPT4gdGhpcy5lbWl0KCdzdGFydCcpKTtcbiAgICB0aGlzLnVwbG9hZGVyLm9uKCdlcnJvcicsIChlKSA9PiB0aGlzLmVtaXQoJ2Vycm9yJywgZSkpO1xuICAgIHRoaXMudXBsb2FkZXIub24oJ3Byb2dyZXNzJywgdGhpcy5oYW5kbGVQcm9ncmVzcy5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgc2Vzc2lvbiBvYmplY3QgdG8gdXBsb2FkZXJcbiAgICpcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogQHBhcmFtIHtTZXNzaW9ufSBzZXNzaW9uXG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIHNldFNlc3Npb24oc2Vzc2lvbjogU2Vzc2lvbikge1xuICAgIHRoaXMudXBsb2FkZXIuc2V0QXBpa2V5KHNlc3Npb24uYXBpa2V5KTtcblxuICAgIGlmIChzZXNzaW9uLnBvbGljeSAmJiBzZXNzaW9uLnNpZ25hdHVyZSkge1xuICAgICAgdGhpcy51cGxvYWRlci5zZXRTZWN1cml0eSh7XG4gICAgICAgIHBvbGljeTogc2Vzc2lvbi5wb2xpY3ksXG4gICAgICAgIHNpZ25hdHVyZTogc2Vzc2lvbi5zaWduYXR1cmUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnVwbG9hZGVyLnNldFVybChzZXNzaW9uLnVybHMudXBsb2FkQXBpVXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgY2FuY2VsIHRva2VuIHRvIGNvbnRyb2xsIHVwbG9hZCBmbG93XG4gICAqXG4gICAqIEBwYXJhbSB7Kn0gdG9rZW5cbiAgICogQHJldHVybnNcbiAgICogQG1lbWJlcm9mIFVwbG9hZFxuICAgKi9cbiAgcHVibGljIHNldFRva2VuKHRva2VuOiBhbnkpIHtcbiAgICBpZiAoIXRva2VuIHx8IHRva2VuICE9PSBPYmplY3QodG9rZW4pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0luY29ycmVjdCB1cGxvYWQgdG9rZW4uIE11c3QgYmUgaW5zdGFuY2Ugb2Ygb2JqZWN0Jyk7XG4gICAgfVxuXG4gICAgdG9rZW4ucGF1c2UgPSAoKSA9PiB0aGlzLnVwbG9hZGVyLnBhdXNlKCk7XG4gICAgdG9rZW4ucmVzdW1lID0gKCkgPT4gdGhpcy51cGxvYWRlci5yZXN1bWUoKTtcbiAgICB0b2tlbi5jYW5jZWwgPSAoKSA9PiB0aGlzLnVwbG9hZGVyLmFib3J0KCk7XG5cbiAgICByZXR1cm4gdG9rZW47XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBzZWN1cml0eSB0byB1cGxvYWRlciBpbnN0YW5jZVxuICAgKlxuICAgKiBAcGFyYW0ge1NlY3VyaXR5fSBzZWN1cml0eVxuICAgKiBAbWVtYmVyb2YgVXBsb2FkXG4gICAqL1xuICBwdWJsaWMgc2V0U2VjdXJpdHkoc2VjdXJpdHk6IFNlY3VyaXR5KSB7XG4gICAgdGhpcy51cGxvYWRlci5zZXRTZWN1cml0eShzZWN1cml0eSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHVwbG9hZCB0YWdzXG4gICAqXG4gICAqIEBwYXJhbSB7VGFnc30gdGFnc1xuICAgKiBAbWVtYmVyb2YgVXBsb2FkXG4gICAqL1xuICBwdWJsaWMgc2V0VXBsb2FkVGFncyh0YWdzOiBVcGxvYWRUYWdzKSB7XG4gICAgdGhpcy51cGxvYWRlci5zZXRVcGxvYWRUYWdzKHRhZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwbG9hZCBzaW5nbGUgZmlsZVxuICAgKlxuICAgKiBAcGFyYW0geyhJbnB1dEZpbGUpfSBmaWxlXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIGFzeW5jIHVwbG9hZChpbnB1dDogSW5wdXRGaWxlKTogUHJvbWlzZTxhbnk+IHtcblxuICAgIGNvbnN0IGYgPSBhd2FpdCBnZXRGaWxlKGlucHV0LCB0aGlzLnNhbml0aXplck9wdGlvbnMpO1xuICAgIGYuY3VzdG9tTmFtZSA9IHRoaXMub3ZlcnJpZGVGaWxlTmFtZTtcbiAgICB0aGlzLnVwbG9hZGVyLmFkZEZpbGUoZik7XG5cbiAgICB0aGlzLnN0YXJ0UHJvZ3Jlc3NJbnRlcnZhbCgpO1xuICAgIGNvbnN0IHJlcyA9IChhd2FpdCB0aGlzLnVwbG9hZGVyLmV4ZWN1dGUoKSkuc2hpZnQoKTtcbiAgICB0aGlzLnN0b3BQcm9ncmVzc0ludGVydmFsKCk7XG5cbiAgICB0aGlzLnVwbG9hZGVyLnJlbW92ZUFsbExpc3RlbmVycygpO1xuXG4gICAgaWYgKHJlcy5zdGF0dXMgPT09IEZpbGVTdGF0ZS5GQUlMRUQpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChyZXMpO1xuICAgIH1cblxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGxvYWQgbXVsdGlwbGUgZmlsZXMgYXQgb25jZVxuICAgKlxuICAgKiBAcGFyYW0geyhJbnB1dEZpbGVbXSl9IGlucHV0XG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIGFzeW5jIG11bHRpdXBsb2FkKGlucHV0OiBJbnB1dEZpbGVbXSk6IFByb21pc2U8YW55PiB7XG4gICAgZm9yIChsZXQgaSBpbiBpbnB1dCkge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGlmICghaW5wdXQuaGFzT3duUHJvcGVydHkoaSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGYgPSBhd2FpdCBnZXRGaWxlKGlucHV0W2ldLCB0aGlzLnNhbml0aXplck9wdGlvbnMpO1xuICAgICAgZi5jdXN0b21OYW1lID0gdGhpcy5vdmVycmlkZUZpbGVOYW1lO1xuICAgICAgdGhpcy51cGxvYWRlci5hZGRGaWxlKGYpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhcnRQcm9ncmVzc0ludGVydmFsKCk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy51cGxvYWRlci5leGVjdXRlKCk7XG4gICAgdGhpcy5zdG9wUHJvZ3Jlc3NJbnRlcnZhbCgpO1xuXG4gICAgdGhpcy51cGxvYWRlci5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtcblxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSVW4gcHJvZ3Jlc3Mgd2l0aCB1c2VyZGVmaW5lZCBpbnRlcnZhbFxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcmV0dXJuc1xuICAgKiBAbWVtYmVyb2YgVXBsb2FkXG4gICAqL1xuICBwcml2YXRlIHN0YXJ0UHJvZ3Jlc3NJbnRlcnZhbCgpIHtcbiAgICBpZiAodHlwZW9mIHRoaXMub3B0aW9ucy5vblByb2dyZXNzICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5wcm9ncmVzc0ludGVydmFsSGFuZGxlciA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMub3B0aW9ucy5vblByb2dyZXNzKHRoaXMubGFzdFByb2dyZXNzKTtcbiAgICB9LCB0aGlzLm9wdGlvbnMucHJvZ3Jlc3NJbnRlcnZhbCB8fCBERUZBVUxUX1BST0dSRVNTX0lOVEVSVkFMKTtcblxuICAgIHRoaXMub3B0aW9ucy5vblByb2dyZXNzKHRoaXMubGFzdFByb2dyZXNzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIHByb2dyZXNzIGludGVydmFsIGFmdGVyIHVwbG9hZFxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAbWVtYmVyb2YgVXBsb2FkXG4gICAqL1xuICBwcml2YXRlIHN0b3BQcm9ncmVzc0ludGVydmFsKCkge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5wcm9ncmVzc0ludGVydmFsSGFuZGxlcik7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIHVwbG9hZCBpbnRlcnZhbCBhbmQgbm9ybWFsaXplIHZhbHVlc1xuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge1Byb2dyZXNzRXZlbnR9IHByb2dyZXNzXG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIHByaXZhdGUgaGFuZGxlUHJvZ3Jlc3MocHJvZ3Jlc3M6IFByb2dyZXNzRXZlbnQpIHtcbiAgICAvLyBnZXQgbWF4IHByb2dyZXNzIGRhdGEgdG8gYXZvaWQgcHJvZ3Jlc3MganVtcHMgb24gYW55IHBhcnQgZXJyb3JcbiAgICBwcm9ncmVzcyA9IG5vcm1hbGl6ZVByb2dyZXNzKHByb2dyZXNzLCB0aGlzLmxhc3RQcm9ncmVzcyk7XG5cbiAgICBpZiAodGhpcy5sYXN0UHJvZ3Jlc3MuZmlsZXMpIHtcbiAgICAgIGZvciAobGV0IGkgaW4gcHJvZ3Jlc3MuZmlsZXMpIHtcbiAgICAgICAgaWYgKHRoaXMubGFzdFByb2dyZXNzLmZpbGVzW2ldKSB7XG4gICAgICAgICAgcHJvZ3Jlc3MuZmlsZXNbaV0gPSBub3JtYWxpemVQcm9ncmVzcyhwcm9ncmVzcy5maWxlc1tpXSwgdGhpcy5sYXN0UHJvZ3Jlc3MuZmlsZXNbaV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5sYXN0UHJvZ3Jlc3MgPSBwcm9ncmVzcztcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC91cGxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7OztBQUVILCtDQUE2QztBQUU3QyxxQ0FBNEM7QUFDNUMsOERBQWdGO0FBSWhGLDJDQUFrRDtBQUdsRCw0Q0FBd0Y7QUFReEYsSUFBTSx5QkFBeUIsR0FBRyxJQUFJLENBQUM7QUFFdkMsSUFBTSxpQkFBaUIsR0FBRyxVQUFDLE9BQU8sRUFBRSxJQUFJO0lBQ3RDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRSxPQUFPLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFekUsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUY7Ozs7O0dBS0c7QUFDSDtJQUE0QixrQ0FBWTtJQTJCdEMsZ0JBQTZCLE9BQTJCLEVBQVUsWUFBcUM7UUFBMUUsd0JBQUEsRUFBQSxZQUEyQjtRQUFVLDZCQUFBLEVBQUEsaUJBQXFDO1FBQXZHLFlBQ0UsaUJBQU8sU0EwRFI7UUEzRDRCLGFBQU8sR0FBUCxPQUFPLENBQW9CO1FBQVUsa0JBQVksR0FBWixZQUFZLENBQXlCO1FBUi9GLGtCQUFZLEdBQWtCO1lBQ3BDLFVBQVUsRUFBRSxDQUFDO1lBQ2IsWUFBWSxFQUFFLENBQUM7U0FDaEIsQ0FBQztRQVFBLHlFQUF5RTtRQUN6RSxLQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRXBELElBQU0sV0FBVyxHQUFHLElBQUEscUJBQVksRUFBQywyQkFBa0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTlELElBQUksV0FBVyxDQUFD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RyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTFELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUU7WUFDM0IsS0FBSyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFO2dCQUM1QixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUM5QixRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDdEY7YUFDRjtTQUNGO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7SUFDL0IsQ0FBQztJQUNILGFBQUM7QUFBRCxDQTNQQSxBQTJQQyxDQTNQMkIsNEJBQVksR0EyUHZDO0FBM1BZLHdCQUFNIiwiZmlsZSI6ImxpYi9hcGkvdXBsb2FkL3VwbG9hZC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ2V2ZW50ZW1pdHRlcjMnO1xuaW1wb3J0IHsgU2Vzc2lvbiwgU2VjdXJpdHkgfSBmcm9tICcuLi8uLi9jbGllbnQnO1xuaW1wb3J0IHsgUzNVcGxvYWRlciB9IGZyb20gJy4vdXBsb2FkZXJzL3MzJztcbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yLCBGaWxlc3RhY2tFcnJvclR5cGUgfSBmcm9tICcuLy4uLy4uLy4uL2ZpbGVzdGFja19lcnJvcic7XG5pbXBvcnQgeyBTYW5pdGl6ZU9wdGlvbnMgfSBmcm9tICcuLy4uLy4uL3V0aWxzJztcblxuaW1wb3J0IHsgVXBsb2FkT3B0aW9ucywgU3RvcmVVcGxvYWRPcHRpb25zIH0gZnJvbSAnLi4vdXBsb2FkL3R5cGVzJztcbmltcG9ydCB7IGdldEZpbGUsIElucHV0RmlsZSB9IGZyb20gJy4vZmlsZV90b29scyc7XG5pbXBvcnQgeyBGaWxlU3RhdGUsIFVwbG9hZFRhZ3MgfSBmcm9tICcuL2ZpbGUnO1xuaW1wb3J0IHsgVXBsb2FkTW9kZSB9IGZyb20gJy4vdXBsb2FkZXJzL2Fic3RyYWN0JztcbmltcG9ydCB7IGdldFZhbGlkYXRvciwgVXBsb2FkUGFyYW1zU2NoZW1hLCBTdG9yZVBhcmFtc1NjaGVtYSB9IGZyb20gJy4vLi4vLi4vLi4vc2NoZW1hJztcblxuZXhwb3J0IGludGVyZmFjZSBQcm9ncmVzc0V2ZW50IHtcbiAgdG90YWxQZXJjZW50OiBudW1iZXI7XG4gIHRvdGFsQnl0ZXM6IG51bWJlcjtcbiAgZmlsZXM/OiB7IChrZXk6IHN0cmluZyk6IFByb2dyZXNzRXZlbnQgfTtcbn1cblxuY29uc3QgREVGQVVMVF9QUk9HUkVTU19JTlRFUlZBTCA9IDEwMDA7XG5cbmNvbnN0IG5vcm1hbGl6ZVByb2dyZXNzID0gKGN1cnJlbnQsIGxhc3QpID0+IHtcbiAgY3VycmVudC50b3RhbEJ5dGVzID0gTWF0aC5tYXgoY3VycmVudC50b3RhbEJ5dGVzLCBsYXN0LnRvdGFsQnl0ZXMpO1xuICBjdXJyZW50LnRvdGFsUGVyY2VudCA9IE1hdGgubWF4KGN1cnJlbnQudG90YWxQZXJjZW50LCBsYXN0LnRvdGFsUGVyY2VudCk7XG5cbiAgcmV0dXJuIGN1cnJlbnQ7XG59O1xuXG4vKipcbiAqIFVwbG9hZGVyIG1haW4gY2xhc3MgZm9yIG5vdyBpdHMgc3VwcG9ydGluZyBvbmx5IHMzIHVwbG9hZCB0eXBlXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIFVwbG9hZFxuICovXG5leHBvcnQgY2xhc3MgVXBsb2FkIGV4dGVuZHMgRXZlbnRFbWl0dGVyIHtcblxuICAvKipcbiAgICogVXBsb2FkZXIgaW5zdGFuY2VcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHR5cGUge1MzVXBsb2FkZXJ9XG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIHByaXZhdGUgdXBsb2FkZXI6IFMzVXBsb2FkZXI7XG5cbiAgLyoqXG4gICAqIFNob3VsZCB3ZSBvdmVyd3JpdGUgZmlsZSBuYW1lXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIHByaXZhdGUgb3ZlcnJpZGVGaWxlTmFtZTtcblxuICBwcml2YXRlIGxhc3RQcm9ncmVzczogUHJvZ3Jlc3NFdmVudCA9IHtcbiAgICB0b3RhbEJ5dGVzOiAwLFxuICAgIHRvdGFsUGVyY2VudDogMCxcbiAgfTtcblxuICBwcml2YXRlIHByb2dyZXNzSW50ZXJ2YWxIYW5kbGVyO1xuICBwcml2YXRlIHNhbml0aXplck9wdGlvbnM6IFNhbml0aXplT3B0aW9ucztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFVwbG9hZE9wdGlvbnMgPSB7fSwgcHJpdmF0ZSBzdG9yZU9wdGlvbnM6IFN0b3JlVXBsb2FkT3B0aW9ucyA9IHt9KSB7XG4gICAgc3VwZXIoKTtcblxuICAgIC8vIGRvIG5vdCBkZWxldGUgZmlsZW5hbWUgZnJvbSBvcmlnaW5hbCBvcHRpb25zIHJlZmVyZW5jZSAtIGNvcHkgaXQgZmlyc3RcbiAgICB0aGlzLnN0b3JlT3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHN0b3JlT3B0aW9ucyk7XG5cbiAgICBjb25zdCB2YWxpZGF0ZVJlcyA9IGdldFZhbGlkYXRvcihVcGxvYWRQYXJhbXNTY2hlbWEpKG9wdGlvbnMpO1xuXG4gICAgaWYgKHZhbGlkYXRlUmVzLmVycm9ycy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcihgSW52YWxpZCB1cGxvYWQgcGFyYW1zYCwgdmFsaWRhdGVSZXMuZXJyb3JzLCBGaWxlc3RhY2tFcnJvclR5cGUuVkFMSURBVElPTik7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RvcmVWYWxpZGF0ZVJlcyA9IGdldFZhbGlkYXRvcihTdG9yZVBhcmFtc1NjaGVtYSkoc3RvcmVPcHRpb25zKTtcbiAgICBpZiAoc3RvcmVWYWxpZGF0ZVJlcy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoYEludmFsaWQgc3RvcmUgdXBsb2FkIHBhcmFtc2AsIHN0b3JlVmFsaWRhdGVSZXMuZXJyb3JzLCBGaWxlc3RhY2tFcnJvclR5cGUuVkFMSURBVElPTik7XG4gICAgfVxuXG4gICAgaWYgKHN0b3JlT3B0aW9ucy5maWxlbmFtZSkge1xuICAgICAgdGhpcy5vdmVycmlkZUZpbGVOYW1lID0gc3RvcmVPcHRpb25zLmZpbGVuYW1lO1xuICAgICAgZGVsZXRlIHRoaXMuc3RvcmVPcHRpb25zLmZpbGVuYW1lO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnN0b3JlT3B0aW9ucy5zYW5pdGl6ZXIpIHtcbiAgICAgIHRoaXMuc2FuaXRpemVyT3B0aW9ucyA9IHRoaXMuc3RvcmVPcHRpb25zLnNhbml0aXplcjtcbiAgICAgIGRlbGV0ZSB0aGlzLnN0b3JlT3B0aW9ucy5zYW5pdGl6ZXI7XG4gICAgfVxuXG4gICAgdGhpcy51cGxvYWRlciA9IG5ldyBTM1VwbG9hZGVyKHRoaXMuc3RvcmVPcHRpb25zLCBvcHRpb25zLmNvbmN1cnJlbmN5KTtcblxuICAgIHRoaXMudXBsb2FkZXIuc2V0UmV0cnlDb25maWcoe1xuICAgICAgcmV0cnk6IG9wdGlvbnMucmV0cnkgfHwgMTAsXG4gICAgICBvblJldHJ5OiBvcHRpb25zLm9uUmV0cnksIC8vIEB0b2RvIGJpbmQgZmlsZSB0byByZXRyeSBpbiBzMyB1cGxvYWRlclxuICAgICAgcmV0cnlGYWN0b3I6IG9wdGlvbnMucmV0cnlGYWN0b3IgfHwgMixcbiAgICAgIHJldHJ5TWF4VGltZTogb3B0aW9ucy5yZXRyeU1heFRpbWUgfHwgMTUwMDAsXG4gICAgfSk7XG5cbiAgICB0aGlzLnVwbG9hZGVyLnNldFRpbWVvdXQob3B0aW9ucy50aW1lb3V0IHx8IDEyMDAwMCk7XG5cbiAgICBpZiAob3B0aW9ucy5wYXJ0U2l6ZSkge1xuICAgICAgdGhpcy51cGxvYWRlci5zZXRQYXJ0U2l6ZShvcHRpb25zLnBhcnRTaXplKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5pbnRlbGxpZ2VudENodW5rU2l6ZSkge1xuICAgICAgdGhpcy51cGxvYWRlci5zZXRJbnRlbGxpZ2VudENodW5rU2l6ZShvcHRpb25zLmludGVsbGlnZW50Q2h1bmtTaXplKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5kaXNhYmxlSW50ZWdyaXR5Q2hlY2spIHtcbiAgICAgIHRoaXMudXBsb2FkZXIuc2V0SW50ZWdyaXR5Q2hlY2soZmFsc2UpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmludGVsbGlnZW50KSB7XG4gICAgICB0aGlzLnVwbG9hZGVyLnNldFVwbG9hZE1vZGUob3B0aW9ucy5pbnRlbGxpZ2VudCA9PT0gJ2ZhbGxiYWNrJyA/IFVwbG9hZE1vZGUuRkFMTEJBQ0sgOiBVcGxvYWRNb2RlLklOVEVMTElHRU5UKTtcbiAgICB9XG5cbiAgICB0aGlzLnVwbG9hZGVyLnNldFVwbG9hZFRhZ3Mob3B0aW9ucy50YWdzKTtcblxuICAgIHRoaXMudXBsb2FkZXIub24oJ3N0YXJ0JywgKCkgPT4gdGhpcy5lbWl0KCdzdGFydCcpKTtcbiAgICB0aGlzLnVwbG9hZGVyLm9uKCdlcnJvcicsIChlKSA9PiB0aGlzLmVtaXQoJ2Vycm9yJywgZSkpO1xuICAgIHRoaXMudXBsb2FkZXIub24oJ3Byb2dyZXNzJywgdGhpcy5oYW5kbGVQcm9ncmVzcy5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgc2Vzc2lvbiBvYmplY3QgdG8gdXBsb2FkZXJcbiAgICpcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogQHBhcmFtIHtTZXNzaW9ufSBzZXNzaW9uXG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIHNldFNlc3Npb24oc2Vzc2lvbjogU2Vzc2lvbikge1xuICAgIHRoaXMudXBsb2FkZXIuc2V0QXBpa2V5KHNlc3Npb24uYXBpa2V5KTtcblxuICAgIGlmIChzZXNzaW9uLnBvbGljeSAmJiBzZXNzaW9uLnNpZ25hdHVyZSkge1xuICAgICAgdGhpcy51cGxvYWRlci5zZXRTZWN1cml0eSh7XG4gICAgICAgIHBvbGljeTogc2Vzc2lvbi5wb2xpY3ksXG4gICAgICAgIHNpZ25hdHVyZTogc2Vzc2lvbi5zaWduYXR1cmUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnVwbG9hZGVyLnNldFVybChzZXNzaW9uLnVybHMudXBsb2FkQXBpVXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgY2FuY2VsIHRva2VuIHRvIGNvbnRyb2xsIHVwbG9hZCBmbG93XG4gICAqXG4gICAqIEBwYXJhbSB7Kn0gdG9rZW5cbiAgICogQHJldHVybnNcbiAgICogQG1lbWJlcm9mIFVwbG9hZFxuICAgKi9cbiAgcHVibGljIHNldFRva2VuKHRva2VuOiBhbnkpIHtcbiAgICBpZiAoIXRva2VuIHx8IHRva2VuICE9PSBPYmplY3QodG9rZW4pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0luY29ycmVjdCB1cGxvYWQgdG9rZW4uIE11c3QgYmUgaW5zdGFuY2Ugb2Ygb2JqZWN0Jyk7XG4gICAgfVxuXG4gICAgdG9rZW4ucGF1c2UgPSAoKSA9PiB0aGlzLnVwbG9hZGVyLnBhdXNlKCk7XG4gICAgdG9rZW4ucmVzdW1lID0gKCkgPT4gdGhpcy51cGxvYWRlci5yZXN1bWUoKTtcbiAgICB0b2tlbi5jYW5jZWwgPSAoKSA9PiB0aGlzLnVwbG9hZGVyLmFib3J0KCk7XG5cbiAgICByZXR1cm4gdG9rZW47XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBzZWN1cml0eSB0byB1cGxvYWRlciBpbnN0YW5jZVxuICAgKlxuICAgKiBAcGFyYW0ge1NlY3VyaXR5fSBzZWN1cml0eVxuICAgKiBAbWVtYmVyb2YgVXBsb2FkXG4gICAqL1xuICBwdWJsaWMgc2V0U2VjdXJpdHkoc2VjdXJpdHk6IFNlY3VyaXR5KSB7XG4gICAgdGhpcy51cGxvYWRlci5zZXRTZWN1cml0eShzZWN1cml0eSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHVwbG9hZCB0YWdzXG4gICAqXG4gICAqIEBwYXJhbSB7VGFnc30gdGFnc1xuICAgKiBAbWVtYmVyb2YgVXBsb2FkXG4gICAqL1xuICBwdWJsaWMgc2V0VXBsb2FkVGFncyh0YWdzOiBVcGxvYWRUYWdzKSB7XG4gICAgdGhpcy51cGxvYWRlci5zZXRVcGxvYWRUYWdzKHRhZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwbG9hZCBzaW5nbGUgZmlsZVxuICAgKlxuICAgKiBAcGFyYW0geyhJbnB1dEZpbGUpfSBmaWxlXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIGFzeW5jIHVwbG9hZChpbnB1dDogSW5wdXRGaWxlKTogUHJvbWlzZTxhbnk+IHtcblxuICAgIGNvbnN0IGYgPSBhd2FpdCBnZXRGaWxlKGlucHV0LCB0aGlzLnNhbml0aXplck9wdGlvbnMpO1xuICAgIGYuY3VzdG9tTmFtZSA9IHRoaXMub3ZlcnJpZGVGaWxlTmFtZTtcbiAgICB0aGlzLnVwbG9hZGVyLmFkZEZpbGUoZik7XG5cbiAgICB0aGlzLnN0YXJ0UHJvZ3Jlc3NJbnRlcnZhbCgpO1xuICAgIGNvbnN0IHJlcyA9IChhd2FpdCB0aGlzLnVwbG9hZGVyLmV4ZWN1dGUoKSkuc2hpZnQoKTtcbiAgICB0aGlzLnN0b3BQcm9ncmVzc0ludGVydmFsKCk7XG5cbiAgICB0aGlzLnVwbG9hZGVyLnJlbW92ZUFsbExpc3RlbmVycygpO1xuXG4gICAgaWYgKHJlcy5zdGF0dXMgPT09IEZpbGVTdGF0ZS5GQUlMRUQpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChyZXMpO1xuICAgIH1cblxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGxvYWQgbXVsdGlwbGUgZmlsZXMgYXQgb25jZVxuICAgKlxuICAgKiBAcGFyYW0geyhJbnB1dEZpbGVbXSl9IGlucHV0XG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIGFzeW5jIG11bHRpdXBsb2FkKGlucHV0OiBJbnB1dEZpbGVbXSk6IFByb21pc2U8YW55PiB7XG4gICAgZm9yIChsZXQgaSBpbiBpbnB1dCkge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGlmICghaW5wdXQuaGFzT3duUHJvcGVydHkoaSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGYgPSBhd2FpdCBnZXRGaWxlKGlucHV0W2ldLCB0aGlzLnNhbml0aXplck9wdGlvbnMpO1xuICAgICAgZi5jdXN0b21OYW1lID0gdGhpcy5vdmVycmlkZUZpbGVOYW1lO1xuICAgICAgdGhpcy51cGxvYWRlci5hZGRGaWxlKGYpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhcnRQcm9ncmVzc0ludGVydmFsKCk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy51cGxvYWRlci5leGVjdXRlKCk7XG4gICAgdGhpcy5zdG9wUHJvZ3Jlc3NJbnRlcnZhbCgpO1xuXG4gICAgdGhpcy51cGxvYWRlci5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtcblxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSVW4gcHJvZ3Jlc3Mgd2l0aCB1c2VyZGVmaW5lZCBpbnRlcnZhbFxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcmV0dXJuc1xuICAgKiBAbWVtYmVyb2YgVXBsb2FkXG4gICAqL1xuICBwcml2YXRlIHN0YXJ0UHJvZ3Jlc3NJbnRlcnZhbCgpIHtcbiAgICBpZiAodHlwZW9mIHRoaXMub3B0aW9ucy5vblByb2dyZXNzICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5wcm9ncmVzc0ludGVydmFsSGFuZGxlciA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMub3B0aW9ucy5vblByb2dyZXNzKHRoaXMubGFzdFByb2dyZXNzKTtcbiAgICB9LCB0aGlzLm9wdGlvbnMucHJvZ3Jlc3NJbnRlcnZhbCB8fCBERUZBVUxUX1BST0dSRVNTX0lOVEVSVkFMKTtcblxuICAgIHRoaXMub3B0aW9ucy5vblByb2dyZXNzKHRoaXMubGFzdFByb2dyZXNzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIHByb2dyZXNzIGludGVydmFsIGFmdGVyIHVwbG9hZFxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAbWVtYmVyb2YgVXBsb2FkXG4gICAqL1xuICBwcml2YXRlIHN0b3BQcm9ncmVzc0ludGVydmFsKCkge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5wcm9ncmVzc0ludGVydmFsSGFuZGxlcik7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIHVwbG9hZCBpbnRlcnZhbCBhbmQgbm9ybWFsaXplIHZhbHVlc1xuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge1Byb2dyZXNzRXZlbnR9IHByb2dyZXNzXG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIHByaXZhdGUgaGFuZGxlUHJvZ3Jlc3MocHJvZ3Jlc3M6IFByb2dyZXNzRXZlbnQpIHtcbiAgICAvLyBnZXQgbWF4IHByb2dyZXNzIGRhdGEgdG8gYXZvaWQgcHJvZ3Jlc3MganVtcHMgb24gYW55IHBhcnQgZXJyb3JcbiAgICBwcm9ncmVzcyA9IG5vcm1hbGl6ZVByb2dyZXNzKHByb2dyZXNzLCB0aGlzLmxhc3RQcm9ncmVzcyk7XG5cbiAgICBpZiAodGhpcy5sYXN0UHJvZ3Jlc3MuZmlsZXMpIHtcbiAgICAgIGZvciAobGV0IGkgaW4gcHJvZ3Jlc3MuZmlsZXMpIHtcbiAgICAgICAgaWYgKHRoaXMubGFzdFByb2dyZXNzLmZpbGVzW2ldKSB7XG4gICAgICAgICAgcHJvZ3Jlc3MuZmlsZXNbaV0gPSBub3JtYWxpemVQcm9ncmVzcyhwcm9ncmVzcy5maWxlc1tpXSwgdGhpcy5sYXN0UHJvZ3Jlc3MuZmlsZXNbaV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5sYXN0UHJvZ3Jlc3MgPSBwcm9ncmVzcztcbiAgfVxufVxuIl19

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

beforeAll(function () {
spyOn(s3_1.S3Uploader.prototype, 'execute').and.callFake(mockExecute);
jest.spyOn(s3_1.S3Uploader.prototype, 'execute').mockImplementation(mockExecute);
});

@@ -82,3 +82,3 @@ describe('Settings', function () {

var u = new upload_1.Upload({ intelligent: true });
expect(s3_1.S3Uploader.prototype.setUploadMode).toHaveBeenCalledWith("intelligent" /* INTELLIGENT */);
expect(s3_1.S3Uploader.prototype.setUploadMode).toHaveBeenCalledWith("intelligent" /* UploadMode.INTELLIGENT */);
});

@@ -91,3 +91,3 @@ it('should set respect disableIntegrityCheck param', function () {

var u = new upload_1.Upload({ intelligent: 'fallback' });
expect(s3_1.S3Uploader.prototype.setUploadMode).toHaveBeenCalledWith("fallback" /* FALLBACK */);
expect(s3_1.S3Uploader.prototype.setUploadMode).toHaveBeenCalledWith("fallback" /* UploadMode.FALLBACK */);
});

@@ -199,7 +199,7 @@ it('should set upload tasks to uploader', function () {

{
status: "Failed" /* FAILED */,
status: "Failed" /* FileState.FAILED */,
},
]));
return expect(u.upload(testBuffer)).rejects.toEqual({
status: "Failed" /* FAILED */,
status: "Failed" /* FileState.FAILED */,
});

@@ -255,8 +255,10 @@ });

var progressMock, u;
var _this = this;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
spyOn(s3_1.S3Uploader.prototype, 'on').and.callFake(function (ev, cb) {
jest.spyOn(s3_1.S3Uploader.prototype, 'on').mockImplementation(function (ev, cb) {
cb(progress1);
cb(progress100);
return _this;
});

@@ -278,2 +280,3 @@ progressMock = jest.fn();

var progressCb, progressMock, u;
var _this = this;
return tslib_1.__generator(this, function (_a) {

@@ -291,4 +294,5 @@ switch (_a.label) {

});
spyOn(s3_1.S3Uploader.prototype, 'on').and.callFake(function (ev, cb) {
jest.spyOn(s3_1.S3Uploader.prototype, 'on').mockImplementation(function (ev, cb) {
progressCb = cb;
return _this;
});

@@ -312,2 +316,3 @@ progressMock = jest.fn();

var progressCb, progressMock, u;
var _this = this;
return tslib_1.__generator(this, function (_a) {

@@ -325,4 +330,5 @@ switch (_a.label) {

});
spyOn(s3_1.S3Uploader.prototype, 'on').and.callFake(function (ev, cb) {
jest.spyOn(s3_1.S3Uploader.prototype, 'on').mockImplementation(function (ev, cb) {
progressCb = cb;
return _this;
});

@@ -347,2 +353,2 @@ progressMock = jest.fn();

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC91cGxvYWQuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSCxtQ0FBa0M7QUFFbEMscUNBQTRDO0FBQzVDLDRDQUEyQztBQUkzQyxJQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFakQsSUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFFbkMsSUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDO0FBQ3hCLE1BQU0sQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRTtJQUNoRCxHQUFHLEVBQUUsZ0JBQWdCO0NBQ3RCLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztBQUVyQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsY0FBTSxPQUFBLENBQUM7SUFDL0IsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFNLE9BQUEsWUFBWSxFQUFaLENBQVksQ0FBQztDQUMxRCxDQUFDLEVBRjhCLENBRTlCLENBQUMsQ0FBQztBQUVKLElBQU0sa0JBQWtCLEdBQUc7SUFDekIsTUFBTSxFQUFFLFFBQVE7Q0FDakIsQ0FBQztBQUVGLElBQU0sV0FBVyxHQUFHLGVBQU0sQ0FBQyxJQUFJLENBQUM7QUFDaEMsSUFBTSxjQUFjLEdBQUc7SUFDckIsTUFBTSxFQUFFLE1BQU07SUFDZCxNQUFNLEVBQUUsR0FBRztJQUNYLFNBQVMsRUFBRSxHQUFHO0lBQ2QsSUFBSSxFQUFFLFdBQVc7Q0FDbEIsQ0FBQztBQUVGLElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUU5QixRQUFRLENBQUMsbUJBQW1CLEVBQUU7SUFD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ZC91cGxvYWQuc3BlYy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFVwbG9hZCB9IGZyb20gJy4vdXBsb2FkJztcbmltcG9ydCB7IEZpbGVTdGF0ZSB9IGZyb20gJy4vZmlsZSc7XG5pbXBvcnQgeyBTM1VwbG9hZGVyIH0gZnJvbSAnLi91cGxvYWRlcnMvczMnO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi8uLi8uLi8uLi9jb25maWcnO1xuaW1wb3J0IHsgU3RvcmVVcGxvYWRPcHRpb25zIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBVcGxvYWRNb2RlIH0gZnJvbSAnLi91cGxvYWRlcnMvYWJzdHJhY3QnO1xuXG5jb25zdCB0ZXN0QnVmZmVyID0gQnVmZmVyLmZyb20oJ3Rlc3QgdGVzdCB0ZXN0Jyk7XG5cbmNvbnN0IGN1c3RvbU5hbWVNb2NrZWQgPSBqZXN0LmZuKCk7XG5cbmNvbnN0IG1vY2tlZEZzRmlsZSA9IHt9O1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KG1vY2tlZEZzRmlsZSwgJ2N1c3RvbU5hbWUnLCB7XG4gIHNldDogY3VzdG9tTmFtZU1vY2tlZCxcbn0pO1xuXG5qZXN0LnVzZUZha2VUaW1lcnMoKTtcblxuamVzdC5tb2NrKCcuL3VwbG9hZGVycy9zMycpO1xuamVzdC5tb2NrKCcuL2ZpbGVfdG9vbHMnLCAoKSA9PiAoe1xuICBnZXRGaWxlOiBqZXN0LmZuKCkubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IG1vY2tlZEZzRmlsZSksXG59KSk7XG5cbmNvbnN0IG1vY2tlZEZpbGVSZXNwb25zZSA9IHtcbiAgc3RhdHVzOiAnc3RvcmVkJyxcbn07XG5cbmNvbnN0IHNlc3Npb25VUmxzID0gY29uZmlnLnVybHM7XG5jb25zdCBkZWZhdWx0U2Vzc2lvbiA9IHtcbiAgYXBpa2V5OiAndGVzdCcsXG4gIHBvbGljeTogJ3AnLFxuICBzaWduYXR1cmU6ICdzJyxcbiAgdXJsczogc2Vzc2lvblVSbHMsXG59O1xuXG5jb25zdCBtb2NrRXhlY3V0ZSA9IGplc3QuZm4oKTtcblxuZGVzY3JpYmUoJ0FwaS9VcGxvYWQvdXBsb2FkJywgKCkgPT4ge1xuICBiZWZvcmVBbGwoKCkgPT4ge1xuICAgIHNweU9uKFMzVXBsb2FkZXIucHJvdG90eXBlLCAnZXhlY3V0ZScpLmFuZC5jYWxsRmFrZShtb2NrRXhlY3V0ZSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdTZXR0aW5ncycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGhhbmRsZSBjb25zdHJ1Y3RvciBvcHRpb25zJywgKCkgPT4ge1xuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoe1xuICAgICAgICBwYXJ0U2l6ZTogNSAqIDEwMjQgKiAxMDI0LFxuICAgICAgICBpbnRlbGxpZ2VudENodW5rU2l6ZTogNSAqIDEwMjQgKiAxMDI0LFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5zZXRQYXJ0U2l6ZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoNSAqIDEwMjQgKiAxMDI0KTtcbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5zZXRJbnRlbGxpZ2VudENodW5rU2l6ZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoNSAqIDEwMjQgKiAxMDI0KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgZXJyb3Igb24gd3JvbmcgdXBsb2FkIG9wdGlvbnMnLCAoKSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3QoKCkgPT4gbmV3IFVwbG9hZCh7IGludGVsbGlnZW50MTogdHJ1ZSB9KSkudG9UaHJvd0Vycm9yKCdJbnZhbGlkIHVwbG9hZCBwYXJhbXMnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgYWNjZXB0IHNhbml0aXplciBzZXR0aW5ncycsICgpID0+IHtcbiAgICAgIGV4cGVjdCgoKSA9PiBuZXcgVXBsb2FkKHt9LCB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgc2FuaXRpemVyOiBmYWxzZSxcbiAgICAgIH0pKS5ub3QudG9UaHJvd0Vycm9yKCdJbnZhbGlkIHVwbG9hZCBwYXJhbXMnKTtcblxuICAgICAgZXhwZWN0KCgpID0+IG5ldyBVcGxvYWQoe30sIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBzYW5pdGl6ZXI6IHtcbiAgICAgICAgICBleGNsdWRlOiBbJzEnXSxcbiAgICAgICAgICByZXBsYWNlbWVudDogJy0nLFxuICAgICAgICB9LFxuICAgICAgfSkpLm5vdC50b1Rocm93RXJyb3IoJ0ludmFsaWQgdXBsb2FkIHBhcmFtcycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciBvbiB3cm9uZyBzdG9yZSBvcHRpb25zJywgKCkgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KCgpID0+IG5ldyBVcGxvYWQoeyBpbnRlbGxpZ2VudDogdHJ1ZSB9LCB7IHRlc3Q6IDEyMyB9KSkudG9UaHJvd0Vycm9yKCdJbnZhbGlkIHN0b3JlIHVwbG9hZCBwYXJhbXMnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc2V0IGludGVsbGlnZW50IHVwbG9hZCBtb2RlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoeyBpbnRlbGxpZ2VudDogdHJ1ZSB9KTtcbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5zZXRVcGxvYWRNb2RlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChVcGxvYWRNb2RlLklOVEVMTElHRU5UKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc2V0IHJlc3BlY3QgZGlzYWJsZUludGVncml0eUNoZWNrIHBhcmFtJywgKCkgPT4ge1xuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoeyBkaXNhYmxlSW50ZWdyaXR5Q2hlY2s6IHRydWUgfSk7XG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUuc2V0SW50ZWdyaXR5Q2hlY2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFsbGJhY2sgdXBsb2FkIG1vZGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCh7IGludGVsbGlnZW50OiAnZmFsbGJhY2snIH0pO1xuICAgICAgZXhwZWN0KFMzVXBsb2FkZXIucHJvdG90eXBlLnNldFVwbG9hZE1vZGUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFVwbG9hZE1vZGUuRkFMTEJBQ0spO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzZXQgdXBsb2FkIHRhc2tzIHRvIHVwbG9hZGVyJywgKCkgPT4ge1xuICAgICAgY29uc3QgdGFncyA9IHsgdGVzdDogJzEyMycgfTtcbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKHsgdGFnczogdGFncyB9KTtcbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5zZXRVcGxvYWRUYWdzKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh0YWdzKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcGFzcyBzdG9yZSBvcHRpb25zIHRvIHVwbG9hZGVyIGNsYXNzJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc3RvcmVPcHRpb25zOiBTdG9yZVVwbG9hZE9wdGlvbnMgPSB7XG4gICAgICAgIGxvY2F0aW9uOiAnczMnLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoe30sIHN0b3JlT3B0aW9ucyk7XG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUuY29uc3RydWN0b3IpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHN0b3JlT3B0aW9ucywgdW5kZWZpbmVkKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVzcGVjdCBjb25jdXJyZW5jeSBwYXJhbSBpbiB1cGxvYWQgb3B0aW9ucycsICgpID0+IHtcbiAgICAgIGNvbnN0IHVwbG9hZE9wdGlvbnMgPSB7XG4gICAgICAgIGNvbmN1cnJlbmN5OiA0LFxuICAgICAgfTtcblxuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQodXBsb2FkT3B0aW9ucyk7XG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUuY29uc3RydWN0b3IpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHt9LCA0KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc2V0IGNvcnJlY3Qgc2VjdXJpdHkgdG8gdXBsb2FkZXInLCAoKSA9PiB7XG4gICAgICBjb25zdCBzZWN1cml0eSA9IHtcbiAgICAgICAgcG9saWN5OiAncCcsXG4gICAgICAgIHNpZ25hdHVyZTogJ3MnLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoKTtcbiAgICAgIHUuc2V0U2VjdXJpdHkoc2VjdXJpdHkpO1xuXG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUuc2V0U2VjdXJpdHkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHNlY3VyaXR5KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcGFzcyBzZXNzaW9uIHZhcmlhYmxlIHRvIHVwbG9hZGVyJywgKCkgPT4ge1xuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoKTtcbiAgICAgIHUuc2V0U2Vzc2lvbihkZWZhdWx0U2Vzc2lvbik7XG5cbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5zZXRVcmwpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLnVybHMudXBsb2FkQXBpVXJsKTtcbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5zZXRBcGlrZXkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLmFwaWtleSk7XG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUuc2V0U2VjdXJpdHkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHsgcG9saWN5OiBkZWZhdWx0U2Vzc2lvbi5wb2xpY3ksIHNpZ25hdHVyZTogZGVmYXVsdFNlc3Npb24uc2lnbmF0dXJlIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzZXQgc3RvcmVPcHRpb24gZmlsZW5hbWUgdG8gY2xhc3MnLCBhc3luYyAoKSA9PiB7XG4gICAgICBtb2NrRXhlY3V0ZS5tb2NrUmV0dXJuVmFsdWUoUHJvbWlzZS5yZXNvbHZlKFttb2NrZWRGaWxlUmVzcG9uc2VdKSk7XG4gICAgICBjb25zdCBmaWxlbmFtZUZuID0gKCkgPT4gJ3Rlc3QnO1xuXG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZChcbiAgICAgICAge30sXG4gICAgICAgIHtcbiAgICAgICAgICBmaWxlbmFtZTogZmlsZW5hbWVGbixcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgYXdhaXQgdS51cGxvYWQodGVzdEJ1ZmZlcik7XG4gICAgICBleHBlY3QoY3VzdG9tTmFtZU1vY2tlZCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZmlsZW5hbWVGbik7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGFzc2lnbiBtZXRob2RzIHRvIHVzZXIgcHJvdmlkZWQgdG9rZW4nLCAoKSA9PiB7XG4gICAgICBsZXQgdG9rZW4gPSB7fTtcblxuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoKTtcbiAgICAgIHUuc2V0VG9rZW4odG9rZW4pO1xuXG4gICAgICBleHBlY3QodG9rZW5bJ2NhbmNlbCddKS50b0JlVHJ1dGh5KCk7XG4gICAgICBleHBlY3QodG9rZW5bJ3Jlc3VtZSddKS50b0JlVHJ1dGh5KCk7XG4gICAgICBleHBlY3QodG9rZW5bJ3BhdXNlJ10pLnRvQmVUcnV0aHkoKTtcblxuICAgICAgdG9rZW5bJ2NhbmNlbCddKCk7XG4gICAgICB0b2tlblsncGF1c2UnXSgpO1xuICAgICAgdG9rZW5bJ3Jlc3VtZSddKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNldCB0b2tlbiB3aXRoIG1ldGhvZHMgdGhhdCBwYXVzZSxjYW5jZWwgb3IgcmVzdW1lIHVwbG9hZHMnLCAoKSA9PiB7XG4gICAgICBsZXQgdG9rZW4gPSB7fTtcblxuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoKTtcbiAgICAgIHUuc2V0VG9rZW4odG9rZW4pO1xuXG4gICAgICB0b2tlblsnY2FuY2VsJ10oKTtcbiAgICAgIHRva2VuWydwYXVzZSddKCk7XG4gICAgICB0b2tlblsncmVzdW1lJ10oKTtcblxuICAgICAgZXhwZWN0KFMzVXBsb2FkZXIucHJvdG90eXBlLmFib3J0KS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUucGF1c2UpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5yZXN1bWUpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3IgaWYgdG9rZW4gaXMgbm90IGFuIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHRva2VuID0gJzEyMzEyMyc7XG5cbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKCk7XG4gICAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgICB1LnNldFRva2VuKHRva2VuKTtcbiAgICAgIH0pLnRvVGhyb3dFcnJvcigpO1xuICAgIH0pO1xuXG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdVcGxvYWQnLCAoKSA9PiB7XG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBtb2NrRXhlY3V0ZS5tb2NrUmV0dXJuVmFsdWUoUHJvbWlzZS5yZXNvbHZlKFttb2NrZWRGaWxlUmVzcG9uc2UsIG1vY2tlZEZpbGVSZXNwb25zZV0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZXhlY3V0ZSBub3JtYWwgdXBsb2FkIHdpdGhvdXQgZXJyb3JzIGFuZCByZXR1cm4gc2luZ2xlIGZpbGUgcmVzcG9uc2UnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCgpO1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdS51cGxvYWQodGVzdEJ1ZmZlcik7XG4gICAgICBleHBlY3QocmVzKS50b0VxdWFsKG1vY2tlZEZpbGVSZXNwb25zZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGV4ZWN1dGUgbm9ybWFsIHVwbG9hZCB3aXRoIGVycm9ycyBhbmQgcmV0dXJuIHJlamVjdGVkIHByb21pc2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCgpO1xuXG4gICAgICBtb2NrRXhlY3V0ZS5tb2NrUmV0dXJuVmFsdWUoXG4gICAgICAgIFByb21pc2UucmVzb2x2ZShbXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RhdHVzOiBGaWxlU3RhdGUuRkFJTEVELFxuICAgICAgICAgIH0sXG4gICAgICAgIF0pXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gZXhwZWN0KHUudXBsb2FkKHRlc3RCdWZmZXIpKS5yZWplY3RzLnRvRXF1YWwoe1xuICAgICAgICBzdGF0dXM6IEZpbGVTdGF0ZS5GQUlMRUQsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZXhlY3V0ZSBtdWx0aXVwbG9hZCB3aXRob3V0IGVycm9ycyBhbmQgcmV0dXJuIHNpbmdsZSBmaWxlIHJlc3BvbnNlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoKTtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHUubXVsdGl1cGxvYWQoW3Rlc3RCdWZmZXIsIHRlc3RCdWZmZXJdKTtcbiAgICAgIGV4cGVjdChyZXMpLnRvRXF1YWwoW21vY2tlZEZpbGVSZXNwb25zZSwgbW9ja2VkRmlsZVJlc3BvbnNlXSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdQcm9ncmVzcycsICgpID0+IHtcbiAgICBjb25zdCBwcm9ncmVzczEgPSB7XG4gICAgICB0b3RhbEJ5dGVzOiAxLFxuICAgICAgdG90YWxQZXJjZW50OiAxLFxuICAgICAgZmlsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRvdGFsQnl0ZXM6IDEsXG4gICAgICAgICAgdG90YWxQZXJjZW50OiAxLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuXG4gICAgY29uc3QgcHJvZ3Jlc3M1MCA9IHtcbiAgICAgIHRvdGFsQnl0ZXM6IDUsXG4gICAgICB0b3RhbFBlcmNlbnQ6IDUwLFxuICAgICAgZmlsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRvdGFsQnl0ZXM6IDUwLFxuICAgICAgICAgIHRvdGFsUGVyY2VudDogNTAsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG5cbiAgICBjb25zdCBwcm9ncmVzczEwMCA9IHtcbiAgICAgIHRvdGFsQnl0ZXM6IDEwMCxcbiAgICAgIHRvdGFsUGVyY2VudDogMTAwLFxuICAgICAgZmlsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRvdGFsQnl0ZXM6IDEwMCxcbiAgICAgICAgICB0b3RhbFBlcmNlbnQ6IDEwMCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcblxuICAgIGl0KCdzaG91bGQgaGFuZGxlIGNvcnJlY3QgcHJvZ3Jlc3MgZXZlbnQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBzcHlPbihTM1VwbG9hZGVyLnByb3RvdHlwZSwgJ29uJykuYW5kLmNhbGxGYWtlKChldiwgY2IpID0+IHtcbiAgICAgICAgY2IocHJvZ3Jlc3MxKTtcbiAgICAgICAgY2IocHJvZ3Jlc3MxMDApO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHByb2dyZXNzTW9jayA9IGplc3QuZm4oKTtcblxuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoe1xuICAgICAgICBvblByb2dyZXNzOiBwcm9ncmVzc01vY2ssXG4gICAgICB9KTtcblxuICAgICAgYXdhaXQgdS51cGxvYWQodGVzdEJ1ZmZlcik7XG5cbiAgICAgIGV4cGVjdChwcm9ncmVzc01vY2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHByb2dyZXNzMTAwKTtcbiAgICAgIGV4cGVjdChwcm9ncmVzc01vY2spLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgY2FsbCBwcm9ncmVzcyBldmVudCBvbiBnaXZlbiBpbnRlcnZhbCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGxldCBwcm9ncmVzc0NiO1xuXG4gICAgICBtb2NrRXhlY3V0ZS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBwcm9ncmVzc0NiKHByb2dyZXNzMSksIDEpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcHJvZ3Jlc3NDYihwcm9ncmVzczUwKSwgMik7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBwcm9ncmVzc0NiKHByb2dyZXNzMTAwKSwgMyk7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiByZXNvbHZlKFtdKSwgNCk7XG5cbiAgICAgICAgICBqZXN0LmFkdmFuY2VUaW1lcnNCeVRpbWUoNCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHNweU9uKFMzVXBsb2FkZXIucHJvdG90eXBlLCAnb24nKS5hbmQuY2FsbEZha2UoKGV2LCBjYikgPT4ge1xuICAgICAgICBwcm9ncmVzc0NiID0gY2I7XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgcHJvZ3Jlc3NNb2NrID0gamVzdC5mbigpO1xuXG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCh7XG4gICAgICAgIHByb2dyZXNzSW50ZXJ2YWw6IDEsXG4gICAgICAgIG9uUHJvZ3Jlc3M6IHByb2dyZXNzTW9jayxcbiAgICAgIH0pO1xuXG4gICAgICBhd2FpdCB1Lm11bHRpdXBsb2FkKFt0ZXN0QnVmZmVyXSk7XG5cbiAgICAgIGV4cGVjdChwcm9ncmVzc01vY2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHByb2dyZXNzMSk7XG4gICAgICBleHBlY3QocHJvZ3Jlc3NNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChwcm9ncmVzczUwKTtcbiAgICAgIGV4cGVjdChwcm9ncmVzc01vY2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHByb2dyZXNzMTAwKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc3RheSBhdCB0aGUgc2FtZSBwcm9ncmVzcyB3aGVuIHVwbG9hZGVyIGdvZXMgYmFjayB3aXRoIGZpbGUgcHJvZ3Jlc3MnLCBhc3luYyAoKSA9PiB7XG4gICAgICBsZXQgcHJvZ3Jlc3NDYjtcblxuICAgICAgbW9ja0V4ZWN1dGUubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcHJvZ3Jlc3NDYihwcm9ncmVzczUwKSwgMSk7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBwcm9ncmVzc0NiKHByb2dyZXNzMSksIDIpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcHJvZ3Jlc3NDYihwcm9ncmVzczEwMCksIDMpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVzb2x2ZShbXSksIDQpO1xuXG4gICAgICAgICAgamVzdC5hZHZhbmNlVGltZXJzQnlUaW1lKDQpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICBzcHlPbihTM1VwbG9hZGVyLnByb3RvdHlwZSwgJ29uJykuYW5kLmNhbGxGYWtlKChldiwgY2IpID0+IHtcbiAgICAgICAgcHJvZ3Jlc3NDYiA9IGNiO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHByb2dyZXNzTW9jayA9IGplc3QuZm4oKTtcblxuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoe1xuICAgICAgICBwcm9ncmVzc0ludGVydmFsOiAxLFxuICAgICAgICBvblByb2dyZXNzOiBwcm9ncmVzc01vY2ssXG4gICAgICB9KTtcblxuICAgICAgYXdhaXQgdS5tdWx0aXVwbG9hZChbdGVzdEJ1ZmZlcl0pO1xuXG4gICAgICBleHBlY3QocHJvZ3Jlc3NNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChwcm9ncmVzczUwKTtcbiAgICAgIGV4cGVjdChwcm9ncmVzc01vY2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHByb2dyZXNzNTApO1xuICAgICAgZXhwZWN0KHByb2dyZXNzTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgocHJvZ3Jlc3MxMDApO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC91cGxvYWQuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSCxtQ0FBa0M7QUFFbEMscUNBQTRDO0FBQzVDLDRDQUEyQztBQUkzQyxJQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFakQsSUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFFbkMsSUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDO0FBQ3hCLE1BQU0sQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRTtJQUNoRCxHQUFHLEVBQUUsZ0JBQWdCO0NBQ3RCLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztBQUVyQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsY0FBTSxPQUFBLENBQUM7SUFDL0IsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFNLE9BQUEsWUFBWSxFQUFaLENBQVksQ0FBQztDQUMxRCxDQUFDLEVBRjhCLENBRTlCLENBQUMsQ0FBQztBQUVKLElBQU0sa0JBQWtCLEdBQUc7SUFDekIsTUFBTSxFQUFFLFFBQVE7Q0FDakIsQ0FBQztBQUVGLElBQU0sV0FBVyxHQUFHLGVBQU0sQ0FBQyxJQUFJLENBQUM7QUFDaEMsSUFBTSxjQUFjLEdBQUc7SUFDckIsTUFBTSxFQUFFLE1BQU07SUFDZCxNQUFNLEVBQUUsR0FBRztJQUNYLFNBQVMsRUFBRSxHQUFHO0lBQ2QsSUFBSSxFQUFFLFdBQVc7Q0FDbEIsQ0FBQztBQUVGLElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUU5QixRQUFRLENBQUMsbUJBQW1CLEVBQUU7SUFD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RCxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9hcGkvdXBsb2FkL3VwbG9hZC5zcGVjLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgVXBsb2FkIH0gZnJvbSAnLi91cGxvYWQnO1xuaW1wb3J0IHsgRmlsZVN0YXRlIH0gZnJvbSAnLi9maWxlJztcbmltcG9ydCB7IFMzVXBsb2FkZXIgfSBmcm9tICcuL3VwbG9hZGVycy9zMyc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICcuLy4uLy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBTdG9yZVVwbG9hZE9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFVwbG9hZE1vZGUgfSBmcm9tICcuL3VwbG9hZGVycy9hYnN0cmFjdCc7XG5cbmNvbnN0IHRlc3RCdWZmZXIgPSBCdWZmZXIuZnJvbSgndGVzdCB0ZXN0IHRlc3QnKTtcblxuY29uc3QgY3VzdG9tTmFtZU1vY2tlZCA9IGplc3QuZm4oKTtcblxuY29uc3QgbW9ja2VkRnNGaWxlID0ge307XG5PYmplY3QuZGVmaW5lUHJvcGVydHkobW9ja2VkRnNGaWxlLCAnY3VzdG9tTmFtZScsIHtcbiAgc2V0OiBjdXN0b21OYW1lTW9ja2VkLFxufSk7XG5cbmplc3QudXNlRmFrZVRpbWVycygpO1xuXG5qZXN0Lm1vY2soJy4vdXBsb2FkZXJzL3MzJyk7XG5qZXN0Lm1vY2soJy4vZmlsZV90b29scycsICgpID0+ICh7XG4gIGdldEZpbGU6IGplc3QuZm4oKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gbW9ja2VkRnNGaWxlKSxcbn0pKTtcblxuY29uc3QgbW9ja2VkRmlsZVJlc3BvbnNlID0ge1xuICBzdGF0dXM6ICdzdG9yZWQnLFxufTtcblxuY29uc3Qgc2Vzc2lvblVSbHMgPSBjb25maWcudXJscztcbmNvbnN0IGRlZmF1bHRTZXNzaW9uID0ge1xuICBhcGlrZXk6ICd0ZXN0JyxcbiAgcG9saWN5OiAncCcsXG4gIHNpZ25hdHVyZTogJ3MnLFxuICB1cmxzOiBzZXNzaW9uVVJscyxcbn07XG5cbmNvbnN0IG1vY2tFeGVjdXRlID0gamVzdC5mbigpO1xuXG5kZXNjcmliZSgnQXBpL1VwbG9hZC91cGxvYWQnLCAoKSA9PiB7XG4gIGJlZm9yZUFsbCgoKSA9PiB7XG4gICAgamVzdC5zcHlPbihTM1VwbG9hZGVyLnByb3RvdHlwZSwgJ2V4ZWN1dGUnKS5tb2NrSW1wbGVtZW50YXRpb24obW9ja0V4ZWN1dGUpO1xuICB9KTtcblxuICBkZXNjcmliZSgnU2V0dGluZ3MnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgY29uc3RydWN0b3Igb3B0aW9ucycsICgpID0+IHtcbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKHtcbiAgICAgICAgcGFydFNpemU6IDUgKiAxMDI0ICogMTAyNCxcbiAgICAgICAgaW50ZWxsaWdlbnRDaHVua1NpemU6IDUgKiAxMDI0ICogMTAyNCxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUuc2V0UGFydFNpemUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKDUgKiAxMDI0ICogMTAyNCk7XG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUuc2V0SW50ZWxsaWdlbnRDaHVua1NpemUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKDUgKiAxMDI0ICogMTAyNCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGVycm9yIG9uIHdyb25nIHVwbG9hZCBvcHRpb25zJywgKCkgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KCgpID0+IG5ldyBVcGxvYWQoeyBpbnRlbGxpZ2VudDE6IHRydWUgfSkpLnRvVGhyb3dFcnJvcignSW52YWxpZCB1cGxvYWQgcGFyYW1zJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGFjY2VwdCBzYW5pdGl6ZXIgc2V0dGluZ3MnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoKCkgPT4gbmV3IFVwbG9hZCh7fSwge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHNhbml0aXplcjogZmFsc2UsXG4gICAgICB9KSkubm90LnRvVGhyb3dFcnJvcignSW52YWxpZCB1cGxvYWQgcGFyYW1zJyk7XG5cbiAgICAgIGV4cGVjdCgoKSA9PiBuZXcgVXBsb2FkKHt9LCB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgc2FuaXRpemVyOiB7XG4gICAgICAgICAgZXhjbHVkZTogWycxJ10sXG4gICAgICAgICAgcmVwbGFjZW1lbnQ6ICctJyxcbiAgICAgICAgfSxcbiAgICAgIH0pKS5ub3QudG9UaHJvd0Vycm9yKCdJbnZhbGlkIHVwbG9hZCBwYXJhbXMnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgZXJyb3Igb24gd3Jvbmcgc3RvcmUgb3B0aW9ucycsICgpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGV4cGVjdCgoKSA9PiBuZXcgVXBsb2FkKHsgaW50ZWxsaWdlbnQ6IHRydWUgfSwgeyB0ZXN0OiAxMjMgfSkpLnRvVGhyb3dFcnJvcignSW52YWxpZCBzdG9yZSB1cGxvYWQgcGFyYW1zJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNldCBpbnRlbGxpZ2VudCB1cGxvYWQgbW9kZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKHsgaW50ZWxsaWdlbnQ6IHRydWUgfSk7XG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUuc2V0VXBsb2FkTW9kZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoVXBsb2FkTW9kZS5JTlRFTExJR0VOVCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNldCByZXNwZWN0IGRpc2FibGVJbnRlZ3JpdHlDaGVjayBwYXJhbScsICgpID0+IHtcbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKHsgZGlzYWJsZUludGVncml0eUNoZWNrOiB0cnVlIH0pO1xuICAgICAgZXhwZWN0KFMzVXBsb2FkZXIucHJvdG90eXBlLnNldEludGVncml0eUNoZWNrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhbGxiYWNrIHVwbG9hZCBtb2RlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoeyBpbnRlbGxpZ2VudDogJ2ZhbGxiYWNrJyB9KTtcbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5zZXRVcGxvYWRNb2RlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChVcGxvYWRNb2RlLkZBTExCQUNLKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc2V0IHVwbG9hZCB0YXNrcyB0byB1cGxvYWRlcicsICgpID0+IHtcbiAgICAgIGNvbnN0IHRhZ3MgPSB7IHRlc3Q6ICcxMjMnIH07XG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCh7IHRhZ3M6IHRhZ3MgfSk7XG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUuc2V0VXBsb2FkVGFncykudG9IYXZlQmVlbkNhbGxlZFdpdGgodGFncyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHBhc3Mgc3RvcmUgb3B0aW9ucyB0byB1cGxvYWRlciBjbGFzcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHN0b3JlT3B0aW9uczogU3RvcmVVcGxvYWRPcHRpb25zID0ge1xuICAgICAgICBsb2NhdGlvbjogJ3MzJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKHt9LCBzdG9yZU9wdGlvbnMpO1xuICAgICAgZXhwZWN0KFMzVXBsb2FkZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChzdG9yZU9wdGlvbnMsIHVuZGVmaW5lZCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlc3BlY3QgY29uY3VycmVuY3kgcGFyYW0gaW4gdXBsb2FkIG9wdGlvbnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB1cGxvYWRPcHRpb25zID0ge1xuICAgICAgICBjb25jdXJyZW5jeTogNCxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKHVwbG9hZE9wdGlvbnMpO1xuICAgICAgZXhwZWN0KFMzVXBsb2FkZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7fSwgNCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNldCBjb3JyZWN0IHNlY3VyaXR5IHRvIHVwbG9hZGVyJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc2VjdXJpdHkgPSB7XG4gICAgICAgIHBvbGljeTogJ3AnLFxuICAgICAgICBzaWduYXR1cmU6ICdzJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKCk7XG4gICAgICB1LnNldFNlY3VyaXR5KHNlY3VyaXR5KTtcblxuICAgICAgZXhwZWN0KFMzVXBsb2FkZXIucHJvdG90eXBlLnNldFNlY3VyaXR5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChzZWN1cml0eSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHBhc3Mgc2Vzc2lvbiB2YXJpYWJsZSB0byB1cGxvYWRlcicsICgpID0+IHtcbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKCk7XG4gICAgICB1LnNldFNlc3Npb24oZGVmYXVsdFNlc3Npb24pO1xuXG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUuc2V0VXJsKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChkZWZhdWx0U2Vzc2lvbi51cmxzLnVwbG9hZEFwaVVybCk7XG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUuc2V0QXBpa2V5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChkZWZhdWx0U2Vzc2lvbi5hcGlrZXkpO1xuICAgICAgZXhwZWN0KFMzVXBsb2FkZXIucHJvdG90eXBlLnNldFNlY3VyaXR5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7IHBvbGljeTogZGVmYXVsdFNlc3Npb24ucG9saWN5LCBzaWduYXR1cmU6IGRlZmF1bHRTZXNzaW9uLnNpZ25hdHVyZSB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc2V0IHN0b3JlT3B0aW9uIGZpbGVuYW1lIHRvIGNsYXNzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgbW9ja0V4ZWN1dGUubW9ja1JldHVyblZhbHVlKFByb21pc2UucmVzb2x2ZShbbW9ja2VkRmlsZVJlc3BvbnNlXSkpO1xuICAgICAgY29uc3QgZmlsZW5hbWVGbiA9ICgpID0+ICd0ZXN0JztcblxuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoXG4gICAgICAgIHt9LFxuICAgICAgICB7XG4gICAgICAgICAgZmlsZW5hbWU6IGZpbGVuYW1lRm4sXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIGF3YWl0IHUudXBsb2FkKHRlc3RCdWZmZXIpO1xuICAgICAgZXhwZWN0KGN1c3RvbU5hbWVNb2NrZWQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGZpbGVuYW1lRm4pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBhc3NpZ24gbWV0aG9kcyB0byB1c2VyIHByb3ZpZGVkIHRva2VuJywgKCkgPT4ge1xuICAgICAgbGV0IHRva2VuID0ge307XG5cbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKCk7XG4gICAgICB1LnNldFRva2VuKHRva2VuKTtcblxuICAgICAgZXhwZWN0KHRva2VuWydjYW5jZWwnXSkudG9CZVRydXRoeSgpO1xuICAgICAgZXhwZWN0KHRva2VuWydyZXN1bWUnXSkudG9CZVRydXRoeSgpO1xuICAgICAgZXhwZWN0KHRva2VuWydwYXVzZSddKS50b0JlVHJ1dGh5KCk7XG5cbiAgICAgIHRva2VuWydjYW5jZWwnXSgpO1xuICAgICAgdG9rZW5bJ3BhdXNlJ10oKTtcbiAgICAgIHRva2VuWydyZXN1bWUnXSgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzZXQgdG9rZW4gd2l0aCBtZXRob2RzIHRoYXQgcGF1c2UsY2FuY2VsIG9yIHJlc3VtZSB1cGxvYWRzJywgKCkgPT4ge1xuICAgICAgbGV0IHRva2VuID0ge307XG5cbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKCk7XG4gICAgICB1LnNldFRva2VuKHRva2VuKTtcblxuICAgICAgdG9rZW5bJ2NhbmNlbCddKCk7XG4gICAgICB0b2tlblsncGF1c2UnXSgpO1xuICAgICAgdG9rZW5bJ3Jlc3VtZSddKCk7XG5cbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5hYm9ydCkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgZXhwZWN0KFMzVXBsb2FkZXIucHJvdG90eXBlLnBhdXNlKS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUucmVzdW1lKS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIGlmIHRva2VuIGlzIG5vdCBhbiBvYmplY3QnLCAoKSA9PiB7XG4gICAgICBjb25zdCB0b2tlbiA9ICcxMjMxMjMnO1xuXG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCgpO1xuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgdS5zZXRUb2tlbih0b2tlbik7XG4gICAgICB9KS50b1Rocm93RXJyb3IoKTtcbiAgICB9KTtcblxuICB9KTtcblxuICBkZXNjcmliZSgnVXBsb2FkJywgKCkgPT4ge1xuICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgbW9ja0V4ZWN1dGUubW9ja1JldHVyblZhbHVlKFByb21pc2UucmVzb2x2ZShbbW9ja2VkRmlsZVJlc3BvbnNlLCBtb2NrZWRGaWxlUmVzcG9uc2VdKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGV4ZWN1dGUgbm9ybWFsIHVwbG9hZCB3aXRob3V0IGVycm9ycyBhbmQgcmV0dXJuIHNpbmdsZSBmaWxlIHJlc3BvbnNlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoKTtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHUudXBsb2FkKHRlc3RCdWZmZXIpO1xuICAgICAgZXhwZWN0KHJlcykudG9FcXVhbChtb2NrZWRGaWxlUmVzcG9uc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBleGVjdXRlIG5vcm1hbCB1cGxvYWQgd2l0aCBlcnJvcnMgYW5kIHJldHVybiByZWplY3RlZCBwcm9taXNlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoKTtcblxuICAgICAgbW9ja0V4ZWN1dGUubW9ja1JldHVyblZhbHVlKFxuICAgICAgICBQcm9taXNlLnJlc29sdmUoW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHN0YXR1czogRmlsZVN0YXRlLkZBSUxFRCxcbiAgICAgICAgICB9LFxuICAgICAgICBdKVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGV4cGVjdCh1LnVwbG9hZCh0ZXN0QnVmZmVyKSkucmVqZWN0cy50b0VxdWFsKHtcbiAgICAgICAgc3RhdHVzOiBGaWxlU3RhdGUuRkFJTEVELFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGV4ZWN1dGUgbXVsdGl1cGxvYWQgd2l0aG91dCBlcnJvcnMgYW5kIHJldHVybiBzaW5nbGUgZmlsZSByZXNwb25zZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKCk7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCB1Lm11bHRpdXBsb2FkKFt0ZXN0QnVmZmVyLCB0ZXN0QnVmZmVyXSk7XG4gICAgICBleHBlY3QocmVzKS50b0VxdWFsKFttb2NrZWRGaWxlUmVzcG9uc2UsIG1vY2tlZEZpbGVSZXNwb25zZV0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnUHJvZ3Jlc3MnLCAoKSA9PiB7XG4gICAgY29uc3QgcHJvZ3Jlc3MxID0ge1xuICAgICAgdG90YWxCeXRlczogMSxcbiAgICAgIHRvdGFsUGVyY2VudDogMSxcbiAgICAgIGZpbGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0b3RhbEJ5dGVzOiAxLFxuICAgICAgICAgIHRvdGFsUGVyY2VudDogMSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcblxuICAgIGNvbnN0IHByb2dyZXNzNTAgPSB7XG4gICAgICB0b3RhbEJ5dGVzOiA1LFxuICAgICAgdG90YWxQZXJjZW50OiA1MCxcbiAgICAgIGZpbGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0b3RhbEJ5dGVzOiA1MCxcbiAgICAgICAgICB0b3RhbFBlcmNlbnQ6IDUwLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuXG4gICAgY29uc3QgcHJvZ3Jlc3MxMDAgPSB7XG4gICAgICB0b3RhbEJ5dGVzOiAxMDAsXG4gICAgICB0b3RhbFBlcmNlbnQ6IDEwMCxcbiAgICAgIGZpbGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0b3RhbEJ5dGVzOiAxMDAsXG4gICAgICAgICAgdG90YWxQZXJjZW50OiAxMDAsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG5cbiAgICBpdCgnc2hvdWxkIGhhbmRsZSBjb3JyZWN0IHByb2dyZXNzIGV2ZW50JywgYXN5bmMgKCkgPT4ge1xuICAgICAgamVzdC5zcHlPbihTM1VwbG9hZGVyLnByb3RvdHlwZSwgJ29uJykubW9ja0ltcGxlbWVudGF0aW9uKChldiwgY2IpID0+IHtcbiAgICAgICAgY2IocHJvZ3Jlc3MxKTtcbiAgICAgICAgY2IocHJvZ3Jlc3MxMDApO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBwcm9ncmVzc01vY2sgPSBqZXN0LmZuKCk7XG5cbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKHtcbiAgICAgICAgb25Qcm9ncmVzczogcHJvZ3Jlc3NNb2NrLFxuICAgICAgfSk7XG5cbiAgICAgIGF3YWl0IHUudXBsb2FkKHRlc3RCdWZmZXIpO1xuXG4gICAgICBleHBlY3QocHJvZ3Jlc3NNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChwcm9ncmVzczEwMCk7XG4gICAgICBleHBlY3QocHJvZ3Jlc3NNb2NrKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGNhbGwgcHJvZ3Jlc3MgZXZlbnQgb24gZ2l2ZW4gaW50ZXJ2YWwnLCBhc3luYyAoKSA9PiB7XG4gICAgICBsZXQgcHJvZ3Jlc3NDYjtcblxuICAgICAgbW9ja0V4ZWN1dGUubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcHJvZ3Jlc3NDYihwcm9ncmVzczEpLCAxKTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHByb2dyZXNzQ2IocHJvZ3Jlc3M1MCksIDIpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcHJvZ3Jlc3NDYihwcm9ncmVzczEwMCksIDMpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVzb2x2ZShbXSksIDQpO1xuXG4gICAgICAgICAgamVzdC5hZHZhbmNlVGltZXJzQnlUaW1lKDQpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICBqZXN0LnNweU9uKFMzVXBsb2FkZXIucHJvdG90eXBlLCAnb24nKS5tb2NrSW1wbGVtZW50YXRpb24oKGV2LCBjYikgPT4ge1xuICAgICAgICBwcm9ncmVzc0NiID0gY2I7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHByb2dyZXNzTW9jayA9IGplc3QuZm4oKTtcblxuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoe1xuICAgICAgICBwcm9ncmVzc0ludGVydmFsOiAxLFxuICAgICAgICBvblByb2dyZXNzOiBwcm9ncmVzc01vY2ssXG4gICAgICB9KTtcblxuICAgICAgYXdhaXQgdS5tdWx0aXVwbG9hZChbdGVzdEJ1ZmZlcl0pO1xuXG4gICAgICBleHBlY3QocHJvZ3Jlc3NNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChwcm9ncmVzczEpO1xuICAgICAgZXhwZWN0KHByb2dyZXNzTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgocHJvZ3Jlc3M1MCk7XG4gICAgICBleHBlY3QocHJvZ3Jlc3NNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChwcm9ncmVzczEwMCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHN0YXkgYXQgdGhlIHNhbWUgcHJvZ3Jlc3Mgd2hlbiB1cGxvYWRlciBnb2VzIGJhY2sgd2l0aCBmaWxlIHByb2dyZXNzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgbGV0IHByb2dyZXNzQ2I7XG5cbiAgICAgIG1vY2tFeGVjdXRlLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHByb2dyZXNzQ2IocHJvZ3Jlc3M1MCksIDEpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcHJvZ3Jlc3NDYihwcm9ncmVzczEpLCAyKTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHByb2dyZXNzQ2IocHJvZ3Jlc3MxMDApLCAzKTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHJlc29sdmUoW10pLCA0KTtcblxuICAgICAgICAgIGplc3QuYWR2YW5jZVRpbWVyc0J5VGltZSg0KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgamVzdC5zcHlPbihTM1VwbG9hZGVyLnByb3RvdHlwZSwgJ29uJykubW9ja0ltcGxlbWVudGF0aW9uKChldiwgY2IpID0+IHtcbiAgICAgICAgcHJvZ3Jlc3NDYiA9IGNiO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBwcm9ncmVzc01vY2sgPSBqZXN0LmZuKCk7XG5cbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKHtcbiAgICAgICAgcHJvZ3Jlc3NJbnRlcnZhbDogMSxcbiAgICAgICAgb25Qcm9ncmVzczogcHJvZ3Jlc3NNb2NrLFxuICAgICAgfSk7XG5cbiAgICAgIGF3YWl0IHUubXVsdGl1cGxvYWQoW3Rlc3RCdWZmZXJdKTtcblxuICAgICAgZXhwZWN0KHByb2dyZXNzTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgocHJvZ3Jlc3M1MCk7XG4gICAgICBleHBlY3QocHJvZ3Jlc3NNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChwcm9ncmVzczUwKTtcbiAgICAgIGV4cGVjdChwcm9ncmVzc01vY2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHByb2dyZXNzMTAwKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==

@@ -1,2 +0,2 @@

import * as EventEmitter from 'eventemitter3';
import EventEmitter from 'eventemitter3';
import { File, UploadTags } from './../file';

@@ -3,0 +3,0 @@ import { StoreUploadOptions } from './../types';

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.UploaderAbstract = exports.DEFAULT_STORE_LOCATION = exports.MIN_CHUNK_SIZE = exports.INTELLIGENT_MOBILE_CHUNK_SIZE = exports.INTELLIGENT_CHUNK_SIZE = exports.MIN_PART_SIZE = exports.DEFAULT_PART_SIZE = void 0;
var tslib_1 = require("tslib");

@@ -20,4 +21,4 @@ /*

*/
var debug_1 = require("debug");
var EventEmitter = require("eventemitter3");
var debug_1 = tslib_1.__importDefault(require("debug"));
var eventemitter3_1 = tslib_1.__importDefault(require("eventemitter3"));
var utils_1 = require("./../../../utils");

@@ -36,3 +37,3 @@ var filestack_error_1 = require("./../../../../filestack_error");

exports.DEFAULT_STORE_LOCATION = 's3';
var debug = debug_1.default('fs:upload:abstract');
var debug = (0, debug_1.default)('fs:upload:abstract');
var UploaderAbstract = /** @class */ (function (_super) {

@@ -48,5 +49,5 @@ tslib_1.__extends(UploaderAbstract, _super);

// chunk size for ii uploads
_this.intelligentChunkSize = utils_1.isMobile() ? exports.INTELLIGENT_MOBILE_CHUNK_SIZE : exports.INTELLIGENT_CHUNK_SIZE;
_this.intelligentChunkSize = (0, utils_1.isMobile)() ? exports.INTELLIGENT_MOBILE_CHUNK_SIZE : exports.INTELLIGENT_CHUNK_SIZE;
_this.timeout = 30 * 1000;
_this.uploadMode = "default" /* DEFAULT */;
_this.uploadMode = "default" /* UploadMode.DEFAULT */;
_this.isModeLocked = false; // if account does not support ii in fallback mode we should abort

@@ -62,15 +63,15 @@ _this.integrityCheck = true;

UploaderAbstract.prototype.setApikey = function (apikey) {
debug("Set apikey to " + apikey);
debug("Set apikey to ".concat(apikey));
this.apikey = apikey;
};
UploaderAbstract.prototype.setTimeout = function (timeout) {
debug("Set request timeout to " + timeout);
debug("Set request timeout to ".concat(timeout));
this.timeout = timeout;
};
UploaderAbstract.prototype.setRetryConfig = function (cfg) {
debug("Set retry config to " + cfg);
debug("Set retry config to ".concat(cfg));
this.retryConfig = cfg;
};
UploaderAbstract.prototype.setUrl = function (url) {
debug("Set upload url to " + url);
debug("Set upload url to ".concat(url));
this.url = url;

@@ -102,7 +103,7 @@ };

if (this.isModeLocked === true) {
debug("Cannot switch mode to " + mode + ". Locked! Probably mode is not supported at this apikey");
debug("Cannot switch mode to ".concat(mode, ". Locked! Probably mode is not supported at this apikey"));
return;
}
this.isModeLocked = lock;
debug("Set upload mode to " + mode);
debug("Set upload mode to ".concat(mode));
this.uploadMode = mode;

@@ -119,7 +120,7 @@ };

UploaderAbstract.prototype.setPartSize = function (size) {
if (this.uploadMode !== "default" /* DEFAULT */) {
if (this.uploadMode !== "default" /* UploadMode.DEFAULT */) {
debug('Cannot set part size because upload mode is other than default. ');
return;
}
debug("Set part size to " + size);
debug("Set part size to ".concat(size));
if (size < exports.MIN_PART_SIZE) {

@@ -143,5 +144,5 @@ throw new filestack_error_1.FilestackError('Minimum part size is 5MB');

UploaderAbstract.prototype.setIntelligentChunkSize = function (size) {
debug("Set inteligent chunk size to " + size);
debug("Set inteligent chunk size to ".concat(size));
if (size < exports.MIN_CHUNK_SIZE) {
throw new filestack_error_1.FilestackError("Minimum intelligent chunk size is " + exports.MIN_CHUNK_SIZE);
throw new filestack_error_1.FilestackError("Minimum intelligent chunk size is ".concat(exports.MIN_CHUNK_SIZE));
}

@@ -170,5 +171,5 @@ this.intelligentChunkSize = size;

return UploaderAbstract;
}(EventEmitter));
}(eventemitter3_1.default));
exports.UploaderAbstract = UploaderAbstract;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC91cGxvYWRlcnMvYWJzdHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsK0JBQTBCO0FBQzFCLDRDQUE4QztBQU05QywwQ0FBNEM7QUFDNUMsaUVBQStEO0FBRS9ELG9CQUFvQjtBQUNQLFFBQUEsaUJBQWlCLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFFakQsNENBQTRDO0FBQy9CLFFBQUEsYUFBYSxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBRTdDLDBFQUEwRTtBQUM3RCxRQUFBLHNCQUFzQixHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBRXRELDJCQUEyQjtBQUNkLFFBQUEsNkJBQTZCLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUV6RCxpQ0FBaUM7QUFDcEIsUUFBQSxjQUFjLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUUzQixRQUFBLHNCQUFzQixHQUFHLElBQUksQ0FBQztBQUUzQyxJQUFNLEtBQUssR0FBRyxlQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQVExQztJQUErQyw0Q0FBWTtJQXNCekQsMEJBQStCLFlBQWdDLEVBQXFCLFdBQXVCO1FBQXZCLDRCQUFBLEVBQUEsZUFBdUI7UUFBM0csWUFDRSxpQkFBTyxTQUNSO1FBRjhCLGtCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUFxQixpQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQXJCM0cscUJBQXFCO1FBQ1gsY0FBUSxHQUFXLHlCQUFpQixDQUFDO1FBRS9DLDRCQUE0QjtRQUNsQiwwQkFBb0IsR0FBVyxnQkFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLHFDQUE2QixDQUFDLENBQUMsQ0FBQyw4QkFBc0IsQ0FBQztRQUluRyxhQUFPLEdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQztRQUM1QixnQkFBVSwyQkFBa0M7UUFN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SUFDSSxrREFBdUIsR0FBOUI7UUFDRSxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksaUNBQU0sR0FBYjtRQUNFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ2IsTUFBTSxJQUFJLGdDQUFjLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUNoRDtRQUVELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBeUJILHVCQUFDO0FBQUQsQ0FoTEEsQUFnTEMsQ0FoTDhDLFlBQVksR0FnTDFEO0FBaExxQiw0Q0FBZ0IiLCJmaWxlIjoibGliL2FwaS91cGxvYWQvdXBsb2FkZXJzL2Fic3RyYWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCBEZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgKiBhcyBFdmVudEVtaXR0ZXIgZnJvbSAnZXZlbnRlbWl0dGVyMyc7XG5cbmltcG9ydCB7IEZpbGUsIFVwbG9hZFRhZ3MgfSBmcm9tICcuLy4uL2ZpbGUnO1xuaW1wb3J0IHsgU3RvcmVVcGxvYWRPcHRpb25zIH0gZnJvbSAnLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBTZWN1cml0eSB9IGZyb20gJy4vLi4vLi4vLi4vY2xpZW50JztcbmltcG9ydCB7IEZzUmV0cnlDb25maWcgfSBmcm9tICcuLy4uLy4uLy4uL3JlcXVlc3QnO1xuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICcuLy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yIH0gZnJvbSAnLi8uLi8uLi8uLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuXG4vLyByZWd1bGFyIHBhcnQgc2l6ZVxuZXhwb3J0IGNvbnN0IERFRkFVTFRfUEFSVF9TSVpFID0gNiAqIDEwMjQgKiAxMDI0O1xuXG4vLyBNaW5pbXVtIHBhcnQgc2l6ZSBmb3IgdXBsb2FkIGJ5IG11bHRpcGFydFxuZXhwb3J0IGNvbnN0IE1JTl9QQVJUX1NJWkUgPSA1ICogMTAyNCAqIDEwMjQ7XG5cbi8vIHdoZW4gbW9kZSBpcyBzZXQgdG8gZmFsbGJhY2sgb3IgaW50ZWxsaWdlbnQsIHRoaXMgcGFydCBzaXplIGlzIHJlcXVpcmVkXG5leHBvcnQgY29uc3QgSU5URUxMSUdFTlRfQ0hVTktfU0laRSA9IDggKiAxMDI0ICogMTAyNDtcblxuLy8gTW9iaWxlIENodW5rIHNpemUgZm9yIGlpXG5leHBvcnQgY29uc3QgSU5URUxMSUdFTlRfTU9CSUxFX0NIVU5LX1NJWkUgPSAxMDI0ICogMTAyNDtcblxuLy8gbWluaW11bSBpbnRlbGxpZ2VudCBjaHVuayBzaXplXG5leHBvcnQgY29uc3QgTUlOX0NIVU5LX1NJWkUgPSAzMiAqIDEwMjQ7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NUT1JFX0xPQ0FUSU9OID0gJ3MzJztcblxuY29uc3QgZGVidWcgPSBEZWJ1ZygnZnM6dXBsb2FkOmFic3RyYWN0Jyk7XG5cbmV4cG9ydCBjb25zdCBlbnVtIFVwbG9hZE1vZGUge1xuICBERUZBVUxUID0gJ2RlZmF1bHQnLFxuICBJTlRFTExJR0VOVCA9ICdpbnRlbGxpZ2VudCcsXG4gIEZBTExCQUNLID0gJ2ZhbGxiYWNrJyxcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFVwbG9hZGVyQWJzdHJhY3QgZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xuICAvLyBQYXJ0cyBzaXplIG9wdGlvbnNcbiAgcHJvdGVjdGVkIHBhcnRTaXplOiBudW1iZXIgPSBERUZBVUxUX1BBUlRfU0laRTtcblxuICAvLyBjaHVuayBzaXplIGZvciBpaSB1cGxvYWRzXG4gIHByb3RlY3RlZCBpbnRlbGxpZ2VudENodW5rU2l6ZTogbnVtYmVyID0gaXNNb2JpbGUoKSA/IElOVEVMTElHRU5UX01PQklMRV9DSFVOS19TSVpFIDogSU5URUxMSUdFTlRfQ0hVTktfU0laRTtcblxuICAvLyB1cGxvYWQgb3B0aW9uc1xuICBwcm90ZWN0ZWQgdXJsOiBzdHJpbmc7XG4gIHByb3RlY3RlZCB0aW1lb3V0OiBudW1iZXIgPSAzMCAqIDEwMDA7XG4gIHByb3RlY3RlZCB1cGxvYWRNb2RlOiBVcGxvYWRNb2RlID0gVXBsb2FkTW9kZS5ERUZBVUxUO1xuXG4gIC8vIGFwcGxpY2F0aW9uIHNldHRpbmdzXG4gIHByb3RlY3RlZCBhcGlrZXk6IHN0cmluZztcbiAgcHJvdGVjdGVkIHNlY3VyaXR5OiBTZWN1cml0eTtcblxuICBwcm90ZWN0ZWQgaXNNb2RlTG9ja2VkOiBib29sZWFuID0gZmFsc2U7IC8vIGlmIGFjY291bnQgZG9lcyBub3Qgc3VwcG9ydCBpaSBpbiBmYWxsYmFjayBtb2RlIHdlIHNob3VsZCBhYm9ydFxuICBwcm90ZWN0ZWQgcmV0cnlDb25maWc6IEZzUmV0cnlDb25maWc7XG4gIHByb3RlY3RlZCBpbnRlZ3JpdHlDaGVjazogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHJvdGVjdGVkIHVwbG9hZFRhZ3M6IFVwbG9hZFRhZ3MgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBzdG9yZU9wdGlvbnM6IFN0b3JlVXBsb2FkT3B0aW9ucywgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmN1cnJlbmN5OiBudW1iZXIgPSAzKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTZWN1cml0eShzZWN1cml0eTogU2VjdXJpdHkpOiB2b2lkIHtcbiAgICBkZWJ1ZygnU2V0IHNlY3VyaXR5ICVPJywgc2VjdXJpdHkpO1xuICAgIHRoaXMuc2VjdXJpdHkgPSBzZWN1cml0eTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRBcGlrZXkoYXBpa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBkZWJ1ZyhgU2V0IGFwaWtleSB0byAke2FwaWtleX1gKTtcbiAgICB0aGlzLmFwaWtleSA9IGFwaWtleTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRUaW1lb3V0KHRpbWVvdXQ6IG51bWJlcik6IHZvaWQge1xuICAgIGRlYnVnKGBTZXQgcmVxdWVzdCB0aW1lb3V0IHRvICR7dGltZW91dH1gKTtcbiAgICB0aGlzLnRpbWVvdXQgPSB0aW1lb3V0O1xuICB9XG5cbiAgcHVibGljIHNldFJldHJ5Q29uZmlnKGNmZzogRnNSZXRyeUNvbmZpZykge1xuICAgIGRlYnVnKGBTZXQgcmV0cnkgY29uZmlnIHRvICR7Y2ZnfWApO1xuICAgIHRoaXMucmV0cnlDb25maWcgPSBjZmc7XG4gIH1cblxuICBwdWJsaWMgc2V0VXJsKHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgZGVidWcoYFNldCB1cGxvYWQgdXJsIHRvICR7dXJsfWApO1xuICAgIHRoaXMudXJsID0gdXJsO1xuICB9XG5cbiAgcHVibGljIHNldFVwbG9hZFRhZ3ModGFnczogVXBsb2FkVGFncykge1xuICAgIGRlYnVnKGBTZXQgdGFncyB0byAlT2AsIHRhZ3MpO1xuICAgIHRoaXMudXBsb2FkVGFncyA9IHRhZ3M7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHN0YXRlIG9mIGNoZWNraW5nIGZpbGUgaW50ZWdyaXR5XG4gICAqIEBwYXJhbSBzdGF0ZVxuICAgKi9cbiAgcHVibGljIHNldEludGVncml0eUNoZWNrKHN0YXRlKSB7XG4gICAgdGhpcy5pbnRlZ3JpdHlDaGVjayA9IHN0YXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdXBsb2FkIG1vZGVcbiAgICpcbiAgICogQHBhcmFtIHtVcGxvYWRNb2RlfSBtb2RlXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2xvY2s9ZmFsc2VdXG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBNdWx0aXBhcnRVcGxvYWRlclxuICAgKi9cbiAgcHVibGljIHNldFVwbG9hZE1vZGUobW9kZTogVXBsb2FkTW9kZSwgbG9jazogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgLy8gdGhpcyBzaG91bGRudCBoYXBwZW5kIGJ1dCBmb3Igc2FmZXR5IHJlYXNvbnMgaWYgd2lsbCBzdGF5XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAodGhpcy5pc01vZGVMb2NrZWQgPT09IHRydWUpIHtcbiAgICAgIGRlYnVnKGBDYW5ub3Qgc3dpdGNoIG1vZGUgdG8gJHttb2RlfS4gTG9ja2VkISBQcm9iYWJseSBtb2RlIGlzIG5vdCBzdXBwb3J0ZWQgYXQgdGhpcyBhcGlrZXlgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzTW9kZUxvY2tlZCA9IGxvY2s7XG5cbiAgICBkZWJ1ZyhgU2V0IHVwbG9hZCBtb2RlIHRvICR7bW9kZX1gKTtcblxuICAgIHRoaXMudXBsb2FkTW9kZSA9IG1vZGU7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHVwbG9hZCBwYXJ0IHNpemVcbiAgICogaWYgcGFydCBzaXplIGlzIHNtYWxsZXIgdGhhbiBtaW5pbXVtIDVtYiBpdCB3aWxsIHRocm93IGVycm9yXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBzaXplXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKiBAbWVtYmVyb2YgUzNVcGxvYWRlclxuICAgKi9cbiAgcHVibGljIHNldFBhcnRTaXplKHNpemU6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLnVwbG9hZE1vZGUgIT09IFVwbG9hZE1vZGUuREVGQVVMVCkge1xuICAgICAgZGVidWcoJ0Nhbm5vdCBzZXQgcGFydCBzaXplIGJlY2F1c2UgdXBsb2FkIG1vZGUgaXMgb3RoZXIgdGhhbiBkZWZhdWx0LiAnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkZWJ1ZyhgU2V0IHBhcnQgc2l6ZSB0byAke3NpemV9YCk7XG5cbiAgICBpZiAoc2l6ZSA8IE1JTl9QQVJUX1NJWkUpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcignTWluaW11bSBwYXJ0IHNpemUgaXMgNU1CJyk7XG4gICAgfVxuXG4gICAgdGhpcy5wYXJ0U2l6ZSA9IHNpemU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBjdXJyZW50IHBhcnQgc2l6ZVxuICAgKi9cbiAgcHVibGljIGdldFBhcnRTaXplKCkge1xuICAgIHJldHVybiB0aGlzLnBhcnRTaXplO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBzdGFydCBwYXJ0IHNpemUgZm9yIGlpXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBzaXplXG4gICAqIEBtZW1iZXJvZiBTM1VwbG9hZGVyXG4gICAqL1xuICBwdWJsaWMgc2V0SW50ZWxsaWdlbnRDaHVua1NpemUoc2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgZGVidWcoYFNldCBpbnRlbGlnZW50IGNodW5rIHNpemUgdG8gJHtzaXplfWApO1xuICAgIGlmIChzaXplIDwgTUlOX0NIVU5LX1NJWkUpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcihgTWluaW11bSBpbnRlbGxpZ2VudCBjaHVuayBzaXplIGlzICR7TUlOX0NIVU5LX1NJWkV9YCk7XG4gICAgfVxuICAgIHRoaXMuaW50ZWxsaWdlbnRDaHVua1NpemUgPSBzaXplO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgaW50ZWxsaWdlbnQgY2h1bmsgc2l6ZVxuICAgKi9cbiAgcHVibGljIGdldEludGVsbGlnZW50Q2h1bmtTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZWxsaWdlbnRDaHVua1NpemU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBmaWxlc3RhY2sgdXBsb2FkIHVybFxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcmV0dXJuc1xuICAgKiBAbWVtYmVyb2YgTXVsdGlwYXJ0VXBsb2FkZXJcbiAgICovXG4gIHB1YmxpYyBnZXRVcmwoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMudXJsKSB7XG4gICAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoJ1VwbG9hZCB1cmwgbm90IHNldCcpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXVzZSB1cGxvYWQgcXVldWVcbiAgICpcbiAgICogQG1lbWJlcm9mIE11bHRpcGFydFVwbG9hZGVyXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcGF1c2UoKTogdm9pZDtcbiAgLyoqXG4gICAqIHJlc3VtZSB1cGxvYWQgcXVldWUgaWYgaXRzIHBhdXNlZFxuICAgKlxuICAgKiBAbWVtYmVyb2YgTXVsdGlwYXJ0VXBsb2FkZXJcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZXN1bWUoKTogdm9pZDtcblxuICAvKipcbiAgICogQWJvcnRzIHF1ZXVlIChhbGwgcGVuZGluZyByZXF1ZXN0cyB3aXRoIHdpbGwgYmUgYWJvcnRlZClcbiAgICpcbiAgICogQG1lbWJlcm9mIE11bHRpcGFydFVwbG9hZGVyXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgYWJvcnQobXNnPzogc3RyaW5nKTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3QgYWRkRmlsZShmaWxlOiBGaWxlKTogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBhc3luYyBleGVjdXRlKCk6IFByb21pc2U8YW55Pjtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC91cGxvYWRlcnMvYWJzdHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILHdEQUEwQjtBQUMxQix3RUFBeUM7QUFNekMsMENBQTRDO0FBQzVDLGlFQUErRDtBQUUvRCxvQkFBb0I7QUFDUCxRQUFBLGlCQUFpQixHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBRWpELDRDQUE0QztBQUMvQixRQUFBLGFBQWEsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUU3QywwRUFBMEU7QUFDN0QsUUFBQSxzQkFBc0IsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUV0RCwyQkFBMkI7QUFDZCxRQUFBLDZCQUE2QixHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFFekQsaUNBQWlDO0FBQ3BCLFFBQUEsY0FBYyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFFM0IsUUFBQSxzQkFBc0IsR0FBRyxJQUFJLENBQUM7QUFFM0MsSUFBTSxLQUFLLEdBQUcsSUFBQSxlQUFLLEVBQUMsb0JBQW9CLENBQUMsQ0FBQztBQVExQztJQUErQyw0Q0FBWTtJQXNCekQsMEJBQStCLFlBQWdDLEVBQXFCLFdBQXVCO1FBQXZCLDRCQUFBLEVBQUEsZUFBdUI7UUFBM0csWUFDRSxpQkFBTyxTQUNSO1FBRjhCLGtCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUFxQixpQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQXJCM0cscUJBQXFCO1FBQ1gsY0FBUSxHQUFXLHlCQUFpQixDQUFDO1FBRS9DLDRCQUE0QjtRQUNsQiwwQkFBb0IsR0FBVyxJQUFBLGdCQUFRLEdBQUUsQ0FBQyxDQUFDLENBQUMscUNBQTZCLENBQUMsQ0FBQyxDQUFDLDhCQUFzQixDQUFDO1FBSW5HLGFBQU8sR0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQzVCLGdCQUFV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LENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNJLGtEQUF1QixHQUE5QjtRQUNFLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxpQ0FBTSxHQUFiO1FBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDYixNQUFNLElBQUksZ0NBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ2hEO1FBRUQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUF5QkgsdUJBQUM7QUFBRCxDQWhMQSxBQWdMQyxDQWhMOEMsdUJBQVksR0FnTDFEO0FBaExxQiw0Q0FBZ0IiLCJmaWxlIjoibGliL2FwaS91cGxvYWQvdXBsb2FkZXJzL2Fic3RyYWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCBEZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgRXZlbnRFbWl0dGVyIGZyb20gJ2V2ZW50ZW1pdHRlcjMnO1xuXG5pbXBvcnQgeyBGaWxlLCBVcGxvYWRUYWdzIH0gZnJvbSAnLi8uLi9maWxlJztcbmltcG9ydCB7IFN0b3JlVXBsb2FkT3B0aW9ucyB9IGZyb20gJy4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgU2VjdXJpdHkgfSBmcm9tICcuLy4uLy4uLy4uL2NsaWVudCc7XG5pbXBvcnQgeyBGc1JldHJ5Q29uZmlnIH0gZnJvbSAnLi8uLi8uLi8uLi9yZXF1ZXN0JztcbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAnLi8uLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBGaWxlc3RhY2tFcnJvciB9IGZyb20gJy4vLi4vLi4vLi4vLi4vZmlsZXN0YWNrX2Vycm9yJztcblxuLy8gcmVndWxhciBwYXJ0IHNpemVcbmV4cG9ydCBjb25zdCBERUZBVUxUX1BBUlRfU0laRSA9IDYgKiAxMDI0ICogMTAyNDtcblxuLy8gTWluaW11bSBwYXJ0IHNpemUgZm9yIHVwbG9hZCBieSBtdWx0aXBhcnRcbmV4cG9ydCBjb25zdCBNSU5fUEFSVF9TSVpFID0gNSAqIDEwMjQgKiAxMDI0O1xuXG4vLyB3aGVuIG1vZGUgaXMgc2V0IHRvIGZhbGxiYWNrIG9yIGludGVsbGlnZW50LCB0aGlzIHBhcnQgc2l6ZSBpcyByZXF1aXJlZFxuZXhwb3J0IGNvbnN0IElOVEVMTElHRU5UX0NIVU5LX1NJWkUgPSA4ICogMTAyNCAqIDEwMjQ7XG5cbi8vIE1vYmlsZSBDaHVuayBzaXplIGZvciBpaVxuZXhwb3J0IGNvbnN0IElOVEVMTElHRU5UX01PQklMRV9DSFVOS19TSVpFID0gMTAyNCAqIDEwMjQ7XG5cbi8vIG1pbmltdW0gaW50ZWxsaWdlbnQgY2h1bmsgc2l6ZVxuZXhwb3J0IGNvbnN0IE1JTl9DSFVOS19TSVpFID0gMzIgKiAxMDI0O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9TVE9SRV9MT0NBVElPTiA9ICdzMyc7XG5cbmNvbnN0IGRlYnVnID0gRGVidWcoJ2ZzOnVwbG9hZDphYnN0cmFjdCcpO1xuXG5leHBvcnQgY29uc3QgZW51bSBVcGxvYWRNb2RlIHtcbiAgREVGQVVMVCA9ICdkZWZhdWx0JyxcbiAgSU5URUxMSUdFTlQgPSAnaW50ZWxsaWdlbnQnLFxuICBGQUxMQkFDSyA9ICdmYWxsYmFjaycsXG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBVcGxvYWRlckFic3RyYWN0IGV4dGVuZHMgRXZlbnRFbWl0dGVyIHtcbiAgLy8gUGFydHMgc2l6ZSBvcHRpb25zXG4gIHByb3RlY3RlZCBwYXJ0U2l6ZTogbnVtYmVyID0gREVGQVVMVF9QQVJUX1NJWkU7XG5cbiAgLy8gY2h1bmsgc2l6ZSBmb3IgaWkgdXBsb2Fkc1xuICBwcm90ZWN0ZWQgaW50ZWxsaWdlbnRDaHVua1NpemU6IG51bWJlciA9IGlzTW9iaWxlKCkgPyBJTlRFTExJR0VOVF9NT0JJTEVfQ0hVTktfU0laRSA6IElOVEVMTElHRU5UX0NIVU5LX1NJWkU7XG5cbiAgLy8gdXBsb2FkIG9wdGlvbnNcbiAgcHJvdGVjdGVkIHVybDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgdGltZW91dDogbnVtYmVyID0gMzAgKiAxMDAwO1xuICBwcm90ZWN0ZWQgdXBsb2FkTW9kZTogVXBsb2FkTW9kZSA9IFVwbG9hZE1vZGUuREVGQVVMVDtcblxuICAvLyBhcHBsaWNhdGlvbiBzZXR0aW5nc1xuICBwcm90ZWN0ZWQgYXBpa2V5OiBzdHJpbmc7XG4gIHByb3RlY3RlZCBzZWN1cml0eTogU2VjdXJpdHk7XG5cbiAgcHJvdGVjdGVkIGlzTW9kZUxvY2tlZDogYm9vbGVhbiA9IGZhbHNlOyAvLyBpZiBhY2NvdW50IGRvZXMgbm90IHN1cHBvcnQgaWkgaW4gZmFsbGJhY2sgbW9kZSB3ZSBzaG91bGQgYWJvcnRcbiAgcHJvdGVjdGVkIHJldHJ5Q29uZmlnOiBGc1JldHJ5Q29uZmlnO1xuICBwcm90ZWN0ZWQgaW50ZWdyaXR5Q2hlY2s6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHByb3RlY3RlZCB1cGxvYWRUYWdzOiBVcGxvYWRUYWdzID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVhZG9ubHkgc3RvcmVPcHRpb25zOiBTdG9yZVVwbG9hZE9wdGlvbnMsIHByb3RlY3RlZCByZWFkb25seSBjb25jdXJyZW5jeTogbnVtYmVyID0gMykge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0U2VjdXJpdHkoc2VjdXJpdHk6IFNlY3VyaXR5KTogdm9pZCB7XG4gICAgZGVidWcoJ1NldCBzZWN1cml0eSAlTycsIHNlY3VyaXR5KTtcbiAgICB0aGlzLnNlY3VyaXR5ID0gc2VjdXJpdHk7XG4gIH1cblxuICBwdWJsaWMgc2V0QXBpa2V5KGFwaWtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgZGVidWcoYFNldCBhcGlrZXkgdG8gJHthcGlrZXl9YCk7XG4gICAgdGhpcy5hcGlrZXkgPSBhcGlrZXk7XG4gIH1cblxuICBwdWJsaWMgc2V0VGltZW91dCh0aW1lb3V0OiBudW1iZXIpOiB2b2lkIHtcbiAgICBkZWJ1ZyhgU2V0IHJlcXVlc3QgdGltZW91dCB0byAke3RpbWVvdXR9YCk7XG4gICAgdGhpcy50aW1lb3V0ID0gdGltZW91dDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRSZXRyeUNvbmZpZyhjZmc6IEZzUmV0cnlDb25maWcpIHtcbiAgICBkZWJ1ZyhgU2V0IHJldHJ5IGNvbmZpZyB0byAke2NmZ31gKTtcbiAgICB0aGlzLnJldHJ5Q29uZmlnID0gY2ZnO1xuICB9XG5cbiAgcHVibGljIHNldFVybCh1cmw6IHN0cmluZyk6IHZvaWQge1xuICAgIGRlYnVnKGBTZXQgdXBsb2FkIHVybCB0byAke3VybH1gKTtcbiAgICB0aGlzLnVybCA9IHVybDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRVcGxvYWRUYWdzKHRhZ3M6IFVwbG9hZFRhZ3MpIHtcbiAgICBkZWJ1ZyhgU2V0IHRhZ3MgdG8gJU9gLCB0YWdzKTtcbiAgICB0aGlzLnVwbG9hZFRhZ3MgPSB0YWdzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBzdGF0ZSBvZiBjaGVja2luZyBmaWxlIGludGVncml0eVxuICAgKiBAcGFyYW0gc3RhdGVcbiAgICovXG4gIHB1YmxpYyBzZXRJbnRlZ3JpdHlDaGVjayhzdGF0ZSkge1xuICAgIHRoaXMuaW50ZWdyaXR5Q2hlY2sgPSBzdGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHVwbG9hZCBtb2RlXG4gICAqXG4gICAqIEBwYXJhbSB7VXBsb2FkTW9kZX0gbW9kZVxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtsb2NrPWZhbHNlXVxuICAgKiBAcmV0dXJuc1xuICAgKiBAbWVtYmVyb2YgTXVsdGlwYXJ0VXBsb2FkZXJcbiAgICovXG4gIHB1YmxpYyBzZXRVcGxvYWRNb2RlKG1vZGU6IFVwbG9hZE1vZGUsIGxvY2s6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgIC8vIHRoaXMgc2hvdWxkbnQgaGFwcGVuZCBidXQgZm9yIHNhZmV0eSByZWFzb25zIGlmIHdpbGwgc3RheVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKHRoaXMuaXNNb2RlTG9ja2VkID09PSB0cnVlKSB7XG4gICAgICBkZWJ1ZyhgQ2Fubm90IHN3aXRjaCBtb2RlIHRvICR7bW9kZX0uIExvY2tlZCEgUHJvYmFibHkgbW9kZSBpcyBub3Qgc3VwcG9ydGVkIGF0IHRoaXMgYXBpa2V5YCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc01vZGVMb2NrZWQgPSBsb2NrO1xuXG4gICAgZGVidWcoYFNldCB1cGxvYWQgbW9kZSB0byAke21vZGV9YCk7XG5cbiAgICB0aGlzLnVwbG9hZE1vZGUgPSBtb2RlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB1cGxvYWQgcGFydCBzaXplXG4gICAqIGlmIHBhcnQgc2l6ZSBpcyBzbWFsbGVyIHRoYW4gbWluaW11bSA1bWIgaXQgd2lsbCB0aHJvdyBlcnJvclxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gc2l6ZVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICogQG1lbWJlcm9mIFMzVXBsb2FkZXJcbiAgICovXG4gIHB1YmxpYyBzZXRQYXJ0U2l6ZShzaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy51cGxvYWRNb2RlICE9PSBVcGxvYWRNb2RlLkRFRkFVTFQpIHtcbiAgICAgIGRlYnVnKCdDYW5ub3Qgc2V0IHBhcnQgc2l6ZSBiZWNhdXNlIHVwbG9hZCBtb2RlIGlzIG90aGVyIHRoYW4gZGVmYXVsdC4gJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGVidWcoYFNldCBwYXJ0IHNpemUgdG8gJHtzaXplfWApO1xuXG4gICAgaWYgKHNpemUgPCBNSU5fUEFSVF9TSVpFKSB7XG4gICAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoJ01pbmltdW0gcGFydCBzaXplIGlzIDVNQicpO1xuICAgIH1cblxuICAgIHRoaXMucGFydFNpemUgPSBzaXplO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgY3VycmVudCBwYXJ0IHNpemVcbiAgICovXG4gIHB1YmxpYyBnZXRQYXJ0U2l6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJ0U2l6ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgc3RhcnQgcGFydCBzaXplIGZvciBpaVxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gc2l6ZVxuICAgKiBAbWVtYmVyb2YgUzNVcGxvYWRlclxuICAgKi9cbiAgcHVibGljIHNldEludGVsbGlnZW50Q2h1bmtTaXplKHNpemU6IG51bWJlcik6IHZvaWQge1xuICAgIGRlYnVnKGBTZXQgaW50ZWxpZ2VudCBjaHVuayBzaXplIHRvICR7c2l6ZX1gKTtcbiAgICBpZiAoc2l6ZSA8IE1JTl9DSFVOS19TSVpFKSB7XG4gICAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoYE1pbmltdW0gaW50ZWxsaWdlbnQgY2h1bmsgc2l6ZSBpcyAke01JTl9DSFVOS19TSVpFfWApO1xuICAgIH1cbiAgICB0aGlzLmludGVsbGlnZW50Q2h1bmtTaXplID0gc2l6ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGludGVsbGlnZW50IGNodW5rIHNpemVcbiAgICovXG4gIHB1YmxpYyBnZXRJbnRlbGxpZ2VudENodW5rU2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmludGVsbGlnZW50Q2h1bmtTaXplO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgZmlsZXN0YWNrIHVwbG9hZCB1cmxcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHJldHVybnNcbiAgICogQG1lbWJlcm9mIE11bHRpcGFydFVwbG9hZGVyXG4gICAqL1xuICBwdWJsaWMgZ2V0VXJsKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnVybCkge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdVcGxvYWQgdXJsIG5vdCBzZXQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy51cmw7XG4gIH1cblxuICAvKipcbiAgICogUGF1c2UgdXBsb2FkIHF1ZXVlXG4gICAqXG4gICAqIEBtZW1iZXJvZiBNdWx0aXBhcnRVcGxvYWRlclxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHBhdXNlKCk6IHZvaWQ7XG4gIC8qKlxuICAgKiByZXN1bWUgdXBsb2FkIHF1ZXVlIGlmIGl0cyBwYXVzZWRcbiAgICpcbiAgICogQG1lbWJlcm9mIE11bHRpcGFydFVwbG9hZGVyXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVzdW1lKCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEFib3J0cyBxdWV1ZSAoYWxsIHBlbmRpbmcgcmVxdWVzdHMgd2l0aCB3aWxsIGJlIGFib3J0ZWQpXG4gICAqXG4gICAqIEBtZW1iZXJvZiBNdWx0aXBhcnRVcGxvYWRlclxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGFib3J0KG1zZz86IHN0cmluZyk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGFkZEZpbGUoZmlsZTogRmlsZSk6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZXhlY3V0ZSgpOiBQcm9taXNlPGFueT47XG59XG4iXX0=

@@ -19,5 +19,6 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.Client = void 0;
var tslib_1 = require("tslib");
var eventemitter3_1 = require("eventemitter3");
var Sentry = require("@sentry/minimal");
var Sentry = tslib_1.__importStar(require("@sentry/minimal"));
var config_1 = require("../config");

@@ -28,3 +29,3 @@ var filestack_error_1 = require("./../filestack_error");

var store_1 = require("./api/store");
var Utils = require("./utils");
var Utils = tslib_1.__importStar(require("./utils"));
var upload_1 = require("./api/upload");

@@ -87,3 +88,3 @@ var preview_1 = require("./api/preview");

},
enumerable: true,
enumerable: false,
configurable: true

@@ -159,3 +160,3 @@ });

/* istanbul ignore next */
return file_1.metadata(this.session, handle, options, security);
return (0, file_1.metadata)(this.session, handle, options, security);
};

@@ -167,3 +168,3 @@ /**

/* istanbul ignore next */
return picker_1.picker(this, options);
return (0, picker_1.picker)(this, options);
};

@@ -186,3 +187,3 @@ /**

/* istanbul ignore next */
return preview_1.preview(this.session, handle, options);
return (0, preview_1.preview)(this.session, handle, options);
};

@@ -212,3 +213,3 @@ /**

/* istanbul ignore next */
return file_1.remove(this.session, handle, false, security);
return (0, file_1.remove)(this.session, handle, false, security);
};

@@ -238,3 +239,3 @@ /**

/* istanbul ignore next */
return file_1.remove(this.session, handle, true, security);
return (0, file_1.remove)(this.session, handle, true, security);
};

@@ -261,3 +262,3 @@ /**

Client.prototype.storeURL = function (url, storeParams, token, security, uploadTags, headers, workflowIds) {
return store_1.storeURL({
return (0, store_1.storeURL)({
session: this.session,

@@ -302,3 +303,3 @@ url: url,

/* istanbul ignore next */
return file_1.retrieve(this.session, handle, options, security);
return (0, file_1.retrieve)(this.session, handle, options, security);
};

@@ -327,3 +328,3 @@ /**

/* istanbul ignore next */
return file_1.download(this.session, handle, security);
return (0, file_1.download)(this.session, handle, security);
};

@@ -366,3 +367,3 @@ /**

/* istanbul ignore next */
return transform_1.transform(this.session, url, options, b64);
return (0, transform_1.transform)(this.session, url, options, b64);
};

@@ -420,3 +421,3 @@ /**

scope.setExtras({ uploadOptions: options, storeOptions: storeOptions, details: e.details });
e.message = "FS-" + e.message;
e.message = "FS-".concat(e.message);
Sentry.captureException(e);

@@ -490,2 +491,2 @@ });

//# sourceMappingURL=data:application/json;charset=utf8;base64,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LEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsS0FBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDdEQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztnQkFDdEQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxLQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2xELEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQixLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxZQUFZLGNBQUEsRUFBRSxDQUFDLENBQUM7Z0JBQzFELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztZQUVILEtBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFDSCxhQUFDO0FBQUQsQ0E5YkEsQUE4YkMsQ0E5YjJCLDRCQUFZLEdBOGJ2QztBQTliWSx3QkFBTSIsImZpbGUiOiJsaWIvY2xpZW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdldmVudGVtaXR0ZXIzJztcbmltcG9ydCAqIGFzIFNlbnRyeSBmcm9tICdAc2VudHJ5L21pbmltYWwnO1xuaW1wb3J0IHsgY29uZmlnLCBIb3N0cyB9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBGaWxlc3RhY2tFcnJvciB9IGZyb20gJy4vLi4vZmlsZXN0YWNrX2Vycm9yJztcbmltcG9ydCB7IG1ldGFkYXRhLCBNZXRhZGF0YU9wdGlvbnMsIHJlbW92ZSwgcmV0cmlldmUsIFJldHJpZXZlT3B0aW9ucywgZG93bmxvYWQgfSBmcm9tICcuL2FwaS9maWxlJztcbmltcG9ydCB7IHRyYW5zZm9ybSwgVHJhbnNmb3JtT3B0aW9ucyB9IGZyb20gJy4vYXBpL3RyYW5zZm9ybSc7XG5pbXBvcnQgeyBzdG9yZVVSTCB9IGZyb20gJy4vYXBpL3N0b3JlJztcbmltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgVXBsb2FkLCBJbnB1dEZpbGUsIFVwbG9hZE9wdGlvbnMsIFN0b3JlVXBsb2FkT3B0aW9ucywgVXBsb2FkVGFncyB9IGZyb20gJy4vYXBpL3VwbG9hZCc7XG5pbXBvcnQgeyBwcmV2aWV3LCBQcmV2aWV3T3B0aW9ucyB9IGZyb20gJy4vYXBpL3ByZXZpZXcnO1xuaW1wb3J0IHsgQ2xvdWRDbGllbnQgfSBmcm9tICcuL2FwaS9jbG91ZCc7XG5pbXBvcnQgeyBQcmVmZXRjaCwgUHJlZmV0Y2hSZXNwb25zZSwgUHJlZmV0Y2hPcHRpb25zIH0gZnJvbSAnLi9hcGkvcHJlZmV0Y2gnO1xuaW1wb3J0IHsgRnNSZXNwb25zZSB9IGZyb20gJy4vcmVxdWVzdC90eXBlcyc7XG5pbXBvcnQgeyBTdG9yZVBhcmFtcyB9IGZyb20gJy4vZmlsZWxpbmsnO1xuXG5pbXBvcnQgeyBwaWNrZXIsIFBpY2tlckluc3RhbmNlLCBQaWNrZXJPcHRpb25zIH0gZnJvbSAnLi9waWNrZXInO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuU2VudHJ5LmFkZEJyZWFkY3J1bWIoeyBjYXRlZ29yeTogJ3NkaycsIG1lc3NhZ2U6ICdmaWxlc3RhY2stanMtc2RrIHNjb3BlJyB9KTtcblxuZXhwb3J0IGludGVyZmFjZSBTZXNzaW9uIHtcbiAgYXBpa2V5OiBzdHJpbmc7XG4gIHVybHM6IEhvc3RzO1xuICBjbmFtZT86IHN0cmluZztcbiAgcG9saWN5Pzogc3RyaW5nO1xuICBzaWduYXR1cmU/OiBzdHJpbmc7XG4gIHByZWZldGNoPzogUHJlZmV0Y2hSZXNwb25zZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eSB7XG4gIHBvbGljeTogc3RyaW5nO1xuICBzaWduYXR1cmU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGllbnRPcHRpb25zIHtcbiAgW29wdGlvbjogc3RyaW5nXTogYW55O1xuICAvKipcbiAgICogU2VjdXJpdHkgb2JqZWN0IHdpdGggcG9saWN5IGFuZCBzaWduYXR1cmUga2V5cy5cbiAgICogQ2FuIGJlIHVzZWQgdG8gbGltaXQgY2xpZW50IGNhcGFiaWxpdGllcyBhbmQgcHJvdGVjdCBwdWJsaWMgVVJMcy5cbiAgICogSXQgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCB3aXRoIHNlcnZlci1zaWRlIHBvbGljeSBhbmQgc2lnbmF0dXJlIGdlbmVyYXRpb24uXG4gICAqIFJlYWQgYWJvdXQgW3NlY3VyaXR5IHBvbGljaWVzXShodHRwczovL3d3dy5maWxlc3RhY2suY29tL2RvY3MvY29uY2VwdHMvc2VjdXJpdHkpLlxuICAgKi9cbiAgc2VjdXJpdHk/OiBTZWN1cml0eTtcbiAgLyoqXG4gICAqIERvbWFpbiB0byB1c2UgZm9yIGFsbCBVUkxzLiBfX1JlcXVpcmVzIHRoZSBjdXN0b20gQ05BTUUgYWRkb25fXy5cbiAgICogSWYgdGhpcyBpcyBlbmFibGVkIHRoZW4geW91IG11c3QgYWxzbyBzZXQgdXAgeW91ciBvd24gT0F1dGggYXBwbGljYXRpb25zXG4gICAqIGZvciBlYWNoIGNsb3VkIHNvdXJjZSB5b3Ugd2lzaCB0byB1c2UgaW4gdGhlIHBpY2tlci5cbiAgICovXG4gIGNuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogRW5hYmxlL2Rpc2FibGUgY2FjaGluZyBvZiB0aGUgY2xvdWQgc2Vzc2lvbiB0b2tlbi4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICogVGhpcyBlbnN1cmVzIHRoYXQgdXNlcnMgd2lsbCBiZSByZW1lbWJlcmVkIG9uIHlvdXIgZG9tYWluIHdoZW4gY2FsbGluZyB0aGUgY2xvdWQgQVBJIGZyb20gdGhlIGJyb3dzZXIuXG4gICAqIFBsZWFzZSBiZSBhd2FyZSB0aGF0IHRva2VucyBzdG9yZWQgaW4gbG9jYWxTdG9yYWdlIGFyZSBhY2Nlc3NpYmxlIGJ5IG90aGVyIHNjcmlwdHMgb24gdGhlIHNhbWUgZG9tYWluLlxuICAgKi9cbiAgc2Vzc2lvbkNhY2hlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlIGZvcndhcmRpbmcgZXJyb3IgbG9ncyB0byBzZW50cnlcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGZvcndhcmRFcnJvcnM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoZSBGaWxlc3RhY2sgY2xpZW50LCB0aGUgZW50cnkgcG9pbnQgZm9yIGFsbCBwdWJsaWMgbWV0aG9kcy4gRW5jYXBzdWxhdGVzIHNlc3Npb24gaW5mb3JtYXRpb24uXG4gKlxuICogIyMjIEV4YW1wbGVcbiAqIGBgYGpzXG4gKiAvLyBFUyBtb2R1bGVcbiAqIGltcG9ydCAqIGFzIGZpbGVzdGFjayBmcm9tICdmaWxlc3RhY2stanMnO1xuICogY29uc3QgY2xpZW50ID0gZmlsZXN0YWNrLmluaXQoJ2FwaWtleScpO1xuICogYGBgXG4gKlxuICogYGBganNcbiAqIC8vIFVNRCBtb2R1bGUgaW4gYnJvd3NlclxuICogPHNjcmlwdCBzcmM9XCJodHRwczovL3N0YXRpYy5maWxlc3RhY2thcGkuY29tL2ZpbGVzdGFjay1qcy8zLngueC9maWxlc3RhY2subWluLmpzXCI+PC9zY3JpcHQ+XG4gKiBjb25zdCBjbGllbnQgPSBmaWxlc3RhY2suaW5pdCgnYXBpa2V5Jyk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIENsaWVudCBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG4gIHB1YmxpYyBzZXNzaW9uOiBTZXNzaW9uO1xuICBwcml2YXRlIGNsb3VkOiBDbG91ZENsaWVudDtcbiAgcHJpdmF0ZSBwcmVmZXRjaEluc3RhbmNlOiBQcmVmZXRjaDtcblxuICBwcml2YXRlIGZvcndhcmRFcnJvcnM6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGZpbGVzdGFjayB1dGlsc1xuICAgKlxuICAgKiBAcmVhZG9ubHlcbiAgICogQG1lbWJlcm9mIENsaWVudFxuICAgKi9cbiAgZ2V0IHV0aWxzKCkge1xuICAgIHJldHVybiBVdGlscztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGFwaWtleTogc3RyaW5nLCBwcml2YXRlIG9wdGlvbnM/OiBDbGllbnRPcHRpb25zKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuZm9yd2FyZEVycm9ycykge1xuICAgICAgdGhpcy5mb3J3YXJkRXJyb3JzID0gb3B0aW9ucy5mb3J3YXJkRXJyb3JzO1xuICAgIH1cblxuICAgIGlmICghYXBpa2V5IHx8IHR5cGVvZiBhcGlrZXkgIT09ICdzdHJpbmcnIHx8IGFwaWtleS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQW4gYXBpa2V5IGlzIHJlcXVpcmVkIHRvIGluaXRpYWxpemUgdGhlIEZpbGVzdGFjayBjbGllbnQnKTtcbiAgICB9XG4gICAgY29uc3QgeyB1cmxzIH0gPSBjb25maWc7XG4gICAgdGhpcy5zZXNzaW9uID0geyBhcGlrZXksIHVybHMgfTtcblxuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICBjb25zdCB7IGNuYW1lLCBzZWN1cml0eSB9ID0gb3B0aW9ucztcblxuICAgICAgdGhpcy5zZXRTZWN1cml0eShzZWN1cml0eSk7XG4gICAgICB0aGlzLnNldENuYW1lKGNuYW1lKTtcbiAgICB9XG5cbiAgICB0aGlzLnByZWZldGNoSW5zdGFuY2UgPSBuZXcgUHJlZmV0Y2godGhpcy5zZXNzaW9uKTtcbiAgICB0aGlzLmNsb3VkID0gbmV3IENsb3VkQ2xpZW50KHRoaXMuc2Vzc2lvbiwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogTWFrZSBiYXNpYyBwcmVmZXRjaCByZXF1ZXN0IHRvIGNoZWNrIHBlcm1pc3Npb25zXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICovXG4gIHByZWZldGNoKHBhcmFtczogUHJlZmV0Y2hPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucHJlZmV0Y2hJbnN0YW5jZS5nZXRDb25maWcocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgc2VjdXJpdHkgb2JqZWN0XG4gICAqXG4gICAqIEBwYXJhbSB7U2VjdXJpdHl9IHNlY3VyaXR5XG4gICAqIEBtZW1iZXJvZiBDbGllbnRcbiAgICovXG4gIHNldFNlY3VyaXR5KHNlY3VyaXR5OiBTZWN1cml0eSkge1xuICAgIGlmIChzZWN1cml0eSAmJiAhKHNlY3VyaXR5LnBvbGljeSAmJiBzZWN1cml0eS5zaWduYXR1cmUpKSB7XG4gICAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoJ0JvdGggcG9saWN5IGFuZCBzaWduYXR1cmUgYXJlIHJlcXVpcmVkIGZvciBjbGllbnQgc2VjdXJpdHknKTtcbiAgICB9XG5cbiAgICBpZiAoc2VjdXJpdHkgJiYgc2VjdXJpdHkucG9saWN5ICYmIHNlY3VyaXR5LnNpZ25hdHVyZSkge1xuICAgICAgdGhpcy5zZXNzaW9uLnBvbGljeSA9IHNlY3VyaXR5LnBvbGljeTtcbiAgICAgIHRoaXMuc2Vzc2lvbi5zaWduYXR1cmUgPSBzZWN1cml0eS5zaWduYXR1cmU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCBjdXN0b20gY25hbWVcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNuYW1lXG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBDbGllbnRcbiAgICovXG4gIHNldENuYW1lKGNuYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoIWNuYW1lIHx8IGNuYW1lLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2Vzc2lvbi5jbmFtZSA9IGNuYW1lO1xuICAgIHRoaXMuc2Vzc2lvbi51cmxzID0gVXRpbHMucmVzb2x2ZUhvc3QodGhpcy5zZXNzaW9uLnVybHMsIGNuYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhciBhbGwgY3VycmVudCBjbG91ZCBzZXNzaW9ucyBpbiB0aGUgcGlja2VyLlxuICAgKiBPcHRpb25hbGx5IHBhc3MgYSBjbG91ZCBzb3VyY2UgbmFtZSB0byBvbmx5IGxvZyBvdXQgb2YgdGhhdCBjbG91ZCBzb3VyY2UuXG4gICAqIFRoaXMgZXNzZW50aWFsbHkgY2xlYXJzIHRoZSBPQXV0aCBhdXRob3JpemF0aW9uIGNvZGVzIGZyb20gdGhlIEZpbGVzdGFjayBzZXNzaW9uLlxuICAgKiBAcGFyYW0gbmFtZSBPcHRpb25hbCBjbG91ZCBzb3VyY2UgbmFtZS5cbiAgICovXG4gIGxvZ291dChuYW1lPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xvdWQubG9nb3V0KG5hbWUpO1xuICB9XG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBkZXRhaWxlZCBkYXRhIG9mIHN0b3JlZCBmaWxlcy5cbiAgICpcbiAgICogIyMjIEV4YW1wbGVcbiAgICpcbiAgICogYGBganNcbiAgICogY2xpZW50XG4gICAqICAgLm1ldGFkYXRhKCdEQ0w1SzQ2RlMzT0l4YjVpdUtieScpXG4gICAqICAgLnRoZW4oKHJlcykgPT4ge1xuICAgKiAgICAgY29uc29sZS5sb2cocmVzKTtcbiAgICogICB9KVxuICAgKiAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAqICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgKiAgIH0pKTtcbiAgICogYGBgXG4gICAqIEBzZWUgW0ZpbGUgQVBJIC0gTWV0YWRhdGFdKGh0dHBzOi8vd3d3LmZpbGVzdGFjay5jb20vZG9jcy9hcGkvZmlsZSNtZXRhZGF0YSkuXG4gICAqIEBwYXJhbSBoYW5kbGUgVmFsaWQgRmlsZXN0YWNrIGhhbmRsZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgTWV0YWRhdGEgZmllbGRzIHRvIGVuYWJsZSBvbiByZXNwb25zZS5cbiAgICogQHBhcmFtIHNlY3VyaXR5IE9wdGlvbmFsIHNlY3VyaXR5IG92ZXJyaWRlLlxuICAgKi9cbiAgbWV0YWRhdGEoaGFuZGxlOiBzdHJpbmcsIG9wdGlvbnM/OiBNZXRhZGF0YU9wdGlvbnMsIHNlY3VyaXR5PzogU2VjdXJpdHkpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiBtZXRhZGF0YSh0aGlzLnNlc3Npb24sIGhhbmRsZSwgb3B0aW9ucywgc2VjdXJpdHkpO1xuICB9XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgYSBuZXcgcGlja2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcGlja2VyKG9wdGlvbnM/OiBQaWNrZXJPcHRpb25zKTogUGlja2VySW5zdGFuY2Uge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHBpY2tlcih0aGlzLCBvcHRpb25zKTtcbiAgfVxuICAvKipcbiAgICogVXNlZCBmb3Igdmlld2luZyBmaWxlcyB2aWEgRmlsZXN0YWNrIGhhbmRsZXMgb3Igc3RvcmFnZSBhbGlhc2VzLCBfX3JlcXVpcmVzIERvY3VtZW50IFZpZXdlciBhZGRvbiB0byB5b3VyIEZpbGVzdGFjayBhcHBsaWNhdGlvbl9fLlxuICAgKiBPcGVucyBkb2N1bWVudCB2aWV3ZXIgaW4gbmV3IHdpbmRvdyBpZiBpZCBvcHRpb24gaXMgbm90IHByb3ZpZGVkLlxuICAgKlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiAvLyA8ZGl2IGlkPVwicHJldmlld1wiPjwvZGl2PlxuICAgKlxuICAgKiBjbGllbnQucHJldmlldygnRENMNUs0NkZTM09JeGI1aXVLYnknLCB7IGlkOiAncHJldmlldycgfSk7XG4gICAqIGBgYFxuICAgKiBAcGFyYW0gaGFuZGxlIFZhbGlkIEZpbGVzdGFjayBoYW5kbGUuXG4gICAqIEBwYXJhbSBvcHRpb25zIFByZXZpZXcgb3B0aW9uc1xuICAgKi9cbiAgcHJldmlldyhoYW5kbGU6IHN0cmluZywgb3B0aW9ucz86IFByZXZpZXdPcHRpb25zKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gcHJldmlldyh0aGlzLnNlc3Npb24sIGhhbmRsZSwgb3B0aW9ucyk7XG4gIH1cbiAgLyoqXG4gICAqIFJlbW92ZSBhIGZpbGUgZnJvbSBzdG9yYWdlIGFuZCB0aGUgRmlsZXN0YWNrIHN5c3RlbS5cbiAgICpcbiAgICogX19SZXF1aXJlcyBhIHZhbGlkIHNlY3VyaXR5IHBvbGljeSBhbmQgc2lnbmF0dXJlX18uIFRoZSBwb2xpY3kgYW5kIHNpZ25hdHVyZSB3aWxsIGJlIHB1bGxlZCBmcm9tIHRoZSBjbGllbnQgc2Vzc2lvbiwgb3IgaXQgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCB0aGUgc2VjdXJpdHkgcGFyYW1ldGVyLlxuICAgKlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBjbGllbnRcbiAgICogICAucmVtb3ZlKCdEQ0w1SzQ2RlMzT0l4YjVpdUtieScpXG4gICAqICAgLnRoZW4oKHJlcykgPT4ge1xuICAgKiAgICAgY29uc29sZS5sb2cocmVzKTtcbiAgICogICB9KVxuICAgKiAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAqICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgKiAgIH0pKTtcbiAgICogYGBgXG4gICAqIEBzZWUgW0ZpbGUgQVBJIC0gRGVsZXRlXShodHRwczovL3d3dy5maWxlc3RhY2suY29tL2RvY3MvYXBpL2ZpbGUjZGVsZXRlKVxuICAgKiBAcGFyYW0gaGFuZGxlIFZhbGlkIEZpbGVzdGFjayBoYW5kbGUuXG4gICAqIEBwYXJhbSBzZWN1cml0eSBPcHRpb25hbCBzZWN1cml0eSBvdmVycmlkZS5cbiAgICovXG4gIHJlbW92ZShoYW5kbGU6IHN0cmluZywgc2VjdXJpdHk/OiBTZWN1cml0eSk6IFByb21pc2U8YW55PiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gcmVtb3ZlKHRoaXMuc2Vzc2lvbiwgaGFuZGxlLCBmYWxzZSwgc2VjdXJpdHkpO1xuICB9XG4gIC8qKlxuICAgKiBSZW1vdmUgYSBmaWxlICoqb25seSoqIGZyb20gdGhlIEZpbGVzdGFjayBzeXN0ZW0uIFRoZSBmaWxlIHJlbWFpbnMgaW4gc3RvcmFnZS5cbiAgICpcbiAgICogX19SZXF1aXJlcyBhIHZhbGlkIHNlY3VyaXR5IHBvbGljeSBhbmQgc2lnbmF0dXJlX18uIFRoZSBwb2xpY3kgYW5kIHNpZ25hdHVyZSB3aWxsIGJlIHB1bGxlZCBmcm9tIHRoZSBjbGllbnQgc2Vzc2lvbiwgb3IgaXQgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCB0aGUgc2VjdXJpdHkgcGFyYW1ldGVyLlxuICAgKlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBjbGllbnRcbiAgICogICAucmVtb3ZlTWV0YWRhdGEoJ0RDTDVLNDZGUzNPSXhiNWl1S2J5JylcbiAgICogICAudGhlbigocmVzKSA9PiB7XG4gICAqICAgICBjb25zb2xlLmxvZyhyZXMpO1xuICAgKiAgIH0pXG4gICAqICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICogICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAqICAgfSkpO1xuICAgKiBgYGBcbiAgICogQHNlZSBbRmlsZSBBUEkgLSBEZWxldGVdKGh0dHBzOi8vd3d3LmZpbGVzdGFjay5jb20vZG9jcy9hcGkvZmlsZSNkZWxldGUpXG4gICAqIEBwYXJhbSBoYW5kbGUgVmFsaWQgRmlsZXN0YWNrIGhhbmRsZS5cbiAgICogQHBhcmFtIHNlY3VyaXR5IE9wdGlvbmFsIHNlY3VyaXR5IG92ZXJyaWRlLlxuICAgKi9cbiAgcmVtb3ZlTWV0YWRhdGEoaGFuZGxlOiBzdHJpbmcsIHNlY3VyaXR5PzogU2VjdXJpdHkpOiBQcm9taXNlPGFueT4ge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHJlbW92ZSh0aGlzLnNlc3Npb24sIGhhbmRsZSwgdHJ1ZSwgc2VjdXJpdHkpO1xuICB9XG4gIC8qKlxuICAgKiBTdG9yZSBhIGZpbGUgZnJvbSBpdHMgVVJMLlxuICAgKlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBjbGllbnRcbiAgICogICAuc3RvcmVVUkwoJ2h0dHBzOi8vZDF3dHFhZmZhYWo2M3ouY2xvdWRmcm9udC5uZXQvaW1hZ2VzL05ZXzE5OV9FX29mX0hhbW1lcnRvd25fMjAxNC5qcGcnKVxuICAgKiAgIC50aGVuKHJlcyA9PiBjb25zb2xlLmxvZyhyZXMpKTtcbiAgICogYGBgXG4gICAqIEBzZWUgW0ZpbGUgQVBJIC0gU3RvcmVdKGh0dHBzOi8vd3d3LmZpbGVzdGFjay5jb20vZG9jcy9hcGkvZmlsZSNzdG9yZSlcbiAgICogQHBhcmFtIHVybCAgICAgICBWYWxpZCBVUkwgdG8gYSBmaWxlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAgIENvbmZpZ3VyZSBmaWxlIHN0b3JhZ2UuXG4gICAqIEBwYXJhbSB0b2tlbiAgICAgT3B0aW9uYWwgY29udHJvbCB0b2tlbiB0byBjYWxsIC5jYW5jZWwoKVxuICAgKiBAcGFyYW0gc2VjdXJpdHkgIE9wdGlvbmFsIHNlY3VyaXR5IG92ZXJyaWRlLlxuICAgKiBAcGFyYW0gdXBsb2FkVGFncyBPcHRpb25hbCB0YWdzIHZpc2libGUgaW4gd2ViaG9va3MuXG4gICAqIEBwYXJhbSBoZWFkZXJzICAgIE9wdGlvbmFsIGhlYWRlcnMgdG8gc2VuZFxuICAgKiBAcGFyYW0gd29ya2Zsb3dJZHMgICAgT3B0aW9uYWwgd29ya2Zsb3dJZHMgdG8gc2VuZFxuICAgKi9cbiAgc3RvcmVVUkwodXJsOiBzdHJpbmcsIHN0b3JlUGFyYW1zPzogU3RvcmVQYXJhbXMsIHRva2VuPzogYW55LCBzZWN1cml0eT86IFNlY3VyaXR5LCB1cGxvYWRUYWdzPzogVXBsb2FkVGFncywgaGVhZGVycz86IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9LCB3b3JrZmxvd0lkcz86IHN0cmluZ1tdKTogUHJvbWlzZTxPYmplY3Q+IHtcbiAgICByZXR1cm4gc3RvcmVVUkwoe1xuICAgICAgc2Vzc2lvbjogdGhpcy5zZXNzaW9uLFxuICAgICAgdXJsLFxuICAgICAgc3RvcmVQYXJhbXMsXG4gICAgICB0b2tlbixcbiAgICAgIHNlY3VyaXR5LFxuICAgICAgdXBsb2FkVGFncyxcbiAgICAgIGhlYWRlcnMsXG4gICAgICB3b3JrZmxvd0lkcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY2Nlc3MgZmlsZXMgdmlhIHRoZWlyIEZpbGVzdGFjayBoYW5kbGVzLlxuICAgKlxuICAgKiBJZiBoZWFkIG9wdGlvbiBpcyBwcm92aWRlZCAtIHJlcXVlc3QgaGVhZGVycyBhcmUgcmV0dXJuZWQgaW4gcHJvbWlzZVxuICAgKiBJZiBtZXRhZGF0YSBvcHRpb24gaXMgcHJvdmlkZWQgLSBtZXRhZGF0YSBvYmplY3QgaXMgcmV0dXJuZWQgaW4gcHJvbWlzZVxuICAgKiBPdGhlcndpc2UgZmlsZSBibG9iIGlzIHJldHVybmVkXG4gICAqIE1ldGFkYXRhIGFuZCBoZWFkIG9wdGlvbnMgY2Fubm90IGJlIG1peGVkXG4gICAqXG4gICAqICMjIyBFeGFtcGxlXG4gICAqXG4gICAqIGBgYGpzXG4gICAqIGNsaWVudC5yZXRyaWV2ZSgnZmlsZUhhbmRsZScsIHtcbiAgICogIG1ldGFkYXRhOiB0cnVlLFxuICAgKiB9KS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgKiAgY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgKiB9KS5jYXRjaCgoZXJyKSA9PiB7XG4gICAqICBjb25zb2xlLmVycm9yKGVycik7XG4gICAqIH0pXG4gICAqIGBgYFxuICAgKlxuICAgKiBAc2VlIFtGaWxlIEFQSSAtIERvd25sb2FkXShodHRwczovL3d3dy5maWxlc3RhY2suY29tL2RvY3MvYXBpL2ZpbGUjZG93bmxvYWQpXG4gICAqIEBkZXByZWNhdGVkIHVzZSBtZXRhZGF0YSBvciBkb3dubG9hZCBtZXRob2RzIGluc3RlYWRcbiAgICogQHBhcmFtIGhhbmRsZSAgICBWYWxpZCBmaWxlIGhhbmRsZVxuICAgKiBAcGFyYW0gb3B0aW9ucyAgIFJldHJpZXZlT3B0aW9uc1xuICAgKiBAcGFyYW0gc2VjdXJpdHkgIE9wdGlvbmFsIHNlY3VyaXR5IG92ZXJyaWRlLlxuICAgKiBAdGhyb3dzICAgICAgICAgIEVycm9yXG4gICAqL1xuICByZXRyaWV2ZShoYW5kbGU6IHN0cmluZywgb3B0aW9ucz86IFJldHJpZXZlT3B0aW9ucywgc2VjdXJpdHk/OiBTZWN1cml0eSk6IFByb21pc2U8T2JqZWN0IHwgQmxvYj4ge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHJldHJpZXZlKHRoaXMuc2Vzc2lvbiwgaGFuZGxlLCBvcHRpb25zLCBzZWN1cml0eSk7XG4gIH1cblxuICAvKipcbiAgICogRG93bmxvYWQgZmlsZSBieSBoYW5kbGVcbiAgICpcbiAgICpcbiAgICogIyMjIEJyb3dzZXIgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBjbGllbnQuZG93bmxvYWQoJ2ZpbGVIYW5kbGUnKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgKiBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcbiAgICogaW1nLnNyYyA9IFVSTC5jcmVhdGVPYmplY3RVUkwocmVzLmRhdGEpXG4gICAqIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW1nKTtcbiAgICogfSkuY2F0Y2goKGVycikgPT4ge1xuICAgKiAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgKiB9KVxuICAgKiBgYGBcbiAgICpcbiAgICogQHNlZSBbRmlsZSBBUEkgLSBEb3dubG9hZF0oaHR0cHM6Ly93d3cuZmlsZXN0YWNrLmNvbS9kb2NzL2FwaS9maWxlI2Rvd25sb2FkKVxuICAgKiBAcGFyYW0gaGFuZGxlICAgIFZhbGlkIGZpbGUgaGFuZGxlXG4gICAqIEB0aHJvd3MgICAgICAgICAgRXJyb3JcbiAgICovXG4gIGRvd25sb2FkKGhhbmRsZTogc3RyaW5nLCBzZWN1cml0eT86IFNlY3VyaXR5KTogUHJvbWlzZTxGc1Jlc3BvbnNlPiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gZG93bmxvYWQodGhpcy5zZXNzaW9uLCBoYW5kbGUsIHNlY3VyaXR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnRlcmZhY2UgdG8gdGhlIEZpbGVzdGFjayBbUHJvY2Vzc2luZyBBUEldKGh0dHBzOi8vd3d3LmZpbGVzdGFjay5jb20vZG9jcy9hcGkvcHJvY2Vzc2luZykuXG4gICAqIENvbnZlcnQgYSBVUkwsIGhhbmRsZSwgb3Igc3RvcmFnZSBhbGlhcyB0byBhbm90aGVyIFVSTCB3aGljaCBsaW5rcyB0byB0aGUgdHJhbnNmb3JtZWQgZmlsZS5cbiAgICogWW91IGNhbiBvcHRpb25hbGx5IHN0b3JlIHRoZSByZXR1cm5lZCBVUkwgd2l0aCBjbGllbnQuc3RvcmVVUkwuXG4gICAqXG4gICAqIFRyYW5zZm9ybSBwYXJhbXMgY2FuIGJlIHByb3ZpZGVkIGluIGNhbWVsQ2FzZSBvciBzbmFrZUNhc2Ugc3R5bGUgaWU6IHBhcnRpYWxfcGl4ZWxhdGUgb3IgcGFydGlhbFBpeGVsYXRlXG4gICAqXG4gICAqICMjIyBFeGFtcGxlXG4gICAqXG4gICAqIGBgYGpzXG4gICAqIGNvbnN0IHRyYW5zZm9ybWVkVXJsID0gY2xpZW50LnRyYW5zZm9ybSh1cmwsIHtcbiAgICogICBjcm9wOiB7XG4gICAqICAgICBkaW06IFt4LCB5LCB3aWR0aCwgaGVpZ2h0XSxcbiAgICogICB9LFxuICAgKiAgIHZpZ25ldHRlOiB7XG4gICAqICAgICBibHVybW9kZTogJ2dhdXNzaWFuJyxcbiAgICogICAgIGFtb3VudDogNTAsXG4gICAqICAgfSxcbiAgICogICBmbGlwOiB0cnVlLFxuICAgKiAgIHBhcnRpYWxfcGl4ZWxhdGU6IHtcbiAgICogICAgIG9iamVjdHM6IFtbMTAsIDIwLCAyMDAsIDI1MF0sIFsyNzUsIDkxLCA1MDAsIDU1N11dLFxuICAgKiAgIH0sXG4gICAqIH07XG4gICAqXG4gICAqIC8vIG9wdGlvbmFsbHkgc3RvcmUgdGhlIG5ldyBVUkxcbiAgICogY2xpZW50LnN0b3JlVVJMKHRyYW5zZm9ybWVkVXJsKS50aGVuKHJlcyA9PiBjb25zb2xlLmxvZyhyZXMpKTtcbiAgICogYGBgXG4gICAqIEBzZWUgW0ZpbGVzdGFjayBQcm9jZXNzaW5nIEFQSV0oaHR0cHM6Ly93d3cuZmlsZXN0YWNrLmNvbS9kb2NzL2FwaS9wcm9jZXNzaW5nKVxuICAgKiBAcGFyYW0gdXJsICAgICBTaW5nbGUgb3IgbXVsdGlwbGUgdmFsaWQgVVJMcyAoaHR0cChzKTovLyksIGZpbGUgaGFuZGxlcywgb3Igc3RvcmFnZSBhbGlhc2VzIChzcmM6Ly8pIHRvIGFuIGltYWdlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHNwZWNpZmllZCBieSB0aGlzIG9iamVjdC5cbiAgICogQHBhcmFtIGI2NCAgICAgVXNlIG5ldyBtb3JlIHNhZmUgZm9ybWF0IGZvciBnZW5lcmF0aW5nIHRyYW5zZm9ybXMgdXJsIChkZWZhdWx0PWZhbHNlKSBOb3RlOiBJZiB0aGVyZSB3aWxsIGJlIGFueSBpc3N1ZXMgd2l0aCB1cmwgcGxlYXNlIHRlc3QgaXQgd2l0aCBlbmFibGVkIGI2NCBzdXBwb3J0XG4gICAqIEByZXR1cm5zICAgICAgIEEgbmV3IFVSTCB0aGF0IHBvaW50cyB0byB0aGUgdHJhbnNmb3JtZWQgcmVzb3VyY2UuXG4gICAqL1xuICB0cmFuc2Zvcm0odXJsOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3B0aW9uczogVHJhbnNmb3JtT3B0aW9ucywgYjY0OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiB0cmFuc2Zvcm0odGhpcy5zZXNzaW9uLCB1cmwsIG9wdGlvbnMsIGI2NCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhdGVzIGEgbXVsdGktcGFydCB1cGxvYWQgZmxvdy4gVXNlIHRoaXMgZm9yIEZpbGVzdGFjayBDSU4gYW5kIEZJSSB1cGxvYWRzLlxuICAgKlxuICAgKiBJbiBOb2RlIHJ1bnRpbWVzIHRoZSBmaWxlIGFyZ3VtZW50IGlzIHRyZWF0ZWQgYXMgYSBmaWxlIHBhdGguXG4gICAqIFVwbG9hZGluZyBmcm9tIGEgTm9kZSBidWZmZXIgaXMgbm90IHlldCBpbXBsZW1lbnRlZC5cbiAgICpcbiAgICogIyMjIEV4YW1wbGVcbiAgICpcbiAgICogYGBganNcbiAgICogY29uc3QgdG9rZW4gPSB7fTtcbiAgICogY29uc3Qgb25SZXRyeSA9IChvYmopID0+IHtcbiAgICogICBjb25zb2xlLmxvZyhgUmV0cnlpbmcgJHtvYmoubG9jYXRpb259IGZvciAke29iai5maWxlbmFtZX0uIEF0dGVtcHQgJHtvYmouYXR0ZW1wdH0gb2YgMTAuYCk7XG4gICAqIH07XG4gICAqXG4gICAqIGNsaWVudC51cGxvYWQoZmlsZSwgeyBvblJldHJ5IH0sIHsgZmlsZW5hbWU6ICdmb29iYXIuanBnJyB9LCB0b2tlbilcbiAgICogICAudGhlbihyZXMgPT4gY29uc29sZS5sb2cocmVzKSk7XG4gICAqXG4gICAqIGNsaWVudC51cGxvYWQoe2ZpbGUsIG5hbWV9LCB7IG9uUmV0cnkgfSwgeyBmaWxlbmFtZTogJ2Zvb2Jhci5qcGcnIH0sIHRva2VuKVxuICAgKiAgIC50aGVuKHJlcyA9PiBjb25zb2xlLmxvZyhyZXMpKTtcbiAgICpcbiAgICogdG9rZW4ucGF1c2UoKTsgIC8vIFBhdXNlIGZsb3dcbiAgICogdG9rZW4ucmVzdW1lKCk7IC8vIFJlc3VtZSBmbG93XG4gICAqIHRva2VuLmNhbmNlbCgpOyAvLyBDYW5jZWwgZmxvdyAocmVqZWN0cylcbiAgICogYGBgXG4gICAqIEBwYXJhbSB7SW5wdXRGaWxlfSAgICBmaWxlICAgICAgICAgICBNdXN0IGJlIGEgdmFsaWQgW0ZpbGUgfCBCbG9iIHwgQnVmZmVyIHwgc3RyaW5nXVxuICAgKiBAcGFyYW0gdXBsb2FkT3B0aW9ucyAgVXBsb2FkZXIgb3B0aW9ucy5cbiAgICogQHBhcmFtIHN0b3JlT3B0aW9ucyAgIFN0b3JhZ2Ugb3B0aW9ucy5cbiAgICogQHBhcmFtIHRva2VuICAgICAgICAgIEEgY29udHJvbCB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIGNhbGwgY2FuY2VsKCksIHBhdXNlKCksIGFuZCByZXN1bWUoKS5cbiAgICogQHBhcmFtIHNlY3VyaXR5ICAgICAgIE9wdGlvbmFsIHNlY3VyaXR5IHBvbGljeSBhbmQgc2lnbmF0dXJlIG92ZXJyaWRlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZX1cbiAgICovXG4gIHVwbG9hZChmaWxlOiBJbnB1dEZpbGUsIG9wdGlvbnM/OiBVcGxvYWRPcHRpb25zLCBzdG9yZU9wdGlvbnM/OiBTdG9yZVVwbG9hZE9wdGlvbnMsIHRva2VuPzogYW55LCBzZWN1cml0eT86IFNlY3VyaXR5KSB7XG4gICAgbGV0IHVwbG9hZCA9IG5ldyBVcGxvYWQob3B0aW9ucywgc3RvcmVPcHRpb25zKTtcbiAgICB1cGxvYWQuc2V0U2Vzc2lvbih0aGlzLnNlc3Npb24pO1xuXG4gICAgaWYgKHRva2VuKSB7XG4gICAgICB1cGxvYWQuc2V0VG9rZW4odG9rZW4pO1xuICAgIH1cblxuICAgIGlmIChzZWN1cml0eSkge1xuICAgICAgdXBsb2FkLnNldFNlY3VyaXR5KHNlY3VyaXR5KTtcbiAgICB9XG5cbiAgICB1cGxvYWQub24oJ3N0YXJ0JywgKCkgPT4gdGhpcy5lbWl0KCd1cGxvYWQuc3RhcnQnKSk7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB1cGxvYWQub24oJ2Vycm9yJywgZSA9PiB7XG4gICAgICBpZiAodGhpcy5mb3J3YXJkRXJyb3JzKSB7XG4gICAgICAgIFNlbnRyeS53aXRoU2NvcGUoc2NvcGUgPT4ge1xuICAgICAgICAgIHNjb3BlLnNldFRhZygnZmlsZXN0YWNrLWFwaWtleScsIHRoaXMuc2Vzc2lvbi5hcGlrZXkpO1xuICAgICAgICAgIHNjb3BlLnNldFRhZygnZmlsZXN0YWNrLXZlcnNpb24nLCBVdGlscy5nZXRWZXJzaW9uKCkpO1xuICAgICAgICAgIHNjb3BlLnNldEV4dHJhKCdmaWxlc3RhY2stb3B0aW9ucycsIHRoaXMub3B0aW9ucyk7XG4gICAgICAgICAgc2NvcGUuc2V0RXh0cmFzKHsgdXBsb2FkT3B0aW9uczogb3B0aW9ucywgc3RvcmVPcHRpb25zLCBkZXRhaWxzOiBlLmRldGFpbHMgfSk7XG4gICAgICAgICAgZS5tZXNzYWdlID0gYEZTLSR7ZS5tZXNzYWdlfWA7XG5cbiAgICAgICAgICBTZW50cnkuY2FwdHVyZUV4Y2VwdGlvbihlKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZW1pdCgndXBsb2FkLmVycm9yJywgZSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdXBsb2FkLnVwbG9hZChmaWxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWF0ZXMgYSBtdWx0aS1wYXJ0IHVwbG9hZCBmbG93LiBVc2UgdGhpcyBmb3IgRmlsZXN0YWNrIENJTiBhbmQgRklJIHVwbG9hZHMuXG4gICAqXG4gICAqIEluIE5vZGUgcnVudGltZXMgdGhlIGZpbGUgYXJndW1lbnQgaXMgdHJlYXRlZCBhcyBhIGZpbGUgcGF0aC5cbiAgICogVXBsb2FkaW5nIGZyb20gYSBOb2RlIGJ1ZmZlciBpcyBub3QgeWV0IGltcGxlbWVudGVkLlxuICAgKlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBjb25zdCB0b2tlbiA9IHt9O1xuICAgKiBjb25zdCBvblJldHJ5ID0gKG9iaikgPT4ge1xuICAgKiAgIGNvbnNvbGUubG9nKGBSZXRyeWluZyAke29iai5sb2NhdGlvbn0gZm9yICR7b2JqLmZpbGVuYW1lfS4gQXR0ZW1wdCAke29iai5hdHRlbXB0fSBvZiAxMC5gKTtcbiAgICogfTtcbiAgICpcbiAgICogY2xpZW50Lm11bHRpdXBsb2FkKFtmaWxlXSwgeyBvblJldHJ5IH0sIHRva2VuKVxuICAgKiAgIC50aGVuKHJlcyA9PiBjb25zb2xlLmxvZyhyZXMpKTtcbiAgICpcbiAgICogY2xpZW50Lm11bHRpdXBsb2FkKFt7ZmlsZSwgbmFtZX1dLCB7IG9uUmV0cnkgfSwgdG9rZW4pXG4gICAqICAgLnRoZW4ocmVzID0+IGNvbnNvbGUubG9nKHJlcykpO1xuICAgKlxuICAgKiB0b2tlbi5wYXVzZSgpOyAgLy8gUGF1c2UgZmxvd1xuICAgKiB0b2tlbi5yZXN1bWUoKTsgLy8gUmVzdW1lIGZsb3dcbiAgICogdG9rZW4uY2FuY2VsKCk7IC8vIENhbmNlbCBmbG93IChyZWplY3RzKVxuICAgKiBgYGBcbiAgICogQHBhcmFtIHtJbnB1dEZpbGVbXX0gIGZpbGUgICAgICAgICAgIE11c3QgYmUgYSB2YWxpZCBbRmlsZSB8IEJsb2IgfCBCdWZmZXIgfCBzdHJpbmcgKGJhc2U2NCldXG4gICAqIEBwYXJhbSB1cGxvYWRPcHRpb25zICBVcGxvYWQgb3B0aW9ucy5cbiAgICogQHBhcmFtIHN0b3JlT3B0aW9ucyAgIFN0b3JhZ2Ugb3B0aW9ucy5cbiAgICogQHBhcmFtIHRva2VuICAgICAgICAgIEEgY29udHJvbCB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIGNhbGwgY2FuY2VsKCksIHBhdXNlKCksIGFuZCByZXN1bWUoKS5cbiAgICogQHBhcmFtIHNlY3VyaXR5ICAgICAgIE9wdGlvbmFsIHNlY3VyaXR5IHBvbGljeSBhbmQgc2lnbmF0dXJlIG92ZXJyaWRlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZX1cbiAgICovXG4gIG11bHRpdXBsb2FkKGZpbGU6IElucHV0RmlsZVtdLCBvcHRpb25zPzogVXBsb2FkT3B0aW9ucywgc3RvcmVPcHRpb25zPzogU3RvcmVVcGxvYWRPcHRpb25zLCB0b2tlbj86IGFueSwgc2VjdXJpdHk/OiBTZWN1cml0eSkge1xuICAgIGxldCB1cGxvYWQgPSBuZXcgVXBsb2FkKG9wdGlvbnMsIHN0b3JlT3B0aW9ucyk7XG5cbiAgICB1cGxvYWQuc2V0U2Vzc2lvbih0aGlzLnNlc3Npb24pO1xuXG4gICAgaWYgKHRva2VuKSB7XG4gICAgICB1cGxvYWQuc2V0VG9rZW4odG9rZW4pO1xuICAgIH1cblxuICAgIGlmIChzZWN1cml0eSkge1xuICAgICAgdXBsb2FkLnNldFNlY3VyaXR5KHNlY3VyaXR5KTtcbiAgICB9XG5cbiAgICB1cGxvYWQub24oJ3N0YXJ0JywgKCkgPT4gdGhpcy5lbWl0KCd1cGxvYWQuc3RhcnQnKSk7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB1cGxvYWQub24oJ2Vycm9yJywgZSA9PiB7XG4gICAgICBTZW50cnkud2l0aFNjb3BlKHNjb3BlID0+IHtcbiAgICAgICAgc2NvcGUuc2V0VGFnKCdmaWxlc3RhY2stYXBpa2V5JywgdGhpcy5zZXNzaW9uLmFwaWtleSk7XG4gICAgICAgIHNjb3BlLnNldFRhZygnZmlsZXN0YWNrLXZlcnNpb24nLCBVdGlscy5nZXRWZXJzaW9uKCkpO1xuICAgICAgICBzY29wZS5zZXRFeHRyYSgnZmlsZXN0YWNrLW9wdGlvbnMnLCB0aGlzLm9wdGlvbnMpO1xuICAgICAgICBzY29wZS5zZXRFeHRyYXMoZS5kZXRhaWxzKTtcbiAgICAgICAgc2NvcGUuc2V0RXh0cmFzKHsgdXBsb2FkT3B0aW9uczogb3B0aW9ucywgc3RvcmVPcHRpb25zIH0pO1xuICAgICAgICBTZW50cnkuY2FwdHVyZUV4Y2VwdGlvbihlKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmVtaXQoJ3VwbG9hZC5lcnJvcicsIGUpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHVwbG9hZC5tdWx0aXVwbG9hZChmaWxlKTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7Ozs7QUFFSCwrQ0FBNkM7QUFDN0MsOERBQTBDO0FBQzFDLG9DQUEwQztBQUMxQyx3REFBc0Q7QUFDdEQsbUNBQW9HO0FBQ3BHLDZDQUE4RDtBQUM5RCxxQ0FBdUM7QUFDdkMscURBQWlDO0FBQ2pDLHVDQUFnRztBQUNoRyx5Q0FBd0Q7QUFDeEQscUNBQTBDO0FBQzFDLDJDQUE2RTtBQUk3RSxtQ0FBaUU7QUFFakUsMEJBQTBCO0FBQzFCLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxDQUFDLENBQUM7QUE2QzdFOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNIO0lBQTRCLGtDQUFZO0lBaUJ0QyxnQkFBWSxNQUFjLEVBQVUsT0FBdUI7UUFBM0QsWUFDRSxpQkFBTyxTQXNCUjtRQXZCbUMsYUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFabkQsbUJBQWEsR0FBWSxJQUFJLENBQUM7UUFlcEMsd0JBQXdCO1FBQ3hCLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUU7WUFDcEMsS0FBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1NBQzVDO1FBRUQsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDaEUsTUFBTSxJQUFJLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFDO1NBQzdFO1FBQ08sSUFBQSxJQUFJLEdBQUssZUFBTSxLQUFYLENBQVk7UUFDeEIsS0FBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLE1BQU0sUUFBQSxFQUFFLElBQUksTUFBQSxFQUFFLENBQUM7UUFFaEMsSUFBSSxPQUFPLEVBQUU7WUFDSCxJQUFBLEtBQUssR0FBZSxPQUFPLE1B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QkFBMEI7UUFDMUIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBQSxDQUFDO1lBQ2xCLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBQSxLQUFLO2dCQUNwQixLQUFLLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEtBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3RELEtBQUssQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBQ3RELEtBQUssQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsS0FBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNsRCxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDM0IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsWUFBWSxjQUFBLEVBQUUsQ0FBQyxDQUFDO2dCQUMxRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7WUFFSCxLQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ0gsYUFBQztBQUFELENBOWJBLEFBOGJDLENBOWIyQiw0QkFBWSxHQThidkM7QUE5Ylksd0JBQU0iLCJmaWxlIjoibGliL2NsaWVudC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnZXZlbnRlbWl0dGVyMyc7XG5pbXBvcnQgKiBhcyBTZW50cnkgZnJvbSAnQHNlbnRyeS9taW5pbWFsJztcbmltcG9ydCB7IGNvbmZpZywgSG9zdHMgfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHsgRmlsZXN0YWNrRXJyb3IgfSBmcm9tICcuLy4uL2ZpbGVzdGFja19lcnJvcic7XG5pbXBvcnQgeyBtZXRhZGF0YSwgTWV0YWRhdGFPcHRpb25zLCByZW1vdmUsIHJldHJpZXZlLCBSZXRyaWV2ZU9wdGlvbnMsIGRvd25sb2FkIH0gZnJvbSAnLi9hcGkvZmlsZSc7XG5pbXBvcnQgeyB0cmFuc2Zvcm0sIFRyYW5zZm9ybU9wdGlvbnMgfSBmcm9tICcuL2FwaS90cmFuc2Zvcm0nO1xuaW1wb3J0IHsgc3RvcmVVUkwgfSBmcm9tICcuL2FwaS9zdG9yZSc7XG5pbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFVwbG9hZCwgSW5wdXRGaWxlLCBVcGxvYWRPcHRpb25zLCBTdG9yZVVwbG9hZE9wdGlvbnMsIFVwbG9hZFRhZ3MgfSBmcm9tICcuL2FwaS91cGxvYWQnO1xuaW1wb3J0IHsgcHJldmlldywgUHJldmlld09wdGlvbnMgfSBmcm9tICcuL2FwaS9wcmV2aWV3JztcbmltcG9ydCB7IENsb3VkQ2xpZW50IH0gZnJvbSAnLi9hcGkvY2xvdWQnO1xuaW1wb3J0IHsgUHJlZmV0Y2gsIFByZWZldGNoUmVzcG9uc2UsIFByZWZldGNoT3B0aW9ucyB9IGZyb20gJy4vYXBpL3ByZWZldGNoJztcbmltcG9ydCB7IEZzUmVzcG9uc2UgfSBmcm9tICcuL3JlcXVlc3QvdHlwZXMnO1xuaW1wb3J0IHsgU3RvcmVQYXJhbXMgfSBmcm9tICcuL2ZpbGVsaW5rJztcblxuaW1wb3J0IHsgcGlja2VyLCBQaWNrZXJJbnN0YW5jZSwgUGlja2VyT3B0aW9ucyB9IGZyb20gJy4vcGlja2VyJztcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cblNlbnRyeS5hZGRCcmVhZGNydW1iKHsgY2F0ZWdvcnk6ICdzZGsnLCBtZXNzYWdlOiAnZmlsZXN0YWNrLWpzLXNkayBzY29wZScgfSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Vzc2lvbiB7XG4gIGFwaWtleTogc3RyaW5nO1xuICB1cmxzOiBIb3N0cztcbiAgY25hbWU/OiBzdHJpbmc7XG4gIHBvbGljeT86IHN0cmluZztcbiAgc2lnbmF0dXJlPzogc3RyaW5nO1xuICBwcmVmZXRjaD86IFByZWZldGNoUmVzcG9uc2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHkge1xuICBwb2xpY3k6IHN0cmluZztcbiAgc2lnbmF0dXJlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xpZW50T3B0aW9ucyB7XG4gIFtvcHRpb246IHN0cmluZ106IGFueTtcbiAgLyoqXG4gICAqIFNlY3VyaXR5IG9iamVjdCB3aXRoIHBvbGljeSBhbmQgc2lnbmF0dXJlIGtleXMuXG4gICAqIENhbiBiZSB1c2VkIHRvIGxpbWl0IGNsaWVudCBjYXBhYmlsaXRpZXMgYW5kIHByb3RlY3QgcHVibGljIFVSTHMuXG4gICAqIEl0IGlzIGludGVuZGVkIHRvIGJlIHVzZWQgd2l0aCBzZXJ2ZXItc2lkZSBwb2xpY3kgYW5kIHNpZ25hdHVyZSBnZW5lcmF0aW9uLlxuICAgKiBSZWFkIGFib3V0IFtzZWN1cml0eSBwb2xpY2llc10oaHR0cHM6Ly93d3cuZmlsZXN0YWNrLmNvbS9kb2NzL2NvbmNlcHRzL3NlY3VyaXR5KS5cbiAgICovXG4gIHNlY3VyaXR5PzogU2VjdXJpdHk7XG4gIC8qKlxuICAgKiBEb21haW4gdG8gdXNlIGZvciBhbGwgVVJMcy4gX19SZXF1aXJlcyB0aGUgY3VzdG9tIENOQU1FIGFkZG9uX18uXG4gICAqIElmIHRoaXMgaXMgZW5hYmxlZCB0aGVuIHlvdSBtdXN0IGFsc28gc2V0IHVwIHlvdXIgb3duIE9BdXRoIGFwcGxpY2F0aW9uc1xuICAgKiBmb3IgZWFjaCBjbG91ZCBzb3VyY2UgeW91IHdpc2ggdG8gdXNlIGluIHRoZSBwaWNrZXIuXG4gICAqL1xuICBjbmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEVuYWJsZS9kaXNhYmxlIGNhY2hpbmcgb2YgdGhlIGNsb3VkIHNlc3Npb24gdG9rZW4uIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqIFRoaXMgZW5zdXJlcyB0aGF0IHVzZXJzIHdpbGwgYmUgcmVtZW1iZXJlZCBvbiB5b3VyIGRvbWFpbiB3aGVuIGNhbGxpbmcgdGhlIGNsb3VkIEFQSSBmcm9tIHRoZSBicm93c2VyLlxuICAgKiBQbGVhc2UgYmUgYXdhcmUgdGhhdCB0b2tlbnMgc3RvcmVkIGluIGxvY2FsU3RvcmFnZSBhcmUgYWNjZXNzaWJsZSBieSBvdGhlciBzY3JpcHRzIG9uIHRoZSBzYW1lIGRvbWFpbi5cbiAgICovXG4gIHNlc3Npb25DYWNoZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBmb3J3YXJkaW5nIGVycm9yIGxvZ3MgdG8gc2VudHJ5XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBmb3J3YXJkRXJyb3JzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGUgRmlsZXN0YWNrIGNsaWVudCwgdGhlIGVudHJ5IHBvaW50IGZvciBhbGwgcHVibGljIG1ldGhvZHMuIEVuY2Fwc3VsYXRlcyBzZXNzaW9uIGluZm9ybWF0aW9uLlxuICpcbiAqICMjIyBFeGFtcGxlXG4gKiBgYGBqc1xuICogLy8gRVMgbW9kdWxlXG4gKiBpbXBvcnQgKiBhcyBmaWxlc3RhY2sgZnJvbSAnZmlsZXN0YWNrLWpzJztcbiAqIGNvbnN0IGNsaWVudCA9IGZpbGVzdGFjay5pbml0KCdhcGlrZXknKTtcbiAqIGBgYFxuICpcbiAqIGBgYGpzXG4gKiAvLyBVTUQgbW9kdWxlIGluIGJyb3dzZXJcbiAqIDxzY3JpcHQgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuZmlsZXN0YWNrYXBpLmNvbS9maWxlc3RhY2stanMvMy54LngvZmlsZXN0YWNrLm1pbi5qc1wiPjwvc2NyaXB0PlxuICogY29uc3QgY2xpZW50ID0gZmlsZXN0YWNrLmluaXQoJ2FwaWtleScpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBDbGllbnQgZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xuICBwdWJsaWMgc2Vzc2lvbjogU2Vzc2lvbjtcbiAgcHJpdmF0ZSBjbG91ZDogQ2xvdWRDbGllbnQ7XG4gIHByaXZhdGUgcHJlZmV0Y2hJbnN0YW5jZTogUHJlZmV0Y2g7XG5cbiAgcHJpdmF0ZSBmb3J3YXJkRXJyb3JzOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogUmV0dXJucyBmaWxlc3RhY2sgdXRpbHNcbiAgICpcbiAgICogQHJlYWRvbmx5XG4gICAqIEBtZW1iZXJvZiBDbGllbnRcbiAgICovXG4gIGdldCB1dGlscygpIHtcbiAgICByZXR1cm4gVXRpbHM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihhcGlrZXk6IHN0cmluZywgcHJpdmF0ZSBvcHRpb25zPzogQ2xpZW50T3B0aW9ucykge1xuICAgIHN1cGVyKCk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmZvcndhcmRFcnJvcnMpIHtcbiAgICAgIHRoaXMuZm9yd2FyZEVycm9ycyA9IG9wdGlvbnMuZm9yd2FyZEVycm9ycztcbiAgICB9XG5cbiAgICBpZiAoIWFwaWtleSB8fCB0eXBlb2YgYXBpa2V5ICE9PSAnc3RyaW5nJyB8fCBhcGlrZXkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FuIGFwaWtleSBpcyByZXF1aXJlZCB0byBpbml0aWFsaXplIHRoZSBGaWxlc3RhY2sgY2xpZW50Jyk7XG4gICAgfVxuICAgIGNvbnN0IHsgdXJscyB9ID0gY29uZmlnO1xuICAgIHRoaXMuc2Vzc2lvbiA9IHsgYXBpa2V5LCB1cmxzIH07XG5cbiAgICBpZiAob3B0aW9ucykge1xuICAgICAgY29uc3QgeyBjbmFtZSwgc2VjdXJpdHkgfSA9IG9wdGlvbnM7XG5cbiAgICAgIHRoaXMuc2V0U2VjdXJpdHkoc2VjdXJpdHkpO1xuICAgICAgdGhpcy5zZXRDbmFtZShjbmFtZSk7XG4gICAgfVxuXG4gICAgdGhpcy5wcmVmZXRjaEluc3RhbmNlID0gbmV3IFByZWZldGNoKHRoaXMuc2Vzc2lvbik7XG4gICAgdGhpcy5jbG91ZCA9IG5ldyBDbG91ZENsaWVudCh0aGlzLnNlc3Npb24sIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ha2UgYmFzaWMgcHJlZmV0Y2ggcmVxdWVzdCB0byBjaGVjayBwZXJtaXNzaW9uc1xuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqL1xuICBwcmVmZXRjaChwYXJhbXM6IFByZWZldGNoT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnByZWZldGNoSW5zdGFuY2UuZ2V0Q29uZmlnKHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHNlY3VyaXR5IG9iamVjdFxuICAgKlxuICAgKiBAcGFyYW0ge1NlY3VyaXR5fSBzZWN1cml0eVxuICAgKiBAbWVtYmVyb2YgQ2xpZW50XG4gICAqL1xuICBzZXRTZWN1cml0eShzZWN1cml0eTogU2VjdXJpdHkpIHtcbiAgICBpZiAoc2VjdXJpdHkgJiYgIShzZWN1cml0eS5wb2xpY3kgJiYgc2VjdXJpdHkuc2lnbmF0dXJlKSkge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdCb3RoIHBvbGljeSBhbmQgc2lnbmF0dXJlIGFyZSByZXF1aXJlZCBmb3IgY2xpZW50IHNlY3VyaXR5Jyk7XG4gICAgfVxuXG4gICAgaWYgKHNlY3VyaXR5ICYmIHNlY3VyaXR5LnBvbGljeSAmJiBzZWN1cml0eS5zaWduYXR1cmUpIHtcbiAgICAgIHRoaXMuc2Vzc2lvbi5wb2xpY3kgPSBzZWN1cml0eS5wb2xpY3k7XG4gICAgICB0aGlzLnNlc3Npb24uc2lnbmF0dXJlID0gc2VjdXJpdHkuc2lnbmF0dXJlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgY3VzdG9tIGNuYW1lXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjbmFtZVxuICAgKiBAcmV0dXJuc1xuICAgKiBAbWVtYmVyb2YgQ2xpZW50XG4gICAqL1xuICBzZXRDbmFtZShjbmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKCFjbmFtZSB8fCBjbmFtZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNlc3Npb24uY25hbWUgPSBjbmFtZTtcbiAgICB0aGlzLnNlc3Npb24udXJscyA9IFV0aWxzLnJlc29sdmVIb3N0KHRoaXMuc2Vzc2lvbi51cmxzLCBjbmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgYWxsIGN1cnJlbnQgY2xvdWQgc2Vzc2lvbnMgaW4gdGhlIHBpY2tlci5cbiAgICogT3B0aW9uYWxseSBwYXNzIGEgY2xvdWQgc291cmNlIG5hbWUgdG8gb25seSBsb2cgb3V0IG9mIHRoYXQgY2xvdWQgc291cmNlLlxuICAgKiBUaGlzIGVzc2VudGlhbGx5IGNsZWFycyB0aGUgT0F1dGggYXV0aG9yaXphdGlvbiBjb2RlcyBmcm9tIHRoZSBGaWxlc3RhY2sgc2Vzc2lvbi5cbiAgICogQHBhcmFtIG5hbWUgT3B0aW9uYWwgY2xvdWQgc291cmNlIG5hbWUuXG4gICAqL1xuICBsb2dvdXQobmFtZT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmNsb3VkLmxvZ291dChuYW1lKTtcbiAgfVxuICAvKipcbiAgICogUmV0cmlldmUgZGV0YWlsZWQgZGF0YSBvZiBzdG9yZWQgZmlsZXMuXG4gICAqXG4gICAqICMjIyBFeGFtcGxlXG4gICAqXG4gICAqIGBgYGpzXG4gICAqIGNsaWVudFxuICAgKiAgIC5tZXRhZGF0YSgnRENMNUs0NkZTM09JeGI1aXVLYnknKVxuICAgKiAgIC50aGVuKChyZXMpID0+IHtcbiAgICogICAgIGNvbnNvbGUubG9nKHJlcyk7XG4gICAqICAgfSlcbiAgICogICAuY2F0Y2goKGVycikgPT4ge1xuICAgKiAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICogICB9KSk7XG4gICAqIGBgYFxuICAgKiBAc2VlIFtGaWxlIEFQSSAtIE1ldGFkYXRhXShodHRwczovL3d3dy5maWxlc3RhY2suY29tL2RvY3MvYXBpL2ZpbGUjbWV0YWRhdGEpLlxuICAgKiBAcGFyYW0gaGFuZGxlIFZhbGlkIEZpbGVzdGFjayBoYW5kbGUuXG4gICAqIEBwYXJhbSBvcHRpb25zIE1ldGFkYXRhIGZpZWxkcyB0byBlbmFibGUgb24gcmVzcG9uc2UuXG4gICAqIEBwYXJhbSBzZWN1cml0eSBPcHRpb25hbCBzZWN1cml0eSBvdmVycmlkZS5cbiAgICovXG4gIG1ldGFkYXRhKGhhbmRsZTogc3RyaW5nLCBvcHRpb25zPzogTWV0YWRhdGFPcHRpb25zLCBzZWN1cml0eT86IFNlY3VyaXR5KSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gbWV0YWRhdGEodGhpcy5zZXNzaW9uLCBoYW5kbGUsIG9wdGlvbnMsIHNlY3VyaXR5KTtcbiAgfVxuICAvKipcbiAgICogQ29uc3RydWN0IGEgbmV3IHBpY2tlciBpbnN0YW5jZS5cbiAgICovXG4gIHBpY2tlcihvcHRpb25zPzogUGlja2VyT3B0aW9ucyk6IFBpY2tlckluc3RhbmNlIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiBwaWNrZXIodGhpcywgb3B0aW9ucyk7XG4gIH1cbiAgLyoqXG4gICAqIFVzZWQgZm9yIHZpZXdpbmcgZmlsZXMgdmlhIEZpbGVzdGFjayBoYW5kbGVzIG9yIHN0b3JhZ2UgYWxpYXNlcywgX19yZXF1aXJlcyBEb2N1bWVudCBWaWV3ZXIgYWRkb24gdG8geW91ciBGaWxlc3RhY2sgYXBwbGljYXRpb25fXy5cbiAgICogT3BlbnMgZG9jdW1lbnQgdmlld2VyIGluIG5ldyB3aW5kb3cgaWYgaWQgb3B0aW9uIGlzIG5vdCBwcm92aWRlZC5cbiAgICpcbiAgICogIyMjIEV4YW1wbGVcbiAgICpcbiAgICogYGBganNcbiAgICogLy8gPGRpdiBpZD1cInByZXZpZXdcIj48L2Rpdj5cbiAgICpcbiAgICogY2xpZW50LnByZXZpZXcoJ0RDTDVLNDZGUzNPSXhiNWl1S2J5JywgeyBpZDogJ3ByZXZpZXcnIH0pO1xuICAgKiBgYGBcbiAgICogQHBhcmFtIGhhbmRsZSBWYWxpZCBGaWxlc3RhY2sgaGFuZGxlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBQcmV2aWV3IG9wdGlvbnNcbiAgICovXG4gIHByZXZpZXcoaGFuZGxlOiBzdHJpbmcsIG9wdGlvbnM/OiBQcmV2aWV3T3B0aW9ucykge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHByZXZpZXcodGhpcy5zZXNzaW9uLCBoYW5kbGUsIG9wdGlvbnMpO1xuICB9XG4gIC8qKlxuICAgKiBSZW1vdmUgYSBmaWxlIGZyb20gc3RvcmFnZSBhbmQgdGhlIEZpbGVzdGFjayBzeXN0ZW0uXG4gICAqXG4gICAqIF9fUmVxdWlyZXMgYSB2YWxpZCBzZWN1cml0eSBwb2xpY3kgYW5kIHNpZ25hdHVyZV9fLiBUaGUgcG9saWN5IGFuZCBzaWduYXR1cmUgd2lsbCBiZSBwdWxsZWQgZnJvbSB0aGUgY2xpZW50IHNlc3Npb24sIG9yIGl0IGNhbiBiZSBvdmVycmlkZGVuIHdpdGggdGhlIHNlY3VyaXR5IHBhcmFtZXRlci5cbiAgICpcbiAgICogIyMjIEV4YW1wbGVcbiAgICpcbiAgICogYGBganNcbiAgICogY2xpZW50XG4gICAqICAgLnJlbW92ZSgnRENMNUs0NkZTM09JeGI1aXVLYnknKVxuICAgKiAgIC50aGVuKChyZXMpID0+IHtcbiAgICogICAgIGNvbnNvbGUubG9nKHJlcyk7XG4gICAqICAgfSlcbiAgICogICAuY2F0Y2goKGVycikgPT4ge1xuICAgKiAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICogICB9KSk7XG4gICAqIGBgYFxuICAgKiBAc2VlIFtGaWxlIEFQSSAtIERlbGV0ZV0oaHR0cHM6Ly93d3cuZmlsZXN0YWNrLmNvbS9kb2NzL2FwaS9maWxlI2RlbGV0ZSlcbiAgICogQHBhcmFtIGhhbmRsZSBWYWxpZCBGaWxlc3RhY2sgaGFuZGxlLlxuICAgKiBAcGFyYW0gc2VjdXJpdHkgT3B0aW9uYWwgc2VjdXJpdHkgb3ZlcnJpZGUuXG4gICAqL1xuICByZW1vdmUoaGFuZGxlOiBzdHJpbmcsIHNlY3VyaXR5PzogU2VjdXJpdHkpOiBQcm9taXNlPGFueT4ge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHJlbW92ZSh0aGlzLnNlc3Npb24sIGhhbmRsZSwgZmFsc2UsIHNlY3VyaXR5KTtcbiAgfVxuICAvKipcbiAgICogUmVtb3ZlIGEgZmlsZSAqKm9ubHkqKiBmcm9tIHRoZSBGaWxlc3RhY2sgc3lzdGVtLiBUaGUgZmlsZSByZW1haW5zIGluIHN0b3JhZ2UuXG4gICAqXG4gICAqIF9fUmVxdWlyZXMgYSB2YWxpZCBzZWN1cml0eSBwb2xpY3kgYW5kIHNpZ25hdHVyZV9fLiBUaGUgcG9saWN5IGFuZCBzaWduYXR1cmUgd2lsbCBiZSBwdWxsZWQgZnJvbSB0aGUgY2xpZW50IHNlc3Npb24sIG9yIGl0IGNhbiBiZSBvdmVycmlkZGVuIHdpdGggdGhlIHNlY3VyaXR5IHBhcmFtZXRlci5cbiAgICpcbiAgICogIyMjIEV4YW1wbGVcbiAgICpcbiAgICogYGBganNcbiAgICogY2xpZW50XG4gICAqICAgLnJlbW92ZU1ldGFkYXRhKCdEQ0w1SzQ2RlMzT0l4YjVpdUtieScpXG4gICAqICAgLnRoZW4oKHJlcykgPT4ge1xuICAgKiAgICAgY29uc29sZS5sb2cocmVzKTtcbiAgICogICB9KVxuICAgKiAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAqICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgKiAgIH0pKTtcbiAgICogYGBgXG4gICAqIEBzZWUgW0ZpbGUgQVBJIC0gRGVsZXRlXShodHRwczovL3d3dy5maWxlc3RhY2suY29tL2RvY3MvYXBpL2ZpbGUjZGVsZXRlKVxuICAgKiBAcGFyYW0gaGFuZGxlIFZhbGlkIEZpbGVzdGFjayBoYW5kbGUuXG4gICAqIEBwYXJhbSBzZWN1cml0eSBPcHRpb25hbCBzZWN1cml0eSBvdmVycmlkZS5cbiAgICovXG4gIHJlbW92ZU1ldGFkYXRhKGhhbmRsZTogc3RyaW5nLCBzZWN1cml0eT86IFNlY3VyaXR5KTogUHJvbWlzZTxhbnk+IHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiByZW1vdmUodGhpcy5zZXNzaW9uLCBoYW5kbGUsIHRydWUsIHNlY3VyaXR5KTtcbiAgfVxuICAvKipcbiAgICogU3RvcmUgYSBmaWxlIGZyb20gaXRzIFVSTC5cbiAgICpcbiAgICogIyMjIEV4YW1wbGVcbiAgICpcbiAgICogYGBganNcbiAgICogY2xpZW50XG4gICAqICAgLnN0b3JlVVJMKCdodHRwczovL2Qxd3RxYWZmYWFqNjN6LmNsb3VkZnJvbnQubmV0L2ltYWdlcy9OWV8xOTlfRV9vZl9IYW1tZXJ0b3duXzIwMTQuanBnJylcbiAgICogICAudGhlbihyZXMgPT4gY29uc29sZS5sb2cocmVzKSk7XG4gICAqIGBgYFxuICAgKiBAc2VlIFtGaWxlIEFQSSAtIFN0b3JlXShodHRwczovL3d3dy5maWxlc3RhY2suY29tL2RvY3MvYXBpL2ZpbGUjc3RvcmUpXG4gICAqIEBwYXJhbSB1cmwgICAgICAgVmFsaWQgVVJMIHRvIGEgZmlsZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgICBDb25maWd1cmUgZmlsZSBzdG9yYWdlLlxuICAgKiBAcGFyYW0gdG9rZW4gICAgIE9wdGlvbmFsIGNvbnRyb2wgdG9rZW4gdG8gY2FsbCAuY2FuY2VsKClcbiAgICogQHBhcmFtIHNlY3VyaXR5ICBPcHRpb25hbCBzZWN1cml0eSBvdmVycmlkZS5cbiAgICogQHBhcmFtIHVwbG9hZFRhZ3MgT3B0aW9uYWwgdGFncyB2aXNpYmxlIGluIHdlYmhvb2tzLlxuICAgKiBAcGFyYW0gaGVhZGVycyAgICBPcHRpb25hbCBoZWFkZXJzIHRvIHNlbmRcbiAgICogQHBhcmFtIHdvcmtmbG93SWRzICAgIE9wdGlvbmFsIHdvcmtmbG93SWRzIHRvIHNlbmRcbiAgICovXG4gIHN0b3JlVVJMKHVybDogc3RyaW5nLCBzdG9yZVBhcmFtcz86IFN0b3JlUGFyYW1zLCB0b2tlbj86IGFueSwgc2VjdXJpdHk/OiBTZWN1cml0eSwgdXBsb2FkVGFncz86IFVwbG9hZFRhZ3MsIGhlYWRlcnM/OiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSwgd29ya2Zsb3dJZHM/OiBzdHJpbmdbXSk6IFByb21pc2U8T2JqZWN0PiB7XG4gICAgcmV0dXJuIHN0b3JlVVJMKHtcbiAgICAgIHNlc3Npb246IHRoaXMuc2Vzc2lvbixcbiAgICAgIHVybCxcbiAgICAgIHN0b3JlUGFyYW1zLFxuICAgICAgdG9rZW4sXG4gICAgICBzZWN1cml0eSxcbiAgICAgIHVwbG9hZFRhZ3MsXG4gICAgICBoZWFkZXJzLFxuICAgICAgd29ya2Zsb3dJZHMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWNjZXNzIGZpbGVzIHZpYSB0aGVpciBGaWxlc3RhY2sgaGFuZGxlcy5cbiAgICpcbiAgICogSWYgaGVhZCBvcHRpb24gaXMgcHJvdmlkZWQgLSByZXF1ZXN0IGhlYWRlcnMgYXJlIHJldHVybmVkIGluIHByb21pc2VcbiAgICogSWYgbWV0YWRhdGEgb3B0aW9uIGlzIHByb3ZpZGVkIC0gbWV0YWRhdGEgb2JqZWN0IGlzIHJldHVybmVkIGluIHByb21pc2VcbiAgICogT3RoZXJ3aXNlIGZpbGUgYmxvYiBpcyByZXR1cm5lZFxuICAgKiBNZXRhZGF0YSBhbmQgaGVhZCBvcHRpb25zIGNhbm5vdCBiZSBtaXhlZFxuICAgKlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBjbGllbnQucmV0cmlldmUoJ2ZpbGVIYW5kbGUnLCB7XG4gICAqICBtZXRhZGF0YTogdHJ1ZSxcbiAgICogfSkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICogIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICogfSkuY2F0Y2goKGVycikgPT4ge1xuICAgKiAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgKiB9KVxuICAgKiBgYGBcbiAgICpcbiAgICogQHNlZSBbRmlsZSBBUEkgLSBEb3dubG9hZF0oaHR0cHM6Ly93d3cuZmlsZXN0YWNrLmNvbS9kb2NzL2FwaS9maWxlI2Rvd25sb2FkKVxuICAgKiBAZGVwcmVjYXRlZCB1c2UgbWV0YWRhdGEgb3IgZG93bmxvYWQgbWV0aG9kcyBpbnN0ZWFkXG4gICAqIEBwYXJhbSBoYW5kbGUgICAgVmFsaWQgZmlsZSBoYW5kbGVcbiAgICogQHBhcmFtIG9wdGlvbnMgICBSZXRyaWV2ZU9wdGlvbnNcbiAgICogQHBhcmFtIHNlY3VyaXR5ICBPcHRpb25hbCBzZWN1cml0eSBvdmVycmlkZS5cbiAgICogQHRocm93cyAgICAgICAgICBFcnJvclxuICAgKi9cbiAgcmV0cmlldmUoaGFuZGxlOiBzdHJpbmcsIG9wdGlvbnM/OiBSZXRyaWV2ZU9wdGlvbnMsIHNlY3VyaXR5PzogU2VjdXJpdHkpOiBQcm9taXNlPE9iamVjdCB8IEJsb2I+IHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiByZXRyaWV2ZSh0aGlzLnNlc3Npb24sIGhhbmRsZSwgb3B0aW9ucywgc2VjdXJpdHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERvd25sb2FkIGZpbGUgYnkgaGFuZGxlXG4gICAqXG4gICAqXG4gICAqICMjIyBCcm93c2VyIEV4YW1wbGVcbiAgICpcbiAgICogYGBganNcbiAgICogY2xpZW50LmRvd25sb2FkKCdmaWxlSGFuZGxlJykudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICogY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XG4gICAqIGltZy5zcmMgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKHJlcy5kYXRhKVxuICAgKiBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGltZyk7XG4gICAqIH0pLmNhdGNoKChlcnIpID0+IHtcbiAgICogIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICogfSlcbiAgICogYGBgXG4gICAqXG4gICAqIEBzZWUgW0ZpbGUgQVBJIC0gRG93bmxvYWRdKGh0dHBzOi8vd3d3LmZpbGVzdGFjay5jb20vZG9jcy9hcGkvZmlsZSNkb3dubG9hZClcbiAgICogQHBhcmFtIGhhbmRsZSAgICBWYWxpZCBmaWxlIGhhbmRsZVxuICAgKiBAdGhyb3dzICAgICAgICAgIEVycm9yXG4gICAqL1xuICBkb3dubG9hZChoYW5kbGU6IHN0cmluZywgc2VjdXJpdHk/OiBTZWN1cml0eSk6IFByb21pc2U8RnNSZXNwb25zZT4ge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIGRvd25sb2FkKHRoaXMuc2Vzc2lvbiwgaGFuZGxlLCBzZWN1cml0eSk7XG4gIH1cblxuICAvKipcbiAgICogSW50ZXJmYWNlIHRvIHRoZSBGaWxlc3RhY2sgW1Byb2Nlc3NpbmcgQVBJXShodHRwczovL3d3dy5maWxlc3RhY2suY29tL2RvY3MvYXBpL3Byb2Nlc3NpbmcpLlxuICAgKiBDb252ZXJ0IGEgVVJMLCBoYW5kbGUsIG9yIHN0b3JhZ2UgYWxpYXMgdG8gYW5vdGhlciBVUkwgd2hpY2ggbGlua3MgdG8gdGhlIHRyYW5zZm9ybWVkIGZpbGUuXG4gICAqIFlvdSBjYW4gb3B0aW9uYWxseSBzdG9yZSB0aGUgcmV0dXJuZWQgVVJMIHdpdGggY2xpZW50LnN0b3JlVVJMLlxuICAgKlxuICAgKiBUcmFuc2Zvcm0gcGFyYW1zIGNhbiBiZSBwcm92aWRlZCBpbiBjYW1lbENhc2Ugb3Igc25ha2VDYXNlIHN0eWxlIGllOiBwYXJ0aWFsX3BpeGVsYXRlIG9yIHBhcnRpYWxQaXhlbGF0ZVxuICAgKlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBjb25zdCB0cmFuc2Zvcm1lZFVybCA9IGNsaWVudC50cmFuc2Zvcm0odXJsLCB7XG4gICAqICAgY3JvcDoge1xuICAgKiAgICAgZGltOiBbeCwgeSwgd2lkdGgsIGhlaWdodF0sXG4gICAqICAgfSxcbiAgICogICB2aWduZXR0ZToge1xuICAgKiAgICAgYmx1cm1vZGU6ICdnYXVzc2lhbicsXG4gICAqICAgICBhbW91bnQ6IDUwLFxuICAgKiAgIH0sXG4gICAqICAgZmxpcDogdHJ1ZSxcbiAgICogICBwYXJ0aWFsX3BpeGVsYXRlOiB7XG4gICAqICAgICBvYmplY3RzOiBbWzEwLCAyMCwgMjAwLCAyNTBdLCBbMjc1LCA5MSwgNTAwLCA1NTddXSxcbiAgICogICB9LFxuICAgKiB9O1xuICAgKlxuICAgKiAvLyBvcHRpb25hbGx5IHN0b3JlIHRoZSBuZXcgVVJMXG4gICAqIGNsaWVudC5zdG9yZVVSTCh0cmFuc2Zvcm1lZFVybCkudGhlbihyZXMgPT4gY29uc29sZS5sb2cocmVzKSk7XG4gICAqIGBgYFxuICAgKiBAc2VlIFtGaWxlc3RhY2sgUHJvY2Vzc2luZyBBUEldKGh0dHBzOi8vd3d3LmZpbGVzdGFjay5jb20vZG9jcy9hcGkvcHJvY2Vzc2luZylcbiAgICogQHBhcmFtIHVybCAgICAgU2luZ2xlIG9yIG11bHRpcGxlIHZhbGlkIFVSTHMgKGh0dHAocyk6Ly8pLCBmaWxlIGhhbmRsZXMsIG9yIHN0b3JhZ2UgYWxpYXNlcyAoc3JjOi8vKSB0byBhbiBpbWFnZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVHJhbnNmb3JtYXRpb25zIGFyZSBhcHBsaWVkIGluIHRoZSBvcmRlciBzcGVjaWZpZWQgYnkgdGhpcyBvYmplY3QuXG4gICAqIEBwYXJhbSBiNjQgICAgIFVzZSBuZXcgbW9yZSBzYWZlIGZvcm1hdCBmb3IgZ2VuZXJhdGluZyB0cmFuc2Zvcm1zIHVybCAoZGVmYXVsdD1mYWxzZSkgTm90ZTogSWYgdGhlcmUgd2lsbCBiZSBhbnkgaXNzdWVzIHdpdGggdXJsIHBsZWFzZSB0ZXN0IGl0IHdpdGggZW5hYmxlZCBiNjQgc3VwcG9ydFxuICAgKiBAcmV0dXJucyAgICAgICBBIG5ldyBVUkwgdGhhdCBwb2ludHMgdG8gdGhlIHRyYW5zZm9ybWVkIHJlc291cmNlLlxuICAgKi9cbiAgdHJhbnNmb3JtKHVybDogc3RyaW5nIHwgc3RyaW5nW10sIG9wdGlvbnM6IFRyYW5zZm9ybU9wdGlvbnMsIGI2NDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gdHJhbnNmb3JtKHRoaXMuc2Vzc2lvbiwgdXJsLCBvcHRpb25zLCBiNjQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYXRlcyBhIG11bHRpLXBhcnQgdXBsb2FkIGZsb3cuIFVzZSB0aGlzIGZvciBGaWxlc3RhY2sgQ0lOIGFuZCBGSUkgdXBsb2Fkcy5cbiAgICpcbiAgICogSW4gTm9kZSBydW50aW1lcyB0aGUgZmlsZSBhcmd1bWVudCBpcyB0cmVhdGVkIGFzIGEgZmlsZSBwYXRoLlxuICAgKiBVcGxvYWRpbmcgZnJvbSBhIE5vZGUgYnVmZmVyIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQuXG4gICAqXG4gICAqICMjIyBFeGFtcGxlXG4gICAqXG4gICAqIGBgYGpzXG4gICAqIGNvbnN0IHRva2VuID0ge307XG4gICAqIGNvbnN0IG9uUmV0cnkgPSAob2JqKSA9PiB7XG4gICAqICAgY29uc29sZS5sb2coYFJldHJ5aW5nICR7b2JqLmxvY2F0aW9ufSBmb3IgJHtvYmouZmlsZW5hbWV9LiBBdHRlbXB0ICR7b2JqLmF0dGVtcHR9IG9mIDEwLmApO1xuICAgKiB9O1xuICAgKlxuICAgKiBjbGllbnQudXBsb2FkKGZpbGUsIHsgb25SZXRyeSB9LCB7IGZpbGVuYW1lOiAnZm9vYmFyLmpwZycgfSwgdG9rZW4pXG4gICAqICAgLnRoZW4ocmVzID0+IGNvbnNvbGUubG9nKHJlcykpO1xuICAgKlxuICAgKiBjbGllbnQudXBsb2FkKHtmaWxlLCBuYW1lfSwgeyBvblJldHJ5IH0sIHsgZmlsZW5hbWU6ICdmb29iYXIuanBnJyB9LCB0b2tlbilcbiAgICogICAudGhlbihyZXMgPT4gY29uc29sZS5sb2cocmVzKSk7XG4gICAqXG4gICAqIHRva2VuLnBhdXNlKCk7ICAvLyBQYXVzZSBmbG93XG4gICAqIHRva2VuLnJlc3VtZSgpOyAvLyBSZXN1bWUgZmxvd1xuICAgKiB0b2tlbi5jYW5jZWwoKTsgLy8gQ2FuY2VsIGZsb3cgKHJlamVjdHMpXG4gICAqIGBgYFxuICAgKiBAcGFyYW0ge0lucHV0RmlsZX0gICAgZmlsZSAgICAgICAgICAgTXVzdCBiZSBhIHZhbGlkIFtGaWxlIHwgQmxvYiB8IEJ1ZmZlciB8IHN0cmluZ11cbiAgICogQHBhcmFtIHVwbG9hZE9wdGlvbnMgIFVwbG9hZGVyIG9wdGlvbnMuXG4gICAqIEBwYXJhbSBzdG9yZU9wdGlvbnMgICBTdG9yYWdlIG9wdGlvbnMuXG4gICAqIEBwYXJhbSB0b2tlbiAgICAgICAgICBBIGNvbnRyb2wgdG9rZW4gdGhhdCBjYW4gYmUgdXNlZCB0byBjYWxsIGNhbmNlbCgpLCBwYXVzZSgpLCBhbmQgcmVzdW1lKCkuXG4gICAqIEBwYXJhbSBzZWN1cml0eSAgICAgICBPcHRpb25hbCBzZWN1cml0eSBwb2xpY3kgYW5kIHNpZ25hdHVyZSBvdmVycmlkZS5cbiAgICpcbiAgICogQHJldHVybnMge1Byb21pc2V9XG4gICAqL1xuICB1cGxvYWQoZmlsZTogSW5wdXRGaWxlLCBvcHRpb25zPzogVXBsb2FkT3B0aW9ucywgc3RvcmVPcHRpb25zPzogU3RvcmVVcGxvYWRPcHRpb25zLCB0b2tlbj86IGFueSwgc2VjdXJpdHk/OiBTZWN1cml0eSkge1xuICAgIGxldCB1cGxvYWQgPSBuZXcgVXBsb2FkKG9wdGlvbnMsIHN0b3JlT3B0aW9ucyk7XG4gICAgdXBsb2FkLnNldFNlc3Npb24odGhpcy5zZXNzaW9uKTtcblxuICAgIGlmICh0b2tlbikge1xuICAgICAgdXBsb2FkLnNldFRva2VuKHRva2VuKTtcbiAgICB9XG5cbiAgICBpZiAoc2VjdXJpdHkpIHtcbiAgICAgIHVwbG9hZC5zZXRTZWN1cml0eShzZWN1cml0eSk7XG4gICAgfVxuXG4gICAgdXBsb2FkLm9uKCdzdGFydCcsICgpID0+IHRoaXMuZW1pdCgndXBsb2FkLnN0YXJ0JykpO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgdXBsb2FkLm9uKCdlcnJvcicsIGUgPT4ge1xuICAgICAgaWYgKHRoaXMuZm9yd2FyZEVycm9ycykge1xuICAgICAgICBTZW50cnkud2l0aFNjb3BlKHNjb3BlID0+IHtcbiAgICAgICAgICBzY29wZS5zZXRUYWcoJ2ZpbGVzdGFjay1hcGlrZXknLCB0aGlzLnNlc3Npb24uYXBpa2V5KTtcbiAgICAgICAgICBzY29wZS5zZXRUYWcoJ2ZpbGVzdGFjay12ZXJzaW9uJywgVXRpbHMuZ2V0VmVyc2lvbigpKTtcbiAgICAgICAgICBzY29wZS5zZXRFeHRyYSgnZmlsZXN0YWNrLW9wdGlvbnMnLCB0aGlzLm9wdGlvbnMpO1xuICAgICAgICAgIHNjb3BlLnNldEV4dHJhcyh7IHVwbG9hZE9wdGlvbnM6IG9wdGlvbnMsIHN0b3JlT3B0aW9ucywgZGV0YWlsczogZS5kZXRhaWxzIH0pO1xuICAgICAgICAgIGUubWVzc2FnZSA9IGBGUy0ke2UubWVzc2FnZX1gO1xuXG4gICAgICAgICAgU2VudHJ5LmNhcHR1cmVFeGNlcHRpb24oZSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmVtaXQoJ3VwbG9hZC5lcnJvcicsIGUpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHVwbG9hZC51cGxvYWQoZmlsZSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhdGVzIGEgbXVsdGktcGFydCB1cGxvYWQgZmxvdy4gVXNlIHRoaXMgZm9yIEZpbGVzdGFjayBDSU4gYW5kIEZJSSB1cGxvYWRzLlxuICAgKlxuICAgKiBJbiBOb2RlIHJ1bnRpbWVzIHRoZSBmaWxlIGFyZ3VtZW50IGlzIHRyZWF0ZWQgYXMgYSBmaWxlIHBhdGguXG4gICAqIFVwbG9hZGluZyBmcm9tIGEgTm9kZSBidWZmZXIgaXMgbm90IHlldCBpbXBsZW1lbnRlZC5cbiAgICpcbiAgICogIyMjIEV4YW1wbGVcbiAgICpcbiAgICogYGBganNcbiAgICogY29uc3QgdG9rZW4gPSB7fTtcbiAgICogY29uc3Qgb25SZXRyeSA9IChvYmopID0+IHtcbiAgICogICBjb25zb2xlLmxvZyhgUmV0cnlpbmcgJHtvYmoubG9jYXRpb259IGZvciAke29iai5maWxlbmFtZX0uIEF0dGVtcHQgJHtvYmouYXR0ZW1wdH0gb2YgMTAuYCk7XG4gICAqIH07XG4gICAqXG4gICAqIGNsaWVudC5tdWx0aXVwbG9hZChbZmlsZV0sIHsgb25SZXRyeSB9LCB0b2tlbilcbiAgICogICAudGhlbihyZXMgPT4gY29uc29sZS5sb2cocmVzKSk7XG4gICAqXG4gICAqIGNsaWVudC5tdWx0aXVwbG9hZChbe2ZpbGUsIG5hbWV9XSwgeyBvblJldHJ5IH0sIHRva2VuKVxuICAgKiAgIC50aGVuKHJlcyA9PiBjb25zb2xlLmxvZyhyZXMpKTtcbiAgICpcbiAgICogdG9rZW4ucGF1c2UoKTsgIC8vIFBhdXNlIGZsb3dcbiAgICogdG9rZW4ucmVzdW1lKCk7IC8vIFJlc3VtZSBmbG93XG4gICAqIHRva2VuLmNhbmNlbCgpOyAvLyBDYW5jZWwgZmxvdyAocmVqZWN0cylcbiAgICogYGBgXG4gICAqIEBwYXJhbSB7SW5wdXRGaWxlW119ICBmaWxlICAgICAgICAgICBNdXN0IGJlIGEgdmFsaWQgW0ZpbGUgfCBCbG9iIHwgQnVmZmVyIHwgc3RyaW5nIChiYXNlNjQpXVxuICAgKiBAcGFyYW0gdXBsb2FkT3B0aW9ucyAgVXBsb2FkIG9wdGlvbnMuXG4gICAqIEBwYXJhbSBzdG9yZU9wdGlvbnMgICBTdG9yYWdlIG9wdGlvbnMuXG4gICAqIEBwYXJhbSB0b2tlbiAgICAgICAgICBBIGNvbnRyb2wgdG9rZW4gdGhhdCBjYW4gYmUgdXNlZCB0byBjYWxsIGNhbmNlbCgpLCBwYXVzZSgpLCBhbmQgcmVzdW1lKCkuXG4gICAqIEBwYXJhbSBzZWN1cml0eSAgICAgICBPcHRpb25hbCBzZWN1cml0eSBwb2xpY3kgYW5kIHNpZ25hdHVyZSBvdmVycmlkZS5cbiAgICpcbiAgICogQHJldHVybnMge1Byb21pc2V9XG4gICAqL1xuICBtdWx0aXVwbG9hZChmaWxlOiBJbnB1dEZpbGVbXSwgb3B0aW9ucz86IFVwbG9hZE9wdGlvbnMsIHN0b3JlT3B0aW9ucz86IFN0b3JlVXBsb2FkT3B0aW9ucywgdG9rZW4/OiBhbnksIHNlY3VyaXR5PzogU2VjdXJpdHkpIHtcbiAgICBsZXQgdXBsb2FkID0gbmV3IFVwbG9hZChvcHRpb25zLCBzdG9yZU9wdGlvbnMpO1xuXG4gICAgdXBsb2FkLnNldFNlc3Npb24odGhpcy5zZXNzaW9uKTtcblxuICAgIGlmICh0b2tlbikge1xuICAgICAgdXBsb2FkLnNldFRva2VuKHRva2VuKTtcbiAgICB9XG5cbiAgICBpZiAoc2VjdXJpdHkpIHtcbiAgICAgIHVwbG9hZC5zZXRTZWN1cml0eShzZWN1cml0eSk7XG4gICAgfVxuXG4gICAgdXBsb2FkLm9uKCdzdGFydCcsICgpID0+IHRoaXMuZW1pdCgndXBsb2FkLnN0YXJ0JykpO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgdXBsb2FkLm9uKCdlcnJvcicsIGUgPT4ge1xuICAgICAgU2VudHJ5LndpdGhTY29wZShzY29wZSA9PiB7XG4gICAgICAgIHNjb3BlLnNldFRhZygnZmlsZXN0YWNrLWFwaWtleScsIHRoaXMuc2Vzc2lvbi5hcGlrZXkpO1xuICAgICAgICBzY29wZS5zZXRUYWcoJ2ZpbGVzdGFjay12ZXJzaW9uJywgVXRpbHMuZ2V0VmVyc2lvbigpKTtcbiAgICAgICAgc2NvcGUuc2V0RXh0cmEoJ2ZpbGVzdGFjay1vcHRpb25zJywgdGhpcy5vcHRpb25zKTtcbiAgICAgICAgc2NvcGUuc2V0RXh0cmFzKGUuZGV0YWlscyk7XG4gICAgICAgIHNjb3BlLnNldEV4dHJhcyh7IHVwbG9hZE9wdGlvbnM6IG9wdGlvbnMsIHN0b3JlT3B0aW9ucyB9KTtcbiAgICAgICAgU2VudHJ5LmNhcHR1cmVFeGNlcHRpb24oZSk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5lbWl0KCd1cGxvYWQuZXJyb3InLCBlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiB1cGxvYWQubXVsdGl1cGxvYWQoZmlsZSk7XG4gIH1cbn1cbiJdfQ==

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

token = {};
spyOn(upload_1.Upload.prototype, 'upload').and.returnValue(Promise.resolve());
jest.spyOn(upload_1.Upload.prototype, 'upload').mockImplementation(function () { return Promise.resolve(); });
return [4 /*yield*/, client.upload(file, uploadOptions, storeOptions, token, defaultSecurity)];

@@ -261,3 +261,3 @@ case 1:

storeOptions = {};
spyOn(upload_1.Upload.prototype, 'upload').and.returnValue(Promise.resolve());
jest.spyOn(upload_1.Upload.prototype, 'upload').mockImplementation(function () { return Promise.resolve(); });
return [4 /*yield*/, client.upload(file, uploadOptions, storeOptions)];

@@ -307,3 +307,3 @@ case 1:

token = {};
spyOn(upload_1.Upload.prototype, 'multiupload').and.returnValue(Promise.resolve());
jest.spyOn(upload_1.Upload.prototype, 'multiupload').mockImplementation(function () { return Promise.resolve(); });
return [4 /*yield*/, client.multiupload(files, uploadOptions, storeOptions, token, defaultSecurity)];

@@ -332,3 +332,3 @@ case 1:

storeOptions = {};
spyOn(upload_1.Upload.prototype, 'multiupload').and.returnValue(Promise.resolve());
jest.spyOn(upload_1.Upload.prototype, 'multiupload').mockImplementation(function () { return Promise.resolve(); });
return [4 /*yield*/, client.multiupload(files, uploadOptions, storeOptions)];

@@ -356,3 +356,3 @@ case 1:

token = {};
spyOn(upload_1.Upload.prototype, 'multiupload').and.returnValue(Promise.resolve());
jest.spyOn(upload_1.Upload.prototype, 'multiupload').mockImplementation(function () { return Promise.resolve(); });
mockOnError = jest.fn().mockName('mockOnError');

@@ -372,2 +372,2 @@ test = new filestack_error_1.FilestackError('test');

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY2xpZW50LnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsd0RBQXNEO0FBQ3RELHNDQUFxQztBQUNyQyxtQ0FBa0M7QUFDbEMscUNBQTBDO0FBQzFDLDhDQUE2QztBQUM3QyxtQ0FBa0M7QUFDbEMseUNBQXdDO0FBQ3hDLG1DQUF3RDtBQUN4RCxxQ0FBdUM7QUFDdkMsNkNBQTRDO0FBRTVDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBRTdCLFFBQVEsQ0FBQyxRQUFRLEVBQUU7SUFDakIsSUFBTSxhQUFhLEdBQUcsaUJBQWlCLENBQUM7SUFDeEMsSUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7SUFDdkMsSUFBTSxlQUFlLEdBQUc7UUFDdEIsTUFBTSxFQUFFLGVBQWU7UUFDdkIsU0FBUyxFQUFFLGtCQUFrQjtLQUM5QixDQUFDO0lBRUYsSUFBTSxXQUFXLEdBQUcsZUFBTSxDQUFDLElBQUksQ0FBQztJQUNoQyxJQUFNLGNBQWMsR0FBRztRQUNyQixNQUFNLEVBQUUsYUFBYTtRQUNyQixJQUFJLEVBQUUsV0FBVztLQUNsQixDQUFDO0lBRUYsRUFBRSxDQUFDLG9DQUFvQyxFQUFFO1FBQ3ZDLElBQU0sTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sQ0FB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QkFFcEUsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBRWhELElBQUksR0FBRyxJQUFJLGdDQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBRXhDLE1BQU0sQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQyxDQUFDO29CQUV2QyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsa0JBQWtCLENBQUMsVUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBVSxPQUFBLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBUixDQUFRLENBQUMsQ0FBQztvQkFFeEYscUJBQU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsZUFBZSxDQUFDLEVBQUE7O29CQUFwRixTQUFvRixDQUFDO29CQUVyRixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7Ozs7U0FDaEQsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL2NsaWVudC5zcGVjLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yIH0gZnJvbSAnLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi8uLi9jb25maWcnO1xuaW1wb3J0IHsgQ2xpZW50IH0gZnJvbSAnLi9jbGllbnQnO1xuaW1wb3J0IHsgQ2xvdWRDbGllbnQgfSBmcm9tICcuL2FwaS9jbG91ZCc7XG5pbXBvcnQgeyBVcGxvYWQgfSBmcm9tICcuL2FwaS91cGxvYWQvdXBsb2FkJztcbmltcG9ydCB7IHBpY2tlciB9IGZyb20gJy4vcGlja2VyJztcbmltcG9ydCB7IHByZXZpZXcgfSBmcm9tICcuL2FwaS9wcmV2aWV3JztcbmltcG9ydCB7IG1ldGFkYXRhLCByZW1vdmUsIHJldHJpZXZlIH0gZnJvbSAnLi9hcGkvZmlsZSc7XG5pbXBvcnQgeyBzdG9yZVVSTCB9IGZyb20gJy4vYXBpL3N0b3JlJztcbmltcG9ydCB7IHRyYW5zZm9ybSB9IGZyb20gJy4vYXBpL3RyYW5zZm9ybSc7XG5cbmplc3QubW9jaygnLi9hcGkvdXBsb2FkL3VwbG9hZCcpO1xuamVzdC5tb2NrKCcuL2FwaS9jbG91ZCcpO1xuamVzdC5tb2NrKCcuL2FwaS9maWxlJyk7XG5qZXN0Lm1vY2soJy4vYXBpL3N0b3JlJyk7XG5qZXN0Lm1vY2soJy4vcGlja2VyJyk7XG5qZXN0Lm1vY2soJy4vYXBpL3ByZXZpZXcnKTtcbmplc3QubW9jaygnLi9hcGkvdHJhbnNmb3JtJyk7XG5cbmRlc2NyaWJlKCdjbGllbnQnLCAoKSA9PiB7XG4gIGNvbnN0IGRlZmF1bHRBcGlrZXkgPSAnRVhBTVBMRV9BUElfS0VZJztcbiAgY29uc3QgZGVmYXVsdEhhbmRsZSA9ICdFWEFNUExFX0hBTkRMRSc7XG4gIGNvbnN0IGRlZmF1bHRTZWN1cml0eSA9IHtcbiAgICBwb2xpY3k6ICdleGFtcGxlUG9saWN5JyxcbiAgICBzaWduYXR1cmU6ICdleGFtcGxlU2lnbmF0dXJlJyxcbiAgfTtcblxuICBjb25zdCBzZXNzaW9uVVJscyA9IGNvbmZpZy51cmxzO1xuICBjb25zdCBkZWZhdWx0U2Vzc2lvbiA9IHtcbiAgICBhcGlrZXk6IGRlZmF1bHRBcGlrZXksXG4gICAgdXJsczogc2Vzc2lvblVSbHMsXG4gIH07XG5cbiAgaXQoJ3Nob3VsZCBwcm9wZXJseSBpbnN0YW50aWF0ZSBDbGllbnQnLCAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBleHBlY3QoY2xpZW50KS50b0JlRGVmaW5lZCgpO1xuICAgIGV4cGVjdChjbGllbnQpLnRvQmVJbnN0YW5jZU9mKENsaWVudCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3IgaWYgYXBpIGtleSBub3QgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgZXhwZWN0KCgpID0+IHtcbiAgICAgIHJldHVybiBuZXcgQ2xpZW50KCcnKTtcbiAgICB9KS50b1Rocm93KCdBbiBhcGlrZXkgaXMgcmVxdWlyZWQgdG8gaW5pdGlhbGl6ZSB0aGUgRmlsZXN0YWNrIGNsaWVudCcpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIGlmIHByb3ZpZGVkIHNlY3VyaXR5IHdpdGhvdXQgc2lnbmF0dXJlJywgKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBzZWN1cml0eToge1xuICAgICAgICBwb2xpY3k6ICdleGFtcGxlUG9saWN5JyxcbiAgICAgICAgc2lnbmF0dXJlOiAnJyxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSwgb3B0aW9ucyk7XG4gICAgfSkudG9UaHJvdygnQm90aCBwb2xpY3kgYW5kIHNpZ25hdHVyZSBhcmUgcmVxdWlyZWQgZm9yIGNsaWVudCBzZWN1cml0eScpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHBhc3MgcG9saWN5ICYgc2lnbmF0dXJlIHRvIHRoZSBzZXNzaW9uJywgKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBzZWN1cml0eTogZGVmYXVsdFNlY3VyaXR5LFxuICAgIH07XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5LCBvcHRpb25zKTtcbiAgICBleHBlY3QoY2xpZW50LnNlc3Npb24ucG9saWN5KS50b0JlKG9wdGlvbnMuc2VjdXJpdHkucG9saWN5KTtcbiAgICBleHBlY3QoY2xpZW50LnNlc3Npb24uc2lnbmF0dXJlKS50b0JlKG9wdGlvbnMuc2VjdXJpdHkuc2lnbmF0dXJlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBwYXNzIGNuYW1lIHRvIHRoZSBzZXNzaW9uJywgKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBjbmFtZTogJ3Rlc3RDbmFtZS5jb20nLFxuICAgIH07XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5LCBvcHRpb25zKTtcbiAgICBleHBlY3QoY2xpZW50LnNlc3Npb24uY25hbWUpLnRvQmUob3B0aW9ucy5jbmFtZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byBsb2dvdXQgZm9yIHByb3ZpZWQgY2xvdWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCBjbG91ZE5hbWUgPSAnZHJvcGJveCc7XG4gICAgYXdhaXQgY2xpZW50LmxvZ291dChjbG91ZE5hbWUpO1xuXG4gICAgZXhwZWN0KENsb3VkQ2xpZW50LnByb3RvdHlwZS5sb2dvdXQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGNsb3VkTmFtZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZ2V0IG1ldGFkYXRhIGZvciBhIHByb3ZpZGVkIGhhbmRsZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBzaGEyMjQ6IHRydWUsXG4gICAgfTtcblxuICAgIGF3YWl0IGNsaWVudC5tZXRhZGF0YShkZWZhdWx0SGFuZGxlLCBvcHRpb25zLCBkZWZhdWx0U2VjdXJpdHkpO1xuICAgIGV4cGVjdChtZXRhZGF0YSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZGVmYXVsdFNlc3Npb24sIGRlZmF1bHRIYW5kbGUsIG9wdGlvbnMsIGRlZmF1bHRTZWN1cml0eSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byBvcGVuIHBpY2tlcicsICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IHBpY2tlck9wdGlvbnMgPSB7XG4gICAgICBsYW5nOiAnZGUnLFxuICAgIH07XG4gICAgY2xpZW50LnBpY2tlcihwaWNrZXJPcHRpb25zKTtcblxuICAgIGV4cGVjdChwaWNrZXIpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGNsaWVudCwgcGlja2VyT3B0aW9ucyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byBvcGVuIHByZXZpZXcnLCAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCBwcmV2aWV3T3B0aW9ucyA9IHtcbiAgICAgIGlkOiAndGVzdEVsZW1lbnQnLFxuICAgIH07XG4gICAgY2xpZW50LnByZXZpZXcoZGVmYXVsdEhhbmRsZSwgcHJldmlld09wdGlvbnMpO1xuXG4gICAgZXhwZWN0KHByZXZpZXcpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCBwcmV2aWV3T3B0aW9ucyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byByZW1vdmUgaGFuZGxlJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSk7XG4gICAgYXdhaXQgY2xpZW50LnJlbW92ZShkZWZhdWx0SGFuZGxlLCBkZWZhdWx0U2VjdXJpdHkpO1xuICAgIGV4cGVjdChyZW1vdmUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCBmYWxzZSwgZGVmYXVsdFNlY3VyaXR5KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBiZSBhYmxlIHRvIHJlbW92ZSBtZXRhZGF0YScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGF3YWl0IGNsaWVudC5yZW1vdmVNZXRhZGF0YShkZWZhdWx0SGFuZGxlLCBkZWZhdWx0U2VjdXJpdHkpO1xuXG4gICAgZXhwZWN0KHJlbW92ZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZGVmYXVsdFNlc3Npb24sIGRlZmF1bHRIYW5kbGUsIHRydWUsIGRlZmF1bHRTZWN1cml0eSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byBzdG9yZSB1cmwnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCB1cmwgPSAnaHR0cDovL2V4YW1wbGUuY29tL2ltZzMuanBnJztcbiAgICBjb25zdCBvcHRpb25zID0ge307XG4gICAgY29uc3QgdG9rZW4gPSB7fTtcbiAgICBjb25zdCB1cGxvYWRUYWdzID0geyB0ZXN0OiAnMTIzJyB9O1xuICAgIGNvbnN0IGhlYWRlcnMgPSB7ICd0ZXN0JzogJzEyMycgfTtcbiAgICBjb25zdCB3b3JrZmxvd0lkcyA9IFsnMTIzJywgJzMyMSddO1xuICAgIGF3YWl0IGNsaWVudC5zdG9yZVVSTCh1cmwsIG9wdGlvbnMsIHRva2VuLCBkZWZhdWx0U2VjdXJpdHksIHVwbG9hZFRhZ3MsaGVhZGVycywgd29ya2Zsb3dJZHMpO1xuXG4gICAgZXhwZWN0KHN0b3JlVVJMKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7XG4gICAgICBzZXNzaW9uOiBkZWZhdWx0U2Vzc2lvbixcbiAgICAgIHVybCxcbiAgICAgIHN0b3JlUGFyYW1zOiBvcHRpb25zLFxuICAgICAgdG9rZW4sXG4gICAgICBzZWN1cml0eTogZGVmYXVsdFNlY3VyaXR5LFxuICAgICAgdXBsb2FkVGFncyxcbiAgICAgIGhlYWRlcnMsXG4gICAgICB3b3JrZmxvd0lkcyxcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBiZSBhYmxlIHRvIHJldHJpZXZlIGhhbmRsZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IHJldHJpZXZlT3B0aW9ucyA9IHt9O1xuXG4gICAgYXdhaXQgY2xpZW50LnJldHJpZXZlKGRlZmF1bHRIYW5kbGUsIHJldHJpZXZlT3B0aW9ucywgZGVmYXVsdFNlY3VyaXR5KTtcbiAgICBleHBlY3QocmV0cmlldmUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCByZXRyaWV2ZU9wdGlvbnMsIGRlZmF1bHRTZWN1cml0eSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byB0cmFuc2Zvcm0gdXJsIHdpdGggYjY0JywgKCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSk7XG4gICAgY29uc3QgdHJhbnNmb3JtT3B0aW9ucyA9IHtcbiAgICAgIGJsdXI6IHtcbiAgICAgICAgYW1vdW50OiA1LFxuICAgICAgfSxcbiAgICB9O1xuICAgIGNvbnN0IGI2NCA9IHRydWU7XG4gICAgY2xpZW50LnRyYW5zZm9ybShkZWZhdWx0SGFuZGxlLCB0cmFuc2Zvcm1PcHRpb25zLCBiNjQpO1xuICAgIGV4cGVjdCh0cmFuc2Zvcm0pLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCB0cmFuc2Zvcm1PcHRpb25zLCBiNjQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGJlIGFibGUgdG8gdHJhbnNmb3JtIHVybCB3aXRob3V0IGI2NCcsICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IHRyYW5zZm9ybU9wdGlvbnMgPSB7XG4gICAgICBibHVyOiB7XG4gICAgICAgIGFtb3VudDogNSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBjbGllbnQudHJhbnNmb3JtKGRlZmF1bHRIYW5kbGUsIHRyYW5zZm9ybU9wdGlvbnMpO1xuICAgIGV4cGVjdCh0cmFuc2Zvcm0pLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCB0cmFuc2Zvcm1PcHRpb25zLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byB1cGxvYWQgZmlsZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IGZpbGUgPSAnYW55RmlsZSc7XG4gICAgY29uc3QgdXBsb2FkT3B0aW9ucyA9IHt9O1xuICAgIGNvbnN0IHN0b3JlT3B0aW9ucyA9IHt9O1xuICAgIGNvbnN0IHRva2VuID0ge307XG5cbiAgICBzcHlPbihVcGxvYWQucHJvdG90eXBlLCAndXBsb2FkJykuYW5kLnJldHVyblZhbHVlKFByb21pc2UucmVzb2x2ZSgpKTtcblxuICAgIGF3YWl0IGNsaWVudC51cGxvYWQoZmlsZSwgdXBsb2FkT3B0aW9ucywgc3RvcmVPcHRpb25zLCB0b2tlbiwgZGVmYXVsdFNlY3VyaXR5KTtcblxuICAgIGV4cGVjdChVcGxvYWQucHJvdG90eXBlLnNldFNlc3Npb24pLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHtcbiAgICAgIGFwaWtleTogZGVmYXVsdEFwaWtleSxcbiAgICAgIHVybHM6IHNlc3Npb25VUmxzLFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KFVwbG9hZC5wcm90b3R5cGUuc2V0VG9rZW4pLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHRva2VuKTtcbiAgICBleHBlY3QoVXBsb2FkLnByb3RvdHlwZS5zZXRTZWN1cml0eSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZGVmYXVsdFNlY3VyaXR5KTtcbiAgICBleHBlY3QoVXBsb2FkLnByb3RvdHlwZS51cGxvYWQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGZpbGUpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGJlIGFibGUgdG8gdXBsb2FkIGZpbGUgd2l0aG91dCB0b2tlbiBhbmQgc2VjdXJpdHknLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCBmaWxlID0gJ2FueUZpbGUnO1xuICAgIGNvbnN0IHVwbG9hZE9wdGlvbnMgPSB7fTtcbiAgICBjb25zdCBzdG9yZU9wdGlvbnMgPSB7fTtcblxuICAgIHNweU9uKFVwbG9hZC5wcm90b3R5cGUsICd1cGxvYWQnKS5hbmQucmV0dXJuVmFsdWUoUHJvbWlzZS5yZXNvbHZlKCkpO1xuXG4gICAgYXdhaXQgY2xpZW50LnVwbG9hZChmaWxlLCB1cGxvYWRPcHRpb25zLCBzdG9yZU9wdGlvbnMpO1xuXG4gICAgZXhwZWN0KFVwbG9hZC5wcm90b3R5cGUuc2V0U2Vzc2lvbikudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgYXBpa2V5OiBkZWZhdWx0QXBpa2V5LFxuICAgICAgdXJsczogc2Vzc2lvblVSbHMsXG4gICAgfSk7XG5cbiAgICBleHBlY3QoVXBsb2FkLnByb3RvdHlwZS51cGxvYWQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGZpbGUpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGVtaXQgZXJyb3InLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCBmaWxlID0gJ2FueUZpbGUnO1xuICAgIGNvbnN0IHVwbG9hZE9wdGlvbnMgPSB7fTtcbiAgICBjb25zdCBzdG9yZU9wdGlvbnMgPSB7fTtcbiAgICBjb25zdCB0b2tlbiA9IHt9O1xuICAgIGNvbnN0IG1vY2tPbkVycm9yID0gamVzdC5mbigpLm1vY2tOYW1lKCdtb2NrT25FcnJvcicpO1xuXG4gICAgY29uc3QgdGVzdCA9IG5ldyBGaWxlc3RhY2tFcnJvcigndGVzdCcpO1xuXG4gICAgY2xpZW50Lm9uKCd1cGxvYWQuZXJyb3InLCBtb2NrT25FcnJvcik7XG5cbiAgICBqZXN0LnNweU9uKFVwbG9hZC5wcm90b3R5cGUsICdvbicpLm1vY2tJbXBsZW1lbnRhdGlvbigobmFtZSwgY2IsIGN0eCk6IGFueSA9PiBjYih0ZXN0KSk7XG5cbiAgICBhd2FpdCBjbGllbnQudXBsb2FkKGZpbGUsIHVwbG9hZE9wdGlvbnMsIHN0b3JlT3B0aW9ucywgdG9rZW4sIGRlZmF1bHRTZWN1cml0eSk7XG5cbiAgICBleHBlY3QobW9ja09uRXJyb3IpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHRlc3QpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGJlIGFibGUgdG8gbXVsdGl1cGxvYWQgZmlsZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IGZpbGVzID0gWydhbnlGaWxlJ107XG4gICAgY29uc3QgdXBsb2FkT3B0aW9ucyA9IHt9O1xuICAgIGNvbnN0IHN0b3JlT3B0aW9ucyA9IHt9O1xuICAgIGNvbnN0IHRva2VuID0ge307XG5cbiAgICBzcHlPbihVcGxvYWQucHJvdG90eXBlLCAnbXVsdGl1cGxvYWQnKS5hbmQucmV0dXJuVmFsdWUoUHJvbWlzZS5yZXNvbHZlKCkpO1xuXG4gICAgYXdhaXQgY2xpZW50Lm11bHRpdXBsb2FkKGZpbGVzLCB1cGxvYWRPcHRpb25zLCBzdG9yZU9wdGlvbnMsIHRva2VuLCBkZWZhdWx0U2VjdXJpdHkpO1xuXG4gICAgZXhwZWN0KFVwbG9hZC5wcm90b3R5cGUuc2V0U2Vzc2lvbikudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgYXBpa2V5OiBkZWZhdWx0QXBpa2V5LFxuICAgICAgdXJsczogc2Vzc2lvblVSbHMsXG4gICAgfSk7XG5cbiAgICBleHBlY3QoVXBsb2FkLnByb3RvdHlwZS5zZXRUb2tlbikudG9IYXZlQmVlbkNhbGxlZFdpdGgodG9rZW4pO1xuICAgIGV4cGVjdChVcGxvYWQucHJvdG90eXBlLnNldFNlY3VyaXR5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChkZWZhdWx0U2VjdXJpdHkpO1xuICAgIGV4cGVjdChVcGxvYWQucHJvdG90eXBlLm11bHRpdXBsb2FkKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChmaWxlcyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY2FsbCBtdWx0aXVwbG9hZCB3aXRob3V0IHNlY3VyaXR5IG9yIHRva2VuJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSk7XG4gICAgY29uc3QgZmlsZXMgPSBbJ2FueUZpbGUnXTtcbiAgICBjb25zdCB1cGxvYWRPcHRpb25zID0ge307XG4gICAgY29uc3Qgc3RvcmVPcHRpb25zID0ge307XG5cbiAgICBzcHlPbihVcGxvYWQucHJvdG90eXBlLCAnbXVsdGl1cGxvYWQnKS5hbmQucmV0dXJuVmFsdWUoUHJvbWlzZS5yZXNvbHZlKCkpO1xuXG4gICAgYXdhaXQgY2xpZW50Lm11bHRpdXBsb2FkKGZpbGVzLCB1cGxvYWRPcHRpb25zLCBzdG9yZU9wdGlvbnMpO1xuXG4gICAgZXhwZWN0KFVwbG9hZC5wcm90b3R5cGUuc2V0U2Vzc2lvbikudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgYXBpa2V5OiBkZWZhdWx0QXBpa2V5LFxuICAgICAgdXJsczogc2Vzc2lvblVSbHMsXG4gICAgfSk7XG5cbiAgICBleHBlY3QoVXBsb2FkLnByb3RvdHlwZS5tdWx0aXVwbG9hZCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZmlsZXMpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGVtaXQgZXJyb3IgZm9yIG11bHRpdXBsb2FkJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSk7XG4gICAgY29uc3QgZmlsZXMgPSBbJ2FueUZpbGUnXTtcbiAgICBjb25zdCB1cGxvYWRPcHRpb25zID0ge307XG4gICAgY29uc3Qgc3RvcmVPcHRpb25zID0ge307XG4gICAgY29uc3QgdG9rZW4gPSB7fTtcblxuICAgIHNweU9uKFVwbG9hZC5wcm90b3R5cGUsICdtdWx0aXVwbG9hZCcpLmFuZC5yZXR1cm5WYWx1ZShQcm9taXNlLnJlc29sdmUoKSk7XG5cbiAgICBjb25zdCBtb2NrT25FcnJvciA9IGplc3QuZm4oKS5tb2NrTmFtZSgnbW9ja09uRXJyb3InKTtcblxuICAgIGNvbnN0IHRlc3QgPSBuZXcgRmlsZXN0YWNrRXJyb3IoJ3Rlc3QnKTtcblxuICAgIGNsaWVudC5vbigndXBsb2FkLmVycm9yJywgbW9ja09uRXJyb3IpO1xuXG4gICAgamVzdC5zcHlPbihVcGxvYWQucHJvdG90eXBlLCAnb24nKS5tb2NrSW1wbGVtZW50YXRpb24oKG5hbWUsIGNiLCBjdHgpOiBhbnkgPT4gY2IodGVzdCkpO1xuXG4gICAgYXdhaXQgY2xpZW50Lm11bHRpdXBsb2FkKGZpbGVzLCB1cGxvYWRPcHRpb25zLCBzdG9yZU9wdGlvbnMsIHRva2VuLCBkZWZhdWx0U2VjdXJpdHkpO1xuXG4gICAgZXhwZWN0KG1vY2tPbkVycm9yKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh0ZXN0KTtcbiAgfSk7XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY2xpZW50LnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsd0RBQXNEO0FBQ3RELHNDQUFxQztBQUNyQyxtQ0FBa0M7QUFDbEMscUNBQTBDO0FBQzFDLDhDQUE2QztBQUM3QyxtQ0FBa0M7QUFDbEMseUNBQXdDO0FBQ3hDLG1DQUF3RDtBQUN4RCxxQ0FBdUM7QUFDdkMsNkNBQTRDO0FBRTVDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBRTdCLFFBQVEsQ0FBQyxRQUFRLEVBQUU7SUFDakIsSUFBTSxhQUFhLEdBQUcsaUJBQWlCLENBQUM7SUFDeEMsSUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7SUFDdkMsSUFBTSxlQUFlLEdBQUc7UUFDdEIsTUFBTSxFQUFFLGVBQWU7UUFDdkIsU0FBUyxFQUFFLGtCQUFrQjtLQUM5QixDQUFDO0lBRUYsSUFBTSxXQUFXLEdBQUcsZUFBTSxDQUFDLElBQUksQ0FBQztJQUNoQyxJQUFNLGNBQWMsR0FBRztRQUNyQixNQUFNLEVBQUUsYUFBYTtRQUNyQixJQUFJLEVBQUUsV0FBVztLQUNsQixDQUFDO0lBRUYsRUFBRSxDQUFDLG9DQUFvQyxFQUFFO1FBQ3ZDLElBQU0sTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLGVBQU0sQ0FBQyxDQUFDO0lBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLCtDQUErQyxFQUFFO1FBQ2xELE1BQU0sQ0FBQztZQUNMLE9BQU8sSUFBSSxlQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7SUFDekUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsOERBQThELEVBQUU7UUFDakUsSUFBTSxPQUFPLEdBQUc7WUFDZCxRQUFRLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLGVBQWU7Z0JBQ3ZCLFNBQVMsRUFBRSxFQUFFO2FBQ2Q7U0FDRixDQUFDO1FBQ0YsTUFBTSxDQUFDO1lBQ0wsT0FBTyxJQUFJLGVBQU0sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLDREQUE0RCxDQUFDLENBQUM7SUFDM0UsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsK0NBQStDLEVBQUU7UUFDbEQsSUFBTSxPQUFPLEdBQUc7WUFDZCxRQUFRLEVBQUUsZUFBZTtTQUMxQixDQUFDO1FBQ0YsSUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFNLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVELE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BFLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGtDQUFrQyxFQUFFO1FBQ3JDLElBQU0sT0FBTyxHQUFHO1lBQ2QsS0FBSyxFQUFFLGVBQWU7U0FDdkIsQ0FBQztRQUNGLElBQU0sTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRCxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDRDQUE0QyxFQUFFOzs7OztvQkFDekMsTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO29CQUNuQyxTQUFTLEdBQUcsU0FBUyxDQUFDO29CQUM1QixxQkFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFBOztvQkFBOUIsU0FBOEIsQ0FBQztvQkFFL0IsTUFBTSxDQUFDLG1CQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDOzs7O1NBQ3RFLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywyQ0FBMkMsRUFBRTs7Ozs7b0JBQ3hDLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDbkMsT0FBTyxHQUFHO3dCQUNkLE1BQU0sRUFBRSxJQUFJO3FCQUNiLENBQUM7b0JBRUYscUJBQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxFQUFBOztvQkFBOUQsU0FBOEQsQ0FBQztvQkFDL0QsTUFBTSxDQUFDLGVBQVEsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDOzs7O1NBQ2hHLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywrQkFBK0IsRUFBRTtRQUNsQyxJQUFNLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6QyxJQUFNLGFBQWEsR0FBRztZQUNwQixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUM7UUFDRixNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTdCLE1BQU0sQ0FBQyxlQUFNLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsZ0NBQWdDLEVBQUU7UUFDbkMsSUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDekMsSUFBTSxjQUFjLEdBQUc7WUFDckIsRUFBRSxFQUFFLGFBQWE7U0FDbEIsQ0FBQztRQUNGLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBRTlDLE1BQU0sQ0FBQyxpQkFBTyxDQUFDLENBQUMsb0JBQW9CLENBQUMsY0FBYyxFQUFFLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN0RixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRTs7Ozs7b0JBQzlCLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDekMscUJBQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsZUFBZSxDQUFDLEVBQUE7O29CQUFuRCxTQUFtRCxDQUFDO29CQUNwRCxNQUFNLENBQUMsYUFBTSxDQUFDLENBQUMsb0JBQW9CLENBQUMsY0FBYyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsZUFBZSxDQUFDLENBQUM7Ozs7U0FDNUYsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLG1DQUFtQyxFQUFFOzs7OztvQkFDaEMsTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO29CQUN6QyxxQkFBTSxNQUFNLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxlQUFlLENBQUMsRUFBQTs7b0JBQTNELFNBQTJELENBQUM7b0JBRTVELE1BQU0sQ0FBQyxhQUFNLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQzs7OztTQUMzRixDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsNkJBQTZCLEVBQUU7Ozs7O29CQUMxQixNQUFNLEdBQUcsSUFBSSxlQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBQ25DLEdBQUcsR0FBRyw2QkFBNkIsQ0FBQztvQkFDcEMsT0FBTyxHQUFHLEVBQUUsQ0FBQztvQkFDYixLQUFLLEdBQUcsRUFBRSxDQUFDO29CQUNYLFVBQVUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztvQkFDN0IsT0FBTyxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO29CQUM1QixXQUFXLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7b0JBQ25DLHFCQUFNLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEVBQUE7O29CQUE1RixTQUE0RixDQUFDO29CQUU3RixNQUFNLENBQUMsZ0JBQVEsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO3dCQUNwQyxPQUFPLEVBQUUsY0FBYzt3QkFDdkIsR0FBRyxLQUFBO3dCQUNILFdBQVcsRUFBRSxPQUFPO3dCQUNwQixLQUFLLE9BQUE7d0JBQ0wsUUFBUSxFQUFFLGVBQWU7d0JBQ3pCLFVBQVUsWUFBQTt3QkFDVixPQUFPLFNBQUE7d0JBQ1AsV0FBVyxhQUFBO3FCQUNaLENBQUMsQ0FBQzs7OztTQUNKLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxtQ0FBbUMsRUFBRTs7Ozs7b0JBQ2hDLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDbkMsZUFBZSxHQUFHLEVBQUUsQ0FBQztvQkFFM0IscUJBQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQyxFQUFBOztvQkFBdEUsU0FBc0UsQ0FBQztvQkFDdkUsTUFBTSxDQUFDLGVBQVEsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQyxDQUFDOzs7O1NBQ3hHLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywwQ0FBMEMsRUFBRTtRQUM3QyxJQUFNLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6QyxJQUFNLGdCQUFnQixHQUFHO1lBQ3ZCLElBQUksRUFBRTtnQkFDSixNQUFNLEVBQUUsQ0FBQzthQUNWO1NBQ0YsQ0FBQztRQUNGLElBQU0sR0FBRyxHQUFHLElBQUksQ0FBQztRQUNqQixNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2RCxNQUFNLENBQUMscUJBQVMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDL0YsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsNkNBQTZDLEVBQUU7UUFDaEQsSUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDekMsSUFBTSxnQkFBZ0IsR0FBRztZQUN2QixJQUFJLEVBQUU7Z0JBQ0osTUFBTSxFQUFFLENBQUM7YUFDVjtTQUNGLENBQUM7UUFDRixNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sQ0FBQyxxQkFBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsY0FBYyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywrQkFBK0IsRUFBRTs7Ozs7b0JBQzVCLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDbkMsSUFBSSxHQUFHLFNBQVMsQ0FBQztvQkFDakIsYUFBYSxHQUFHLEVBQUUsQ0FBQztvQkFDbkIsWUFBWSxHQUFHLEVBQUUsQ0FBQztvQkFDbEIsS0FBSyxHQUFHLEVBQUUsQ0FBQztvQkFFakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFNLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQWpCLENBQWlCLENBQUMsQ0FBQztvQkFFbkYscUJBQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsZUFBZSxDQUFDLEVBQUE7O29CQUE5RSxTQUE4RSxDQUFDO29CQUUvRSxNQUFNLENBQUMsZUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQzt3QkFDdkQsTUFBTSxFQUFFLGFBQWE7d0JBQ3JCLElBQUksRUFBRSxXQUFXO3FCQUNsQixDQUFDLENBQUM7b0JBRUgsTUFBTSxDQUFDLGVBQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQzlELE1BQU0sQ0FBQyxlQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxDQUFDO29CQUMzRSxNQUFNLENBQUMsZUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQzs7OztTQUM1RCxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsMERBQTBELEVBQUU7Ozs7O29CQUN2RCxNQUFNLEdBQUcsSUFBSSxlQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBQ25DLElBQUksR0FBRyxTQUFTLENBQUM7b0JBQ2pCLGFBQWEsR0FBRyxFQUFFLENBQUM7b0JBQ25CLFlBQVksR0FBRyxFQUFFLENBQUM7b0JBRXhCLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBTSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFNLE9BQUEsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFqQixDQUFpQixDQUFDLENBQUM7b0JBRW5GLHFCQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUMsRUFBQTs7b0JBQXRELFNBQXNELENBQUM7b0JBRXZELE1BQU0sQ0FBQyxlQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO3dCQUN2RCxNQUFNLEVBQUUsYUFBYTt3QkFDckIsSUFBSSxFQUFFLFdBQVc7cUJBQ2xCLENBQUMsQ0FBQztvQkFFSCxNQUFNLENBQUMsZUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQzs7OztTQUM1RCxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsbUJBQW1CLEVBQUU7Ozs7O29CQUNoQixNQUFNLEdBQUcsSUFBSSxlQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBQ25DLElBQUksR0FBRyxTQUFTLENBQUM7b0JBQ2pCLGFBQWEsR0FBRyxFQUFFLENBQUM7b0JBQ25CLFlBQVksR0FBRyxFQUFFLENBQUM7b0JBQ2xCLEtBQUssR0FBRyxFQUFFLENBQUM7b0JBQ1gsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBRWhELElBQUksR0FBRyxJQUFJLGdDQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBRXhDLE1BQU0sQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQyxDQUFDO29CQUV2QyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsa0JBQWtCLENBQUMsVUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBVSxPQUFBLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBUixDQUFRLENBQUMsQ0FBQztvQkFFeEYscUJBQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsZUFBZSxDQUFDLEVBQUE7O29CQUE5RSxTQUE4RSxDQUFDO29CQUUvRSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7Ozs7U0FDaEQsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLG9DQUFvQyxFQUFFOzs7OztvQkFDakMsTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO29CQUNuQyxLQUFLLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDcEIsYUFBYSxHQUFHLEVBQUUsQ0FBQztvQkFDbkIsWUFBWSxHQUFHLEVBQUUsQ0FBQztvQkFDbEIsS0FBSyxHQUFHLEVBQUUsQ0FBQztvQkFFakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFNLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQWpCLENBQWlCLENBQUMsQ0FBQztvQkFFeEYscUJBQU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsZUFBZSxDQUFDLEVBQUE7O29CQUFwRixTQUFvRixDQUFDO29CQUVyRixNQUFNLENBQUMsZUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQzt3QkFDdkQsTUFBTSxFQUFFLGFBQWE7d0JBQ3JCLElBQUksRUFBRSxXQUFXO3FCQUNsQixDQUFDLENBQUM7b0JBRUgsTUFBTSxDQUFDLGVBQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQzlELE1BQU0sQ0FBQyxlQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxDQUFDO29CQUMzRSxNQUFNLENBQUMsZUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7OztTQUNsRSxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsbURBQW1ELEVBQUU7Ozs7O29CQUNoRCxNQUFNLEdBQUcsSUFBSSxlQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBQ25DLEtBQUssR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUNwQixhQUFhLEdBQUcsRUFBRSxDQUFDO29CQUNuQixZQUFZLEdBQUcsRUFBRSxDQUFDO29CQUV4QixJQUFJLENBQUMsS0FBSyxDQUFDLGVBQU0sQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLENBQUMsa0JBQWtCLENBQUMsY0FBTSxPQUFBLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBakIsQ0FBaUIsQ0FBQyxDQUFDO29CQUV4RixxQkFBTSxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsWUFBWSxDQUFDLEVBQUE7O29CQUE1RCxTQUE0RCxDQUFDO29CQUU3RCxNQUFNLENBQUMsZUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQzt3QkFDdkQsTUFBTSxFQUFFLGFBQWE7d0JBQ3JCLElBQUksRUFBRSxXQUFXO3FCQUNsQixDQUFDLENBQUM7b0JBRUgsTUFBTSxDQUFDLGVBQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7Ozs7U0FDbEUsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLG1DQUFtQyxFQUFFOzs7OztvQkFDaEMsTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO29CQUNuQyxLQUFLLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDcEIsYUFBYSxHQUFHLEVBQUUsQ0FBQztvQkFDbkIsWUFBWSxHQUFHLEVBQUUsQ0FBQztvQkFDbEIsS0FBSyxHQUFHLEVBQUUsQ0FBQztvQkFFakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFNLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQWpCLENBQWlCLENBQUMsQ0FBQztvQkFFbEYsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBRWhELElBQUksR0FBRyxJQUFJLGdDQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBRXhDLE1BQU0sQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQyxDQUFDO29CQUV2QyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsa0JBQWtCLENBQUMsVUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBVSxPQUFBLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBUixDQUFRLENBQUMsQ0FBQztvQkFFeEYscUJBQU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsZUFBZSxDQUFDLEVBQUE7O29CQUFwRixTQUFvRixDQUFDO29CQUVyRixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7Ozs7U0FDaEQsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL2NsaWVudC5zcGVjLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yIH0gZnJvbSAnLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi8uLi9jb25maWcnO1xuaW1wb3J0IHsgQ2xpZW50IH0gZnJvbSAnLi9jbGllbnQnO1xuaW1wb3J0IHsgQ2xvdWRDbGllbnQgfSBmcm9tICcuL2FwaS9jbG91ZCc7XG5pbXBvcnQgeyBVcGxvYWQgfSBmcm9tICcuL2FwaS91cGxvYWQvdXBsb2FkJztcbmltcG9ydCB7IHBpY2tlciB9IGZyb20gJy4vcGlja2VyJztcbmltcG9ydCB7IHByZXZpZXcgfSBmcm9tICcuL2FwaS9wcmV2aWV3JztcbmltcG9ydCB7IG1ldGFkYXRhLCByZW1vdmUsIHJldHJpZXZlIH0gZnJvbSAnLi9hcGkvZmlsZSc7XG5pbXBvcnQgeyBzdG9yZVVSTCB9IGZyb20gJy4vYXBpL3N0b3JlJztcbmltcG9ydCB7IHRyYW5zZm9ybSB9IGZyb20gJy4vYXBpL3RyYW5zZm9ybSc7XG5cbmplc3QubW9jaygnLi9hcGkvdXBsb2FkL3VwbG9hZCcpO1xuamVzdC5tb2NrKCcuL2FwaS9jbG91ZCcpO1xuamVzdC5tb2NrKCcuL2FwaS9maWxlJyk7XG5qZXN0Lm1vY2soJy4vYXBpL3N0b3JlJyk7XG5qZXN0Lm1vY2soJy4vcGlja2VyJyk7XG5qZXN0Lm1vY2soJy4vYXBpL3ByZXZpZXcnKTtcbmplc3QubW9jaygnLi9hcGkvdHJhbnNmb3JtJyk7XG5cbmRlc2NyaWJlKCdjbGllbnQnLCAoKSA9PiB7XG4gIGNvbnN0IGRlZmF1bHRBcGlrZXkgPSAnRVhBTVBMRV9BUElfS0VZJztcbiAgY29uc3QgZGVmYXVsdEhhbmRsZSA9ICdFWEFNUExFX0hBTkRMRSc7XG4gIGNvbnN0IGRlZmF1bHRTZWN1cml0eSA9IHtcbiAgICBwb2xpY3k6ICdleGFtcGxlUG9saWN5JyxcbiAgICBzaWduYXR1cmU6ICdleGFtcGxlU2lnbmF0dXJlJyxcbiAgfTtcblxuICBjb25zdCBzZXNzaW9uVVJscyA9IGNvbmZpZy51cmxzO1xuICBjb25zdCBkZWZhdWx0U2Vzc2lvbiA9IHtcbiAgICBhcGlrZXk6IGRlZmF1bHRBcGlrZXksXG4gICAgdXJsczogc2Vzc2lvblVSbHMsXG4gIH07XG5cbiAgaXQoJ3Nob3VsZCBwcm9wZXJseSBpbnN0YW50aWF0ZSBDbGllbnQnLCAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBleHBlY3QoY2xpZW50KS50b0JlRGVmaW5lZCgpO1xuICAgIGV4cGVjdChjbGllbnQpLnRvQmVJbnN0YW5jZU9mKENsaWVudCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3IgaWYgYXBpIGtleSBub3QgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgZXhwZWN0KCgpID0+IHtcbiAgICAgIHJldHVybiBuZXcgQ2xpZW50KCcnKTtcbiAgICB9KS50b1Rocm93KCdBbiBhcGlrZXkgaXMgcmVxdWlyZWQgdG8gaW5pdGlhbGl6ZSB0aGUgRmlsZXN0YWNrIGNsaWVudCcpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIGlmIHByb3ZpZGVkIHNlY3VyaXR5IHdpdGhvdXQgc2lnbmF0dXJlJywgKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBzZWN1cml0eToge1xuICAgICAgICBwb2xpY3k6ICdleGFtcGxlUG9saWN5JyxcbiAgICAgICAgc2lnbmF0dXJlOiAnJyxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSwgb3B0aW9ucyk7XG4gICAgfSkudG9UaHJvdygnQm90aCBwb2xpY3kgYW5kIHNpZ25hdHVyZSBhcmUgcmVxdWlyZWQgZm9yIGNsaWVudCBzZWN1cml0eScpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHBhc3MgcG9saWN5ICYgc2lnbmF0dXJlIHRvIHRoZSBzZXNzaW9uJywgKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBzZWN1cml0eTogZGVmYXVsdFNlY3VyaXR5LFxuICAgIH07XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5LCBvcHRpb25zKTtcbiAgICBleHBlY3QoY2xpZW50LnNlc3Npb24ucG9saWN5KS50b0JlKG9wdGlvbnMuc2VjdXJpdHkucG9saWN5KTtcbiAgICBleHBlY3QoY2xpZW50LnNlc3Npb24uc2lnbmF0dXJlKS50b0JlKG9wdGlvbnMuc2VjdXJpdHkuc2lnbmF0dXJlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBwYXNzIGNuYW1lIHRvIHRoZSBzZXNzaW9uJywgKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBjbmFtZTogJ3Rlc3RDbmFtZS5jb20nLFxuICAgIH07XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5LCBvcHRpb25zKTtcbiAgICBleHBlY3QoY2xpZW50LnNlc3Npb24uY25hbWUpLnRvQmUob3B0aW9ucy5jbmFtZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byBsb2dvdXQgZm9yIHByb3ZpZWQgY2xvdWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCBjbG91ZE5hbWUgPSAnZHJvcGJveCc7XG4gICAgYXdhaXQgY2xpZW50LmxvZ291dChjbG91ZE5hbWUpO1xuXG4gICAgZXhwZWN0KENsb3VkQ2xpZW50LnByb3RvdHlwZS5sb2dvdXQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGNsb3VkTmFtZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZ2V0IG1ldGFkYXRhIGZvciBhIHByb3ZpZGVkIGhhbmRsZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBzaGEyMjQ6IHRydWUsXG4gICAgfTtcblxuICAgIGF3YWl0IGNsaWVudC5tZXRhZGF0YShkZWZhdWx0SGFuZGxlLCBvcHRpb25zLCBkZWZhdWx0U2VjdXJpdHkpO1xuICAgIGV4cGVjdChtZXRhZGF0YSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZGVmYXVsdFNlc3Npb24sIGRlZmF1bHRIYW5kbGUsIG9wdGlvbnMsIGRlZmF1bHRTZWN1cml0eSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byBvcGVuIHBpY2tlcicsICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IHBpY2tlck9wdGlvbnMgPSB7XG4gICAgICBsYW5nOiAnZGUnLFxuICAgIH07XG4gICAgY2xpZW50LnBpY2tlcihwaWNrZXJPcHRpb25zKTtcblxuICAgIGV4cGVjdChwaWNrZXIpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGNsaWVudCwgcGlja2VyT3B0aW9ucyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byBvcGVuIHByZXZpZXcnLCAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCBwcmV2aWV3T3B0aW9ucyA9IHtcbiAgICAgIGlkOiAndGVzdEVsZW1lbnQnLFxuICAgIH07XG4gICAgY2xpZW50LnByZXZpZXcoZGVmYXVsdEhhbmRsZSwgcHJldmlld09wdGlvbnMpO1xuXG4gICAgZXhwZWN0KHByZXZpZXcpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCBwcmV2aWV3T3B0aW9ucyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byByZW1vdmUgaGFuZGxlJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSk7XG4gICAgYXdhaXQgY2xpZW50LnJlbW92ZShkZWZhdWx0SGFuZGxlLCBkZWZhdWx0U2VjdXJpdHkpO1xuICAgIGV4cGVjdChyZW1vdmUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCBmYWxzZSwgZGVmYXVsdFNlY3VyaXR5KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBiZSBhYmxlIHRvIHJlbW92ZSBtZXRhZGF0YScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGF3YWl0IGNsaWVudC5yZW1vdmVNZXRhZGF0YShkZWZhdWx0SGFuZGxlLCBkZWZhdWx0U2VjdXJpdHkpO1xuXG4gICAgZXhwZWN0KHJlbW92ZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZGVmYXVsdFNlc3Npb24sIGRlZmF1bHRIYW5kbGUsIHRydWUsIGRlZmF1bHRTZWN1cml0eSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byBzdG9yZSB1cmwnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCB1cmwgPSAnaHR0cDovL2V4YW1wbGUuY29tL2ltZzMuanBnJztcbiAgICBjb25zdCBvcHRpb25zID0ge307XG4gICAgY29uc3QgdG9rZW4gPSB7fTtcbiAgICBjb25zdCB1cGxvYWRUYWdzID0geyB0ZXN0OiAnMTIzJyB9O1xuICAgIGNvbnN0IGhlYWRlcnMgPSB7ICd0ZXN0JzogJzEyMycgfTtcbiAgICBjb25zdCB3b3JrZmxvd0lkcyA9IFsnMTIzJywgJzMyMSddO1xuICAgIGF3YWl0IGNsaWVudC5zdG9yZVVSTCh1cmwsIG9wdGlvbnMsIHRva2VuLCBkZWZhdWx0U2VjdXJpdHksIHVwbG9hZFRhZ3MsaGVhZGVycywgd29ya2Zsb3dJZHMpO1xuXG4gICAgZXhwZWN0KHN0b3JlVVJMKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7XG4gICAgICBzZXNzaW9uOiBkZWZhdWx0U2Vzc2lvbixcbiAgICAgIHVybCxcbiAgICAgIHN0b3JlUGFyYW1zOiBvcHRpb25zLFxuICAgICAgdG9rZW4sXG4gICAgICBzZWN1cml0eTogZGVmYXVsdFNlY3VyaXR5LFxuICAgICAgdXBsb2FkVGFncyxcbiAgICAgIGhlYWRlcnMsXG4gICAgICB3b3JrZmxvd0lkcyxcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBiZSBhYmxlIHRvIHJldHJpZXZlIGhhbmRsZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IHJldHJpZXZlT3B0aW9ucyA9IHt9O1xuXG4gICAgYXdhaXQgY2xpZW50LnJldHJpZXZlKGRlZmF1bHRIYW5kbGUsIHJldHJpZXZlT3B0aW9ucywgZGVmYXVsdFNlY3VyaXR5KTtcbiAgICBleHBlY3QocmV0cmlldmUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCByZXRyaWV2ZU9wdGlvbnMsIGRlZmF1bHRTZWN1cml0eSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byB0cmFuc2Zvcm0gdXJsIHdpdGggYjY0JywgKCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSk7XG4gICAgY29uc3QgdHJhbnNmb3JtT3B0aW9ucyA9IHtcbiAgICAgIGJsdXI6IHtcbiAgICAgICAgYW1vdW50OiA1LFxuICAgICAgfSxcbiAgICB9O1xuICAgIGNvbnN0IGI2NCA9IHRydWU7XG4gICAgY2xpZW50LnRyYW5zZm9ybShkZWZhdWx0SGFuZGxlLCB0cmFuc2Zvcm1PcHRpb25zLCBiNjQpO1xuICAgIGV4cGVjdCh0cmFuc2Zvcm0pLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCB0cmFuc2Zvcm1PcHRpb25zLCBiNjQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGJlIGFibGUgdG8gdHJhbnNmb3JtIHVybCB3aXRob3V0IGI2NCcsICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IHRyYW5zZm9ybU9wdGlvbnMgPSB7XG4gICAgICBibHVyOiB7XG4gICAgICAgIGFtb3VudDogNSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBjbGllbnQudHJhbnNmb3JtKGRlZmF1bHRIYW5kbGUsIHRyYW5zZm9ybU9wdGlvbnMpO1xuICAgIGV4cGVjdCh0cmFuc2Zvcm0pLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCB0cmFuc2Zvcm1PcHRpb25zLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byB1cGxvYWQgZmlsZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IGZpbGUgPSAnYW55RmlsZSc7XG4gICAgY29uc3QgdXBsb2FkT3B0aW9ucyA9IHt9O1xuICAgIGNvbnN0IHN0b3JlT3B0aW9ucyA9IHt9O1xuICAgIGNvbnN0IHRva2VuID0ge307XG5cbiAgICBqZXN0LnNweU9uKFVwbG9hZC5wcm90b3R5cGUsICd1cGxvYWQnKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCkpO1xuXG4gICAgYXdhaXQgY2xpZW50LnVwbG9hZChmaWxlLCB1cGxvYWRPcHRpb25zLCBzdG9yZU9wdGlvbnMsIHRva2VuLCBkZWZhdWx0U2VjdXJpdHkpO1xuXG4gICAgZXhwZWN0KFVwbG9hZC5wcm90b3R5cGUuc2V0U2Vzc2lvbikudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgYXBpa2V5OiBkZWZhdWx0QXBpa2V5LFxuICAgICAgdXJsczogc2Vzc2lvblVSbHMsXG4gICAgfSk7XG5cbiAgICBleHBlY3QoVXBsb2FkLnByb3RvdHlwZS5zZXRUb2tlbikudG9IYXZlQmVlbkNhbGxlZFdpdGgodG9rZW4pO1xuICAgIGV4cGVjdChVcGxvYWQucHJvdG90eXBlLnNldFNlY3VyaXR5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChkZWZhdWx0U2VjdXJpdHkpO1xuICAgIGV4cGVjdChVcGxvYWQucHJvdG90eXBlLnVwbG9hZCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZmlsZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byB1cGxvYWQgZmlsZSB3aXRob3V0IHRva2VuIGFuZCBzZWN1cml0eScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IGZpbGUgPSAnYW55RmlsZSc7XG4gICAgY29uc3QgdXBsb2FkT3B0aW9ucyA9IHt9O1xuICAgIGNvbnN0IHN0b3JlT3B0aW9ucyA9IHt9O1xuXG4gICAgamVzdC5zcHlPbihVcGxvYWQucHJvdG90eXBlLCAndXBsb2FkJykubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IFByb21pc2UucmVzb2x2ZSgpKTtcblxuICAgIGF3YWl0IGNsaWVudC51cGxvYWQoZmlsZSwgdXBsb2FkT3B0aW9ucywgc3RvcmVPcHRpb25zKTtcblxuICAgIGV4cGVjdChVcGxvYWQucHJvdG90eXBlLnNldFNlc3Npb24pLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHtcbiAgICAgIGFwaWtleTogZGVmYXVsdEFwaWtleSxcbiAgICAgIHVybHM6IHNlc3Npb25VUmxzLFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KFVwbG9hZC5wcm90b3R5cGUudXBsb2FkKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChmaWxlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBlbWl0IGVycm9yJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSk7XG4gICAgY29uc3QgZmlsZSA9ICdhbnlGaWxlJztcbiAgICBjb25zdCB1cGxvYWRPcHRpb25zID0ge307XG4gICAgY29uc3Qgc3RvcmVPcHRpb25zID0ge307XG4gICAgY29uc3QgdG9rZW4gPSB7fTtcbiAgICBjb25zdCBtb2NrT25FcnJvciA9IGplc3QuZm4oKS5tb2NrTmFtZSgnbW9ja09uRXJyb3InKTtcblxuICAgIGNvbnN0IHRlc3QgPSBuZXcgRmlsZXN0YWNrRXJyb3IoJ3Rlc3QnKTtcblxuICAgIGNsaWVudC5vbigndXBsb2FkLmVycm9yJywgbW9ja09uRXJyb3IpO1xuXG4gICAgamVzdC5zcHlPbihVcGxvYWQucHJvdG90eXBlLCAnb24nKS5tb2NrSW1wbGVtZW50YXRpb24oKG5hbWUsIGNiLCBjdHgpOiBhbnkgPT4gY2IodGVzdCkpO1xuXG4gICAgYXdhaXQgY2xpZW50LnVwbG9hZChmaWxlLCB1cGxvYWRPcHRpb25zLCBzdG9yZU9wdGlvbnMsIHRva2VuLCBkZWZhdWx0U2VjdXJpdHkpO1xuXG4gICAgZXhwZWN0KG1vY2tPbkVycm9yKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh0ZXN0KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBiZSBhYmxlIHRvIG11bHRpdXBsb2FkIGZpbGUnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCBmaWxlcyA9IFsnYW55RmlsZSddO1xuICAgIGNvbnN0IHVwbG9hZE9wdGlvbnMgPSB7fTtcbiAgICBjb25zdCBzdG9yZU9wdGlvbnMgPSB7fTtcbiAgICBjb25zdCB0b2tlbiA9IHt9O1xuXG4gICAgamVzdC5zcHlPbihVcGxvYWQucHJvdG90eXBlLCAnbXVsdGl1cGxvYWQnKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCkpO1xuXG4gICAgYXdhaXQgY2xpZW50Lm11bHRpdXBsb2FkKGZpbGVzLCB1cGxvYWRPcHRpb25zLCBzdG9yZU9wdGlvbnMsIHRva2VuLCBkZWZhdWx0U2VjdXJpdHkpO1xuXG4gICAgZXhwZWN0KFVwbG9hZC5wcm90b3R5cGUuc2V0U2Vzc2lvbikudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgYXBpa2V5OiBkZWZhdWx0QXBpa2V5LFxuICAgICAgdXJsczogc2Vzc2lvblVSbHMsXG4gICAgfSk7XG5cbiAgICBleHBlY3QoVXBsb2FkLnByb3RvdHlwZS5zZXRUb2tlbikudG9IYXZlQmVlbkNhbGxlZFdpdGgodG9rZW4pO1xuICAgIGV4cGVjdChVcGxvYWQucHJvdG90eXBlLnNldFNlY3VyaXR5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChkZWZhdWx0U2VjdXJpdHkpO1xuICAgIGV4cGVjdChVcGxvYWQucHJvdG90eXBlLm11bHRpdXBsb2FkKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChmaWxlcyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY2FsbCBtdWx0aXVwbG9hZCB3aXRob3V0IHNlY3VyaXR5IG9yIHRva2VuJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSk7XG4gICAgY29uc3QgZmlsZXMgPSBbJ2FueUZpbGUnXTtcbiAgICBjb25zdCB1cGxvYWRPcHRpb25zID0ge307XG4gICAgY29uc3Qgc3RvcmVPcHRpb25zID0ge307XG5cbiAgICBqZXN0LnNweU9uKFVwbG9hZC5wcm90b3R5cGUsICdtdWx0aXVwbG9hZCcpLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBQcm9taXNlLnJlc29sdmUoKSk7XG5cbiAgICBhd2FpdCBjbGllbnQubXVsdGl1cGxvYWQoZmlsZXMsIHVwbG9hZE9wdGlvbnMsIHN0b3JlT3B0aW9ucyk7XG5cbiAgICBleHBlY3QoVXBsb2FkLnByb3RvdHlwZS5zZXRTZXNzaW9uKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7XG4gICAgICBhcGlrZXk6IGRlZmF1bHRBcGlrZXksXG4gICAgICB1cmxzOiBzZXNzaW9uVVJscyxcbiAgICB9KTtcblxuICAgIGV4cGVjdChVcGxvYWQucHJvdG90eXBlLm11bHRpdXBsb2FkKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChmaWxlcyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZW1pdCBlcnJvciBmb3IgbXVsdGl1cGxvYWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCBmaWxlcyA9IFsnYW55RmlsZSddO1xuICAgIGNvbnN0IHVwbG9hZE9wdGlvbnMgPSB7fTtcbiAgICBjb25zdCBzdG9yZU9wdGlvbnMgPSB7fTtcbiAgICBjb25zdCB0b2tlbiA9IHt9O1xuXG4gICAgamVzdC5zcHlPbihVcGxvYWQucHJvdG90eXBlLCAnbXVsdGl1cGxvYWQnKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCkpO1xuXG4gICAgY29uc3QgbW9ja09uRXJyb3IgPSBqZXN0LmZuKCkubW9ja05hbWUoJ21vY2tPbkVycm9yJyk7XG5cbiAgICBjb25zdCB0ZXN0ID0gbmV3IEZpbGVzdGFja0Vycm9yKCd0ZXN0Jyk7XG5cbiAgICBjbGllbnQub24oJ3VwbG9hZC5lcnJvcicsIG1vY2tPbkVycm9yKTtcblxuICAgIGplc3Quc3B5T24oVXBsb2FkLnByb3RvdHlwZSwgJ29uJykubW9ja0ltcGxlbWVudGF0aW9uKChuYW1lLCBjYiwgY3R4KTogYW55ID0+IGNiKHRlc3QpKTtcblxuICAgIGF3YWl0IGNsaWVudC5tdWx0aXVwbG9hZChmaWxlcywgdXBsb2FkT3B0aW9ucywgc3RvcmVPcHRpb25zLCB0b2tlbiwgZGVmYXVsdFNlY3VyaXR5KTtcblxuICAgIGV4cGVjdChtb2NrT25FcnJvcikudG9IYXZlQmVlbkNhbGxlZFdpdGgodGVzdCk7XG4gIH0pO1xufSk7XG4iXX0=

@@ -375,3 +375,3 @@ import { Client } from './client';

* Customize the text on the cloud authentication screen in Picker.
* Use a cloud source name (see [[PickerOptions.fromSources]])
* Use a cloud source name (see {@link PickerOptions.fromSources})
* or a 'default' as a key, then put your custom notice or consent

@@ -378,0 +378,0 @@ * to the 'top' or the 'bottom' key to show it respectivly above or under 'Connect button'.

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.picker = exports.PickerDisplayMode = exports.RotateDirection = void 0;
var tslib_1 = require("tslib");

@@ -43,3 +44,3 @@ var loader_1 = require("@filestack/loader");

function PickerLoader(client, options) {
var validateRes = schema_1.getValidator(schema_1.PickerParamsSchema)(options);
var validateRes = (0, schema_1.getValidator)(schema_1.PickerParamsSchema)(options);
if (validateRes.errors.length) {

@@ -121,3 +122,3 @@ throw new filestack_error_1.FilestackError("Invalid picker params", validateRes.errors, filestack_error_1.FilestackErrorType.VALIDATION);

url = client.session.urls.pickerUrl;
return [4 /*yield*/, loader_1.loadModule(loader_1.FILESTACK_MODULES.PICKER, url)];
return [4 /*yield*/, (0, loader_1.loadModule)(loader_1.FILESTACK_MODULES.PICKER, url)];
case 1:

@@ -139,6 +140,7 @@ Picker = _a.sent();

*/
exports.picker = function (client, options) {
var picker = function (client, options) {
return new PickerLoader(client, options);
};
exports.picker = picker;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcGlja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7OztBQUVILDRDQUFrRTtBQUNsRSx3REFBMEU7QUFHMUUsc0NBQStEO0FBK0QvRCxJQUFZLGVBR1g7QUFIRCxXQUFZLGVBQWU7SUFDekIsNEJBQVMsQ0FBQTtJQUNULDhCQUFVLENBQUE7QUFDWixDQUFDLEVBSFcsZUFBZSxHQUFmLHVCQUFlLEtBQWYsdUJBQWUsUUFHMUI7QUErR0QsSUFBWSxpQkFJWDtBQUpELFdBQVksaUJBQWlCO0lBQzNCLHNDQUFpQixDQUFBO0lBQ2pCLHdDQUFtQixDQUFBO0lBQ25CLDBDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyxpQkFBaUIsR0FBakIseUJBQWlCLEtBQWpCLHlCQUFpQixRQUk1QjtBQTZpQkQ7Ozs7O0dBS0c7QUFDSDtJQUdFLHNCQUFZLE1BQWMsRUFBRSxPQUF1QjtRQUNqRCxJQUFNLFdBQVcsR0FBRyxxQkFBWSxDQUFDLDJCQUFrQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUQsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUM3QixNQUFNLElBQUksZ0NBQWMsQ0FBQyx1QkFBdUIsRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFLG9DQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3RHO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUssMkJBQUksR0FBVjs7Ozs7NEJBQ2lCLHFCQUFNLElBQUksQ0FBQyxZQUFZLEVBQUE7O3dCQUFoQyxNQUFNLEdBQUcsU0FBdUI7d0JBQ3RDLHFCQUFNLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBQTs7d0JBQW5CLFNBQW1CLENBQUM7Ozs7O0tBQ3JCO0lBRUssMkJBQUksR0FBVixVQUFXLEtBQVk7Ozs7OzRCQUNOLHFCQUFNLElBQUksQ0FBQyxZQUFZLEVBQUE7O3dCQUFoQyxNQUFNLEdBQUcsU0FBdUI7d0JBQ3RDLHFCQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUE7O3dCQUF4QixTQUF3QixDQUFDOzs7OztLQUMxQjtJQUVLLDRCQUFLLEdBQVg7Ozs7OzRCQUNpQixxQkFBTSxJQUFJLENBQUMsWUFBWSxFQUFBOzt3QkFBaEMsTUFBTSxHQUFHLFNBQXVCO3dCQUN0QyxxQkFBTSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUE7O3dCQUFwQixTQUFvQixDQUFDOzs7OztLQUN0QjtJQUVLLDZCQUFNLEdBQVo7Ozs7OzRCQUNpQixxQkFBTSxJQUFJLENBQUMsWUFBWSxFQUFBOzt3QkFBaEMsTUFBTSxHQUFHLFNBQXVCO3dCQUN0QyxxQkFBTSxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUE7O3dCQUFyQixTQUFxQixDQUFDOzs7OztLQUN2QjtJQUVhLGlDQUFVLEdBQXhCLFVBQXlCLE1BQWMsRUFBRSxPQUF1Qjs7Ozs7O3dCQUN4QixHQUFHLEdBQVMsTUFBTSx1QkFBZixDQUFnQjt3QkFDMUMscUJBQU0sbUJBQVUsQ0FBQywwQkFBaUIsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUE7O3dCQUF4RCxNQUFNLEdBQUcsU0FBK0M7d0JBQzlELHNCQUFPLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBQzs7OztLQUNwQztJQUNILG1CQUFDO0FBQUQsQ0F0Q0EsQUFzQ0MsSUFBQTtBQUVEOzs7Ozs7R0FNRztBQUNVLFFBQUEsTUFBTSxHQUFHLFVBQUMsTUFBYyxFQUFFLE9BQXVCO0lBQzVELE9BQU8sSUFBSSxZQUFZLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvcGlja2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBsb2FkTW9kdWxlLCBGSUxFU1RBQ0tfTU9EVUxFUyB9IGZyb20gJ0BmaWxlc3RhY2svbG9hZGVyJztcbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yLCBGaWxlc3RhY2tFcnJvclR5cGUgfSBmcm9tICcuLy4uL2ZpbGVzdGFja19lcnJvcic7XG5pbXBvcnQgeyBDbGllbnQgfSBmcm9tICcuL2NsaWVudCc7XG5pbXBvcnQgeyBGU1Byb2dyZXNzRXZlbnQsIFVwbG9hZE9wdGlvbnMsIFdvcmtmbG93Q29uZmlnIH0gZnJvbSAnLi9hcGkvdXBsb2FkL3R5cGVzJztcbmltcG9ydCB7IGdldFZhbGlkYXRvciwgUGlja2VyUGFyYW1zU2NoZW1hIH0gZnJvbSAnLi8uLi9zY2hlbWEnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlckluc3RhbmNlIHtcbiAgLyoqXG4gICAqIENsb3NlIHBpY2tlci4gVGhpcyBvcGVyYXRpb24gaXMgaWRlbXBvdGVudC5cbiAgICovXG4gIGNsb3NlOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBDYW5jZWwgcGlja2VyIHVwbG9hZHMuIFRoaXMgb3BlcmF0aW9uIGlzIGlkZW1wb3RlbnQuXG4gICAqL1xuICBjYW5jZWw6ICgpID0+IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIE9wZW4gcGlja2VyLiBUaGlzIG9wZXJhdGlvbiBpcyBpZGVtcG90ZW50LlxuICAgKi9cbiAgb3BlbjogKCkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogU3BlY2lmeSBhIGxpc3Qgb2YgZmlsZXMgdG8gb3BlbiBpbiB0aGUgcGlja2VyIGZvciBjcm9wcGluZ1xuICAgKlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiAvLyA8aW5wdXQgaWQ9XCJmaWxlU2VsZWN0XCIgdHlwZT1cImZpbGVcIj5cbiAgICpcbiAgICogY29uc3QgaW5wdXRFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaWxlU2VsZWN0Jyk7XG4gICAqIGNvbnN0IHBpY2tlciA9IGNsaWVudC5waWNrZXIoe1xuICAgKiAgIG9uVXBsb2FkRG9uZTogcmVzID0+IGNvbnNvbGUubG9nKHJlcyksXG4gICAqIH0pO1xuICAgKlxuICAgKiBpbnB1dEVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlKSA9PiB7XG4gICAqICAgcGlja2VyLmNyb3AoZS50YXJnZXQuZmlsZXMpO1xuICAgKiB9KTtcbiAgICpcbiAgICogLy8gT3IgcGFzcyBhbiBhcnJheSBvZiBVUkwgc3RyaW5nc1xuICAgKiBjb25zdCB1cmxzID0gW1xuICAgKiAgICdodHRwczovL2Qxd3RxYWZmYWFqNjN6LmNsb3VkZnJvbnQubmV0L2ltYWdlcy9mb3hfaW5fZm9yZXN0MS5qcGcnLFxuICAgKiAgICdodHRwczovL2Qxd3RxYWZmYWFqNjN6LmNsb3VkZnJvbnQubmV0L2ltYWdlcy9zYWlsLmpwZycsXG4gICAqIF07XG4gICAqIHBpY2tlci5jcm9wKHVybHMpO1xuICAgKiBgYGBcbiAgICovXG4gIGNyb3A6IChmaWxlczogYW55W10pID0+IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyQ3JvcHBlZERhdGEge1xuICBjcm9wQXJlYToge1xuICAgIC8qKlxuICAgICAqIFt4LCB5XVxuICAgICAqL1xuICAgIHBvc2l0aW9uOiBbbnVtYmVyLCBudW1iZXJdO1xuICAgIC8qKlxuICAgICAqIFt3aWR0aCwgaGVpZ2h0XVxuICAgICAqL1xuICAgIHNpemU6IFtudW1iZXIsIG51bWJlcl07XG4gIH07XG4gICAgLyoqXG4gICAgICogW3dpZHRoLCBoZWlnaHRdXG4gICAgICovXG4gIG9yaWdpbmFsSW1hZ2VTaXplOiBbbnVtYmVyLCBudW1iZXJdO1xufVxuXG5leHBvcnQgZW51bSBSb3RhdGVEaXJlY3Rpb24ge1xuICBjdyA9ICdDVycsXG4gIGNjdz0gJ0NDVycsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyUm90YXRlZERhdGEge1xuICAvKipcbiAgICogQW1vdW50IHJvdGF0ZWQgaW4gZGVncmVlcy5cbiAgICovXG4gIHZhbHVlOiBudW1iZXI7XG4gIC8qKlxuICAgKiBDYW4gYmUgQ1cgb3IgQ0NXIChjbG9ja3dpc2UgLyBjb3VudGVyLWNsb2Nrd2lzZSlcbiAgICovXG4gIGRpcmVjdGlvbjogUm90YXRlRGlyZWN0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlckZpbGVNZXRhZGF0YSB7XG4gIC8qKlxuICAgKiBUaGUgY2xvdWQgY29udGFpbmVyIGZvciB0aGUgdXBsb2FkZWQgZmlsZS5cbiAgICovXG4gIGNvbnRhaW5lcj86IHN0cmluZztcbiAgLyoqXG4gICAqIFBvc2l0aW9uIGFuZCBzaXplIGluZm9ybWF0aW9uIGZvciBjcm9wcGVkIGltYWdlcy5cbiAgICovXG4gIGNyb3BwZWQ/OiBQaWNrZXJDcm9wcGVkRGF0YTtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGZpbGUuXG4gICAqL1xuICBmaWxlbmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogRmlsZXN0YWNrIGhhbmRsZSBmb3IgdGhlIHVwbG9hZGVkIGZpbGUuXG4gICAqL1xuICBoYW5kbGU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBoYXNoLXByZWZpeGVkIGNsb3VkIHN0b3JhZ2UgcGF0aC5cbiAgICovXG4gIGtleT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBNSU1FIHR5cGUgb2YgdGhlIGZpbGUuXG4gICAqL1xuICBtaW1ldHlwZTogc3RyaW5nO1xuICAvKipcbiAgICogUHJvcGVydGllcyBvZiB0aGUgbG9jYWwgYmluYXJ5IGZpbGUuIEFsc28gc2VlIHRoZSBwaWNrIG9wdGlvbiBgZXhwb3NlT3JpZ2luYWxGaWxlYCBpZiB5b3Ugd2FudCB0aGUgdW5kZXJseWluZyBgRmlsZWAgb2JqZWN0LlxuICAgKi9cbiAgb3JpZ2luYWxGaWxlPzogb2JqZWN0IHwgRmlsZTtcbiAgLyoqXG4gICAqIFRoZSBvcmlnaW4gb2YgdGhlIGZpbGUsIGUuZy4gL0ZvbGRlci9maWxlLmpwZy5cbiAgICovXG4gIG9yaWdpbmFsUGF0aDogc3RyaW5nO1xuICAvKipcbiAgICogRGlyZWN0aW9uIGFuZCB2YWx1ZSBpbmZvcm1hdGlvbiBmb3Igcm90YXRlZCBpbWFnZXMuXG4gICAqL1xuICByb3RhdGVkPzogUGlja2VyUm90YXRlZERhdGE7XG4gIC8qKlxuICAgKiBTaXplIGluIGJ5dGVzIG9mIHRoZSB1cGxvYWRlZCBmaWxlLlxuICAgKi9cbiAgc2l6ZTogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIHNvdXJjZSBmcm9tIHdoZXJlIHRoZSBmaWxlIHdhcyBwaWNrZWQuXG4gICAqL1xuICBzb3VyY2U6IHN0cmluZztcbiAgLyoqXG4gICAqIEluZGljYXRlcyBGaWxlc3RhY2sgdHJhbnNpdCBzdGF0dXMuXG4gICAqL1xuICBzdGF0dXM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIHV1aWQgZm9yIHRyYWNraW5nIHRoaXMgZmlsZSBpbiBjYWxsYmFja3MuXG4gICAqL1xuICB1cGxvYWRJZDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIEZpbGVzdGFjayBDRE4gVVJMIGZvciB0aGUgdXBsb2FkZWQgZmlsZS5cbiAgICovXG4gIHVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbUF1dGhUZXh0T3B0aW9ucyB7XG4gIFtrZXk6IHN0cmluZ106IHtcbiAgICB0b3A/OiBzdHJpbmdbXSxcbiAgICBib3R0b20/OiBzdHJpbmdbXVxuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlclJlc3BvbnNlIHtcbiAgZmlsZXNVcGxvYWRlZDogUGlja2VyRmlsZU1ldGFkYXRhW107XG4gIGZpbGVzRmFpbGVkOiBQaWNrZXJGaWxlTWV0YWRhdGFbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJGaWxlQ2FsbGJhY2sge1xuICAoZmlsZTogUGlja2VyRmlsZU1ldGFkYXRhKTogdm9pZCB8IFByb21pc2U8YW55Pjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyRmlsZVdpdGhUb2tlbkNhbGxiYWNrIHtcbiAgKGZpbGU6IFBpY2tlckZpbGVNZXRhZGF0YSwgdG9rZW4/OiB7cGF1c2U/OiAoKSA9PiB2b2lkLCByZXN1bWU/OiAoKSA9PiB2b2lkLCBjYW5jZWw/OiAoKSA9PiB2b2lkfSk6IHZvaWQgfCBQcm9taXNlPGFueT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyRmlsZUNhbmNlbENhbGxiYWNrIHtcbiAgKGZpbGU6IFBpY2tlckZpbGVNZXRhZGF0YSk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyRmlsZUVycm9yQ2FsbGJhY2sge1xuICAoZmlsZTogUGlja2VyRmlsZU1ldGFkYXRhLCBlcnJvcjogRXJyb3IpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlckZpbGVQcm9ncmVzc0NhbGxiYWNrIHtcbiAgKGZpbGU6IFBpY2tlckZpbGVNZXRhZGF0YSwgZXZlbnQ6IEZTUHJvZ3Jlc3NFdmVudCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyVXBsb2FkU3RhcnRlZENhbGxiYWNrIHtcbiAgKGZpbGVzOiBQaWNrZXJGaWxlTWV0YWRhdGFbXSk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyVXBsb2FkRG9uZUNhbGxiYWNrIHtcbiAgKGZpbGVzOiBQaWNrZXJSZXNwb25zZSk6IHZvaWQ7XG59XG5cbmV4cG9ydCBlbnVtIFBpY2tlckRpc3BsYXlNb2RlIHtcbiAgaW5saW5lID0gJ2lubGluZScsXG4gIG92ZXJsYXkgPSAnb3ZlcmxheScsXG4gIGRyb3BQYW5lID0gJ2Ryb3BQYW5lJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJEcm9wUGFuZU9wdGlvbnMge1xuICAvKipcbiAgICogVG9nZ2xlIHRoZSBjcm9wIFVJIGZvciBkcm9wcGVkIGZpbGVzLlxuICAgKi9cbiAgY3JvcEZpbGVzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEN1c3RvbWl6ZSB0aGUgdGV4dCBjb250ZW50IGluIHRoZSBkcm9wIHBhbmUuXG4gICAqL1xuICBjdXN0b21UZXh0Pzogc3RyaW5nO1xuICAvKipcbiAgICogRGlzYWJsZSB0aGUgZmlsZSBpbnB1dCBvbiBjbGljay4gVGhpcyBkb2VzIG5vdCBkaXNhYmxlIHRoZSBgb25DbGlja2AgY2FsbGJhY2suXG4gICAqL1xuICBkaXNhYmxlQ2xpY2s/OiBib29sZWFuO1xuICAvKipcbiAgICogVG9nZ2xlIHRoZSBmdWxsLXBhZ2UgZHJvcCB6b25lIG92ZXJsYXkuXG4gICAqL1xuICBvdmVybGF5PzogYm9vbGVhbjtcbiAgb25EcmFnRW50ZXI/OiAoZXZ0OiBEcmFnRXZlbnQpID0+IHZvaWQ7XG4gIG9uRHJhZ0xlYXZlPzogKCkgPT4gdm9pZDtcbiAgb25EcmFnT3Zlcj86IChldnQ6IERyYWdFdmVudCkgPT4gdm9pZDtcbiAgb25Ecm9wPzogKGV2dDogRHJhZ0V2ZW50KSA9PiB2b2lkO1xuICAvKipcbiAgICogYG9uU3VjY2Vzc2AgbXVzdCBiZSB1c2VkIGluc3RlYWQgb2YgYG9uVXBsb2FkRG9uZWAuIFRoZSBkcm9wIHBhbmUgdXNlcyBpdHMgb3duIGNhbGxiYWNrcyBmb3IgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcy4gVGhpcyBtaWdodCBldmVudHVhbGx5IGNoYW5nZS5cbiAgICovXG4gIG9uU3VjY2Vzcz86IChmaWxlczogUGlja2VyRmlsZU1ldGFkYXRhW10pID0+IHZvaWQ7XG4gIG9uRXJyb3I/OiAoZmlsZXM6IFBpY2tlckZpbGVNZXRhZGF0YVtdKSA9PiB2b2lkO1xuICBvblByb2dyZXNzPzogKHBlcmNlbnQ6IG51bWJlcikgPT4gdm9pZDtcbiAgb25DbGljaz86IChldnQ6IGFueSkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIFRvZ2dsZSBpY29uIGVsZW1lbnQgaW4gZHJvcCBwYW5lLlxuICAgKi9cbiAgc2hvd0ljb24/OiBib29sZWFuO1xuICAvKipcbiAgICogVG9nZ2xlIHVwbG9hZCBwcm9ncmVzcyBkaXNwbGF5LlxuICAgKi9cbiAgc2hvd1Byb2dyZXNzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJTdG9yZU9wdGlvbnMge1xuICAvKipcbiAgICogTG9jYXRpb24gZm9yIHN0b3JlZCBmaWxlLiBPbmUgb2YgJ3MzJywgJ2djcycsICdhenVyZScsICdyYWNrc3BhY2UnLCBvciAnZHJvcGJveCcuXG4gICAqL1xuICBsb2NhdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFNwZWNpZnkgc3RvcmFnZSBjb250YWluZXIuXG4gICAqL1xuICBjb250YWluZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTZXQgY29udGFpbmVyIHBhdGguIEluZGljYXRlIGEgZm9sZGVyIGJ5IGFkZGluZyBhIHRyYWlsaW5nIHNsYXNoLiBXaXRob3V0IGEgdHJhaWxpbmcgc2xhc2ggYWxsIGZpbGVzIHdpbGwgYmUgc3RvcmVkIHRvIHRoZSBzYW1lIG9iamVjdC5cbiAgICovXG4gIHBhdGg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTcGVjaWZ5IFMzIHJlZ2lvbi5cbiAgICovXG4gIHJlZ2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFMzIGNvbnRhaW5lciBhY2Nlc3MuICdwdWJsaWMnIG9yICdwcml2YXRlJy5cbiAgICovXG4gIGFjY2Vzcz86IHN0cmluZztcblxuICAvKipcbiAgICogV29ya2Zsb3dzIGlkcyB0byBydW4gYWZ0ZXIgdXBsb2FkXG4gICAqL1xuICB3b3JrZmxvd3M/OiBzdHJpbmdbXSB8IFdvcmtmbG93Q29uZmlnW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyQ3VzdG9tVGV4dCB7XG4gIC8vIEFjdGlvbnNcbiAgVXBsb2FkPzogc3RyaW5nO1xuICAnVXBsb2FkIG1vcmUnPzogc3RyaW5nO1xuICAnRGVzZWxlY3QgQWxsJz86IHN0cmluZztcbiAgJ1ZpZXcvRWRpdCBTZWxlY3RlZCc/OiBzdHJpbmc7XG4gICdTaWduIE91dCc/OiBzdHJpbmc7XG5cbiAgLy8gU291cmNlIExhYmVsc1xuICAnTXkgRGV2aWNlJz86IHN0cmluZztcbiAgJ1dlYiBTZWFyY2gnPzogc3RyaW5nO1xuICAnVGFrZSBQaG90byc/OiBzdHJpbmc7XG4gICdMaW5rIChVUkwpJz86IHN0cmluZztcbiAgJ1JlY29yZCBWaWRlbyc/OiBzdHJpbmc7XG4gICdSZWNvcmQgQXVkaW8nPzogc3RyaW5nO1xuXG4gIC8vIEN1c3RvbSBTb3VyY2VcbiAgJ0N1c3RvbSBTb3VyY2UnPzogc3RyaW5nO1xuXG4gIC8vIEZvb3RlciBUZXh0XG4gIEFkZD86IHN0cmluZztcbiAgJ21vcmUgZmlsZSc/OiBzdHJpbmc7XG4gICdtb3JlIGZpbGVzJz86IHN0cmluZztcblxuICAvLyBDbG91ZFxuICAnQ29ubmVjdCB7cHJvdmlkZXJOYW1lfSc/OiBzdHJpbmc7XG4gICdTZWxlY3QgRmlsZXMgZnJvbSB7cHJvdmlkZXJOYW1lfSc/OiBzdHJpbmc7XG4gICdZb3UgbmVlZCB0byBhdXRoZW50aWNhdGUgd2l0aCB7cHJvdmlkZXJOYW1lfS4nPzogc3RyaW5nO1xuICAnQSBuZXcgcGFnZSB3aWxsIG9wZW4gdG8gY29ubmVjdCB5b3VyIGFjY291bnQuJz86IHN0cmluZztcbiAgJ1dlIG9ubHkgZXh0cmFjdCBpbWFnZXMgYW5kIG5ldmVyIG1vZGlmeSBvciBkZWxldGUgdGhlbS4nPzogc3RyaW5nO1xuICAnVG8gZGlzY29ubmVjdCBmcm9tIHtwcm92aWRlck5hbWV9IGNsaWNrIFwiU2lnbiBvdXRcIiBidXR0b24gaW4gdGhlIG1lbnUuJz86IHN0cmluZztcbiAgJ1NpZ24gaW4gd2l0aCBHb29nbGUnPzogc3RyaW5nO1xuICAnR28gYmFjayc/OiBzdHJpbmc7XG4gICdUaGlzIGZvbGRlciBpcyBlbXB0eS4nPzogc3RyaW5nO1xuXG4gIC8vIFN1bW1hcnlcbiAgRmlsZXM/OiBzdHJpbmc7XG4gIEltYWdlcz86IHN0cmluZztcbiAgVXBsb2FkZWQ/OiBzdHJpbmc7XG4gIFVwbG9hZGluZz86IHN0cmluZztcbiAgQ29tcGxldGVkPzogc3RyaW5nO1xuICBGaWx0ZXI/OiBzdHJpbmc7XG4gICdDcm9wcGVkIEltYWdlcyc/OiBzdHJpbmc7XG4gICdFZGl0ZWQgSW1hZ2VzJz86IHN0cmluZztcbiAgJ1NlbGVjdGVkIEZpbGVzJz86IHN0cmluZztcbiAgJ0Nyb3AgaXMgcmVxdWlyZWQgb24gaW1hZ2VzJz86IHN0cmluZztcblxuICAvLyBUcmFuc2Zvcm1cbiAgQ3JvcD86IHN0cmluZztcbiAgQ2lyY2xlPzogc3RyaW5nO1xuICBSb3RhdGU/OiBzdHJpbmc7XG4gIE1hc2s/OiBzdHJpbmc7XG4gIFJldmVydD86IHN0cmluZztcbiAgRWRpdD86IHN0cmluZztcbiAgUmVzZXQ/OiBzdHJpbmc7XG4gIERvbmU/OiBzdHJpbmc7XG4gIFNhdmU/OiBzdHJpbmc7XG4gIE5leHQ/OiBzdHJpbmc7XG4gICdFZGl0IEltYWdlJz86IHN0cmluZztcbiAgJ1RoaXMgaW1hZ2UgY2Fubm90IGJlIGVkaXRlZCc/OiBzdHJpbmc7XG5cbiAgLy8gUmV0cnkgbWVzc2FnaW5nXG4gICdDb25uZWN0aW9uIExvc3QnPzogc3RyaW5nO1xuICAnRmFpbGVkIFdoaWxlIFVwbG9hZGluZyc/OiBzdHJpbmc7XG4gICdSZXRyeWluZyBpbic/OiBzdHJpbmc7XG4gICdUcnkgYWdhaW4nPzogc3RyaW5nO1xuICAnVHJ5IG5vdyc/OiBzdHJpbmc7XG5cbiAgLy8gTG9jYWwgRmlsZSBTb3VyY2VcbiAgJ0RyYWcgYW5kIERyb3AsIENvcHkgYW5kIFBhc3RlIEZpbGVzJz86IHN0cmluZztcbiAgJ29yIERyYWcgYW5kIERyb3AsIENvcHkgYW5kIFBhc3RlIEZpbGVzJz86IHN0cmluZztcbiAgJ1NlbGVjdCBGaWxlcyB0byBVcGxvYWQnPzogc3RyaW5nO1xuICAnU2VsZWN0IEZyb20nPzogc3RyaW5nO1xuICAnRHJvcCB5b3VyIGZpbGVzIGFueXdoZXJlJz86IHN0cmluZztcblxuICAvLyBJbnB1dCBwbGFjZWhvbGRlcnNcbiAgJ0VudGVyIGEgVVJMJz86IHN0cmluZztcbiAgJ1NlYXJjaCBpbWFnZXMnPzogc3RyaW5nO1xuXG4gIC8vIFdlYmNhbSBTb3VyY2VcbiAgJ1dlYmNhbSBEaXNhYmxlZCc/OiBzdHJpbmc7XG4gICdXZWJjYW0gTm90IFN1cHBvcnRlZCc/OiBzdHJpbmc7XG4gICdQbGVhc2UgZW5hYmxlIHlvdXIgd2ViY2FtIHRvIHRha2UgYSBwaG90by4nPzogc3RyaW5nO1xuICAnWW91ciBjdXJyZW50IGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCB3ZWJjYW0gZnVuY3Rpb25hbGl0eS4nPzogc3RyaW5nO1xuICAnV2Ugc3VnZ2VzdCB1c2luZyBDaHJvbWUgb3IgRmlyZWZveC4nPzogc3RyaW5nO1xuXG4gIC8vIEVycm9yIE5vdGlmaWNhdGlvbnNcbiAgJ0ZpbGUge2Rpc3BsYXlOYW1lfSBpcyBub3QgYW4gYWNjZXB0ZWQgZmlsZSB0eXBlLiBUaGUgYWNjZXB0ZWQgZmlsZSB0eXBlcyBhcmUge3R5cGVzfSc/OiBzdHJpbmc7XG4gICdGaWxlIHtkaXNwbGF5TmFtZX0gaXMgdG9vIGJpZy4gVGhlIGFjY2VwdGVkIGZpbGUgc2l6ZSBpcyBsZXNzIHRoYW4ge3JvdW5kRmlsZVNpemV9Jz86IHN0cmluZztcbiAgJ091ciBmaWxlIHVwbG9hZCBsaW1pdCBpcyB7bWF4RmlsZXN9IHtmaWxlc1RleHR9Jz86IHN0cmluZztcbiAgJ05vIHNlYXJjaCByZXN1bHRzIGZvdW5kIGZvciBcIntzZWFyY2h9XCInPzogc3RyaW5nO1xuICAnQW4gZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSB0cnkgYWdhaW4uJz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFJlc3RyaWN0IGZpbGUgdHlwZXMgdGhhdCBhcmUgYWxsb3dlZCB0byBiZSBwaWNrZWQuIEZvcm1hdHMgYWNjZXB0ZWQ6XG4gICAqICAtIC5wZGYgPC0gYW55IGZpbGUgZXh0ZW5zaW9uXG4gICAqICAtIGltYWdlL2pwZWcgPC0gYW55IG1pbWUgdHlwZSBjb21tb25seSBrbm93biBieSBicm93c2Vyc1xuICAgKiAgLSBpbWFnZS8qIDwtIGFjY2VwdCBhbGwgdHlwZXMgb2YgaW1hZ2VzXG4gICAqICAtIHZpZGVvLyogPC0gYWNjZXB0IGFsbCB0eXBlcyBvZiB2aWRlbyBmaWxlc1xuICAgKiAgLSBhdWRpby8qIDwtIGFjY2VwdCBhbGwgdHlwZXMgb2YgYXVkaW8gZmlsZXNcbiAgICogIC0gYXBwbGljYXRpb24vKiA8LSBhY2NlcHQgYWxsIHR5cGVzIG9mIGFwcGxpY2F0aW9uIGZpbGVzXG4gICAqICAtIHRleHQvKiA8LSBhY2NlcHQgYWxsIHR5cGVzIG9mIHRleHQgZmlsZXNcbiAgICovXG4gIGFjY2VwdD86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAvKipcbiAgICogQ3VzdG9tIGFjY2VwdCBjaGVjayBmdW5jdGlvblxuICAgKiBgYGBqYXZhc2NyaXB0XG4gICAqIGFjY2VwdEZuOiAoZmlsZSwgb3B0aW9ucykgPT4ge1xuICAgKiAgcmV0dXJuIG9wdGlvbnMubWltZUZyb21NYWdpY0J5dGVzKGZpbGUub3JpZ2luYWxGaWxlKS50aGVuKChyZXMpID0+IHsgLy8gd2UgY2FuIGNoZWNrIG1pbWV0eXBlIGZyb20gbWFnaWMgYnl0ZXNcbiAgICogICAgLy9jb25zb2xlLmxvZyhvcHRpb25zLm1pbWVGcm9tRXh0ZW5zaW9uKGZpbGUub3JpZ2luYWxGaWxlLm5hbWUpKTsgLy8gb3IgY2hlY2sgZXh0ZW5zaW9uIGZyb20gZmlsZXN0YWNrIGV4dGVuc2lvbnMgZGF0YWJhc2VcbiAgICogICAgLy8gdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgYWNjZXB0IHRoYXQgZmlsZScpIC8vIHdlIGNhbiB0aHJvdyBleGNlcHRpb24gdG8gYmxvY2sgZmlsZSB1cGxvYWRcbiAgICogICAgLy8gcmV0dXJuIFByb21pc2UucmVqZWN0KCdDYW5ub3QgYWNjZXB0IHRoYXQgZmlsZScnKSAvLyBvciByZWplY3QgYSBwcm9taXNlXG4gICAqICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICogIH0pO1xuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgYWNjZXB0Rm4/OiAoUGlja2VyRmlsZU1ldGFkYXRhLCBQaWNrZXJBY2NlcHRGbk9wdGlvbnMpID0+IFByb21pc2U8c3RyaW5nPjtcbiAgLyoqXG4gICAqIFByZXZlbnQgbW9kYWwgY2xvc2Ugb24gdXBsb2FkIGZhaWx1cmUgYW5kIGFsbG93IHVzZXJzIHRvIHJldHJ5LlxuICAgKi9cbiAgYWxsb3dNYW51YWxSZXRyeT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiAgVmFsaWQgc291cmNlcyBhcmU6XG4gICAqICAtIGxvY2FsX2ZpbGVfc3lzdGVtIC0gRGVmYXVsdFxuICAgKiAgLSB1cmwgLSBEZWZhdWx0XG4gICAqICAtIGltYWdlc2VhcmNoIC0gRGVmYXVsdFxuICAgKiAgLSBmYWNlYm9vayAtIERlZmF1bHRcbiAgICogIC0gaW5zdGFncmFtIC0gRGVmYXVsdFxuICAgKiAgLSBnb29nbGVkcml2ZSAtIERlZmF1bHRcbiAgICogIC0gZHJvcGJveCAtIERlZmF1bHRcbiAgICogIC0gd2ViY2FtIC0gVXNlcyBkZXZpY2UgbWVudSBvbiBtb2JpbGUuIE5vdCBjdXJyZW50bHkgc3VwcG9ydGVkIGluIFNhZmFyaSBhbmQgSUUuXG4gICAqICAtIHZpZGVvIC0gVXNlcyBkZXZpY2UgbWVudSBvbiBtb2JpbGUuIE5vdCBjdXJyZW50bHkgc3VwcG9ydGVkIGluIFNhZmFyaSBhbmQgSUUuXG4gICAqICAtIGF1ZGlvIC0gVXNlcyBkZXZpY2UgbWVudSBvbiBtb2JpbGUuIE5vdCBjdXJyZW50bHkgc3VwcG9ydGVkIGluIFNhZmFyaSBhbmQgSUUuXG4gICAqICAtIGJveFxuICAgKiAgLSBnaXRodWJcbiAgICogIC0gZ21haWxcbiAgICogIC0gZ29vZ2xlcGhvdG9zXG4gICAqICAtIG9uZWRyaXZlXG4gICAqICAtIG9uZWRyaXZlZm9yYnVzaW5lc3NcbiAgICogIC0gY3VzdG9tc291cmNlIC0gQ29uZmlndXJlIHRoaXMgaW4geW91ciBGaWxlc3RhY2sgRGV2IFBvcnRhbC5cbiAgICogIC0gdW5zcGxhc2hcbiAgICovXG4gIGZyb21Tb3VyY2VzPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBDb250YWluZXIgd2hlcmUgcGlja2VyIHNob3VsZCBiZSBhcHBlbmRlZC4gT25seSByZWxldmFudCBmb3IgYGlubGluZWAgYW5kIGBkcm9wUGFuZWAgZGlzcGxheSBtb2Rlcy5cbiAgICovXG4gIGNvbnRhaW5lcj86IHN0cmluZyB8IE5vZGU7XG5cbiAgLyoqXG4gICAqIFR1cm4gb24gY2xlYW5pbmcgSlBFRyBpbWFnZSBleGlmLiBNZXRob2QgY2FuIGtlZXAgaW1hZ2Ugb3JpZW50YXRpb24gb3IgY29sb3IgcHJvZmlsZXNcbiAgICogYGBgamF2YXNjcmlwdFxuICAgKiBjbGVhbnVwSW1hZ2VFeGlmOiB7XG4gICAqICAga2VlcE9yaWVudGF0aW9uOiB0cnVlXG4gICAqICAga2VlcElDQ2FuZEFQUDogdHJ1ZVxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgY2xlYW51cEltYWdlRXhpZj86IGJvb2xlYW4gfCB7XG4gICAga2VlcE9yaWVudGF0aW9uPzogYm9vbGVhbixcbiAgICBrZWVwSUNDYW5kQVBQPzogYm9vbGVhblxuICB9O1xuICAvKipcbiAgICogQ3VzdG9taXplIHRoZSB0ZXh0IG9uIHRoZSBjbG91ZCBhdXRoZW50aWNhdGlvbiBzY3JlZW4gaW4gUGlja2VyLlxuICAgKiBVc2UgYSBjbG91ZCBzb3VyY2UgbmFtZSAoc2VlIFtbUGlja2VyT3B0aW9ucy5mcm9tU291cmNlc11dKVxuICAgKiBvciBhICdkZWZhdWx0JyBhcyBhIGtleSwgdGhlbiBwdXQgeW91ciBjdXN0b20gbm90aWNlIG9yIGNvbnNlbnRcbiAgICogdG8gdGhlICd0b3AnIG9yIHRoZSAnYm90dG9tJyBrZXkgdG8gc2hvdyBpdCByZXNwZWN0aXZseSBhYm92ZSBvciB1bmRlciAnQ29ubmVjdCBidXR0b24nLlxuICAgKlxuICAgKiBgYGBqYXZhc2NyaXB0XG4gICAqIGN1c3RvbUF1dGhUZXh0OiB7XG4gICAqICAgLy8gdXNlIGl0IGZvciBldmVyeSBjbG91ZCBhdXRoZW50aWNhdGlvbiBzY3JlZW5cbiAgICogICBkZWZhdWx0OiB7XG4gICAqICAgICB0b3A6IFtcbiAgICogICAgICAgJ2RlZmF1bHQgdG9wIGZpcnN0IGxpbmUnLFxuICAgKiAgICAgICAnZGVmYXVsdCB0b3Agc2Vjb25kIGxpbmUnXG4gICAqICAgICBdLFxuICAgKiAgICAgYm90dG9tOiBbXG4gICAqICAgICAgICdkZWZhdWx0IGJvdHRvbSBmaXJzdCBsaW5lJyxcbiAgICogICAgICAgJ2RlZmF1bHQgYm90dG9tIHNlY29uZCBsaW5lJ1xuICAgKiAgICAgXVxuICAgKiAgIH0sXG4gICAqICAgLy8gb3ZlcnJpZGUgYSBkZWZhdWx0IGJvdHRvbSB0ZXh0IGZvciBvbmx5IGdtYWlsXG4gICAqICAgZ21haWw6IHtcbiAgICogICAgIGJvdHRvbTogW1xuICAgKiAgICAgICAnV2UgbmVlZCB5b3VyIHBlcm1pc3Npb24gdG8gYWNjZXNzIHlvdXIgZGF0YSBhbmQnLFxuICAgKiAgICAgICAncHJvY2VzcyBpdCB3aXRoIG91ciBtYWNoaW5lIGxlYXJuaW5nIHN5c3RlbS4nXG4gICAqICAgICBdXG4gICAqICAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgY3VzdG9tQXV0aFRleHQ/OiBDdXN0b21BdXRoVGV4dE9wdGlvbnM7XG4gIC8qKlxuICAgKiBQaWNrZXIgZGlzcGxheSBtb2RlLCBvbmUgb2YgYCdpbmxpbmUnYCwgYCdvdmVybGF5J2AsIGAnZHJvcFBhbmUnYCAtIGRlZmF1bHQgaXMgYCdvdmVybGF5J2AuXG4gICAqL1xuICBkaXNwbGF5TW9kZT86IFBpY2tlckRpc3BsYXlNb2RlO1xuICAvKipcbiAgICogTWF4IG51bWJlciBvZiBmaWxlcyB0byB1cGxvYWQgY29uY3VycmVudGx5LiBEZWZhdWx0IGlzIDQuXG4gICAqL1xuICBjb25jdXJyZW5jeT86IG51bWJlcjtcbiAgLyoqXG4gICAqIFNldCB0aGUgZGVmYXVsdCBjb250YWluZXIgZm9yIHlvdXIgY3VzdG9tIHNvdXJjZS5cbiAgICovXG4gIGN1c3RvbVNvdXJjZUNvbnRhaW5lcj86IHN0cmluZztcbiAgLyoqXG4gICAqIFNldCB0aGUgZGVmYXVsdCBwYXRoIGZvciB5b3VyIGN1c3RvbSBzb3VyY2UgY29udGFpbmVyLlxuICAgKi9cbiAgY3VzdG9tU291cmNlUGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIFNldCB0aGUgZGlzcGxheSBuYW1lIGZvciB0aGUgY3VzdG9tIHNvdXJjZS5cbiAgICovXG4gIGN1c3RvbVNvdXJjZU5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQcm92aWRlIGFuIG9iamVjdCBmb3IgbWFwcGluZyBwaWNrZXIgc3RyaW5ncyB0byB5b3VyIG93biBzdHJpbmdzLlxuICAgKiBTdHJpbmdzIHN1cnJvdW5kZWQgYnkgYnJhY2tldHMsIGB7IGZvb2JhciB9YCwgYXJlIGludGVycG9sYXRlZCB3aXRoIHJ1bnRpbWUgdmFsdWVzLlxuICAgKiBTb3VyY2UgbGFiZWxzIGFyZSBhbHNvIGF2YWlsYWJsZSB0byBvdmVycmlkZSwgZS5nLiBGYWNlYm9vaywgSW5zdGFncmFtLCBEcm9wYm94LCBldGMuXG4gICAqL1xuICBjdXN0b21UZXh0PzogUGlja2VyQ3VzdG9tVGV4dDtcbiAgLyoqXG4gICAqIHNldCBzdXBwb3J0IGVtYWlsIHRvIGRpc3BsYXkgaW4gY2FzZSBvZiBlcnJvclxuICAgKi9cbiAgc3VwcG9ydEVtYWlsPzogc3RyaW5nO1xuICAvKipcbiAgICogV2hlbiB0cnVlIHJlbW92ZXMgdGhlIGhhc2ggcHJlZml4IG9uIHN0b3JlZCBmaWxlcy5cbiAgICovXG4gIGRpc2FibGVTdG9yYWdlS2V5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZW4gdHJ1ZSByZW1vdmVzIGFiaWxpdHkgdG8gZWRpdCBpbWFnZXMuXG4gICAqL1xuICBkaXNhYmxlVHJhbnNmb3JtZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogRGlzYWJsZXMgbG9jYWwgaW1hZ2UgdGh1bWJuYWlsIHByZXZpZXdzIGluIHRoZSBzdW1tYXJ5IHNjcmVlbi5cbiAgICovXG4gIGRpc2FibGVUaHVtYm5haWxzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENvbmZpZ3VyZSB0aGUgZHJvcCBwYW5lIGJlaGF2aW9yLCBpLmUuIHdoZW4gYGRpc3BsYXlNb2RlYCBpcyBgZHJvcFBhbmVgLlxuICAgKi9cbiAgZHJvcFBhbmU/OiBQaWNrZXJEcm9wUGFuZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBXaGVuIHRydWUgdGhlIGBvcmlnaW5hbEZpbGVgIG1ldGFkYXRhIHdpbGwgYmUgdGhlIGFjdHVhbCBgRmlsZWAgb2JqZWN0IGluc3RlYWQgb2YgYSBQT0pPXG4gICAqL1xuICBleHBvc2VPcmlnaW5hbEZpbGU/OiBib29sZWFuO1xuICAvKipcbiAgICogVG9nZ2xlIHRoZSBkcm9wIHpvbmUgdG8gYmUgYWN0aXZlIG9uIGFsbCB2aWV3cy4gRGVmYXVsdCBpcyBhY3RpdmUgb25seSBvbiBsb2NhbCBmaWxlIHNvdXJjZS5cbiAgICovXG4gIGdsb2JhbERyb3Bab25lPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhpZGUgdGhlIHBpY2tlciBtb2RhbCBVSSBvbmNlIHVwbG9hZGluZyBiZWdpbnMuIERlZmF1bHRzIHRvIGBmYWxzZWAuXG4gICAqL1xuICBoaWRlTW9kYWxXaGVuVXBsb2FkaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3BlY2lmeSBpbWFnZSBkaW1lbnNpb25zLiBlLmcuIFs4MDAsIDYwMF0uIE9ubHkgZm9yIEpQRUcsIFBORywgYW5kIEJNUCBmaWxlcy5cbiAgICogTG9jYWwgYW5kIGNyb3BwZWQgaW1hZ2VzIHdpbGwgYmUgcmVzaXplZCAodXBzY2FsZWQgb3IgZG93bnNjYWxlZCkgdG8gdGhlIHNwZWNpZmllZCBkaW1lbnNpb25zIGJlZm9yZSB1cGxvYWRpbmcuXG4gICAqIFRoZSBvcmlnaW5hbCBoZWlnaHQgdG8gd2lkdGggcmF0aW8gaXMgbWFpbnRhaW5lZC4gVG8gcmVzaXplIGFsbCBpbWFnZXMgYmFzZWQgb24gdGhlIHdpZHRoLCBzZXQgW3dpZHRoLCBudWxsXSwgZS5nLiBbODAwLCBudWxsXS5cbiAgICogRm9yIHRoZSBoZWlnaHQgc2V0IFtudWxsLCBoZWlnaHRdLCBlLmcuIFtudWxsLCA2MDBdLlxuICAgKi9cbiAgaW1hZ2VEaW0/OiBbbnVtYmVyLCBudW1iZXJdO1xuICAvKipcbiAgICogU3BlY2lmeSBtYXhpbXVtIGltYWdlIGRpbWVuc2lvbnMuIGUuZy4gWzgwMCwgNjAwXS4gT25seSBmb3IgSlBFRywgUE5HLCBhbmQgQk1QIGZpbGVzLlxuICAgKiBJbWFnZXMgYmlnZ2VyIHRoYW4gdGhlIHNwZWNpZmllZCBkaW1lbnNpb25zIHdpbGwgYmUgcmVzaXplZCB0byB0aGUgbWF4aW11bSBzaXplIHdoaWxlIG1haW50YWluaW5nIHRoZSBvcmlnaW5hbCBhc3BlY3QgcmF0aW8uXG4gICAqIFRoZSBvdXRwdXQgd2lsbCBub3QgYmUgZXhhY3RseSA4MDB4NjAwIHVubGVzcyB0aGUgaW1hZ2VNYXggbWF0Y2hlcyB0aGUgYXNwZWN0IHJhdGlvIG9mIHRoZSBvcmlnaW5hbCBpbWFnZS5cbiAgICovXG4gIGltYWdlTWF4PzogW251bWJlciwgbnVtYmVyXTtcbiAgLyoqXG4gICAqIFNwZWNpZnkgbWluaW11bSBpbWFnZSBkaW1lbnNpb25zLiBlLmcuIFs4MDAsIDYwMF0uIE9ubHkgZm9yIEpQRUcsIFBORywgYW5kIEJNUCBmaWxlcy5cbiAgICogSW1hZ2VzIHNtYWxsZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGRpbWVuc2lvbnMgd2lsbCBiZSB1cHNjYWxlZCB0byB0aGUgbWluaW11bSBzaXplIHdoaWxlIG1haW50YWluaW5nIHRoZSBvcmlnaW5hbCBhc3BlY3QgcmF0aW8uXG4gICAqIFRoZSBvdXRwdXQgd2lsbCBub3QgYmUgZXhhY3RseSA4MDB4NjAwIHVubGVzcyB0aGUgaW1hZ2VNaW4gbWF0Y2hlcyB0aGUgYXNwZWN0IHJhdGlvIG9mIHRoZSBvcmlnaW5hbCBpbWFnZS5cbiAgICovXG4gIGltYWdlTWluPzogW251bWJlciwgbnVtYmVyXTtcbiAgLyoqXG4gICAqIFNldHMgbG9jYWxlLiBBY2NlcHRzOiBjYSwgZGEsIGRlLCBlbiwgZXMsIGZyLCBoZSwgaXQsIGphLCBrbywgbmwsIG5vLCBwbCwgcHQsIHN2LCBydSwgdmksIHpoLCB0clxuICAgKi9cbiAgbGFuZz86IHN0cmluZztcbiAgLyoqXG4gICAqIE1pbmltdW0gbnVtYmVyIG9mIGZpbGVzIHJlcXVpcmVkIHRvIHN0YXJ0IHVwbG9hZGluZy4gRGVmYXVsdHMgdG8gMS5cbiAgICovXG4gIG1pbkZpbGVzPzogbnVtYmVyO1xuICAvKipcbiAgICogTWF4aW11bSBudW1iZXIgb2YgZmlsZXMgYWxsb3dlZCB0byB1cGxvYWQuIERlZmF1bHRzIHRvIDEuXG4gICAqL1xuICBtYXhGaWxlcz86IG51bWJlcjtcbiAgLyoqXG4gICAqIFJlc3RyaWN0IHNlbGVjdGVkIGZpbGVzIHRvIGEgbWF4aW11bSBudW1iZXIgb2YgYnl0ZXMuIChlLmcuIDEwIFxcKiAxMDI0IFxcKiAxMDI0IGZvciAxME1CIGxpbWl0KS5cbiAgICovXG4gIG1heFNpemU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgdmlldyB0eXBlIG9wdGlvbiBmb3IgZmlsZSBicm93c2VyXG4gICAqL1xuICB2aWV3VHlwZT86ICdncmlkJyB8ICdsaXN0JztcblxuICAvKipcbiAgICogVGltZW91dCBmb3IgZXJyb3IgbWVzc2FnZXNcbiAgICovXG4gIGVycm9yc1RpbWVvdXQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBTcGVjaWZ5IFt3aWR0aCwgaGVpZ2h0XSBpbiBwaXhlbHMgb2YgdGhlIGRlc2t0b3AgbW9kYWwuXG4gICAqL1xuICBtb2RhbFNpemU/OiBbbnVtYmVyLCBudW1iZXJdO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gYWxsIHVwbG9hZHMgaW4gYSBwaWNrIGFyZSBjYW5jZWxsZWQuXG4gICAqL1xuICBvbkNhbmNlbD86IFBpY2tlclVwbG9hZERvbmVDYWxsYmFjaztcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBVSSBpcyBleGl0ZWQuXG4gICAqL1xuICBvbkNsb3NlPzogKCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBVSSBpcyBtb3VudGVkLlxuICAgKiBAcGFyYW0gUGlja2VySW5zdGFuY2UgYXBwbGljYXRpb24gaGFuZGxlXG4gICAqL1xuICBvbk9wZW4/OiAoaGFuZGxlOiBQaWNrZXJJbnN0YW5jZSkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuZXZlciB1c2VyIHNlbGVjdHMgYSBmaWxlLlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiAvLyBVc2luZyB0byB2ZXRvIGZpbGUgc2VsZWN0aW9uXG4gICAqIC8vIElmIHlvdSB0aHJvdyBhbnkgZXJyb3IgaW4gdGhpcyBmdW5jdGlvbiBpdCB3aWxsIHJlamVjdCB0aGUgZmlsZSBzZWxlY3Rpb24uXG4gICAqIC8vIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgYmUgZGlzcGxheWVkIHRvIHRoZSB1c2VyIGFzIGFuIGFsZXJ0LlxuICAgKiBvbkZpbGVTZWxlY3RlZChmaWxlKSB7XG4gICAqICAgaWYgKGZpbGUuc2l6ZSA+IDEwMDAgKiAxMDAwKSB7XG4gICAqICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZpbGUgdG9vIGJpZywgc2VsZWN0IHNvbWV0aGluZyBzbWFsbGVyIHRoYW4gMU1CJyk7XG4gICAqICAgfVxuICAgKiB9XG4gICAqXG4gICAqIC8vIFVzaW5nIHRvIGNoYW5nZSBzZWxlY3RlZCBmaWxlIG5hbWVcbiAgICogLy8gTk9URTogVGhpcyBjdXJyZW50bHkgb25seSB3b3JrcyBmb3IgbG9jYWwgdXBsb2Fkc1xuICAgKiBvbkZpbGVTZWxlY3RlZChmaWxlKSB7XG4gICAqICAgLy8gSXQncyBpbXBvcnRhbnQgdG8gcmV0dXJuIGEgbmV3IGZpbGUgYnkgdGhlIGVuZCBvZiB0aGlzIGZ1bmN0aW9uLlxuICAgKiAgIHJldHVybiB7IC4uLmZpbGUsIG5hbWU6ICdmb28nIH07XG4gICAqIH1cbiAgICogYGBgXG4gICAqXG4gICAqIFRoZSBjYWxsYmFjayBmdW5jdGlvbiBjYW4gYWxzbyByZXR1cm4gYSBQcm9taXNlIHRvIGFsbG93IGFzeW5jaHJvbm91cyB2YWxpZGF0aW9uIGxvZ2ljLlxuICAgKiBZb3UgY2FuIHBhc3MgYSBmaWxlIG9iamVjdCB0byBgcmVzb2x2ZWAgZm9yIGNoYW5naW5nIHRoZSBmaWxlIG5hbWUsIGl0IHdpbGwgYmVoYXZlIHRoZSBzYW1lIGFzIHdoZW5cbiAgICogdGhlIGZpbGUgaXMgcmV0dXJuZWQgZnJvbSB0aGUgbm9uLWFzeW5jIGNhbGxiYWNrLlxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBvbkZpbGVTZWxlY3RlZChmaWxlKSB7XG4gICAqICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICogICAgIC8vIERvIHNvbWV0aGluZyBhc3luY1xuICAgKiAgICAgcmVzb2x2ZSgpO1xuICAgKiAgICAgLy8gT3IgcmVqZWN0IHRoZSBzZWxlY3Rpb24gd2l0aCByZWplY3QoKVxuICAgKiAgIH0pO1xuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgb25GaWxlU2VsZWN0ZWQ/OiBQaWNrZXJGaWxlQ2FsbGJhY2s7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhIGZpbGUgdXBsb2FkIGhhcyBiZWVuIGNhbmNlbGVkLlxuICAgKi9cbiAgb25GaWxlVXBsb2FkQ2FuY2VsPzogUGlja2VyRmlsZUNhbmNlbENhbGxiYWNrO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gYSBmaWxlIGJlZ2lucyB1cGxvYWRpbmcuXG4gICAqL1xuICBvbkZpbGVVcGxvYWRTdGFydGVkPzogUGlja2VyRmlsZVdpdGhUb2tlbkNhbGxiYWNrO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gYSBmaWxlIGlzIGRvbmUgdXBsb2FkaW5nLlxuICAgKi9cbiAgb25GaWxlVXBsb2FkRmluaXNoZWQ/OiBQaWNrZXJGaWxlQ2FsbGJhY2s7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB1cGxvYWRpbmcgYSBmaWxlIGZhaWxzLlxuICAgKi9cbiAgb25GaWxlVXBsb2FkRmFpbGVkPzogUGlja2VyRmlsZUVycm9yQ2FsbGJhY2s7XG4gIC8qKlxuICAgKiBDYWxsZWQgZHVyaW5nIG11bHRpLXBhcnQgdXBsb2FkIHByb2dyZXNzIGV2ZW50cy4gTG9jYWwgZmlsZXMgb25seS5cbiAgICovXG4gIG9uRmlsZVVwbG9hZFByb2dyZXNzPzogUGlja2VyRmlsZVByb2dyZXNzQ2FsbGJhY2s7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBmaWxlIGlzIGNyb3BwZWQgaW4gcGlja2VyXG4gICAqL1xuICBvbkZpbGVDcm9wcGVkPzogUGlja2VyRmlsZUNhbGxiYWNrO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdXBsb2FkaW5nIHN0YXJ0cyAodXNlciBpbml0aWF0ZXMgdXBsb2FkaW5nKS5cbiAgICovXG4gIG9uVXBsb2FkU3RhcnRlZD86IFBpY2tlclVwbG9hZFN0YXJ0ZWRDYWxsYmFjaztcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGFsbCBmaWxlcyBoYXZlIGJlZW4gdXBsb2FkZWQuXG4gICAqL1xuICBvblVwbG9hZERvbmU/OiBQaWNrZXJVcGxvYWREb25lQ2FsbGJhY2s7XG5cbiAgLyoqXG4gICAqIERlZmluZSBhIHVuaXF1ZSBpZCBmb3IgdGhlIGFwcGxpY2F0aW9uIG1vdW50IHBvaW50LlxuICAgKiBNYXkgYmUgdXNlZnVsIGZvciBtb3JlIGFkdmFuY2VkIHVzZSBjYXNlcy5cbiAgICogRm9yIGV4YW1wbGUsIGlmIHlvdSB3aXNoIHRvIGhhdmUgbW9yZSB0aGFuIG9uZSBwaWNrZXIgaW5zdGFuY2Ugb3BlbiBhdCBvbmNlLFxuICAgKiB0aGVuIGVhY2ggd2lsbCBuZWVkIHRoZWlyIG93biB1bmlxdWUgcm9vdElkLlxuICAgKlxuICAgKiAqKk5vdGU6KiogVGhpcyBvcHRpb24gaXMgaWdub3JlZCB3aGVuIGBkaXNwbGF5TW9kZWAgaXMgYGRyb3BQYW5lYC5cbiAgICovXG4gIHJvb3RJZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc3RhcnQgdXBsb2FkaW5nIGF1dG9tYXRpY2FsbHkgd2hlbiBtYXhGaWxlcyBpcyBoaXQuIERlZmF1bHRzIHRvIGBmYWxzZWAuXG4gICAqL1xuICBzdGFydFVwbG9hZGluZ1doZW5NYXhGaWxlc1JlYWNoZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgZmlsZSBzdG9yYWdlLlxuICAgKi9cbiAgc3RvcmVUbz86IFBpY2tlclN0b3JlT3B0aW9ucztcbiAgLyoqXG4gICAqIFNwZWNpZnkgb3B0aW9ucyBmb3IgaW1hZ2VzIHBhc3NlZCB0byB0aGUgY3JvcCBVSS5cbiAgICovXG4gIHRyYW5zZm9ybWF0aW9ucz86IFBpY2tlclRyYW5zZm9ybWF0aW9uT3B0aW9ucztcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIGxvY2FsIGZpbGUgdXBsb2Fkcy5cbiAgICovXG4gIHVwbG9hZENvbmZpZz86IFVwbG9hZE9wdGlvbnM7XG4gIC8qKlxuICAgKiBTdGFydCB1cGxvYWRpbmcgaW1tZWRpYXRlbHkgb24gZmlsZSBzZWxlY3Rpb24uIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICogQGltcG9ydGFudCBUaGUgZmVhdHVyZSBpcyBjYW4gYmUgZW5hYmxlZCBvbmx5IGlmIGNyb3AgaXMgZGlzYWJsZWQgLSBkaXNhYmxlVHJhbnNmb3JtZXI6IHRydWVcbiAgICovXG4gIHVwbG9hZEluQmFja2dyb3VuZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTZXRzIHRoZSByZXNvbHV0aW9uIG9mIHJlY29yZGVkIHZpZGVvLiBPbmUgb2YgXCIzMjB4MjQwXCIsIFwiNjQweDQ4MFwiIG9yIFwiMTI4MHg3MjBcIi4gRGVmYXVsdCBpcyBgXCI2NDB4NDgwXCJgLlxuICAgKi9cbiAgdmlkZW9SZXNvbHV0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlIFNlbnRyeSBCcmVhZGNydW1icyBtZWNoYW5pc20gdG8gbG9nIGluZm9ybWF0aW9uIGFib3V0IG9jY3VyZWQgZXJyb3JzLlxuICAgKiBJdCBjYW4gb3ZlcnJpZGUgZ2xvYmFsIG9iamVjdHMgbGlrZSBjb25zb2xlLCBlcnJvciBldGMuIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIHVzZVNlbnRyeUJyZWFkY3J1bWJzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNwZWNpZnkgd2hpY2ggUGlja2VyIGluc3RhbmNlIHNob3VsZCByZXNwb25kIHRvIHBhc3RlIGV2ZW50LlxuICAgKiBCeSBkZWZhdWx0IG9ubHkgaG92ZXJlZCBpbnN0YW5jZSByZXNwb25kcyB0byBldmVudC5cbiAgICogQHBhcmFtIHtib29sZWFuID0gZmFsc2V9IHBhc3RlVG9GaXJzdEluVmlld1BvcnQgSWYgbm9uZSBpbnN0YW5jZSBpcyBob3ZlcmVkIHRha2UgZmlyc3QgcGlja2VyIGluc3RhbmNlIGZ1bGx5IHZpc2libGUgaW4gdmlld3BvcnRcbiAgICogQHBhcmFtIHtib29sZWFuID0gZmFsc2V9IHBhc3RlVG9GaXJzdEluc3RhbmNlIElmIG5vbmUgaW5zdGFuY2UgaXMgaG92ZXJlZCB0YWtlIGZpcnN0IHBpY2tlciBpbnN0YW5jZSB0aGF0IGlzIGluaXRpYWxpemVkXG4gICAqIEBwYXN0ZVRvRmlyc3RJblZpZXdQb3J0IGlzIGNoZWNrZWQgZmlyc3RcbiAgICovXG4gIHBhc3RlTW9kZT86IHtcbiAgICBwYXN0ZVRvRmlyc3RJblZpZXdQb3J0PzogYm9vbGVhbixcbiAgICBwYXN0ZVRvRmlyc3RJbnN0YW5jZT86IGJvb2xlYW5cbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJDcm9wT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBNYWludGFpbiBhc3BlY3QgcmF0aW8gZm9yIGNyb3Agc2VsZWN0aW9uLiAoZS5nLiAxNi85LCA4MDAvNjAwKS5cbiAgICovXG4gIGFzcGVjdFJhdGlvPzogbnVtYmVyO1xuICAvKipcbiAgICogRm9yY2UgYWxsIGltYWdlcyB0byBiZSBjcm9wcGVkIGJlZm9yZSB1cGxvYWRpbmcuXG4gICAqL1xuICBmb3JjZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyVHJhbnNmb3JtYXRpb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIEVuYWJsZSBjcm9wLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqL1xuICBjcm9wPzogYm9vbGVhbiB8IFBpY2tlckNyb3BPcHRpb25zO1xuICAvKipcbiAgICogRW5hYmxlIGNpcmNsZSBjcm9wLiBEaXNhYmxlZCBpZiBjcm9wLmFzcGVjdFJhdGlvIGlzIGRlZmluZWQgYW5kIG5vdCAxLiBDb252ZXJ0cyB0byBQTkcuIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIGNpcmNsZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbmFibGUgaW1hZ2Ugcm90YXRpb24uIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIHJvdGF0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEdsb2JhbCBmb3JjZSBjcm9wIG9wdGlvbi4gQ2FuIGJlIHVzZSBpZSB3aXRoIGNpcmNsZVxuICAgKi9cbiAgZm9yY2U/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlckFjY2VwdEZuT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBQcm92aWRlZCBhY2NlcHQgc3RyaW5nXG4gICAqL1xuICBhY2NlcHQ6IHN0cmluZ1tdO1xuICAvKipcbiAgICogQWNjZXB0IHN0cmluZyBjb252ZXJ0ZWQgdG8gbWltZXR5cGVcbiAgICovXG4gIGFjY2VwdE1pbWU6IHN0cmluZ1tdO1xuICAvKipcbiAgICogTWltZXR5cGUgYmFzZWQgbWFnaWMgYnl0ZXNcbiAgICoge0BsaW5rIGh0dHBzOi8vZmlsZXN0YWNrLmdpdGh1Yi5pby9maWxlc3RhY2stanMvZ2xvYmFscy5odG1sI2dldG1pbWV0eXBlfVxuICAgKi9cbiAgbWltZUZyb21NYWdpY0J5dGVzOiBQcm9taXNlPHN0cmluZz47XG4gIC8qKlxuICAgKiBNaW1ldHlwZSBiYXNlZCBvbiBmaWxlIGV4dGVuc2lvblxuICAgKiB7QGxpbmsgaHR0cHM6Ly9maWxlc3RhY2suZ2l0aHViLmlvL2ZpbGVzdGFjay1qcy9nbG9iYWxzLmh0bWwjZXh0ZW5zaW9udG9taW1lfVxuICAgKi9cbiAgbWltZUZyb21FeHRlbnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICogQSBzeW5jaHJvbm91cy1sb29raW5nIHdyYXBwZXIgZm9yIGxvYWRpbmcgdGhlIHBpY2tlciBhbmQgY2FsbGluZyBpdHMgbWV0aG9kcy5cbiAqIFRoaXMgaXMgY3VycmVudGx5IG5lZWRlZCBiZWNhdXNlIHRoZSBwaWNrZXIgbW9kdWxlIGlzIGxvYWRlZCBhc3luY2hyb25vdXNseS5cbiAqIEV2ZW50dWFsbHkgd2Ugc2hvdWxkIG9mZmVyIGEgYnVuZGxlIHdpdGggdGhlIHBpY2tlciBtb2R1bGUgaW5jbHVkZWQuXG4gKi9cbmNsYXNzIFBpY2tlckxvYWRlciB7XG5cbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZWQ6IFByb21pc2U8UGlja2VySW5zdGFuY2U+O1xuICBjb25zdHJ1Y3RvcihjbGllbnQ6IENsaWVudCwgb3B0aW9ucz86IFBpY2tlck9wdGlvbnMpIHtcbiAgICBjb25zdCB2YWxpZGF0ZVJlcyA9IGdldFZhbGlkYXRvcihQaWNrZXJQYXJhbXNTY2hlbWEpKG9wdGlvbnMpO1xuXG4gICAgaWYgKHZhbGlkYXRlUmVzLmVycm9ycy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcihgSW52YWxpZCBwaWNrZXIgcGFyYW1zYCwgdmFsaWRhdGVSZXMuZXJyb3JzLCBGaWxlc3RhY2tFcnJvclR5cGUuVkFMSURBVElPTik7XG4gICAgfVxuXG4gICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0aGlzLmxvYWRNb2R1bGUoY2xpZW50LCBvcHRpb25zKTtcbiAgfVxuXG4gIGFzeW5jIG9wZW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcGlja2VyID0gYXdhaXQgdGhpcy5faW5pdGlhbGl6ZWQ7XG4gICAgYXdhaXQgcGlja2VyLm9wZW4oKTtcbiAgfVxuXG4gIGFzeW5jIGNyb3AoZmlsZXM6IGFueVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcGlja2VyID0gYXdhaXQgdGhpcy5faW5pdGlhbGl6ZWQ7XG4gICAgYXdhaXQgcGlja2VyLmNyb3AoZmlsZXMpO1xuICB9XG5cbiAgYXN5bmMgY2xvc2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcGlja2VyID0gYXdhaXQgdGhpcy5faW5pdGlhbGl6ZWQ7XG4gICAgYXdhaXQgcGlja2VyLmNsb3NlKCk7XG4gIH1cblxuICBhc3luYyBjYW5jZWwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcGlja2VyID0gYXdhaXQgdGhpcy5faW5pdGlhbGl6ZWQ7XG4gICAgYXdhaXQgcGlja2VyLmNhbmNlbCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkTW9kdWxlKGNsaWVudDogQ2xpZW50LCBvcHRpb25zPzogUGlja2VyT3B0aW9ucyk6IFByb21pc2U8UGlja2VySW5zdGFuY2U+IHtcbiAgICBjb25zdCB7IHNlc3Npb246IHsgdXJsczogeyBwaWNrZXJVcmw6IHVybCB9IH0gfSA9IGNsaWVudDtcbiAgICBjb25zdCBQaWNrZXIgPSBhd2FpdCBsb2FkTW9kdWxlKEZJTEVTVEFDS19NT0RVTEVTLlBJQ0tFUiwgdXJsKTtcbiAgICByZXR1cm4gbmV3IFBpY2tlcihjbGllbnQsIG9wdGlvbnMpO1xuICB9XG59XG5cbi8qKlxuICogTG9hZHMgYW5kIGNyZWF0ZXMgcGlja2VyIGluc3RhbmNlXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBjbGllbnRcbiAqIEBwYXJhbSBvcHRpb25zXG4gKi9cbmV4cG9ydCBjb25zdCBwaWNrZXIgPSAoY2xpZW50OiBDbGllbnQsIG9wdGlvbnM/OiBQaWNrZXJPcHRpb25zKTogUGlja2VySW5zdGFuY2UgPT4ge1xuICByZXR1cm4gbmV3IFBpY2tlckxvYWRlcihjbGllbnQsIG9wdGlvbnMpO1xufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcGlja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7Ozs7QUFFSCw0Q0FBa0U7QUFDbEUsd0RBQTBFO0FBRzFFLHNDQUErRDtBQStEL0QsSUFBWSxlQUdYO0FBSEQsV0FBWSxlQUFlO0lBQ3pCLDRCQUFTLENBQUE7SUFDVCw4QkFBVSxDQUFBO0FBQ1osQ0FBQyxFQUhXLGVBQWUsR0FBZix1QkFBZSxLQUFmLHVCQUFlLFFBRzFCO0FBK0dELElBQVksaUJBSVg7QUFKRCxXQUFZLGlCQUFpQjtJQUMzQixzQ0FBaUIsQ0FBQTtJQUNqQix3Q0FBbUIsQ0FBQTtJQUNuQiwwQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSlcsaUJBQWlCLEdBQWpCLHlCQUFpQixLQUFqQix5QkFBaUIsUUFJNUI7QUE2aUJEOzs7OztHQUtHO0FBQ0g7SUFHRSxzQkFBWSxNQUFjLEVBQUUsT0FBdUI7UUFDakQsSUFBTSxXQUFXLEdBQUcsSUFBQSxxQkFBWSxFQUFDLDJCQUFrQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUQsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUM3QixNQUFNLElBQUksZ0NBQWMsQ0FBQyx1QkFBdUIsRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFLG9DQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3RHO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUssMkJBQUksR0FBVjs7Ozs7NEJBQ2lCLHFCQUFNLElBQUksQ0FBQyxZQUFZLEVBQUE7O3dCQUFoQyxNQUFNLEdBQUcsU0FBdUI7d0JBQ3RDLHFCQUFNLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBQTs7d0JBQW5CLFNBQW1CLENBQUM7Ozs7O0tBQ3JCO0lBRUssMkJBQUksR0FBVixVQUFXLEtBQVk7Ozs7OzRCQUNOLHFCQUFNLElBQUksQ0FBQyxZQUFZLEVBQUE7O3dCQUFoQyxNQUFNLEdBQUcsU0FBdUI7d0JBQ3RDLHFCQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUE7O3dCQUF4QixTQUF3QixDQUFDOzs7OztLQUMxQjtJQUVLLDRCQUFLLEdBQVg7Ozs7OzRCQUNpQixxQkFBTSxJQUFJLENBQUMsWUFBWSxFQUFBOzt3QkFBaEMsTUFBTSxHQUFHLFNBQXVCO3dCQUN0QyxxQkFBTSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUE7O3dCQUFwQixTQUFvQixDQUFDOzs7OztLQUN0QjtJQUVLLDZCQUFNLEdBQVo7Ozs7OzRCQUNpQixxQkFBTSxJQUFJLENBQUMsWUFBWSxFQUFBOzt3QkFBaEMsTUFBTSxHQUFHLFNBQXVCO3dCQUN0QyxxQkFBTSxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUE7O3dCQUFyQixTQUFxQixDQUFDOzs7OztLQUN2QjtJQUVhLGlDQUFVLEdBQXhCLFVBQXlCLE1BQWMsRUFBRSxPQUF1Qjs7Ozs7O3dCQUN4QixHQUFHLEdBQVMsTUFBTSx1QkFBZixDQUFnQjt3QkFDMUMscUJBQU0sSUFBQSxtQkFBVSxFQUFDLDBCQUFpQixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFBQTs7d0JBQXhELE1BQU0sR0FBRyxTQUErQzt3QkFDOUQsc0JBQU8sSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFDOzs7O0tBQ3BDO0lBQ0gsbUJBQUM7QUFBRCxDQXRDQSxBQXNDQyxJQUFBO0FBRUQ7Ozs7OztHQU1HO0FBQ0ksSUFBTSxNQUFNLEdBQUcsVUFBQyxNQUFjLEVBQUUsT0FBdUI7SUFDNUQsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDM0MsQ0FBQyxDQUFDO0FBRlcsUUFBQSxNQUFNLFVBRWpCIiwiZmlsZSI6ImxpYi9waWNrZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IGxvYWRNb2R1bGUsIEZJTEVTVEFDS19NT0RVTEVTIH0gZnJvbSAnQGZpbGVzdGFjay9sb2FkZXInO1xuaW1wb3J0IHsgRmlsZXN0YWNrRXJyb3IsIEZpbGVzdGFja0Vycm9yVHlwZSB9IGZyb20gJy4vLi4vZmlsZXN0YWNrX2Vycm9yJztcbmltcG9ydCB7IENsaWVudCB9IGZyb20gJy4vY2xpZW50JztcbmltcG9ydCB7IEZTUHJvZ3Jlc3NFdmVudCwgVXBsb2FkT3B0aW9ucywgV29ya2Zsb3dDb25maWcgfSBmcm9tICcuL2FwaS91cGxvYWQvdHlwZXMnO1xuaW1wb3J0IHsgZ2V0VmFsaWRhdG9yLCBQaWNrZXJQYXJhbXNTY2hlbWEgfSBmcm9tICcuLy4uL3NjaGVtYSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VySW5zdGFuY2Uge1xuICAvKipcbiAgICogQ2xvc2UgcGlja2VyLiBUaGlzIG9wZXJhdGlvbiBpcyBpZGVtcG90ZW50LlxuICAgKi9cbiAgY2xvc2U6ICgpID0+IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIENhbmNlbCBwaWNrZXIgdXBsb2Fkcy4gVGhpcyBvcGVyYXRpb24gaXMgaWRlbXBvdGVudC5cbiAgICovXG4gIGNhbmNlbDogKCkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogT3BlbiBwaWNrZXIuIFRoaXMgb3BlcmF0aW9uIGlzIGlkZW1wb3RlbnQuXG4gICAqL1xuICBvcGVuOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IGEgbGlzdCBvZiBmaWxlcyB0byBvcGVuIGluIHRoZSBwaWNrZXIgZm9yIGNyb3BwaW5nXG4gICAqXG4gICAqICMjIyBFeGFtcGxlXG4gICAqXG4gICAqIGBgYGpzXG4gICAqIC8vIDxpbnB1dCBpZD1cImZpbGVTZWxlY3RcIiB0eXBlPVwiZmlsZVwiPlxuICAgKlxuICAgKiBjb25zdCBpbnB1dEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpbGVTZWxlY3QnKTtcbiAgICogY29uc3QgcGlja2VyID0gY2xpZW50LnBpY2tlcih7XG4gICAqICAgb25VcGxvYWREb25lOiByZXMgPT4gY29uc29sZS5sb2cocmVzKSxcbiAgICogfSk7XG4gICAqXG4gICAqIGlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKGUpID0+IHtcbiAgICogICBwaWNrZXIuY3JvcChlLnRhcmdldC5maWxlcyk7XG4gICAqIH0pO1xuICAgKlxuICAgKiAvLyBPciBwYXNzIGFuIGFycmF5IG9mIFVSTCBzdHJpbmdzXG4gICAqIGNvbnN0IHVybHMgPSBbXG4gICAqICAgJ2h0dHBzOi8vZDF3dHFhZmZhYWo2M3ouY2xvdWRmcm9udC5uZXQvaW1hZ2VzL2ZveF9pbl9mb3Jlc3QxLmpwZycsXG4gICAqICAgJ2h0dHBzOi8vZDF3dHFhZmZhYWo2M3ouY2xvdWRmcm9udC5uZXQvaW1hZ2VzL3NhaWwuanBnJyxcbiAgICogXTtcbiAgICogcGlja2VyLmNyb3AodXJscyk7XG4gICAqIGBgYFxuICAgKi9cbiAgY3JvcDogKGZpbGVzOiBhbnlbXSkgPT4gUHJvbWlzZTx2b2lkPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJDcm9wcGVkRGF0YSB7XG4gIGNyb3BBcmVhOiB7XG4gICAgLyoqXG4gICAgICogW3gsIHldXG4gICAgICovXG4gICAgcG9zaXRpb246IFtudW1iZXIsIG51bWJlcl07XG4gICAgLyoqXG4gICAgICogW3dpZHRoLCBoZWlnaHRdXG4gICAgICovXG4gICAgc2l6ZTogW251bWJlciwgbnVtYmVyXTtcbiAgfTtcbiAgICAvKipcbiAgICAgKiBbd2lkdGgsIGhlaWdodF1cbiAgICAgKi9cbiAgb3JpZ2luYWxJbWFnZVNpemU6IFtudW1iZXIsIG51bWJlcl07XG59XG5cbmV4cG9ydCBlbnVtIFJvdGF0ZURpcmVjdGlvbiB7XG4gIGN3ID0gJ0NXJyxcbiAgY2N3PSAnQ0NXJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJSb3RhdGVkRGF0YSB7XG4gIC8qKlxuICAgKiBBbW91bnQgcm90YXRlZCBpbiBkZWdyZWVzLlxuICAgKi9cbiAgdmFsdWU6IG51bWJlcjtcbiAgLyoqXG4gICAqIENhbiBiZSBDVyBvciBDQ1cgKGNsb2Nrd2lzZSAvIGNvdW50ZXItY2xvY2t3aXNlKVxuICAgKi9cbiAgZGlyZWN0aW9uOiBSb3RhdGVEaXJlY3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyRmlsZU1ldGFkYXRhIHtcbiAgLyoqXG4gICAqIFRoZSBjbG91ZCBjb250YWluZXIgZm9yIHRoZSB1cGxvYWRlZCBmaWxlLlxuICAgKi9cbiAgY29udGFpbmVyPzogc3RyaW5nO1xuICAvKipcbiAgICogUG9zaXRpb24gYW5kIHNpemUgaW5mb3JtYXRpb24gZm9yIGNyb3BwZWQgaW1hZ2VzLlxuICAgKi9cbiAgY3JvcHBlZD86IFBpY2tlckNyb3BwZWREYXRhO1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZmlsZS5cbiAgICovXG4gIGZpbGVuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBGaWxlc3RhY2sgaGFuZGxlIGZvciB0aGUgdXBsb2FkZWQgZmlsZS5cbiAgICovXG4gIGhhbmRsZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGhhc2gtcHJlZml4ZWQgY2xvdWQgc3RvcmFnZSBwYXRoLlxuICAgKi9cbiAga2V5Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIE1JTUUgdHlwZSBvZiB0aGUgZmlsZS5cbiAgICovXG4gIG1pbWV0eXBlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQcm9wZXJ0aWVzIG9mIHRoZSBsb2NhbCBiaW5hcnkgZmlsZS4gQWxzbyBzZWUgdGhlIHBpY2sgb3B0aW9uIGBleHBvc2VPcmlnaW5hbEZpbGVgIGlmIHlvdSB3YW50IHRoZSB1bmRlcmx5aW5nIGBGaWxlYCBvYmplY3QuXG4gICAqL1xuICBvcmlnaW5hbEZpbGU/OiBvYmplY3QgfCBGaWxlO1xuICAvKipcbiAgICogVGhlIG9yaWdpbiBvZiB0aGUgZmlsZSwgZS5nLiAvRm9sZGVyL2ZpbGUuanBnLlxuICAgKi9cbiAgb3JpZ2luYWxQYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEaXJlY3Rpb24gYW5kIHZhbHVlIGluZm9ybWF0aW9uIGZvciByb3RhdGVkIGltYWdlcy5cbiAgICovXG4gIHJvdGF0ZWQ/OiBQaWNrZXJSb3RhdGVkRGF0YTtcbiAgLyoqXG4gICAqIFNpemUgaW4gYnl0ZXMgb2YgdGhlIHVwbG9hZGVkIGZpbGUuXG4gICAqL1xuICBzaXplOiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgc291cmNlIGZyb20gd2hlcmUgdGhlIGZpbGUgd2FzIHBpY2tlZC5cbiAgICovXG4gIHNvdXJjZTogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGVzIEZpbGVzdGFjayB0cmFuc2l0IHN0YXR1cy5cbiAgICovXG4gIHN0YXR1cz86IHN0cmluZztcbiAgLyoqXG4gICAqIEEgdXVpZCBmb3IgdHJhY2tpbmcgdGhpcyBmaWxlIGluIGNhbGxiYWNrcy5cbiAgICovXG4gIHVwbG9hZElkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgRmlsZXN0YWNrIENETiBVUkwgZm9yIHRoZSB1cGxvYWRlZCBmaWxlLlxuICAgKi9cbiAgdXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tQXV0aFRleHRPcHRpb25zIHtcbiAgW2tleTogc3RyaW5nXToge1xuICAgIHRvcD86IHN0cmluZ1tdLFxuICAgIGJvdHRvbT86IHN0cmluZ1tdXG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyUmVzcG9uc2Uge1xuICBmaWxlc1VwbG9hZGVkOiBQaWNrZXJGaWxlTWV0YWRhdGFbXTtcbiAgZmlsZXNGYWlsZWQ6IFBpY2tlckZpbGVNZXRhZGF0YVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlckZpbGVDYWxsYmFjayB7XG4gIChmaWxlOiBQaWNrZXJGaWxlTWV0YWRhdGEpOiB2b2lkIHwgUHJvbWlzZTxhbnk+O1xufVxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJGaWxlV2l0aFRva2VuQ2FsbGJhY2sge1xuICAoZmlsZTogUGlja2VyRmlsZU1ldGFkYXRhLCB0b2tlbj86IHtwYXVzZT86ICgpID0+IHZvaWQsIHJlc3VtZT86ICgpID0+IHZvaWQsIGNhbmNlbD86ICgpID0+IHZvaWR9KTogdm9pZCB8IFByb21pc2U8YW55Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJGaWxlQ2FuY2VsQ2FsbGJhY2sge1xuICAoZmlsZTogUGlja2VyRmlsZU1ldGFkYXRhKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJGaWxlRXJyb3JDYWxsYmFjayB7XG4gIChmaWxlOiBQaWNrZXJGaWxlTWV0YWRhdGEsIGVycm9yOiBFcnJvcik6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyRmlsZVByb2dyZXNzQ2FsbGJhY2sge1xuICAoZmlsZTogUGlja2VyRmlsZU1ldGFkYXRhLCBldmVudDogRlNQcm9ncmVzc0V2ZW50KTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJVcGxvYWRTdGFydGVkQ2FsbGJhY2sge1xuICAoZmlsZXM6IFBpY2tlckZpbGVNZXRhZGF0YVtdKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJVcGxvYWREb25lQ2FsbGJhY2sge1xuICAoZmlsZXM6IFBpY2tlclJlc3BvbnNlKTogdm9pZDtcbn1cblxuZXhwb3J0IGVudW0gUGlja2VyRGlzcGxheU1vZGUge1xuICBpbmxpbmUgPSAnaW5saW5lJyxcbiAgb3ZlcmxheSA9ICdvdmVybGF5JyxcbiAgZHJvcFBhbmUgPSAnZHJvcFBhbmUnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlckRyb3BQYW5lT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIGNyb3AgVUkgZm9yIGRyb3BwZWQgZmlsZXMuXG4gICAqL1xuICBjcm9wRmlsZXM/OiBib29sZWFuO1xuICAvKipcbiAgICogQ3VzdG9taXplIHRoZSB0ZXh0IGNvbnRlbnQgaW4gdGhlIGRyb3AgcGFuZS5cbiAgICovXG4gIGN1c3RvbVRleHQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEaXNhYmxlIHRoZSBmaWxlIGlucHV0IG9uIGNsaWNrLiBUaGlzIGRvZXMgbm90IGRpc2FibGUgdGhlIGBvbkNsaWNrYCBjYWxsYmFjay5cbiAgICovXG4gIGRpc2FibGVDbGljaz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIGZ1bGwtcGFnZSBkcm9wIHpvbmUgb3ZlcmxheS5cbiAgICovXG4gIG92ZXJsYXk/OiBib29sZWFuO1xuICBvbkRyYWdFbnRlcj86IChldnQ6IERyYWdFdmVudCkgPT4gdm9pZDtcbiAgb25EcmFnTGVhdmU/OiAoKSA9PiB2b2lkO1xuICBvbkRyYWdPdmVyPzogKGV2dDogRHJhZ0V2ZW50KSA9PiB2b2lkO1xuICBvbkRyb3A/OiAoZXZ0OiBEcmFnRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBgb25TdWNjZXNzYCBtdXN0IGJlIHVzZWQgaW5zdGVhZCBvZiBgb25VcGxvYWREb25lYC4gVGhlIGRyb3AgcGFuZSB1c2VzIGl0cyBvd24gY2FsbGJhY2tzIGZvciBjb21wYXRpYmlsaXR5IHB1cnBvc2VzLiBUaGlzIG1pZ2h0IGV2ZW50dWFsbHkgY2hhbmdlLlxuICAgKi9cbiAgb25TdWNjZXNzPzogKGZpbGVzOiBQaWNrZXJGaWxlTWV0YWRhdGFbXSkgPT4gdm9pZDtcbiAgb25FcnJvcj86IChmaWxlczogUGlja2VyRmlsZU1ldGFkYXRhW10pID0+IHZvaWQ7XG4gIG9uUHJvZ3Jlc3M/OiAocGVyY2VudDogbnVtYmVyKSA9PiB2b2lkO1xuICBvbkNsaWNrPzogKGV2dDogYW55KSA9PiB2b2lkO1xuICAvKipcbiAgICogVG9nZ2xlIGljb24gZWxlbWVudCBpbiBkcm9wIHBhbmUuXG4gICAqL1xuICBzaG93SWNvbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUb2dnbGUgdXBsb2FkIHByb2dyZXNzIGRpc3BsYXkuXG4gICAqL1xuICBzaG93UHJvZ3Jlc3M/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlclN0b3JlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBMb2NhdGlvbiBmb3Igc3RvcmVkIGZpbGUuIE9uZSBvZiAnczMnLCAnZ2NzJywgJ2F6dXJlJywgJ3JhY2tzcGFjZScsIG9yICdkcm9wYm94Jy5cbiAgICovXG4gIGxvY2F0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmeSBzdG9yYWdlIGNvbnRhaW5lci5cbiAgICovXG4gIGNvbnRhaW5lcj86IHN0cmluZztcbiAgLyoqXG4gICAqIFNldCBjb250YWluZXIgcGF0aC4gSW5kaWNhdGUgYSBmb2xkZXIgYnkgYWRkaW5nIGEgdHJhaWxpbmcgc2xhc2guIFdpdGhvdXQgYSB0cmFpbGluZyBzbGFzaCBhbGwgZmlsZXMgd2lsbCBiZSBzdG9yZWQgdG8gdGhlIHNhbWUgb2JqZWN0LlxuICAgKi9cbiAgcGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIFNwZWNpZnkgUzMgcmVnaW9uLlxuICAgKi9cbiAgcmVnaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogUzMgY29udGFpbmVyIGFjY2Vzcy4gJ3B1YmxpYycgb3IgJ3ByaXZhdGUnLlxuICAgKi9cbiAgYWNjZXNzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXb3JrZmxvd3MgaWRzIHRvIHJ1biBhZnRlciB1cGxvYWRcbiAgICovXG4gIHdvcmtmbG93cz86IHN0cmluZ1tdIHwgV29ya2Zsb3dDb25maWdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJDdXN0b21UZXh0IHtcbiAgLy8gQWN0aW9uc1xuICBVcGxvYWQ/OiBzdHJpbmc7XG4gICdVcGxvYWQgbW9yZSc/OiBzdHJpbmc7XG4gICdEZXNlbGVjdCBBbGwnPzogc3RyaW5nO1xuICAnVmlldy9FZGl0IFNlbGVjdGVkJz86IHN0cmluZztcbiAgJ1NpZ24gT3V0Jz86IHN0cmluZztcblxuICAvLyBTb3VyY2UgTGFiZWxzXG4gICdNeSBEZXZpY2UnPzogc3RyaW5nO1xuICAnV2ViIFNlYXJjaCc/OiBzdHJpbmc7XG4gICdUYWtlIFBob3RvJz86IHN0cmluZztcbiAgJ0xpbmsgKFVSTCknPzogc3RyaW5nO1xuICAnUmVjb3JkIFZpZGVvJz86IHN0cmluZztcbiAgJ1JlY29yZCBBdWRpbyc/OiBzdHJpbmc7XG5cbiAgLy8gQ3VzdG9tIFNvdXJjZVxuICAnQ3VzdG9tIFNvdXJjZSc/OiBzdHJpbmc7XG5cbiAgLy8gRm9vdGVyIFRleHRcbiAgQWRkPzogc3RyaW5nO1xuICAnbW9yZSBmaWxlJz86IHN0cmluZztcbiAgJ21vcmUgZmlsZXMnPzogc3RyaW5nO1xuXG4gIC8vIENsb3VkXG4gICdDb25uZWN0IHtwcm92aWRlck5hbWV9Jz86IHN0cmluZztcbiAgJ1NlbGVjdCBGaWxlcyBmcm9tIHtwcm92aWRlck5hbWV9Jz86IHN0cmluZztcbiAgJ1lvdSBuZWVkIHRvIGF1dGhlbnRpY2F0ZSB3aXRoIHtwcm92aWRlck5hbWV9Lic/OiBzdHJpbmc7XG4gICdBIG5ldyBwYWdlIHdpbGwgb3BlbiB0byBjb25uZWN0IHlvdXIgYWNjb3VudC4nPzogc3RyaW5nO1xuICAnV2Ugb25seSBleHRyYWN0IGltYWdlcyBhbmQgbmV2ZXIgbW9kaWZ5IG9yIGRlbGV0ZSB0aGVtLic/OiBzdHJpbmc7XG4gICdUbyBkaXNjb25uZWN0IGZyb20ge3Byb3ZpZGVyTmFtZX0gY2xpY2sgXCJTaWduIG91dFwiIGJ1dHRvbiBpbiB0aGUgbWVudS4nPzogc3RyaW5nO1xuICAnU2lnbiBpbiB3aXRoIEdvb2dsZSc/OiBzdHJpbmc7XG4gICdHbyBiYWNrJz86IHN0cmluZztcbiAgJ1RoaXMgZm9sZGVyIGlzIGVtcHR5Lic/OiBzdHJpbmc7XG5cbiAgLy8gU3VtbWFyeVxuICBGaWxlcz86IHN0cmluZztcbiAgSW1hZ2VzPzogc3RyaW5nO1xuICBVcGxvYWRlZD86IHN0cmluZztcbiAgVXBsb2FkaW5nPzogc3RyaW5nO1xuICBDb21wbGV0ZWQ/OiBzdHJpbmc7XG4gIEZpbHRlcj86IHN0cmluZztcbiAgJ0Nyb3BwZWQgSW1hZ2VzJz86IHN0cmluZztcbiAgJ0VkaXRlZCBJbWFnZXMnPzogc3RyaW5nO1xuICAnU2VsZWN0ZWQgRmlsZXMnPzogc3RyaW5nO1xuICAnQ3JvcCBpcyByZXF1aXJlZCBvbiBpbWFnZXMnPzogc3RyaW5nO1xuXG4gIC8vIFRyYW5zZm9ybVxuICBDcm9wPzogc3RyaW5nO1xuICBDaXJjbGU/OiBzdHJpbmc7XG4gIFJvdGF0ZT86IHN0cmluZztcbiAgTWFzaz86IHN0cmluZztcbiAgUmV2ZXJ0Pzogc3RyaW5nO1xuICBFZGl0Pzogc3RyaW5nO1xuICBSZXNldD86IHN0cmluZztcbiAgRG9uZT86IHN0cmluZztcbiAgU2F2ZT86IHN0cmluZztcbiAgTmV4dD86IHN0cmluZztcbiAgJ0VkaXQgSW1hZ2UnPzogc3RyaW5nO1xuICAnVGhpcyBpbWFnZSBjYW5ub3QgYmUgZWRpdGVkJz86IHN0cmluZztcblxuICAvLyBSZXRyeSBtZXNzYWdpbmdcbiAgJ0Nvbm5lY3Rpb24gTG9zdCc/OiBzdHJpbmc7XG4gICdGYWlsZWQgV2hpbGUgVXBsb2FkaW5nJz86IHN0cmluZztcbiAgJ1JldHJ5aW5nIGluJz86IHN0cmluZztcbiAgJ1RyeSBhZ2Fpbic/OiBzdHJpbmc7XG4gICdUcnkgbm93Jz86IHN0cmluZztcblxuICAvLyBMb2NhbCBGaWxlIFNvdXJjZVxuICAnRHJhZyBhbmQgRHJvcCwgQ29weSBhbmQgUGFzdGUgRmlsZXMnPzogc3RyaW5nO1xuICAnb3IgRHJhZyBhbmQgRHJvcCwgQ29weSBhbmQgUGFzdGUgRmlsZXMnPzogc3RyaW5nO1xuICAnU2VsZWN0IEZpbGVzIHRvIFVwbG9hZCc/OiBzdHJpbmc7XG4gICdTZWxlY3QgRnJvbSc/OiBzdHJpbmc7XG4gICdEcm9wIHlvdXIgZmlsZXMgYW55d2hlcmUnPzogc3RyaW5nO1xuXG4gIC8vIElucHV0IHBsYWNlaG9sZGVyc1xuICAnRW50ZXIgYSBVUkwnPzogc3RyaW5nO1xuICAnU2VhcmNoIGltYWdlcyc/OiBzdHJpbmc7XG5cbiAgLy8gV2ViY2FtIFNvdXJjZVxuICAnV2ViY2FtIERpc2FibGVkJz86IHN0cmluZztcbiAgJ1dlYmNhbSBOb3QgU3VwcG9ydGVkJz86IHN0cmluZztcbiAgJ1BsZWFzZSBlbmFibGUgeW91ciB3ZWJjYW0gdG8gdGFrZSBhIHBob3RvLic/OiBzdHJpbmc7XG4gICdZb3VyIGN1cnJlbnQgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IHdlYmNhbSBmdW5jdGlvbmFsaXR5Lic/OiBzdHJpbmc7XG4gICdXZSBzdWdnZXN0IHVzaW5nIENocm9tZSBvciBGaXJlZm94Lic/OiBzdHJpbmc7XG5cbiAgLy8gRXJyb3IgTm90aWZpY2F0aW9uc1xuICAnRmlsZSB7ZGlzcGxheU5hbWV9IGlzIG5vdCBhbiBhY2NlcHRlZCBmaWxlIHR5cGUuIFRoZSBhY2NlcHRlZCBmaWxlIHR5cGVzIGFyZSB7dHlwZXN9Jz86IHN0cmluZztcbiAgJ0ZpbGUge2Rpc3BsYXlOYW1lfSBpcyB0b28gYmlnLiBUaGUgYWNjZXB0ZWQgZmlsZSBzaXplIGlzIGxlc3MgdGhhbiB7cm91bmRGaWxlU2l6ZX0nPzogc3RyaW5nO1xuICAnT3VyIGZpbGUgdXBsb2FkIGxpbWl0IGlzIHttYXhGaWxlc30ge2ZpbGVzVGV4dH0nPzogc3RyaW5nO1xuICAnTm8gc2VhcmNoIHJlc3VsdHMgZm91bmQgZm9yIFwie3NlYXJjaH1cIic/OiBzdHJpbmc7XG4gICdBbiBlcnJvciBvY2N1cnJlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4nPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlck9wdGlvbnMge1xuICAvKipcbiAgICogUmVzdHJpY3QgZmlsZSB0eXBlcyB0aGF0IGFyZSBhbGxvd2VkIHRvIGJlIHBpY2tlZC4gRm9ybWF0cyBhY2NlcHRlZDpcbiAgICogIC0gLnBkZiA8LSBhbnkgZmlsZSBleHRlbnNpb25cbiAgICogIC0gaW1hZ2UvanBlZyA8LSBhbnkgbWltZSB0eXBlIGNvbW1vbmx5IGtub3duIGJ5IGJyb3dzZXJzXG4gICAqICAtIGltYWdlLyogPC0gYWNjZXB0IGFsbCB0eXBlcyBvZiBpbWFnZXNcbiAgICogIC0gdmlkZW8vKiA8LSBhY2NlcHQgYWxsIHR5cGVzIG9mIHZpZGVvIGZpbGVzXG4gICAqICAtIGF1ZGlvLyogPC0gYWNjZXB0IGFsbCB0eXBlcyBvZiBhdWRpbyBmaWxlc1xuICAgKiAgLSBhcHBsaWNhdGlvbi8qIDwtIGFjY2VwdCBhbGwgdHlwZXMgb2YgYXBwbGljYXRpb24gZmlsZXNcbiAgICogIC0gdGV4dC8qIDwtIGFjY2VwdCBhbGwgdHlwZXMgb2YgdGV4dCBmaWxlc1xuICAgKi9cbiAgYWNjZXB0Pzogc3RyaW5nIHwgc3RyaW5nW107XG4gIC8qKlxuICAgKiBDdXN0b20gYWNjZXB0IGNoZWNrIGZ1bmN0aW9uXG4gICAqIGBgYGphdmFzY3JpcHRcbiAgICogYWNjZXB0Rm46IChmaWxlLCBvcHRpb25zKSA9PiB7XG4gICAqICByZXR1cm4gb3B0aW9ucy5taW1lRnJvbU1hZ2ljQnl0ZXMoZmlsZS5vcmlnaW5hbEZpbGUpLnRoZW4oKHJlcykgPT4geyAvLyB3ZSBjYW4gY2hlY2sgbWltZXR5cGUgZnJvbSBtYWdpYyBieXRlc1xuICAgKiAgICAvL2NvbnNvbGUubG9nKG9wdGlvbnMubWltZUZyb21FeHRlbnNpb24oZmlsZS5vcmlnaW5hbEZpbGUubmFtZSkpOyAvLyBvciBjaGVjayBleHRlbnNpb24gZnJvbSBmaWxlc3RhY2sgZXh0ZW5zaW9ucyBkYXRhYmFzZVxuICAgKiAgICAvLyB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBhY2NlcHQgdGhhdCBmaWxlJykgLy8gd2UgY2FuIHRocm93IGV4Y2VwdGlvbiB0byBibG9jayBmaWxlIHVwbG9hZFxuICAgKiAgICAvLyByZXR1cm4gUHJvbWlzZS5yZWplY3QoJ0Nhbm5vdCBhY2NlcHQgdGhhdCBmaWxlJycpIC8vIG9yIHJlamVjdCBhIHByb21pc2VcbiAgICogICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgKiAgfSk7XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBhY2NlcHRGbj86IChQaWNrZXJGaWxlTWV0YWRhdGEsIFBpY2tlckFjY2VwdEZuT3B0aW9ucykgPT4gUHJvbWlzZTxzdHJpbmc+O1xuICAvKipcbiAgICogUHJldmVudCBtb2RhbCBjbG9zZSBvbiB1cGxvYWQgZmFpbHVyZSBhbmQgYWxsb3cgdXNlcnMgdG8gcmV0cnkuXG4gICAqL1xuICBhbGxvd01hbnVhbFJldHJ5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqICBWYWxpZCBzb3VyY2VzIGFyZTpcbiAgICogIC0gbG9jYWxfZmlsZV9zeXN0ZW0gLSBEZWZhdWx0XG4gICAqICAtIHVybCAtIERlZmF1bHRcbiAgICogIC0gaW1hZ2VzZWFyY2ggLSBEZWZhdWx0XG4gICAqICAtIGZhY2Vib29rIC0gRGVmYXVsdFxuICAgKiAgLSBpbnN0YWdyYW0gLSBEZWZhdWx0XG4gICAqICAtIGdvb2dsZWRyaXZlIC0gRGVmYXVsdFxuICAgKiAgLSBkcm9wYm94IC0gRGVmYXVsdFxuICAgKiAgLSB3ZWJjYW0gLSBVc2VzIGRldmljZSBtZW51IG9uIG1vYmlsZS4gTm90IGN1cnJlbnRseSBzdXBwb3J0ZWQgaW4gU2FmYXJpIGFuZCBJRS5cbiAgICogIC0gdmlkZW8gLSBVc2VzIGRldmljZSBtZW51IG9uIG1vYmlsZS4gTm90IGN1cnJlbnRseSBzdXBwb3J0ZWQgaW4gU2FmYXJpIGFuZCBJRS5cbiAgICogIC0gYXVkaW8gLSBVc2VzIGRldmljZSBtZW51IG9uIG1vYmlsZS4gTm90IGN1cnJlbnRseSBzdXBwb3J0ZWQgaW4gU2FmYXJpIGFuZCBJRS5cbiAgICogIC0gYm94XG4gICAqICAtIGdpdGh1YlxuICAgKiAgLSBnbWFpbFxuICAgKiAgLSBnb29nbGVwaG90b3NcbiAgICogIC0gb25lZHJpdmVcbiAgICogIC0gb25lZHJpdmVmb3JidXNpbmVzc1xuICAgKiAgLSBjdXN0b21zb3VyY2UgLSBDb25maWd1cmUgdGhpcyBpbiB5b3VyIEZpbGVzdGFjayBEZXYgUG9ydGFsLlxuICAgKiAgLSB1bnNwbGFzaFxuICAgKi9cbiAgZnJvbVNvdXJjZXM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIENvbnRhaW5lciB3aGVyZSBwaWNrZXIgc2hvdWxkIGJlIGFwcGVuZGVkLiBPbmx5IHJlbGV2YW50IGZvciBgaW5saW5lYCBhbmQgYGRyb3BQYW5lYCBkaXNwbGF5IG1vZGVzLlxuICAgKi9cbiAgY29udGFpbmVyPzogc3RyaW5nIHwgTm9kZTtcblxuICAvKipcbiAgICogVHVybiBvbiBjbGVhbmluZyBKUEVHIGltYWdlIGV4aWYuIE1ldGhvZCBjYW4ga2VlcCBpbWFnZSBvcmllbnRhdGlvbiBvciBjb2xvciBwcm9maWxlc1xuICAgKiBgYGBqYXZhc2NyaXB0XG4gICAqIGNsZWFudXBJbWFnZUV4aWY6IHtcbiAgICogICBrZWVwT3JpZW50YXRpb246IHRydWVcbiAgICogICBrZWVwSUNDYW5kQVBQOiB0cnVlXG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBjbGVhbnVwSW1hZ2VFeGlmPzogYm9vbGVhbiB8IHtcbiAgICBrZWVwT3JpZW50YXRpb24/OiBib29sZWFuLFxuICAgIGtlZXBJQ0NhbmRBUFA/OiBib29sZWFuXG4gIH07XG4gIC8qKlxuICAgKiBDdXN0b21pemUgdGhlIHRleHQgb24gdGhlIGNsb3VkIGF1dGhlbnRpY2F0aW9uIHNjcmVlbiBpbiBQaWNrZXIuXG4gICAqIFVzZSBhIGNsb3VkIHNvdXJjZSBuYW1lIChzZWUge0BsaW5rIFBpY2tlck9wdGlvbnMuZnJvbVNvdXJjZXN9KVxuICAgKiBvciBhICdkZWZhdWx0JyBhcyBhIGtleSwgdGhlbiBwdXQgeW91ciBjdXN0b20gbm90aWNlIG9yIGNvbnNlbnRcbiAgICogdG8gdGhlICd0b3AnIG9yIHRoZSAnYm90dG9tJyBrZXkgdG8gc2hvdyBpdCByZXNwZWN0aXZseSBhYm92ZSBvciB1bmRlciAnQ29ubmVjdCBidXR0b24nLlxuICAgKlxuICAgKiBgYGBqYXZhc2NyaXB0XG4gICAqIGN1c3RvbUF1dGhUZXh0OiB7XG4gICAqICAgLy8gdXNlIGl0IGZvciBldmVyeSBjbG91ZCBhdXRoZW50aWNhdGlvbiBzY3JlZW5cbiAgICogICBkZWZhdWx0OiB7XG4gICAqICAgICB0b3A6IFtcbiAgICogICAgICAgJ2RlZmF1bHQgdG9wIGZpcnN0IGxpbmUnLFxuICAgKiAgICAgICAnZGVmYXVsdCB0b3Agc2Vjb25kIGxpbmUnXG4gICAqICAgICBdLFxuICAgKiAgICAgYm90dG9tOiBbXG4gICAqICAgICAgICdkZWZhdWx0IGJvdHRvbSBmaXJzdCBsaW5lJyxcbiAgICogICAgICAgJ2RlZmF1bHQgYm90dG9tIHNlY29uZCBsaW5lJ1xuICAgKiAgICAgXVxuICAgKiAgIH0sXG4gICAqICAgLy8gb3ZlcnJpZGUgYSBkZWZhdWx0IGJvdHRvbSB0ZXh0IGZvciBvbmx5IGdtYWlsXG4gICAqICAgZ21haWw6IHtcbiAgICogICAgIGJvdHRvbTogW1xuICAgKiAgICAgICAnV2UgbmVlZCB5b3VyIHBlcm1pc3Npb24gdG8gYWNjZXNzIHlvdXIgZGF0YSBhbmQnLFxuICAgKiAgICAgICAncHJvY2VzcyBpdCB3aXRoIG91ciBtYWNoaW5lIGxlYXJuaW5nIHN5c3RlbS4nXG4gICAqICAgICBdXG4gICAqICAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgY3VzdG9tQXV0aFRleHQ/OiBDdXN0b21BdXRoVGV4dE9wdGlvbnM7XG4gIC8qKlxuICAgKiBQaWNrZXIgZGlzcGxheSBtb2RlLCBvbmUgb2YgYCdpbmxpbmUnYCwgYCdvdmVybGF5J2AsIGAnZHJvcFBhbmUnYCAtIGRlZmF1bHQgaXMgYCdvdmVybGF5J2AuXG4gICAqL1xuICBkaXNwbGF5TW9kZT86IFBpY2tlckRpc3BsYXlNb2RlO1xuICAvKipcbiAgICogTWF4IG51bWJlciBvZiBmaWxlcyB0byB1cGxvYWQgY29uY3VycmVudGx5LiBEZWZhdWx0IGlzIDQuXG4gICAqL1xuICBjb25jdXJyZW5jeT86IG51bWJlcjtcbiAgLyoqXG4gICAqIFNldCB0aGUgZGVmYXVsdCBjb250YWluZXIgZm9yIHlvdXIgY3VzdG9tIHNvdXJjZS5cbiAgICovXG4gIGN1c3RvbVNvdXJjZUNvbnRhaW5lcj86IHN0cmluZztcbiAgLyoqXG4gICAqIFNldCB0aGUgZGVmYXVsdCBwYXRoIGZvciB5b3VyIGN1c3RvbSBzb3VyY2UgY29udGFpbmVyLlxuICAgKi9cbiAgY3VzdG9tU291cmNlUGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIFNldCB0aGUgZGlzcGxheSBuYW1lIGZvciB0aGUgY3VzdG9tIHNvdXJjZS5cbiAgICovXG4gIGN1c3RvbVNvdXJjZU5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQcm92aWRlIGFuIG9iamVjdCBmb3IgbWFwcGluZyBwaWNrZXIgc3RyaW5ncyB0byB5b3VyIG93biBzdHJpbmdzLlxuICAgKiBTdHJpbmdzIHN1cnJvdW5kZWQgYnkgYnJhY2tldHMsIGB7IGZvb2JhciB9YCwgYXJlIGludGVycG9sYXRlZCB3aXRoIHJ1bnRpbWUgdmFsdWVzLlxuICAgKiBTb3VyY2UgbGFiZWxzIGFyZSBhbHNvIGF2YWlsYWJsZSB0byBvdmVycmlkZSwgZS5nLiBGYWNlYm9vaywgSW5zdGFncmFtLCBEcm9wYm94LCBldGMuXG4gICAqL1xuICBjdXN0b21UZXh0PzogUGlja2VyQ3VzdG9tVGV4dDtcbiAgLyoqXG4gICAqIHNldCBzdXBwb3J0IGVtYWlsIHRvIGRpc3BsYXkgaW4gY2FzZSBvZiBlcnJvclxuICAgKi9cbiAgc3VwcG9ydEVtYWlsPzogc3RyaW5nO1xuICAvKipcbiAgICogV2hlbiB0cnVlIHJlbW92ZXMgdGhlIGhhc2ggcHJlZml4IG9uIHN0b3JlZCBmaWxlcy5cbiAgICovXG4gIGRpc2FibGVTdG9yYWdlS2V5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZW4gdHJ1ZSByZW1vdmVzIGFiaWxpdHkgdG8gZWRpdCBpbWFnZXMuXG4gICAqL1xuICBkaXNhYmxlVHJhbnNmb3JtZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogRGlzYWJsZXMgbG9jYWwgaW1hZ2UgdGh1bWJuYWlsIHByZXZpZXdzIGluIHRoZSBzdW1tYXJ5IHNjcmVlbi5cbiAgICovXG4gIGRpc2FibGVUaHVtYm5haWxzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENvbmZpZ3VyZSB0aGUgZHJvcCBwYW5lIGJlaGF2aW9yLCBpLmUuIHdoZW4gYGRpc3BsYXlNb2RlYCBpcyBgZHJvcFBhbmVgLlxuICAgKi9cbiAgZHJvcFBhbmU/OiBQaWNrZXJEcm9wUGFuZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBXaGVuIHRydWUgdGhlIGBvcmlnaW5hbEZpbGVgIG1ldGFkYXRhIHdpbGwgYmUgdGhlIGFjdHVhbCBgRmlsZWAgb2JqZWN0IGluc3RlYWQgb2YgYSBQT0pPXG4gICAqL1xuICBleHBvc2VPcmlnaW5hbEZpbGU/OiBib29sZWFuO1xuICAvKipcbiAgICogVG9nZ2xlIHRoZSBkcm9wIHpvbmUgdG8gYmUgYWN0aXZlIG9uIGFsbCB2aWV3cy4gRGVmYXVsdCBpcyBhY3RpdmUgb25seSBvbiBsb2NhbCBmaWxlIHNvdXJjZS5cbiAgICovXG4gIGdsb2JhbERyb3Bab25lPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhpZGUgdGhlIHBpY2tlciBtb2RhbCBVSSBvbmNlIHVwbG9hZGluZyBiZWdpbnMuIERlZmF1bHRzIHRvIGBmYWxzZWAuXG4gICAqL1xuICBoaWRlTW9kYWxXaGVuVXBsb2FkaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3BlY2lmeSBpbWFnZSBkaW1lbnNpb25zLiBlLmcuIFs4MDAsIDYwMF0uIE9ubHkgZm9yIEpQRUcsIFBORywgYW5kIEJNUCBmaWxlcy5cbiAgICogTG9jYWwgYW5kIGNyb3BwZWQgaW1hZ2VzIHdpbGwgYmUgcmVzaXplZCAodXBzY2FsZWQgb3IgZG93bnNjYWxlZCkgdG8gdGhlIHNwZWNpZmllZCBkaW1lbnNpb25zIGJlZm9yZSB1cGxvYWRpbmcuXG4gICAqIFRoZSBvcmlnaW5hbCBoZWlnaHQgdG8gd2lkdGggcmF0aW8gaXMgbWFpbnRhaW5lZC4gVG8gcmVzaXplIGFsbCBpbWFnZXMgYmFzZWQgb24gdGhlIHdpZHRoLCBzZXQgW3dpZHRoLCBudWxsXSwgZS5nLiBbODAwLCBudWxsXS5cbiAgICogRm9yIHRoZSBoZWlnaHQgc2V0IFtudWxsLCBoZWlnaHRdLCBlLmcuIFtudWxsLCA2MDBdLlxuICAgKi9cbiAgaW1hZ2VEaW0/OiBbbnVtYmVyLCBudW1iZXJdO1xuICAvKipcbiAgICogU3BlY2lmeSBtYXhpbXVtIGltYWdlIGRpbWVuc2lvbnMuIGUuZy4gWzgwMCwgNjAwXS4gT25seSBmb3IgSlBFRywgUE5HLCBhbmQgQk1QIGZpbGVzLlxuICAgKiBJbWFnZXMgYmlnZ2VyIHRoYW4gdGhlIHNwZWNpZmllZCBkaW1lbnNpb25zIHdpbGwgYmUgcmVzaXplZCB0byB0aGUgbWF4aW11bSBzaXplIHdoaWxlIG1haW50YWluaW5nIHRoZSBvcmlnaW5hbCBhc3BlY3QgcmF0aW8uXG4gICAqIFRoZSBvdXRwdXQgd2lsbCBub3QgYmUgZXhhY3RseSA4MDB4NjAwIHVubGVzcyB0aGUgaW1hZ2VNYXggbWF0Y2hlcyB0aGUgYXNwZWN0IHJhdGlvIG9mIHRoZSBvcmlnaW5hbCBpbWFnZS5cbiAgICovXG4gIGltYWdlTWF4PzogW251bWJlciwgbnVtYmVyXTtcbiAgLyoqXG4gICAqIFNwZWNpZnkgbWluaW11bSBpbWFnZSBkaW1lbnNpb25zLiBlLmcuIFs4MDAsIDYwMF0uIE9ubHkgZm9yIEpQRUcsIFBORywgYW5kIEJNUCBmaWxlcy5cbiAgICogSW1hZ2VzIHNtYWxsZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGRpbWVuc2lvbnMgd2lsbCBiZSB1cHNjYWxlZCB0byB0aGUgbWluaW11bSBzaXplIHdoaWxlIG1haW50YWluaW5nIHRoZSBvcmlnaW5hbCBhc3BlY3QgcmF0aW8uXG4gICAqIFRoZSBvdXRwdXQgd2lsbCBub3QgYmUgZXhhY3RseSA4MDB4NjAwIHVubGVzcyB0aGUgaW1hZ2VNaW4gbWF0Y2hlcyB0aGUgYXNwZWN0IHJhdGlvIG9mIHRoZSBvcmlnaW5hbCBpbWFnZS5cbiAgICovXG4gIGltYWdlTWluPzogW251bWJlciwgbnVtYmVyXTtcbiAgLyoqXG4gICAqIFNldHMgbG9jYWxlLiBBY2NlcHRzOiBjYSwgZGEsIGRlLCBlbiwgZXMsIGZyLCBoZSwgaXQsIGphLCBrbywgbmwsIG5vLCBwbCwgcHQsIHN2LCBydSwgdmksIHpoLCB0clxuICAgKi9cbiAgbGFuZz86IHN0cmluZztcbiAgLyoqXG4gICAqIE1pbmltdW0gbnVtYmVyIG9mIGZpbGVzIHJlcXVpcmVkIHRvIHN0YXJ0IHVwbG9hZGluZy4gRGVmYXVsdHMgdG8gMS5cbiAgICovXG4gIG1pbkZpbGVzPzogbnVtYmVyO1xuICAvKipcbiAgICogTWF4aW11bSBudW1iZXIgb2YgZmlsZXMgYWxsb3dlZCB0byB1cGxvYWQuIERlZmF1bHRzIHRvIDEuXG4gICAqL1xuICBtYXhGaWxlcz86IG51bWJlcjtcbiAgLyoqXG4gICAqIFJlc3RyaWN0IHNlbGVjdGVkIGZpbGVzIHRvIGEgbWF4aW11bSBudW1iZXIgb2YgYnl0ZXMuIChlLmcuIDEwIFxcKiAxMDI0IFxcKiAxMDI0IGZvciAxME1CIGxpbWl0KS5cbiAgICovXG4gIG1heFNpemU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgdmlldyB0eXBlIG9wdGlvbiBmb3IgZmlsZSBicm93c2VyXG4gICAqL1xuICB2aWV3VHlwZT86ICdncmlkJyB8ICdsaXN0JztcblxuICAvKipcbiAgICogVGltZW91dCBmb3IgZXJyb3IgbWVzc2FnZXNcbiAgICovXG4gIGVycm9yc1RpbWVvdXQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBTcGVjaWZ5IFt3aWR0aCwgaGVpZ2h0XSBpbiBwaXhlbHMgb2YgdGhlIGRlc2t0b3AgbW9kYWwuXG4gICAqL1xuICBtb2RhbFNpemU/OiBbbnVtYmVyLCBudW1iZXJdO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gYWxsIHVwbG9hZHMgaW4gYSBwaWNrIGFyZSBjYW5jZWxsZWQuXG4gICAqL1xuICBvbkNhbmNlbD86IFBpY2tlclVwbG9hZERvbmVDYWxsYmFjaztcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBVSSBpcyBleGl0ZWQuXG4gICAqL1xuICBvbkNsb3NlPzogKCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBVSSBpcyBtb3VudGVkLlxuICAgKiBAcGFyYW0gUGlja2VySW5zdGFuY2UgYXBwbGljYXRpb24gaGFuZGxlXG4gICAqL1xuICBvbk9wZW4/OiAoaGFuZGxlOiBQaWNrZXJJbnN0YW5jZSkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuZXZlciB1c2VyIHNlbGVjdHMgYSBmaWxlLlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiAvLyBVc2luZyB0byB2ZXRvIGZpbGUgc2VsZWN0aW9uXG4gICAqIC8vIElmIHlvdSB0aHJvdyBhbnkgZXJyb3IgaW4gdGhpcyBmdW5jdGlvbiBpdCB3aWxsIHJlamVjdCB0aGUgZmlsZSBzZWxlY3Rpb24uXG4gICAqIC8vIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgYmUgZGlzcGxheWVkIHRvIHRoZSB1c2VyIGFzIGFuIGFsZXJ0LlxuICAgKiBvbkZpbGVTZWxlY3RlZChmaWxlKSB7XG4gICAqICAgaWYgKGZpbGUuc2l6ZSA+IDEwMDAgKiAxMDAwKSB7XG4gICAqICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZpbGUgdG9vIGJpZywgc2VsZWN0IHNvbWV0aGluZyBzbWFsbGVyIHRoYW4gMU1CJyk7XG4gICAqICAgfVxuICAgKiB9XG4gICAqXG4gICAqIC8vIFVzaW5nIHRvIGNoYW5nZSBzZWxlY3RlZCBmaWxlIG5hbWVcbiAgICogLy8gTk9URTogVGhpcyBjdXJyZW50bHkgb25seSB3b3JrcyBmb3IgbG9jYWwgdXBsb2Fkc1xuICAgKiBvbkZpbGVTZWxlY3RlZChmaWxlKSB7XG4gICAqICAgLy8gSXQncyBpbXBvcnRhbnQgdG8gcmV0dXJuIGEgbmV3IGZpbGUgYnkgdGhlIGVuZCBvZiB0aGlzIGZ1bmN0aW9uLlxuICAgKiAgIHJldHVybiB7IC4uLmZpbGUsIG5hbWU6ICdmb28nIH07XG4gICAqIH1cbiAgICogYGBgXG4gICAqXG4gICAqIFRoZSBjYWxsYmFjayBmdW5jdGlvbiBjYW4gYWxzbyByZXR1cm4gYSBQcm9taXNlIHRvIGFsbG93IGFzeW5jaHJvbm91cyB2YWxpZGF0aW9uIGxvZ2ljLlxuICAgKiBZb3UgY2FuIHBhc3MgYSBmaWxlIG9iamVjdCB0byBgcmVzb2x2ZWAgZm9yIGNoYW5naW5nIHRoZSBmaWxlIG5hbWUsIGl0IHdpbGwgYmVoYXZlIHRoZSBzYW1lIGFzIHdoZW5cbiAgICogdGhlIGZpbGUgaXMgcmV0dXJuZWQgZnJvbSB0aGUgbm9uLWFzeW5jIGNhbGxiYWNrLlxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBvbkZpbGVTZWxlY3RlZChmaWxlKSB7XG4gICAqICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICogICAgIC8vIERvIHNvbWV0aGluZyBhc3luY1xuICAgKiAgICAgcmVzb2x2ZSgpO1xuICAgKiAgICAgLy8gT3IgcmVqZWN0IHRoZSBzZWxlY3Rpb24gd2l0aCByZWplY3QoKVxuICAgKiAgIH0pO1xuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgb25GaWxlU2VsZWN0ZWQ/OiBQaWNrZXJGaWxlQ2FsbGJhY2s7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhIGZpbGUgdXBsb2FkIGhhcyBiZWVuIGNhbmNlbGVkLlxuICAgKi9cbiAgb25GaWxlVXBsb2FkQ2FuY2VsPzogUGlja2VyRmlsZUNhbmNlbENhbGxiYWNrO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gYSBmaWxlIGJlZ2lucyB1cGxvYWRpbmcuXG4gICAqL1xuICBvbkZpbGVVcGxvYWRTdGFydGVkPzogUGlja2VyRmlsZVdpdGhUb2tlbkNhbGxiYWNrO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gYSBmaWxlIGlzIGRvbmUgdXBsb2FkaW5nLlxuICAgKi9cbiAgb25GaWxlVXBsb2FkRmluaXNoZWQ/OiBQaWNrZXJGaWxlQ2FsbGJhY2s7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB1cGxvYWRpbmcgYSBmaWxlIGZhaWxzLlxuICAgKi9cbiAgb25GaWxlVXBsb2FkRmFpbGVkPzogUGlja2VyRmlsZUVycm9yQ2FsbGJhY2s7XG4gIC8qKlxuICAgKiBDYWxsZWQgZHVyaW5nIG11bHRpLXBhcnQgdXBsb2FkIHByb2dyZXNzIGV2ZW50cy4gTG9jYWwgZmlsZXMgb25seS5cbiAgICovXG4gIG9uRmlsZVVwbG9hZFByb2dyZXNzPzogUGlja2VyRmlsZVByb2dyZXNzQ2FsbGJhY2s7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBmaWxlIGlzIGNyb3BwZWQgaW4gcGlja2VyXG4gICAqL1xuICBvbkZpbGVDcm9wcGVkPzogUGlja2VyRmlsZUNhbGxiYWNrO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdXBsb2FkaW5nIHN0YXJ0cyAodXNlciBpbml0aWF0ZXMgdXBsb2FkaW5nKS5cbiAgICovXG4gIG9uVXBsb2FkU3RhcnRlZD86IFBpY2tlclVwbG9hZFN0YXJ0ZWRDYWxsYmFjaztcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGFsbCBmaWxlcyBoYXZlIGJlZW4gdXBsb2FkZWQuXG4gICAqL1xuICBvblVwbG9hZERvbmU/OiBQaWNrZXJVcGxvYWREb25lQ2FsbGJhY2s7XG5cbiAgLyoqXG4gICAqIERlZmluZSBhIHVuaXF1ZSBpZCBmb3IgdGhlIGFwcGxpY2F0aW9uIG1vdW50IHBvaW50LlxuICAgKiBNYXkgYmUgdXNlZnVsIGZvciBtb3JlIGFkdmFuY2VkIHVzZSBjYXNlcy5cbiAgICogRm9yIGV4YW1wbGUsIGlmIHlvdSB3aXNoIHRvIGhhdmUgbW9yZSB0aGFuIG9uZSBwaWNrZXIgaW5zdGFuY2Ugb3BlbiBhdCBvbmNlLFxuICAgKiB0aGVuIGVhY2ggd2lsbCBuZWVkIHRoZWlyIG93biB1bmlxdWUgcm9vdElkLlxuICAgKlxuICAgKiAqKk5vdGU6KiogVGhpcyBvcHRpb24gaXMgaWdub3JlZCB3aGVuIGBkaXNwbGF5TW9kZWAgaXMgYGRyb3BQYW5lYC5cbiAgICovXG4gIHJvb3RJZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc3RhcnQgdXBsb2FkaW5nIGF1dG9tYXRpY2FsbHkgd2hlbiBtYXhGaWxlcyBpcyBoaXQuIERlZmF1bHRzIHRvIGBmYWxzZWAuXG4gICAqL1xuICBzdGFydFVwbG9hZGluZ1doZW5NYXhGaWxlc1JlYWNoZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgZmlsZSBzdG9yYWdlLlxuICAgKi9cbiAgc3RvcmVUbz86IFBpY2tlclN0b3JlT3B0aW9ucztcbiAgLyoqXG4gICAqIFNwZWNpZnkgb3B0aW9ucyBmb3IgaW1hZ2VzIHBhc3NlZCB0byB0aGUgY3JvcCBVSS5cbiAgICovXG4gIHRyYW5zZm9ybWF0aW9ucz86IFBpY2tlclRyYW5zZm9ybWF0aW9uT3B0aW9ucztcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIGxvY2FsIGZpbGUgdXBsb2Fkcy5cbiAgICovXG4gIHVwbG9hZENvbmZpZz86IFVwbG9hZE9wdGlvbnM7XG4gIC8qKlxuICAgKiBTdGFydCB1cGxvYWRpbmcgaW1tZWRpYXRlbHkgb24gZmlsZSBzZWxlY3Rpb24uIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICogQGltcG9ydGFudCBUaGUgZmVhdHVyZSBpcyBjYW4gYmUgZW5hYmxlZCBvbmx5IGlmIGNyb3AgaXMgZGlzYWJsZWQgLSBkaXNhYmxlVHJhbnNmb3JtZXI6IHRydWVcbiAgICovXG4gIHVwbG9hZEluQmFja2dyb3VuZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTZXRzIHRoZSByZXNvbHV0aW9uIG9mIHJlY29yZGVkIHZpZGVvLiBPbmUgb2YgXCIzMjB4MjQwXCIsIFwiNjQweDQ4MFwiIG9yIFwiMTI4MHg3MjBcIi4gRGVmYXVsdCBpcyBgXCI2NDB4NDgwXCJgLlxuICAgKi9cbiAgdmlkZW9SZXNvbHV0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlIFNlbnRyeSBCcmVhZGNydW1icyBtZWNoYW5pc20gdG8gbG9nIGluZm9ybWF0aW9uIGFib3V0IG9jY3VyZWQgZXJyb3JzLlxuICAgKiBJdCBjYW4gb3ZlcnJpZGUgZ2xvYmFsIG9iamVjdHMgbGlrZSBjb25zb2xlLCBlcnJvciBldGMuIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIHVzZVNlbnRyeUJyZWFkY3J1bWJzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNwZWNpZnkgd2hpY2ggUGlja2VyIGluc3RhbmNlIHNob3VsZCByZXNwb25kIHRvIHBhc3RlIGV2ZW50LlxuICAgKiBCeSBkZWZhdWx0IG9ubHkgaG92ZXJlZCBpbnN0YW5jZSByZXNwb25kcyB0byBldmVudC5cbiAgICogQHBhcmFtIHtib29sZWFuID0gZmFsc2V9IHBhc3RlVG9GaXJzdEluVmlld1BvcnQgSWYgbm9uZSBpbnN0YW5jZSBpcyBob3ZlcmVkIHRha2UgZmlyc3QgcGlja2VyIGluc3RhbmNlIGZ1bGx5IHZpc2libGUgaW4gdmlld3BvcnRcbiAgICogQHBhcmFtIHtib29sZWFuID0gZmFsc2V9IHBhc3RlVG9GaXJzdEluc3RhbmNlIElmIG5vbmUgaW5zdGFuY2UgaXMgaG92ZXJlZCB0YWtlIGZpcnN0IHBpY2tlciBpbnN0YW5jZSB0aGF0IGlzIGluaXRpYWxpemVkXG4gICAqIEBwYXN0ZVRvRmlyc3RJblZpZXdQb3J0IGlzIGNoZWNrZWQgZmlyc3RcbiAgICovXG4gIHBhc3RlTW9kZT86IHtcbiAgICBwYXN0ZVRvRmlyc3RJblZpZXdQb3J0PzogYm9vbGVhbixcbiAgICBwYXN0ZVRvRmlyc3RJbnN0YW5jZT86IGJvb2xlYW5cbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJDcm9wT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBNYWludGFpbiBhc3BlY3QgcmF0aW8gZm9yIGNyb3Agc2VsZWN0aW9uLiAoZS5nLiAxNi85LCA4MDAvNjAwKS5cbiAgICovXG4gIGFzcGVjdFJhdGlvPzogbnVtYmVyO1xuICAvKipcbiAgICogRm9yY2UgYWxsIGltYWdlcyB0byBiZSBjcm9wcGVkIGJlZm9yZSB1cGxvYWRpbmcuXG4gICAqL1xuICBmb3JjZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyVHJhbnNmb3JtYXRpb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIEVuYWJsZSBjcm9wLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqL1xuICBjcm9wPzogYm9vbGVhbiB8IFBpY2tlckNyb3BPcHRpb25zO1xuICAvKipcbiAgICogRW5hYmxlIGNpcmNsZSBjcm9wLiBEaXNhYmxlZCBpZiBjcm9wLmFzcGVjdFJhdGlvIGlzIGRlZmluZWQgYW5kIG5vdCAxLiBDb252ZXJ0cyB0byBQTkcuIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIGNpcmNsZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbmFibGUgaW1hZ2Ugcm90YXRpb24uIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIHJvdGF0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEdsb2JhbCBmb3JjZSBjcm9wIG9wdGlvbi4gQ2FuIGJlIHVzZSBpZSB3aXRoIGNpcmNsZVxuICAgKi9cbiAgZm9yY2U/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlckFjY2VwdEZuT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBQcm92aWRlZCBhY2NlcHQgc3RyaW5nXG4gICAqL1xuICBhY2NlcHQ6IHN0cmluZ1tdO1xuICAvKipcbiAgICogQWNjZXB0IHN0cmluZyBjb252ZXJ0ZWQgdG8gbWltZXR5cGVcbiAgICovXG4gIGFjY2VwdE1pbWU6IHN0cmluZ1tdO1xuICAvKipcbiAgICogTWltZXR5cGUgYmFzZWQgbWFnaWMgYnl0ZXNcbiAgICoge0BsaW5rIGh0dHBzOi8vZmlsZXN0YWNrLmdpdGh1Yi5pby9maWxlc3RhY2stanMvZ2xvYmFscy5odG1sI2dldG1pbWV0eXBlfVxuICAgKi9cbiAgbWltZUZyb21NYWdpY0J5dGVzOiBQcm9taXNlPHN0cmluZz47XG4gIC8qKlxuICAgKiBNaW1ldHlwZSBiYXNlZCBvbiBmaWxlIGV4dGVuc2lvblxuICAgKiB7QGxpbmsgaHR0cHM6Ly9maWxlc3RhY2suZ2l0aHViLmlvL2ZpbGVzdGFjay1qcy9nbG9iYWxzLmh0bWwjZXh0ZW5zaW9udG9taW1lfVxuICAgKi9cbiAgbWltZUZyb21FeHRlbnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICogQSBzeW5jaHJvbm91cy1sb29raW5nIHdyYXBwZXIgZm9yIGxvYWRpbmcgdGhlIHBpY2tlciBhbmQgY2FsbGluZyBpdHMgbWV0aG9kcy5cbiAqIFRoaXMgaXMgY3VycmVudGx5IG5lZWRlZCBiZWNhdXNlIHRoZSBwaWNrZXIgbW9kdWxlIGlzIGxvYWRlZCBhc3luY2hyb25vdXNseS5cbiAqIEV2ZW50dWFsbHkgd2Ugc2hvdWxkIG9mZmVyIGEgYnVuZGxlIHdpdGggdGhlIHBpY2tlciBtb2R1bGUgaW5jbHVkZWQuXG4gKi9cbmNsYXNzIFBpY2tlckxvYWRlciB7XG5cbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZWQ6IFByb21pc2U8UGlja2VySW5zdGFuY2U+O1xuICBjb25zdHJ1Y3RvcihjbGllbnQ6IENsaWVudCwgb3B0aW9ucz86IFBpY2tlck9wdGlvbnMpIHtcbiAgICBjb25zdCB2YWxpZGF0ZVJlcyA9IGdldFZhbGlkYXRvcihQaWNrZXJQYXJhbXNTY2hlbWEpKG9wdGlvbnMpO1xuXG4gICAgaWYgKHZhbGlkYXRlUmVzLmVycm9ycy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcihgSW52YWxpZCBwaWNrZXIgcGFyYW1zYCwgdmFsaWRhdGVSZXMuZXJyb3JzLCBGaWxlc3RhY2tFcnJvclR5cGUuVkFMSURBVElPTik7XG4gICAgfVxuXG4gICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0aGlzLmxvYWRNb2R1bGUoY2xpZW50LCBvcHRpb25zKTtcbiAgfVxuXG4gIGFzeW5jIG9wZW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcGlja2VyID0gYXdhaXQgdGhpcy5faW5pdGlhbGl6ZWQ7XG4gICAgYXdhaXQgcGlja2VyLm9wZW4oKTtcbiAgfVxuXG4gIGFzeW5jIGNyb3AoZmlsZXM6IGFueVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcGlja2VyID0gYXdhaXQgdGhpcy5faW5pdGlhbGl6ZWQ7XG4gICAgYXdhaXQgcGlja2VyLmNyb3AoZmlsZXMpO1xuICB9XG5cbiAgYXN5bmMgY2xvc2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcGlja2VyID0gYXdhaXQgdGhpcy5faW5pdGlhbGl6ZWQ7XG4gICAgYXdhaXQgcGlja2VyLmNsb3NlKCk7XG4gIH1cblxuICBhc3luYyBjYW5jZWwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcGlja2VyID0gYXdhaXQgdGhpcy5faW5pdGlhbGl6ZWQ7XG4gICAgYXdhaXQgcGlja2VyLmNhbmNlbCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkTW9kdWxlKGNsaWVudDogQ2xpZW50LCBvcHRpb25zPzogUGlja2VyT3B0aW9ucyk6IFByb21pc2U8UGlja2VySW5zdGFuY2U+IHtcbiAgICBjb25zdCB7IHNlc3Npb246IHsgdXJsczogeyBwaWNrZXJVcmw6IHVybCB9IH0gfSA9IGNsaWVudDtcbiAgICBjb25zdCBQaWNrZXIgPSBhd2FpdCBsb2FkTW9kdWxlKEZJTEVTVEFDS19NT0RVTEVTLlBJQ0tFUiwgdXJsKTtcbiAgICByZXR1cm4gbmV3IFBpY2tlcihjbGllbnQsIG9wdGlvbnMpO1xuICB9XG59XG5cbi8qKlxuICogTG9hZHMgYW5kIGNyZWF0ZXMgcGlja2VyIGluc3RhbmNlXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBjbGllbnRcbiAqIEBwYXJhbSBvcHRpb25zXG4gKi9cbmV4cG9ydCBjb25zdCBwaWNrZXIgPSAoY2xpZW50OiBDbGllbnQsIG9wdGlvbnM/OiBQaWNrZXJPcHRpb25zKTogUGlja2VySW5zdGFuY2UgPT4ge1xuICByZXR1cm4gbmV3IFBpY2tlckxvYWRlcihjbGllbnQsIG9wdGlvbnMpO1xufTtcbiJdfQ==

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

var picker_1 = require("./picker");
var filestack = require("./../index");
var filestack = tslib_1.__importStar(require("./../index"));
var mockPickerOpen = jest.fn(function () { return Promise.resolve(); });

@@ -56,3 +56,3 @@ var mockPickerCrop = jest.fn(function () { return Promise.resolve(); });

beforeEach(function () {
pickerInstance = picker_1.picker(client, {});
pickerInstance = (0, picker_1.picker)(client, {});
});

@@ -109,3 +109,3 @@ it('should properly open picker', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {

it('should not throw error on correct params', function () {
return expect(function () { return picker_1.picker(client, {
return expect(function () { return (0, picker_1.picker)(client, {
onOpen: function () {

@@ -126,3 +126,3 @@ console.log(123);

it('should throw error on invalid options', function () {
return expect(function () { return picker_1.picker(client, {
return expect(function () { return (0, picker_1.picker)(client, {
// @ts-ignore

@@ -139,2 +139,2 @@ onOpen: 'test',

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcGlja2VyLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7O0FBRUgsbUNBQWtDO0FBQ2xDLHNDQUF3QztBQUV4QyxJQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQWpCLENBQWlCLENBQUMsQ0FBQztBQUV4RCxJQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQWpCLENBQWlCLENBQUMsQ0FBQztBQUN4RCxJQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQWpCLENBQWlCLENBQUMsQ0FBQztBQUN6RCxJQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBTSxPQUFBLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBakIsQ0FBaUIsQ0FBQyxDQUFDO0FBRTFELElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7SUFDN0IsT0FBTztRQUNMLGNBQWMsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ3pCLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPO2dCQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUNuQyxPQUFPO3dCQUNMLElBQUksRUFBRSxjQUFjO3dCQUNwQixJQUFJLEVBQUUsY0FBYzt3QkFDcEIsS0FBSyxFQUFFLGVBQWU7d0JBQ3RCLE1BQU0sRUFBRSxnQkFBZ0I7cUJBQ3pCLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNOLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBQ0YsaUJBQWlC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QzVDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL3BpY2tlci5zcGVjLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgcGlja2VyIH0gZnJvbSAnLi9waWNrZXInO1xuaW1wb3J0ICogYXMgZmlsZXN0YWNrIGZyb20gJy4vLi4vaW5kZXgnO1xuXG5jb25zdCBtb2NrUGlja2VyT3BlbiA9IGplc3QuZm4oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCkpO1xuXG5jb25zdCBtb2NrUGlja2VyQ3JvcCA9IGplc3QuZm4oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCkpO1xuY29uc3QgbW9ja1BpY2tlckNsb3NlID0gamVzdC5mbigoKSA9PiBQcm9taXNlLnJlc29sdmUoKSk7XG5jb25zdCBtb2NrUGlja2VyQ2FuY2VsID0gamVzdC5mbigoKSA9PiBQcm9taXNlLnJlc29sdmUoKSk7XG5cbmplc3QubW9jaygnQGZpbGVzdGFjay9sb2FkZXInLCAoKSA9PiB7XG4gIHJldHVybiB7XG4gICAgcmVnaXN0ZXJNb2R1bGU6IGplc3QuZm4oKSxcbiAgICBsb2FkTW9kdWxlOiBqZXN0LmZuKCgpID0+IHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICByZXNvbHZlKGplc3QuZm4oKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBvcGVuOiBtb2NrUGlja2VyT3BlbixcbiAgICAgICAgICAgIGNyb3A6IG1vY2tQaWNrZXJDcm9wLFxuICAgICAgICAgICAgY2xvc2U6IG1vY2tQaWNrZXJDbG9zZSxcbiAgICAgICAgICAgIGNhbmNlbDogbW9ja1BpY2tlckNhbmNlbCxcbiAgICAgICAgICB9O1xuICAgICAgICB9KSk7XG4gICAgICB9KTtcbiAgICB9KSxcbiAgICBGSUxFU1RBQ0tfTU9EVUxFUzoge1xuICAgICAgUElDS0VSOiAncGlja2VyJyxcbiAgICAgIEZJTEVTVEFDS19TREs6ICdzZGsnLFxuICAgIH0sXG4gIH07XG59KTtcblxubGV0IHBpY2tlckluc3RhbmNlO1xubGV0IGNsaWVudDtcblxuZGVzY3JpYmUoJ3BpY2tlcicsICgpID0+IHtcbiAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0QXBpa2V5ID0gJ0RFRkFVTFRfQVBJX0tFWSc7XG4gICAgY2xpZW50ID0gZmlsZXN0YWNrLmluaXQoZGVmYXVsdEFwaWtleSk7XG4gIH0pO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIHBpY2tlckluc3RhbmNlID0gcGlja2VyKGNsaWVudCwge30pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHByb3Blcmx5IG9wZW4gcGlja2VyJywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHBpY2tlckluc3RhbmNlLm9wZW4oKTtcbiAgICBleHBlY3QobW9ja1BpY2tlck9wZW4pLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBwcm9wZXJseSBjcm9wIHBpY2tlcicsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBmaWxlcyA9IFsnZmlsZTEudHh0JywgJ2ZpbGUyLnR4dCddO1xuXG4gICAgYXdhaXQgcGlja2VySW5zdGFuY2UuY3JvcChmaWxlcyk7XG4gICAgZXhwZWN0LmFzc2VydGlvbnMoMik7XG4gICAgZXhwZWN0KG1vY2tQaWNrZXJDcm9wKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSk7XG4gICAgZXhwZWN0KG1vY2tQaWNrZXJDcm9wKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChmaWxlcyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcHJvcGVybHkgY2xvc2UgcGlja2VyJywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHBpY2tlckluc3RhbmNlLmNsb3NlKCk7XG4gICAgZXhwZWN0KG1vY2tQaWNrZXJDbG9zZSkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHByb3Blcmx5IGNhbmNlbCBwaWNrZXInLCBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgcGlja2VySW5zdGFuY2UuY2FuY2VsKCk7XG4gICAgZXhwZWN0KG1vY2tQaWNrZXJDYW5jZWwpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBub3QgdGhyb3cgZXJyb3Igb24gY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4gICAgcmV0dXJuIGV4cGVjdCgoKSA9PiBwaWNrZXIoY2xpZW50LCB7XG4gICAgICBvbk9wZW46ICgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coMTIzKTtcbiAgICAgIH0sXG4gICAgICBjdXN0b21UZXh0OiB7XG4gICAgICAgIFVwbG9hZDogJ2N1c3RvbVVwbG9hZCcsXG4gICAgICB9LFxuICAgICAgdXBsb2FkQ29uZmlnOiB7XG4gICAgICAgIHBhcnRTaXplOiA2ICogMTAyNCAqIDEwMjQsXG4gICAgICB9LFxuICAgICAgc3RvcmVUbzoge1xuICAgICAgICBjb250YWluZXI6ICd0ZXN0JyxcbiAgICAgIH0sXG4gICAgfSkpLm5vdC50b1Rocm93RXJyb3IoJ0ludmFsaWQgcGlja2VyIHBhcmFtcycpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGVycm9yIG9uIGludmFsaWQgb3B0aW9ucycsICgpID0+IHtcbiAgICByZXR1cm4gZXhwZWN0KCgpID0+IHBpY2tlcihjbGllbnQsIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG9uT3BlbjogJ3Rlc3QnLFxuICAgICAgY3VzdG9tVGV4dDoge1xuICAgICAgICBVcGxvYWQ6ICdjdXN0b21VcGxvYWQnLFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGFzZDoge30sXG4gICAgICB9LFxuICAgIH0pKS50b1Rocm93RXJyb3IoJ0ludmFsaWQgcGlja2VyIHBhcmFtcycpO1xuICB9KTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcGlja2VyLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7O0FBRUgsbUNBQWtDO0FBQ2xDLDREQUF3QztBQUV4QyxJQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQWpCLENBQWlCLENBQUMsQ0FBQztBQUV4RCxJQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQWpCLENBQWlCLENBQUMsQ0FBQztBQUN4RCxJQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQWpCLENBQWlCLENBQUMsQ0FBQztBQUN6RCxJQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBTSxPQUFBLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBakIsQ0FBaUIsQ0FBQyxDQUFDO0FBRTFELElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7SUFDN0IsT0FBTztRQUNMLGNBQWMsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ3pCLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPO2dCQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUNuQyxPQUFPO3dCQUNMLElBQUksRUFBRSxjQUFjO3dCQUNwQixJQUFJLEVBQUUsY0FBYzt3QkFDcEIsS0FBSyxFQUFFLGVBQWU7d0JBQ3RCLE1BQU0sRUFBRSxnQkFBZ0I7cUJBQ3pCLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNOLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBQ0YsaUJBQWlC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dUIsQ0FBQyxDQUFDO0lBQzVDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL3BpY2tlci5zcGVjLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgcGlja2VyIH0gZnJvbSAnLi9waWNrZXInO1xuaW1wb3J0ICogYXMgZmlsZXN0YWNrIGZyb20gJy4vLi4vaW5kZXgnO1xuXG5jb25zdCBtb2NrUGlja2VyT3BlbiA9IGplc3QuZm4oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCkpO1xuXG5jb25zdCBtb2NrUGlja2VyQ3JvcCA9IGplc3QuZm4oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCkpO1xuY29uc3QgbW9ja1BpY2tlckNsb3NlID0gamVzdC5mbigoKSA9PiBQcm9taXNlLnJlc29sdmUoKSk7XG5jb25zdCBtb2NrUGlja2VyQ2FuY2VsID0gamVzdC5mbigoKSA9PiBQcm9taXNlLnJlc29sdmUoKSk7XG5cbmplc3QubW9jaygnQGZpbGVzdGFjay9sb2FkZXInLCAoKSA9PiB7XG4gIHJldHVybiB7XG4gICAgcmVnaXN0ZXJNb2R1bGU6IGplc3QuZm4oKSxcbiAgICBsb2FkTW9kdWxlOiBqZXN0LmZuKCgpID0+IHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICByZXNvbHZlKGplc3QuZm4oKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBvcGVuOiBtb2NrUGlja2VyT3BlbixcbiAgICAgICAgICAgIGNyb3A6IG1vY2tQaWNrZXJDcm9wLFxuICAgICAgICAgICAgY2xvc2U6IG1vY2tQaWNrZXJDbG9zZSxcbiAgICAgICAgICAgIGNhbmNlbDogbW9ja1BpY2tlckNhbmNlbCxcbiAgICAgICAgICB9O1xuICAgICAgICB9KSk7XG4gICAgICB9KTtcbiAgICB9KSxcbiAgICBGSUxFU1RBQ0tfTU9EVUxFUzoge1xuICAgICAgUElDS0VSOiAncGlja2VyJyxcbiAgICAgIEZJTEVTVEFDS19TREs6ICdzZGsnLFxuICAgIH0sXG4gIH07XG59KTtcblxubGV0IHBpY2tlckluc3RhbmNlO1xubGV0IGNsaWVudDtcblxuZGVzY3JpYmUoJ3BpY2tlcicsICgpID0+IHtcbiAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0QXBpa2V5ID0gJ0RFRkFVTFRfQVBJX0tFWSc7XG4gICAgY2xpZW50ID0gZmlsZXN0YWNrLmluaXQoZGVmYXVsdEFwaWtleSk7XG4gIH0pO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIHBpY2tlckluc3RhbmNlID0gcGlja2VyKGNsaWVudCwge30pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHByb3Blcmx5IG9wZW4gcGlja2VyJywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHBpY2tlckluc3RhbmNlLm9wZW4oKTtcbiAgICBleHBlY3QobW9ja1BpY2tlck9wZW4pLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBwcm9wZXJseSBjcm9wIHBpY2tlcicsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBmaWxlcyA9IFsnZmlsZTEudHh0JywgJ2ZpbGUyLnR4dCddO1xuXG4gICAgYXdhaXQgcGlja2VySW5zdGFuY2UuY3JvcChmaWxlcyk7XG4gICAgZXhwZWN0LmFzc2VydGlvbnMoMik7XG4gICAgZXhwZWN0KG1vY2tQaWNrZXJDcm9wKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSk7XG4gICAgZXhwZWN0KG1vY2tQaWNrZXJDcm9wKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChmaWxlcyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcHJvcGVybHkgY2xvc2UgcGlja2VyJywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHBpY2tlckluc3RhbmNlLmNsb3NlKCk7XG4gICAgZXhwZWN0KG1vY2tQaWNrZXJDbG9zZSkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHByb3Blcmx5IGNhbmNlbCBwaWNrZXInLCBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgcGlja2VySW5zdGFuY2UuY2FuY2VsKCk7XG4gICAgZXhwZWN0KG1vY2tQaWNrZXJDYW5jZWwpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBub3QgdGhyb3cgZXJyb3Igb24gY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4gICAgcmV0dXJuIGV4cGVjdCgoKSA9PiBwaWNrZXIoY2xpZW50LCB7XG4gICAgICBvbk9wZW46ICgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coMTIzKTtcbiAgICAgIH0sXG4gICAgICBjdXN0b21UZXh0OiB7XG4gICAgICAgIFVwbG9hZDogJ2N1c3RvbVVwbG9hZCcsXG4gICAgICB9LFxuICAgICAgdXBsb2FkQ29uZmlnOiB7XG4gICAgICAgIHBhcnRTaXplOiA2ICogMTAyNCAqIDEwMjQsXG4gICAgICB9LFxuICAgICAgc3RvcmVUbzoge1xuICAgICAgICBjb250YWluZXI6ICd0ZXN0JyxcbiAgICAgIH0sXG4gICAgfSkpLm5vdC50b1Rocm93RXJyb3IoJ0ludmFsaWQgcGlja2VyIHBhcmFtcycpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGVycm9yIG9uIGludmFsaWQgb3B0aW9ucycsICgpID0+IHtcbiAgICByZXR1cm4gZXhwZWN0KCgpID0+IHBpY2tlcihjbGllbnQsIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG9uT3BlbjogJ3Rlc3QnLFxuICAgICAgY3VzdG9tVGV4dDoge1xuICAgICAgICBVcGxvYWQ6ICdjdXN0b21VcGxvYWQnLFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGFzZDoge30sXG4gICAgICB9LFxuICAgIH0pKS50b1Rocm93RXJyb3IoJ0ludmFsaWQgcGlja2VyIHBhcmFtcycpO1xuICB9KTtcbn0pO1xuIl19

@@ -19,9 +19,10 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.HttpAdapter = void 0;
var tslib_1 = require("tslib");
var url = require("url");
var zlib = require("zlib");
var debug_1 = require("debug");
var url = tslib_1.__importStar(require("url"));
var zlib = tslib_1.__importStar(require("zlib"));
var debug_1 = tslib_1.__importDefault(require("debug"));
var utils_1 = require("../../utils");
var Stream = require("stream");
var utils = require("../utils");
var Stream = tslib_1.__importStar(require("stream"));
var utils = tslib_1.__importStar(require("../utils"));
var helpers_1 = require("./../helpers");

@@ -34,3 +35,3 @@ var error_1 = require("../error");

var CANCEL_CLEAR = "FsCleanMemory";
var debug = debug_1.default('fs:request:http');
var debug = (0, debug_1.default)('fs:request:http');
/**

@@ -59,2 +60,3 @@ * Writable stream thats overwrap http request for progress event

this.request.end();
return this;
};

@@ -110,5 +112,5 @@ return HttpWritableStream;

}
config.headers = helpers_1.normalizeHeaders(config.headers);
var _a = helpers_1.prepareData(config), data = _a.data, headers = _a.headers;
headers = helpers_1.set(headers, 'user-agent', "filestack-request/" + utils_1.getVersion());
config.headers = (0, helpers_1.normalizeHeaders)(config.headers);
var _a = (0, helpers_1.prepareData)(config), data = _a.data, headers = _a.headers;
headers = (0, helpers_1.set)(headers, 'user-agent', "filestack-request/".concat((0, utils_1.getVersion)()));
// for now we are not using streams

@@ -123,3 +125,3 @@ if (data) {

}
headers = helpers_1.set(headers, 'content-length', data.length, true);
headers = (0, helpers_1.set)(headers, 'content-length', data.length, true);
}

@@ -130,5 +132,5 @@ // HTTP basic authentication

if (!config.auth.username || config.auth.username.length === 0) {
return Promise.reject(new error_1.FsRequestError("Basic auth: username is required " + config.auth, config));
return Promise.reject(new error_1.FsRequestError("Basic auth: username is required ".concat(config.auth), config));
}
auth = config.auth.username + ":" + config.auth.password;
auth = "".concat(config.auth.username, ":").concat(config.auth.password);
}

@@ -139,7 +141,7 @@ // Parse url

if (!parsed.protocol) {
parsed = url.parse("https://" + config.url);
parsed = url.parse("https://".concat(config.url));
}
/* istanbul ignore next: just be sure that the host is parsed correctly, not needed to test */
if (!parsed.host) {
return Promise.reject(new error_1.FsRequestError("Cannot parse provided url " + config.url, config));
return Promise.reject(new error_1.FsRequestError("Cannot parse provided url ".concat(config.url), config));
}

@@ -153,3 +155,3 @@ // normalize auth header

var options = {
path: helpers_1.combineURL(parsed.path, config.params),
path: (0, helpers_1.combineURL)(parsed.path, config.params),
host: parsed.host,

@@ -181,3 +183,3 @@ port: parsed.port,

debug('Request canceled by user %s, config: %O', reason, config);
return reject(new error_1.FsRequestError("Request aborted. Reason: " + reason, config, null, error_1.FsRequestErrorCode.ABORTED));
return reject(new error_1.FsRequestError("Request aborted. Reason: ".concat(reason), config, null, error_1.FsRequestErrorCode.ABORTED));
});

@@ -210,3 +212,3 @@ }

if (_this.redirectHoops >= MAX_REDIRECTS) {
return reject(new error_1.FsRequestError("Max redirects (" + _this.redirectHoops + ") reached. Exiting", config, response, error_1.FsRequestErrorCode.REDIRECT));
return reject(new error_1.FsRequestError("Max redirects (".concat(_this.redirectHoops, ") reached. Exiting"), config, response, error_1.FsRequestErrorCode.REDIRECT));
}

@@ -218,3 +220,3 @@ var url_1 = res.headers['location'];

if (_this.redirectPaths.indexOf(url_1) > -1) {
return reject(new error_1.FsRequestError("Redirect loop detected at url " + url_1, config, response, error_1.FsRequestErrorCode.REDIRECT));
return reject(new error_1.FsRequestError("Redirect loop detected at url ".concat(url_1), config, response, error_1.FsRequestErrorCode.REDIRECT));
}

@@ -257,3 +259,3 @@ _this.redirectPaths.push(url_1);

response.data = Buffer.concat(responseBuffer);
return [4 /*yield*/, helpers_1.parseResponse(response)];
return [4 /*yield*/, (0, helpers_1.parseResponse)(response)];
case 1:

@@ -273,7 +275,7 @@ response = _a.sent();

debug('Server error(5xx) - %O', response);
return [2 /*return*/, reject(new error_1.FsRequestError("Server error " + url, config, response, error_1.FsRequestErrorCode.SERVER))];
return [2 /*return*/, reject(new error_1.FsRequestError("Server error ".concat(url), config, response, error_1.FsRequestErrorCode.SERVER))];
}
else if (400 <= response.status && response.status <= 499) {
debug('Request error(4xx) - %O', response);
return [2 /*return*/, reject(new error_1.FsRequestError("Request error " + url, config, response, error_1.FsRequestErrorCode.REQUEST))];
return [2 /*return*/, reject(new error_1.FsRequestError("Request error ".concat(url), config, response, error_1.FsRequestErrorCode.REQUEST))];
}

@@ -303,3 +305,3 @@ debug('Request ends: %O', response);

debug('Request error: %s - %O', err, err.code);
return reject(new error_1.FsRequestError("Request error: " + err.code, config, null, error_1.FsRequestErrorCode.NETWORK));
return reject(new error_1.FsRequestError("Request error: ".concat(err.code), config, null, error_1.FsRequestErrorCode.NETWORK));
});

@@ -340,2 +342,2 @@ if (Buffer.isBuffer(data) && ['POST', 'PUT'].indexOf(config.method) > -1) {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9hZGFwdGVycy9odHRwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7OztBQUVILHlCQUEyQjtBQUMzQiwyQkFBNkI7QUFDN0IsK0JBQTBCO0FBRzFCLHFDQUF5QztBQUN6QywrQkFBaUM7QUFFakMsZ0NBQWtDO0FBQ2xDLHdDQUEwRztBQUMxRyxrQ0FBOEQ7QUFDOUQsb0NBQTBDO0FBRTFDLElBQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQztBQUMvQixJQUFNLGVBQWUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO0FBQ2xDLElBQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQztBQUN6QixJQUFNLFlBQVksR0FBRyxlQUFlLENBQUM7QUFDckMsSUFBTSxLQUFLLEdBQUcsZUFBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFdkM7Ozs7O0dBS0c7QUFDSDtJQUFpQyw4Q0FBZTtJQUc5Qyw0QkFBWSxHQUFHLEVBQUUsSUFBUztRQUFULHFCQUFBLEVBQUEsU0FBUztRQUExQixZQUNFLGtCQUFNLElBQUksQ0FBQyxTQUlaO1FBRkMsS0FBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDbkIsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBTSxPQUFBLEtBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQWxCLENBQWtCLENBQUMsQ0FBQzs7SUFDOUMsQ0FBQztJQUVELG1DQUFNLEdBQU4sVUFBTyxLQUFVLEVBQUUsUUFBaUIsRUFBRSxFQUE4QztRQUNsRixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxnQ0FBRyxHQUFILFVBQUksS0FBSztRQUNQLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FD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Q0FBQyxJQUFJLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDdkg7WUFFRCxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQTJCRDs7Ozs7OztPQU9HO0lBQ0ssb0NBQWMsR0FBdEIsVUFBdUIsTUFBTTtRQUMzQixJQUFNLFFBQVEsR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QyxJQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ2xDLElBQU0sU0FBUyxHQUFHLFdBQVcsR0FBRyxlQUFlLENBQUM7UUFDaEQsSUFBTSxNQUFNLEdBQUcsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUV2QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsSUFBSSxlQUFlLEVBQUU7WUFDaEQsSUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDO1lBQ25ELFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEI7UUFFRCxJQUFJLFNBQVMsR0FBRyxDQUFDLEVBQUU7WUFDakIsSUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2pELFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDaEM7UUFFRCxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFDSCxrQkFBQztBQUFELENBbFRBLEFBa1RDLElBQUE7QUFsVFksa0NBQVciLCJmaWxlIjoibGliL3JlcXVlc3QvYWRhcHRlcnMvaHR0cC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0ICogYXMgdXJsIGZyb20gJ3VybCc7XG5pbXBvcnQgKiBhcyB6bGliIGZyb20gJ3psaWInO1xuaW1wb3J0IERlYnVnIGZyb20gJ2RlYnVnJztcblxuaW1wb3J0IHsgQWRhcHRlckludGVyZmFjZSB9IGZyb20gJy4vaW50ZXJmYWNlJztcbmltcG9ydCB7IGdldFZlcnNpb24gfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgKiBhcyBTdHJlYW0gZnJvbSAnc3RyZWFtJztcbmltcG9ydCB7IEZzUmVxdWVzdE9wdGlvbnMsIEZzUmVzcG9uc2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBwcmVwYXJlRGF0YSwgcGFyc2VSZXNwb25zZSwgY29tYmluZVVSTCwgc2V0IGFzIHNldEhlYWRlciwgbm9ybWFsaXplSGVhZGVycyB9IGZyb20gJy4vLi4vaGVscGVycyc7XG5pbXBvcnQgeyBGc1JlcXVlc3RFcnJvckNvZGUsIEZzUmVxdWVzdEVycm9yIH0gZnJvbSAnLi4vZXJyb3InO1xuaW1wb3J0IHsgRnNIdHRwTWV0aG9kIH0gZnJvbSAnLi8uLi90eXBlcyc7XG5cbmNvbnN0IEhUVFBTX1JFR0VYUCA9IC9odHRwczo/LztcbmNvbnN0IEhUVFBfQ0hVTktfU0laRSA9IDE2ICogMTAyNDtcbmNvbnN0IE1BWF9SRURJUkVDVFMgPSAxMDtcbmNvbnN0IENBTkNFTF9DTEVBUiA9IGBGc0NsZWFuTWVtb3J5YDtcbmNvbnN0IGRlYnVnID0gRGVidWcoJ2ZzOnJlcXVlc3Q6aHR0cCcpO1xuXG4vKipcbiAqIFdyaXRhYmxlIHN0cmVhbSB0aGF0cyBvdmVyd3JhcCBodHRwIHJlcXVlc3QgZm9yIHByb2dyZXNzIGV2ZW50XG4gKlxuICogQGNsYXNzIEh0dHBXcml0YWJsZVN0cmVhbVxuICogQGV4dGVuZHMge1N0cmVhbS5Xcml0YWJsZX1cbiAqL1xuY2xhc3MgSHR0cFdyaXRhYmxlU3RyZWFtIGV4dGVuZHMgU3RyZWFtLldyaXRhYmxlIHtcbiAgcHJpdmF0ZSByZXF1ZXN0O1xuXG4gIGNvbnN0cnVjdG9yKHJlcSwgb3B0cyA9IHt9KSB7XG4gICAgc3VwZXIob3B0cyk7XG5cbiAgICB0aGlzLnJlcXVlc3QgPSByZXE7XG4gICAgcmVxLm9uY2UoJ2RyYWluJywgKCkgPT4gdGhpcy5lbWl0KCdkcmFpbicpKTtcbiAgfVxuXG4gIF93cml0ZShjaHVuazogYW55LCBlbmNvZGluZz86IHN0cmluZywgY2I/OiAoZXJyb3I6IEVycm9yIHwgbnVsbCB8IHVuZGVmaW5lZCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMucmVxdWVzdC53cml0ZShjaHVuaywgZW5jb2RpbmcsIGNiKTtcbiAgfVxuXG4gIGVuZChjaHVuaykge1xuICAgIGlmIChjaHVuaykge1xuICAgICAgdGhpcy5yZXF1ZXN0LndyaXRlKGNodW5rKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlcXVlc3QuZW5kKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBOb2RlIGh0dHAgcmVxdWVzdCBjbGFzc1xuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBIdHRwQWRhcHRlclxuICogQGltcGxlbWVudHMge0FkYXB0ZXJJbnRlcmZhY2V9XG4gKi9cbmV4cG9ydCBjbGFzcyBIdHRwQWRhcHRlciBpbXBsZW1lbnRzIEFkYXB0ZXJJbnRlcmZhY2Uge1xuICBwcml2YXRlIHJlZGlyZWN0SG9vcHMgPSAwO1xuICBwcml2YXRlIHJlZGlyZWN0UGF0aHMgPSBbXTtcblxuICAvKipcbiAgICogZG8gcmVxdWVzdCBiYXNlZCBvbiBjb25maWd1cmF0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7RnNSZXF1ZXN0T3B0aW9uc30gY29uZmlnXG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBIdHRwQWRhcHRlclxuICAgKi9cbiAgcmVxdWVzdChjb25maWc6IEZzUmVxdWVzdE9wdGlvbnMpIHtcbiAgICAvLyBpZiB0aGlzIG9wdGlvbiBpcyB1bnNwZWNpZmllZCBzZXQgaXQgYnkgZGVmYXVsdFxuICAgIGlmICh0eXBlb2YgY29uZmlnLmZpbGVzdGFja0hlYWRlcnMgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjb25maWcuZmlsZXN0YWNrSGVhZGVycyA9IHRydWU7XG4gICAgfVxuXG4gICAgY29uZmlnLmhlYWRlcnMgPSBub3JtYWxpemVIZWFkZXJzKGNvbmZpZy5oZWFkZXJzKTtcblxuICAgIGxldCB7IGRhdGEsIGhlYWRlcnMgfSA9IHByZXBhcmVEYXRhKGNvbmZpZyk7XG5cbiAgICBoZWFkZXJzID0gc2V0SGVhZGVyKGhlYWRlcnMsICd1c2VyLWFnZW50JywgYGZpbGVzdGFjay1yZXF1ZXN0LyR7Z2V0VmVyc2lvbigpfWApO1xuXG4gICAgLy8gZm9yIG5vdyB3ZSBhcmUgbm90IHVzaW5nIHN0cmVhbXNcbiAgICBpZiAoZGF0YSkge1xuICAgICAgZGVidWcoJ1JlcXVlc3QgZGF0YSAlTycsIGRhdGEpO1xuXG4gICAgICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihkYXRhKSkge1xuICAgICAgICBpZiAoIXV0aWxzLmlzU3RyaW5nKGRhdGEpKSB7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcignRGF0YSBtdXN0IGJlIGEgc3RyaW5nLCBKU09OIG9yIGEgQnVmZmVyJywgY29uZmlnKSk7XG4gICAgICAgIH1cblxuICAgICAgICBkYXRhID0gQnVmZmVyLmZyb20oZGF0YSwgJ3V0Zi04Jyk7XG4gICAgICB9XG5cbiAgICAgIGhlYWRlcnMgPSBzZXRIZWFkZXIoaGVhZGVycywgJ2NvbnRlbnQtbGVuZ3RoJywgZGF0YS5sZW5ndGgsIHRydWUpO1xuICAgIH1cblxuICAgIC8vIEhUVFAgYmFzaWMgYXV0aGVudGljYXRpb25cbiAgICBsZXQgYXV0aDtcbiAgICBpZiAoY29uZmlnLmF1dGgpIHtcbiAgICAgIGlmICghY29uZmlnLmF1dGgudXNlcm5hbWUgfHwgY29uZmlnLmF1dGgudXNlcm5hbWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoYEJhc2ljIGF1dGg6IHVzZXJuYW1lIGlzIHJlcXVpcmVkICR7Y29uZmlnLmF1dGh9YCwgY29uZmlnKSk7XG4gICAgICB9XG5cbiAgICAgIGF1dGggPSBgJHtjb25maWcuYXV0aC51c2VybmFtZX06JHtjb25maWcuYXV0aC5wYXNzd29yZH1gO1xuICAgIH1cblxuICAgIC8vIFBhcnNlIHVybFxuICAgIGxldCBwYXJzZWQgPSB1cmwucGFyc2UoY29uZmlnLnVybCk7XG5cbiAgICAvLyB0cnkgdG8gYWRkIGRlZmF1bHQgaHR0cHMgcHJvdG9jb2xcbiAgICBpZiAoIXBhcnNlZC5wcm90b2NvbCkge1xuICAgICAgcGFyc2VkID0gdXJsLnBhcnNlKGBodHRwczovLyR7Y29uZmlnLnVybH1gKTtcbiAgICB9XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDoganVzdCBiZSBzdXJlIHRoYXQgdGhlIGhvc3QgaXMgcGFyc2VkIGNvcnJlY3RseSwgbm90IG5lZWRlZCB0byB0ZXN0ICovXG4gICAgaWYgKCFwYXJzZWQuaG9zdCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcihgQ2Fubm90IHBhcnNlIHByb3ZpZGVkIHVybCAke2NvbmZpZy51cmx9YCwgY29uZmlnKSk7XG4gICAgfVxuXG4gICAgLy8gbm9ybWFsaXplIGF1dGggaGVhZGVyXG4gICAgaWYgKGF1dGggJiYgaGVhZGVycy5BdXRob3JpemF0aW9uKSB7XG4gICAgICBkZWxldGUgaGVhZGVycy5BdXRob3JpemF0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IGlzSHR0cHNSZXF1ZXN0ID0gSFRUUFNfUkVHRVhQLnRlc3QocGFyc2VkLnByb3RvY29sKTtcbiAgICBjb25zdCBhZ2VudCA9IGlzSHR0cHNSZXF1ZXN0ID8gcmVxdWlyZSgnaHR0cHMnKSA6IHJlcXVpcmUoJ2h0dHAnKTtcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBwYXRoOiBjb21iaW5lVVJMKHBhcnNlZC5wYXRoLCBjb25maWcucGFyYW1zKSxcbiAgICAgIGhvc3Q6IHBhcnNlZC5ob3N0LFxuICAgICAgcG9ydDogcGFyc2VkLnBvcnQsXG4gICAgICBwcm90b2NvbDogcGFyc2VkLnByb3RvY29sLFxuICAgICAgbWV0aG9kOiBjb25maWcubWV0aG9kLnRvVXBwZXJDYXNlKCksXG4gICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgYWdlbnQ6IG5ldyBhZ2VudC5BZ2VudCgpLFxuICAgICAgYXV0aDogYXV0aCxcbiAgICB9O1xuXG4gICAgZGVidWcoJ1N0YXJ0aW5nICVzIHJlcXVlc3Qgd2l0aCBvcHRpb25zICVPJywgaXNIdHRwc1JlcXVlc3QgPyAnaHR0cHMnIDogJ2h0dHAnLCBvcHRpb25zKTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxGc1Jlc3BvbnNlPigocmVzb2x2ZSwgcmVqZWN0KTogYW55ID0+IHtcbiAgICAgIGxldCByZXE7XG4gICAgICBsZXQgY2FuY2VsTGlzdGVuZXI7XG5cbiAgICAgIGlmIChjb25maWcuY2FuY2VsVG9rZW4pIHtcbiAgICAgICAgY2FuY2VsTGlzdGVuZXIgPSBjb25maWcuY2FuY2VsVG9rZW4ub24oJ2NhbmNlbCcsIChyZWFzb24pID0+IHtcbiAgICAgICAgICAvLyBjbGVhbnVwIGhhbmRsZXJcbiAgICAgICAgICBjYW5jZWxMaXN0ZW5lciA9IG51bGw7XG5cbiAgICAgICAgICAvLyBkbyBub3RoaW5nIGlmIHByb21pc2UgaXMgcmVzb2x2ZWQgYnkgc3lzdGVtXG4gICAgICAgICAgaWYgKHJlYXNvbiAmJiByZWFzb24ubWVzc2FnZSA9PT0gQ0FOQ0VMX0NMRUFSKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGlmIHJlcXVlc3QgaXMgZG9uZSBjYW5jZWwgdG9rZW4gc2hvdWxkIG5vdCB0aHJvdyBhbnkgZXJyb3IgKi9cbiAgICAgICAgICBpZiAocmVxKSB7XG4gICAgICAgICAgICByZXEuYWJvcnQoKTtcbiAgICAgICAgICAgIHJlcSA9IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVidWcoJ1JlcXVlc3QgY2FuY2VsZWQgYnkgdXNlciAlcywgY29uZmlnOiAlTycsIHJlYXNvbiwgY29uZmlnKTtcbiAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcihgUmVxdWVzdCBhYm9ydGVkLiBSZWFzb246ICR7cmVhc29ufWAsIGNvbmZpZywgbnVsbCwgRnNSZXF1ZXN0RXJyb3JDb2RlLkFCT1JURUQpKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJlcSA9IGFnZW50LnJlcXVlc3Qob3B0aW9ucywgcmVzID0+IHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGp1c3QgYmUgc3VyZSB0aGF0IHJlc3BvbnNlIHdpbGwgbm90IGJlIGNhbGxlZCBhZnRlciByZXF1ZXN0IGlzIGFib3J0ZWQgKi9cbiAgICAgICAgaWYgKCFyZXEgfHwgcmVxLmFib3J0ZWQpIHtcbiAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcignUmVxdWVzdCBhYm9ydGVkJywgY29uZmlnKSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgc3RyZWFtID0gcmVzO1xuICAgICAgICBkZWJ1ZygnUmVzcG9uc2Ugc3RhdHVzQ29kZTogJWQsIFJlc3BvbnNlIEhlYWRlcnM6ICVPJywgcmVzLnN0YXR1c0NvZGUsIHJlcy5oZWFkZXJzKTtcblxuICAgICAgICBjb25zdCBjb21wcmVzc0hlYWRlcnMgPSByZXMuaGVhZGVyc1snY29udGVudC1lbmNvZGluZyddO1xuXG4gICAgICAgIGlmIChjb21wcmVzc0hlYWRlcnMgJiYgY29tcHJlc3NIZWFkZXJzLmxlbmd0aCAmJiBbJ2d6aXAnLCAnY29tcHJlc3MnLCAnZGVmbGF0ZSddLnNvbWUoKHYpID0+IGNvbXByZXNzSGVhZGVycy5pbmRleE9mKHYpID4gLTEpKSB7XG4gICAgICAgICAgLy8gYWRkIHRoZSB1bnppcHBlciB0byB0aGUgYm9keSBzdHJlYW0gcHJvY2Vzc2luZyBwaXBlbGluZVxuICAgICAgICAgIHN0cmVhbSA9IHJlcy5zdGF0dXNDb2RlID09PSAyMDQgPyBzdHJlYW0gOiBzdHJlYW0ucGlwZSh6bGliLmNyZWF0ZVVuemlwKCkpO1xuICAgICAgICAgIC8vIHJlbW92ZSB0aGUgY29udGVudC1lbmNvZGluZyBpbiBvcmRlciB0byBub3QgY29uZnVzZSBkb3duc3RyZWFtIG9wZXJhdGlvbnNcbiAgICAgICAgICBkZWxldGUgcmVzLmhlYWRlcnNbJ2NvbnRlbnQtZW5jb2RpbmcnXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZXNwb25zZTogRnNSZXNwb25zZSA9IHtcbiAgICAgICAgICBzdGF0dXM6IHJlcy5zdGF0dXNDb2RlLFxuICAgICAgICAgIHN0YXR1c1RleHQ6IHJlcy5zdGF0dXNNZXNzYWdlLFxuICAgICAgICAgIGhlYWRlcnM6IHJlcy5oZWFkZXJzLFxuICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICBkYXRhOiB7fSxcbiAgICAgICAgfTtcblxuICAgICAgICAvLyB3ZSBuZWVkIHRvIGZvbGxvdyByZWRpcmVjdCBzbyBtYWtlIHNhbWUgcmVxdWVzdCB3aXRoIG5ldyBsb2NhdGlvblxuICAgICAgICBpZiAoWzMwMSwgMzAyXS5pbmRleE9mKHJlcy5zdGF0dXNDb2RlKSA+IC0xKSB7XG4gICAgICAgICAgZGVidWcoJ1JlZGlyZWN0IHJlY2VpdmVkICVzJywgcmVzLnN0YXR1c0NvZGUpO1xuXG4gICAgICAgICAgaWYgKHRoaXMucmVkaXJlY3RIb29wcyA+PSBNQVhfUkVESVJFQ1RTKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcihgTWF4IHJlZGlyZWN0cyAoJHt0aGlzLnJlZGlyZWN0SG9vcHN9KSByZWFjaGVkLiBFeGl0aW5nYCwgY29uZmlnLCByZXNwb25zZSwgRnNSZXF1ZXN0RXJyb3JDb2RlLlJFRElSRUNUKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgdXJsID0gcmVzLmhlYWRlcnNbJ2xvY2F0aW9uJ107XG5cbiAgICAgICAgICBpZiAoIXVybCB8fCB1cmwubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcihgUmVkaXJlY3QgaGVhZGVyIGxvY2F0aW9uIG5vdCBmb3VuZGAsIGNvbmZpZywgcmVzcG9uc2UsIEZzUmVxdWVzdEVycm9yQ29kZS5SRURJUkVDVCkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0aGlzLnJlZGlyZWN0UGF0aHMuaW5kZXhPZih1cmwpID4gLTEpIHtcbiAgICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKGBSZWRpcmVjdCBsb29wIGRldGVjdGVkIGF0IHVybCAke3VybH1gLCBjb25maWcsIHJlc3BvbnNlLCBGc1JlcXVlc3RFcnJvckNvZGUuUkVESVJFQ1QpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnJlZGlyZWN0UGF0aHMucHVzaCh1cmwpO1xuICAgICAgICAgIHRoaXMucmVkaXJlY3RIb29wcysrO1xuXG4gICAgICAgICAgLy8gZnJlZSByZXNvdXJjZXNcbiAgICAgICAgICByZXMgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgcmVxID0gdW5kZWZpbmVkO1xuXG4gICAgICAgICAgZGVidWcoJ1JlZGlyZWN0aW5nIHJlcXVlc3QgdG8gJXMgKGhvb3AtY291bnQ6ICVkKScsIHVybCwgdGhpcy5yZWRpcmVjdEhvb3BzKTtcblxuICAgICAgICAgIHJldHVybiByZXNvbHZlKHRoaXMucmVxdWVzdChPYmplY3QuYXNzaWduKHt9LCBjb25maWcsIHsgdXJsIH0pKSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcmVzcG9uc2VCdWZmZXIgPSBbXTtcbiAgICAgICAgc3RyZWFtLm9uKCdkYXRhJywgY2h1bmsgPT4gcmVzcG9uc2VCdWZmZXIucHVzaChjaHVuaykpO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBpdHMgaGFyZCB0byB0ZXN0IHNvY2tldCBldmVudHMgd2l0aCBqZXN0IGFuZCBub2NrIC0gdGVzdGVkIG1hbnVhbGx5ICovXG4gICAgICAgIHN0cmVhbS5vbignZXJyb3InLCBlcnIgPT4ge1xuICAgICAgICAgIHJlcyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICByZXEgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgcmVzcG9uc2VCdWZmZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgZGVidWcoJ1JlcXVlc3QgZXJyb3I6IEFib3J0ZWQgJU8nLCBlcnIpO1xuXG4gICAgICAgICAgaWYgKHJlcS5hYm9ydGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gY2xlYXIgY2FuY2VsIHRva2VuIHRvIGF2b2lkIG1lbW9yeSBsZWFrXG4gICAgICAgICAgaWYgKGNhbmNlbExpc3RlbmVyKSB7XG4gICAgICAgICAgICBjb25maWcuY2FuY2VsVG9rZW4ucmVtb3ZlTGlzdGVuZXIoY2FuY2VsTGlzdGVuZXIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKGVyci5tZXNzYWdlLCBjb25maWcsIG51bGwsIEZzUmVxdWVzdEVycm9yQ29kZS5ORVRXT1JLKSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHN0cmVhbS5vbignZW5kJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIC8vIGNsZWFyIGNhbmNlbCB0b2tlbiB0byBhdm9pZCBtZW1vcnkgbGVha1xuICAgICAgICAgIGlmIChjYW5jZWxMaXN0ZW5lcikge1xuICAgICAgICAgICAgY29uZmlnLmNhbmNlbFRva2VuLnJlbW92ZUxpc3RlbmVyKGNhbmNlbExpc3RlbmVyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBjaGVjayBpZiB0aGVyZSBpcyBhbnkgcmVzcG9uc2UgZGF0YSBpbnNpZGVcbiAgICAgICAgICBpZiAocmVzLnN0YXR1c0NvZGUgIT09IDIwNCkge1xuICAgICAgICAgICAgLy8gcHJlcGFyZSByZXNwb25zZVxuICAgICAgICAgICAgcmVzcG9uc2UuZGF0YSA9IEJ1ZmZlci5jb25jYXQocmVzcG9uc2VCdWZmZXIpO1xuICAgICAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCBwYXJzZVJlc3BvbnNlKHJlc3BvbnNlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzcG9uc2UuZGF0YSA9IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gZnJlZSByZXNvdXJjZXNcbiAgICAgICAgICByZXMgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgcmVxID0gdW5kZWZpbmVkO1xuXG4gICAgICAgICAgcmVzcG9uc2VCdWZmZXIgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgICBpZiAoNTAwIDw9IHJlc3BvbnNlLnN0YXR1cyAmJiByZXNwb25zZS5zdGF0dXMgPD0gNTk5KSB7XG4gICAgICAgICAgICAvLyBzZXJ2ZXIgZXJyb3IgdGhyb3dcbiAgICAgICAgICAgIGRlYnVnKCdTZXJ2ZXIgZXJyb3IoNXh4KSAtICVPJywgcmVzcG9uc2UpO1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoYFNlcnZlciBlcnJvciAke3VybH1gLCBjb25maWcsIHJlc3BvbnNlLCBGc1JlcXVlc3RFcnJvckNvZGUuU0VSVkVSKSk7XG4gICAgICAgICAgfSBlbHNlIGlmICg0MDAgPD0gcmVzcG9uc2Uuc3RhdHVzICYmIHJlc3BvbnNlLnN0YXR1cyA8PSA0OTkpIHtcbiAgICAgICAgICAgIGRlYnVnKCdSZXF1ZXN0IGVycm9yKDR4eCkgLSAlTycsIHJlc3BvbnNlKTtcbiAgICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKGBSZXF1ZXN0IGVycm9yICR7dXJsfWAsIGNvbmZpZywgcmVzcG9uc2UsIEZzUmVxdWVzdEVycm9yQ29kZS5SRVFVRVNUKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVidWcoJ1JlcXVlc3QgZW5kczogJU8nLCByZXNwb25zZSk7XG4gICAgICAgICAgcmV0dXJuIHJlc29sdmUocmVzcG9uc2UpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoY29uZmlnLnRpbWVvdXQpIHtcbiAgICAgICAgcmVxLnNldFRpbWVvdXQoY29uZmlnLnRpbWVvdXQsICgpID0+IHtcbiAgICAgICAgICByZXEuYWJvcnQoKTtcblxuICAgICAgICAgIGlmIChjYW5jZWxMaXN0ZW5lcikge1xuICAgICAgICAgICAgY29uZmlnLmNhbmNlbFRva2VuLnJlbW92ZUxpc3RlbmVyKGNhbmNlbExpc3RlbmVyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcignUmVxdWVzdCB0aW1lb3V0JywgY29uZmlnLCBudWxsLCBGc1JlcXVlc3RFcnJvckNvZGUuVElNRU9VVCkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmVxLm9uKCdlcnJvcicsIGVyciA9PiB7XG4gICAgICAgIGlmIChjYW5jZWxMaXN0ZW5lcikge1xuICAgICAgICAgIGNvbmZpZy5jYW5jZWxUb2tlbi5yZW1vdmVMaXN0ZW5lcihjYW5jZWxMaXN0ZW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXJlcSB8fCByZXEuYWJvcnRlZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGRlYnVnKCdSZXF1ZXN0IGVycm9yOiAlcyAtICVPJywgZXJyLCBlcnIuY29kZSk7XG4gICAgICAgIHJldHVybiByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKGBSZXF1ZXN0IGVycm9yOiAke2Vyci5jb2RlfWAsIGNvbmZpZywgbnVsbCwgRnNSZXF1ZXN0RXJyb3JDb2RlLk5FVFdPUkspKTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoQnVmZmVyLmlzQnVmZmVyKGRhdGEpICYmIFsnUE9TVCcsICdQVVQnXS5pbmRleE9mKGNvbmZpZy5tZXRob2QpID4gLTEpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVmZmVyVG9DaHVua3MoZGF0YSkucGlwZSh0aGlzLmdldFByb2dyZXNzTW9uaXRvcihjb25maWcsIGRhdGEubGVuZ3RoKSkucGlwZShuZXcgSHR0cFdyaXRhYmxlU3RyZWFtKHJlcSkpO1xuICAgICAgfVxuXG4gICAgICByZXEuZW5kKGRhdGEpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vbml0b3IgYW5kIGVtaXQgcHJvZ3Jlc3MgZXZlbnQgaWYgbmVlZGVkXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBtZW1iZXJvZiBIdHRwQWRhcHRlclxuICAgKi9cbiAgcHJpdmF0ZSBnZXRQcm9ncmVzc01vbml0b3IgPSAoY29uZmlnLCB0b3RhbCkgPT4ge1xuICAgIGxldCBsb2FkZWQgPSAwO1xuXG4gICAgY29uc3QgcHJvZ3Jlc3MgPSBuZXcgU3RyZWFtLlRyYW5zZm9ybSgpO1xuICAgIHByb2dyZXNzLl90cmFuc2Zvcm0gPSAoY2h1bmssIGVuY29kaW5nLCBjYikgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBjb25maWcub25Qcm9ncmVzcyA9PT0gJ2Z1bmN0aW9uJyAmJiBbRnNIdHRwTWV0aG9kLlBPU1QsIEZzSHR0cE1ldGhvZC5QVVRdLmluZGV4T2YoY29uZmlnLm1ldGhvZCkgPiAtMSkge1xuICAgICAgICBsb2FkZWQgKz0gY2h1bmsubGVuZ3RoO1xuICAgICAgICBjb25maWcub25Qcm9ncmVzcyh7XG4gICAgICAgICAgbGVuZ3RoQ29tcHV0YWJsZTogdHJ1ZSxcbiAgICAgICAgICBsb2FkZWQsXG4gICAgICAgICAgdG90YWwsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgY2IobnVsbCwgY2h1bmspO1xuICAgIH07XG5cbiAgICByZXR1cm4gcHJvZ3Jlc3M7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCBidWZmZXIgdG8gc3RyZWFtXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7Kn0gYnVmZmVyXG4gICAqIEByZXR1cm5zIHtTdHJlYW0uUmVhZGFibGV9XG4gICAqIEBtZW1iZXJvZiBIdHRwQWRhcHRlclxuICAgKi9cbiAgcHJpdmF0ZSBidWZmZXJUb0NodW5rcyhidWZmZXIpOiBTdHJlYW0uUmVhZGFibGUge1xuICAgIGNvbnN0IGNodW5raW5nID0gbmV3IFN0cmVhbS5SZWFkYWJsZSgpO1xuICAgIGNvbnN0IHRvdGFsTGVuZ3RoID0gYnVmZmVyLmxlbmd0aDtcbiAgICBjb25zdCByZW1haW5kZXIgPSB0b3RhbExlbmd0aCAlIEhUVFBfQ0hVTktfU0laRTtcbiAgICBjb25zdCBjdXRvZmYgPSB0b3RhbExlbmd0aCAtIHJlbWFpbmRlcjtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY3V0b2ZmOyBpICs9IEhUVFBfQ0hVTktfU0laRSkge1xuICAgICAgY29uc3QgY2h1bmsgPSBidWZmZXIuc2xpY2UoaSwgaSArIEhUVFBfQ0hVTktfU0laRSk7XG4gICAgICBjaHVua2luZy5wdXNoKGNodW5rKTtcbiAgICB9XG5cbiAgICBpZiAocmVtYWluZGVyID4gMCkge1xuICAgICAgY29uc3QgcmVtYWluZGVyQnVmZmVyID0gYnVmZmVyLnNsaWNlKC1yZW1haW5kZXIpO1xuICAgICAgY2h1bmtpbmcucHVzaChyZW1haW5kZXJCdWZmZXIpO1xuICAgIH1cblxuICAgIGNodW5raW5nLnB1c2gobnVsbCk7XG5cbiAgICByZXR1cm4gY2h1bmtpbmc7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9hZGFwdGVycy9odHRwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7Ozs7QUFFSCwrQ0FBMkI7QUFDM0IsaURBQTZCO0FBQzdCLHdEQUEwQjtBQUcxQixxQ0FBeUM7QUFDekMscURBQWlDO0FBRWpDLHNEQUFrQztBQUNsQyx3Q0FBMEc7QUFDMUcsa0NBQThEO0FBQzlELG9DQUEwQztBQUUxQyxJQUFNLFlBQVksR0FBRyxTQUFTLENBQUM7QUFDL0IsSUFBTSxlQUFlLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUNsQyxJQUFNLGFBQWEsR0FBRyxFQUFFLENBQUM7QUFDekIsSUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDO0FBQ3JDLElBQU0sS0FBSyxHQUFHLElBQUEsZUFBSyxFQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFdkM7Ozs7O0dBS0c7QUFDSDtJQUFpQyw4Q0FBZTtJQUc5Qyw0QkFBWSxHQUFHLEVBQUUsSUFBUztRQUFULHFCQUFBLEVBQUEsU0FBUztRQUExQixZQUNFLGtCQUFNLElBQUksQ0FBQyxTQUlaO1FBRkMsS0FBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDbkIsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBTSxPQUFBLEtBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQWxCLENBQWtCLENBQUMsQ0FBQzs7SUFDOUMsQ0FBQztJQUVELG1DQUFNLEdBQU4sVUFBTyxLQUFVLEVBQUUsUUFBaUIsRUFBRSxFQUE4QztRQUNsRixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxnQ0FBRyxHQUFILFVBQUksS0FBSztRQUNQLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ25CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNILHlCQUFDO0FBQUQsQ0F0QkEsQUFzQkMsQ0F0QmdDLE1BQU0sQ0FBQyxRQUFRLEdBc0IvQztBQUVEOzs7Ozs7R0FNRztBQUNIO0lBQUE7UUFDVSxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUNsQixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQTJQM0I7Ozs7O1dBS0c7UUFDSyx1QkFBa0IsR0FBRyxVQUFDLE1BQU0sRUFBRSxLQUFLO1lBQ3pDLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztZQUVmLElBQU0sUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3hDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsVUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ3hDLElBQUksT0FBTyxNQUFNLENBQUMsVUFBVSxLQUFLLFVBQVUsSUFBSSxDQUFDLG9CQUFZLENBQUMsSUFBSSxFQUFFLG9CQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtvQkFDaEgsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUM7b0JBQ3ZCLE1BQU0sQ0FBQyxVQUFVLENBQUM7d0JBQ2hCLGdCQUFnQixFQUFFLElBQUk7d0JBQ3RCLE1BQU0sUUFBQTt3QkFDTixLQUFLLE9BQUE7cUJBQ04sQ0FBQyxDQUFDO2lCQUNKO2dCQUNELEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbEIsQ0FBQyxDQUFDO1lBRUYsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFBO0lBOEJILENBQUM7SUE5U0M7Ozs7OztPQU1HO0lBQ0gsNkJBQU8sR0FBUCxVQUFRLE1BQXdCO1FBQWhDLGlCQWdQQztRQS9PQyxrREFBa0Q7UUFDbEQsSUFBSSxPQUFPLE1BQU0sQ0FBQyxnQkFBZ0IsS0FBSyxXQUFXLEVBQUU7WUFDbEQsTUFBTSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztTQUNoQztRQUVELE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBQSwwQkFBZ0IsRUFBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUMsSUFBQSxLQUFvQixJQUFBLHFCQUFXLEVBQUMsTUFBTSxDQUFDLEVBQXJDLElBQUksVUFBQSxFQUFFLE9BQU8sYUFBd0IsQ0FBQztRQUU1QyxPQUFPLEdBQUcsSUFBQSxhQUFTLEVBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSw0QkFBcUIsSUFBQSxrQkFBVSxHQUFFLENBQUUsQ0FBQyxDQUFDO1FBRWhGLG1DQUFtQztRQUNuQyxJQUFJLElBQUksRUFBRTtZQUNSLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUUvQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ3pCLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLHNCQUFjLENBQUMseUNBQXlDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztpQkFDOUY7Z0JBRUQsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ25DO1lBRUQsT0FBTyxHQUFHLElBQUEsYUFBUyxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ25FO1FBRUQsNEJBQTRCO1FBQzVCLElBQUksSUFBSSxDQUFDO1FBQ1QsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQzlELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLHNCQUFjLENBQUMsMkNBQW9DLE1BQU0sQ0FBQyxJQUFJLENBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO2FBQ3RHO1lBRUQsSUFBSSxHQUFHLFVBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLGNBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUUsQ0FBQztTQUMxRDtRQUVELFlBQVk7UUFDWixJQUFJLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVuQyxvQ0FBb0M7UUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDcEIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsa0JBQVcsTUFBTSxDQUFDLEdBQUcsQ0FBRSxDQUFDLENBQUM7U0FDN0M7UUFFRCw4RkFBOEY7UUFDOUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDaEIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksc0JBQWMsQ0FBQyxvQ0FBNkIsTUFBTSxDQUFDLEdBQUcsQ0FBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDOUY7UUFFRCx3QkFBd0I7UUFDeEIsSUFBSSxJQUFJLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUNqQyxPQUFPLE9BQU8sQ0FBQyxhQUFhLENBQUM7U0FDOUI7UUFFRCxJQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxRCxJQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWxFLElBQU0sT0FBTyxHQUFHO1lBQ2QsSUFBSSxFQUFFLElBQUEsb0JBQVUsRUFBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDNUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNqQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7WUFDekIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFO1lBQ25DLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLEtBQUssRUFBRSxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDeEIsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDO1FBRUYsS0FBSyxDQUFDLHFDQUFxQyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFekYsT0FBTyxJQUFJLE9BQU8sQ0FBYSxVQUFDLE9BQU8sRUFBRSxNQUFNO1lBQzdDLElBQUksR0FBRyxDQUFDO1lBQ1IsSUFBSSxjQUFjLENBQUM7WUFFbkIsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFO2dCQUN0QixjQUFjLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLFVBQUMsTUFBTTtvQkFDdEQsa0JBQWtCO29CQUNsQixjQUFjLEdBQUcsSUFBSSxDQUFDO29CQUV0Qiw4Q0FBOEM7b0JBQzlDLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssWUFBWSxFQUFFO3dCQUM3QyxPQUFPO3FCQUNSO29CQUVELHNGQUFzRjtvQkFDdEYsSUFBSSxHQUFHLEVBQUU7d0JBQ1AsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO3dCQUNaLEdBQUcsR0FBRyxJQUFJLENBQUM7cUJBQ1o7b0JBRUQsS0FBSyxDQUFDLHlDQUF5QyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztvQkFDakUsT0FBTyxNQUFNLENBQUMsSUFBSSxzQkFBYyxDQUFDLG1DQUE0QixNQUFNLENBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLDBCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ3BILENBQUMsQ0FBQyxDQUFDO2FBQ0o7WUFFRCxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsVUFBQSxHQUFHO2dCQUM5QixrR0FBa0c7Z0JBQ2xHLElBQUksQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRTtvQkFDdkIsT0FBTyxNQUFNLENBQUMsSUFBSSxzQkFBYyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7aUJBQzlEO2dCQUVELElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQztnQkFDakIsS0FBSyxDQUFDLCtDQUErQyxFQUFFLEdBQUcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUVwRixJQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7Z0JBRXhELElBQUksZUFBZSxJQUFJLGVBQWUsQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFDLENBQUMsSUFBSyxPQUFBLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQS9CLENBQStCLENBQUMsRUFBRTtvQkFDN0gsMERBQTBEO29CQUMxRCxNQUFNLEdBQUcsR0FBRyxDQUFDLFVBQVUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztvQkFDM0UsNEVBQTRFO29CQUM1RSxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztpQkFDeEM7Z0JBRUQsSUFBSSxRQUFRLEdBQWU7b0JBQ3pCLE1BQU0sRUFBRSxHQUFHLENBQUMsVUFBVTtvQkFDdEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxhQUFhO29CQUM3QixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87b0JBQ3BCLE1BQU0sUUFBQTtvQkFDTixJQUFJLEVBQUUsRUFBRTtpQkFDVCxDQUFDO2dCQUVGLG9FQUFvRTtnQkFDcEUsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO29CQUMzQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUU5QyxJQUFJLEtBQUksQ0FBQyxhQUFhLElBQUksYUFBYSxFQUFFO3dCQUN2QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLHNCQUFjLENBQUMseUJBQWtCLEtBQUksQ0FBQyxhQUFhLHVCQUFvQixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsMEJBQWtCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztxQkFDNUk7b0JBRUQsSUFBTSxLQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFFcEMsSUFBSSxDQUFDLEtBQUcsSUFBSSxLQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTt3QkFDNUIsT0FBTyxNQUFNLENBQUMsSUFBSSxzQkFBYyxDQUFDLG9DQUFvQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsMEJBQWtCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztxQkFDeEg7b0JBRUQsSUFBSSxLQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTt3QkFDeEMsT0FBTyxNQUFNLENBQUMsSUFBSSxzQkFBYyxDQUFDLHdDQUFpQyxLQUFHLENBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLDBCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7cUJBQzFIO29CQUVELEtBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUcsQ0FBQyxDQUFDO29CQUM3QixLQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBRXJCLGlCQUFpQjtvQkFDakIsR0FBRyxHQUFHLFNBQVMsQ0FBQztvQkFDaEIsR0FBRyxHQUFHLFNBQVMsQ0FBQztvQkFFaEIsS0FBSyxDQUFDLDRDQUE0QyxFQUFFLEtBQUcsRUFBRSxLQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBRTdFLE9BQU8sT0FBTyxDQUFDLEtBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxPQUFBLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDbEU7Z0JBRUQsSUFBSSxjQUFjLEdBQUcsRUFBRSxDQUFDO2dCQUN4QixNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxVQUFBLEtBQUssSUFBSSxPQUFBLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQTFCLENBQTBCLENBQUMsQ0FBQztnQkFFdkQsK0ZBQStGO2dCQUMvRixNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxVQUFBLEdBQUc7b0JBQ3BCLEdBQUcsR0FBRyxTQUFTLENBQUM7b0JBQ2hCLEdBQUcsR0FBRyxTQUFTLENBQUM7b0JBQ2hCLGNBQWMsR0FBRyxTQUFTLENBQUM7b0JBQzNCLEtBQUssQ0FBQywyQkFBMkIsRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFFeEMsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO3dCQUNmLE9BQU87cUJBQ1I7b0JBRUQsMENBQTBDO29CQUMxQyxJQUFJLGNBQWMsRUFBRTt3QkFDbEIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUM7cUJBQ25EO29CQUVELE9BQU8sTUFBTSxDQUFDLElBQUksc0JBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsMEJBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDM0YsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUU7Ozs7Z0NBQ2YsMENBQTBDO2dDQUMxQyxJQUFJLGNBQWMsRUFBRTtvQ0FDbEIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUM7aUNBQ25EO3FDQUdHLENBQUEsR0FBRyxDQUFDLFVBQVUsS0FBSyxHQUFHLENBQUEsRUFBdEIsd0JBQXNCO2dDQUN4QixtQkFBbUI7Z0NBQ25CLFFBQVEsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztnQ0FDbkMscUJBQU0sSUFBQSx1QkFBYSxFQUFDLFFBQVEsQ0FBQyxFQUFBOztnQ0FBeEMsUUFBUSxHQUFHLFNBQTZCLENBQUM7OztnQ0FFekMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7OztnQ0FHdkIsaUJBQWlCO2dDQUNqQixHQUFHLEdBQUcsU0FBUyxDQUFDO2dDQUNoQixHQUFHLEdBQUcsU0FBUyxDQUFDO2dDQUVoQixjQUFjLEdBQUcsU0FBUyxDQUFDO2dDQUUzQixJQUFJLEdBQUcsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxNQUFNLElBQUksR0FBRyxFQUFFO29DQUNwRCxxQkFBcUI7b0NBQ3JCLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxRQUFRLENBQUMsQ0FBQztvQ0FDMUMsc0JBQU8sTUFBTSxDQUFDLElBQUksc0JBQWMsQ0FBQyx1QkFBZ0IsR0FBRyxDQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSwwQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFDO2lDQUN2RztxQ0FBTSxJQUFJLEdBQUcsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxNQUFNLElBQUksR0FBRyxFQUFFO29DQUMzRCxLQUFLLENBQUMseUJBQXlCLEVBQUUsUUFBUSxDQUFDLENBQUM7b0NBQzNDLHNCQUFPLE1BQU0sQ0FBQyxJQUFJLHNCQUFjLENBQUMsd0JBQWlCLEdBQUcsQ0FBRSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsMEJBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQztpQ0FDekc7Z0NBRUQsS0FBSyxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxDQUFDO2dDQUNwQyxzQkFBTyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUM7OztxQkFDMUIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2xCLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtvQkFDN0IsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUVaLElBQUksY0FBYyxFQUFFO3dCQUNsQixNQUFNLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztxQkFDbkQ7b0JBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxzQkFBYyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsMEJBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDakcsQ0FBQyxDQUFDLENBQUM7YUFDSjtZQUVELEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLFVBQUEsR0FBRztnQkFDakIsSUFBSSxjQUFjLEVBQUU7b0JBQ2xCLE1BQU0sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2lCQUNuRDtnQkFFRCxJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUU7b0JBQ3ZCLE9BQU87aUJBQ1I7Z0JBRUQsS0FBSyxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9DLE9BQU8sTUFBTSxDQUFDLElBQUksc0JBQWMsQ0FBQyx5QkFBa0IsR0FBRyxDQUFDLElBQUksQ0FBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsMEJBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUM1RyxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUN4RSxPQUFPLEtBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUN2SDtZQUVELEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBMkJEOzs7Ozs7O09BT0c7SUFDSyxvQ0FBYyxHQUF0QixVQUF1QixNQUFNO1FBQzNCLElBQU0sUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZDLElBQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDbEMsSUFBTSxTQUFTLEdBQUcsV0FBVyxHQUFHLGVBQWUsQ0FBQztRQUNoRCxJQUFNLE1BQU0sR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBRXZDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxJQUFJLGVBQWUsRUFBRTtZQUNoRCxJQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUM7WUFDbkQsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QjtRQUVELElBQUksU0FBUyxHQUFHLENBQUMsRUFBRTtZQUNqQixJQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDakQsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUNoQztRQUVELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUNILGtCQUFDO0FBQUQsQ0FsVEEsQUFrVEMsSUFBQTtBQWxUWSxrQ0FBVyIsImZpbGUiOiJsaWIvcmVxdWVzdC9hZGFwdGVycy9odHRwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyB1cmwgZnJvbSAndXJsJztcbmltcG9ydCAqIGFzIHpsaWIgZnJvbSAnemxpYic7XG5pbXBvcnQgRGVidWcgZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgeyBBZGFwdGVySW50ZXJmYWNlIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZ2V0VmVyc2lvbiB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCAqIGFzIFN0cmVhbSBmcm9tICdzdHJlYW0nO1xuaW1wb3J0IHsgRnNSZXF1ZXN0T3B0aW9ucywgRnNSZXNwb25zZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IHByZXBhcmVEYXRhLCBwYXJzZVJlc3BvbnNlLCBjb21iaW5lVVJMLCBzZXQgYXMgc2V0SGVhZGVyLCBub3JtYWxpemVIZWFkZXJzIH0gZnJvbSAnLi8uLi9oZWxwZXJzJztcbmltcG9ydCB7IEZzUmVxdWVzdEVycm9yQ29kZSwgRnNSZXF1ZXN0RXJyb3IgfSBmcm9tICcuLi9lcnJvcic7XG5pbXBvcnQgeyBGc0h0dHBNZXRob2QgfSBmcm9tICcuLy4uL3R5cGVzJztcblxuY29uc3QgSFRUUFNfUkVHRVhQID0gL2h0dHBzOj8vO1xuY29uc3QgSFRUUF9DSFVOS19TSVpFID0gMTYgKiAxMDI0O1xuY29uc3QgTUFYX1JFRElSRUNUUyA9IDEwO1xuY29uc3QgQ0FOQ0VMX0NMRUFSID0gYEZzQ2xlYW5NZW1vcnlgO1xuY29uc3QgZGVidWcgPSBEZWJ1ZygnZnM6cmVxdWVzdDpodHRwJyk7XG5cbi8qKlxuICogV3JpdGFibGUgc3RyZWFtIHRoYXRzIG92ZXJ3cmFwIGh0dHAgcmVxdWVzdCBmb3IgcHJvZ3Jlc3MgZXZlbnRcbiAqXG4gKiBAY2xhc3MgSHR0cFdyaXRhYmxlU3RyZWFtXG4gKiBAZXh0ZW5kcyB7U3RyZWFtLldyaXRhYmxlfVxuICovXG5jbGFzcyBIdHRwV3JpdGFibGVTdHJlYW0gZXh0ZW5kcyBTdHJlYW0uV3JpdGFibGUge1xuICBwcml2YXRlIHJlcXVlc3Q7XG5cbiAgY29uc3RydWN0b3IocmVxLCBvcHRzID0ge30pIHtcbiAgICBzdXBlcihvcHRzKTtcblxuICAgIHRoaXMucmVxdWVzdCA9IHJlcTtcbiAgICByZXEub25jZSgnZHJhaW4nLCAoKSA9PiB0aGlzLmVtaXQoJ2RyYWluJykpO1xuICB9XG5cbiAgX3dyaXRlKGNodW5rOiBhbnksIGVuY29kaW5nPzogc3RyaW5nLCBjYj86IChlcnJvcjogRXJyb3IgfCBudWxsIHwgdW5kZWZpbmVkKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5yZXF1ZXN0LndyaXRlKGNodW5rLCBlbmNvZGluZywgY2IpO1xuICB9XG5cbiAgZW5kKGNodW5rKSB7XG4gICAgaWYgKGNodW5rKSB7XG4gICAgICB0aGlzLnJlcXVlc3Qud3JpdGUoY2h1bmspO1xuICAgIH1cblxuICAgIHRoaXMucmVxdWVzdC5lbmQoKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuXG4vKipcbiAqIE5vZGUgaHR0cCByZXF1ZXN0IGNsYXNzXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIEh0dHBBZGFwdGVyXG4gKiBAaW1wbGVtZW50cyB7QWRhcHRlckludGVyZmFjZX1cbiAqL1xuZXhwb3J0IGNsYXNzIEh0dHBBZGFwdGVyIGltcGxlbWVudHMgQWRhcHRlckludGVyZmFjZSB7XG4gIHByaXZhdGUgcmVkaXJlY3RIb29wcyA9IDA7XG4gIHByaXZhdGUgcmVkaXJlY3RQYXRocyA9IFtdO1xuXG4gIC8qKlxuICAgKiBkbyByZXF1ZXN0IGJhc2VkIG9uIGNvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogQHBhcmFtIHtGc1JlcXVlc3RPcHRpb25zfSBjb25maWdcbiAgICogQHJldHVybnNcbiAgICogQG1lbWJlcm9mIEh0dHBBZGFwdGVyXG4gICAqL1xuICByZXF1ZXN0KGNvbmZpZzogRnNSZXF1ZXN0T3B0aW9ucykge1xuICAgIC8vIGlmIHRoaXMgb3B0aW9uIGlzIHVuc3BlY2lmaWVkIHNldCBpdCBieSBkZWZhdWx0XG4gICAgaWYgKHR5cGVvZiBjb25maWcuZmlsZXN0YWNrSGVhZGVycyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbmZpZy5maWxlc3RhY2tIZWFkZXJzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25maWcuaGVhZGVycyA9IG5vcm1hbGl6ZUhlYWRlcnMoY29uZmlnLmhlYWRlcnMpO1xuXG4gICAgbGV0IHsgZGF0YSwgaGVhZGVycyB9ID0gcHJlcGFyZURhdGEoY29uZmlnKTtcblxuICAgIGhlYWRlcnMgPSBzZXRIZWFkZXIoaGVhZGVycywgJ3VzZXItYWdlbnQnLCBgZmlsZXN0YWNrLXJlcXVlc3QvJHtnZXRWZXJzaW9uKCl9YCk7XG5cbiAgICAvLyBmb3Igbm93IHdlIGFyZSBub3QgdXNpbmcgc3RyZWFtc1xuICAgIGlmIChkYXRhKSB7XG4gICAgICBkZWJ1ZygnUmVxdWVzdCBkYXRhICVPJywgZGF0YSk7XG5cbiAgICAgIGlmICghQnVmZmVyLmlzQnVmZmVyKGRhdGEpKSB7XG4gICAgICAgIGlmICghdXRpbHMuaXNTdHJpbmcoZGF0YSkpIHtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKCdEYXRhIG11c3QgYmUgYSBzdHJpbmcsIEpTT04gb3IgYSBCdWZmZXInLCBjb25maWcpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRhdGEgPSBCdWZmZXIuZnJvbShkYXRhLCAndXRmLTgnKTtcbiAgICAgIH1cblxuICAgICAgaGVhZGVycyA9IHNldEhlYWRlcihoZWFkZXJzLCAnY29udGVudC1sZW5ndGgnLCBkYXRhLmxlbmd0aCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gSFRUUCBiYXNpYyBhdXRoZW50aWNhdGlvblxuICAgIGxldCBhdXRoO1xuICAgIGlmIChjb25maWcuYXV0aCkge1xuICAgICAgaWYgKCFjb25maWcuYXV0aC51c2VybmFtZSB8fCBjb25maWcuYXV0aC51c2VybmFtZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcihgQmFzaWMgYXV0aDogdXNlcm5hbWUgaXMgcmVxdWlyZWQgJHtjb25maWcuYXV0aH1gLCBjb25maWcpKTtcbiAgICAgIH1cblxuICAgICAgYXV0aCA9IGAke2NvbmZpZy5hdXRoLnVzZXJuYW1lfToke2NvbmZpZy5hdXRoLnBhc3N3b3JkfWA7XG4gICAgfVxuXG4gICAgLy8gUGFyc2UgdXJsXG4gICAgbGV0IHBhcnNlZCA9IHVybC5wYXJzZShjb25maWcudXJsKTtcblxuICAgIC8vIHRyeSB0byBhZGQgZGVmYXVsdCBodHRwcyBwcm90b2NvbFxuICAgIGlmICghcGFyc2VkLnByb3RvY29sKSB7XG4gICAgICBwYXJzZWQgPSB1cmwucGFyc2UoYGh0dHBzOi8vJHtjb25maWcudXJsfWApO1xuICAgIH1cblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBqdXN0IGJlIHN1cmUgdGhhdCB0aGUgaG9zdCBpcyBwYXJzZWQgY29ycmVjdGx5LCBub3QgbmVlZGVkIHRvIHRlc3QgKi9cbiAgICBpZiAoIXBhcnNlZC5ob3N0KSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKGBDYW5ub3QgcGFyc2UgcHJvdmlkZWQgdXJsICR7Y29uZmlnLnVybH1gLCBjb25maWcpKTtcbiAgICB9XG5cbiAgICAvLyBub3JtYWxpemUgYXV0aCBoZWFkZXJcbiAgICBpZiAoYXV0aCAmJiBoZWFkZXJzLkF1dGhvcml6YXRpb24pIHtcbiAgICAgIGRlbGV0ZSBoZWFkZXJzLkF1dGhvcml6YXRpb247XG4gICAgfVxuXG4gICAgY29uc3QgaXNIdHRwc1JlcXVlc3QgPSBIVFRQU19SRUdFWFAudGVzdChwYXJzZWQucHJvdG9jb2wpO1xuICAgIGNvbnN0IGFnZW50ID0gaXNIdHRwc1JlcXVlc3QgPyByZXF1aXJlKCdodHRwcycpIDogcmVxdWlyZSgnaHR0cCcpO1xuXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIHBhdGg6IGNvbWJpbmVVUkwocGFyc2VkLnBhdGgsIGNvbmZpZy5wYXJhbXMpLFxuICAgICAgaG9zdDogcGFyc2VkLmhvc3QsXG4gICAgICBwb3J0OiBwYXJzZWQucG9ydCxcbiAgICAgIHByb3RvY29sOiBwYXJzZWQucHJvdG9jb2wsXG4gICAgICBtZXRob2Q6IGNvbmZpZy5tZXRob2QudG9VcHBlckNhc2UoKSxcbiAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICBhZ2VudDogbmV3IGFnZW50LkFnZW50KCksXG4gICAgICBhdXRoOiBhdXRoLFxuICAgIH07XG5cbiAgICBkZWJ1ZygnU3RhcnRpbmcgJXMgcmVxdWVzdCB3aXRoIG9wdGlvbnMgJU8nLCBpc0h0dHBzUmVxdWVzdCA/ICdodHRwcycgOiAnaHR0cCcsIG9wdGlvbnMpO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPEZzUmVzcG9uc2U+KChyZXNvbHZlLCByZWplY3QpOiBhbnkgPT4ge1xuICAgICAgbGV0IHJlcTtcbiAgICAgIGxldCBjYW5jZWxMaXN0ZW5lcjtcblxuICAgICAgaWYgKGNvbmZpZy5jYW5jZWxUb2tlbikge1xuICAgICAgICBjYW5jZWxMaXN0ZW5lciA9IGNvbmZpZy5jYW5jZWxUb2tlbi5vbignY2FuY2VsJywgKHJlYXNvbikgPT4ge1xuICAgICAgICAgIC8vIGNsZWFudXAgaGFuZGxlclxuICAgICAgICAgIGNhbmNlbExpc3RlbmVyID0gbnVsbDtcblxuICAgICAgICAgIC8vIGRvIG5vdGhpbmcgaWYgcHJvbWlzZSBpcyByZXNvbHZlZCBieSBzeXN0ZW1cbiAgICAgICAgICBpZiAocmVhc29uICYmIHJlYXNvbi5tZXNzYWdlID09PSBDQU5DRUxfQ0xFQVIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogaWYgcmVxdWVzdCBpcyBkb25lIGNhbmNlbCB0b2tlbiBzaG91bGQgbm90IHRocm93IGFueSBlcnJvciAqL1xuICAgICAgICAgIGlmIChyZXEpIHtcbiAgICAgICAgICAgIHJlcS5hYm9ydCgpO1xuICAgICAgICAgICAgcmVxID0gbnVsbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkZWJ1ZygnUmVxdWVzdCBjYW5jZWxlZCBieSB1c2VyICVzLCBjb25maWc6ICVPJywgcmVhc29uLCBjb25maWcpO1xuICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKGBSZXF1ZXN0IGFib3J0ZWQuIFJlYXNvbjogJHtyZWFzb259YCwgY29uZmlnLCBudWxsLCBGc1JlcXVlc3RFcnJvckNvZGUuQUJPUlRFRCkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmVxID0gYWdlbnQucmVxdWVzdChvcHRpb25zLCByZXMgPT4ge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDoganVzdCBiZSBzdXJlIHRoYXQgcmVzcG9uc2Ugd2lsbCBub3QgYmUgY2FsbGVkIGFmdGVyIHJlcXVlc3QgaXMgYWJvcnRlZCAqL1xuICAgICAgICBpZiAoIXJlcSB8fCByZXEuYWJvcnRlZCkge1xuICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKCdSZXF1ZXN0IGFib3J0ZWQnLCBjb25maWcpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBzdHJlYW0gPSByZXM7XG4gICAgICAgIGRlYnVnKCdSZXNwb25zZSBzdGF0dXNDb2RlOiAlZCwgUmVzcG9uc2UgSGVhZGVyczogJU8nLCByZXMuc3RhdHVzQ29kZSwgcmVzLmhlYWRlcnMpO1xuXG4gICAgICAgIGNvbnN0IGNvbXByZXNzSGVhZGVycyA9IHJlcy5oZWFkZXJzWydjb250ZW50LWVuY29kaW5nJ107XG5cbiAgICAgICAgaWYgKGNvbXByZXNzSGVhZGVycyAmJiBjb21wcmVzc0hlYWRlcnMubGVuZ3RoICYmIFsnZ3ppcCcsICdjb21wcmVzcycsICdkZWZsYXRlJ10uc29tZSgodikgPT4gY29tcHJlc3NIZWFkZXJzLmluZGV4T2YodikgPiAtMSkpIHtcbiAgICAgICAgICAvLyBhZGQgdGhlIHVuemlwcGVyIHRvIHRoZSBib2R5IHN0cmVhbSBwcm9jZXNzaW5nIHBpcGVsaW5lXG4gICAgICAgICAgc3RyZWFtID0gcmVzLnN0YXR1c0NvZGUgPT09IDIwNCA/IHN0cmVhbSA6IHN0cmVhbS5waXBlKHpsaWIuY3JlYXRlVW56aXAoKSk7XG4gICAgICAgICAgLy8gcmVtb3ZlIHRoZSBjb250ZW50LWVuY29kaW5nIGluIG9yZGVyIHRvIG5vdCBjb25mdXNlIGRvd25zdHJlYW0gb3BlcmF0aW9uc1xuICAgICAgICAgIGRlbGV0ZSByZXMuaGVhZGVyc1snY29udGVudC1lbmNvZGluZyddO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHJlc3BvbnNlOiBGc1Jlc3BvbnNlID0ge1xuICAgICAgICAgIHN0YXR1czogcmVzLnN0YXR1c0NvZGUsXG4gICAgICAgICAgc3RhdHVzVGV4dDogcmVzLnN0YXR1c01lc3NhZ2UsXG4gICAgICAgICAgaGVhZGVyczogcmVzLmhlYWRlcnMsXG4gICAgICAgICAgY29uZmlnLFxuICAgICAgICAgIGRhdGE6IHt9LFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIHdlIG5lZWQgdG8gZm9sbG93IHJlZGlyZWN0IHNvIG1ha2Ugc2FtZSByZXF1ZXN0IHdpdGggbmV3IGxvY2F0aW9uXG4gICAgICAgIGlmIChbMzAxLCAzMDJdLmluZGV4T2YocmVzLnN0YXR1c0NvZGUpID4gLTEpIHtcbiAgICAgICAgICBkZWJ1ZygnUmVkaXJlY3QgcmVjZWl2ZWQgJXMnLCByZXMuc3RhdHVzQ29kZSk7XG5cbiAgICAgICAgICBpZiAodGhpcy5yZWRpcmVjdEhvb3BzID49IE1BWF9SRURJUkVDVFMpIHtcbiAgICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKGBNYXggcmVkaXJlY3RzICgke3RoaXMucmVkaXJlY3RIb29wc30pIHJlYWNoZWQuIEV4aXRpbmdgLCBjb25maWcsIHJlc3BvbnNlLCBGc1JlcXVlc3RFcnJvckNvZGUuUkVESVJFQ1QpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCB1cmwgPSByZXMuaGVhZGVyc1snbG9jYXRpb24nXTtcblxuICAgICAgICAgIGlmICghdXJsIHx8IHVybC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKGBSZWRpcmVjdCBoZWFkZXIgbG9jYXRpb24gbm90IGZvdW5kYCwgY29uZmlnLCByZXNwb25zZSwgRnNSZXF1ZXN0RXJyb3JDb2RlLlJFRElSRUNUKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHRoaXMucmVkaXJlY3RQYXRocy5pbmRleE9mKHVybCkgPiAtMSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoYFJlZGlyZWN0IGxvb3AgZGV0ZWN0ZWQgYXQgdXJsICR7dXJsfWAsIGNvbmZpZywgcmVzcG9uc2UsIEZzUmVxdWVzdEVycm9yQ29kZS5SRURJUkVDVCkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMucmVkaXJlY3RQYXRocy5wdXNoKHVybCk7XG4gICAgICAgICAgdGhpcy5yZWRpcmVjdEhvb3BzKys7XG5cbiAgICAgICAgICAvLyBmcmVlIHJlc291cmNlc1xuICAgICAgICAgIHJlcyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICByZXEgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgICBkZWJ1ZygnUmVkaXJlY3RpbmcgcmVxdWVzdCB0byAlcyAoaG9vcC1jb3VudDogJWQpJywgdXJsLCB0aGlzLnJlZGlyZWN0SG9vcHMpO1xuXG4gICAgICAgICAgcmV0dXJuIHJlc29sdmUodGhpcy5yZXF1ZXN0KE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZywgeyB1cmwgfSkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZXNwb25zZUJ1ZmZlciA9IFtdO1xuICAgICAgICBzdHJlYW0ub24oJ2RhdGEnLCBjaHVuayA9PiByZXNwb25zZUJ1ZmZlci5wdXNoKGNodW5rKSk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGl0cyBoYXJkIHRvIHRlc3Qgc29ja2V0IGV2ZW50cyB3aXRoIGplc3QgYW5kIG5vY2sgLSB0ZXN0ZWQgbWFudWFsbHkgKi9cbiAgICAgICAgc3RyZWFtLm9uKCdlcnJvcicsIGVyciA9PiB7XG4gICAgICAgICAgcmVzID0gdW5kZWZpbmVkO1xuICAgICAgICAgIHJlcSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICByZXNwb25zZUJ1ZmZlciA9IHVuZGVmaW5lZDtcbiAgICAgICAgICBkZWJ1ZygnUmVxdWVzdCBlcnJvcjogQWJvcnRlZCAlTycsIGVycik7XG5cbiAgICAgICAgICBpZiAocmVxLmFib3J0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBjbGVhciBjYW5jZWwgdG9rZW4gdG8gYXZvaWQgbWVtb3J5IGxlYWtcbiAgICAgICAgICBpZiAoY2FuY2VsTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIGNvbmZpZy5jYW5jZWxUb2tlbi5yZW1vdmVMaXN0ZW5lcihjYW5jZWxMaXN0ZW5lcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoZXJyLm1lc3NhZ2UsIGNvbmZpZywgbnVsbCwgRnNSZXF1ZXN0RXJyb3JDb2RlLk5FVFdPUkspKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgc3RyZWFtLm9uKCdlbmQnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgLy8gY2xlYXIgY2FuY2VsIHRva2VuIHRvIGF2b2lkIG1lbW9yeSBsZWFrXG4gICAgICAgICAgaWYgKGNhbmNlbExpc3RlbmVyKSB7XG4gICAgICAgICAgICBjb25maWcuY2FuY2VsVG9rZW4ucmVtb3ZlTGlzdGVuZXIoY2FuY2VsTGlzdGVuZXIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIGNoZWNrIGlmIHRoZXJlIGlzIGFueSByZXNwb25zZSBkYXRhIGluc2lkZVxuICAgICAgICAgIGlmIChyZXMuc3RhdHVzQ29kZSAhPT0gMjA0KSB7XG4gICAgICAgICAgICAvLyBwcmVwYXJlIHJlc3BvbnNlXG4gICAgICAgICAgICByZXNwb25zZS5kYXRhID0gQnVmZmVyLmNvbmNhdChyZXNwb25zZUJ1ZmZlcik7XG4gICAgICAgICAgICByZXNwb25zZSA9IGF3YWl0IHBhcnNlUmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXNwb25zZS5kYXRhID0gbnVsbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBmcmVlIHJlc291cmNlc1xuICAgICAgICAgIHJlcyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICByZXEgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgICByZXNwb25zZUJ1ZmZlciA9IHVuZGVmaW5lZDtcblxuICAgICAgICAgIGlmICg1MDAgPD0gcmVzcG9uc2Uuc3RhdHVzICYmIHJlc3BvbnNlLnN0YXR1cyA8PSA1OTkpIHtcbiAgICAgICAgICAgIC8vIHNlcnZlciBlcnJvciB0aHJvd1xuICAgICAgICAgICAgZGVidWcoJ1NlcnZlciBlcnJvcig1eHgpIC0gJU8nLCByZXNwb25zZSk7XG4gICAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcihgU2VydmVyIGVycm9yICR7dXJsfWAsIGNvbmZpZywgcmVzcG9uc2UsIEZzUmVxdWVzdEVycm9yQ29kZS5TRVJWRVIpKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKDQwMCA8PSByZXNwb25zZS5zdGF0dXMgJiYgcmVzcG9uc2Uuc3RhdHVzIDw9IDQ5OSkge1xuICAgICAgICAgICAgZGVidWcoJ1JlcXVlc3QgZXJyb3IoNHh4KSAtICVPJywgcmVzcG9uc2UpO1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoYFJlcXVlc3QgZXJyb3IgJHt1cmx9YCwgY29uZmlnLCByZXNwb25zZSwgRnNSZXF1ZXN0RXJyb3JDb2RlLlJFUVVFU1QpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkZWJ1ZygnUmVxdWVzdCBlbmRzOiAlTycsIHJlc3BvbnNlKTtcbiAgICAgICAgICByZXR1cm4gcmVzb2x2ZShyZXNwb25zZSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChjb25maWcudGltZW91dCkge1xuICAgICAgICByZXEuc2V0VGltZW91dChjb25maWcudGltZW91dCwgKCkgPT4ge1xuICAgICAgICAgIHJlcS5hYm9ydCgpO1xuXG4gICAgICAgICAgaWYgKGNhbmNlbExpc3RlbmVyKSB7XG4gICAgICAgICAgICBjb25maWcuY2FuY2VsVG9rZW4ucmVtb3ZlTGlzdGVuZXIoY2FuY2VsTGlzdGVuZXIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKCdSZXF1ZXN0IHRpbWVvdXQnLCBjb25maWcsIG51bGwsIEZzUmVxdWVzdEVycm9yQ29kZS5USU1FT1VUKSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICByZXEub24oJ2Vycm9yJywgZXJyID0+IHtcbiAgICAgICAgaWYgKGNhbmNlbExpc3RlbmVyKSB7XG4gICAgICAgICAgY29uZmlnLmNhbmNlbFRva2VuLnJlbW92ZUxpc3RlbmVyKGNhbmNlbExpc3RlbmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcmVxIHx8IHJlcS5hYm9ydGVkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVidWcoJ1JlcXVlc3QgZXJyb3I6ICVzIC0gJU8nLCBlcnIsIGVyci5jb2RlKTtcbiAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoYFJlcXVlc3QgZXJyb3I6ICR7ZXJyLmNvZGV9YCwgY29uZmlnLCBudWxsLCBGc1JlcXVlc3RFcnJvckNvZGUuTkVUV09SSykpO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChCdWZmZXIuaXNCdWZmZXIoZGF0YSkgJiYgWydQT1NUJywgJ1BVVCddLmluZGV4T2YoY29uZmlnLm1ldGhvZCkgPiAtMSkge1xuICAgICAgICByZXR1cm4gdGhpcy5idWZmZXJUb0NodW5rcyhkYXRhKS5waXBlKHRoaXMuZ2V0UHJvZ3Jlc3NNb25pdG9yKGNvbmZpZywgZGF0YS5sZW5ndGgpKS5waXBlKG5ldyBIdHRwV3JpdGFibGVTdHJlYW0ocmVxKSk7XG4gICAgICB9XG5cbiAgICAgIHJlcS5lbmQoZGF0YSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTW9uaXRvciBhbmQgZW1pdCBwcm9ncmVzcyBldmVudCBpZiBuZWVkZWRcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQG1lbWJlcm9mIEh0dHBBZGFwdGVyXG4gICAqL1xuICBwcml2YXRlIGdldFByb2dyZXNzTW9uaXRvciA9IChjb25maWcsIHRvdGFsKSA9PiB7XG4gICAgbGV0IGxvYWRlZCA9IDA7XG5cbiAgICBjb25zdCBwcm9ncmVzcyA9IG5ldyBTdHJlYW0uVHJhbnNmb3JtKCk7XG4gICAgcHJvZ3Jlc3MuX3RyYW5zZm9ybSA9IChjaHVuaywgZW5jb2RpbmcsIGNiKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGNvbmZpZy5vblByb2dyZXNzID09PSAnZnVuY3Rpb24nICYmIFtGc0h0dHBNZXRob2QuUE9TVCwgRnNIdHRwTWV0aG9kLlBVVF0uaW5kZXhPZihjb25maWcubWV0aG9kKSA+IC0xKSB7XG4gICAgICAgIGxvYWRlZCArPSBjaHVuay5sZW5ndGg7XG4gICAgICAgIGNvbmZpZy5vblByb2dyZXNzKHtcbiAgICAgICAgICBsZW5ndGhDb21wdXRhYmxlOiB0cnVlLFxuICAgICAgICAgIGxvYWRlZCxcbiAgICAgICAgICB0b3RhbCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBjYihudWxsLCBjaHVuayk7XG4gICAgfTtcblxuICAgIHJldHVybiBwcm9ncmVzcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IGJ1ZmZlciB0byBzdHJlYW1cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHsqfSBidWZmZXJcbiAgICogQHJldHVybnMge1N0cmVhbS5SZWFkYWJsZX1cbiAgICogQG1lbWJlcm9mIEh0dHBBZGFwdGVyXG4gICAqL1xuICBwcml2YXRlIGJ1ZmZlclRvQ2h1bmtzKGJ1ZmZlcik6IFN0cmVhbS5SZWFkYWJsZSB7XG4gICAgY29uc3QgY2h1bmtpbmcgPSBuZXcgU3RyZWFtLlJlYWRhYmxlKCk7XG4gICAgY29uc3QgdG90YWxMZW5ndGggPSBidWZmZXIubGVuZ3RoO1xuICAgIGNvbnN0IHJlbWFpbmRlciA9IHRvdGFsTGVuZ3RoICUgSFRUUF9DSFVOS19TSVpFO1xuICAgIGNvbnN0IGN1dG9mZiA9IHRvdGFsTGVuZ3RoIC0gcmVtYWluZGVyO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjdXRvZmY7IGkgKz0gSFRUUF9DSFVOS19TSVpFKSB7XG4gICAgICBjb25zdCBjaHVuayA9IGJ1ZmZlci5zbGljZShpLCBpICsgSFRUUF9DSFVOS19TSVpFKTtcbiAgICAgIGNodW5raW5nLnB1c2goY2h1bmspO1xuICAgIH1cblxuICAgIGlmIChyZW1haW5kZXIgPiAwKSB7XG4gICAgICBjb25zdCByZW1haW5kZXJCdWZmZXIgPSBidWZmZXIuc2xpY2UoLXJlbWFpbmRlcik7XG4gICAgICBjaHVua2luZy5wdXNoKHJlbWFpbmRlckJ1ZmZlcik7XG4gICAgfVxuXG4gICAgY2h1bmtpbmcucHVzaChudWxsKTtcblxuICAgIHJldHVybiBjaHVua2luZztcbiAgfVxufVxuIl19

@@ -19,6 +19,7 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
var adapters = require("./http");
var tslib_1 = require("tslib");
var adapters = tslib_1.__importStar(require("./http"));
var adapters_abstractspec_1 = require("./adapters.abstractspec");
adapters_abstractspec_1.adaptersHttpAbstract(adapters.HttpAdapter, 'http');
(0, adapters_abstractspec_1.adaptersHttpAbstract)(adapters.HttpAdapter, 'http');
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9hZGFwdGVycy9odHRwLnNwZWMubm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUVILGlDQUFtQztBQUNuQyxpRUFBK0Q7QUFFL0QsNENBQW9CLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvcmVxdWVzdC9hZGFwdGVycy9odHRwLnNwZWMubm9kZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIGFkYXB0ZXJzIGZyb20gJy4vaHR0cCc7XG5pbXBvcnQgeyBhZGFwdGVyc0h0dHBBYnN0cmFjdCB9IGZyb20gJy4vYWRhcHRlcnMuYWJzdHJhY3RzcGVjJztcblxuYWRhcHRlcnNIdHRwQWJzdHJhY3QoYWRhcHRlcnMuSHR0cEFkYXB0ZXIsICdodHRwJyk7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9hZGFwdGVycy9odHRwLnNwZWMubm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSCx1REFBbUM7QUFDbkMsaUVBQStEO0FBRS9ELElBQUEsNENBQW9CLEVBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvcmVxdWVzdC9hZGFwdGVycy9odHRwLnNwZWMubm9kZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIGFkYXB0ZXJzIGZyb20gJy4vaHR0cCc7XG5pbXBvcnQgeyBhZGFwdGVyc0h0dHBBYnN0cmFjdCB9IGZyb20gJy4vYWRhcHRlcnMuYWJzdHJhY3RzcGVjJztcblxuYWRhcHRlcnNIdHRwQWJzdHJhY3QoYWRhcHRlcnMuSHR0cEFkYXB0ZXIsICdodHRwJyk7XG4iXX0=

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

tslib_1.__exportStar(require("./xhr"), exports);
tslib_1.__exportStar(require("./interface"), exports);
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9hZGFwdGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSCxpREFBdUI7QUFDdkIsZ0RBQXNCIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2FkYXB0ZXJzL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2h0dHAnO1xuZXhwb3J0ICogZnJvbSAnLi94aHInO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2UnO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9hZGFwdGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSCxpREFBdUI7QUFDdkIsZ0RBQXNCO0FBQ3RCLHNEQUE0QiIsImZpbGUiOiJsaWIvcmVxdWVzdC9hZGFwdGVycy9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9odHRwJztcbmV4cG9ydCAqIGZyb20gJy4veGhyJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlJztcbiJdfQ==
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.XhrAdapter = void 0;
var tslib_1 = require("tslib");

@@ -20,8 +21,8 @@ /*

*/
var debug_1 = require("debug");
var utils = require("../utils");
var debug_1 = tslib_1.__importDefault(require("debug"));
var utils = tslib_1.__importStar(require("../utils"));
var types_1 = require("../types");
var error_1 = require("../error");
var helpers_1 = require("./../helpers");
var debug = debug_1.default('fs:request:xhr');
var debug = (0, debug_1.default)('fs:request:xhr');
var CANCEL_CLEAR = "FsCleanMemory";

@@ -37,3 +38,3 @@ var XhrAdapter = /** @class */ (function () {

}
config = helpers_1.prepareData(config);
config = (0, helpers_1.prepareData)(config);
config.headers = config.headers || {};

@@ -52,5 +53,5 @@ var data = config.data, headers = config.headers;

if (!config.auth.username || config.auth.username.length === 0 || !config.auth.password || config.auth.password.length === 0) {
return Promise.reject(new error_1.FsRequestError("Basic auth: username and password are required " + config.auth, config));
return Promise.reject(new error_1.FsRequestError("Basic auth: username and password are required ".concat(config.auth), config));
}
headers.Authorization = 'Basic ' + btoa(unescape(encodeURIComponent(config.auth.username + ":" + config.auth.password)));
headers.Authorization = 'Basic ' + btoa(unescape(encodeURIComponent("".concat(config.auth.username, ":").concat(config.auth.password))));
debug('Set request authorization to %s', config.auth.username + config.auth.password);

@@ -60,5 +61,5 @@ }

if (!/^http(s)?:\/\//.test(url)) {
url = "https://" + url;
url = "https://".concat(url);
}
url = helpers_1.combineURL(url, config.params);
url = (0, helpers_1.combineURL)(url, config.params);
debug('Starting request to %s with options %O', url, config);

@@ -77,3 +78,3 @@ request.open(config.method.toUpperCase(), url, true);

debug('Request canceled by user %s, config: %O', reason, config);
return reject(new error_1.FsRequestError("Request aborted. Reason: " + reason, config, null, error_1.FsRequestErrorCode.ABORTED));
return reject(new error_1.FsRequestError("Request aborted. Reason: ".concat(reason), config, null, error_1.FsRequestErrorCode.ABORTED));
};

@@ -93,3 +94,3 @@ config.cancelToken.once('cancel', cancelListener);

}
responseHeaders = helpers_1.parse(request.getAllResponseHeaders());
responseHeaders = (0, helpers_1.parse)(request.getAllResponseHeaders());
responseData = request.response;

@@ -104,3 +105,3 @@ response = {

request = null;
return [4 /*yield*/, helpers_1.parseResponse(response)];
return [4 /*yield*/, (0, helpers_1.parseResponse)(response)];
case 1:

@@ -111,7 +112,7 @@ response = _a.sent();

debug('Server error(5xx) - %O', response);
return [2 /*return*/, reject(new error_1.FsRequestError("Server error " + url, config, response, error_1.FsRequestErrorCode.SERVER))];
return [2 /*return*/, reject(new error_1.FsRequestError("Server error ".concat(url), config, response, error_1.FsRequestErrorCode.SERVER))];
}
else if (400 <= response.status && response.status <= 499) {
debug('Request error(4xx) - %O', response);
return [2 /*return*/, reject(new error_1.FsRequestError("Request error " + url, config, response, error_1.FsRequestErrorCode.REQUEST))];
return [2 /*return*/, reject(new error_1.FsRequestError("Request error ".concat(url), config, response, error_1.FsRequestErrorCode.REQUEST))];
}

@@ -179,2 +180,2 @@ // clear cancel token to avoid memory leak

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9hZGFwdGVycy94aHIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsK0JBQTBCO0FBQzFCLGdDQUFrQztBQUVsQyxrQ0FBc0U7QUFDdEUsa0NBQThEO0FBQzlELHdDQUE2RjtBQUU3RixJQUFNLEtBQUssR0FBRyxlQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUN0QyxJQUFNLFlBQVksR0FBRyxlQUFlLENBQUM7QUFFckM7SUFBQTtJQW1LQSxDQUFDO0lBaktDLDRCQUFPLEdBQVAsVUFBUSxNQUF3QjtRQUFoQyxpQkFnS0M7UUEvSkMsa0RBQWtEO1FBQ2xELElBQUksT0FBTyxNQUFNLENBQUMsZ0JBQWdCLEtBQUssV0FBVyxFQUFFO1lBQ2xELE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7U0FDaEM7UUFFRCxNQUFNLEdBQUcscUJBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBRWhDLElBQUEsa0JBQUksRUFBRSx3QkFBTyxDQUFZO1FBRS9CLGlFQUFpRTtRQUNqRSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDMUIsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDaEM7UUFFRCxJQUFJLE9BQU8sR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBRW5DLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTtZQUN2QixPQUFPLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztTQUMvQjtRQUVELDRCQUE0QjtRQUM1QixJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENB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LFVBQVUsSUFBSSxDQUFDLG9CQUFZLENBQUMsSUFBSSxFQUFFLG9CQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDaEgsK0VBQStFO2dCQUMvRSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7b0JBQ2xCLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO29CQUN2QyxPQUFPLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ2hFO3FCQUFNO29CQUNMLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO29CQUNoQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDekQ7YUFDRjtZQUVELElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtnQkFDdEIsSUFBSSxHQUFHLElBQUksQ0FBQzthQUNiO1lBRUQsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDSCxpQkFBQztBQUFELENBbktBLEFBbUtDLElBQUE7QUFuS1ksZ0NBQVUiLCJmaWxlIjoibGliL3JlcXVlc3QvYWRhcHRlcnMveGhyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IERlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IEFkYXB0ZXJJbnRlcmZhY2UgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBGc1JlcXVlc3RPcHRpb25zLCBGc1Jlc3BvbnNlLCBGc0h0dHBNZXRob2QgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBGc1JlcXVlc3RFcnJvciwgRnNSZXF1ZXN0RXJyb3JDb2RlIH0gZnJvbSAnLi4vZXJyb3InO1xuaW1wb3J0IHsgcHJlcGFyZURhdGEsIHBhcnNlUmVzcG9uc2UsIHBhcnNlIGFzIHBhcnNlSGVhZGVycywgY29tYmluZVVSTCB9IGZyb20gJy4vLi4vaGVscGVycyc7XG5cbmNvbnN0IGRlYnVnID0gRGVidWcoJ2ZzOnJlcXVlc3Q6eGhyJyk7XG5jb25zdCBDQU5DRUxfQ0xFQVIgPSBgRnNDbGVhbk1lbW9yeWA7XG5cbmV4cG9ydCBjbGFzcyBYaHJBZGFwdGVyIGltcGxlbWVudHMgQWRhcHRlckludGVyZmFjZSB7XG5cbiAgcmVxdWVzdChjb25maWc6IEZzUmVxdWVzdE9wdGlvbnMpIHtcbiAgICAvLyBpZiB0aGlzIG9wdGlvbiBpcyB1bnNwZWNpZmllZCBzZXQgaXQgYnkgZGVmYXVsdFxuICAgIGlmICh0eXBlb2YgY29uZmlnLmZpbGVzdGFja0hlYWRlcnMgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjb25maWcuZmlsZXN0YWNrSGVhZGVycyA9IHRydWU7XG4gICAgfVxuXG4gICAgY29uZmlnID0gcHJlcGFyZURhdGEoY29uZmlnKTtcbiAgICBjb25maWcuaGVhZGVycyA9IGNvbmZpZy5oZWFkZXJzIHx8IHt9O1xuXG4gICAgbGV0IHsgZGF0YSwgaGVhZGVycyB9ID0gY29uZmlnO1xuXG4gICAgLy8gaWYgZGF0YSBpcyB0eXBlIG9mIGZvcm0gbGV0IGJyb3dzZXIgdG8gc2V0IHByb3BlciBjb250ZW50IHR5cGVcbiAgICBpZiAodXRpbHMuaXNGb3JtRGF0YShkYXRhKSkge1xuICAgICAgZGVsZXRlIGhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddO1xuICAgIH1cblxuICAgIGxldCByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG5cbiAgICBpZiAoY29uZmlnLmJsb2JSZXNwb25zZSkge1xuICAgICAgcmVxdWVzdC5yZXNwb25zZVR5cGUgPSAnYmxvYic7XG4gICAgfVxuXG4gICAgLy8gSFRUUCBiYXNpYyBhdXRoZW50aWNhdGlvblxuICAgIGlmIChjb25maWcuYXV0aCkge1xuICAgICAgaWYgKCFjb25maWcuYXV0aC51c2VybmFtZSB8fCBjb25maWcuYXV0aC51c2VybmFtZS5sZW5ndGggPT09IDAgfHwgIWNvbmZpZy5hdXRoLnBhc3N3b3JkIHx8IGNvbmZpZy5hdXRoLnBhc3N3b3JkLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKGBCYXNpYyBhdXRoOiB1c2VybmFtZSBhbmQgcGFzc3dvcmQgYXJlIHJlcXVpcmVkICR7Y29uZmlnLmF1dGh9YCwgY29uZmlnKSk7XG4gICAgICB9XG5cbiAgICAgIGhlYWRlcnMuQXV0aG9yaXphdGlvbiA9ICdCYXNpYyAnICsgYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoYCR7Y29uZmlnLmF1dGgudXNlcm5hbWV9OiR7Y29uZmlnLmF1dGgucGFzc3dvcmR9YCkpKTtcbiAgICAgIGRlYnVnKCdTZXQgcmVxdWVzdCBhdXRob3JpemF0aW9uIHRvICVzJywgY29uZmlnLmF1dGgudXNlcm5hbWUgKyBjb25maWcuYXV0aC5wYXNzd29yZCk7XG4gICAgfVxuXG4gICAgbGV0IHVybCA9IGNvbmZpZy51cmwudHJpbSgpO1xuXG4gICAgaWYgKCEvXmh0dHAocyk/OlxcL1xcLy8udGVzdCh1cmwpKSB7XG4gICAgICB1cmwgPSBgaHR0cHM6Ly8ke3VybH1gO1xuICAgIH1cblxuICAgIHVybCA9IGNvbWJpbmVVUkwodXJsLCBjb25maWcucGFyYW1zKTtcblxuICAgIGRlYnVnKCdTdGFydGluZyByZXF1ZXN0IHRvICVzIHdpdGggb3B0aW9ucyAlTycsIHVybCwgY29uZmlnKTtcblxuICAgIHJlcXVlc3Qub3Blbihjb25maWcubWV0aG9kLnRvVXBwZXJDYXNlKCksIHVybCwgdHJ1ZSk7XG5cbiAgICByZXF1ZXN0LnRpbWVvdXQgPSBjb25maWcudGltZW91dDtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxGc1Jlc3BvbnNlPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBsZXQgY2FuY2VsTGlzdGVuZXI7XG5cbiAgICAgIGlmIChjb25maWcuY2FuY2VsVG9rZW4pIHtcbiAgICAgICAgY2FuY2VsTGlzdGVuZXIgPSAocmVhc29uKSA9PiB7XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGlmIHJlcXVlc3QgaXMgZG9uZSBjYW5jZWwgdG9rZW4gc2hvdWxkIG5vdCB0aHJvdyBhbnkgZXJyb3IgKi9cbiAgICAgICAgICBpZiAocmVxdWVzdCkge1xuICAgICAgICAgICAgcmVxdWVzdC5hYm9ydCgpO1xuICAgICAgICAgICAgcmVxdWVzdCA9IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVidWcoJ1JlcXVlc3QgY2FuY2VsZWQgYnkgdXNlciAlcywgY29uZmlnOiAlTycsIHJlYXNvbiwgY29uZmlnKTtcbiAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcihgUmVxdWVzdCBhYm9ydGVkLiBSZWFzb246ICR7cmVhc29ufWAsIGNvbmZpZywgbnVsbCwgRnNSZXF1ZXN0RXJyb3JDb2RlLkFCT1JURUQpKTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25maWcuY2FuY2VsVG9rZW4ub25jZSgnY2FuY2VsJywgY2FuY2VsTGlzdGVuZXIpO1xuICAgICAgfVxuXG4gICAgICByZXF1ZXN0Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgaWYgKCFyZXF1ZXN0IHx8IHJlcXVlc3QucmVhZHlTdGF0ZSAhPT0gNCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXF1ZXN0LnN0YXR1cyA9PT0gMCAmJiAhcmVxdWVzdC5yZXNwb25zZVVSTCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFByZXBhcmUgdGhlIHJlc3BvbnNlXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlSGVhZGVycyA9IHBhcnNlSGVhZGVycyhyZXF1ZXN0LmdldEFsbFJlc3BvbnNlSGVhZGVycygpKTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2VEYXRhID0gcmVxdWVzdC5yZXNwb25zZTtcblxuICAgICAgICBsZXQgcmVzcG9uc2U6IEZzUmVzcG9uc2UgPSB7XG4gICAgICAgICAgZGF0YTogcmVzcG9uc2VEYXRhLFxuICAgICAgICAgIHN0YXR1czogcmVxdWVzdC5zdGF0dXMsXG4gICAgICAgICAgc3RhdHVzVGV4dDogcmVxdWVzdC5zdGF0dXNUZXh0LFxuICAgICAgICAgIGhlYWRlcnM6IHJlc3BvbnNlSGVhZGVycyxcbiAgICAgICAgICBjb25maWc6IGNvbmZpZyxcbiAgICAgICAgfTtcblxuICAgICAgICByZXF1ZXN0ID0gbnVsbDtcbiAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCBwYXJzZVJlc3BvbnNlKHJlc3BvbnNlKTtcblxuICAgICAgICBpZiAoNTAwIDw9IHJlc3BvbnNlLnN0YXR1cyAmJiByZXNwb25zZS5zdGF0dXMgPD0gNTk5KSB7XG4gICAgICAgICAgLy8gc2VydmVyIGVycm9yIHRocm93XG4gICAgICAgICAgZGVidWcoJ1NlcnZlciBlcnJvcig1eHgpIC0gJU8nLCByZXNwb25zZSk7XG4gICAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoYFNlcnZlciBlcnJvciAke3VybH1gLCBjb25maWcsIHJlc3BvbnNlLCBGc1JlcXVlc3RFcnJvckNvZGUuU0VSVkVSKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoNDAwIDw9IHJlc3BvbnNlLnN0YXR1cyAmJiByZXNwb25zZS5zdGF0dXMgPD0gNDk5KSB7XG4gICAgICAgICAgZGVidWcoJ1JlcXVlc3QgZXJyb3IoNHh4KSAtICVPJywgcmVzcG9uc2UpO1xuICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKGBSZXF1ZXN0IGVycm9yICR7dXJsfWAsIGNvbmZpZywgcmVzcG9uc2UsIEZzUmVxdWVzdEVycm9yQ29kZS5SRVFVRVNUKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBjbGVhciBjYW5jZWwgdG9rZW4gdG8gYXZvaWQgbWVtb3J5IGxlYWtcbiAgICAgICAgaWYgKGNvbmZpZy5jYW5jZWxUb2tlbikge1xuICAgICAgICAgIGNvbmZpZy5jYW5jZWxUb2tlbi5yZW1vdmVMaXN0ZW5lcignY2FuY2VsJywgY2FuY2VsTGlzdGVuZXIpO1xuICAgICAgICAgIGNhbmNlbExpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXNvbHZlKHJlc3BvbnNlKTtcbiAgICAgIH07XG5cbiAgICAgIC8vIEhhbmRsZSBicm93c2VyIHJlcXVlc3QgY2FuY2VsbGF0aW9uIChhcyBvcHBvc2VkIHRvIGEgbWFudWFsIGNhbmNlbGxhdGlvbilcbiAgICAgIHJlcXVlc3Qub25hYm9ydCA9IGZ1bmN0aW9uIGhhbmRsZUFib3J0KCkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDoganVzdCB0byBiZSBzdXJlIHRoYXQgYWJvcnQgd2FzIG5vdCBjYWxsZWQgdHdpY2UgKi9cbiAgICAgICAgaWYgKCFyZXF1ZXN0KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVxdWVzdCA9IG51bGw7XG4gICAgICAgIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoJ1JlcXVlc3QgYWJvcnRlZCcsIGNvbmZpZywgbnVsbCwgRnNSZXF1ZXN0RXJyb3JDb2RlLkFCT1JURUQpKTtcbiAgICAgIH07XG5cbiAgICAgIC8vIEhhbmRsZSBsb3cgbGV2ZWwgbmV0d29yayBlcnJvcnNcbiAgICAgIHJlcXVlc3Qub25lcnJvciA9IGZ1bmN0aW9uIGhhbmRsZUVycm9yKGVycikge1xuICAgICAgICByZXF1ZXN0ID0gbnVsbDtcbiAgICAgICAgZGVidWcoJ1JlcXVlc3QgZXJyb3IhICVPJywgZXJyKTtcbiAgICAgICAgcmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcignTmV0d29yayBFcnJvcicsIGNvbmZpZywgbnVsbCwgRnNSZXF1ZXN0RXJyb3JDb2RlLk5FVFdPUkspKTtcbiAgICAgIH07XG5cbiAgICAgIC8vIEhhbmRsZSB0aW1lb3V0XG4gICAgICByZXF1ZXN0Lm9udGltZW91dCA9IGZ1bmN0aW9uIGhhbmRsZVRpbWVvdXQoKSB7XG4gICAgICAgIHJlcXVlc3QgPSBudWxsO1xuICAgICAgICBkZWJ1ZygnUmVxdWVzdCB0aW1lZCBvdXQuICVPJywgY29uZmlnKTtcbiAgICAgICAgcmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcignUmVxdWVzdCB0aW1lb3V0JywgY29uZmlnLCBudWxsLCBGc1JlcXVlc3RFcnJvckNvZGUuVElNRU9VVCkpO1xuICAgICAgfTtcblxuICAgICAgLy8gQWRkIGhlYWRlcnMgdG8gdGhlIHJlcXVlc3RcbiAgICAgIGlmICgnc2V0UmVxdWVzdEhlYWRlcicgaW4gcmVxdWVzdCAmJiBoZWFkZXJzICYmIE9iamVjdC5rZXlzKGhlYWRlcnMpLmxlbmd0aCkge1xuICAgICAgICBmb3IgKGxldCBrZXkgaW4gaGVhZGVycykge1xuICAgICAgICAgIGlmIChoZWFkZXJzW2tleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVidWcoJ1NldCByZXF1ZXN0IGhlYWRlciAlcyB0byAlcycsIGtleSwgaGVhZGVyc1trZXldKTtcbiAgICAgICAgICByZXF1ZXN0LnNldFJlcXVlc3RIZWFkZXIoa2V5LCBoZWFkZXJzW2tleV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgY29uZmlnLm9uUHJvZ3Jlc3MgPT09ICdmdW5jdGlvbicgJiYgW0ZzSHR0cE1ldGhvZC5QT1NULCBGc0h0dHBNZXRob2QuUFVUXS5pbmRleE9mKGNvbmZpZy5tZXRob2QpID4gLTEpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2U6IGVsc2UgcGF0aCBpcyBqdXN0IGZhbGxiYWNrIHRvIG5vcm1hbCBwcm9ncmVzcyBldmVudCAqL1xuICAgICAgICBpZiAocmVxdWVzdC51cGxvYWQpIHtcbiAgICAgICAgICBkZWJ1ZygnQmluZCB0byB1cGxvYWQgcHJvZ3Jlc3MgZXZlbnQnKTtcbiAgICAgICAgICByZXF1ZXN0LnVwbG9hZC5hZGRFdmVudExpc3RlbmVyKCdwcm9ncmVzcycsIGNvbmZpZy5vblByb2dyZXNzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZWJ1ZygnQmluZCB0byBwcm9ncmVzcyBldmVudCcpO1xuICAgICAgICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigncHJvZ3Jlc3MnLCBjb25maWcub25Qcm9ncmVzcyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGRhdGEgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkYXRhID0gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmVxdWVzdC5zZW5kKGRhdGEpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9hZGFwdGVycy94aHIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILHdEQUEwQjtBQUMxQixzREFBa0M7QUFFbEMsa0NBQXNFO0FBQ3RFLGtDQUE4RDtBQUM5RCx3Q0FBNkY7QUFFN0YsSUFBTSxLQUFLLEdBQUcsSUFBQSxlQUFLLEVBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUN0QyxJQUFNLFlBQVksR0FBRyxlQUFlLENBQUM7QUFFckM7SUFBQTtJQW1LQSxDQUFDO0lBaktDLDRCQUFPLEdBQVAsVUFBUSxNQUF3QjtRQUFoQyxpQkFnS0M7UUEvSkMsa0RBQWtEO1FBQ2xELElBQUksT0FBTyxNQUFNLENBQUMsZ0JBQWdCLEtBQUssV0FBVyxFQUFFO1lBQ2xELE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7U0FDaEM7UUFFRCxNQUFNLEdBQUcsSUFBQSxxQkFBVyxFQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFFaEMsSUFBQSxJQUFJLEdBQWMsTUFBTSxLQUFwQixFQUFFLE9BQU8sR0FBSyxNQUFNLFFBQVgsQ0FBWTtRQUUvQixpRUFBaUU7UUFDakUsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzFCLE9BQU8sT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsSUFBSSxPQUFPLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUVuQyxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDdkIsT0FBTyxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUM7U0FDL0I7UUFFRCw0QkFBNEI7UUFDNUIsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLE1B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Q0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQzdDO2FBQ0Y7WUFFRCxJQUFJLE9BQU8sTUFBTSxDQUFDLFVBQVUsS0FBSyxVQUFVLElBQUksQ0FBQyxvQkFBWSxDQUFDLElBQUksRUFBRSxvQkFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2hILCtFQUErRTtnQkFDL0UsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO29CQUNsQixLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztvQkFDdkMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUNoRTtxQkFBTTtvQkFDTCxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztvQkFDaEMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ3pEO2FBQ0Y7WUFFRCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7Z0JBQ3RCLElBQUksR0FBRyxJQUFJLENBQUM7YUFDYjtZQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0gsaUJBQUM7QUFBRCxDQW5LQSxBQW1LQyxJQUFBO0FBbktZLGdDQUFVIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2FkYXB0ZXJzL3hoci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCBEZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBBZGFwdGVySW50ZXJmYWNlIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRnNSZXF1ZXN0T3B0aW9ucywgRnNSZXNwb25zZSwgRnNIdHRwTWV0aG9kIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRnNSZXF1ZXN0RXJyb3IsIEZzUmVxdWVzdEVycm9yQ29kZSB9IGZyb20gJy4uL2Vycm9yJztcbmltcG9ydCB7IHByZXBhcmVEYXRhLCBwYXJzZVJlc3BvbnNlLCBwYXJzZSBhcyBwYXJzZUhlYWRlcnMsIGNvbWJpbmVVUkwgfSBmcm9tICcuLy4uL2hlbHBlcnMnO1xuXG5jb25zdCBkZWJ1ZyA9IERlYnVnKCdmczpyZXF1ZXN0OnhocicpO1xuY29uc3QgQ0FOQ0VMX0NMRUFSID0gYEZzQ2xlYW5NZW1vcnlgO1xuXG5leHBvcnQgY2xhc3MgWGhyQWRhcHRlciBpbXBsZW1lbnRzIEFkYXB0ZXJJbnRlcmZhY2Uge1xuXG4gIHJlcXVlc3QoY29uZmlnOiBGc1JlcXVlc3RPcHRpb25zKSB7XG4gICAgLy8gaWYgdGhpcyBvcHRpb24gaXMgdW5zcGVjaWZpZWQgc2V0IGl0IGJ5IGRlZmF1bHRcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5maWxlc3RhY2tIZWFkZXJzID09PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uZmlnLmZpbGVzdGFja0hlYWRlcnMgPSB0cnVlO1xuICAgIH1cblxuICAgIGNvbmZpZyA9IHByZXBhcmVEYXRhKGNvbmZpZyk7XG4gICAgY29uZmlnLmhlYWRlcnMgPSBjb25maWcuaGVhZGVycyB8fCB7fTtcblxuICAgIGxldCB7IGRhdGEsIGhlYWRlcnMgfSA9IGNvbmZpZztcblxuICAgIC8vIGlmIGRhdGEgaXMgdHlwZSBvZiBmb3JtIGxldCBicm93c2VyIHRvIHNldCBwcm9wZXIgY29udGVudCB0eXBlXG4gICAgaWYgKHV0aWxzLmlzRm9ybURhdGEoZGF0YSkpIHtcbiAgICAgIGRlbGV0ZSBoZWFkZXJzWydDb250ZW50LVR5cGUnXTtcbiAgICB9XG5cbiAgICBsZXQgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuXG4gICAgaWYgKGNvbmZpZy5ibG9iUmVzcG9uc2UpIHtcbiAgICAgIHJlcXVlc3QucmVzcG9uc2VUeXBlID0gJ2Jsb2InO1xuICAgIH1cblxuICAgIC8vIEhUVFAgYmFzaWMgYXV0aGVudGljYXRpb25cbiAgICBpZiAoY29uZmlnLmF1dGgpIHtcbiAgICAgIGlmICghY29uZmlnLmF1dGgudXNlcm5hbWUgfHwgY29uZmlnLmF1dGgudXNlcm5hbWUubGVuZ3RoID09PSAwIHx8ICFjb25maWcuYXV0aC5wYXNzd29yZCB8fCBjb25maWcuYXV0aC5wYXNzd29yZC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcihgQmFzaWMgYXV0aDogdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGFyZSByZXF1aXJlZCAke2NvbmZpZy5hdXRofWAsIGNvbmZpZykpO1xuICAgICAgfVxuXG4gICAgICBoZWFkZXJzLkF1dGhvcml6YXRpb24gPSAnQmFzaWMgJyArIGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KGAke2NvbmZpZy5hdXRoLnVzZXJuYW1lfToke2NvbmZpZy5hdXRoLnBhc3N3b3JkfWApKSk7XG4gICAgICBkZWJ1ZygnU2V0IHJlcXVlc3QgYXV0aG9yaXphdGlvbiB0byAlcycsIGNvbmZpZy5hdXRoLnVzZXJuYW1lICsgY29uZmlnLmF1dGgucGFzc3dvcmQpO1xuICAgIH1cblxuICAgIGxldCB1cmwgPSBjb25maWcudXJsLnRyaW0oKTtcblxuICAgIGlmICghL15odHRwKHMpPzpcXC9cXC8vLnRlc3QodXJsKSkge1xuICAgICAgdXJsID0gYGh0dHBzOi8vJHt1cmx9YDtcbiAgICB9XG5cbiAgICB1cmwgPSBjb21iaW5lVVJMKHVybCwgY29uZmlnLnBhcmFtcyk7XG5cbiAgICBkZWJ1ZygnU3RhcnRpbmcgcmVxdWVzdCB0byAlcyB3aXRoIG9wdGlvbnMgJU8nLCB1cmwsIGNvbmZpZyk7XG5cbiAgICByZXF1ZXN0Lm9wZW4oY29uZmlnLm1ldGhvZC50b1VwcGVyQ2FzZSgpLCB1cmwsIHRydWUpO1xuXG4gICAgcmVxdWVzdC50aW1lb3V0ID0gY29uZmlnLnRpbWVvdXQ7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2U8RnNSZXNwb25zZT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgbGV0IGNhbmNlbExpc3RlbmVyO1xuXG4gICAgICBpZiAoY29uZmlnLmNhbmNlbFRva2VuKSB7XG4gICAgICAgIGNhbmNlbExpc3RlbmVyID0gKHJlYXNvbikgPT4ge1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBpZiByZXF1ZXN0IGlzIGRvbmUgY2FuY2VsIHRva2VuIHNob3VsZCBub3QgdGhyb3cgYW55IGVycm9yICovXG4gICAgICAgICAgaWYgKHJlcXVlc3QpIHtcbiAgICAgICAgICAgIHJlcXVlc3QuYWJvcnQoKTtcbiAgICAgICAgICAgIHJlcXVlc3QgPSBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRlYnVnKCdSZXF1ZXN0IGNhbmNlbGVkIGJ5IHVzZXIgJXMsIGNvbmZpZzogJU8nLCByZWFzb24sIGNvbmZpZyk7XG4gICAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoYFJlcXVlc3QgYWJvcnRlZC4gUmVhc29uOiAke3JlYXNvbn1gLCBjb25maWcsIG51bGwsIEZzUmVxdWVzdEVycm9yQ29kZS5BQk9SVEVEKSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uZmlnLmNhbmNlbFRva2VuLm9uY2UoJ2NhbmNlbCcsIGNhbmNlbExpc3RlbmVyKTtcbiAgICAgIH1cblxuICAgICAgcmVxdWVzdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgIGlmICghcmVxdWVzdCB8fCByZXF1ZXN0LnJlYWR5U3RhdGUgIT09IDQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVxdWVzdC5zdGF0dXMgPT09IDAgJiYgIXJlcXVlc3QucmVzcG9uc2VVUkwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQcmVwYXJlIHRoZSByZXNwb25zZVxuICAgICAgICBjb25zdCByZXNwb25zZUhlYWRlcnMgPSBwYXJzZUhlYWRlcnMocmVxdWVzdC5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlRGF0YSA9IHJlcXVlc3QucmVzcG9uc2U7XG5cbiAgICAgICAgbGV0IHJlc3BvbnNlOiBGc1Jlc3BvbnNlID0ge1xuICAgICAgICAgIGRhdGE6IHJlc3BvbnNlRGF0YSxcbiAgICAgICAgICBzdGF0dXM6IHJlcXVlc3Quc3RhdHVzLFxuICAgICAgICAgIHN0YXR1c1RleHQ6IHJlcXVlc3Quc3RhdHVzVGV4dCxcbiAgICAgICAgICBoZWFkZXJzOiByZXNwb25zZUhlYWRlcnMsXG4gICAgICAgICAgY29uZmlnOiBjb25maWcsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmVxdWVzdCA9IG51bGw7XG4gICAgICAgIHJlc3BvbnNlID0gYXdhaXQgcGFyc2VSZXNwb25zZShyZXNwb25zZSk7XG5cbiAgICAgICAgaWYgKDUwMCA8PSByZXNwb25zZS5zdGF0dXMgJiYgcmVzcG9uc2Uuc3RhdHVzIDw9IDU5OSkge1xuICAgICAgICAgIC8vIHNlcnZlciBlcnJvciB0aHJvd1xuICAgICAgICAgIGRlYnVnKCdTZXJ2ZXIgZXJyb3IoNXh4KSAtICVPJywgcmVzcG9uc2UpO1xuICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKGBTZXJ2ZXIgZXJyb3IgJHt1cmx9YCwgY29uZmlnLCByZXNwb25zZSwgRnNSZXF1ZXN0RXJyb3JDb2RlLlNFUlZFUikpO1xuICAgICAgICB9IGVsc2UgaWYgKDQwMCA8PSByZXNwb25zZS5zdGF0dXMgJiYgcmVzcG9uc2Uuc3RhdHVzIDw9IDQ5OSkge1xuICAgICAgICAgIGRlYnVnKCdSZXF1ZXN0IGVycm9yKDR4eCkgLSAlTycsIHJlc3BvbnNlKTtcbiAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcihgUmVxdWVzdCBlcnJvciAke3VybH1gLCBjb25maWcsIHJlc3BvbnNlLCBGc1JlcXVlc3RFcnJvckNvZGUuUkVRVUVTVCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gY2xlYXIgY2FuY2VsIHRva2VuIHRvIGF2b2lkIG1lbW9yeSBsZWFrXG4gICAgICAgIGlmIChjb25maWcuY2FuY2VsVG9rZW4pIHtcbiAgICAgICAgICBjb25maWcuY2FuY2VsVG9rZW4ucmVtb3ZlTGlzdGVuZXIoJ2NhbmNlbCcsIGNhbmNlbExpc3RlbmVyKTtcbiAgICAgICAgICBjYW5jZWxMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzb2x2ZShyZXNwb25zZSk7XG4gICAgICB9O1xuXG4gICAgICAvLyBIYW5kbGUgYnJvd3NlciByZXF1ZXN0IGNhbmNlbGxhdGlvbiAoYXMgb3Bwb3NlZCB0byBhIG1hbnVhbCBjYW5jZWxsYXRpb24pXG4gICAgICByZXF1ZXN0Lm9uYWJvcnQgPSBmdW5jdGlvbiBoYW5kbGVBYm9ydCgpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGp1c3QgdG8gYmUgc3VyZSB0aGF0IGFib3J0IHdhcyBub3QgY2FsbGVkIHR3aWNlICovXG4gICAgICAgIGlmICghcmVxdWVzdCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlcXVlc3QgPSBudWxsO1xuICAgICAgICByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKCdSZXF1ZXN0IGFib3J0ZWQnLCBjb25maWcsIG51bGwsIEZzUmVxdWVzdEVycm9yQ29kZS5BQk9SVEVEKSk7XG4gICAgICB9O1xuXG4gICAgICAvLyBIYW5kbGUgbG93IGxldmVsIG5ldHdvcmsgZXJyb3JzXG4gICAgICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbiBoYW5kbGVFcnJvcihlcnIpIHtcbiAgICAgICAgcmVxdWVzdCA9IG51bGw7XG4gICAgICAgIGRlYnVnKCdSZXF1ZXN0IGVycm9yISAlTycsIGVycik7XG4gICAgICAgIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoJ05ldHdvcmsgRXJyb3InLCBjb25maWcsIG51bGwsIEZzUmVxdWVzdEVycm9yQ29kZS5ORVRXT1JLKSk7XG4gICAgICB9O1xuXG4gICAgICAvLyBIYW5kbGUgdGltZW91dFxuICAgICAgcmVxdWVzdC5vbnRpbWVvdXQgPSBmdW5jdGlvbiBoYW5kbGVUaW1lb3V0KCkge1xuICAgICAgICByZXF1ZXN0ID0gbnVsbDtcbiAgICAgICAgZGVidWcoJ1JlcXVlc3QgdGltZWQgb3V0LiAlTycsIGNvbmZpZyk7XG4gICAgICAgIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoJ1JlcXVlc3QgdGltZW91dCcsIGNvbmZpZywgbnVsbCwgRnNSZXF1ZXN0RXJyb3JDb2RlLlRJTUVPVVQpKTtcbiAgICAgIH07XG5cbiAgICAgIC8vIEFkZCBoZWFkZXJzIHRvIHRoZSByZXF1ZXN0XG4gICAgICBpZiAoJ3NldFJlcXVlc3RIZWFkZXInIGluIHJlcXVlc3QgJiYgaGVhZGVycyAmJiBPYmplY3Qua2V5cyhoZWFkZXJzKS5sZW5ndGgpIHtcbiAgICAgICAgZm9yIChsZXQga2V5IGluIGhlYWRlcnMpIHtcbiAgICAgICAgICBpZiAoaGVhZGVyc1trZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRlYnVnKCdTZXQgcmVxdWVzdCBoZWFkZXIgJXMgdG8gJXMnLCBrZXksIGhlYWRlcnNba2V5XSk7XG4gICAgICAgICAgcmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKGtleSwgaGVhZGVyc1trZXldKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIGNvbmZpZy5vblByb2dyZXNzID09PSAnZnVuY3Rpb24nICYmIFtGc0h0dHBNZXRob2QuUE9TVCwgRnNIdHRwTWV0aG9kLlBVVF0uaW5kZXhPZihjb25maWcubWV0aG9kKSA+IC0xKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlOiBlbHNlIHBhdGggaXMganVzdCBmYWxsYmFjayB0byBub3JtYWwgcHJvZ3Jlc3MgZXZlbnQgKi9cbiAgICAgICAgaWYgKHJlcXVlc3QudXBsb2FkKSB7XG4gICAgICAgICAgZGVidWcoJ0JpbmQgdG8gdXBsb2FkIHByb2dyZXNzIGV2ZW50Jyk7XG4gICAgICAgICAgcmVxdWVzdC51cGxvYWQuYWRkRXZlbnRMaXN0ZW5lcigncHJvZ3Jlc3MnLCBjb25maWcub25Qcm9ncmVzcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVidWcoJ0JpbmQgdG8gcHJvZ3Jlc3MgZXZlbnQnKTtcbiAgICAgICAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoJ3Byb2dyZXNzJywgY29uZmlnLm9uUHJvZ3Jlc3MpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChkYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGF0YSA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJlcXVlc3Quc2VuZChkYXRhKTtcbiAgICB9KTtcbiAgfVxufVxuIl19

@@ -19,6 +19,7 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
var adapters = require("./xhr");
var tslib_1 = require("tslib");
var adapters = tslib_1.__importStar(require("./xhr"));
var adapters_abstractspec_1 = require("./adapters.abstractspec");
adapters_abstractspec_1.adaptersHttpAbstract(adapters.XhrAdapter, 'xhr');
(0, adapters_abstractspec_1.adaptersHttpAbstract)(adapters.XhrAdapter, 'xhr');
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9hZGFwdGVycy94aHIuc3BlYy5icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7O0FBRUgsZ0NBQWtDO0FBQ2xDLGlFQUErRDtBQUUvRCw0Q0FBb0IsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2FkYXB0ZXJzL3hoci5zcGVjLmJyb3dzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIGFkYXB0ZXJzIGZyb20gJy4veGhyJztcbmltcG9ydCB7IGFkYXB0ZXJzSHR0cEFic3RyYWN0IH0gZnJvbSAnLi9hZGFwdGVycy5hYnN0cmFjdHNwZWMnO1xuXG5hZGFwdGVyc0h0dHBBYnN0cmFjdChhZGFwdGVycy5YaHJBZGFwdGVyLCAneGhyJyk7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9hZGFwdGVycy94aHIuc3BlYy5icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7OztBQUVILHNEQUFrQztBQUNsQyxpRUFBK0Q7QUFFL0QsSUFBQSw0Q0FBb0IsRUFBQyxRQUFRLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2FkYXB0ZXJzL3hoci5zcGVjLmJyb3dzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIGFkYXB0ZXJzIGZyb20gJy4veGhyJztcbmltcG9ydCB7IGFkYXB0ZXJzSHR0cEFic3RyYWN0IH0gZnJvbSAnLi9hZGFwdGVycy5hYnN0cmFjdHNwZWMnO1xuXG5hZGFwdGVyc0h0dHBBYnN0cmFjdChhZGFwdGVycy5YaHJBZGFwdGVyLCAneGhyJyk7XG4iXX0=
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Dispatch = void 0;
var tslib_1 = require("tslib");
var shouldRetry_1 = require("./helpers/shouldRetry");
var debug_1 = require("debug");
var debug = debug_1.default('fs:request:dispatch');
var debug_1 = tslib_1.__importDefault(require("debug"));
var debug = (0, debug_1.default)('fs:request:dispatch');
/**

@@ -51,3 +52,3 @@ * Request dispatcher

var config = err.config;
if (!shouldRetry_1.shouldRetry(err)) {
if (!(0, shouldRetry_1.shouldRetry)(err)) {
debug('[Retry] Request error is not retriable. Exiting');

@@ -68,3 +69,3 @@ return Promise.reject(err);

config.runtime = tslib_1.__assign(tslib_1.__assign({}, config.runtime), { retryCount: attempts + 1 });
debug("[Retry] Retrying request to " + config.url + ", count " + attempts + " of " + retryConfig.retry + " - Delay: " + retryDelay);
debug("[Retry] Retrying request to ".concat(config.url, ", count ").concat(attempts, " of ").concat(retryConfig.retry, " - Delay: ").concat(retryDelay));
return new Promise(function (resolve) {

@@ -78,2 +79,2 @@ setTimeout(function () { return resolve(_this.request(config)); }, retryDelay);

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9kaXNwYXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFtQkEscURBQW9EO0FBQ3BELCtCQUEwQjtBQUUxQixJQUFNLEtBQUssR0FBRyxlQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUUzQzs7Ozs7R0FLRztBQUNIO0lBR0U7Ozs7O09BS0c7SUFDSCxrQkFBWSxPQUF5QjtRQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLDBCQUFPLEdBQWQsVUFBZSxNQUF3QjtRQUF2QyxpQkFPQztRQU5DLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDdEMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQUMsTUFBc0I7WUFDL0QsS0FBSyxDQUFDLHdCQUF3QixFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekQsT0FBTyxLQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSyx3QkFBSyxHQUFiLFVBQWMsR0FBbUI7UUFBakMsaUJBaUNDO1FBaENDLElBQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFFMUIsSUFBSSxDQUFDLHlCQUFXLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDckIsS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7WUFDekQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzVCO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDakIsS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7WUFDakQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzVCO1FBRUQsSUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNqQyxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTNGLElBQUksV0FBVyxDQUFDLEtBQUssSUFBSSxXQUFXLENBQUMsS0FBSyxJQUFJLFFBQVEsRUFBRTtZQUN0RCxLQUFLLENBQUMsNENBQTRDLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDOUQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzVCO1FBRUQsSUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsU0FBQSxXQUFXLENBQUMsV0FBVyxFQUFJLFFBQVEsQ0FBQSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRS9HLE1BQU0sQ0FBQyxPQUFPLHlDQUNULE1BQU0sQ0FBQyxPQUFPLEtBQ2pCLFVBQVUsRUFBRSxRQUFRLEdBQUcsQ0FBQyxHQUN6QixDQUFDO1FBRUYsS0FBSyxDQUFDLGlDQUErQixNQUFNLENBQUMsR0FBRyxnQkFBVyxRQUFRLFlBQU8sV0FBVyxDQUFDLEtBQUssa0JBQWEsVUFBWSxDQUFDLENBQUM7UUFFckgsT0FBTyxJQUFJLE9BQU8sQ0FBYSxVQUFBLE9BQU87WUFDcEMsVUFBVSxDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsS0FBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUE3QixDQUE2QixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNILGVBQUM7QUFBRCxDQXhFQSxBQXdFQyxJQUFBO0FBeEVZLDRCQUFRIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2Rpc3BhdGNoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgRnNSZXF1ZXN0T3B0aW9ucywgRnNSZXNwb25zZSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgQWRhcHRlckludGVyZmFjZSB9IGZyb20gJy4vYWRhcHRlcnMvaW50ZXJmYWNlJztcbmltcG9ydCB7IEZzUmVxdWVzdEVycm9yIH0gZnJvbSAnLi9lcnJvcic7XG5pbXBvcnQgeyBzaG91bGRSZXRyeSB9IGZyb20gJy4vaGVscGVycy9zaG91bGRSZXRyeSc7XG5pbXBvcnQgRGVidWcgZnJvbSAnZGVidWcnO1xuXG5jb25zdCBkZWJ1ZyA9IERlYnVnKCdmczpyZXF1ZXN0OmRpc3BhdGNoJyk7XG5cbi8qKlxuICogUmVxdWVzdCBkaXNwYXRjaGVyXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIERpc3BhdGNoXG4gKi9cbmV4cG9ydCBjbGFzcyBEaXNwYXRjaCB7XG4gIGFkYXB0ZXI6IEFkYXB0ZXJJbnRlcmZhY2U7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgRGlzcGF0Y2guXG4gICAqXG4gICAqIEBwYXJhbSB7QWRhcHRlckludGVyZmFjZX0gYWRhcHRlciBodHRwIHwgWEhSIGFkYXBhdGVyXG4gICAqIEBtZW1iZXJvZiBEaXNwYXRjaFxuICAgKi9cbiAgY29uc3RydWN0b3IoYWRhcHRlcjogQWRhcHRlckludGVyZmFjZSkge1xuICAgIHRoaXMuYWRhcHRlciA9IGFkYXB0ZXI7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGF0Y2ggcmVxdWVzdCBhZGRpbmcgcmV0cnkgcG9saWN5XG4gICAqIEB0b2RvIGFkZCBkYXRhIHByZXByb2Nlc29yXG4gICAqXG4gICAqIEBwYXJhbSB7RnNSZXF1ZXN0T3B0aW9uc30gY29uZmlnXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEZzUmVzcG9uc2U+fVxuICAgKiBAbWVtYmVyb2YgRGlzcGF0Y2hcbiAgICovXG4gIHB1YmxpYyByZXF1ZXN0KGNvbmZpZzogRnNSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8RnNSZXNwb25zZT4ge1xuICAgIGNvbmZpZy5oZWFkZXJzID0gY29uZmlnLmhlYWRlcnMgfHwge307XG4gICAgZGVidWcoJ0Rpc3BhdGNoaW5nIHJlcXVlc3QgJU8nLCBjb25maWcpO1xuICAgIHJldHVybiB0aGlzLmFkYXB0ZXIucmVxdWVzdChjb25maWcpLmNhdGNoKChyZWFzb246IEZzUmVxdWVzdEVycm9yKSA9PiB7XG4gICAgICBkZWJ1ZygnUmVxdWVzdCBlcnJvciBcIiVzXCI6ICVPJywgcmVhc29uLCByZWFzb24ucmVzcG9uc2UpO1xuICAgICAgcmV0dXJuIHRoaXMucmV0cnkocmVhc29uKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXF1ZXN0IHJldHJpZXJcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtGc1JlcXVlc3RFcnJvcn0gZXJyXG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBEaXNwYXRjaFxuICAgKi9cbiAgcHJpdmF0ZSByZXRyeShlcnI6IEZzUmVxdWVzdEVycm9yKSB7XG4gICAgY29uc3QgY29uZmlnID0gZXJyLmNvbmZpZztcblxuICAgIGlmICghc2hvdWxkUmV0cnkoZXJyKSkge1xuICAgICAgZGVidWcoJ1tSZXRyeV0gUmVxdWVzdCBlcnJvciBpcyBub3QgcmV0cmlhYmxlLiBFeGl0aW5nJyk7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyKTtcbiAgICB9XG5cbiAgICBpZiAoIWNvbmZpZy5yZXRyeSkge1xuICAgICAgZGVidWcoJ1tSZXRyeV0gUmV0cnkgY29uZmlnIG5vdCBmb3VuZC4gRXhpdGluZycpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycik7XG4gICAgfVxuXG4gICAgY29uc3QgcmV0cnlDb25maWcgPSBjb25maWcucmV0cnk7XG4gICAgbGV0IGF0dGVtcHRzID0gY29uZmlnLnJ1bnRpbWUgJiYgY29uZmlnLnJ1bnRpbWUucmV0cnlDb3VudCA/IGNvbmZpZy5ydW50aW1lLnJldHJ5Q291bnQgOiAwO1xuXG4gICAgaWYgKHJldHJ5Q29uZmlnLnJldHJ5ICYmIHJldHJ5Q29uZmlnLnJldHJ5IDw9IGF0dGVtcHRzKSB7XG4gICAgICBkZWJ1ZygnW1JldHJ5XSBSZXRyeSBhdHRlbXB0cyByZWFjaGVkICVkLiBFeGl0aW5nJywgYXR0ZW1wdHMpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycik7XG4gICAgfVxuXG4gICAgY29uc3QgcmV0cnlEZWxheSA9IE1hdGgubWF4KE1hdGgubWluKHJldHJ5Q29uZmlnLnJldHJ5TWF4VGltZSwgcmV0cnlDb25maWcucmV0cnlGYWN0b3IgKiogYXR0ZW1wdHMgKiAxMDAwKSwgMSk7XG5cbiAgICBjb25maWcucnVudGltZSA9IHtcbiAgICAgIC4uLmNvbmZpZy5ydW50aW1lLFxuICAgICAgcmV0cnlDb3VudDogYXR0ZW1wdHMgKyAxLFxuICAgIH07XG5cbiAgICBkZWJ1ZyhgW1JldHJ5XSBSZXRyeWluZyByZXF1ZXN0IHRvICR7Y29uZmlnLnVybH0sIGNvdW50ICR7YXR0ZW1wdHN9IG9mICR7cmV0cnlDb25maWcucmV0cnl9IC0gRGVsYXk6ICR7cmV0cnlEZWxheX1gKTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxGc1Jlc3BvbnNlPihyZXNvbHZlID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVzb2x2ZSh0aGlzLnJlcXVlc3QoY29uZmlnKSksIHJldHJ5RGVsYXkpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9kaXNwYXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBbUJBLHFEQUFvRDtBQUNwRCx3REFBMEI7QUFFMUIsSUFBTSxLQUFLLEdBQUcsSUFBQSxlQUFLLEVBQUMscUJBQXFCLENBQUMsQ0FBQztBQUUzQzs7Ozs7R0FLRztBQUNIO0lBR0U7Ozs7O09BS0c7SUFDSCxrQkFBWSxPQUF5QjtRQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLDBCQUFPLEdBQWQsVUFBZSxNQUF3QjtRQUF2QyxpQkFPQztRQU5DLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDdEMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQUMsTUFBc0I7WUFDL0QsS0FBSyxDQUFDLHdCQUF3QixFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekQsT0FBTyxLQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSyx3QkFBSyxHQUFiLFVBQWMsR0FBbUI7UUFBakMsaUJBaUNDO1FBaENDLElBQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFFMUIsSUFBSSxDQUFDLElBQUEseUJBQVcsRUFBQyxHQUFHLENBQUMsRUFBRTtZQUNyQixLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztZQUN6RCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUI7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNqQixLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztZQUNqRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUI7UUFFRCxJQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksUUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFM0YsSUFBSSxXQUFXLENBQUMsS0FBSyxJQUFJLFdBQVcsQ0FBQyxLQUFLLElBQUksUUFBUSxFQUFFO1lBQ3RELEtBQUssQ0FBQyw0Q0FBNEMsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM5RCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUI7UUFFRCxJQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxTQUFBLFdBQVcsQ0FBQyxXQUFXLEVBQUksUUFBUSxDQUFBLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFL0csTUFBTSxDQUFDLE9BQU8seUNBQ1QsTUFBTSxDQUFDLE9BQU8sS0FDakIsVUFBVSxFQUFFLFFBQVEsR0FBRyxDQUFDLEdBQ3pCLENBQUM7UUFFRixLQUFLLENBQUMsc0NBQStCLE1BQU0sQ0FBQyxHQUFHLHFCQUFXLFFBQVEsaUJBQU8sV0FBVyxDQUFDLEtBQUssdUJBQWEsVUFBVSxDQUFFLENBQUMsQ0FBQztRQUVySCxPQUFPLElBQUksT0FBTyxDQUFhLFVBQUEsT0FBTztZQUNwQyxVQUFVLENBQUMsY0FBTSxPQUFBLE9BQU8sQ0FBQyxLQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQTdCLENBQTZCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0gsZUFBQztBQUFELENBeEVBLEFBd0VDLElBQUE7QUF4RVksNEJBQVEiLCJmaWxlIjoibGliL3JlcXVlc3QvZGlzcGF0Y2guanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBGc1JlcXVlc3RPcHRpb25zLCBGc1Jlc3BvbnNlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBBZGFwdGVySW50ZXJmYWNlIH0gZnJvbSAnLi9hZGFwdGVycy9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRnNSZXF1ZXN0RXJyb3IgfSBmcm9tICcuL2Vycm9yJztcbmltcG9ydCB7IHNob3VsZFJldHJ5IH0gZnJvbSAnLi9oZWxwZXJzL3Nob3VsZFJldHJ5JztcbmltcG9ydCBEZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5cbmNvbnN0IGRlYnVnID0gRGVidWcoJ2ZzOnJlcXVlc3Q6ZGlzcGF0Y2gnKTtcblxuLyoqXG4gKiBSZXF1ZXN0IGRpc3BhdGNoZXJcbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgRGlzcGF0Y2hcbiAqL1xuZXhwb3J0IGNsYXNzIERpc3BhdGNoIHtcbiAgYWRhcHRlcjogQWRhcHRlckludGVyZmFjZTtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBEaXNwYXRjaC5cbiAgICpcbiAgICogQHBhcmFtIHtBZGFwdGVySW50ZXJmYWNlfSBhZGFwdGVyIGh0dHAgfCBYSFIgYWRhcGF0ZXJcbiAgICogQG1lbWJlcm9mIERpc3BhdGNoXG4gICAqL1xuICBjb25zdHJ1Y3RvcihhZGFwdGVyOiBBZGFwdGVySW50ZXJmYWNlKSB7XG4gICAgdGhpcy5hZGFwdGVyID0gYWRhcHRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwYXRjaCByZXF1ZXN0IGFkZGluZyByZXRyeSBwb2xpY3lcbiAgICogQHRvZG8gYWRkIGRhdGEgcHJlcHJvY2Vzb3JcbiAgICpcbiAgICogQHBhcmFtIHtGc1JlcXVlc3RPcHRpb25zfSBjb25maWdcbiAgICogQHJldHVybnMge1Byb21pc2U8RnNSZXNwb25zZT59XG4gICAqIEBtZW1iZXJvZiBEaXNwYXRjaFxuICAgKi9cbiAgcHVibGljIHJlcXVlc3QoY29uZmlnOiBGc1JlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxGc1Jlc3BvbnNlPiB7XG4gICAgY29uZmlnLmhlYWRlcnMgPSBjb25maWcuaGVhZGVycyB8fCB7fTtcbiAgICBkZWJ1ZygnRGlzcGF0Y2hpbmcgcmVxdWVzdCAlTycsIGNvbmZpZyk7XG4gICAgcmV0dXJuIHRoaXMuYWRhcHRlci5yZXF1ZXN0KGNvbmZpZykuY2F0Y2goKHJlYXNvbjogRnNSZXF1ZXN0RXJyb3IpID0+IHtcbiAgICAgIGRlYnVnKCdSZXF1ZXN0IGVycm9yIFwiJXNcIjogJU8nLCByZWFzb24sIHJlYXNvbi5yZXNwb25zZSk7XG4gICAgICByZXR1cm4gdGhpcy5yZXRyeShyZWFzb24pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcXVlc3QgcmV0cmllclxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0ZzUmVxdWVzdEVycm9yfSBlcnJcbiAgICogQHJldHVybnNcbiAgICogQG1lbWJlcm9mIERpc3BhdGNoXG4gICAqL1xuICBwcml2YXRlIHJldHJ5KGVycjogRnNSZXF1ZXN0RXJyb3IpIHtcbiAgICBjb25zdCBjb25maWcgPSBlcnIuY29uZmlnO1xuXG4gICAgaWYgKCFzaG91bGRSZXRyeShlcnIpKSB7XG4gICAgICBkZWJ1ZygnW1JldHJ5XSBSZXF1ZXN0IGVycm9yIGlzIG5vdCByZXRyaWFibGUuIEV4aXRpbmcnKTtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnIpO1xuICAgIH1cblxuICAgIGlmICghY29uZmlnLnJldHJ5KSB7XG4gICAgICBkZWJ1ZygnW1JldHJ5XSBSZXRyeSBjb25maWcgbm90IGZvdW5kLiBFeGl0aW5nJyk7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXRyeUNvbmZpZyA9IGNvbmZpZy5yZXRyeTtcbiAgICBsZXQgYXR0ZW1wdHMgPSBjb25maWcucnVudGltZSAmJiBjb25maWcucnVudGltZS5yZXRyeUNvdW50ID8gY29uZmlnLnJ1bnRpbWUucmV0cnlDb3VudCA6IDA7XG5cbiAgICBpZiAocmV0cnlDb25maWcucmV0cnkgJiYgcmV0cnlDb25maWcucmV0cnkgPD0gYXR0ZW1wdHMpIHtcbiAgICAgIGRlYnVnKCdbUmV0cnldIFJldHJ5IGF0dGVtcHRzIHJlYWNoZWQgJWQuIEV4aXRpbmcnLCBhdHRlbXB0cyk7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXRyeURlbGF5ID0gTWF0aC5tYXgoTWF0aC5taW4ocmV0cnlDb25maWcucmV0cnlNYXhUaW1lLCByZXRyeUNvbmZpZy5yZXRyeUZhY3RvciAqKiBhdHRlbXB0cyAqIDEwMDApLCAxKTtcblxuICAgIGNvbmZpZy5ydW50aW1lID0ge1xuICAgICAgLi4uY29uZmlnLnJ1bnRpbWUsXG4gICAgICByZXRyeUNvdW50OiBhdHRlbXB0cyArIDEsXG4gICAgfTtcblxuICAgIGRlYnVnKGBbUmV0cnldIFJldHJ5aW5nIHJlcXVlc3QgdG8gJHtjb25maWcudXJsfSwgY291bnQgJHthdHRlbXB0c30gb2YgJHtyZXRyeUNvbmZpZy5yZXRyeX0gLSBEZWxheTogJHtyZXRyeURlbGF5fWApO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPEZzUmVzcG9uc2U+KHJlc29sdmUgPT4ge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiByZXNvbHZlKHRoaXMucmVxdWVzdChjb25maWcpKSwgcmV0cnlEZWxheSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==

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

var tslib_1 = require("tslib");
var nock = require("nock");
var nock_1 = tslib_1.__importDefault(require("nock"));
var dispatch_1 = require("./dispatch");

@@ -29,3 +29,3 @@ var http_1 = require("./adapters/http");

afterEach(function () {
nock.cleanAll();
nock_1.default.cleanAll();
});

@@ -51,3 +51,9 @@ var adapter = new http_1.HttpAdapter();

case 0:
spyOn(adapter, 'request').and.callFake(function () { return Promise.resolve(); });
jest.spyOn(adapter, 'request').mockImplementation(function () { return Promise.resolve({
status: 200,
headers: {},
data: {},
config: {},
statusText: ''
}); });
dispatch = new dispatch_1.Dispatch(adapter);

@@ -66,3 +72,3 @@ req = { url: url, method: types_1.FsHttpMethod.GET, headers: {} };

it('should return config base', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var error, dispatch, request;
var error, dispatch;
return tslib_1.__generator(this, function (_a) {

@@ -72,7 +78,7 @@ switch (_a.label) {

error = new error_1.FsRequestError('error msg', configBase, fsResponseBase);
spyOn(adapter, 'request').and.callFake(function () { return Promise.reject(error); });
jest.spyOn(adapter, 'request').mockImplementation(function () { return Promise.reject(error); });
dispatch = new dispatch_1.Dispatch(adapter);
return [4 /*yield*/, dispatch.request(configBase).catch(function (err) { return err; })];
case 1:
request = _a.sent();
_a.sent();
expect(adapter.request).toHaveBeenCalledWith(configBase);

@@ -90,3 +96,3 @@ return [2 /*return*/];

error = new error_1.FsRequestError('error msg', configBase, fsResponseBase, error_1.FsRequestErrorCode.NETWORK);
spyOn(adapter, 'request').and.callFake(function () { return Promise.reject(error); });
jest.spyOn(adapter, 'request').mockImplementation(function () { return Promise.reject(error); });
dispatch = new dispatch_1.Dispatch(adapter);

@@ -116,3 +122,3 @@ return [4 /*yield*/, dispatch.request(configBase).catch(function (err) { return err; })];

error = new error_1.FsRequestError('error msg', config, fsResponseBase, error_1.FsRequestErrorCode.NETWORK);
spyOn(adapter, 'request').and.callFake(function () { return Promise.reject(error); });
jest.spyOn(adapter, 'request').mockImplementation(function () { return Promise.reject(error); });
dispatch = new dispatch_1.Dispatch(adapter);

@@ -130,2 +136,2 @@ return [4 /*yield*/, dispatch.request(config).catch(function (err) { return err; })];

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9kaXNwYXRjaC5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7OztBQUVILDJCQUE2QjtBQUM3Qix1Q0FBc0M7QUFDdEMsd0NBQThDO0FBQzlDLGlDQUF1QztBQUN2QyxpQ0FBNkQ7QUFFN0QsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBRTdCLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtJQUMzQixTQUFTLENBQUM7UUFDUixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFNLE9BQU8sR0FBRyxJQUFJLGtCQUFXLEVBQUUsQ0FBQztJQUNsQyxJQUFNLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQztJQUNwQyxJQUFNLFVBQVUsR0FBRztRQUNqQixHQUFHLEVBQUUsR0FBRztRQUNSLE1BQU0sRUFBRSxvQkFBWSxDQUFDLEdBQUc7S0FDekIsQ0FBQztJQUNGLElBQUksY0FBYyxHQUFHO1FBQ25CLE1BQU0sRUFBRSxHQUFHO1FBQ1gsVUFBVSxFQUFFLE9BQU87UUFDbkIsT0FBTyxFQUFFLElBQUk7UUFDYixJQUFJLEVBQUUsSUFBSTtRQUNWLE1BQU0sRUFBRSxVQUFVO0tBQ25CLENBQUM7SUFFRixRQUFRLENBQUMsa0JBQWtCLEVBQUU7UUFDM0IsRUFBRSxDQUFDLG1CQUFtQixFQUFFOzs7Ozt3QkFDdEIsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQWpCLENBQWlCLENBQUMsQ0FBQzt3QkFDMUQsUUFBUSxHQUFHLElBQUksbUJBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQzt3QkFDakMsR0FBRyxHQUFHLEVBQUUsR0FBRyxLQUFBLEVBQUUsTUFBTSxFQUFFLG9CQUFZLENBQUMsR0FBRyxFQUFFLE9B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T0FBQSxHQUFHLEVBQUgsQ0FBRyxDQUFDLEVBQUE7O3dCQUFoRCxTQUFnRCxDQUFDO3dCQUNqRCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDOzs7O2FBQ3RELENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL3JlcXVlc3QvZGlzcGF0Y2guc3BlYy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIG5vY2sgZnJvbSAnbm9jayc7XG5pbXBvcnQgeyBEaXNwYXRjaCB9IGZyb20gJy4vZGlzcGF0Y2gnO1xuaW1wb3J0IHsgSHR0cEFkYXB0ZXIgfSBmcm9tICcuL2FkYXB0ZXJzL2h0dHAnO1xuaW1wb3J0IHsgRnNIdHRwTWV0aG9kIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBGc1JlcXVlc3RFcnJvciwgRnNSZXF1ZXN0RXJyb3JDb2RlIH0gZnJvbSAnLi9lcnJvcic7XG5cbmplc3QubW9jaygnLi9hZGFwdGVycy9odHRwJyk7XG5cbmRlc2NyaWJlKCdSZXF1ZXN0L0Rpc3BhdGNoJywgKCkgPT4ge1xuICBhZnRlckVhY2goKCkgPT4ge1xuICAgIG5vY2suY2xlYW5BbGwoKTtcbiAgfSk7XG5cbiAgY29uc3QgYWRhcHRlciA9IG5ldyBIdHRwQWRhcHRlcigpO1xuICBjb25zdCB1cmwgPSAnaHR0cHM6Ly9maWxlc3RhY2suY29tJztcbiAgY29uc3QgY29uZmlnQmFzZSA9IHtcbiAgICB1cmw6IHVybCxcbiAgICBtZXRob2Q6IEZzSHR0cE1ldGhvZC5HRVQsXG4gIH07XG4gIGxldCBmc1Jlc3BvbnNlQmFzZSA9IHtcbiAgICBzdGF0dXM6IDQwMCxcbiAgICBzdGF0dXNUZXh0OiAnZXJyb3InLFxuICAgIGhlYWRlcnM6IG51bGwsXG4gICAgZGF0YTogbnVsbCxcbiAgICBjb25maWc6IGNvbmZpZ0Jhc2UsXG4gIH07XG5cbiAgZGVzY3JpYmUoJ2Rpc3BhdGNoIHJlcXVlc3QnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gcmVxJywgYXN5bmMgKCkgPT4ge1xuICAgICAgc3B5T24oYWRhcHRlciwgJ3JlcXVlc3QnKS5hbmQuY2FsbEZha2UoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCkpO1xuICAgICAgY29uc3QgZGlzcGF0Y2ggPSBuZXcgRGlzcGF0Y2goYWRhcHRlcik7XG4gICAgICBjb25zdCByZXEgPSB7IHVybCwgbWV0aG9kOiBGc0h0dHBNZXRob2QuR0VULCBoZWFkZXJzOiB7fSB9O1xuICAgICAgYXdhaXQgZGlzcGF0Y2gucmVxdWVzdChyZXEpO1xuICAgICAgZXhwZWN0KGFkYXB0ZXIucmVxdWVzdCkudG9IYXZlQmVlbkNhbGxlZFdpdGgocmVxKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2Rpc3BhdGNoIHJlcXVlc3QgY2F0Y2gnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gY29uZmlnIGJhc2UnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBlcnJvciA9IG5ldyBGc1JlcXVlc3RFcnJvcignZXJyb3IgbXNnJywgY29uZmlnQmFzZSwgZnNSZXNwb25zZUJhc2UpO1xuICAgICAgc3B5T24oYWRhcHRlciwgJ3JlcXVlc3QnKS5hbmQuY2FsbEZha2UoKCkgPT4gUHJvbWlzZS5yZWplY3QoZXJyb3IpKTtcbiAgICAgIGNvbnN0IGRpc3BhdGNoID0gbmV3IERpc3BhdGNoKGFkYXB0ZXIpO1xuICAgICAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IGRpc3BhdGNoLnJlcXVlc3QoY29uZmlnQmFzZSkuY2F0Y2goZXJyID0+IGVycik7XG4gICAgICBleHBlY3QoYWRhcHRlci5yZXF1ZXN0KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChjb25maWdCYXNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGNvbmZpZyBiYXNlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgZnNSZXNwb25zZUJhc2Uuc3RhdHVzID0gNTAwO1xuICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRnNSZXF1ZXN0RXJyb3IoJ2Vycm9yIG1zZycsIGNvbmZpZ0Jhc2UsIGZzUmVzcG9uc2VCYXNlLCBGc1JlcXVlc3RFcnJvckNvZGUuTkVUV09SSyk7XG4gICAgICBzcHlPbihhZGFwdGVyLCAncmVxdWVzdCcpLmFuZC5jYWxsRmFrZSgoKSA9PiBQcm9taXNlLnJlamVjdChlcnJvcikpO1xuICAgICAgY29uc3QgZGlzcGF0Y2ggPSBuZXcgRGlzcGF0Y2goYWRhcHRlcik7XG4gICAgICBhd2FpdCBkaXNwYXRjaC5yZXF1ZXN0KGNvbmZpZ0Jhc2UpLmNhdGNoKGVyciA9PiBlcnIpO1xuICAgICAgZXhwZWN0KGFkYXB0ZXIucmVxdWVzdCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoY29uZmlnQmFzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBjb25maWcnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICAgIHVybDogdXJsLFxuICAgICAgICBtZXRob2Q6IEZzSHR0cE1ldGhvZC5HRVQsXG4gICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgICByZXRyeToge1xuICAgICAgICAgIHJldHJ5OiAzLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIGZzUmVzcG9uc2VCYXNlLnN0YXR1cyA9IDUwMDtcbiAgICAgIGNvbnN0IGVycm9yID0gbmV3IEZzUmVxdWVzdEVycm9yKCdlcnJvciBtc2cnLCBjb25maWcsIGZzUmVzcG9uc2VCYXNlLCBGc1JlcXVlc3RFcnJvckNvZGUuTkVUV09SSyk7XG4gICAgICBzcHlPbihhZGFwdGVyLCAncmVxdWVzdCcpLmFuZC5jYWxsRmFrZSgoKSA9PiBQcm9taXNlLnJlamVjdChlcnJvcikpO1xuICAgICAgY29uc3QgZGlzcGF0Y2ggPSBuZXcgRGlzcGF0Y2goYWRhcHRlcik7XG4gICAgICBhd2FpdCBkaXNwYXRjaC5yZXF1ZXN0KGNvbmZpZykuY2F0Y2goZXJyID0+IGVycik7XG4gICAgICBleHBlY3QoYWRhcHRlci5yZXF1ZXN0KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChjb25maWcpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9kaXNwYXRjaC5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7OztBQUVILHNEQUF3QjtBQUN4Qix1Q0FBc0M7QUFDdEMsd0NBQThDO0FBQzlDLGlDQUF1QztBQUN2QyxpQ0FBNkQ7QUFFN0QsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBRTdCLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtJQUMzQixTQUFTLENBQUM7UUFDUixjQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFNLE9BQU8sR0FBRyxJQUFJLGtCQUFXLEVBQUUsQ0FBQztJQUNsQyxJQUFNLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQztJQUNwQyxJQUFNLFVBQVUsR0FBRztRQUNqQixHQUFHLEVBQUUsR0FBRztRQUNSLE1BQU0sRUFBRSxvQkFBWSxDQUFDLEdBQUc7S0FDekIsQ0FBQztJQUNGLElBQUksY0FBYyxHQUFHO1FBQ25CLE1BQU0sRUFBRSxHQUFHO1FBQ1gsVUFBVSxFQUFFLE9BQU87UUFDbkIsT0FBTyxFQUFFLElBQUk7UUFDYixJQUFJLEVBQUUsSUFBSTtRQUNWLE1BQU0sRUFBRSxVQUFVO0tBQ25CLENBQUM7SUFFRixRQUFRLENBQUMsa0JBQWtCLEVBQUU7UUFDM0IsRUFBRSxDQUFDLG1CQUFtQixFQUFFOzs7Ozt3QkFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsa0JBQWtCLENBQUMsY0FBTSxPQUFBLE9BQU8sQ0FBQyxPQUFPLENBQUM7NEJBQ3RFLE1BQU0sRUFBRSxHQUFHOzRCQUNYLE9BQU8sRUFBRSxFQUFFOzRCQUNYLElBQUksRUFBRSxFQUFFOzRCQUNSLE1BQU0sRUFBRSxFQUFFOzRCQUNWLFVBQVUsRUFBRSxFQUFFO3lCQUNmLENBQUMsRUFOc0QsQ0FNdEQsQ0FBQyxDQUFDO3dCQUNFLFFBQVEsR0FBRyxJQUFJLG1CQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQ2pDLEdBQUcsR0FBRyxFQUFFLEdBQUcsS0FBQSxFQUFFLE1BQU0sRUFBRSxvQkFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7d0JBQzNELHFCQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUE7O3dCQUEzQixTQUEyQixDQUFDO3dCQUM1QixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDOzs7O2FBQ25ELENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLHdCQUF3QixFQUFFO1FBQ2pDLEVBQUUsQ0FBQywyQkFBMkIsRUFBRTs7Ozs7d0JBQ3hCLEtBQUssR0FBRyxJQUFJLHNCQUFjLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQzt3QkFDMUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsa0JBQWtCLENBQUMsY0FBTSxPQUFBLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQXJCLENBQXFCLENBQUMsQ0FBQzt3QkFDekUsUUFBUSxHQUFHLElBQUksbUJBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQzt3QkFDdkMscUJBQU0sUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLEVBQUgsQ0FBRyxDQUFDLEVBQUE7O3dCQUFwRCxTQUFvRCxDQUFDO3dCQUNyRCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDOzs7O2FBQzFELENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywyQkFBMkIsRUFBRTs7Ozs7d0JBQzlCLGNBQWMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO3dCQUN0QixLQUFLLEdBQUcsSUFBSSxzQkFBYyxDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLDBCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUN0RyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFNLE9BQUEsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBckIsQ0FBcUIsQ0FBQyxDQUFDO3dCQUN6RSxRQUFRLEdBQUcsSUFBSSxtQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUN2QyxxQkFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFBLEdBQUcsSUFBSSxPQUFBLEdBQUcsRUFBSCxDQUFHLENBQUMsRUFBQTs7d0JBQXBELFNBQW9ELENBQUM7d0JBQ3JELE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUM7Ozs7YUFDMUQsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHNCQUFzQixFQUFFOzs7Ozt3QkFDbkIsTUFBTSxHQUFHOzRCQUNiLEdBQUcsRUFBRSxHQUFHOzRCQUNSLE1BQU0sRUFBRSxvQkFBWSxDQUFDLEdBQUc7NEJBQ3hCLE9BQU8sRUFBRSxFQUFFOzRCQUNYLEtBQUssRUFBRTtnQ0FDTCxLQUFLLEVBQUUsQ0FBQzs2QkFDVDt5QkFDRixDQUFDO3dCQUNGLGNBQWMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO3dCQUN0QixLQUFLLEdBQUcsSUFBSSxzQkFBYyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLDBCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUNsRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFNLE9BQUEsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBckIsQ0FBcUIsQ0FBQyxDQUFDO3dCQUN6RSxRQUFRLEdBQUcsSUFBSSxtQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUN2QyxxQkFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFBLEdBQUcsSUFBSSxPQUFBLEdBQUcsRUFBSCxDQUFHLENBQUMsRUFBQTs7d0JBQWhELFNBQWdELENBQUM7d0JBQ2pELE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7Ozs7YUFDdEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvcmVxdWVzdC9kaXNwYXRjaC5zcGVjLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IG5vY2sgZnJvbSAnbm9jayc7XG5pbXBvcnQgeyBEaXNwYXRjaCB9IGZyb20gJy4vZGlzcGF0Y2gnO1xuaW1wb3J0IHsgSHR0cEFkYXB0ZXIgfSBmcm9tICcuL2FkYXB0ZXJzL2h0dHAnO1xuaW1wb3J0IHsgRnNIdHRwTWV0aG9kIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBGc1JlcXVlc3RFcnJvciwgRnNSZXF1ZXN0RXJyb3JDb2RlIH0gZnJvbSAnLi9lcnJvcic7XG5cbmplc3QubW9jaygnLi9hZGFwdGVycy9odHRwJyk7XG5cbmRlc2NyaWJlKCdSZXF1ZXN0L0Rpc3BhdGNoJywgKCkgPT4ge1xuICBhZnRlckVhY2goKCkgPT4ge1xuICAgIG5vY2suY2xlYW5BbGwoKTtcbiAgfSk7XG5cbiAgY29uc3QgYWRhcHRlciA9IG5ldyBIdHRwQWRhcHRlcigpO1xuICBjb25zdCB1cmwgPSAnaHR0cHM6Ly9maWxlc3RhY2suY29tJztcbiAgY29uc3QgY29uZmlnQmFzZSA9IHtcbiAgICB1cmw6IHVybCxcbiAgICBtZXRob2Q6IEZzSHR0cE1ldGhvZC5HRVQsXG4gIH07XG4gIGxldCBmc1Jlc3BvbnNlQmFzZSA9IHtcbiAgICBzdGF0dXM6IDQwMCxcbiAgICBzdGF0dXNUZXh0OiAnZXJyb3InLFxuICAgIGhlYWRlcnM6IG51bGwsXG4gICAgZGF0YTogbnVsbCxcbiAgICBjb25maWc6IGNvbmZpZ0Jhc2UsXG4gIH07XG5cbiAgZGVzY3JpYmUoJ2Rpc3BhdGNoIHJlcXVlc3QnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gcmVxJywgYXN5bmMgKCkgPT4ge1xuICAgICAgamVzdC5zcHlPbihhZGFwdGVyLCAncmVxdWVzdCcpLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICBzdGF0dXM6IDIwMCxcbiAgICAgICAgaGVhZGVyczoge30sXG4gICAgICAgIGRhdGE6IHt9LFxuICAgICAgICBjb25maWc6IHt9LFxuICAgICAgICBzdGF0dXNUZXh0OiAnJ1xuICAgICAgfSkpO1xuICAgICAgY29uc3QgZGlzcGF0Y2ggPSBuZXcgRGlzcGF0Y2goYWRhcHRlcik7XG4gICAgICBjb25zdCByZXEgPSB7IHVybCwgbWV0aG9kOiBGc0h0dHBNZXRob2QuR0VULCBoZWFkZXJzOiB7fSB9O1xuICAgICAgYXdhaXQgZGlzcGF0Y2gucmVxdWVzdChyZXEpO1xuICAgICAgZXhwZWN0KGFkYXB0ZXIucmVxdWVzdCkudG9IYXZlQmVlbkNhbGxlZFdpdGgocmVxKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2Rpc3BhdGNoIHJlcXVlc3QgY2F0Y2gnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gY29uZmlnIGJhc2UnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBlcnJvciA9IG5ldyBGc1JlcXVlc3RFcnJvcignZXJyb3IgbXNnJywgY29uZmlnQmFzZSwgZnNSZXNwb25zZUJhc2UpO1xuICAgICAgamVzdC5zcHlPbihhZGFwdGVyLCAncmVxdWVzdCcpLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBQcm9taXNlLnJlamVjdChlcnJvcikpO1xuICAgICAgY29uc3QgZGlzcGF0Y2ggPSBuZXcgRGlzcGF0Y2goYWRhcHRlcik7XG4gICAgICBhd2FpdCBkaXNwYXRjaC5yZXF1ZXN0KGNvbmZpZ0Jhc2UpLmNhdGNoKGVyciA9PiBlcnIpO1xuICAgICAgZXhwZWN0KGFkYXB0ZXIucmVxdWVzdCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoY29uZmlnQmFzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBjb25maWcgYmFzZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGZzUmVzcG9uc2VCYXNlLnN0YXR1cyA9IDUwMDtcbiAgICAgIGNvbnN0IGVycm9yID0gbmV3IEZzUmVxdWVzdEVycm9yKCdlcnJvciBtc2cnLCBjb25maWdCYXNlLCBmc1Jlc3BvbnNlQmFzZSwgRnNSZXF1ZXN0RXJyb3JDb2RlLk5FVFdPUkspO1xuICAgICAgamVzdC5zcHlPbihhZGFwdGVyLCAncmVxdWVzdCcpLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBQcm9taXNlLnJlamVjdChlcnJvcikpO1xuICAgICAgY29uc3QgZGlzcGF0Y2ggPSBuZXcgRGlzcGF0Y2goYWRhcHRlcik7XG4gICAgICBhd2FpdCBkaXNwYXRjaC5yZXF1ZXN0KGNvbmZpZ0Jhc2UpLmNhdGNoKGVyciA9PiBlcnIpO1xuICAgICAgZXhwZWN0KGFkYXB0ZXIucmVxdWVzdCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoY29uZmlnQmFzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBjb25maWcnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICAgIHVybDogdXJsLFxuICAgICAgICBtZXRob2Q6IEZzSHR0cE1ldGhvZC5HRVQsXG4gICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgICByZXRyeToge1xuICAgICAgICAgIHJldHJ5OiAzLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIGZzUmVzcG9uc2VCYXNlLnN0YXR1cyA9IDUwMDtcbiAgICAgIGNvbnN0IGVycm9yID0gbmV3IEZzUmVxdWVzdEVycm9yKCdlcnJvciBtc2cnLCBjb25maWcsIGZzUmVzcG9uc2VCYXNlLCBGc1JlcXVlc3RFcnJvckNvZGUuTkVUV09SSyk7XG4gICAgICBqZXN0LnNweU9uKGFkYXB0ZXIsICdyZXF1ZXN0JykubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IFByb21pc2UucmVqZWN0KGVycm9yKSk7XG4gICAgICBjb25zdCBkaXNwYXRjaCA9IG5ldyBEaXNwYXRjaChhZGFwdGVyKTtcbiAgICAgIGF3YWl0IGRpc3BhdGNoLnJlcXVlc3QoY29uZmlnKS5jYXRjaChlcnIgPT4gZXJyKTtcbiAgICAgIGV4cGVjdChhZGFwdGVyLnJlcXVlc3QpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGNvbmZpZyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FsRequestError = exports.FsRequestErrorCode = void 0;
var tslib_1 = require("tslib");

@@ -60,2 +61,2 @@ /**

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFrQkE7Ozs7O0dBS0c7QUFDSCxJQUFZLGtCQVFYO0FBUkQsV0FBWSxrQkFBa0I7SUFDNUIseUNBQW1CLENBQUE7SUFDbkIseUNBQW1CLENBQUE7SUFDbkIsMENBQW9CLENBQUE7SUFDcEIsdUNBQWlCLENBQUE7SUFDakIseUNBQW1CLENBQUE7SUFDbkIscUNBQWUsQ0FBQTtJQUNmLDJDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFSVyxrQkFBa0IsR0FBbEIsMEJBQWtCLEtBQWxCLDBCQUFrQixRQVE3QjtBQUVEOzs7Ozs7R0FNRztBQUNIO0lBQW9DLDBDQUFLO0lBV3ZDOzs7Ozs7OztPQVFHO0lBQ0gsd0JBQVksT0FBZSxFQUFFLE1BQVcsRUFBRSxRQUFxQixFQUFFLElBQXlCOztRQUExRjtRQUNFLDBCQUEwQjtRQUMxQixrQkFBTSxPQUFPLENBQUMsU0FTZjtRQVBDLEtBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLEtBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLEtBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBRWpCLHdFQUF3RTtRQUN4RSxnREFBZ0Q7UUFDaEQsUUFBUSxDQUFDLEtBQUksRUFBRSxXQUFXLFNBQVMsQ0FBQyxDQUFDOztJQUN2QyxDQUFDO0lBQ0gscUJBQUM7QUFBRCxDQWhDQSxBQWdDQyxDQWhDbUMsS0FBSyxHQWdDeEM7QUFoQ1ksd0NBQWM7QUFrQzNCLFNBQVMsUUFBUSxDQUFDLE1BQWEsRUFBRSxTQUFhO0lBQzVDLElBQU0sY0FBYyxHQUFjLE1BQWMsQ0FBQyxjQUFjLENBQUM7SUFDaEUsMEJBQTBCO0lBQzFCLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBRSxNQUFjLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0FBQy9GLENBQUMiLCJmaWxlIjoibGliL3JlcXVlc3QvZXJyb3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgRnNSZXF1ZXN0T3B0aW9ucywgRnNSZXNwb25zZSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIEZpbGVzdGFjayBlcnJvciBjb2RlcyAoY29tbW9uIGZvciBicm93c2VyIGFuZCBub2RlKVxuICpcbiAqIEBleHBvcnRcbiAqIEBlbnVtIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBlbnVtIEZzUmVxdWVzdEVycm9yQ29kZSB7XG4gIEFCT1JURUQgPSAnQUJPUlRFRCcsXG4gIE5FVFdPUksgPSAnTkVUV09SSycsXG4gIFRJTUVPVVQgPSAnVElNRURPVVQnLFxuICBTRVJWRVIgPSAnU0VSVkVSJyxcbiAgUkVRVUVTVCA9ICdSRVFVRVNUJyxcbiAgT1RIRVIgPSAnT1RIRVInLFxuICBSRURJUkVDVCA9ICdSRURJUkVDVCcsXG59XG5cbi8qKlxuICogQ3VzdG9tIEZpbGVzdGFjayBSZXF1ZXN0IGVycm9yIGNsYXNzXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIEZzUmVxdWVzdEVycm9yXG4gKiBAZXh0ZW5kcyB7RXJyb3J9XG4gKi9cbmV4cG9ydCBjbGFzcyBGc1JlcXVlc3RFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgLyoqXG4gICAqIEVycm9yIGRldGFpbHMsIGllIHZhbGlkYXRpb24gZXJyb3JzXG4gICAqXG4gICAqIEB0eXBlIHsqfVxuICAgKiBAbWVtYmVyb2YgRmlsZXN0YWNrRXJyb3JcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjb25maWc6IEZzUmVxdWVzdE9wdGlvbnM7XG4gIHB1YmxpYyByZWFkb25seSByZXNwb25zZTogRnNSZXNwb25zZTtcbiAgcHVibGljIHJlYWRvbmx5IGNvZGU6IEZzUmVxdWVzdEVycm9yQ29kZTtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBGc1JlcXVlc3RFcnJvci5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAgICogQHBhcmFtIHsqfSBjb25maWdcbiAgICogQHBhcmFtIHtGc1Jlc3BvbnNlfSBbcmVzcG9uc2VdXG4gICAqIEBwYXJhbSB7RnNSZXF1ZXN0RXJyb3JDb2RlfSBbY29kZV1cbiAgICogQG1lbWJlcm9mIEZzUmVxdWVzdEVycm9yXG4gICAqL1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIGNvbmZpZzogYW55LCByZXNwb25zZT86IEZzUmVzcG9uc2UsIGNvZGU/OiBGc1JlcXVlc3RFcnJvckNvZGUpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuXG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgdGhpcy5yZXNwb25zZSA9IHJlc3BvbnNlO1xuICAgIHRoaXMuY29kZSA9IGNvZGU7XG5cbiAgICAvLyBjb25zdCBjYXB0dXJlU3RhY2tUcmFjZTogRnVuY3Rpb24gPSAoRXJyb3IgYXMgYW55KS5jYXB0dXJlU3RhY2tUcmFjZTtcbiAgICAvLyBjYXB0dXJlU3RhY2tUcmFjZSAmJiBjYXB0dXJlU3RhY2tUcmFjZSh0aGlzKTtcbiAgICBmaXhQcm90byh0aGlzLCBuZXcudGFyZ2V0LnByb3RvdHlwZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZml4UHJvdG8odGFyZ2V0OiBFcnJvciwgcHJvdG90eXBlOiB7fSkge1xuICBjb25zdCBzZXRQcm90b3R5cGVPZjogRnVuY3Rpb24gPSAoT2JqZWN0IGFzIGFueSkuc2V0UHJvdG90eXBlT2Y7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHNldFByb3RvdHlwZU9mID8gc2V0UHJvdG90eXBlT2YodGFyZ2V0LCBwcm90b3R5cGUpIDogKCh0YXJnZXQgYXMgYW55KS5fX3Byb3RvX18gPSBwcm90b3R5cGUpO1xufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBa0JBOzs7OztHQUtHO0FBQ0gsSUFBWSxrQkFRWDtBQVJELFdBQVksa0JBQWtCO0lBQzVCLHlDQUFtQixDQUFBO0lBQ25CLHlDQUFtQixDQUFBO0lBQ25CLDBDQUFvQixDQUFBO0lBQ3BCLHVDQUFpQixDQUFBO0lBQ2pCLHlDQUFtQixDQUFBO0lBQ25CLHFDQUFlLENBQUE7SUFDZiwyQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBUlcsa0JBQWtCLEdBQWxCLDBCQUFrQixLQUFsQiwwQkFBa0IsUUFRN0I7QUFFRDs7Ozs7O0dBTUc7QUFDSDtJQUFvQywwQ0FBSztJQVd2Qzs7Ozs7Ozs7T0FRRztJQUNILHdCQUFZLE9BQWUsRUFBRSxNQUFXLEVBQUUsUUFBcUIsRUFBRSxJQUF5Qjs7UUFBMUY7UUFDRSwwQkFBMEI7UUFDMUIsa0JBQU0sT0FBTyxDQUFDLFNBU2Y7UUFQQyxLQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixLQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixLQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUVqQix3RUFBd0U7UUFDeEUsZ0RBQWdEO1FBQ2hELFFBQVEsQ0FBQyxLQUFJLEVBQUUsV0FBVyxTQUFTLENBQUMsQ0FBQzs7SUFDdkMsQ0FBQztJQUNILHFCQUFDO0FBQUQsQ0FoQ0EsQUFnQ0MsQ0FoQ21DLEtBQUssR0FnQ3hDO0FBaENZLHdDQUFjO0FBa0MzQixTQUFTLFFBQVEsQ0FBQyxNQUFhLEVBQUUsU0FBYTtJQUM1QyxJQUFNLGNBQWMsR0FBYyxNQUFjLENBQUMsY0FBYyxDQUFDO0lBQ2hFLDBCQUEwQjtJQUMxQixjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUUsTUFBYyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQztBQUMvRixDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2Vycm9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEZzUmVxdWVzdE9wdGlvbnMsIEZzUmVzcG9uc2UgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBGaWxlc3RhY2sgZXJyb3IgY29kZXMgKGNvbW1vbiBmb3IgYnJvd3NlciBhbmQgbm9kZSlcbiAqXG4gKiBAZXhwb3J0XG4gKiBAZW51bSB7bnVtYmVyfVxuICovXG5leHBvcnQgZW51bSBGc1JlcXVlc3RFcnJvckNvZGUge1xuICBBQk9SVEVEID0gJ0FCT1JURUQnLFxuICBORVRXT1JLID0gJ05FVFdPUksnLFxuICBUSU1FT1VUID0gJ1RJTUVET1VUJyxcbiAgU0VSVkVSID0gJ1NFUlZFUicsXG4gIFJFUVVFU1QgPSAnUkVRVUVTVCcsXG4gIE9USEVSID0gJ09USEVSJyxcbiAgUkVESVJFQ1QgPSAnUkVESVJFQ1QnLFxufVxuXG4vKipcbiAqIEN1c3RvbSBGaWxlc3RhY2sgUmVxdWVzdCBlcnJvciBjbGFzc1xuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBGc1JlcXVlc3RFcnJvclxuICogQGV4dGVuZHMge0Vycm9yfVxuICovXG5leHBvcnQgY2xhc3MgRnNSZXF1ZXN0RXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIC8qKlxuICAgKiBFcnJvciBkZXRhaWxzLCBpZSB2YWxpZGF0aW9uIGVycm9yc1xuICAgKlxuICAgKiBAdHlwZSB7Kn1cbiAgICogQG1lbWJlcm9mIEZpbGVzdGFja0Vycm9yXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY29uZmlnOiBGc1JlcXVlc3RPcHRpb25zO1xuICBwdWJsaWMgcmVhZG9ubHkgcmVzcG9uc2U6IEZzUmVzcG9uc2U7XG4gIHB1YmxpYyByZWFkb25seSBjb2RlOiBGc1JlcXVlc3RFcnJvckNvZGU7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgRnNSZXF1ZXN0RXJyb3IuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gICAqIEBwYXJhbSB7Kn0gY29uZmlnXG4gICAqIEBwYXJhbSB7RnNSZXNwb25zZX0gW3Jlc3BvbnNlXVxuICAgKiBAcGFyYW0ge0ZzUmVxdWVzdEVycm9yQ29kZX0gW2NvZGVdXG4gICAqIEBtZW1iZXJvZiBGc1JlcXVlc3RFcnJvclxuICAgKi9cbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBjb25maWc6IGFueSwgcmVzcG9uc2U/OiBGc1Jlc3BvbnNlLCBjb2RlPzogRnNSZXF1ZXN0RXJyb3JDb2RlKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBzdXBlcihtZXNzYWdlKTtcblxuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xuICAgIHRoaXMucmVzcG9uc2UgPSByZXNwb25zZTtcbiAgICB0aGlzLmNvZGUgPSBjb2RlO1xuXG4gICAgLy8gY29uc3QgY2FwdHVyZVN0YWNrVHJhY2U6IEZ1bmN0aW9uID0gKEVycm9yIGFzIGFueSkuY2FwdHVyZVN0YWNrVHJhY2U7XG4gICAgLy8gY2FwdHVyZVN0YWNrVHJhY2UgJiYgY2FwdHVyZVN0YWNrVHJhY2UodGhpcyk7XG4gICAgZml4UHJvdG8odGhpcywgbmV3LnRhcmdldC5wcm90b3R5cGUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZpeFByb3RvKHRhcmdldDogRXJyb3IsIHByb3RvdHlwZToge30pIHtcbiAgY29uc3Qgc2V0UHJvdG90eXBlT2Y6IEZ1bmN0aW9uID0gKE9iamVjdCBhcyBhbnkpLnNldFByb3RvdHlwZU9mO1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBzZXRQcm90b3R5cGVPZiA/IHNldFByb3RvdHlwZU9mKHRhcmdldCwgcHJvdG90eXBlKSA6ICgodGFyZ2V0IGFzIGFueSkuX19wcm90b19fID0gcHJvdG90eXBlKTtcbn1cbiJdfQ==

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.remove = exports.read = exports.write = void 0;
/**

@@ -30,3 +31,3 @@ * Save cookie in browser

*/
exports.write = function (name, value, expires, path, domain, secure) {
var write = function (name, value, expires, path, domain, secure) {
var cookie = [];

@@ -48,2 +49,3 @@ cookie.push(name + '=' + encodeURIComponent(value));

};
exports.write = write;
/**

@@ -54,6 +56,7 @@ * Read cookie from browser with given name

*/
exports.read = function (name) {
var read = function (name) {
var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
return (match ? decodeURIComponent(match[3]) : null);
};
exports.read = read;
/**

@@ -64,6 +67,7 @@ * Clear cookie by name

*/
exports.remove = function (name) {
exports.write(name, '', Date.now() - 86400000);
var remove = function (name) {
(0, exports.write)(name, '', Date.now() - 86400000);
};
exports.remove = remove;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL2Nvb2tpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFFRjs7Ozs7Ozs7O0dBU0c7QUFDUyxRQUFBLEtBQUssR0FBRyxVQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsT0FBZ0IsRUFBRSxJQUFhLEVBQUUsTUFBZSxFQUFFLE1BQWdCO0lBQ25ILElBQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNsQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUVwRCxJQUFJLE9BQU8sRUFBRTtRQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7S0FDM0Q7SUFFRCxJQUFJLElBQUksRUFBRTtRQUNSLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDO0tBQzdCO0lBRUQsSUFBSSxNQUFNLEVBQUU7UUFDVixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsQ0FBQztLQUNqQztJQUVELElBQUksTUFBTSxFQUFFO1FBQ1YsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUN2QjtJQUVELFFBQVEsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUM7QUFFRjs7OztHQUlHO0FBQ1UsUUFBQSxJQUFJLEdBQUcsVUFBQyxJQUFZO0lBQy9CLElBQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNuRixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNVLFFBQUEsTUFBTSxHQUFHLFVBQUMsSUFBSTtJQUN6QixhQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUM7QUFDekMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2hlbHBlcnMvY29va2llcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuIC8qKlxuICAqIFNhdmUgY29va2llIGluIGJyb3dzZXJcbiAgKlxuICAqIEBwYXJhbSBuYW1lXG4gICogQHBhcmFtIHZhbHVlXG4gICogQHBhcmFtIGV4cGlyZXNcbiAgKiBAcGFyYW0gcGF0aFxuICAqIEBwYXJhbSBkb21haW5cbiAgKiBAcGFyYW0gc2VjdXJlXG4gICovXG5leHBvcnQgY29uc3Qgd3JpdGUgPSAobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBleHBpcmVzPzogbnVtYmVyLCBwYXRoPzogc3RyaW5nLCBkb21haW4/OiBzdHJpbmcsIHNlY3VyZT86IGJvb2xlYW4pID0+IHtcbiAgY29uc3QgY29va2llID0gW107XG4gIGNvb2tpZS5wdXNoKG5hbWUgKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpKTtcblxuICBpZiAoZXhwaXJlcykge1xuICAgIGNvb2tpZS5wdXNoKCdleHBpcmVzPScgKyBuZXcgRGF0ZShleHBpcmVzKS50b1VUQ1N0cmluZygpKTtcbiAgfVxuXG4gIGlmIChwYXRoKSB7XG4gICAgY29va2llLnB1c2goJ3BhdGg9JyArIHBhdGgpO1xuICB9XG5cbiAgaWYgKGRvbWFpbikge1xuICAgIGNvb2tpZS5wdXNoKCdkb21haW49JyArIGRvbWFpbik7XG4gIH1cblxuICBpZiAoc2VjdXJlKSB7XG4gICAgY29va2llLnB1c2goJ3NlY3VyZScpO1xuICB9XG5cbiAgZG9jdW1lbnQuY29va2llID0gY29va2llLmpvaW4oJzsgJyk7XG59O1xuXG4vKipcbiAqIFJlYWQgY29va2llIGZyb20gYnJvd3NlciB3aXRoIGdpdmVuIG5hbWVcbiAqXG4gKiBAcGFyYW0gbmFtZVxuICovXG5leHBvcnQgY29uc3QgcmVhZCA9IChuYW1lOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgbWF0Y2ggPSBkb2N1bWVudC5jb29raWUubWF0Y2gobmV3IFJlZ0V4cCgnKF58O1xcXFxzKikoJyArIG5hbWUgKyAnKT0oW147XSopJykpO1xuICByZXR1cm4gKG1hdGNoID8gZGVjb2RlVVJJQ29tcG9uZW50KG1hdGNoWzNdKSA6IG51bGwpO1xufTtcblxuLyoqXG4gKiBDbGVhciBjb29raWUgYnkgbmFtZVxuICpcbiAqIEBwYXJhbSBuYW1lXG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmUgPSAobmFtZSkgPT4ge1xuICB3cml0ZShuYW1lLCAnJywgRGF0ZS5ub3coKSAtIDg2NDAwMDAwKTtcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL2Nvb2tpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7O0FBRUY7Ozs7Ozs7OztHQVNHO0FBQ0csSUFBTSxLQUFLLEdBQUcsVUFBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLE9BQWdCLEVBQUUsSUFBYSxFQUFFLE1BQWUsRUFBRSxNQUFnQjtJQUNuSCxJQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDbEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFFcEQsSUFBSSxPQUFPLEVBQUU7UUFDWCxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0tBQzNEO0lBRUQsSUFBSSxJQUFJLEVBQUU7UUFDUixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQztLQUM3QjtJQUVELElBQUksTUFBTSxFQUFFO1FBQ1YsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLENBQUM7S0FDakM7SUFFRCxJQUFJLE1BQU0sRUFBRTtRQUNWLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDdkI7SUFFRCxRQUFRLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDO0FBckJXLFFBQUEsS0FBSyxTQXFCaEI7QUFFRjs7OztHQUlHO0FBQ0ksSUFBTSxJQUFJLEdBQUcsVUFBQyxJQUFZO0lBQy9CLElBQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNuRixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDO0FBSFcsUUFBQSxJQUFJLFFBR2Y7QUFFRjs7OztHQUlHO0FBQ0ksSUFBTSxNQUFNLEdBQUcsVUFBQyxJQUFJO0lBQ3pCLElBQUEsYUFBSyxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQztBQUZXLFFBQUEsTUFBTSxVQUVqQiIsImZpbGUiOiJsaWIvcmVxdWVzdC9oZWxwZXJzL2Nvb2tpZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbiAvKipcbiAgKiBTYXZlIGNvb2tpZSBpbiBicm93c2VyXG4gICpcbiAgKiBAcGFyYW0gbmFtZVxuICAqIEBwYXJhbSB2YWx1ZVxuICAqIEBwYXJhbSBleHBpcmVzXG4gICogQHBhcmFtIHBhdGhcbiAgKiBAcGFyYW0gZG9tYWluXG4gICogQHBhcmFtIHNlY3VyZVxuICAqL1xuZXhwb3J0IGNvbnN0IHdyaXRlID0gKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZywgZXhwaXJlcz86IG51bWJlciwgcGF0aD86IHN0cmluZywgZG9tYWluPzogc3RyaW5nLCBzZWN1cmU/OiBib29sZWFuKSA9PiB7XG4gIGNvbnN0IGNvb2tpZSA9IFtdO1xuICBjb29raWUucHVzaChuYW1lICsgJz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKSk7XG5cbiAgaWYgKGV4cGlyZXMpIHtcbiAgICBjb29raWUucHVzaCgnZXhwaXJlcz0nICsgbmV3IERhdGUoZXhwaXJlcykudG9VVENTdHJpbmcoKSk7XG4gIH1cblxuICBpZiAocGF0aCkge1xuICAgIGNvb2tpZS5wdXNoKCdwYXRoPScgKyBwYXRoKTtcbiAgfVxuXG4gIGlmIChkb21haW4pIHtcbiAgICBjb29raWUucHVzaCgnZG9tYWluPScgKyBkb21haW4pO1xuICB9XG5cbiAgaWYgKHNlY3VyZSkge1xuICAgIGNvb2tpZS5wdXNoKCdzZWN1cmUnKTtcbiAgfVxuXG4gIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZS5qb2luKCc7ICcpO1xufTtcblxuLyoqXG4gKiBSZWFkIGNvb2tpZSBmcm9tIGJyb3dzZXIgd2l0aCBnaXZlbiBuYW1lXG4gKlxuICogQHBhcmFtIG5hbWVcbiAqL1xuZXhwb3J0IGNvbnN0IHJlYWQgPSAobmFtZTogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IG1hdGNoID0gZG9jdW1lbnQuY29va2llLm1hdGNoKG5ldyBSZWdFeHAoJyhefDtcXFxccyopKCcgKyBuYW1lICsgJyk9KFteO10qKScpKTtcbiAgcmV0dXJuIChtYXRjaCA/IGRlY29kZVVSSUNvbXBvbmVudChtYXRjaFszXSkgOiBudWxsKTtcbn07XG5cbi8qKlxuICogQ2xlYXIgY29va2llIGJ5IG5hbWVcbiAqXG4gKiBAcGFyYW0gbmFtZVxuICovXG5leHBvcnQgY29uc3QgcmVtb3ZlID0gKG5hbWUpID0+IHtcbiAgd3JpdGUobmFtZSwgJycsIERhdGUubm93KCkgLSA4NjQwMDAwMCk7XG59O1xuIl19

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

it('should return array', function () {
expect(cookies_1.write('name', 'value', 0, '/', 'filestack.com', true)).toEqual(undefined);
expect((0, cookies_1.write)('name', 'value', 0, '/', 'filestack.com', true)).toEqual(undefined);
});

@@ -29,7 +29,7 @@ });

it('should return null', function () {
expect(cookies_1.read('name')).toEqual(null);
expect((0, cookies_1.read)('name')).toEqual(null);
});
it('should not return value', function () {
document.cookie = 'name=value';
expect(cookies_1.read('name')).toEqual('value');
expect((0, cookies_1.read)('name')).toEqual('value');
});

@@ -39,3 +39,3 @@ });

it('should return empty', function () {
expect(cookies_1.remove('name')).toEqual(undefined);
expect((0, cookies_1.remove)('name')).toEqual(undefined);
});

@@ -45,2 +45,2 @@ });

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL2Nvb2tpZXMuc3BlYy5icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7O0FBRUgscUNBQWdEO0FBRWhELFFBQVEsQ0FBQyx5QkFBeUIsRUFBRTtJQUNsQyxRQUFRLENBQUMsT0FBTyxFQUFFO1FBQ2hCLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRTtZQUN4QixNQUFNLENBQUMsZUFBSyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxNQUFNLEVBQUU7UUFDZixFQUFFLENBQUMsb0JBQW9CLEVBQUU7WUFDdkIsTUFBTSxDQUFDLGNBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyx5QkFBeUIsRUFBRTtZQUM1QixRQUFRLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQztZQUMvQixNQUFNLENBQUMsY0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsUUFBUSxFQUFFO1FBQ2pCLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRTtZQUN4QixNQUFNLENBQUMsZ0JBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL3JlcXVlc3QvaGVscGVycy9jb29raWVzLnNwZWMuYnJvd3Nlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgd3JpdGUsIHJlYWQsIHJlbW92ZSB9IGZyb20gJy4vY29va2llcyc7XG5cbmRlc2NyaWJlKCdSZXF1ZXN0L0hlbHBlcnMvQ29va2llcycsICgpID0+IHtcbiAgZGVzY3JpYmUoJ3dyaXRlJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIGFycmF5JywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHdyaXRlKCduYW1lJywgJ3ZhbHVlJywgMCwgJy8nLCAnZmlsZXN0YWNrLmNvbScsIHRydWUpKS50b0VxdWFsKHVuZGVmaW5lZCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdyZWFkJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIG51bGwnLCAoKSA9PiB7XG4gICAgICBleHBlY3QocmVhZCgnbmFtZScpKS50b0VxdWFsKG51bGwpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgbm90IHJldHVybiB2YWx1ZScsICgpID0+IHtcbiAgICAgIGRvY3VtZW50LmNvb2tpZSA9ICduYW1lPXZhbHVlJztcbiAgICAgIGV4cGVjdChyZWFkKCduYW1lJykpLnRvRXF1YWwoJ3ZhbHVlJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdyZW1vdmUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gZW1wdHknLCAoKSA9PiB7XG4gICAgICBleHBlY3QocmVtb3ZlKCduYW1lJykpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL2Nvb2tpZXMuc3BlYy5icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7O0FBRUgscUNBQWdEO0FBRWhELFFBQVEsQ0FBQyx5QkFBeUIsRUFBRTtJQUNsQyxRQUFRLENBQUMsT0FBTyxFQUFFO1FBQ2hCLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRTtZQUN4QixNQUFNLENBQUMsSUFBQSxlQUFLLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuRixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLE1BQU0sRUFBRTtRQUNmLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRTtZQUN2QixNQUFNLENBQUMsSUFBQSxjQUFJLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMseUJBQXlCLEVBQUU7WUFDNUIsUUFBUSxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUM7WUFDL0IsTUFBTSxDQUFDLElBQUEsY0FBSSxFQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsUUFBUSxFQUFFO1FBQ2pCLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRTtZQUN4QixNQUFNLENBQUMsSUFBQSxnQkFBTSxFQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvcmVxdWVzdC9oZWxwZXJzL2Nvb2tpZXMuc3BlYy5icm93c2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyB3cml0ZSwgcmVhZCwgcmVtb3ZlIH0gZnJvbSAnLi9jb29raWVzJztcblxuZGVzY3JpYmUoJ1JlcXVlc3QvSGVscGVycy9Db29raWVzJywgKCkgPT4ge1xuICBkZXNjcmliZSgnd3JpdGUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gYXJyYXknLCAoKSA9PiB7XG4gICAgICBleHBlY3Qod3JpdGUoJ25hbWUnLCAndmFsdWUnLCAwLCAnLycsICdmaWxlc3RhY2suY29tJywgdHJ1ZSkpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3JlYWQnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gbnVsbCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChyZWFkKCduYW1lJykpLnRvRXF1YWwobnVsbCk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBub3QgcmV0dXJuIHZhbHVlJywgKCkgPT4ge1xuICAgICAgZG9jdW1lbnQuY29va2llID0gJ25hbWU9dmFsdWUnO1xuICAgICAgZXhwZWN0KHJlYWQoJ25hbWUnKSkudG9FcXVhbCgndmFsdWUnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3JlbW92ZScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiBlbXB0eScsICgpID0+IHtcbiAgICAgIGV4cGVjdChyZW1vdmUoJ25hbWUnKSkudG9FcXVhbCh1bmRlZmluZWQpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseResponse = exports.filestackHeaders = exports.prepareData = void 0;
var tslib_1 = require("tslib");

@@ -24,4 +25,4 @@ /*

var fast_xml_parser_1 = require("fast-xml-parser");
var debug_1 = require("debug");
var debug = debug_1.default('fs:request:data');
var debug_1 = tslib_1.__importDefault(require("debug"));
var debug = (0, debug_1.default)('fs:request:data');
/**

@@ -33,18 +34,18 @@ * Prepare request and set content-type header based on data

*/
exports.prepareData = function (config) {
var prepareData = function (config) {
// set filestack debug headers first
config = exports.filestackHeaders(config);
if (utils_1.isFormData(config.data) || utils_1.isBuffer(config.data) || utils_1.isStream(config.data) || utils_1.isFile(config.data) || utils_1.isBlob(config.data)) {
config = (0, exports.filestackHeaders)(config);
if ((0, utils_1.isFormData)(config.data) || (0, utils_1.isBuffer)(config.data) || (0, utils_1.isStream)(config.data) || (0, utils_1.isFile)(config.data) || (0, utils_1.isBlob)(config.data)) {
return config;
}
// @todo convert it to ArrayBufferView for browser
if (utils_1.isArrayBuffer(config.data)) {
if ((0, utils_1.isArrayBuffer)(config.data)) {
return config;
}
if (utils_1.isURLSearchParams(config.data)) {
config.headers = headers_1.set(config.headers, 'content-type', 'application/x-www-form-urlencoded;charset=utf-8');
if ((0, utils_1.isURLSearchParams)(config.data)) {
config.headers = (0, headers_1.set)(config.headers, 'content-type', 'application/x-www-form-urlencoded;charset=utf-8');
config.data = config.data.toString();
}
else if (utils_1.isObject(config.data)) {
config.headers = headers_1.set(config.headers, 'content-type', 'application/json', true);
else if ((0, utils_1.isObject)(config.data)) {
config.headers = (0, headers_1.set)(config.headers, 'content-type', 'application/json', true);
config.data = JSON.stringify(config.data);

@@ -54,2 +55,3 @@ }

};
exports.prepareData = prepareData;
/**

@@ -60,11 +62,12 @@ * Add filestack debug headers to request

*/
exports.filestackHeaders = function (config) {
var filestackHeaders = function (config) {
if (!config.filestackHeaders) {
return config;
}
config.headers = headers_1.set(config.headers, 'filestack-source', utils_2.getVersion());
config.headers = headers_1.set(config.headers, 'filestack-trace-id', Math.floor(Date.now() / 1000) + "-" + utils_2.uniqueId());
config.headers = headers_1.set(config.headers, 'filestack-trace-span', "jssdk-" + utils_2.uniqueId());
config.headers = (0, headers_1.set)(config.headers, 'filestack-source', (0, utils_2.getVersion)());
config.headers = (0, headers_1.set)(config.headers, 'filestack-trace-id', "".concat(Math.floor(Date.now() / 1000), "-").concat((0, utils_2.uniqueId)()));
config.headers = (0, headers_1.set)(config.headers, 'filestack-trace-span', "jssdk-".concat((0, utils_2.uniqueId)()));
return config;
};
exports.filestackHeaders = filestackHeaders;
/**

@@ -75,4 +78,4 @@ * Prepare response data based on content type

*/
exports.parseResponse = function (response) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var contentType, data, parser;
var parseResponse = function (response) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var contentType, data;
return tslib_1.__generator(this, function (_a) {

@@ -92,3 +95,3 @@ if (!response.headers || !response.headers['content-type']) {

else if (/text\/(plain|html)/.test(contentType)) {
if (utils_1.isBuffer(response.data)) {
if ((0, utils_1.isBuffer)(response.data)) {
response.data = bufferToString(response.data);

@@ -99,12 +102,11 @@ }

data = response.data;
if (utils_1.isBuffer(response.data)) {
if ((0, utils_1.isBuffer)(response.data)) {
data = bufferToString(response.data);
}
if (fast_xml_parser_1.XMLValidator.validate(data) === true) {
parser = new fast_xml_parser_1.XMLParser({
response.data = new fast_xml_parser_1.XMLParser({
ignoreDeclaration: true,
ignoreAttributes: true,
trimValues: true,
});
response.data = parser.parse(data);
}).parse(data);
}

@@ -115,2 +117,3 @@ }

}); };
exports.parseResponse = parseResponse;
function bufferToString(buffer) {

@@ -130,2 +133,2 @@ var bufView = new Uint16Array(buffer);

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsb0NBQXdIO0FBQ3hILHVDQUFxRDtBQUVyRCxxQ0FBZ0M7QUFDaEMsbURBQTBEO0FBQzFELCtCQUEwQjtBQUUxQixJQUFNLEtBQUssR0FBRyxlQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUV2Qzs7Ozs7R0FLRztBQUNVLFFBQUEsV0FBVyxHQUFHLFVBQUMsTUFBd0I7SUFDbEQsb0NBQW9DO0lBQ3BDLE1BQU0sR0FBRyx3QkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVsQyxJQUFJLGtCQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLGdCQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLGdCQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLGNBQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksY0FBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMzSCxPQUFPLE1BQU0sQ0FBQztLQUNmO0lBRUQsa0RBQWtEO0lBQ2xELElBQUkscUJBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDOUIsT0FBTyxNQUFNLENBQUM7S0FDZjtJQUVELElBQUkseUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2xDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsYUFBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGlEQUFpRCxDQUFDLENBQUM7UUFDeEcsTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ3RDO1NBQU0sSUFBSSxnQkFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNoQyxNQUFNLENBQUMsT0FBTyxHQUFHLGFB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QyxNQUFNO0lBQzVCLElBQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFFOUIsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVuQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsSUFBSSxRQUFRLEVBQUU7UUFDekMsSUFBSSxDQUFDLEdBQUcsUUFBUSxHQUFHLE1BQU0sRUFBRTtZQUN6QixRQUFRLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUN2QjtRQUNELE1BQU0sSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7S0FDOUU7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2hlbHBlcnMvZGF0YS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGlzVVJMU2VhcmNoUGFyYW1zLCBpc09iamVjdCwgaXNTdHJlYW0sIGlzRm9ybURhdGEsIGlzQXJyYXlCdWZmZXIsIGlzRmlsZSwgaXNCbG9iLCBpc0J1ZmZlciB9IGZyb20gJy4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0VmVyc2lvbiwgdW5pcXVlSWQgfSBmcm9tICcuLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEZzUmVxdWVzdE9wdGlvbnMsIEZzUmVzcG9uc2UgfSBmcm9tICcuLy4uL3R5cGVzJztcbmltcG9ydCB7IHNldCB9IGZyb20gJy4vaGVhZGVycyc7XG5pbXBvcnQgeyBYTUxQYXJzZXIsIFhNTFZhbGlkYXRvciB9IGZyb20gJ2Zhc3QteG1sLXBhcnNlcic7XG5pbXBvcnQgRGVidWcgZnJvbSAnZGVidWcnO1xuXG5jb25zdCBkZWJ1ZyA9IERlYnVnKCdmczpyZXF1ZXN0OmRhdGEnKTtcblxuLyoqXG4gKiBQcmVwYXJlIHJlcXVlc3QgYW5kIHNldCBjb250ZW50LXR5cGUgaGVhZGVyIGJhc2VkIG9uIGRhdGFcbiAqXG4gKiBAcGFyYW0gaGVhZGVyc1xuICogQHBhcmFtIGRhdGFcbiAqL1xuZXhwb3J0IGNvbnN0IHByZXBhcmVEYXRhID0gKGNvbmZpZzogRnNSZXF1ZXN0T3B0aW9ucykgPT4ge1xuICAvLyBzZXQgZmlsZXN0YWNrIGRlYnVnIGhlYWRlcnMgZmlyc3RcbiAgY29uZmlnID0gZmlsZXN0YWNrSGVhZGVycyhjb25maWcpO1xuXG4gIGlmIChpc0Zvcm1EYXRhKGNvbmZpZy5kYXRhKSB8fCBpc0J1ZmZlcihjb25maWcuZGF0YSkgfHwgaXNTdHJlYW0oY29uZmlnLmRhdGEpIHx8IGlzRmlsZShjb25maWcuZGF0YSkgfHwgaXNCbG9iKGNvbmZpZy5kYXRhKSkge1xuICAgIHJldHVybiBjb25maWc7XG4gIH1cblxuICAvLyBAdG9kbyBjb252ZXJ0IGl0IHRvIEFycmF5QnVmZmVyVmlldyBmb3IgYnJvd3NlclxuICBpZiAoaXNBcnJheUJ1ZmZlcihjb25maWcuZGF0YSkpIHtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG5cbiAgaWYgKGlzVVJMU2VhcmNoUGFyYW1zKGNvbmZpZy5kYXRhKSkge1xuICAgIGNvbmZpZy5oZWFkZXJzID0gc2V0KGNvbmZpZy5oZWFkZXJzLCAnY29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04Jyk7XG4gICAgY29uZmlnLmRhdGEgPSBjb25maWcuZGF0YS50b1N0cmluZygpO1xuICB9IGVsc2UgaWYgKGlzT2JqZWN0KGNvbmZpZy5kYXRhKSkge1xuICAgIGNvbmZpZy5oZWFkZXJzID0gc2V0KGNvbmZpZy5oZWFkZXJzLCAnY29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nLCB0cnVlKTtcbiAgICBjb25maWcuZGF0YSA9IEpTT04uc3RyaW5naWZ5KGNvbmZpZy5kYXRhKTtcbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59O1xuXG4vKipcbiAqIEFkZCBmaWxlc3RhY2sgZGVidWcgaGVhZGVycyB0byByZXF1ZXN0XG4gKlxuICogQHBhcmFtIGNvbmZpZ1xuICovXG5leHBvcnQgY29uc3QgZmlsZXN0YWNrSGVhZGVycyA9IChjb25maWc6IEZzUmVxdWVzdE9wdGlvbnMpID0+IHtcbiAgaWYgKCFjb25maWcuZmlsZXN0YWNrSGVhZGVycykge1xuICAgIHJldHVybiBjb25maWc7XG4gIH1cblxuICBjb25maWcuaGVhZGVycyA9IHNldChjb25maWcuaGVhZGVycywgJ2ZpbGVzdGFjay1zb3VyY2UnLCBnZXRWZXJzaW9uKCkpO1xuICBjb25maWcuaGVhZGVycyA9IHNldChjb25maWcuaGVhZGVycywgJ2ZpbGVzdGFjay10cmFjZS1pZCcsIGAke01hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApfS0ke3VuaXF1ZUlkKCl9YCk7XG4gIGNvbmZpZy5oZWFkZXJzID0gc2V0KGNvbmZpZy5oZWFkZXJzLCAnZmlsZXN0YWNrLXRyYWNlLXNwYW4nLCBganNzZGstJHt1bmlxdWVJZCgpfWApO1xuXG4gIHJldHVybiBjb25maWc7XG59O1xuXG4vKipcbiAqIFByZXBhcmUgcmVzcG9uc2UgZGF0YSBiYXNlZCBvbiBjb250ZW50IHR5cGVcbiAqXG4gKiBAcGFyYW0gcmVzcG9uc2VcbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlUmVzcG9uc2UgPSBhc3luYyAocmVzcG9uc2U6IEZzUmVzcG9uc2UpOiBQcm9taXNlPEZzUmVzcG9uc2U+ID0+IHtcbiAgaWYgKCFyZXNwb25zZS5oZWFkZXJzIHx8ICFyZXNwb25zZS5oZWFkZXJzWydjb250ZW50LXR5cGUnXSkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzcG9uc2UpO1xuICB9XG5cbiAgY29uc3QgY29udGVudFR5cGUgPSByZXNwb25zZS5oZWFkZXJzWydjb250ZW50LXR5cGUnXTtcblxuICBpZiAoL2FwcGxpY2F0aW9uXFwvanNvbi8udGVzdChjb250ZW50VHlwZSkpIHtcbiAgICB0cnkge1xuICAgICAgcmVzcG9uc2UuZGF0YSA9IEpTT04ucGFyc2UocmVzcG9uc2UuZGF0YSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgZGVidWcoJ0Nhbm5vdCBwYXJzZSByZXNwb25zZSAlTyAtICVPJywgcmVzcG9uc2UuZGF0YSwgcmVzcG9uc2UuaGVhZGVycyk7XG4gICAgfVxuICB9IGVsc2UgaWYgKC90ZXh0XFwvKHBsYWlufGh0bWwpLy50ZXN0KGNvbnRlbnRUeXBlKSkge1xuICAgIGlmIChpc0J1ZmZlcihyZXNwb25zZS5kYXRhKSkge1xuICAgICAgcmVzcG9uc2UuZGF0YSA9IGJ1ZmZlclRvU3RyaW5nKHJlc3BvbnNlLmRhdGEpO1xuICAgIH1cbiAgfSBlbHNlIGlmICgvYXBwbGljYXRpb25cXC94bWwvLnRlc3QoY29udGVudFR5cGUpKSB7XG4gICAgbGV0IGRhdGEgPSByZXNwb25zZS5kYXRhO1xuXG4gICAgaWYgKGlzQnVmZmVyKHJlc3BvbnNlLmRhdGEpKSB7XG4gICAgICBkYXRhID0gYnVmZmVyVG9TdHJpbmcocmVzcG9uc2UuZGF0YSk7XG4gICAgfVxuXG4gICAgaWYgKFhNTFZhbGlkYXRvci52YWxpZGF0ZShkYXRhKSA9PT0gdHJ1ZSkge1xuICAgICAgY29uc3QgcGFyc2VyID0gbmV3IFhNTFBhcnNlcih7XG4gICAgICAgIGlnbm9yZURlY2xhcmF0aW9uOiB0cnVlLFxuICAgICAgICBpZ25vcmVBdHRyaWJ1dGVzIDogdHJ1ZSxcbiAgICAgICAgdHJpbVZhbHVlczogdHJ1ZSxcbiAgICAgIH0pO1xuXG4gICAgICByZXNwb25zZS5kYXRhID0gcGFyc2VyLnBhcnNlKGRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzcG9uc2UpO1xufTtcblxuZnVuY3Rpb24gYnVmZmVyVG9TdHJpbmcoYnVmZmVyKSB7XG4gIGNvbnN0IGJ1ZlZpZXcgPSBuZXcgVWludDE2QXJyYXkoYnVmZmVyKTtcbiAgY29uc3QgbGVuZ3RoID0gYnVmVmlldy5sZW5ndGg7XG5cbiAgbGV0IHJlc3VsdCA9ICcnO1xuICBsZXQgYWRkaXRpb24gPSBNYXRoLnBvdygyLCAxNikgLSAxO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpICs9IGFkZGl0aW9uKSB7XG4gICAgaWYgKGkgKyBhZGRpdGlvbiA+IGxlbmd0aCkge1xuICAgICAgYWRkaXRpb24gPSBsZW5ndGggLSBpO1xuICAgIH1cbiAgICByZXN1bHQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLCBidWZWaWV3LnN1YmFycmF5KGksIGkgKyBhZGRpdGlvbikpO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILG9DQUF3SDtBQUN4SCx1Q0FBcUQ7QUFFckQscUNBQWdDO0FBQ2hDLG1EQUEwRDtBQUMxRCx3REFBMEI7QUFFMUIsSUFBTSxLQUFLLEdBQUcsSUFBQSxlQUFLLEVBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUV2Qzs7Ozs7R0FLRztBQUNJLElBQU0sV0FBVyxHQUFHLFVBQUMsTUFBd0I7SUFDbEQsb0NBQW9DO0lBQ3BDLE1BQU0sR0FBRyxJQUFBLHdCQUFnQixFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRWxDLElBQUksSUFBQSxrQkFBVSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFBLGdCQUFRLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUEsZ0JBQVEsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksSUFBQSxjQUFNLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUEsY0FBTSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMzSCxPQUFPLE1BQU0sQ0FBQztLQUNmO0lBRUQsa0RBQWtEO0lBQ2xELElBQUksSUFBQSxxQkFBYSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM5QixPQUFPLE1BQU0sQ0FBQztLQUNmO0lBRUQsSUFBSSxJQUFBLHlCQUFpQixFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNsQyxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUEsYUFBRyxFQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGlEQUFpRCxDQUFDLENBQUM7UUFDeEcsTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ3RDO1NBQU0sSUFBSSxJQUFBLGdCQUFRLEVB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QUFFLElBQUk7aUJBQ2pCLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDaEI7U0FDRjtRQUVELHNCQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUM7O0tBQ2xDLENBQUM7QUFsQ1csUUFBQSxhQUFhLGlCQWtDeEI7QUFFRixTQUFTLGNBQWMsQ0FBQyxNQUFNO0lBQzVCLElBQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFFOUIsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVuQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsSUFBSSxRQUFRLEVBQUU7UUFDekMsSUFBSSxDQUFDLEdBQUcsUUFBUSxHQUFHLE1BQU0sRUFBRTtZQUN6QixRQUFRLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUN2QjtRQUNELE1BQU0sSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7S0FDOUU7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2hlbHBlcnMvZGF0YS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGlzVVJMU2VhcmNoUGFyYW1zLCBpc09iamVjdCwgaXNTdHJlYW0sIGlzRm9ybURhdGEsIGlzQXJyYXlCdWZmZXIsIGlzRmlsZSwgaXNCbG9iLCBpc0J1ZmZlciB9IGZyb20gJy4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0VmVyc2lvbiwgdW5pcXVlSWQgfSBmcm9tICcuLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEZzUmVxdWVzdE9wdGlvbnMsIEZzUmVzcG9uc2UgfSBmcm9tICcuLy4uL3R5cGVzJztcbmltcG9ydCB7IHNldCB9IGZyb20gJy4vaGVhZGVycyc7XG5pbXBvcnQgeyBYTUxQYXJzZXIsIFhNTFZhbGlkYXRvciB9IGZyb20gJ2Zhc3QteG1sLXBhcnNlcic7XG5pbXBvcnQgRGVidWcgZnJvbSAnZGVidWcnO1xuXG5jb25zdCBkZWJ1ZyA9IERlYnVnKCdmczpyZXF1ZXN0OmRhdGEnKTtcblxuLyoqXG4gKiBQcmVwYXJlIHJlcXVlc3QgYW5kIHNldCBjb250ZW50LXR5cGUgaGVhZGVyIGJhc2VkIG9uIGRhdGFcbiAqXG4gKiBAcGFyYW0gaGVhZGVyc1xuICogQHBhcmFtIGRhdGFcbiAqL1xuZXhwb3J0IGNvbnN0IHByZXBhcmVEYXRhID0gKGNvbmZpZzogRnNSZXF1ZXN0T3B0aW9ucykgPT4ge1xuICAvLyBzZXQgZmlsZXN0YWNrIGRlYnVnIGhlYWRlcnMgZmlyc3RcbiAgY29uZmlnID0gZmlsZXN0YWNrSGVhZGVycyhjb25maWcpO1xuXG4gIGlmIChpc0Zvcm1EYXRhKGNvbmZpZy5kYXRhKSB8fCBpc0J1ZmZlcihjb25maWcuZGF0YSkgfHwgaXNTdHJlYW0oY29uZmlnLmRhdGEpIHx8IGlzRmlsZShjb25maWcuZGF0YSkgfHwgaXNCbG9iKGNvbmZpZy5kYXRhKSkge1xuICAgIHJldHVybiBjb25maWc7XG4gIH1cblxuICAvLyBAdG9kbyBjb252ZXJ0IGl0IHRvIEFycmF5QnVmZmVyVmlldyBmb3IgYnJvd3NlclxuICBpZiAoaXNBcnJheUJ1ZmZlcihjb25maWcuZGF0YSkpIHtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG5cbiAgaWYgKGlzVVJMU2VhcmNoUGFyYW1zKGNvbmZpZy5kYXRhKSkge1xuICAgIGNvbmZpZy5oZWFkZXJzID0gc2V0KGNvbmZpZy5oZWFkZXJzLCAnY29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04Jyk7XG4gICAgY29uZmlnLmRhdGEgPSBjb25maWcuZGF0YS50b1N0cmluZygpO1xuICB9IGVsc2UgaWYgKGlzT2JqZWN0KGNvbmZpZy5kYXRhKSkge1xuICAgIGNvbmZpZy5oZWFkZXJzID0gc2V0KGNvbmZpZy5oZWFkZXJzLCAnY29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nLCB0cnVlKTtcbiAgICBjb25maWcuZGF0YSA9IEpTT04uc3RyaW5naWZ5KGNvbmZpZy5kYXRhKTtcbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59O1xuXG4vKipcbiAqIEFkZCBmaWxlc3RhY2sgZGVidWcgaGVhZGVycyB0byByZXF1ZXN0XG4gKlxuICogQHBhcmFtIGNvbmZpZ1xuICovXG5leHBvcnQgY29uc3QgZmlsZXN0YWNrSGVhZGVycyA9IChjb25maWc6IEZzUmVxdWVzdE9wdGlvbnMpID0+IHtcbiAgaWYgKCFjb25maWcuZmlsZXN0YWNrSGVhZGVycykge1xuICAgIHJldHVybiBjb25maWc7XG4gIH1cblxuICBjb25maWcuaGVhZGVycyA9IHNldChjb25maWcuaGVhZGVycywgJ2ZpbGVzdGFjay1zb3VyY2UnLCBnZXRWZXJzaW9uKCkpO1xuICBjb25maWcuaGVhZGVycyA9IHNldChjb25maWcuaGVhZGVycywgJ2ZpbGVzdGFjay10cmFjZS1pZCcsIGAke01hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApfS0ke3VuaXF1ZUlkKCl9YCk7XG4gIGNvbmZpZy5oZWFkZXJzID0gc2V0KGNvbmZpZy5oZWFkZXJzLCAnZmlsZXN0YWNrLXRyYWNlLXNwYW4nLCBganNzZGstJHt1bmlxdWVJZCgpfWApO1xuXG4gIHJldHVybiBjb25maWc7XG59O1xuXG4vKipcbiAqIFByZXBhcmUgcmVzcG9uc2UgZGF0YSBiYXNlZCBvbiBjb250ZW50IHR5cGVcbiAqXG4gKiBAcGFyYW0gcmVzcG9uc2VcbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlUmVzcG9uc2UgPSBhc3luYyAocmVzcG9uc2U6IEZzUmVzcG9uc2UpOiBQcm9taXNlPEZzUmVzcG9uc2U+ID0+IHtcbiAgaWYgKCFyZXNwb25zZS5oZWFkZXJzIHx8ICFyZXNwb25zZS5oZWFkZXJzWydjb250ZW50LXR5cGUnXSkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzcG9uc2UpO1xuICB9XG5cbiAgY29uc3QgY29udGVudFR5cGUgPSByZXNwb25zZS5oZWFkZXJzWydjb250ZW50LXR5cGUnXTtcblxuICBpZiAoL2FwcGxpY2F0aW9uXFwvanNvbi8udGVzdChjb250ZW50VHlwZSkpIHtcbiAgICB0cnkge1xuICAgICAgcmVzcG9uc2UuZGF0YSA9IEpTT04ucGFyc2UocmVzcG9uc2UuZGF0YSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgZGVidWcoJ0Nhbm5vdCBwYXJzZSByZXNwb25zZSAlTyAtICVPJywgcmVzcG9uc2UuZGF0YSwgcmVzcG9uc2UuaGVhZGVycyk7XG4gICAgfVxuICB9IGVsc2UgaWYgKC90ZXh0XFwvKHBsYWlufGh0bWwpLy50ZXN0KGNvbnRlbnRUeXBlKSkge1xuICAgIGlmIChpc0J1ZmZlcihyZXNwb25zZS5kYXRhKSkge1xuICAgICAgcmVzcG9uc2UuZGF0YSA9IGJ1ZmZlclRvU3RyaW5nKHJlc3BvbnNlLmRhdGEpO1xuICAgIH1cbiAgfSBlbHNlIGlmICgvYXBwbGljYXRpb25cXC94bWwvLnRlc3QoY29udGVudFR5cGUpKSB7XG4gICAgbGV0IGRhdGEgPSByZXNwb25zZS5kYXRhO1xuXG4gICAgaWYgKGlzQnVmZmVyKHJlc3BvbnNlLmRhdGEpKSB7XG4gICAgICBkYXRhID0gYnVmZmVyVG9TdHJpbmcocmVzcG9uc2UuZGF0YSk7XG4gICAgfVxuXG4gICAgaWYgKFhNTFZhbGlkYXRvci52YWxpZGF0ZShkYXRhKSA9PT0gdHJ1ZSkge1xuICAgICAgcmVzcG9uc2UuZGF0YSA9IG5ldyBYTUxQYXJzZXIoe1xuICAgICAgICBpZ25vcmVEZWNsYXJhdGlvbjogdHJ1ZSxcbiAgICAgICAgaWdub3JlQXR0cmlidXRlcyA6IHRydWUsXG4gICAgICAgIHRyaW1WYWx1ZXM6IHRydWUsXG4gICAgICB9KS5wYXJzZShkYXRhKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3BvbnNlKTtcbn07XG5cbmZ1bmN0aW9uIGJ1ZmZlclRvU3RyaW5nKGJ1ZmZlcikge1xuICBjb25zdCBidWZWaWV3ID0gbmV3IFVpbnQxNkFycmF5KGJ1ZmZlcik7XG4gIGNvbnN0IGxlbmd0aCA9IGJ1ZlZpZXcubGVuZ3RoO1xuXG4gIGxldCByZXN1bHQgPSAnJztcbiAgbGV0IGFkZGl0aW9uID0gTWF0aC5wb3coMiwgMTYpIC0gMTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSArPSBhZGRpdGlvbikge1xuICAgIGlmIChpICsgYWRkaXRpb24gPiBsZW5ndGgpIHtcbiAgICAgIGFkZGl0aW9uID0gbGVuZ3RoIC0gaTtcbiAgICB9XG4gICAgcmVzdWx0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwgYnVmVmlldy5zdWJhcnJheShpLCBpICsgYWRkaXRpb24pKTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG4iXX0=

@@ -25,11 +25,11 @@ "use strict";

var data = { url: 'https://filestack.com', data: {} };
expect(data_1.prepareData(data)).toEqual(data);
expect((0, data_1.prepareData)(data)).toEqual(data);
});
it('should return ArrayBuffer', function () {
var data = { url: 'https://filestack.com', data: new ArrayBuffer(10) };
expect(data_1.prepareData(data)).toEqual(data);
expect((0, data_1.prepareData)(data)).toEqual(data);
});
it('should return url params', function () {
var data = { url: 'https://filestack.com', data: new URLSearchParams('q=search&id=1') };
expect(data_1.prepareData(data)).toEqual(data);
expect((0, data_1.prepareData)(data)).toEqual(data);
});

@@ -53,3 +53,3 @@ });

_a = expect;
return [4 /*yield*/, data_1.parseResponse(response)];
return [4 /*yield*/, (0, data_1.parseResponse)(response)];
case 1:

@@ -78,3 +78,3 @@ _a.apply(void 0, [_b.sent()]).toEqual(response);

_a = expect;
return [4 /*yield*/, data_1.parseResponse(response)];
return [4 /*yield*/, (0, data_1.parseResponse)(response)];
case 1:

@@ -103,3 +103,3 @@ _a.apply(void 0, [_b.sent()]).toEqual(response);

_a = expect;
return [4 /*yield*/, data_1.parseResponse(response)];
return [4 /*yield*/, (0, data_1.parseResponse)(response)];
case 1:

@@ -128,3 +128,3 @@ _a.apply(void 0, [_b.sent()]).toEqual(response);

_a = expect;
return [4 /*yield*/, data_1.parseResponse(response)];
return [4 /*yield*/, (0, data_1.parseResponse)(response)];
case 1:

@@ -152,3 +152,3 @@ _a.apply(void 0, [_b.sent()]).toEqual(response);

};
return [4 /*yield*/, data_1.parseResponse(response)];
return [4 /*yield*/, (0, data_1.parseResponse)(response)];
case 1:

@@ -173,2 +173,2 @@ res = _a.sent();

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL2RhdGEuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSCwrQkFBb0Q7QUFFcEQsUUFBUSxDQUFDLHNCQUFzQixFQUFFO0lBQy9CLFFBQVEsQ0FBQyxjQUFjLEVBQUU7UUFDdkIsRUFBRSxDQUFDLDBCQUEwQixFQUFFO1lBQzdCLElBQU0sSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLHVCQUF1QixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUN4RCxNQUFNLENBQUMsa0JBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywyQkFBMkIsRUFBRTtZQUM5QixJQUFNLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN6RSxNQUFNLENBQUMsa0JBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywwQkFBMEIsRUFBRTtZQUM3QixJQUFNLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxlQUFlLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUMxRixNQUFNLENBQUMsa0JBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGdCQUFnQixFQUFFO1FBQ3pCLEVBQUUsQ0FBQyxtQ0FBbUMsRUFBRTs7Ozs7d0JBQ2hDLFFBQVEsR0FB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RSxzQkFBc0I7b0NBQzVCLE9BQU8sRUFBRSwyRUFBMkU7b0NBQ3BGLFdBQVcsRUFBRSxrQkFBa0I7b0NBQy9CLFVBQVUsRUFBRSxzQkFBc0I7b0NBQ2xDLDBCQUEwQixFQUFFLE1BQU07b0NBQ2xDLFNBQVMsRUFBRSxrQkFBa0I7b0NBQzdCLE1BQU0sRUFBRSw4RUFBOEU7aUNBQ3ZGOzZCQUNGLENBQUMsRUFBQzs7O2FBQ0osQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvcmVxdWVzdC9oZWxwZXJzL2RhdGEuc3BlYy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgcHJlcGFyZURhdGEsIHBhcnNlUmVzcG9uc2UgfSBmcm9tICcuL2RhdGEnO1xuXG5kZXNjcmliZSgnUmVxdWVzdC9IZWxwZXJzL0RhdGEnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdwcmVwYXJlIGRhdGEnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gZW1wdHkgZGF0YScsICgpID0+IHtcbiAgICAgIGNvbnN0IGRhdGEgPSB7IHVybDogJ2h0dHBzOi8vZmlsZXN0YWNrLmNvbScsIGRhdGE6IHt9IH07XG4gICAgICBleHBlY3QocHJlcGFyZURhdGEoZGF0YSkpLnRvRXF1YWwoZGF0YSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBBcnJheUJ1ZmZlcicsICgpID0+IHtcbiAgICAgIGNvbnN0IGRhdGEgPSB7IHVybDogJ2h0dHBzOi8vZmlsZXN0YWNrLmNvbScsIGRhdGE6IG5ldyBBcnJheUJ1ZmZlcigxMCkgfTtcbiAgICAgIGV4cGVjdChwcmVwYXJlRGF0YShkYXRhKSkudG9FcXVhbChkYXRhKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHVybCBwYXJhbXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBkYXRhID0geyB1cmw6ICdodHRwczovL2ZpbGVzdGFjay5jb20nLCBkYXRhOiBuZXcgVVJMU2VhcmNoUGFyYW1zKCdxPXNlYXJjaCZpZD0xJykgfTtcbiAgICAgIGV4cGVjdChwcmVwYXJlRGF0YShkYXRhKSkudG9FcXVhbChkYXRhKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3BhcnNlIHJlc3BvbnNlJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIGVxdWFsIHJlc3BvbnNlIGRhdGEnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IHtcbiAgICAgICAgc3RhdHVzOiAyMDAsXG4gICAgICAgIHN0YXR1c1RleHQ6ICdvaycsXG4gICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgICBkYXRhOiBbXSxcbiAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgdXJsOiAnaHR0cHM6Ly9maWxlc3RhY2suY29tJyxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBleHBlY3QoYXdhaXQgcGFyc2VSZXNwb25zZShyZXNwb25zZSkpLnRvRXF1YWwocmVzcG9uc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gcmVzcG9uc2Ugd2l0aCBhcHBsaWNhdGlvbi9qc29uIGFuZCBkYXRhIHN0cmluZ2lmeScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0ge1xuICAgICAgICBzdGF0dXM6IDIwMCxcbiAgICAgICAgc3RhdHVzVGV4dDogJ29rJyxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIH0sXG4gICAgICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgYTogMSB9KSxcbiAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgdXJsOiAnaHR0cHM6Ly9maWxlc3RhY2suY29tJyxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBleHBlY3QoYXdhaXQgcGFyc2VSZXNwb25zZShyZXNwb25zZSkpLnRvRXF1YWwocmVzcG9uc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gcmVzcG9uc2Ugd2l0aCBhcHBsaWNhdGlvbi9qc29uIGFuZCBqc29uIGRhdGEgJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSB7XG4gICAgICAgIHN0YXR1czogMjAwLFxuICAgICAgICBzdGF0dXNUZXh0OiAnb2snLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgfSxcbiAgICAgICAgZGF0YTogeyBhOiAxIH0sXG4gICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgIHVybDogJ2h0dHBzOi8vZmlsZXN0YWNrLmNvbScsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgZXhwZWN0KGF3YWl0IHBhcnNlUmVzcG9uc2UocmVzcG9uc2UpKS50b0VxdWFsKHJlc3BvbnNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHRleHQvcGxhaW4gcmVzcG9uc2Ugd2l0aCBBcnJheUJ1ZmZlciAnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IHtcbiAgICAgICAgc3RhdHVzOiAyMDAsXG4gICAgICAgIHN0YXR1c1RleHQ6ICdvaycsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAnY29udGVudC10eXBlJzogJ3RleHQvcGxhaW4nLFxuICAgICAgICB9LFxuICAgICAgICBkYXRhOiBuZXcgQXJyYXlCdWZmZXIoMTApLFxuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICB1cmw6ICdodHRwczovL2ZpbGVzdGFjay5jb20nLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIGV4cGVjdChhd2FpdCBwYXJzZVJlc3BvbnNlKHJlc3BvbnNlKSkudG9FcXVhbChyZXNwb25zZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHBhcnNlIGFwcGxpY2F0aW9uL3htbCByZXNwb25zZSB0byBqc29uJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSB7XG4gICAgICAgIHN0YXR1czogMjAwLFxuICAgICAgICBzdGF0dXNUZXh0OiAnb2snLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi94bWwnLFxuICAgICAgICB9LFxuICAgICAgICBkYXRhOiBCdWZmZXIuZnJvbSgnPD94bWwgdmVyc2lvbj1cIjEuMFwiIGVuY29kaW5nPVwiVVRGLThcIj8+PEVycm9yPjxjb2RlPlJlcXVlc3RUaW1lVG9vU2tld2VkPC9jb2RlPjxNZXNzYWdlPlRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHJlcXVlc3QgdGltZSBhbmQgdGhlIGN1cnJlbnQgdGltZSBpcyB0b29sYXJnZS48L01lc3NhZ2U+PFJlcXVlc3RUaW1lPjIwMTkxMTAyVDE1MzAzMVo8L1JlcXVlc3RUaW1lPjxTZXJ2ZXJUaW1lPjIwMTktMTEtMDJUMTU6NTY6MzVaPC9TZXJ2ZXJUaW1lPjxNYXhBbGxvd2VkU2tld01pbGxpc2Vjb25kcz45MDAwMDA8L01heEFsbG93ZWRTa2V3TWlsbGlzZWNvbmRzPjxSZXF1ZXN0SWQ+NkM4ODU1QkM5N0QxN0ExQjwvUmVxdWVzdElkPjxIb3N0SWQ+M2J3aHRTcFk5dEF5cEZyOUw2VitXNlVBeEZVeWs3bUsrVlFHaEl1NEJ4ajB0N2poUVdNRUVpblc0WUhwaThROXFPTm54MUNFSEtFPTwvSG9zdElkPjwvRXJyb3I+JyksXG4gICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgIHVybDogJ2h0dHBzOi8vZmlsZXN0YWNrLmNvbScsXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBwYXJzZVJlc3BvbnNlKHJlc3BvbnNlKTtcblxuICAgICAgcmV0dXJuIGV4cGVjdChyZXMuZGF0YSkudG9FcXVhbCh7XG4gICAgICAgIEVycm9yOiB7XG4gICAgICAgICAgY29kZTogJ1JlcXVlc3RUaW1lVG9vU2tld2VkJyxcbiAgICAgICAgICBNZXNzYWdlOiAnVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgcmVxdWVzdCB0aW1lIGFuZCB0aGUgY3VycmVudCB0aW1lIGlzIHRvb2xhcmdlLicsXG4gICAgICAgICAgUmVxdWVzdFRpbWU6ICcyMDE5MTEwMlQxNTMwMzFaJyxcbiAgICAgICAgICBTZXJ2ZXJUaW1lOiAnMjAxOS0xMS0wMlQxNTo1NjozNVonLFxuICAgICAgICAgIE1heEFsbG93ZWRTa2V3TWlsbGlzZWNvbmRzOiA5MDAwMDAsXG4gICAgICAgICAgUmVxdWVzdElkOiAnNkM4ODU1QkM5N0QxN0ExQicsXG4gICAgICAgICAgSG9zdElkOiAnM2J3aHRTcFk5dEF5cEZyOUw2VitXNlVBeEZVeWs3bUsrVlFHaEl1NEJ4ajB0N2poUVdNRUVpblc0WUhwaThROXFPTm54MUNFSEtFPScsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL2RhdGEuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSCwrQkFBb0Q7QUFFcEQsUUFBUSxDQUFDLHNCQUFzQixFQUFFO0lBQy9CLFFBQVEsQ0FBQyxjQUFjLEVBQUU7UUFDdkIsRUFBRSxDQUFDLDBCQUEwQixFQUFFO1lBQzdCLElBQU0sSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLHVCQUF1QixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUN4RCxNQUFNLENBQUMsSUFBQSxrQkFBVyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDJCQUEyQixFQUFFO1lBQzlCLElBQU0sSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLHVCQUF1QixFQUFFLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3pFLE1BQU0sQ0FBQyxJQUFBLGtCQUFXLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsMEJBQTBCLEVBQUU7WUFDN0IsSUFBTSxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsdUJBQXVCLEVBQUUsSUFBSSxFQUFFLElBQUksZUFBZSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDMUYsTUFBTSxDQUFDLElBQUEsa0JBQVcsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGdCQUFnQixFQUFFO1FBQ3pCLEVBQUUsQ0FBQyxtQ0FBbUMsRUFBRTs7Ozs7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QUFPLENBQUM7Z0NBQzlCLEtBQUssRUFBRTtvQ0FDTCxJQUFJLEVBQUUsc0JBQXNCO29DQUM1QixPQUFPLEVBQUUsMkVBQTJFO29DQUNwRixXQUFXLEVBQUUsa0JBQWtCO29DQUMvQixVQUFVLEVBQUUsc0JBQXNCO29DQUNsQywwQkFBMEIsRUFBRSxNQUFNO29DQUNsQyxTQUFTLEVBQUUsa0JBQWtCO29DQUM3QixNQUFNLEVBQUUsOEVBQThFO2lDQUN2Rjs2QkFDRixDQUFDLEVBQUM7OzthQUNKLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL3JlcXVlc3QvaGVscGVycy9kYXRhLnNwZWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IHByZXBhcmVEYXRhLCBwYXJzZVJlc3BvbnNlIH0gZnJvbSAnLi9kYXRhJztcblxuZGVzY3JpYmUoJ1JlcXVlc3QvSGVscGVycy9EYXRhJywgKCkgPT4ge1xuICBkZXNjcmliZSgncHJlcGFyZSBkYXRhJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIGVtcHR5IGRhdGEnLCAoKSA9PiB7XG4gICAgICBjb25zdCBkYXRhID0geyB1cmw6ICdodHRwczovL2ZpbGVzdGFjay5jb20nLCBkYXRhOiB7fSB9O1xuICAgICAgZXhwZWN0KHByZXBhcmVEYXRhKGRhdGEpKS50b0VxdWFsKGRhdGEpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gQXJyYXlCdWZmZXInLCAoKSA9PiB7XG4gICAgICBjb25zdCBkYXRhID0geyB1cmw6ICdodHRwczovL2ZpbGVzdGFjay5jb20nLCBkYXRhOiBuZXcgQXJyYXlCdWZmZXIoMTApIH07XG4gICAgICBleHBlY3QocHJlcGFyZURhdGEoZGF0YSkpLnRvRXF1YWwoZGF0YSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB1cmwgcGFyYW1zJywgKCkgPT4ge1xuICAgICAgY29uc3QgZGF0YSA9IHsgdXJsOiAnaHR0cHM6Ly9maWxlc3RhY2suY29tJywgZGF0YTogbmV3IFVSTFNlYXJjaFBhcmFtcygncT1zZWFyY2gmaWQ9MScpIH07XG4gICAgICBleHBlY3QocHJlcGFyZURhdGEoZGF0YSkpLnRvRXF1YWwoZGF0YSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdwYXJzZSByZXNwb25zZScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiBlcXVhbCByZXNwb25zZSBkYXRhJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSB7XG4gICAgICAgIHN0YXR1czogMjAwLFxuICAgICAgICBzdGF0dXNUZXh0OiAnb2snLFxuICAgICAgICBoZWFkZXJzOiB7fSxcbiAgICAgICAgZGF0YTogW10sXG4gICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgIHVybDogJ2h0dHBzOi8vZmlsZXN0YWNrLmNvbScsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgZXhwZWN0KGF3YWl0IHBhcnNlUmVzcG9uc2UocmVzcG9uc2UpKS50b0VxdWFsKHJlc3BvbnNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHJlc3BvbnNlIHdpdGggYXBwbGljYXRpb24vanNvbiBhbmQgZGF0YSBzdHJpbmdpZnknLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IHtcbiAgICAgICAgc3RhdHVzOiAyMDAsXG4gICAgICAgIHN0YXR1c1RleHQ6ICdvaycsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICB9LFxuICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7IGE6IDEgfSksXG4gICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgIHVybDogJ2h0dHBzOi8vZmlsZXN0YWNrLmNvbScsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgZXhwZWN0KGF3YWl0IHBhcnNlUmVzcG9uc2UocmVzcG9uc2UpKS50b0VxdWFsKHJlc3BvbnNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHJlc3BvbnNlIHdpdGggYXBwbGljYXRpb24vanNvbiBhbmQganNvbiBkYXRhICcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0ge1xuICAgICAgICBzdGF0dXM6IDIwMCxcbiAgICAgICAgc3RhdHVzVGV4dDogJ29rJyxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIH0sXG4gICAgICAgIGRhdGE6IHsgYTogMSB9LFxuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICB1cmw6ICdodHRwczovL2ZpbGVzdGFjay5jb20nLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIGV4cGVjdChhd2FpdCBwYXJzZVJlc3BvbnNlKHJlc3BvbnNlKSkudG9FcXVhbChyZXNwb25zZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB0ZXh0L3BsYWluIHJlc3BvbnNlIHdpdGggQXJyYXlCdWZmZXIgJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSB7XG4gICAgICAgIHN0YXR1czogMjAwLFxuICAgICAgICBzdGF0dXNUZXh0OiAnb2snLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ2NvbnRlbnQtdHlwZSc6ICd0ZXh0L3BsYWluJyxcbiAgICAgICAgfSxcbiAgICAgICAgZGF0YTogbmV3IEFycmF5QnVmZmVyKDEwKSxcbiAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgdXJsOiAnaHR0cHM6Ly9maWxlc3RhY2suY29tJyxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBleHBlY3QoYXdhaXQgcGFyc2VSZXNwb25zZShyZXNwb25zZSkpLnRvRXF1YWwocmVzcG9uc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBwYXJzZSBhcHBsaWNhdGlvbi94bWwgcmVzcG9uc2UgdG8ganNvbicsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0ge1xuICAgICAgICBzdGF0dXM6IDIwMCxcbiAgICAgICAgc3RhdHVzVGV4dDogJ29rJyxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24veG1sJyxcbiAgICAgICAgfSxcbiAgICAgICAgZGF0YTogQnVmZmVyLmZyb20oJzw/eG1sIHZlcnNpb249XCIxLjBcIiBlbmNvZGluZz1cIlVURi04XCI/PjxFcnJvcj48Y29kZT5SZXF1ZXN0VGltZVRvb1NrZXdlZDwvY29kZT48TWVzc2FnZT5UaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSByZXF1ZXN0IHRpbWUgYW5kIHRoZSBjdXJyZW50IHRpbWUgaXMgdG9vbGFyZ2UuPC9NZXNzYWdlPjxSZXF1ZXN0VGltZT4yMDE5MTEwMlQxNTMwMzFaPC9SZXF1ZXN0VGltZT48U2VydmVyVGltZT4yMDE5LTExLTAyVDE1OjU2OjM1WjwvU2VydmVyVGltZT48TWF4QWxsb3dlZFNrZXdNaWxsaXNlY29uZHM+OTAwMDAwPC9NYXhBbGxvd2VkU2tld01pbGxpc2Vjb25kcz48UmVxdWVzdElkPjZDODg1NUJDOTdEMTdBMUI8L1JlcXVlc3RJZD48SG9zdElkPjNid2h0U3BZOXRBeXBGcjlMNlYrVzZVQXhGVXlrN21LK1ZRR2hJdTRCeGowdDdqaFFXTUVFaW5XNFlIcGk4UTlxT05ueDFDRUhLRT08L0hvc3RJZD48L0Vycm9yPicpLFxuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICB1cmw6ICdodHRwczovL2ZpbGVzdGFjay5jb20nLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVzID0gYXdhaXQgcGFyc2VSZXNwb25zZShyZXNwb25zZSk7XG5cbiAgICAgIHJldHVybiBleHBlY3QocmVzLmRhdGEpLnRvRXF1YWwoe1xuICAgICAgICBFcnJvcjoge1xuICAgICAgICAgIGNvZGU6ICdSZXF1ZXN0VGltZVRvb1NrZXdlZCcsXG4gICAgICAgICAgTWVzc2FnZTogJ1RoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHJlcXVlc3QgdGltZSBhbmQgdGhlIGN1cnJlbnQgdGltZSBpcyB0b29sYXJnZS4nLFxuICAgICAgICAgIFJlcXVlc3RUaW1lOiAnMjAxOTExMDJUMTUzMDMxWicsXG4gICAgICAgICAgU2VydmVyVGltZTogJzIwMTktMTEtMDJUMTU6NTY6MzVaJyxcbiAgICAgICAgICBNYXhBbGxvd2VkU2tld01pbGxpc2Vjb25kczogOTAwMDAwLFxuICAgICAgICAgIFJlcXVlc3RJZDogJzZDODg1NUJDOTdEMTdBMUInLFxuICAgICAgICAgIEhvc3RJZDogJzNid2h0U3BZOXRBeXBGcjlMNlYrVzZVQXhGVXlrN21LK1ZRR2hJdTRCeGowdDdqaFFXTUVFaW5XNFlIcGk4UTlxT05ueDFDRUhLRT0nLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=

@@ -28,2 +28,2 @@ import { FsRequestHeaders } from './../types';

*/
export declare const normalizeName: (name: string) => any;
export declare const normalizeName: (name: string) => string;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.normalizeName = exports.set = exports.normalizeHeaders = exports.parse = void 0;
/*

@@ -44,3 +45,3 @@ * Copyright (c) 2018 by Filestack

*/
exports.parse = function (headers) {
var parse = function (headers) {
var parsed = {};

@@ -55,4 +56,4 @@ var key;

i = line.indexOf(':');
key = utils_1.trim(line.substr(0, i)).toLowerCase();
val = utils_1.trim(line.substr(i + 1));
key = (0, utils_1.trim)(line.substr(0, i)).toLowerCase();
val = (0, utils_1.trim)(line.substr(i + 1));
if (!key) {

@@ -73,2 +74,3 @@ return;

};
exports.parse = parse;
/**

@@ -79,3 +81,3 @@ * Normalize input headers

*/
exports.normalizeHeaders = function (headers) {
var normalizeHeaders = function (headers) {
if (!headers) {

@@ -86,6 +88,7 @@ return {};

for (var i in headers) {
toReturn[exports.normalizeName(i)] = headers[i];
toReturn[(0, exports.normalizeName)(i)] = headers[i];
}
return toReturn;
};
exports.normalizeHeaders = normalizeHeaders;
// expect(set({}, 'set-cookies', 'value')).toEqual({ 'Set-Cookies': 'value' });

@@ -100,5 +103,5 @@ /**

*/
exports.set = function (headers, name, value, setIFExists) {
var set = function (headers, name, value, setIFExists) {
if (setIFExists === void 0) { setIFExists = false; }
var normalizedName = exports.normalizeName(name);
var normalizedName = (0, exports.normalizeName)(name);
if (!headers) {

@@ -118,2 +121,3 @@ headers = {};

};
exports.set = set;
/**

@@ -124,3 +128,3 @@ * Normalize header names according to rfc spec

*/
exports.normalizeName = function (name) {
var normalizeName = function (name) {
// the exceptions

@@ -148,3 +152,4 @@ var result = {

};
exports.normalizeName = normalizeName;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL2hlYWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxvQ0FBa0M7QUFHbEMsSUFBTSxnQkFBZ0IsR0FBRztJQUN2QixTQUFTO0lBQ1QsTUFBTTtJQUNOLE1BQU07SUFDTixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLEtBQUs7SUFDTCxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGNBQWM7SUFDZCxNQUFNO0lBQ04sZUFBZTtJQUNmLFVBQVU7SUFDVixjQUFjO0lBQ2QscUJBQXFCO0lBQ3JCLFNBQVM7SUFDVCxhQUFhO0lBQ2IsWUFBWTtDQUNiLENBQUM7QUFFRjs7OztHQUlHO0FBQ1UsUUFBQSxLQUFLLEdBQUcsVUFBQSxPQUFPO0lBQzFCLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNoQixJQUFJLEdBQUcsQ0FBQztJQUNSLElBQUksR0FBRyxDQUFDO0lBQ1IsSUFBSSxDQUFDLENBQUM7SUFFTixJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osT0FBTyxNQUFNLENBQUM7S0FDZjtJQUVELE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsSUFBSTtRQUM5QixDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QixHQUFHLEdBQUcsWUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDNUMsR0FBRyxHQUFHLFlBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9CLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDUixPQUFPO1NBQ1I7UUFFRCxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFP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RSxDQUFDO0lBQ3JFLENBQUMsQ0FBQztTQUNELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNmLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvcmVxdWVzdC9oZWxwZXJzL2hlYWRlcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyB0cmltIH0gZnJvbSAnLi8uLi91dGlscyc7XG5pbXBvcnQgeyBGc1JlcXVlc3RIZWFkZXJzIH0gZnJvbSAnLi8uLi90eXBlcyc7XG5cbmNvbnN0IGlnbm9yZUR1cGxpY2F0ZXMgPSBbXG4gICdleHBpcmVzJyxcbiAgJ2Zyb20nLFxuICAnaG9zdCcsXG4gICdpZi1tb2RpZmllZC1zaW5jZScsXG4gICdpZi11bm1vZGlmaWVkLXNpbmNlJyxcbiAgJ2FnZScsXG4gICdhdXRob3JpemF0aW9uJyxcbiAgJ2NvbnRlbnQtbGVuZ3RoJyxcbiAgJ2NvbnRlbnQtdHlwZScsXG4gICdldGFnJyxcbiAgJ2xhc3QtbW9kaWZpZWQnLFxuICAnbG9jYXRpb24nLFxuICAnbWF4LWZvcndhcmRzJyxcbiAgJ3Byb3h5LWF1dGhvcml6YXRpb24nLFxuICAncmVmZXJlcicsXG4gICdyZXRyeS1hZnRlcicsXG4gICd1c2VyLWFnZW50Jyxcbl07XG5cbi8qKlxuICogUGFyc2UgcmVzcG9uc2UgcmF3IGhlYWRlciAoeGhyKVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBoZWFkZXJzIC0gcmF3IGhlYWRlcnMgc3RyaW5nXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZSA9IGhlYWRlcnMgPT4ge1xuICBsZXQgcGFyc2VkID0ge307XG4gIGxldCBrZXk7XG4gIGxldCB2YWw7XG4gIGxldCBpO1xuXG4gIGlmICghaGVhZGVycykge1xuICAgIHJldHVybiBwYXJzZWQ7XG4gIH1cblxuICBoZWFkZXJzLnNwbGl0KCdcXG4nKS5mb3JFYWNoKGxpbmUgPT4ge1xuICAgIGkgPSBsaW5lLmluZGV4T2YoJzonKTtcbiAgICBrZXkgPSB0cmltKGxpbmUuc3Vic3RyKDAsIGkpKS50b0xvd2VyQ2FzZSgpO1xuICAgIHZhbCA9IHRyaW0obGluZS5zdWJzdHIoaSArIDEpKTtcblxuICAgIGlmICgha2V5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHBhcnNlZFtrZXldICYmIGlnbm9yZUR1cGxpY2F0ZXMuaW5kZXhPZihrZXkpID49IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoa2V5ID09PSAnc2V0LWNvb2tpZScpIHtcbiAgICAgIHBhcnNlZFtrZXldID0gKHBhcnNlZFtrZXldID8gcGFyc2VkW2tleV0gOiBbXSkuY29uY2F0KFt2YWxdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyc2VkW2tleV0gPSBwYXJzZWRba2V5XSA/IHBhcnNlZFtrZXldICsgJywgJyArIHZhbCA6IHZhbDtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBwYXJzZWQ7XG59O1xuXG4vKipcbiAqIE5vcm1hbGl6ZSBpbnB1dCBoZWFkZXJzXG4gKlxuICogQHBhcmFtIGhlYWRlcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZUhlYWRlcnMgPSAoaGVhZGVyczogRnNSZXF1ZXN0SGVhZGVycyk6IEZzUmVxdWVzdEhlYWRlcnMgPT4ge1xuICBpZiAoIWhlYWRlcnMpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBjb25zdCB0b1JldHVybiA9IHt9O1xuXG4gIGZvciAobGV0IGkgaW4gaGVhZGVycykge1xuICAgIHRvUmV0dXJuW25vcm1hbGl6ZU5hbWUoaSldID0gIGhlYWRlcnNbaV07XG4gIH1cblxuICByZXR1cm4gdG9SZXR1cm47XG59O1xuXG4vLyBleHBlY3Qoc2V0KHt9LCAnc2V0LWNvb2tpZXMnLCAndmFsdWUnKSkudG9FcXVhbCh7ICdTZXQtQ29va2llcyc6ICd2YWx1ZScgfSk7XG4vKipcbiAqIFNldCByZXF1ZXN0IGhlYWRlcnNcbiAqXG4gKiBAcGFyYW0gaGVhZGVycyAtIG9iamVjdCBjb250YWluaW5nIGhlYWRlcnNcbiAqIEBwYXJhbSBuYW1lIC0gaGVhZGVyIG5hbWVcbiAqIEBwYXJhbSB2YWx1ZSAtIGhlYWRlciB2YWx1ZVxuICogQHBhcmFtIHNldElGRXhpc3RzIC0gZGV0ZXJtaW5lIGlmIHdlIHNob3VsZCBjaGFuZ2UgaGVhZGVyIHZhbHVlIGlmIGV4aXN0c1xuICovXG5leHBvcnQgY29uc3Qgc2V0ID0gKGhlYWRlcnM6IEZzUmVxdWVzdEhlYWRlcnMsIG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZywgc2V0SUZFeGlzdHMgPSBmYWxzZSkgPT4ge1xuICBjb25zdCBub3JtYWxpemVkTmFtZSA9IG5vcm1hbGl6ZU5hbWUobmFtZSk7XG5cbiAgaWYgKCFoZWFkZXJzKSB7XG4gICAgaGVhZGVycyA9IHt9O1xuICB9XG5cbiAgLy8gY2xlYW51cCBoZWFkZXJzIGZyb20gdW5kZWZpbmVkIHZhbHNcbiAgaGVhZGVycyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoaGVhZGVycykpO1xuICBpZiAoaGVhZGVyc1tuYW1lXSA9PT0gdW5kZWZpbmVkICYmIGhlYWRlcnNbbm9ybWFsaXplZE5hbWVdID09PSB1bmRlZmluZWQpIHtcbiAgICBoZWFkZXJzW25vcm1hbGl6ZWROYW1lXSA9IHZhbHVlO1xuICB9IGVsc2UgaWYgKHNldElGRXhpc3RzKSB7XG4gICAgZGVsZXRlIGhlYWRlcnNbbmFtZV07XG4gICAgaGVhZGVyc1tub3JtYWxpemVkTmFtZV0gPSB2YWx1ZTtcbiAgfVxuXG4gIHJldHVybiBoZWFkZXJzO1xufTtcblxuLyoqXG4gKiBOb3JtYWxpemUgaGVhZGVyIG5hbWVzIGFjY29yZGluZyB0byByZmMgc3BlY1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gaGVhZGVyIG5hbWVcbiAqL1xuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZU5hbWUgPSAobmFtZTogc3RyaW5nKSA9PiB7XG4gIC8vIHRoZSBleGNlcHRpb25zXG4gIGxldCByZXN1bHQgPSB7XG4gICAgJ2NvbnRlbnQtbWQ1JzogJ0NvbnRlbnQtTUQ1JyxcbiAgICBkbnQ6ICdETlQnLFxuICAgIGV0YWc6ICdFVGFnJyxcbiAgICAnbGFzdC1ldmVudC1pZCc6ICdMYXN0LUV2ZW50LUlEJyxcbiAgICB0Y246ICdUQ04nLFxuICAgIHRlOiAnVEUnLFxuICAgICd3d3ctYXV0aGVudGljYXRlJzogJ1dXVy1BdXRoZW50aWNhdGUnLFxuICAgICd4LWRuc3ByZWZldGNoLWNvbnRyb2wnOiAnWC1ETlNQcmVmZXRjaC1Db250cm9sJyxcbiAgfVtuYW1lLnRvTG93ZXJDYXNlKCldO1xuXG4gIGlmIChyZXN1bHQpIHtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLy8gdGhlIGRlZmF1bHRcbiAgcmV0dXJuIG5hbWVcbiAgICAuc3BsaXQoJy0nKVxuICAgIC5tYXAoZnVuY3Rpb24odGV4dCkge1xuICAgICAgcmV0dXJuIHRleHQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0ZXh0LnN1YnN0cigxKS50b0xvd2VyQ2FzZSgpO1xuICAgIH0pXG4gICAgLmpvaW4oJy0nKTtcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL2hlYWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsb0NBQWtDO0FBR2xDLElBQU0sZ0JBQWdCLEdBQUc7SUFDdkIsU0FBUztJQUNULE1BQU07SUFDTixNQUFNO0lBQ04sbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQixLQUFLO0lBQ0wsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsTUFBTTtJQUNOLGVBQWU7SUFDZixVQUFVO0lBQ1YsY0FBYztJQUNkLHFCQUFxQjtJQUNyQixTQUFTO0lBQ1QsYUFBYTtJQUNiLFlBQVk7Q0FDYixDQUFDO0FBRUY7Ozs7R0FJRztBQUNJLElBQU0sS0FBSyxHQUFHLFVBQUEsT0FBTztJQUMxQixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDaEIsSUFBSSxHQUFHLENBQUM7SUFDUixJQUFJLEdBQUcsQ0FBQztJQUNSLElBQUksQ0FBQyxDQUFDO0lBRU4sSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLElBQUk7UUFDOUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEIsR0FBRyxHQUFHLElBQUEsWUFBSSxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDNUMsR0FBRyxHQUFHLElBQUEsWUFBSSxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFL0IsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLE9BQU87U0FDUjtRQUVELElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLGdCQUFn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SSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JFLENBQUMsQ0FBQztTQUNELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNmLENBQUMsQ0FBQztBQXhCVyxRQUFBLGFBQWEsaUJBd0J4QiIsImZpbGUiOiJsaWIvcmVxdWVzdC9oZWxwZXJzL2hlYWRlcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyB0cmltIH0gZnJvbSAnLi8uLi91dGlscyc7XG5pbXBvcnQgeyBGc1JlcXVlc3RIZWFkZXJzIH0gZnJvbSAnLi8uLi90eXBlcyc7XG5cbmNvbnN0IGlnbm9yZUR1cGxpY2F0ZXMgPSBbXG4gICdleHBpcmVzJyxcbiAgJ2Zyb20nLFxuICAnaG9zdCcsXG4gICdpZi1tb2RpZmllZC1zaW5jZScsXG4gICdpZi11bm1vZGlmaWVkLXNpbmNlJyxcbiAgJ2FnZScsXG4gICdhdXRob3JpemF0aW9uJyxcbiAgJ2NvbnRlbnQtbGVuZ3RoJyxcbiAgJ2NvbnRlbnQtdHlwZScsXG4gICdldGFnJyxcbiAgJ2xhc3QtbW9kaWZpZWQnLFxuICAnbG9jYXRpb24nLFxuICAnbWF4LWZvcndhcmRzJyxcbiAgJ3Byb3h5LWF1dGhvcml6YXRpb24nLFxuICAncmVmZXJlcicsXG4gICdyZXRyeS1hZnRlcicsXG4gICd1c2VyLWFnZW50Jyxcbl07XG5cbi8qKlxuICogUGFyc2UgcmVzcG9uc2UgcmF3IGhlYWRlciAoeGhyKVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBoZWFkZXJzIC0gcmF3IGhlYWRlcnMgc3RyaW5nXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZSA9IGhlYWRlcnMgPT4ge1xuICBsZXQgcGFyc2VkID0ge307XG4gIGxldCBrZXk7XG4gIGxldCB2YWw7XG4gIGxldCBpO1xuXG4gIGlmICghaGVhZGVycykge1xuICAgIHJldHVybiBwYXJzZWQ7XG4gIH1cblxuICBoZWFkZXJzLnNwbGl0KCdcXG4nKS5mb3JFYWNoKGxpbmUgPT4ge1xuICAgIGkgPSBsaW5lLmluZGV4T2YoJzonKTtcbiAgICBrZXkgPSB0cmltKGxpbmUuc3Vic3RyKDAsIGkpKS50b0xvd2VyQ2FzZSgpO1xuICAgIHZhbCA9IHRyaW0obGluZS5zdWJzdHIoaSArIDEpKTtcblxuICAgIGlmICgha2V5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHBhcnNlZFtrZXldICYmIGlnbm9yZUR1cGxpY2F0ZXMuaW5kZXhPZihrZXkpID49IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoa2V5ID09PSAnc2V0LWNvb2tpZScpIHtcbiAgICAgIHBhcnNlZFtrZXldID0gKHBhcnNlZFtrZXldID8gcGFyc2VkW2tleV0gOiBbXSkuY29uY2F0KFt2YWxdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyc2VkW2tleV0gPSBwYXJzZWRba2V5XSA/IHBhcnNlZFtrZXldICsgJywgJyArIHZhbCA6IHZhbDtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBwYXJzZWQ7XG59O1xuXG4vKipcbiAqIE5vcm1hbGl6ZSBpbnB1dCBoZWFkZXJzXG4gKlxuICogQHBhcmFtIGhlYWRlcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZUhlYWRlcnMgPSAoaGVhZGVyczogRnNSZXF1ZXN0SGVhZGVycyk6IEZzUmVxdWVzdEhlYWRlcnMgPT4ge1xuICBpZiAoIWhlYWRlcnMpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBjb25zdCB0b1JldHVybiA9IHt9O1xuXG4gIGZvciAobGV0IGkgaW4gaGVhZGVycykge1xuICAgIHRvUmV0dXJuW25vcm1hbGl6ZU5hbWUoaSldID0gIGhlYWRlcnNbaV07XG4gIH1cblxuICByZXR1cm4gdG9SZXR1cm47XG59O1xuXG4vLyBleHBlY3Qoc2V0KHt9LCAnc2V0LWNvb2tpZXMnLCAndmFsdWUnKSkudG9FcXVhbCh7ICdTZXQtQ29va2llcyc6ICd2YWx1ZScgfSk7XG4vKipcbiAqIFNldCByZXF1ZXN0IGhlYWRlcnNcbiAqXG4gKiBAcGFyYW0gaGVhZGVycyAtIG9iamVjdCBjb250YWluaW5nIGhlYWRlcnNcbiAqIEBwYXJhbSBuYW1lIC0gaGVhZGVyIG5hbWVcbiAqIEBwYXJhbSB2YWx1ZSAtIGhlYWRlciB2YWx1ZVxuICogQHBhcmFtIHNldElGRXhpc3RzIC0gZGV0ZXJtaW5lIGlmIHdlIHNob3VsZCBjaGFuZ2UgaGVhZGVyIHZhbHVlIGlmIGV4aXN0c1xuICovXG5leHBvcnQgY29uc3Qgc2V0ID0gKGhlYWRlcnM6IEZzUmVxdWVzdEhlYWRlcnMsIG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZywgc2V0SUZFeGlzdHMgPSBmYWxzZSkgPT4ge1xuICBjb25zdCBub3JtYWxpemVkTmFtZSA9IG5vcm1hbGl6ZU5hbWUobmFtZSk7XG5cbiAgaWYgKCFoZWFkZXJzKSB7XG4gICAgaGVhZGVycyA9IHt9O1xuICB9XG5cbiAgLy8gY2xlYW51cCBoZWFkZXJzIGZyb20gdW5kZWZpbmVkIHZhbHNcbiAgaGVhZGVycyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoaGVhZGVycykpO1xuICBpZiAoaGVhZGVyc1tuYW1lXSA9PT0gdW5kZWZpbmVkICYmIGhlYWRlcnNbbm9ybWFsaXplZE5hbWVdID09PSB1bmRlZmluZWQpIHtcbiAgICBoZWFkZXJzW25vcm1hbGl6ZWROYW1lXSA9IHZhbHVlO1xuICB9IGVsc2UgaWYgKHNldElGRXhpc3RzKSB7XG4gICAgZGVsZXRlIGhlYWRlcnNbbmFtZV07XG4gICAgaGVhZGVyc1tub3JtYWxpemVkTmFtZV0gPSB2YWx1ZTtcbiAgfVxuXG4gIHJldHVybiBoZWFkZXJzO1xufTtcblxuLyoqXG4gKiBOb3JtYWxpemUgaGVhZGVyIG5hbWVzIGFjY29yZGluZyB0byByZmMgc3BlY1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gaGVhZGVyIG5hbWVcbiAqL1xuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZU5hbWUgPSAobmFtZTogc3RyaW5nKSA9PiB7XG4gIC8vIHRoZSBleGNlcHRpb25zXG4gIGxldCByZXN1bHQgPSB7XG4gICAgJ2NvbnRlbnQtbWQ1JzogJ0NvbnRlbnQtTUQ1JyxcbiAgICBkbnQ6ICdETlQnLFxuICAgIGV0YWc6ICdFVGFnJyxcbiAgICAnbGFzdC1ldmVudC1pZCc6ICdMYXN0LUV2ZW50LUlEJyxcbiAgICB0Y246ICdUQ04nLFxuICAgIHRlOiAnVEUnLFxuICAgICd3d3ctYXV0aGVudGljYXRlJzogJ1dXVy1BdXRoZW50aWNhdGUnLFxuICAgICd4LWRuc3ByZWZldGNoLWNvbnRyb2wnOiAnWC1ETlNQcmVmZXRjaC1Db250cm9sJyxcbiAgfVtuYW1lLnRvTG93ZXJDYXNlKCldO1xuXG4gIGlmIChyZXN1bHQpIHtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLy8gdGhlIGRlZmF1bHRcbiAgcmV0dXJuIG5hbWVcbiAgICAuc3BsaXQoJy0nKVxuICAgIC5tYXAoZnVuY3Rpb24odGV4dCkge1xuICAgICAgcmV0dXJuIHRleHQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0ZXh0LnN1YnN0cigxKS50b0xvd2VyQ2FzZSgpO1xuICAgIH0pXG4gICAgLmpvaW4oJy0nKTtcbn07XG4iXX0=

@@ -23,23 +23,23 @@ "use strict";

it('should return empty object', function () {
expect(headers_1.parse(null)).toEqual({});
expect((0, headers_1.parse)(null)).toEqual({});
});
it('headers with : should return empty object ', function () {
var headers = ':';
expect(headers_1.parse(headers)).toEqual({});
expect((0, headers_1.parse)(headers)).toEqual({});
});
it('should return object with from filestack.com', function () {
var headers = 'from:filestack.com\nfrom:filestack.com';
expect(headers_1.parse(headers)).toEqual({ from: 'filestack.com' });
expect((0, headers_1.parse)(headers)).toEqual({ from: 'filestack.com' });
});
it('should return set-cookies false', function () {
var headers = 'set-cookie:false';
expect(headers_1.parse(headers)).toEqual({ 'set-cookie': ['false'] });
expect((0, headers_1.parse)(headers)).toEqual({ 'set-cookie': ['false'] });
});
it('should concat multiple set-cookie headers into array', function () {
var headers = 'set-cookie:test1\nset-cookie:test2\nset-cookie:test3';
expect(headers_1.parse(headers)).toEqual({ 'set-cookie': ['test1', 'test2', 'test3'] });
expect((0, headers_1.parse)(headers)).toEqual({ 'set-cookie': ['test1', 'test2', 'test3'] });
});
it('should concat multiple not ignored headers into string', function () {
var headers = 'testheader:test1\ntestheader:test2\ntestheader:test3';
expect(headers_1.parse(headers)).toEqual({ 'testheader': 'test1, test2, test3' });
expect((0, headers_1.parse)(headers)).toEqual({ 'testheader': 'test1, test2, test3' });
});

@@ -50,3 +50,3 @@ });

// @ts-ignore
expect(headers_1.normalizeHeaders()).toEqual({});
expect((0, headers_1.normalizeHeaders)()).toEqual({});
});

@@ -56,3 +56,3 @@ it('normalize headers with set-cookies false, should return false', function () {

var data = (_a = {}, _a['set-cookies'] = 'false', _a);
expect(headers_1.normalizeHeaders(data)).toEqual({ 'Set-Cookies': 'false' });
expect((0, headers_1.normalizeHeaders)(data)).toEqual({ 'Set-Cookies': 'false' });
});

@@ -62,6 +62,6 @@ });

it('should set correct headers to object', function () {
expect(headers_1.set({}, 'set-cookies', 'value')).toEqual({ 'Set-Cookies': 'value' });
expect((0, headers_1.set)({}, 'set-cookies', 'value')).toEqual({ 'Set-Cookies': 'value' });
});
it('should set value on empty object if setIFExists is enabled', function () {
expect(headers_1.set({}, 'name', 'value', true)).toEqual({ Name: 'value' });
expect((0, headers_1.set)({}, 'name', 'value', true)).toEqual({ Name: 'value' });
});

@@ -72,3 +72,3 @@ it('should overwrite value if setIFExists is enabled', function () {

};
expect(headers_1.set(h, 'name', 'value', true)).toEqual({ Name: 'value' });
expect((0, headers_1.set)(h, 'name', 'value', true)).toEqual({ Name: 'value' });
});

@@ -79,7 +79,7 @@ it('should not overwrite value if setIFExists is disabled', function () {

};
expect(headers_1.set(h, 'name', 'value', false)).toEqual({ name: 'test' });
expect((0, headers_1.set)(h, 'name', 'value', false)).toEqual({ name: 'test' });
});
it('should allow to add header to not empty object', function () {
var data = { 'www-authenticate': '' };
expect(headers_1.set(data, 'name', 'value')).toEqual({ Name: 'value', 'www-authenticate': '' });
expect((0, headers_1.set)(data, 'name', 'value')).toEqual({ Name: 'value', 'www-authenticate': '' });
});

@@ -89,6 +89,6 @@ });

it('should return string to equal WWW-Authenticate', function () {
expect(headers_1.normalizeName('www-authenticate')).toEqual('WWW-Authenticate');
expect((0, headers_1.normalizeName)('www-authenticate')).toEqual('WWW-Authenticate');
});
it('should return Content-Type', function () {
expect(headers_1.normalizeName('content-type')).toBe('Content-Type');
expect((0, headers_1.normalizeName)('content-type')).toBe('Content-Type');
});

@@ -98,2 +98,2 @@ });

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL2hlYWRlcnMuc3BlYy5icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7O0FBRUgscUNBQXdFO0FBRXhFLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRTtJQUVsQyxRQUFRLENBQUMsZUFBZSxFQUFFO1FBQ3hCLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRTtZQUMvQixNQUFNLENBQUMsZUFBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDRDQUE0QyxFQUFFO1lBQy9DLElBQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQztZQUNwQixNQUFNLENBQUMsZUFBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDhDQUE4QyxFQUFFO1lBQ2pELElBQU0sT0FBTyxHQUFHLHdDQUF3QyxDQUFDO1lBQ3pELE1BQU0sQ0FBQyxlQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRTtZQUNwQyxJQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQztZQUNuQyxNQUFNLENBQUMsZUFBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHNEQUFzRCxFQUFFO1lBQ3pELElBQU0sT0FBTyxHQUFHLHNEQUFzRCxDQUFDO1lBQ3ZFLE1BQU0sQ0FBQyxlQUFL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QWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsNEJBQTRCLEVBQUU7WUFDL0IsTUFBTSxDQUFDLHVCQUFhLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2hlbHBlcnMvaGVhZGVycy5zcGVjLmJyb3dzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IHBhcnNlLCBub3JtYWxpemVIZWFkZXJzLCBzZXQsIG5vcm1hbGl6ZU5hbWUgfSBmcm9tICcuL2hlYWRlcnMnO1xuXG5kZXNjcmliZSgnUmVxdWVzdC9IZWxwZXJzL0hlYWRlcnMnLCAoKSA9PiB7XG5cbiAgZGVzY3JpYmUoJ3BhcnNlIGhlYWRlcnMnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gZW1wdHkgb2JqZWN0JywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHBhcnNlKG51bGwpKS50b0VxdWFsKHt9KTtcbiAgICB9KTtcblxuICAgIGl0KCdoZWFkZXJzIHdpdGggOiBzaG91bGQgcmV0dXJuIGVtcHR5IG9iamVjdCAnLCAoKSA9PiB7XG4gICAgICBjb25zdCBoZWFkZXJzID0gJzonO1xuICAgICAgZXhwZWN0KHBhcnNlKGhlYWRlcnMpKS50b0VxdWFsKHt9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIG9iamVjdCB3aXRoIGZyb20gZmlsZXN0YWNrLmNvbScsICgpID0+IHtcbiAgICAgIGNvbnN0IGhlYWRlcnMgPSAnZnJvbTpmaWxlc3RhY2suY29tXFxuZnJvbTpmaWxlc3RhY2suY29tJztcbiAgICAgIGV4cGVjdChwYXJzZShoZWFkZXJzKSkudG9FcXVhbCh7IGZyb206ICdmaWxlc3RhY2suY29tJyB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHNldC1jb29raWVzIGZhbHNlJywgKCkgPT4ge1xuICAgICAgY29uc3QgaGVhZGVycyA9ICdzZXQtY29va2llOmZhbHNlJztcbiAgICAgIGV4cGVjdChwYXJzZShoZWFkZXJzKSkudG9FcXVhbCh7ICdzZXQtY29va2llJzogWydmYWxzZSddIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBjb25jYXQgbXVsdGlwbGUgc2V0LWNvb2tpZSBoZWFkZXJzIGludG8gYXJyYXknLCAoKSA9PiB7XG4gICAgICBjb25zdCBoZWFkZXJzID0gJ3NldC1jb29raWU6dGVzdDFcXG5zZXQtY29va2llOnRlc3QyXFxuc2V0LWNvb2tpZTp0ZXN0Myc7XG4gICAgICBleHBlY3QocGFyc2UoaGVhZGVycykpLnRvRXF1YWwoeyAnc2V0LWNvb2tpZSc6IFsndGVzdDEnLCAndGVzdDInLCAndGVzdDMnXSB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgY29uY2F0IG11bHRpcGxlIG5vdCBpZ25vcmVkIGhlYWRlcnMgaW50byBzdHJpbmcnLCAoKSA9PiB7XG4gICAgICBjb25zdCBoZWFkZXJzID0gJ3Rlc3RoZWFkZXI6dGVzdDFcXG50ZXN0aGVhZGVyOnRlc3QyXFxudGVzdGhlYWRlcjp0ZXN0Myc7XG4gICAgICBleHBlY3QocGFyc2UoaGVhZGVycykpLnRvRXF1YWwoeyAndGVzdGhlYWRlcic6ICd0ZXN0MSwgdGVzdDIsIHRlc3QzJyB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ25vcm1hbGl6ZSBoZWFkZXJzJywgKCkgPT4ge1xuICAgIGl0KCdub3JtYWxpemUgaGVhZGVycyBzaG91bGQgcmV0dXJuIGVtcHR5IG9iamVjdCcsICgpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGV4cGVjdChub3JtYWxpemVIZWFkZXJzKCkpLnRvRXF1YWwoe30pO1xuICAgIH0pO1xuXG4gICAgaXQoJ25vcm1hbGl6ZSBoZWFkZXJzIHdpdGggc2V0LWNvb2tpZXMgZmFsc2UsIHNob3VsZCByZXR1cm4gZmFsc2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBkYXRhID0geyBbJ3NldC1jb29raWVzJ106ICdmYWxzZScgfTtcbiAgICAgIGV4cGVjdChub3JtYWxpemVIZWFkZXJzKGRhdGEpKS50b0VxdWFsKHsgJ1NldC1Db29raWVzJzogJ2ZhbHNlJyB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3NldCBoZWFkZXJzJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgc2V0IGNvcnJlY3QgaGVhZGVycyB0byBvYmplY3QnLCAoKSA9PiB7XG4gICAgICBleHBlY3Qoc2V0KHt9LCAnc2V0LWNvb2tpZXMnLCAndmFsdWUnKSkudG9FcXVhbCh7ICdTZXQtQ29va2llcyc6ICd2YWx1ZScgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNldCB2YWx1ZSBvbiBlbXB0eSBvYmplY3QgaWYgc2V0SUZFeGlzdHMgaXMgZW5hYmxlZCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChzZXQoe30sICduYW1lJywgJ3ZhbHVlJywgdHJ1ZSkpLnRvRXF1YWwoeyBOYW1lOiAndmFsdWUnIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBvdmVyd3JpdGUgdmFsdWUgaWYgc2V0SUZFeGlzdHMgaXMgZW5hYmxlZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGggPSB7XG4gICAgICAgIG5hbWU6ICd0ZXN0JyxcbiAgICAgIH07XG5cbiAgICAgIGV4cGVjdChzZXQoaCwgJ25hbWUnLCAndmFsdWUnLCB0cnVlKSkudG9FcXVhbCh7IE5hbWU6ICd2YWx1ZScgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG5vdCBvdmVyd3JpdGUgdmFsdWUgaWYgc2V0SUZFeGlzdHMgaXMgZGlzYWJsZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBoID0ge1xuICAgICAgICBuYW1lOiAndGVzdCcsXG4gICAgICB9O1xuXG4gICAgICBleHBlY3Qoc2V0KGgsICduYW1lJywgJ3ZhbHVlJywgZmFsc2UpKS50b0VxdWFsKHsgbmFtZTogJ3Rlc3QnIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBhbGxvdyB0byBhZGQgaGVhZGVyIHRvIG5vdCBlbXB0eSBvYmplY3QnLCAoKSA9PiB7XG4gICAgICBjb25zdCBkYXRhID0geyAnd3d3LWF1dGhlbnRpY2F0ZSc6ICcnIH07XG5cbiAgICAgIGV4cGVjdChzZXQoZGF0YSwgJ25hbWUnLCAndmFsdWUnKSkudG9FcXVhbCh7IE5hbWU6ICd2YWx1ZScsICd3d3ctYXV0aGVudGljYXRlJzogJycgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdub3JtYWxpemUgbmFtZScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiBzdHJpbmcgdG8gZXF1YWwgV1dXLUF1dGhlbnRpY2F0ZScsICgpID0+IHtcbiAgICAgIGV4cGVjdChub3JtYWxpemVOYW1lKCd3d3ctYXV0aGVudGljYXRlJykpLnRvRXF1YWwoJ1dXVy1BdXRoZW50aWNhdGUnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIENvbnRlbnQtVHlwZScsICgpID0+IHtcbiAgICAgIGV4cGVjdChub3JtYWxpemVOYW1lKCdjb250ZW50LXR5cGUnKSkudG9CZSgnQ29udGVudC1UeXBlJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL2hlYWRlcnMuc3BlYy5icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7O0FBRUgscUNBQXdFO0FBRXhFLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRTtJQUVsQyxRQUFRLENBQUMsZUFBZSxFQUFFO1FBQ3hCLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRTtZQUMvQixNQUFNLENBQUMsSUFBQSxlQUFLLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsNENBQTRDLEVBQUU7WUFDL0MsSUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDO1lBQ3BCLE1BQU0sQ0FBQyxJQUFBLGVBQUssRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRTtZQUNqRCxJQUFNLE9BQU8sR0FBRyx3Q0FBd0MsQ0FBQztZQUN6RCxNQUFNLENBQUMsSUFBQSxlQUFLLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRTtZQUNwQyxJQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQztZQUNuQyxNQUFNLENBQUMsSUFBQSxlQUFLLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsc0RBQXNELEVBQUU7WUFDekQsSUFBTSxPQUFPLEdBQUcsc0RBQXNELENBQUM7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LENBQUMsZ0JBQWdCLEVBQUU7UUFDekIsRUFBRSxDQUFDLGdEQUFnRCxFQUFFO1lBQ25ELE1BQU0sQ0FBQyxJQUFBLHVCQUFhLEVBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3hFLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDRCQUE0QixFQUFFO1lBQy9CLE1BQU0sQ0FBQyxJQUFBLHVCQUFhLEVBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2hlbHBlcnMvaGVhZGVycy5zcGVjLmJyb3dzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IHBhcnNlLCBub3JtYWxpemVIZWFkZXJzLCBzZXQsIG5vcm1hbGl6ZU5hbWUgfSBmcm9tICcuL2hlYWRlcnMnO1xuXG5kZXNjcmliZSgnUmVxdWVzdC9IZWxwZXJzL0hlYWRlcnMnLCAoKSA9PiB7XG5cbiAgZGVzY3JpYmUoJ3BhcnNlIGhlYWRlcnMnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gZW1wdHkgb2JqZWN0JywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHBhcnNlKG51bGwpKS50b0VxdWFsKHt9KTtcbiAgICB9KTtcblxuICAgIGl0KCdoZWFkZXJzIHdpdGggOiBzaG91bGQgcmV0dXJuIGVtcHR5IG9iamVjdCAnLCAoKSA9PiB7XG4gICAgICBjb25zdCBoZWFkZXJzID0gJzonO1xuICAgICAgZXhwZWN0KHBhcnNlKGhlYWRlcnMpKS50b0VxdWFsKHt9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIG9iamVjdCB3aXRoIGZyb20gZmlsZXN0YWNrLmNvbScsICgpID0+IHtcbiAgICAgIGNvbnN0IGhlYWRlcnMgPSAnZnJvbTpmaWxlc3RhY2suY29tXFxuZnJvbTpmaWxlc3RhY2suY29tJztcbiAgICAgIGV4cGVjdChwYXJzZShoZWFkZXJzKSkudG9FcXVhbCh7IGZyb206ICdmaWxlc3RhY2suY29tJyB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHNldC1jb29raWVzIGZhbHNlJywgKCkgPT4ge1xuICAgICAgY29uc3QgaGVhZGVycyA9ICdzZXQtY29va2llOmZhbHNlJztcbiAgICAgIGV4cGVjdChwYXJzZShoZWFkZXJzKSkudG9FcXVhbCh7ICdzZXQtY29va2llJzogWydmYWxzZSddIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBjb25jYXQgbXVsdGlwbGUgc2V0LWNvb2tpZSBoZWFkZXJzIGludG8gYXJyYXknLCAoKSA9PiB7XG4gICAgICBjb25zdCBoZWFkZXJzID0gJ3NldC1jb29raWU6dGVzdDFcXG5zZXQtY29va2llOnRlc3QyXFxuc2V0LWNvb2tpZTp0ZXN0Myc7XG4gICAgICBleHBlY3QocGFyc2UoaGVhZGVycykpLnRvRXF1YWwoeyAnc2V0LWNvb2tpZSc6IFsndGVzdDEnLCAndGVzdDInLCAndGVzdDMnXSB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgY29uY2F0IG11bHRpcGxlIG5vdCBpZ25vcmVkIGhlYWRlcnMgaW50byBzdHJpbmcnLCAoKSA9PiB7XG4gICAgICBjb25zdCBoZWFkZXJzID0gJ3Rlc3RoZWFkZXI6dGVzdDFcXG50ZXN0aGVhZGVyOnRlc3QyXFxudGVzdGhlYWRlcjp0ZXN0Myc7XG4gICAgICBleHBlY3QocGFyc2UoaGVhZGVycykpLnRvRXF1YWwoeyAndGVzdGhlYWRlcic6ICd0ZXN0MSwgdGVzdDIsIHRlc3QzJyB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ25vcm1hbGl6ZSBoZWFkZXJzJywgKCkgPT4ge1xuICAgIGl0KCdub3JtYWxpemUgaGVhZGVycyBzaG91bGQgcmV0dXJuIGVtcHR5IG9iamVjdCcsICgpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGV4cGVjdChub3JtYWxpemVIZWFkZXJzKCkpLnRvRXF1YWwoe30pO1xuICAgIH0pO1xuXG4gICAgaXQoJ25vcm1hbGl6ZSBoZWFkZXJzIHdpdGggc2V0LWNvb2tpZXMgZmFsc2UsIHNob3VsZCByZXR1cm4gZmFsc2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBkYXRhID0geyBbJ3NldC1jb29raWVzJ106ICdmYWxzZScgfTtcbiAgICAgIGV4cGVjdChub3JtYWxpemVIZWFkZXJzKGRhdGEpKS50b0VxdWFsKHsgJ1NldC1Db29raWVzJzogJ2ZhbHNlJyB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3NldCBoZWFkZXJzJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgc2V0IGNvcnJlY3QgaGVhZGVycyB0byBvYmplY3QnLCAoKSA9PiB7XG4gICAgICBleHBlY3Qoc2V0KHt9LCAnc2V0LWNvb2tpZXMnLCAndmFsdWUnKSkudG9FcXVhbCh7ICdTZXQtQ29va2llcyc6ICd2YWx1ZScgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNldCB2YWx1ZSBvbiBlbXB0eSBvYmplY3QgaWYgc2V0SUZFeGlzdHMgaXMgZW5hYmxlZCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChzZXQoe30sICduYW1lJywgJ3ZhbHVlJywgdHJ1ZSkpLnRvRXF1YWwoeyBOYW1lOiAndmFsdWUnIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBvdmVyd3JpdGUgdmFsdWUgaWYgc2V0SUZFeGlzdHMgaXMgZW5hYmxlZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGggPSB7XG4gICAgICAgIG5hbWU6ICd0ZXN0JyxcbiAgICAgIH07XG5cbiAgICAgIGV4cGVjdChzZXQoaCwgJ25hbWUnLCAndmFsdWUnLCB0cnVlKSkudG9FcXVhbCh7IE5hbWU6ICd2YWx1ZScgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG5vdCBvdmVyd3JpdGUgdmFsdWUgaWYgc2V0SUZFeGlzdHMgaXMgZGlzYWJsZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBoID0ge1xuICAgICAgICBuYW1lOiAndGVzdCcsXG4gICAgICB9O1xuXG4gICAgICBleHBlY3Qoc2V0KGgsICduYW1lJywgJ3ZhbHVlJywgZmFsc2UpKS50b0VxdWFsKHsgbmFtZTogJ3Rlc3QnIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBhbGxvdyB0byBhZGQgaGVhZGVyIHRvIG5vdCBlbXB0eSBvYmplY3QnLCAoKSA9PiB7XG4gICAgICBjb25zdCBkYXRhID0geyAnd3d3LWF1dGhlbnRpY2F0ZSc6ICcnIH07XG5cbiAgICAgIGV4cGVjdChzZXQoZGF0YSwgJ25hbWUnLCAndmFsdWUnKSkudG9FcXVhbCh7IE5hbWU6ICd2YWx1ZScsICd3d3ctYXV0aGVudGljYXRlJzogJycgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdub3JtYWxpemUgbmFtZScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiBzdHJpbmcgdG8gZXF1YWwgV1dXLUF1dGhlbnRpY2F0ZScsICgpID0+IHtcbiAgICAgIGV4cGVjdChub3JtYWxpemVOYW1lKCd3d3ctYXV0aGVudGljYXRlJykpLnRvRXF1YWwoJ1dXVy1BdXRoZW50aWNhdGUnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIENvbnRlbnQtVHlwZScsICgpID0+IHtcbiAgICAgIGV4cGVjdChub3JtYWxpemVOYW1lKCdjb250ZW50LXR5cGUnKSkudG9CZSgnQ29udGVudC1UeXBlJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=

@@ -19,5 +19,7 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.shouldRetry = void 0;
var tslib_1 = require("tslib");
var error_1 = require("./../error");
var debug_1 = require("debug");
var debug = debug_1.default('fs:request:shouldRetry');
var debug_1 = tslib_1.__importDefault(require("debug"));
var debug = (0, debug_1.default)('fs:request:shouldRetry');
/**

@@ -31,3 +33,3 @@ * Indicates if method should be retried

*/
exports.shouldRetry = function (err) {
var shouldRetry = function (err) {
debug('Checking error for retry. Code: %n, type: %s', (err.response ? err.response.status : 'Malformed response'), err.code);

@@ -55,3 +57,4 @@ // we always should retry on network failure

};
exports.shouldRetry = shouldRetry;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL3Nob3VsZFJldHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7O0FBRUgsb0NBQWdFO0FBQ2hFLCtCQUEwQjtBQUUxQixJQUFNLEtBQUssR0FBRyxlQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUU5Qzs7Ozs7OztHQU9HO0FBQ1UsUUFBQSxXQUFXLEdBQUcsVUFBQyxHQUFtQjtJQUM3QyxLQUFLLENBQUMsOENBQThDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFN0gsNENBQTRDO0lBQzVDLFFBQVEsR0FBRyxDQUFDLElBQUksRUFBRTtRQUNoQixLQUFLLDBCQUFrQixDQUFDLE9BQU8sQ0FBQztRQUNoQyxLQUFLLDBCQUFrQixDQUFDLE1BQU0sQ0FBQztRQUMvQixLQUFLLDBCQUFrQixDQUFDLE9BQU87WUFDN0IsT0FBTyxJQUFJLENBQUM7UUFDZCxnREFBZ0Q7UUFDaEQsS0FBSywwQkFBa0IsQ0FBQyxPQUFPO1lBQzdCLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0lBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUU7UUFDakIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELDZDQUE2QztJQUM3QyxxRUFBcUU7SUFDckUsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksR0FBRyxFQUFFO1FBQzVELE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCwrREFBK0Q7SUFDL0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUMiLCJmaWxlIjoibGliL3JlcXVlc3QvaGVscGVycy9zaG91bGRSZXRyeS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgRnNSZXF1ZXN0RXJyb3IsIEZzUmVxdWVzdEVycm9yQ29kZSB9IGZyb20gJy4vLi4vZXJyb3InO1xuaW1wb3J0IERlYnVnIGZyb20gJ2RlYnVnJztcblxuY29uc3QgZGVidWcgPSBEZWJ1ZygnZnM6cmVxdWVzdDpzaG91bGRSZXRyeScpO1xuXG4vKipcbiAqIEluZGljYXRlcyBpZiBtZXRob2Qgc2hvdWxkIGJlIHJldHJpZWRcbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGc1JlcXVlc3RFcnJvcn0gZXJyXG4gKiBAcmV0dXJuc1xuICogQG1lbWJlcm9mIERpc3BhdGNoXG4gKi9cbmV4cG9ydCBjb25zdCBzaG91bGRSZXRyeSA9IChlcnI6IEZzUmVxdWVzdEVycm9yKSA9PiB7XG4gIGRlYnVnKCdDaGVja2luZyBlcnJvciBmb3IgcmV0cnkuIENvZGU6ICVuLCB0eXBlOiAlcycsIChlcnIucmVzcG9uc2UgPyBlcnIucmVzcG9uc2Uuc3RhdHVzIDogJ01hbGZvcm1lZCByZXNwb25zZScpLCBlcnIuY29kZSk7XG5cbiAgLy8gd2UgYWx3YXlzIHNob3VsZCByZXRyeSBvbiBuZXR3b3JrIGZhaWx1cmVcbiAgc3dpdGNoIChlcnIuY29kZSkge1xuICAgIGNhc2UgRnNSZXF1ZXN0RXJyb3JDb2RlLk5FVFdPUks6XG4gICAgY2FzZSBGc1JlcXVlc3RFcnJvckNvZGUuU0VSVkVSOlxuICAgIGNhc2UgRnNSZXF1ZXN0RXJyb3JDb2RlLlRJTUVPVVQ6XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICAvLyB3ZSBzaG91bGQgbm90IG1ha2UgcmVxdWVzdCBvbiByZXF1ZXN0IGFib3J0ZWRcbiAgICBjYXNlIEZzUmVxdWVzdEVycm9yQ29kZS5BQk9SVEVEOlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFlcnIucmVzcG9uc2UpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyB3ZSBzaG91bGQgcmV0cnkgb24gYWxsIHNlcnZlciBlcnJvcnMgKDV4eClcbiAgLy8gdGhpcyBzaG91bGQgYmUgaGFuZGxlZCBieSBGc1JlcXVlc3RFcnJvckNvZGUuU0VSVkVSIGJ1dCB0byBiZSBzdXJlXG4gIGlmICg1MDAgPD0gZXJyLnJlc3BvbnNlLnN0YXR1cyAmJiBlcnIucmVzcG9uc2Uuc3RhdHVzIDw9IDU5OSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gd2Ugc2hvdWxkIG5vdCByZXRyeSBvbiBvdGhlciBlcnJvcnMgKDR4eCkgaWU6IEJhZFJlcXVlc3QgZXRjXG4gIHJldHVybiBmYWxzZTtcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL3Nob3VsZFJldHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7Ozs7QUFFSCxvQ0FBZ0U7QUFDaEUsd0RBQTBCO0FBRTFCLElBQU0sS0FBSyxHQUFHLElBQUEsZUFBSyxFQUFDLHdCQUF3QixDQUFDLENBQUM7QUFFOUM7Ozs7Ozs7R0FPRztBQUNJLElBQU0sV0FBVyxHQUFHLFVBQUMsR0FBbUI7SUFDN0MsS0FBSyxDQUFDLDhDQUE4QyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTdILDRDQUE0QztJQUM1QyxRQUFRLEdBQUcsQ0FBQyxJQUFJLEVBQUU7UUFDaEIsS0FBSywwQkFBa0IsQ0FBQyxPQUFPLENBQUM7UUFDaEMsS0FBSywwQkFBa0IsQ0FBQyxNQUFNLENBQUM7UUFDL0IsS0FBSywwQkFBa0IsQ0FBQyxPQUFPO1lBQzdCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsZ0RBQWdEO1FBQ2hELEtBQUssMEJBQWtCLENBQUMsT0FBTztZQUM3QixPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUVELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFO1FBQ2pCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCw2Q0FBNkM7SUFDN0MscUVBQXFFO0lBQ3JFLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLEdBQUcsRUFBRTtRQUM1RCxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsK0RBQStEO0lBQy9ELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBMUJXLFFBQUEsV0FBVyxlQTBCdEIiLCJmaWxlIjoibGliL3JlcXVlc3QvaGVscGVycy9zaG91bGRSZXRyeS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgRnNSZXF1ZXN0RXJyb3IsIEZzUmVxdWVzdEVycm9yQ29kZSB9IGZyb20gJy4vLi4vZXJyb3InO1xuaW1wb3J0IERlYnVnIGZyb20gJ2RlYnVnJztcblxuY29uc3QgZGVidWcgPSBEZWJ1ZygnZnM6cmVxdWVzdDpzaG91bGRSZXRyeScpO1xuXG4vKipcbiAqIEluZGljYXRlcyBpZiBtZXRob2Qgc2hvdWxkIGJlIHJldHJpZWRcbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGc1JlcXVlc3RFcnJvcn0gZXJyXG4gKiBAcmV0dXJuc1xuICogQG1lbWJlcm9mIERpc3BhdGNoXG4gKi9cbmV4cG9ydCBjb25zdCBzaG91bGRSZXRyeSA9IChlcnI6IEZzUmVxdWVzdEVycm9yKSA9PiB7XG4gIGRlYnVnKCdDaGVja2luZyBlcnJvciBmb3IgcmV0cnkuIENvZGU6ICVuLCB0eXBlOiAlcycsIChlcnIucmVzcG9uc2UgPyBlcnIucmVzcG9uc2Uuc3RhdHVzIDogJ01hbGZvcm1lZCByZXNwb25zZScpLCBlcnIuY29kZSk7XG5cbiAgLy8gd2UgYWx3YXlzIHNob3VsZCByZXRyeSBvbiBuZXR3b3JrIGZhaWx1cmVcbiAgc3dpdGNoIChlcnIuY29kZSkge1xuICAgIGNhc2UgRnNSZXF1ZXN0RXJyb3JDb2RlLk5FVFdPUks6XG4gICAgY2FzZSBGc1JlcXVlc3RFcnJvckNvZGUuU0VSVkVSOlxuICAgIGNhc2UgRnNSZXF1ZXN0RXJyb3JDb2RlLlRJTUVPVVQ6XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICAvLyB3ZSBzaG91bGQgbm90IG1ha2UgcmVxdWVzdCBvbiByZXF1ZXN0IGFib3J0ZWRcbiAgICBjYXNlIEZzUmVxdWVzdEVycm9yQ29kZS5BQk9SVEVEOlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFlcnIucmVzcG9uc2UpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyB3ZSBzaG91bGQgcmV0cnkgb24gYWxsIHNlcnZlciBlcnJvcnMgKDV4eClcbiAgLy8gdGhpcyBzaG91bGQgYmUgaGFuZGxlZCBieSBGc1JlcXVlc3RFcnJvckNvZGUuU0VSVkVSIGJ1dCB0byBiZSBzdXJlXG4gIGlmICg1MDAgPD0gZXJyLnJlc3BvbnNlLnN0YXR1cyAmJiBlcnIucmVzcG9uc2Uuc3RhdHVzIDw9IDU5OSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gd2Ugc2hvdWxkIG5vdCByZXRyeSBvbiBvdGhlciBlcnJvcnMgKDR4eCkgaWU6IEJhZFJlcXVlc3QgZXRjXG4gIHJldHVybiBmYWxzZTtcbn07XG4iXX0=

@@ -34,25 +34,25 @@ "use strict";

it('should retry on network error', function () {
expect(shouldRetry_1.shouldRetry(new error_1.FsRequestError('', null, testResponse(), error_1.FsRequestErrorCode.NETWORK))).toEqual(true);
expect((0, shouldRetry_1.shouldRetry)(new error_1.FsRequestError('', null, testResponse(), error_1.FsRequestErrorCode.NETWORK))).toEqual(true);
});
it('should retry on server error', function () {
expect(shouldRetry_1.shouldRetry(new error_1.FsRequestError('', null, testResponse(), error_1.FsRequestErrorCode.SERVER))).toEqual(true);
expect((0, shouldRetry_1.shouldRetry)(new error_1.FsRequestError('', null, testResponse(), error_1.FsRequestErrorCode.SERVER))).toEqual(true);
});
it('should retry on server error', function () {
expect(shouldRetry_1.shouldRetry(new error_1.FsRequestError('', null, testResponse(), error_1.FsRequestErrorCode.TIMEOUT))).toEqual(true);
expect((0, shouldRetry_1.shouldRetry)(new error_1.FsRequestError('', null, testResponse(), error_1.FsRequestErrorCode.TIMEOUT))).toEqual(true);
});
it('should retry on request 5xx code', function () {
// @ts-ignore
expect(shouldRetry_1.shouldRetry(new error_1.FsRequestError('', null, testResponse(504), error_1.FsRequestErrorCode.OTHER))).toEqual(true);
expect((0, shouldRetry_1.shouldRetry)(new error_1.FsRequestError('', null, testResponse(504), error_1.FsRequestErrorCode.OTHER))).toEqual(true);
});
it('should not retry on 4xx codes', function () {
// @ts-ignore
expect(shouldRetry_1.shouldRetry(new error_1.FsRequestError('', null, testResponse(404), error_1.FsRequestErrorCode.REQUEST))).toEqual(false);
expect((0, shouldRetry_1.shouldRetry)(new error_1.FsRequestError('', null, testResponse(404), error_1.FsRequestErrorCode.REQUEST))).toEqual(false);
});
it('should not retry on request error', function () {
// @ts-ignore
expect(shouldRetry_1.shouldRetry(new error_1.FsRequestError('', null, testResponse(), error_1.FsRequestErrorCode.REQUEST))).toEqual(false);
expect((0, shouldRetry_1.shouldRetry)(new error_1.FsRequestError('', null, testResponse(), error_1.FsRequestErrorCode.REQUEST))).toEqual(false);
});
it('should not retry on request aborted', function () {
// @ts-ignore
expect(shouldRetry_1.shouldRetry(new error_1.FsRequestError('', null, testResponse(), error_1.FsRequestErrorCode.ABORTED))).toEqual(false);
expect((0, shouldRetry_1.shouldRetry)(new error_1.FsRequestError('', null, testResponse(), error_1.FsRequestErrorCode.ABORTED))).toEqual(false);
});

@@ -62,2 +62,2 @@ });

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL3Nob3VsZFJldHJ5LnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFFSCw2Q0FBNEM7QUFDNUMsa0NBQThEO0FBRzlELElBQU0sWUFBWSxHQUFHLFVBQUMsSUFBa0I7SUFBbEIscUJBQUEsRUFBQSxVQUFrQjtJQUFpQixPQUFBLENBQUM7UUFDeEQsTUFBTSxFQUFFLElBQUk7UUFDWixVQUFVLEVBQUUsTUFBTTtRQUNsQixPQUFPLEVBQUUsRUFBRTtRQUNYLElBQUksRUFBRSxFQUFFO1FBQ1IsTUFBTSxFQUFFLEVBQUU7S0FDWCxDQUFDO0FBTnVELENBTXZELENBQUM7QUFFSCxRQUFRLENBQUMsNkJBQTZCLEVBQUU7SUFDdEMsUUFBUSxDQUFDLGFBQWEsRUFBRTtRQUN0QixFQUFFLENBQUMsK0JBQStCLEVBQUU7WUFDbEMsTUFBTSxDQUFDLHlCQUFXLENBQUMsSUFBSSxzQkFBYyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsMEJBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw4QkFBOEIsRUFBRTtZQUNqQyxNQUFNLENBQUMseUJBQVcsQ0FBQyxJQUFJLHNCQUFjLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSwwQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdHLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDhCQUE4QixFQUFFO1lBQ2pDLE1BQU0sQ0FBQyx5QkFBVyxDQUFDLElBQUksc0JBQWMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFLDBCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUcsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsa0NBQWtDLEVBQUU7WUFDckMsYUFBYTtZQUNiLE1BQU0sQ0FBQyx5QkFBVyxDQUFDLElBQUksc0JBQWMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSwwQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9HLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLCtCQUErQixFQUFFO1lBQ2xDLGFBQWE7WUFDYixNQUFNLENBQUMseUJBQVcsQ0FBQyxJQUFJLHNCQUFjLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsMEJBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsSCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxtQ0FBbUMsRUFBRTtZQUN0QyxhQUFhO1lBQ2IsTUFBTSxDQUFDLHlCQUFXLENBQUMsSUFBSSxzQkFBYyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsMEJBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxxQ0FBcUMsRUFBRTtZQUN4QyxhQUFhO1lBQ2IsTUFBTSxDQUFDLHlCQUFXLENBQUMsSUFBSSxzQkFBYyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsMEJBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL3JlcXVlc3QvaGVscGVycy9zaG91bGRSZXRyeS5zcGVjLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBzaG91bGRSZXRyeSB9IGZyb20gJy4vc2hvdWxkUmV0cnknO1xuaW1wb3J0IHsgRnNSZXF1ZXN0RXJyb3JDb2RlLCBGc1JlcXVlc3RFcnJvciB9IGZyb20gJy4uL2Vycm9yJztcbmltcG9ydCB7IEZzUmVzcG9uc2UgfSBmcm9tICcuLy4uL3R5cGVzJztcblxuY29uc3QgdGVzdFJlc3BvbnNlID0gKGNvZGU6IG51bWJlciA9IDIwMCk6IEZzUmVzcG9uc2UgPT4gKHtcbiAgc3RhdHVzOiBjb2RlLFxuICBzdGF0dXNUZXh0OiAndGVzdCcsXG4gIGhlYWRlcnM6IHt9LFxuICBkYXRhOiB7fSxcbiAgY29uZmlnOiB7fSxcbn0pO1xuXG5kZXNjcmliZSgnUmVxdWVzdC9IZWxwZXJzL3Nob3VsZFJldHJ5JywgKCkgPT4ge1xuICBkZXNjcmliZSgnc2hvdWxkUmV0cnknLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXRyeSBvbiBuZXR3b3JrIGVycm9yJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHNob3VsZFJldHJ5KG5ldyBGc1JlcXVlc3RFcnJvcignJywgbnVsbCwgdGVzdFJlc3BvbnNlKCksIEZzUmVxdWVzdEVycm9yQ29kZS5ORVRXT1JLKSkpLnRvRXF1YWwodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHJ5IG9uIHNlcnZlciBlcnJvcicsICgpID0+IHtcbiAgICAgIGV4cGVjdChzaG91bGRSZXRyeShuZXcgRnNSZXF1ZXN0RXJyb3IoJycsIG51bGwsIHRlc3RSZXNwb25zZSgpLCBGc1JlcXVlc3RFcnJvckNvZGUuU0VSVkVSKSkpLnRvRXF1YWwodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHJ5IG9uIHNlcnZlciBlcnJvcicsICgpID0+IHtcbiAgICAgIGV4cGVjdChzaG91bGRSZXRyeShuZXcgRnNSZXF1ZXN0RXJyb3IoJycsIG51bGwsIHRlc3RSZXNwb25zZSgpLCBGc1JlcXVlc3RFcnJvckNvZGUuVElNRU9VVCkpKS50b0VxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXRyeSBvbiByZXF1ZXN0IDV4eCBjb2RlJywgKCkgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KHNob3VsZFJldHJ5KG5ldyBGc1JlcXVlc3RFcnJvcignJywgbnVsbCwgdGVzdFJlc3BvbnNlKDUwNCksIEZzUmVxdWVzdEVycm9yQ29kZS5PVEhFUikpKS50b0VxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBub3QgcmV0cnkgb24gNHh4IGNvZGVzJywgKCkgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KHNob3VsZFJldHJ5KG5ldyBGc1JlcXVlc3RFcnJvcignJywgbnVsbCwgdGVzdFJlc3BvbnNlKDQwNCksIEZzUmVxdWVzdEVycm9yQ29kZS5SRVFVRVNUKSkpLnRvRXF1YWwoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBub3QgcmV0cnkgb24gcmVxdWVzdCBlcnJvcicsICgpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGV4cGVjdChzaG91bGRSZXRyeShuZXcgRnNSZXF1ZXN0RXJyb3IoJycsIG51bGwsIHRlc3RSZXNwb25zZSgpLCBGc1JlcXVlc3RFcnJvckNvZGUuUkVRVUVTVCkpKS50b0VxdWFsKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbm90IHJldHJ5IG9uIHJlcXVlc3QgYWJvcnRlZCcsICgpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGV4cGVjdChzaG91bGRSZXRyeShuZXcgRnNSZXF1ZXN0RXJyb3IoJycsIG51bGwsIHRlc3RSZXNwb25zZSgpLCBGc1JlcXVlc3RFcnJvckNvZGUuQUJPUlRFRCkpKS50b0VxdWFsKGZhbHNlKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL3Nob3VsZFJldHJ5LnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFFSCw2Q0FBNEM7QUFDNUMsa0NBQThEO0FBRzlELElBQU0sWUFBWSxHQUFHLFVBQUMsSUFBa0I7SUFBbEIscUJBQUEsRUFBQSxVQUFrQjtJQUFpQixPQUFBLENBQUM7UUFDeEQsTUFBTSxFQUFFLElBQUk7UUFDWixVQUFVLEVBQUUsTUFBTTtRQUNsQixPQUFPLEVBQUUsRUFBRTtRQUNYLElBQUksRUFBRSxFQUFFO1FBQ1IsTUFBTSxFQUFFLEVBQUU7S0FDWCxDQUFDO0FBTnVELENBTXZELENBQUM7QUFFSCxRQUFRLENBQUMsNkJBQTZCLEVBQUU7SUFDdEMsUUFBUSxDQUFDLGFBQWEsRUFBRTtRQUN0QixFQUFFLENBQUMsK0JBQStCLEVBQUU7WUFDbEMsTUFBTSxDQUFDLElBQUEseUJBQVcsRUFBQyxJQUFJLHNCQUFjLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSwwQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlHLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDhCQUE4QixFQUFFO1lBQ2pDLE1BQU0sQ0FBQyxJQUFBLHlCQUFXLEVBQUMsSUFBSSxzQkFBYyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsMEJBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw4QkFBOEIsRUFBRTtZQUNqQyxNQUFNLENBQUMsSUFBQSx5QkFBVyxFQUFDLElBQUksc0JBQWMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFLDBCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUcsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsa0NBQWtDLEVBQUU7WUFDckMsYUFBYTtZQUNiLE1BQU0sQ0FBQyxJQUFBLHlCQUFXLEVBQUMsSUFBSSxzQkFBYyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLDBCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0csQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsK0JBQStCLEVBQUU7WUFDbEMsYUFBYTtZQUNiLE1BQU0sQ0FBQyxJQUFBLHlCQUFXLEVBQUMsSUFBSSxzQkFBYyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLDBCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEgsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsbUNBQW1DLEVBQUU7WUFDdEMsYUFBYTtZQUNiLE1BQU0sQ0FBQyxJQUFBLHlCQUFXLEVBQUMsSUFBSSxzQkFBYyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsMEJBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxxQ0FBcUMsRUFBRTtZQUN4QyxhQUFhO1lBQ2IsTUFBTSxDQUFDLElBQUEseUJBQVcsRUFBQyxJQUFJLHNCQUFjLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSwwQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9HLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvcmVxdWVzdC9oZWxwZXJzL3Nob3VsZFJldHJ5LnNwZWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IHNob3VsZFJldHJ5IH0gZnJvbSAnLi9zaG91bGRSZXRyeSc7XG5pbXBvcnQgeyBGc1JlcXVlc3RFcnJvckNvZGUsIEZzUmVxdWVzdEVycm9yIH0gZnJvbSAnLi4vZXJyb3InO1xuaW1wb3J0IHsgRnNSZXNwb25zZSB9IGZyb20gJy4vLi4vdHlwZXMnO1xuXG5jb25zdCB0ZXN0UmVzcG9uc2UgPSAoY29kZTogbnVtYmVyID0gMjAwKTogRnNSZXNwb25zZSA9PiAoe1xuICBzdGF0dXM6IGNvZGUsXG4gIHN0YXR1c1RleHQ6ICd0ZXN0JyxcbiAgaGVhZGVyczoge30sXG4gIGRhdGE6IHt9LFxuICBjb25maWc6IHt9LFxufSk7XG5cbmRlc2NyaWJlKCdSZXF1ZXN0L0hlbHBlcnMvc2hvdWxkUmV0cnknLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdzaG91bGRSZXRyeScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHJ5IG9uIG5ldHdvcmsgZXJyb3InLCAoKSA9PiB7XG4gICAgICBleHBlY3Qoc2hvdWxkUmV0cnkobmV3IEZzUmVxdWVzdEVycm9yKCcnLCBudWxsLCB0ZXN0UmVzcG9uc2UoKSwgRnNSZXF1ZXN0RXJyb3JDb2RlLk5FVFdPUkspKSkudG9FcXVhbCh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0cnkgb24gc2VydmVyIGVycm9yJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHNob3VsZFJldHJ5KG5ldyBGc1JlcXVlc3RFcnJvcignJywgbnVsbCwgdGVzdFJlc3BvbnNlKCksIEZzUmVxdWVzdEVycm9yQ29kZS5TRVJWRVIpKSkudG9FcXVhbCh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0cnkgb24gc2VydmVyIGVycm9yJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHNob3VsZFJldHJ5KG5ldyBGc1JlcXVlc3RFcnJvcignJywgbnVsbCwgdGVzdFJlc3BvbnNlKCksIEZzUmVxdWVzdEVycm9yQ29kZS5USU1FT1VUKSkpLnRvRXF1YWwodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHJ5IG9uIHJlcXVlc3QgNXh4IGNvZGUnLCAoKSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3Qoc2hvdWxkUmV0cnkobmV3IEZzUmVxdWVzdEVycm9yKCcnLCBudWxsLCB0ZXN0UmVzcG9uc2UoNTA0KSwgRnNSZXF1ZXN0RXJyb3JDb2RlLk9USEVSKSkpLnRvRXF1YWwodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG5vdCByZXRyeSBvbiA0eHggY29kZXMnLCAoKSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3Qoc2hvdWxkUmV0cnkobmV3IEZzUmVxdWVzdEVycm9yKCcnLCBudWxsLCB0ZXN0UmVzcG9uc2UoNDA0KSwgRnNSZXF1ZXN0RXJyb3JDb2RlLlJFUVVFU1QpKSkudG9FcXVhbChmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG5vdCByZXRyeSBvbiByZXF1ZXN0IGVycm9yJywgKCkgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KHNob3VsZFJldHJ5KG5ldyBGc1JlcXVlc3RFcnJvcignJywgbnVsbCwgdGVzdFJlc3BvbnNlKCksIEZzUmVxdWVzdEVycm9yQ29kZS5SRVFVRVNUKSkpLnRvRXF1YWwoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBub3QgcmV0cnkgb24gcmVxdWVzdCBhYm9ydGVkJywgKCkgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KHNob3VsZFJldHJ5KG5ldyBGc1JlcXVlc3RFcnJvcignJywgbnVsbCwgdGVzdFJlc3BvbnNlKCksIEZzUmVxdWVzdEVycm9yQ29kZS5BQk9SVEVEKSkpLnRvRXF1YWwoZmFsc2UpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.urlfy = exports.combineURL = void 0;
/**

@@ -26,7 +27,7 @@ * Combine url with qs parameters

*/
exports.combineURL = function (url, params) {
var combineURL = function (url, params) {
if (!params) {
return url;
}
var serialized = exports.urlfy(params);
var serialized = (0, exports.urlfy)(params);
var hashIndex = url.indexOf('#');

@@ -38,2 +39,3 @@ if (hashIndex !== -1) {

};
exports.combineURL = combineURL;
/**

@@ -44,9 +46,10 @@ * Change request json params to url search ones

*/
exports.urlfy = function (val) {
var urlfy = function (val) {
return Object.keys(val)
.filter(function (k) { return k && typeof val[k] !== 'undefined'; })
.map(function (k) { return encodeURIComponent(k) + "=" + encodeURIComponent(val[k]); })
.map(function (k) { return "".concat(encodeURIComponent(k), "=").concat(encodeURIComponent(val[k])); })
.join('&');
};
exports.urlfy = urlfy;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL3VybC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUVIOzs7OztHQUtHO0FBQ1UsUUFBQSxVQUFVLEdBQUcsVUFBQyxHQUFHLEVBQUUsTUFBTTtJQUNwQyxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ1gsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUVELElBQU0sVUFBVSxHQUFHLGFBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxJQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRW5DLElBQUksU0FBUyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQ3BCLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztLQUMvQjtJQUVELE9BQU8sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUM7QUFDbEUsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNVLFFBQUEsS0FBSyxHQUFHLFVBQUEsR0FBRztJQUN0QixPQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ2IsTUFBTSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLFdBQVcsRUFBbEMsQ0FBa0MsQ0FBQztTQUMvQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsU0FBSSxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUcsRUFBeEQsQ0FBd0QsQ0FBQztTQUNsRSxJQUFJLENBQUMsR0FBRyxDQUFDO0FBSFosQ0FHWSxDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2hlbHBlcnMvdXJsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKipcbiAqIENvbWJpbmUgdXJsIHdpdGggcXMgcGFyYW1ldGVyc1xuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSB1cmwgYmFzZSB1cmxcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgUXVlcnkgc3RyaW5nIHBhcmFtcyBvYmplY3RcbiAqL1xuZXhwb3J0IGNvbnN0IGNvbWJpbmVVUkwgPSAodXJsLCBwYXJhbXMpID0+IHtcbiAgaWYgKCFwYXJhbXMpIHtcbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgY29uc3Qgc2VyaWFsaXplZCA9IHVybGZ5KHBhcmFtcyk7XG4gIGNvbnN0IGhhc2hJbmRleCA9IHVybC5pbmRleE9mKCcjJyk7XG5cbiAgaWYgKGhhc2hJbmRleCAhPT0gLTEpIHtcbiAgICB1cmwgPSB1cmwuc2xpY2UoMCwgaGFzaEluZGV4KTtcbiAgfVxuXG4gIHJldHVybiB1cmwgKyAodXJsLmluZGV4T2YoJz8nKSA9PT0gLTEgPyAnPycgOiAnJicpICsgc2VyaWFsaXplZDtcbn07XG5cbi8qKlxuICogQ2hhbmdlIHJlcXVlc3QganNvbiBwYXJhbXMgdG8gdXJsIHNlYXJjaCBvbmVzXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9iaiBPYmplY3QgdG8gdHJhbnNmb3JtXG4gKi9cbmV4cG9ydCBjb25zdCB1cmxmeSA9IHZhbCA9PlxuICBPYmplY3Qua2V5cyh2YWwpXG4gICAgLmZpbHRlcihrID0+IGsgJiYgdHlwZW9mIHZhbFtrXSAhPT0gJ3VuZGVmaW5lZCcpXG4gICAgLm1hcChrID0+IGAke2VuY29kZVVSSUNvbXBvbmVudChrKX09JHtlbmNvZGVVUklDb21wb25lbnQodmFsW2tdKX1gKVxuICAgIC5qb2luKCcmJyk7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL3VybC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSDs7Ozs7R0FLRztBQUNJLElBQU0sVUFBVSxHQUFHLFVBQUMsR0FBRyxFQUFFLE1BQU07SUFDcEMsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLE9BQU8sR0FBRyxDQUFDO0tBQ1o7SUFFRCxJQUFNLFVBQVUsR0FBRyxJQUFBLGFBQUssRUFBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxJQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRW5DLElBQUksU0FBUyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQ3BCLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztLQUMvQjtJQUVELE9BQU8sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUM7QUFDbEUsQ0FBQyxDQUFDO0FBYlcsUUFBQSxVQUFVLGNBYXJCO0FBRUY7Ozs7R0FJRztBQUNJLElBQU0sS0FBSyxHQUFHLFVBQUEsR0FBRztJQUN0QixPQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ2IsTUFBTSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLFdBQVcsRUFBbEMsQ0FBa0MsQ0FBQztTQUMvQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxVQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxjQUFJLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFFLEVBQXhELENBQXdELENBQUM7U0FDbEUsSUFBSSxDQUFDLEdBQUcsQ0FBQztBQUhaLENBR1ksQ0FBQztBQUpGLFFBQUEsS0FBSyxTQUlIIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2hlbHBlcnMvdXJsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKipcbiAqIENvbWJpbmUgdXJsIHdpdGggcXMgcGFyYW1ldGVyc1xuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSB1cmwgYmFzZSB1cmxcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgUXVlcnkgc3RyaW5nIHBhcmFtcyBvYmplY3RcbiAqL1xuZXhwb3J0IGNvbnN0IGNvbWJpbmVVUkwgPSAodXJsLCBwYXJhbXMpID0+IHtcbiAgaWYgKCFwYXJhbXMpIHtcbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgY29uc3Qgc2VyaWFsaXplZCA9IHVybGZ5KHBhcmFtcyk7XG4gIGNvbnN0IGhhc2hJbmRleCA9IHVybC5pbmRleE9mKCcjJyk7XG5cbiAgaWYgKGhhc2hJbmRleCAhPT0gLTEpIHtcbiAgICB1cmwgPSB1cmwuc2xpY2UoMCwgaGFzaEluZGV4KTtcbiAgfVxuXG4gIHJldHVybiB1cmwgKyAodXJsLmluZGV4T2YoJz8nKSA9PT0gLTEgPyAnPycgOiAnJicpICsgc2VyaWFsaXplZDtcbn07XG5cbi8qKlxuICogQ2hhbmdlIHJlcXVlc3QganNvbiBwYXJhbXMgdG8gdXJsIHNlYXJjaCBvbmVzXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9iaiBPYmplY3QgdG8gdHJhbnNmb3JtXG4gKi9cbmV4cG9ydCBjb25zdCB1cmxmeSA9IHZhbCA9PlxuICBPYmplY3Qua2V5cyh2YWwpXG4gICAgLmZpbHRlcihrID0+IGsgJiYgdHlwZW9mIHZhbFtrXSAhPT0gJ3VuZGVmaW5lZCcpXG4gICAgLm1hcChrID0+IGAke2VuY29kZVVSSUNvbXBvbmVudChrKX09JHtlbmNvZGVVUklDb21wb25lbnQodmFsW2tdKX1gKVxuICAgIC5qb2luKCcmJyk7XG4iXX0=

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

// @ts-ignore
expect(url_1.combineURL(url)).toBe(url);
expect((0, url_1.combineURL)(url)).toBe(url);
});

@@ -31,3 +31,3 @@ it('should return url with id=1', function () {

var params = { id: 1 };
expect(url_1.combineURL(url, params)).toEqual(url + "?id=1");
expect((0, url_1.combineURL)(url, params)).toEqual("".concat(url, "?id=1"));
});

@@ -37,3 +37,3 @@ it('should return url with id=1', function () {

var params = { id: '1' };
expect(url_1.combineURL(url + '#', params)).toBe(url + "?id=1");
expect((0, url_1.combineURL)(url + '#', params)).toBe("".concat(url, "?id=1"));
});

@@ -43,2 +43,2 @@ });

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL3VybC5zcGVjLmJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFFSCw2QkFBbUM7QUFFbkMsUUFBUSxDQUFDLHFCQUFxQixFQUFFO0lBQzlCLFFBQVEsQ0FBQyxZQUFZLEVBQUU7UUFDckIsRUFBRSxDQUFDLG1CQUFtQixFQUFFO1lBQ3RCLElBQU0sR0FBRyxHQUFHLHVCQUF1QixDQUFDO1lBQ3BDLGFBQWE7WUFDYixNQUFNLENBQUMsZ0JBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw2QkFBNkIsRUFBRTtZQUNoQyxJQUFNLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQztZQUNwQyxJQUFNLE1BQU0sR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN6QixNQUFNLENBQUMsZ0JBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUksR0FBRyxVQUFPLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw2QkFBNkIsRUFBRTtZQUNoQyxJQUFNLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQztZQUNwQyxJQUFNLE1BQU0sR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsZ0JBQVUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFJLEdBQUcsVUFBTyxDQUFDLENBQUM7UUFDNUQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2hlbHBlcnMvdXJsLnNwZWMuYnJvd3Nlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgY29tYmluZVVSTCB9IGZyb20gJy4vdXJsJztcblxuZGVzY3JpYmUoJ1JlcXVlc3QvSGVscGVycy9VcmwnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdjb21iaW5lVVJMJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIHVybCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHVybCA9ICdodHRwczovL2ZpbGVzdGFjay5jb20nO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KGNvbWJpbmVVUkwodXJsKSkudG9CZSh1cmwpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdXJsIHdpdGggaWQ9MScsICgpID0+IHtcbiAgICAgIGNvbnN0IHVybCA9ICdodHRwczovL2ZpbGVzdGFjay5jb20nO1xuICAgICAgY29uc3QgcGFyYW1zID0geyBpZDogMSB9O1xuICAgICAgZXhwZWN0KGNvbWJpbmVVUkwodXJsLCBwYXJhbXMpKS50b0VxdWFsKGAke3VybH0/aWQ9MWApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdXJsIHdpdGggaWQ9MScsICgpID0+IHtcbiAgICAgIGNvbnN0IHVybCA9ICdodHRwczovL2ZpbGVzdGFjay5jb20nO1xuICAgICAgY29uc3QgcGFyYW1zID0geyBpZDogJzEnIH07XG4gICAgICBleHBlY3QoY29tYmluZVVSTCh1cmwgKyAnIycsIHBhcmFtcykpLnRvQmUoYCR7dXJsfT9pZD0xYCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL3VybC5zcGVjLmJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFFSCw2QkFBbUM7QUFFbkMsUUFBUSxDQUFDLHFCQUFxQixFQUFFO0lBQzlCLFFBQVEsQ0FBQyxZQUFZLEVBQUU7UUFDckIsRUFBRSxDQUFDLG1CQUFtQixFQUFFO1lBQ3RCLElBQU0sR0FBRyxHQUFHLHVCQUF1QixDQUFDO1lBQ3BDLGFBQWE7WUFDYixNQUFNLENBQUMsSUFBQSxnQkFBVSxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDZCQUE2QixFQUFFO1lBQ2hDLElBQU0sR0FBRyxHQUFHLHVCQUF1QixDQUFDO1lBQ3BDLElBQU0sTUFBTSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sQ0FBQyxJQUFBLGdCQUFVLEVBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUcsR0FBRyxVQUFPLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw2QkFBNkIsRUFBRTtZQUNoQyxJQUFNLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQztZQUNwQyxJQUFNLE1BQU0sR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsSUFBQSxnQkFBVSxFQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBRyxHQUFHLFVBQU8sQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvcmVxdWVzdC9oZWxwZXJzL3VybC5zcGVjLmJyb3dzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IGNvbWJpbmVVUkwgfSBmcm9tICcuL3VybCc7XG5cbmRlc2NyaWJlKCdSZXF1ZXN0L0hlbHBlcnMvVXJsJywgKCkgPT4ge1xuICBkZXNjcmliZSgnY29tYmluZVVSTCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiB1cmwnLCAoKSA9PiB7XG4gICAgICBjb25zdCB1cmwgPSAnaHR0cHM6Ly9maWxlc3RhY2suY29tJztcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGV4cGVjdChjb21iaW5lVVJMKHVybCkpLnRvQmUodXJsKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHVybCB3aXRoIGlkPTEnLCAoKSA9PiB7XG4gICAgICBjb25zdCB1cmwgPSAnaHR0cHM6Ly9maWxlc3RhY2suY29tJztcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHsgaWQ6IDEgfTtcbiAgICAgIGV4cGVjdChjb21iaW5lVVJMKHVybCwgcGFyYW1zKSkudG9FcXVhbChgJHt1cmx9P2lkPTFgKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHVybCB3aXRoIGlkPTEnLCAoKSA9PiB7XG4gICAgICBjb25zdCB1cmwgPSAnaHR0cHM6Ly9maWxlc3RhY2suY29tJztcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHsgaWQ6ICcxJyB9O1xuICAgICAgZXhwZWN0KGNvbWJpbmVVUkwodXJsICsgJyMnLCBwYXJhbXMpKS50b0JlKGAke3VybH0/aWQ9MWApO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RequestAdapter = void 0;
/*

@@ -21,2 +22,2 @@ * Copyright (c) 2018 by Filestack

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9yZXF1ZXN0X2FkYXB0ZXIuYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNVLFFBQUEsY0FBYyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFVBQVUsQ0FBQyIsImZpbGUiOiJsaWIvcmVxdWVzdC9yZXF1ZXN0X2FkYXB0ZXIuYnJvd3Nlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmV4cG9ydCBjb25zdCBSZXF1ZXN0QWRhcHRlciA9IHJlcXVpcmUoJy4vYWRhcHRlcnMveGhyJykuWGhyQWRhcHRlcjtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9yZXF1ZXN0X2FkYXB0ZXIuYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDVSxRQUFBLGNBQWMsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxVQUFVLENBQUMiLCJmaWxlIjoibGliL3JlcXVlc3QvcmVxdWVzdF9hZGFwdGVyLmJyb3dzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5leHBvcnQgY29uc3QgUmVxdWVzdEFkYXB0ZXIgPSByZXF1aXJlKCcuL2FkYXB0ZXJzL3hocicpLlhockFkYXB0ZXI7XG4iXX0=
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RequestAdapter = void 0;
/*

@@ -21,2 +22,2 @@ * Copyright (c) 2018 by Filestack

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9yZXF1ZXN0X2FkYXB0ZXIubm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNVLFFBQUEsY0FBYyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyIsImZpbGUiOiJsaWIvcmVxdWVzdC9yZXF1ZXN0X2FkYXB0ZXIubm9kZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmV4cG9ydCBjb25zdCBSZXF1ZXN0QWRhcHRlciA9IHJlcXVpcmUoJy4vYWRhcHRlcnMvaHR0cCcpLkh0dHBBZGFwdGVyO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9yZXF1ZXN0X2FkYXB0ZXIubm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDVSxRQUFBLGNBQWMsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxXQUFXLENBQUMiLCJmaWxlIjoibGliL3JlcXVlc3QvcmVxdWVzdF9hZGFwdGVyLm5vZGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5leHBvcnQgY29uc3QgUmVxdWVzdEFkYXB0ZXIgPSByZXF1aXJlKCcuL2FkYXB0ZXJzL2h0dHAnKS5IdHRwQWRhcHRlcjtcbiJdfQ==
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FsRequest = void 0;
/*

@@ -182,2 +183,2 @@ * Copyright (c) 2018 by Filestack

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsaUNBQXFFO0FBQ3JFLHVDQUFzQztBQUN0QywrREFBd0Q7QUFFeEQ7Ozs7O0dBS0c7QUFDSDtJQTZCRTs7Ozs7T0FLRztJQUNILG1CQUFZLE1BQXlCO1FBRW5DLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxtQkFBUSxDQUFDLElBQUkscUNBQWMsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDWSxxQkFBVyxHQUExQjtRQUNFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO1lBQ3ZCLFNBQVMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztTQUN0QztRQUVELE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBRUksNEJBQVEsR0FBZixVQUFnQixNQUF3QjtRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNsQixNQUFNLENBQUMsTUFBTSxHQUFHLG9CQUFZLENBQUMsR0FBRyxDQUFDO1NBQ2xDO1FBRUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ1csa0JBQVEsR0FBdEIsVUFBdUIsR0FBVyxFQUFFLE1BQXdCO1FBQzFELE9BQU8sU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxNQUFNLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxLQUFBLEVBQUUs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QU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxJQUFJLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxvQkFBWSxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUEsRUFBRSxJQUFJLE1BQUEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBQ0gsZ0JBQUM7QUFBRCxDQWhNQSxBQWdNQyxJQUFBO0FBaE1ZLDhCQUFTO0FBa010QixrQkFBZSxTQUFTLENBQUMiLCJmaWxlIjoibGliL3JlcXVlc3QvcmVxdWVzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEZzUmVxdWVzdE9wdGlvbnMsIEZzSHR0cE1ldGhvZCwgRnNSZXNwb25zZSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgRGlzcGF0Y2ggfSBmcm9tICcuL2Rpc3BhdGNoJztcbmltcG9ydCB7IFJlcXVlc3RBZGFwdGVyIH0gZnJvbSAnLi9yZXF1ZXN0X2FkYXB0ZXIubm9kZSc7XG5cbi8qKlxuICogTWFpbiBpc29tb3JwaGljIEZpbGVzdGFjayByZXF1ZXN0IGxpYnJhcnlcbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgRnNSZXF1ZXN0XG4gKi9cbmV4cG9ydCBjbGFzcyBGc1JlcXVlc3Qge1xuICAvKipcbiAgICogUmVxdWVzdCBzdGF0aWMgaW5zdGFuY2VcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHN0YXRpY1xuICAgKiBAdHlwZSB7RnNSZXF1ZXN0fVxuICAgKiBAbWVtYmVyb2YgRnNSZXF1ZXN0XG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBpbnN0YW5jZTogRnNSZXF1ZXN0O1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IHJlcXVlc3Qgb3B0aW9uc1xuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAdHlwZSB7UmVxdWVzdE9wdGlvbnN9XG4gICAqIEBtZW1iZXJvZiBGc1JlcXVlc3RcbiAgICovXG4gIHByaXZhdGUgZGVmYXVsdHM6IEZzUmVxdWVzdE9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFJlcXVlc3QgRGlzcGF0Y2hlclxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAdHlwZSB7RGlzcGF0Y2h9XG4gICAqIEBtZW1iZXJvZiBGc1JlcXVlc3RcbiAgICovXG4gIHByaXZhdGUgZGlzcGF0Y2hlcjogRGlzcGF0Y2g7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgUmVxdWVzdC5cbiAgICpcbiAgICogQHBhcmFtIHtSZXF1ZXN0T3B0aW9uc30gW2NvbmZpZ11cbiAgICogQG1lbWJlcm9mIEZzUmVxdWVzdFxuICAgKi9cbiAgY29uc3RydWN0b3IoY29uZmlnPzogRnNSZXF1ZXN0T3B0aW9ucykge1xuXG4gICAgdGhpcy5kZWZhdWx0cyA9IGNvbmZpZztcbiAgICB0aGlzLmRpc3BhdGNoZXIgPSBuZXcgRGlzcGF0Y2gobmV3IFJlcXVlc3RBZGFwdGVyKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgc3RhdGljIEZzUmVxdWVzdCBpbnN0YW5jZVxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAc3RhdGljXG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBGc1JlcXVlc3RcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGdldEluc3RhbmNlKCkge1xuICAgIGlmICghRnNSZXF1ZXN0Lmluc3RhbmNlKSB7XG4gICAgICBGc1JlcXVlc3QuaW5zdGFuY2UgPSBuZXcgRnNSZXF1ZXN0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5pbnN0YW5jZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW4gcmVxdWVzdCB3aXRoIGdpdmVuIGFkYXB0ZXJcbiAgICpcbiAgICogQHBhcmFtIHtSZXF1ZXN0T3B0aW9uc30gY29uZmlnXG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBSZXF1ZXN0XG4gICAqL1xuXG4gIHB1YmxpYyBkaXNwYXRjaChjb25maWc6IEZzUmVxdWVzdE9wdGlvbnMpIHtcbiAgICBpZiAoIWNvbmZpZy5tZXRob2QpIHtcbiAgICAgIGNvbmZpZy5tZXRob2QgPSBGc0h0dHBNZXRob2QuR0VUO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoZXIucmVxdWVzdChPYmplY3QuYXNzaWduKHt9LCB0aGlzLmRlZmF1bHRzLCBjb25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwYXRjaCByZXF1ZXN0XG4gICAqXG4gICAqIEBzdGF0aWNcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybFxuICAgKiBAcGFyYW0ge0ZzUmVxdWVzdE9wdGlvbnN9IGNvbmZpZ1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxGc1Jlc3BvbnNlPn1cbiAgICogQG1lbWJlcm9mIEZzUmVxdWVzdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkaXNwYXRjaCh1cmw6IHN0cmluZywgY29uZmlnOiBGc1JlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxGc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIEZzUmVxdWVzdC5nZXRJbnN0YW5jZSgpLmRpc3BhdGNoKE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZyB8fCB7fSwgeyB1cmwgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BhdGNoIEdFVCByZXF1ZXN0XG4gICAqXG4gICAqIEBzdGF0aWNcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybFxuICAgKiBAcGFyYW0ge0ZzUmVxdWVzdE9wdGlvbnN9IGNvbmZpZ1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxGc1Jlc3BvbnNlPn1cbiAgICogQG1lbWJlcm9mIEZzUmVxdWVzdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXQodXJsOiBzdHJpbmcsIGNvbmZpZz86IEZzUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPEZzUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gRnNSZXF1ZXN0LmdldEluc3RhbmNlKCkuZGlzcGF0Y2goT2JqZWN0LmFzc2lnbih7fSwgY29uZmlnIHx8IHt9LCB7IG1ldGhvZDogRnNIdHRwTWV0aG9kLkdFVCwgdXJsIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwYXRjaCBIRUFEIHJlcXVlc3RcbiAgICpcbiAgICogQHN0YXRpY1xuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsXG4gICAqIEBwYXJhbSB7RnNSZXF1ZXN0T3B0aW9uc30gY29uZmlnXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEZzUmVzcG9uc2U+fVxuICAgKiBAbWVtYmVyb2YgRnNSZXF1ZXN0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhlYWQodXJsOiBzdHJpbmcsIGNvbmZpZz86IEZzUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPEZzUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gRnNSZXF1ZXN0LmdldEluc3RhbmNlKCkuZGlzcGF0Y2goT2JqZWN0LmFzc2lnbih7fSwgY29uZmlnIHx8IHt9LCB7IG1ldGhvZDogRnNIdHRwTWV0aG9kLkhFQUQsIHVybCB9KSk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGF0Y2ggT1BUSU9OUyByZXF1ZXN0XG4gICAqXG4gICAqIEBzdGF0aWNcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybFxuICAgKiBAcGFyYW0ge0ZzUmVxdWVzdE9wdGlvbnN9IGNvbmZpZ1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxGc1Jlc3BvbnNlPn1cbiAgICogQG1lbWJlcm9mIEZzUmVxdWVzdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvcHRpb25zKHVybDogc3RyaW5nLCBjb25maWc/OiBGc1JlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxGc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIEZzUmVxdWVzdC5nZXRJbnN0YW5jZSgpLmRpc3BhdGNoKE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZyB8fCB7fSwgeyBtZXRob2Q6IEZzSHR0cE1ldGhvZC5PUFRJT05TLCB1cmwgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BhdGNoIFBVUkdFIHJlcXVlc3RcbiAgICpcbiAgICogQHN0YXRpY1xuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsXG4gICAqIEBwYXJhbSB7RnNSZXF1ZXN0T3B0aW9uc30gY29uZmlnXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEZzUmVzcG9uc2U+fVxuICAgKiBAbWVtYmVyb2YgRnNSZXF1ZXN0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHB1cmdlKHVybDogc3RyaW5nLCBjb25maWc/OiBGc1JlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxGc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIEZzUmVxdWVzdC5nZXRJbnN0YW5jZSgpLmRpc3BhdGNoKE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZyB8fCB7fSwgeyBtZXRob2Q6IEZzSHR0cE1ldGhvZC5QVVJHRSwgdXJsIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwYXRjaCBERUxFVEUgcmVxdWVzdFxuICAgKlxuICAgKiBAc3RhdGljXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1cmxcbiAgICogQHBhcmFtIHtGc1JlcXVlc3RPcHRpb25zfSBjb25maWdcbiAgICogQHJldHVybnMge1Byb21pc2U8RnNSZXNwb25zZT59XG4gICAqIEBtZW1iZXJvZiBGc1JlcXVlc3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZGVsZXRlKHVybDogc3RyaW5nLCBjb25maWc/OiBGc1JlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxGc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIEZzUmVxdWVzdC5nZXRJbnN0YW5jZSgpLmRpc3BhdGNoKE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZyB8fCB7fSwgeyBtZXRob2Q6IEZzSHR0cE1ldGhvZC5ERUxFVEUsIHVybCB9KSk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGF0Y2ggUE9TVCByZXF1ZXN0XG4gICAqXG4gICAqIEBzdGF0aWNcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybFxuICAgKiBAcGFyYW0geyp9IFtkYXRhXVxuICAgKiBAcGFyYW0ge0ZzUmVxdWVzdE9wdGlvbnN9IFtjb25maWddXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEZzUmVzcG9uc2U+fVxuICAgKiBAbWVtYmVyb2YgRnNSZXF1ZXN0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHBvc3QodXJsOiBzdHJpbmcsIGRhdGE/OiBhbnksIGNvbmZpZz86IEZzUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPEZzUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gRnNSZXF1ZXN0LmdldEluc3RhbmNlKCkuZGlzcGF0Y2goT2JqZWN0LmFzc2lnbih7fSwgY29uZmlnIHx8IHt9LCB7IG1ldGhvZDogRnNIdHRwTWV0aG9kLlBPU1QsIHVybCwgZGF0YSB9KSk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGF0Y2ggUFVUIHJlcXVlc3RcbiAgICpcbiAgICogQHN0YXRpY1xuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsXG4gICAqIEBwYXJhbSB7Kn0gW2RhdGFdXG4gICAqIEBwYXJhbSB7RnNSZXF1ZXN0T3B0aW9uc30gW2NvbmZpZ11cbiAgICogQHJldHVybnMge1Byb21pc2U8RnNSZXNwb25zZT59XG4gICAqIEBtZW1iZXJvZiBGc1JlcXVlc3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcHV0KHVybDogc3RyaW5nLCBkYXRhPzogYW55LCBjb25maWc/OiBGc1JlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxGc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIEZzUmVxdWVzdC5nZXRJbnN0YW5jZSgpLmRpc3BhdGNoKE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZyB8fCB7fSwgeyBtZXRob2Q6IEZzSHR0cE1ldGhvZC5QVVQsIHVybCwgZGF0YSB9KSk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGF0Y2ggUEFUQ0ggcmVxdWVzdFxuICAgKlxuICAgKiBAc3RhdGljXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1cmxcbiAgICogQHBhcmFtIHsqfSBbZGF0YV1cbiAgICogQHBhcmFtIHtGc1JlcXVlc3RPcHRpb25zfSBbY29uZmlnXVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxGc1Jlc3BvbnNlPn1cbiAgICogQG1lbWJlcm9mIEZzUmVxdWVzdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBwYXRoKHVybDogc3RyaW5nLCBkYXRhPzogYW55LCBjb25maWc/OiBGc1JlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxGc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIEZzUmVxdWVzdC5nZXRJbnN0YW5jZSgpLmRpc3BhdGNoKE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZyB8fCB7fSwgeyBtZXRob2Q6IEZzSHR0cE1ldGhvZC5QQVRILCB1cmwsIGRhdGEgfSkpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZzUmVxdWVzdDtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILGlDQUFxRTtBQUNyRSx1Q0FBc0M7QUFDdEMsK0RBQXdEO0FBRXhEOzs7OztHQUtHO0FBQ0g7SUE2QkU7Ozs7O09BS0c7SUFDSCxtQkFBWSxNQUF5QjtRQUVuQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksbUJBQVEsQ0FBQyxJQUFJLHFDQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ1kscUJBQVcsR0FBMUI7UUFDRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtZQUN2QixTQUFTLENBQUMsUUFBUSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7U0FDdEM7UUFFRCxPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUVJLDRCQUFRLEdBQWYsVUFBZ0IsTUFBd0I7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDbEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxvQkFBWSxDQUFDLEdBQUcsQ0FBQztTQUNsQztRQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNXLGtCQUFRLEdBQXRCLFVBQXVCLEdBQVcsRUFBRSxNQUF3QjtRQUMxRCxPQUFPLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsS0FBQSxFQUFF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QUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsb0JBQVksQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFBLEVBQUUsSUFBSSxNQUFBLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUNILGdCQUFDO0FBQUQsQ0FoTUEsQUFnTUMsSUFBQTtBQWhNWSw4QkFBUztBQWtNdEIsa0JBQWUsU0FBUyxDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L3JlcXVlc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBGc1JlcXVlc3RPcHRpb25zLCBGc0h0dHBNZXRob2QsIEZzUmVzcG9uc2UgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IERpc3BhdGNoIH0gZnJvbSAnLi9kaXNwYXRjaCc7XG5pbXBvcnQgeyBSZXF1ZXN0QWRhcHRlciB9IGZyb20gJy4vcmVxdWVzdF9hZGFwdGVyLm5vZGUnO1xuXG4vKipcbiAqIE1haW4gaXNvbW9ycGhpYyBGaWxlc3RhY2sgcmVxdWVzdCBsaWJyYXJ5XG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIEZzUmVxdWVzdFxuICovXG5leHBvcnQgY2xhc3MgRnNSZXF1ZXN0IHtcbiAgLyoqXG4gICAqIFJlcXVlc3Qgc3RhdGljIGluc3RhbmNlXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBzdGF0aWNcbiAgICogQHR5cGUge0ZzUmVxdWVzdH1cbiAgICogQG1lbWJlcm9mIEZzUmVxdWVzdFxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgaW5zdGFuY2U6IEZzUmVxdWVzdDtcblxuICAvKipcbiAgICogRGVmYXVsdCByZXF1ZXN0IG9wdGlvbnNcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHR5cGUge1JlcXVlc3RPcHRpb25zfVxuICAgKiBAbWVtYmVyb2YgRnNSZXF1ZXN0XG4gICAqL1xuICBwcml2YXRlIGRlZmF1bHRzOiBGc1JlcXVlc3RPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBSZXF1ZXN0IERpc3BhdGNoZXJcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHR5cGUge0Rpc3BhdGNofVxuICAgKiBAbWVtYmVyb2YgRnNSZXF1ZXN0XG4gICAqL1xuICBwcml2YXRlIGRpc3BhdGNoZXI6IERpc3BhdGNoO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIFJlcXVlc3QuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVxdWVzdE9wdGlvbnN9IFtjb25maWddXG4gICAqIEBtZW1iZXJvZiBGc1JlcXVlc3RcbiAgICovXG4gIGNvbnN0cnVjdG9yKGNvbmZpZz86IEZzUmVxdWVzdE9wdGlvbnMpIHtcblxuICAgIHRoaXMuZGVmYXVsdHMgPSBjb25maWc7XG4gICAgdGhpcy5kaXNwYXRjaGVyID0gbmV3IERpc3BhdGNoKG5ldyBSZXF1ZXN0QWRhcHRlcigpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHN0YXRpYyBGc1JlcXVlc3QgaW5zdGFuY2VcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHN0YXRpY1xuICAgKiBAcmV0dXJuc1xuICAgKiBAbWVtYmVyb2YgRnNSZXF1ZXN0XG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZXRJbnN0YW5jZSgpIHtcbiAgICBpZiAoIUZzUmVxdWVzdC5pbnN0YW5jZSkge1xuICAgICAgRnNSZXF1ZXN0Lmluc3RhbmNlID0gbmV3IEZzUmVxdWVzdCgpO1xuICAgIH1cblxuICAgIHJldHVybiBGc1JlcXVlc3QuaW5zdGFuY2U7XG4gIH1cblxuICAvKipcbiAgICogUnVuIHJlcXVlc3Qgd2l0aCBnaXZlbiBhZGFwdGVyXG4gICAqXG4gICAqIEBwYXJhbSB7UmVxdWVzdE9wdGlvbnN9IGNvbmZpZ1xuICAgKiBAcmV0dXJuc1xuICAgKiBAbWVtYmVyb2YgUmVxdWVzdFxuICAgKi9cblxuICBwdWJsaWMgZGlzcGF0Y2goY29uZmlnOiBGc1JlcXVlc3RPcHRpb25zKSB7XG4gICAgaWYgKCFjb25maWcubWV0aG9kKSB7XG4gICAgICBjb25maWcubWV0aG9kID0gRnNIdHRwTWV0aG9kLkdFVDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaGVyLnJlcXVlc3QoT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5kZWZhdWx0cywgY29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGF0Y2ggcmVxdWVzdFxuICAgKlxuICAgKiBAc3RhdGljXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1cmxcbiAgICogQHBhcmFtIHtGc1JlcXVlc3RPcHRpb25zfSBjb25maWdcbiAgICogQHJldHVybnMge1Byb21pc2U8RnNSZXNwb25zZT59XG4gICAqIEBtZW1iZXJvZiBGc1JlcXVlc3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZGlzcGF0Y2godXJsOiBzdHJpbmcsIGNvbmZpZzogRnNSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8RnNSZXNwb25zZT4ge1xuICAgIHJldHVybiBGc1JlcXVlc3QuZ2V0SW5zdGFuY2UoKS5kaXNwYXRjaChPYmplY3QuYXNzaWduKHt9LCBjb25maWcgfHwge30sIHsgdXJsIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwYXRjaCBHRVQgcmVxdWVzdFxuICAgKlxuICAgKiBAc3RhdGljXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1cmxcbiAgICogQHBhcmFtIHtGc1JlcXVlc3RPcHRpb25zfSBjb25maWdcbiAgICogQHJldHVybnMge1Byb21pc2U8RnNSZXNwb25zZT59XG4gICAqIEBtZW1iZXJvZiBGc1JlcXVlc3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0KHVybDogc3RyaW5nLCBjb25maWc/OiBGc1JlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxGc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIEZzUmVxdWVzdC5nZXRJbnN0YW5jZSgpLmRpc3BhdGNoKE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZyB8fCB7fSwgeyBtZXRob2Q6IEZzSHR0cE1ldGhvZC5HRVQsIHVybCB9KSk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGF0Y2ggSEVBRCByZXF1ZXN0XG4gICAqXG4gICAqIEBzdGF0aWNcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybFxuICAgKiBAcGFyYW0ge0ZzUmVxdWVzdE9wdGlvbnN9IGNvbmZpZ1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxGc1Jlc3BvbnNlPn1cbiAgICogQG1lbWJlcm9mIEZzUmVxdWVzdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBoZWFkKHVybDogc3RyaW5nLCBjb25maWc/OiBGc1JlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxGc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIEZzUmVxdWVzdC5nZXRJbnN0YW5jZSgpLmRpc3BhdGNoKE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZyB8fCB7fSwgeyBtZXRob2Q6IEZzSHR0cE1ldGhvZC5IRUFELCB1cmwgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BhdGNoIE9QVElPTlMgcmVxdWVzdFxuICAgKlxuICAgKiBAc3RhdGljXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1cmxcbiAgICogQHBhcmFtIHtGc1JlcXVlc3RPcHRpb25zfSBjb25maWdcbiAgICogQHJldHVybnMge1Byb21pc2U8RnNSZXNwb25zZT59XG4gICAqIEBtZW1iZXJvZiBGc1JlcXVlc3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgb3B0aW9ucyh1cmw6IHN0cmluZywgY29uZmlnPzogRnNSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8RnNSZXNwb25zZT4ge1xuICAgIHJldHVybiBGc1JlcXVlc3QuZ2V0SW5zdGFuY2UoKS5kaXNwYXRjaChPYmplY3QuYXNzaWduKHt9LCBjb25maWcgfHwge30sIHsgbWV0aG9kOiBGc0h0dHBNZXRob2QuT1BUSU9OUywgdXJsIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwYXRjaCBQVVJHRSByZXF1ZXN0XG4gICAqXG4gICAqIEBzdGF0aWNcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybFxuICAgKiBAcGFyYW0ge0ZzUmVxdWVzdE9wdGlvbnN9IGNvbmZpZ1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxGc1Jlc3BvbnNlPn1cbiAgICogQG1lbWJlcm9mIEZzUmVxdWVzdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBwdXJnZSh1cmw6IHN0cmluZywgY29uZmlnPzogRnNSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8RnNSZXNwb25zZT4ge1xuICAgIHJldHVybiBGc1JlcXVlc3QuZ2V0SW5zdGFuY2UoKS5kaXNwYXRjaChPYmplY3QuYXNzaWduKHt9LCBjb25maWcgfHwge30sIHsgbWV0aG9kOiBGc0h0dHBNZXRob2QuUFVSR0UsIHVybCB9KSk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGF0Y2ggREVMRVRFIHJlcXVlc3RcbiAgICpcbiAgICogQHN0YXRpY1xuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsXG4gICAqIEBwYXJhbSB7RnNSZXF1ZXN0T3B0aW9uc30gY29uZmlnXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEZzUmVzcG9uc2U+fVxuICAgKiBAbWVtYmVyb2YgRnNSZXF1ZXN0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGRlbGV0ZSh1cmw6IHN0cmluZywgY29uZmlnPzogRnNSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8RnNSZXNwb25zZT4ge1xuICAgIHJldHVybiBGc1JlcXVlc3QuZ2V0SW5zdGFuY2UoKS5kaXNwYXRjaChPYmplY3QuYXNzaWduKHt9LCBjb25maWcgfHwge30sIHsgbWV0aG9kOiBGc0h0dHBNZXRob2QuREVMRVRFLCB1cmwgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BhdGNoIFBPU1QgcmVxdWVzdFxuICAgKlxuICAgKiBAc3RhdGljXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1cmxcbiAgICogQHBhcmFtIHsqfSBbZGF0YV1cbiAgICogQHBhcmFtIHtGc1JlcXVlc3RPcHRpb25zfSBbY29uZmlnXVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxGc1Jlc3BvbnNlPn1cbiAgICogQG1lbWJlcm9mIEZzUmVxdWVzdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBwb3N0KHVybDogc3RyaW5nLCBkYXRhPzogYW55LCBjb25maWc/OiBGc1JlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxGc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIEZzUmVxdWVzdC5nZXRJbnN0YW5jZSgpLmRpc3BhdGNoKE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZyB8fCB7fSwgeyBtZXRob2Q6IEZzSHR0cE1ldGhvZC5QT1NULCB1cmwsIGRhdGEgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BhdGNoIFBVVCByZXF1ZXN0XG4gICAqXG4gICAqIEBzdGF0aWNcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybFxuICAgKiBAcGFyYW0geyp9IFtkYXRhXVxuICAgKiBAcGFyYW0ge0ZzUmVxdWVzdE9wdGlvbnN9IFtjb25maWddXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEZzUmVzcG9uc2U+fVxuICAgKiBAbWVtYmVyb2YgRnNSZXF1ZXN0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHB1dCh1cmw6IHN0cmluZywgZGF0YT86IGFueSwgY29uZmlnPzogRnNSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8RnNSZXNwb25zZT4ge1xuICAgIHJldHVybiBGc1JlcXVlc3QuZ2V0SW5zdGFuY2UoKS5kaXNwYXRjaChPYmplY3QuYXNzaWduKHt9LCBjb25maWcgfHwge30sIHsgbWV0aG9kOiBGc0h0dHBNZXRob2QuUFVULCB1cmwsIGRhdGEgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BhdGNoIFBBVENIIHJlcXVlc3RcbiAgICpcbiAgICogQHN0YXRpY1xuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsXG4gICAqIEBwYXJhbSB7Kn0gW2RhdGFdXG4gICAqIEBwYXJhbSB7RnNSZXF1ZXN0T3B0aW9uc30gW2NvbmZpZ11cbiAgICogQHJldHVybnMge1Byb21pc2U8RnNSZXNwb25zZT59XG4gICAqIEBtZW1iZXJvZiBGc1JlcXVlc3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcGF0aCh1cmw6IHN0cmluZywgZGF0YT86IGFueSwgY29uZmlnPzogRnNSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8RnNSZXNwb25zZT4ge1xuICAgIHJldHVybiBGc1JlcXVlc3QuZ2V0SW5zdGFuY2UoKS5kaXNwYXRjaChPYmplY3QuYXNzaWduKHt9LCBjb25maWcgfHwge30sIHsgbWV0aG9kOiBGc0h0dHBNZXRob2QuUEFUSCwgdXJsLCBkYXRhIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBGc1JlcXVlc3Q7XG4iXX0=
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FsCancelToken = void 0;
var tslib_1 = require("tslib");

@@ -47,2 +48,2 @@ /*

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC90b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCwrQ0FBNkM7QUFFN0M7Ozs7OztHQU1HO0FBQ0g7SUFBbUMseUNBQVk7SUFBL0M7O0lBY0EsQ0FBQztJQVpDOzs7OztPQUtHO0lBQ0ksOEJBQU0sR0FBYixVQUFjLE1BQXVCO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTVCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFSCxvQkFBQztBQUFELENBZEEsQUFjQyxDQWRrQyw0QkFBWSxHQWM5QztBQWRZLHNDQUFhIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L3Rva2VuLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnZXZlbnRlbWl0dGVyMyc7XG5cbi8qKlxuICogRmlsZXN0YWNrIHRva2VuIHRoYXQgYWxsb3cgcGF1c2UsIHJlc3VtZSBvciBjYW5jZWwgZ2l2ZW4gdXBsb2FkXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIEZzVG9rZW5cbiAqIEBleHRlbmRzIHtFdmVudEVtaXR0ZXJ9XG4gKi9cbmV4cG9ydCBjbGFzcyBGc0NhbmNlbFRva2VuIGV4dGVuZHMgRXZlbnRFbWl0dGVyIHtcblxuICAvKipcbiAgICogQ2FuY2VsIHJlcXVlc3QgYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7KHN0cmluZyB8IEVycm9yKX0gW3JlYXNvbl1cbiAgICogQG1lbWJlcm9mIFRva2VuXG4gICAqL1xuICBwdWJsaWMgY2FuY2VsKHJlYXNvbj86IHN0cmluZyB8IEVycm9yKSB7XG4gICAgdGhpcy5lbWl0KCdjYW5jZWwnLCByZWFzb24pO1xuXG4gICAgdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtcbiAgfVxuXG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC90b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsK0NBQTZDO0FBRTdDOzs7Ozs7R0FNRztBQUNIO0lBQW1DLHlDQUFZO0lBQS9DOztJQWNBLENBQUM7SUFaQzs7Ozs7T0FLRztJQUNJLDhCQUFNLEdBQWIsVUFBYyxNQUF1QjtRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUU1QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUgsb0JBQUM7QUFBRCxDQWRBLEFBY0MsQ0Fka0MsNEJBQVksR0FjOUM7QUFkWSxzQ0FBYSIsImZpbGUiOiJsaWIvcmVxdWVzdC90b2tlbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ2V2ZW50ZW1pdHRlcjMnO1xuXG4vKipcbiAqIEZpbGVzdGFjayB0b2tlbiB0aGF0IGFsbG93IHBhdXNlLCByZXN1bWUgb3IgY2FuY2VsIGdpdmVuIHVwbG9hZFxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBGc1Rva2VuXG4gKiBAZXh0ZW5kcyB7RXZlbnRFbWl0dGVyfVxuICovXG5leHBvcnQgY2xhc3MgRnNDYW5jZWxUb2tlbiBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG5cbiAgLyoqXG4gICAqIENhbmNlbCByZXF1ZXN0IGFjdGlvblxuICAgKlxuICAgKiBAcGFyYW0geyhzdHJpbmcgfCBFcnJvcil9IFtyZWFzb25dXG4gICAqIEBtZW1iZXJvZiBUb2tlblxuICAgKi9cbiAgcHVibGljIGNhbmNlbChyZWFzb24/OiBzdHJpbmcgfCBFcnJvcikge1xuICAgIHRoaXMuZW1pdCgnY2FuY2VsJywgcmVhc29uKTtcblxuICAgIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG4gIH1cblxufVxuIl19
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FsHttpMethod = void 0;
var FsHttpMethod;

@@ -15,2 +16,2 @@ (function (FsHttpMethod) {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWtCQSxJQUFZLFlBU1g7QUFURCxXQUFZLFlBQVk7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLGlDQUFpQixDQUFBO0lBQ2pCLDZCQUFhLENBQUE7SUFDYiwrQkFBZSxDQUFBO0lBQ2YsbUNBQW1CLENBQUE7SUFDbkIsNkJBQWEsQ0FBQTtJQUNiLDJCQUFXLENBQUE7SUFDWCw2QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQVRXLFlBQVksR0FBWixvQkFBWSxLQUFaLG9CQUFZLFFBU3ZCIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L3R5cGVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgRnNDYW5jZWxUb2tlbiB9IGZyb20gJy4vdG9rZW4nO1xuXG5leHBvcnQgZW51bSBGc0h0dHBNZXRob2Qge1xuICBHRVQgPSAnR0VUJyxcbiAgREVMRVRFID0gJ0RFTEVURScsXG4gIEhFQUQgPSAnSEVBRCcsXG4gIFBVUkdFID0gJ1BVUkdFJyxcbiAgT1BUSU9OUyA9ICdPUFRJT05TJyxcbiAgUE9TVCA9ICdQT1NUJyxcbiAgUFVUID0gJ1BVVCcsXG4gIFBBVEggPSAnUEFUSCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnNSZXRyeUNvbmZpZyB7XG4gIHJldHJ5OiBudW1iZXI7XG4gIG9uUmV0cnk/OiAocmVxdWVzdENvbmZpZzogYW55KSA9PiB2b2lkO1xuICByZXRyeU1heFRpbWU/OiBudW1iZXI7XG4gIHJldHJ5RmFjdG9yPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZzQXV0aENvbmZpZyB7XG4gIHVzZXJuYW1lOiBzdHJpbmc7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnNSZXF1ZXN0SGVhZGVycyB7XG4gIFtuYW1lOiBzdHJpbmddOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnNSZXF1ZXN0UGFyYW1zIHtcbiAgW25hbWU6IHN0cmluZ106IHN0cmluZyB8IG51bWJlcjtcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHJ1bnRpbWUgZGF0YSBsaWtlIHJldHJ5Q291bnQgZXRjXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnNSZXF1ZXN0UnVudGltZSB7XG4gIHJldHJ5Q291bnQ/OiBudW1iZXI7XG4gIFtuYW1lOiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnNSZXF1ZXN0T3B0aW9ucyB7XG4gIHVybD86IHN0cmluZztcbiAgZGF0YT86IGFueTtcbiAgbWV0aG9kPzogRnNIdHRwTWV0aG9kO1xuICBtb2RlPzogUmVxdWVzdE1vZGU7XG4gIGNhY2hlPzogUmVxdWVzdENhY2hlO1xuICByZWRpcmVjdD86IFJlcXVlc3RSZWRpcmVjdDtcbiAgcGFyYW1zPzogRnNSZXF1ZXN0UGFyYW1zO1xuICBmaWxlc3RhY2tIZWFkZXJzPzogYm9vbGVhbjtcbiAgaGVhZGVycz86IEZzUmVxdWVzdEhlYWRlcnM7XG4gIGJsb2JSZXNwb25zZT86IGJvb2xlYW47IC8vIGJsb2IgcmVzcG9uc2Ugb25seSBmb3IgYnJvd3NlcnNcbiAgdGltZW91dD86IG51bWJlcjtcbiAgY2FuY2VsVG9rZW4/OiBGc0NhbmNlbFRva2VuO1xuICByZXRyeT86IEZzUmV0cnlDb25maWc7XG4gIG9uUHJvZ3Jlc3M/OiAocHI6IFByb2dyZXNzRXZlbnQpID0+IGFueTtcbiAgYXV0aD86IEZzQXV0aENvbmZpZztcbiAgcnVudGltZT86IEZzUmVxdWVzdFJ1bnRpbWU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnNSZXNwb25zZSB7XG4gIHN0YXR1czogbnVtYmVyO1xuICBzdGF0dXNUZXh0OiBzdHJpbmc7XG4gIGhlYWRlcnM6IGFueTtcbiAgZGF0YTogYW55O1xuICBjb25maWc6IEZzUmVxdWVzdE9wdGlvbnM7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFrQkEsSUFBWSxZQVNYO0FBVEQsV0FBWSxZQUFZO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxpQ0FBaUIsQ0FBQTtJQUNqQiw2QkFBYSxDQUFBO0lBQ2IsK0JBQWUsQ0FBQTtJQUNmLG1DQUFtQixDQUFBO0lBQ25CLDZCQUFhLENBQUE7SUFDYiwyQkFBVyxDQUFBO0lBQ1gsNkJBQWEsQ0FBQTtBQUNmLENBQUMsRUFUVyxZQUFZLEdBQVosb0JBQVksS0FBWixvQkFBWSxRQVN2QiIsImZpbGUiOiJsaWIvcmVxdWVzdC90eXBlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEZzQ2FuY2VsVG9rZW4gfSBmcm9tICcuL3Rva2VuJztcblxuZXhwb3J0IGVudW0gRnNIdHRwTWV0aG9kIHtcbiAgR0VUID0gJ0dFVCcsXG4gIERFTEVURSA9ICdERUxFVEUnLFxuICBIRUFEID0gJ0hFQUQnLFxuICBQVVJHRSA9ICdQVVJHRScsXG4gIE9QVElPTlMgPSAnT1BUSU9OUycsXG4gIFBPU1QgPSAnUE9TVCcsXG4gIFBVVCA9ICdQVVQnLFxuICBQQVRIID0gJ1BBVEgnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZzUmV0cnlDb25maWcge1xuICByZXRyeTogbnVtYmVyO1xuICBvblJldHJ5PzogKHJlcXVlc3RDb25maWc6IGFueSkgPT4gdm9pZDtcbiAgcmV0cnlNYXhUaW1lPzogbnVtYmVyO1xuICByZXRyeUZhY3Rvcj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGc0F1dGhDb25maWcge1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZzUmVxdWVzdEhlYWRlcnMge1xuICBbbmFtZTogc3RyaW5nXTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZzUmVxdWVzdFBhcmFtcyB7XG4gIFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXI7XG59XG5cbi8qKlxuICogUmVxdWVzdCBydW50aW1lIGRhdGEgbGlrZSByZXRyeUNvdW50IGV0Y1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEZzUmVxdWVzdFJ1bnRpbWUge1xuICByZXRyeUNvdW50PzogbnVtYmVyO1xuICBbbmFtZTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZzUmVxdWVzdE9wdGlvbnMge1xuICB1cmw/OiBzdHJpbmc7XG4gIGRhdGE/OiBhbnk7XG4gIG1ldGhvZD86IEZzSHR0cE1ldGhvZDtcbiAgbW9kZT86IFJlcXVlc3RNb2RlO1xuICBjYWNoZT86IFJlcXVlc3RDYWNoZTtcbiAgcmVkaXJlY3Q/OiBSZXF1ZXN0UmVkaXJlY3Q7XG4gIHBhcmFtcz86IEZzUmVxdWVzdFBhcmFtcztcbiAgZmlsZXN0YWNrSGVhZGVycz86IGJvb2xlYW47XG4gIGhlYWRlcnM/OiBGc1JlcXVlc3RIZWFkZXJzO1xuICBibG9iUmVzcG9uc2U/OiBib29sZWFuOyAvLyBibG9iIHJlc3BvbnNlIG9ubHkgZm9yIGJyb3dzZXJzXG4gIHRpbWVvdXQ/OiBudW1iZXI7XG4gIGNhbmNlbFRva2VuPzogRnNDYW5jZWxUb2tlbjtcbiAgcmV0cnk/OiBGc1JldHJ5Q29uZmlnO1xuICBvblByb2dyZXNzPzogKHByOiBQcm9ncmVzc0V2ZW50KSA9PiBhbnk7XG4gIGF1dGg/OiBGc0F1dGhDb25maWc7XG4gIHJ1bnRpbWU/OiBGc1JlcXVlc3RSdW50aW1lO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZzUmVzcG9uc2Uge1xuICBzdGF0dXM6IG51bWJlcjtcbiAgc3RhdHVzVGV4dDogc3RyaW5nO1xuICBoZWFkZXJzOiBhbnk7XG4gIGRhdGE6IGFueTtcbiAgY29uZmlnOiBGc1JlcXVlc3RPcHRpb25zO1xufVxuIl19

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.isStream = exports.isBuffer = void 0;
/**

@@ -26,3 +27,4 @@ * Determine if a value is a Buffer

*/
exports.isBuffer = function () { return false; };
var isBuffer = function () { return false; };
exports.isBuffer = isBuffer;
/**

@@ -34,4 +36,5 @@ * Determine if a value is a Stream

*/
exports.isStream = function () { return false; };
var isStream = function () { return false; };
exports.isStream = isStream;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC91dGlscy5icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7O0FBRUg7Ozs7O0dBS0c7QUFDVSxRQUFBLFFBQVEsR0FBRyxjQUFNLE9BQUEsS0FBSyxFQUFMLENBQUssQ0FBQztBQUVwQzs7Ozs7R0FLRztBQUNVLFFBQUEsUUFBUSxHQUFHLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L3V0aWxzLmJyb3dzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYSBCdWZmZXJcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhIEJ1ZmZlciwgb3RoZXJ3aXNlIGZhbHNlXG4gKi9cbmV4cG9ydCBjb25zdCBpc0J1ZmZlciA9ICgpID0+IGZhbHNlO1xuXG4vKipcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGEgU3RyZWFtXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBTdHJlYW0sIG90aGVyd2lzZSBmYWxzZVxuICovXG5leHBvcnQgY29uc3QgaXNTdHJlYW0gPSAoKSA9PiBmYWxzZTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC91dGlscy5icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7OztBQUVIOzs7OztHQUtHO0FBQ0ksSUFBTSxRQUFRLEdBQUcsY0FBTSxPQUFBLEtBQUssRUFBTCxDQUFLLENBQUM7QUFBdkIsUUFBQSxRQUFRLFlBQWU7QUFFcEM7Ozs7O0dBS0c7QUFDSSxJQUFNLFFBQVEsR0FBRyxjQUFNLE9BQUEsS0FBSyxFQUFMLENBQUssQ0FBQztBQUF2QixRQUFBLFFBQVEsWUFBZSIsImZpbGUiOiJsaWIvcmVxdWVzdC91dGlscy5icm93c2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKipcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGEgQnVmZmVyXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBCdWZmZXIsIG90aGVyd2lzZSBmYWxzZVxuICovXG5leHBvcnQgY29uc3QgaXNCdWZmZXIgPSAoKSA9PiBmYWxzZTtcblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIFN0cmVhbVxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgU3RyZWFtLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZXhwb3J0IGNvbnN0IGlzU3RyZWFtID0gKCkgPT4gZmFsc2U7XG4iXX0=

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.trim = exports.isFormData = exports.isURLSearchParams = exports.isBlob = exports.isFile = exports.isString = exports.isObject = exports.isArrayBufferView = exports.isArrayBuffer = exports.isArray = void 0;
var tslib_1 = require("tslib");

@@ -27,3 +28,4 @@ /**

*/
exports.isArray = function (val) { return Object.prototype.toString.call(val) === '[object Array]'; };
var isArray = function (val) { return Object.prototype.toString.call(val) === '[object Array]'; };
exports.isArray = isArray;
/**

@@ -35,3 +37,4 @@ * Determine if a value is an ArrayBuffer

*/
exports.isArrayBuffer = function (val) { return Object.prototype.toString.call(val) === '[object ArrayBuffer]'; };
var isArrayBuffer = function (val) { return Object.prototype.toString.call(val) === '[object ArrayBuffer]'; };
exports.isArrayBuffer = isArrayBuffer;
/**

@@ -43,3 +46,3 @@ * Determine if a value is a view on an ArrayBuffer

*/
exports.isArrayBufferView = function (val) {
var isArrayBufferView = function (val) {
var result;

@@ -54,2 +57,3 @@ if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {

};
exports.isArrayBufferView = isArrayBufferView;
/**

@@ -61,3 +65,4 @@ * Determine if a value is an Object

*/
exports.isObject = function (val) { return val !== null && typeof val === 'object'; };
var isObject = function (val) { return val !== null && typeof val === 'object'; };
exports.isObject = isObject;
/**

@@ -69,3 +74,4 @@ * Determine if a value is an Object

*/
exports.isString = function (val) { return typeof val === 'string' || val instanceof String; };
var isString = function (val) { return typeof val === 'string' || val instanceof String; };
exports.isString = isString;
/**

@@ -77,3 +83,4 @@ * Determine if a value is a File

*/
exports.isFile = function (val) { return Object.prototype.toString.call(val) === '[object File]'; };
var isFile = function (val) { return Object.prototype.toString.call(val) === '[object File]'; };
exports.isFile = isFile;
/**

@@ -85,3 +92,4 @@ * Determine if a value is a Blob

*/
exports.isBlob = function (val) { return Object.prototype.toString.call(val) === '[object Blob]'; };
var isBlob = function (val) { return Object.prototype.toString.call(val) === '[object Blob]'; };
exports.isBlob = isBlob;
/**

@@ -93,3 +101,4 @@ * Determine if a value is a URLSearchParams object

*/
exports.isURLSearchParams = function (val) { return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams; };
var isURLSearchParams = function (val) { return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams; };
exports.isURLSearchParams = isURLSearchParams;
/**

@@ -100,3 +109,4 @@ * Determine if value is form data

*/
exports.isFormData = function (val) { return typeof FormData !== 'undefined' && val instanceof FormData; };
var isFormData = function (val) { return typeof FormData !== 'undefined' && val instanceof FormData; };
exports.isFormData = isFormData;
/**

@@ -108,5 +118,6 @@ * Trim excess whitespace off the beginning and end of a string

*/
exports.trim = function (str) { return str.replace(/^\s*/, '').replace(/\s*$/, ''); };
var trim = function (str) { return str.replace(/^\s*/, '').replace(/\s*$/, ''); };
exports.trim = trim;
tslib_1.__exportStar(require("./utils.node"), exports);
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSDs7Ozs7R0FLRztBQUNVLFFBQUEsT0FBTyxHQUFHLFVBQUMsR0FBVSxJQUFLLE9BQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLGdCQUFnQixFQUF4RCxDQUF3RCxDQUFDO0FBRWhHOzs7OztHQUtHO0FBQ1UsUUFBQSxhQUFhLEdBQUcsVUFBQyxHQUFnQixJQUFLLE9BQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLHNCQUFzQixFQUE5RCxDQUE4RCxDQUFDO0FBRWxIOzs7OztHQUtHO0FBQ1UsUUFBQSxpQkFBaUIsR0FBRyxVQUFDLEdBQW9CO0lBQ3BELElBQUksTUFBTSxDQUFDO0lBQ1gsSUFBSSxPQUFPLFdBQVcsS0FBSyxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRTtRQUM1RCxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUNsQztTQUFNO1FBQ0wsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLFlBQVksV0FBVyxDQUFDO0tBQ2pFO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUY7Ozs7O0dBS0c7QUFDVSxRQUFBLFFBQVEsR0FBRyxVQUFDLEdBQVEsSUFBSyxPQUFBLEdBQUcsS0FBSyxJQUFJLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUF2QyxDQUF1QyxDQUFDO0FBRTlFOzs7OztHQUtHO0FBQ1UsUUFBQSxRQUFRLEdBQUcsVUFBQyxHQUFRLElBQUssT0FBQSxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksR0FBRyxZQUFZLE1BQU0sRUFBaEQsQ0FBZ0QsQ0FBQztBQUV2Rjs7Ozs7R0FLRztBQUNVLFFBQUEsTUFBTSxHQUFHLFVBQUMsR0FBUyxJQUFLLE9BQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLGVBQWUsRUFBdkQsQ0FBdUQsQ0FBQztBQUU3Rjs7Ozs7R0FLRztBQUNVLFFBQUEsTUFBTSxHQUFHLFVBQUMsR0FBUyxJQUFLLE9BQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLGVBQWUsRUFBdkQsQ0FBdUQsQ0FBQztBQUU3Rjs7Ozs7R0FLRztBQUNVLFFBQUEsaUJBQWlCLEdBQUcsVUFBQyxHQUFvQixJQUFLLE9BQUEsT0FBTyxlQUFlLEtBQUssV0FBVyxJQUFJLEdBQUcsWUFBWSxlQUFlLEVBQXhFLENBQXdFLENBQUM7QUFFcEk7Ozs7R0FJRztBQUNVLFFBQUEsVUFBVSxHQUFHLFVBQUEsR0FBRyxJQUFJLE9BQUEsT0FBTyxRQUFRLEtBQUssV0FBVyxJQUFJLEdBQUcsWUFBWSxRQUFRLEVBQTFELENBQTBELENBQUM7QUFFNUY7Ozs7O0dBS0c7QUFDVSxRQUFBLElBQUksR0FBRyxVQUFBLEdBQUcsSUFBSSxPQUFBLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQTNDLENBQTJDLENBQUM7QUFFdkUsdURBQTZCIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L3V0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKipcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGFuIEFycmF5XG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYW4gQXJyYXksIG90aGVyd2lzZSBmYWxzZVxuICovXG5leHBvcnQgY29uc3QgaXNBcnJheSA9ICh2YWw6IGFueVtdKSA9PiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsKSA9PT0gJ1tvYmplY3QgQXJyYXldJztcblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhbiBBcnJheUJ1ZmZlclxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGFuIEFycmF5QnVmZmVyLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZXhwb3J0IGNvbnN0IGlzQXJyYXlCdWZmZXIgPSAodmFsOiBBcnJheUJ1ZmZlcikgPT4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IEFycmF5QnVmZmVyXSc7XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYSB2aWV3IG9uIGFuIEFycmF5QnVmZmVyXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSB2aWV3IG9uIGFuIEFycmF5QnVmZmVyLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZXhwb3J0IGNvbnN0IGlzQXJyYXlCdWZmZXJWaWV3ID0gKHZhbDogQXJyYXlCdWZmZXJWaWV3KSA9PiB7XG4gIGxldCByZXN1bHQ7XG4gIGlmICh0eXBlb2YgQXJyYXlCdWZmZXIgIT09ICd1bmRlZmluZWQnICYmIEFycmF5QnVmZmVyLmlzVmlldykge1xuICAgIHJlc3VsdCA9IEFycmF5QnVmZmVyLmlzVmlldyh2YWwpO1xuICB9IGVsc2Uge1xuICAgIHJlc3VsdCA9IHZhbCAmJiB2YWwuYnVmZmVyICYmIHZhbC5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcjtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG4vKipcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGFuIE9iamVjdFxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGFuIE9iamVjdCwgb3RoZXJ3aXNlIGZhbHNlXG4gKi9cbmV4cG9ydCBjb25zdCBpc09iamVjdCA9ICh2YWw6IGFueSkgPT4gdmFsICE9PSBudWxsICYmIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnO1xuXG4vKipcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGFuIE9iamVjdFxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGFuIE9iamVjdCwgb3RoZXJ3aXNlIGZhbHNlXG4gKi9cbmV4cG9ydCBjb25zdCBpc1N0cmluZyA9ICh2YWw6IGFueSkgPT4gdHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdmFsIGluc3RhbmNlb2YgU3RyaW5nO1xuXG4vKipcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGEgRmlsZVxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgRmlsZSwgb3RoZXJ3aXNlIGZhbHNlXG4gKi9cbmV4cG9ydCBjb25zdCBpc0ZpbGUgPSAodmFsOiBGaWxlKSA9PiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsKSA9PT0gJ1tvYmplY3QgRmlsZV0nO1xuXG4vKipcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGEgQmxvYlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgQmxvYiwgb3RoZXJ3aXNlIGZhbHNlXG4gKi9cbmV4cG9ydCBjb25zdCBpc0Jsb2IgPSAodmFsOiBCbG9iKSA9PiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsKSA9PT0gJ1tvYmplY3QgQmxvYl0nO1xuXG4vKipcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGEgVVJMU2VhcmNoUGFyYW1zIG9iamVjdFxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgVVJMU2VhcmNoUGFyYW1zIG9iamVjdCwgb3RoZXJ3aXNlIGZhbHNlXG4gKi9cbmV4cG9ydCBjb25zdCBpc1VSTFNlYXJjaFBhcmFtcyA9ICh2YWw6IFVSTFNlYXJjaFBhcmFtcykgPT4gdHlwZW9mIFVSTFNlYXJjaFBhcmFtcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsIGluc3RhbmNlb2YgVVJMU2VhcmNoUGFyYW1zO1xuXG4vKipcbiAqIERldGVybWluZSBpZiB2YWx1ZSBpcyBmb3JtIGRhdGFcbiAqXG4gKiBAcGFyYW0gdmFsXG4gKi9cbmV4cG9ydCBjb25zdCBpc0Zvcm1EYXRhID0gdmFsID0+IHR5cGVvZiBGb3JtRGF0YSAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsIGluc3RhbmNlb2YgRm9ybURhdGE7XG5cbi8qKlxuICogVHJpbSBleGNlc3Mgd2hpdGVzcGFjZSBvZmYgdGhlIGJlZ2lubmluZyBhbmQgZW5kIG9mIGEgc3RyaW5nXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHN0ciBUaGUgU3RyaW5nIHRvIHRyaW1cbiAqIEByZXR1cm5zIHtTdHJpbmd9IFRoZSBTdHJpbmcgZnJlZWQgb2YgZXhjZXNzIHdoaXRlc3BhY2VcbiAqL1xuZXhwb3J0IGNvbnN0IHRyaW0gPSBzdHIgPT4gc3RyLnJlcGxhY2UoL15cXHMqLywgJycpLnJlcGxhY2UoL1xccyokLywgJycpO1xuXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzLm5vZGUnO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7O0FBRUg7Ozs7O0dBS0c7QUFDSSxJQUFNLE9BQU8sR0FBRyxVQUFDLEdBQVUsSUFBSyxPQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxnQkFBZ0IsRUFBeEQsQ0FBd0QsQ0FBQztBQUFuRixRQUFBLE9BQU8sV0FBNEU7QUFFaEc7Ozs7O0dBS0c7QUFDSSxJQUFNLGFBQWEsR0FBRyxVQUFDLEdBQWdCLElBQUssT0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssc0JBQXNCLEVBQTlELENBQThELENBQUM7QUFBckcsUUFBQSxhQUFhLGlCQUF3RjtBQUVsSDs7Ozs7R0FLRztBQUNJLElBQU0saUJBQWlCLEdBQUcsVUFBQyxHQUFvQjtJQUNwRCxJQUFJLE1BQU0sQ0FBQztJQUNYLElBQUksT0FBTyxXQUFXLEtBQUssV0FBVyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUU7UUFDNUQsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDbEM7U0FBTTtRQUNMLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxZQUFZLFdBQVcsQ0FBQztLQUNqRTtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQVRXLFFBQUEsaUJBQWlCLHFCQVM1QjtBQUVGOzs7OztHQUtHO0FBQ0ksSUFBTSxRQUFRLEdBQUcsVUFBQyxHQUFRLElBQUssT0FBQSxHQUFHLEtBQUssSUFBSSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBdkMsQ0FBdUMsQ0FBQztBQUFqRSxRQUFBLFFBQVEsWUFBeUQ7QUFFOUU7Ozs7O0dBS0c7QUFDSSxJQUFNLFFBQVEsR0FBRyxVQUFDLEdBQVEsSUFBSyxPQUFBLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLFlBQVksTUFBTSxFQUFoRCxDQUFnRCxDQUFDO0FBQTFFLFFBQUEsUUFBUSxZQUFrRTtBQUV2Rjs7Ozs7R0FLRztBQUNJLElBQU0sTUFBTSxHQUFHLFVBQUMsR0FBUyxJQUFLLE9BQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLGVBQWUsRUFBdkQsQ0FBdUQsQ0FBQztBQUFoRixRQUFBLE1BQU0sVUFBMEU7QUFFN0Y7Ozs7O0dBS0c7QUFDSSxJQUFNLE1BQU0sR0FBRyxVQUFDLEdBQVMsSUFBSyxPQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxlQUFlLEVBQXZELENBQXVELENBQUM7QUFBaEYsUUFBQSxNQUFNLFVBQTBFO0FBRTdGOzs7OztHQUtHO0FBQ0ksSUFBTSxpQkFBaUIsR0FBRyxVQUFDLEdBQW9CLElBQUssT0FBQSxPQUFPLGVBQWUsS0FBSyxXQUFXLElBQUksR0FBRyxZQUFZLGVBQWUsRUFBeEUsQ0FBd0UsQ0FBQztBQUF2SCxRQUFBLGlCQUFpQixxQkFBc0c7QUFFcEk7Ozs7R0FJRztBQUNJLElBQU0sVUFBVSxHQUFHLFVBQUEsR0FBRyxJQUFJLE9BQUEsT0FBTyxRQUFRLEtBQUssV0FBVyxJQUFJLEdBQUcsWUFBWSxRQUFRLEVBQTFELENBQTBELENBQUM7QUFBL0UsUUFBQSxVQUFVLGNBQXFFO0FBRTVGOzs7OztHQUtHO0FBQ0ksSUFBTSxJQUFJLEdBQUcsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUEzQyxDQUEyQyxDQUFDO0FBQTFELFFBQUEsSUFBSSxRQUFzRDtBQUV2RSx1REFBNkIiLCJmaWxlIjoibGliL3JlcXVlc3QvdXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYW4gQXJyYXlcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhbiBBcnJheSwgb3RoZXJ3aXNlIGZhbHNlXG4gKi9cbmV4cG9ydCBjb25zdCBpc0FycmF5ID0gKHZhbDogYW55W10pID0+IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBBcnJheV0nO1xuXG4vKipcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGFuIEFycmF5QnVmZmVyXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYW4gQXJyYXlCdWZmZXIsIG90aGVyd2lzZSBmYWxzZVxuICovXG5leHBvcnQgY29uc3QgaXNBcnJheUJ1ZmZlciA9ICh2YWw6IEFycmF5QnVmZmVyKSA9PiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsKSA9PT0gJ1tvYmplY3QgQXJyYXlCdWZmZXJdJztcblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIHZpZXcgb24gYW4gQXJyYXlCdWZmZXJcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhIHZpZXcgb24gYW4gQXJyYXlCdWZmZXIsIG90aGVyd2lzZSBmYWxzZVxuICovXG5leHBvcnQgY29uc3QgaXNBcnJheUJ1ZmZlclZpZXcgPSAodmFsOiBBcnJheUJ1ZmZlclZpZXcpID0+IHtcbiAgbGV0IHJlc3VsdDtcbiAgaWYgKHR5cGVvZiBBcnJheUJ1ZmZlciAhPT0gJ3VuZGVmaW5lZCcgJiYgQXJyYXlCdWZmZXIuaXNWaWV3KSB7XG4gICAgcmVzdWx0ID0gQXJyYXlCdWZmZXIuaXNWaWV3KHZhbCk7XG4gIH0gZWxzZSB7XG4gICAgcmVzdWx0ID0gdmFsICYmIHZhbC5idWZmZXIgJiYgdmFsLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYW4gT2JqZWN0XG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYW4gT2JqZWN0LCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZXhwb3J0IGNvbnN0IGlzT2JqZWN0ID0gKHZhbDogYW55KSA9PiB2YWwgIT09IG51bGwgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCc7XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYW4gT2JqZWN0XG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYW4gT2JqZWN0LCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZXhwb3J0IGNvbnN0IGlzU3RyaW5nID0gKHZhbDogYW55KSA9PiB0eXBlb2YgdmFsID09PSAnc3RyaW5nJyB8fCB2YWwgaW5zdGFuY2VvZiBTdHJpbmc7XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYSBGaWxlXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBGaWxlLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZXhwb3J0IGNvbnN0IGlzRmlsZSA9ICh2YWw6IEZpbGUpID0+IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBGaWxlXSc7XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYSBCbG9iXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBCbG9iLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZXhwb3J0IGNvbnN0IGlzQmxvYiA9ICh2YWw6IEJsb2IpID0+IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBCbG9iXSc7XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYSBVUkxTZWFyY2hQYXJhbXMgb2JqZWN0XG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBVUkxTZWFyY2hQYXJhbXMgb2JqZWN0LCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZXhwb3J0IGNvbnN0IGlzVVJMU2VhcmNoUGFyYW1zID0gKHZhbDogVVJMU2VhcmNoUGFyYW1zKSA9PiB0eXBlb2YgVVJMU2VhcmNoUGFyYW1zICE9PSAndW5kZWZpbmVkJyAmJiB2YWwgaW5zdGFuY2VvZiBVUkxTZWFyY2hQYXJhbXM7XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIHZhbHVlIGlzIGZvcm0gZGF0YVxuICpcbiAqIEBwYXJhbSB2YWxcbiAqL1xuZXhwb3J0IGNvbnN0IGlzRm9ybURhdGEgPSB2YWwgPT4gdHlwZW9mIEZvcm1EYXRhICE9PSAndW5kZWZpbmVkJyAmJiB2YWwgaW5zdGFuY2VvZiBGb3JtRGF0YTtcblxuLyoqXG4gKiBUcmltIGV4Y2VzcyB3aGl0ZXNwYWNlIG9mZiB0aGUgYmVnaW5uaW5nIGFuZCBlbmQgb2YgYSBzdHJpbmdcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gc3RyIFRoZSBTdHJpbmcgdG8gdHJpbVxuICogQHJldHVybnMge1N0cmluZ30gVGhlIFN0cmluZyBmcmVlZCBvZiBleGNlc3Mgd2hpdGVzcGFjZVxuICovXG5leHBvcnQgY29uc3QgdHJpbSA9IHN0ciA9PiBzdHIucmVwbGFjZSgvXlxccyovLCAnJykucmVwbGFjZSgvXFxzKiQvLCAnJyk7XG5cbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMubm9kZSc7XG4iXX0=
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isStream = exports.isBuffer = void 0;
var tslib_1 = require("tslib");
/*

@@ -19,3 +21,3 @@ * Copyright (c) 2018 by Filestack

*/
var stream = require("stream");
var stream = tslib_1.__importStar(require("stream"));
var utils_1 = require("./utils");

@@ -28,3 +30,4 @@ /**

*/
exports.isBuffer = function (val) { return Buffer.isBuffer(val); };
var isBuffer = function (val) { return Buffer.isBuffer(val); };
exports.isBuffer = isBuffer;
/**

@@ -36,4 +39,5 @@ * Determine if a value is a Stream

*/
exports.isStream = function (val) { return utils_1.isObject(val) && val instanceof stream.Stream && val instanceof stream.Readable; };
var isStream = function (val) { return (0, utils_1.isObject)(val) && val instanceof stream.Stream && val instanceof stream.Readable; };
exports.isStream = isStream;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC91dGlscy5ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsK0JBQWlDO0FBRWpDLGlDQUFtQztBQUVuQzs7Ozs7R0FLRztBQUNVLFFBQUEsUUFBUSxHQUFHLFVBQUEsR0FBRyxJQUFJLE9BQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBcEIsQ0FBb0IsQ0FBQztBQUVwRDs7Ozs7R0FLRztBQUNVLFFBQUEsUUFBUSxHQUFHLFVBQUMsR0FBUSxJQUFLLE9BQUEsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLFlBQVksTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLFlBQVksTUFBTSxDQUFDLFFBQVEsRUFBL0UsQ0FBK0UsQ0FBQyIsImZpbGUiOiJsaWIvcmVxdWVzdC91dGlscy5ub2RlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0ICogYXMgc3RyZWFtIGZyb20gJ3N0cmVhbSc7XG5cbmltcG9ydCB7IGlzT2JqZWN0IH0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYSBCdWZmZXJcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhIEJ1ZmZlciwgb3RoZXJ3aXNlIGZhbHNlXG4gKi9cbmV4cG9ydCBjb25zdCBpc0J1ZmZlciA9IHZhbCA9PiBCdWZmZXIuaXNCdWZmZXIodmFsKTtcblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIFN0cmVhbVxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgU3RyZWFtLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZXhwb3J0IGNvbnN0IGlzU3RyZWFtID0gKHZhbDogYW55KSA9PiBpc09iamVjdCh2YWwpICYmIHZhbCBpbnN0YW5jZW9mIHN0cmVhbS5TdHJlYW0gJiYgdmFsIGluc3RhbmNlb2Ygc3RyZWFtLlJlYWRhYmxlO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC91dGlscy5ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxxREFBaUM7QUFFakMsaUNBQW1DO0FBRW5DOzs7OztHQUtHO0FBQ0ksSUFBTSxRQUFRLEdBQUcsVUFBQSxHQUFHLElBQUksT0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFwQixDQUFvQixDQUFDO0FBQXZDLFFBQUEsUUFBUSxZQUErQjtBQUVwRDs7Ozs7R0FLRztBQUNJLElBQU0sUUFBUSxHQUFHLFVBQUMsR0FBUSxJQUFLLE9BQUEsSUFBQSxnQkFBUSxFQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsWUFBWSxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsWUFBWSxNQUFNLENBQUMsUUFBUSxFQUEvRSxDQUErRSxDQUFDO0FBQXpHLFFBQUEsUUFBUSxZQUFpRyIsImZpbGUiOiJsaWIvcmVxdWVzdC91dGlscy5ub2RlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0ICogYXMgc3RyZWFtIGZyb20gJ3N0cmVhbSc7XG5cbmltcG9ydCB7IGlzT2JqZWN0IH0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYSBCdWZmZXJcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhIEJ1ZmZlciwgb3RoZXJ3aXNlIGZhbHNlXG4gKi9cbmV4cG9ydCBjb25zdCBpc0J1ZmZlciA9IHZhbCA9PiBCdWZmZXIuaXNCdWZmZXIodmFsKTtcblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIFN0cmVhbVxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgU3RyZWFtLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZXhwb3J0IGNvbnN0IGlzU3RyZWFtID0gKHZhbDogYW55KSA9PiBpc09iamVjdCh2YWwpICYmIHZhbCBpbnN0YW5jZW9mIHN0cmVhbS5TdHJlYW0gJiYgdmFsIGluc3RhbmNlb2Ygc3RyZWFtLlJlYWRhYmxlO1xuIl19

@@ -19,4 +19,5 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
var utils = require("./utils");
var printLog = function (status, name, value) { return name + " should return " + status + " when value is " + value; };
var tslib_1 = require("tslib");
var utils = tslib_1.__importStar(require("./utils"));
var printLog = function (status, name, value) { return "".concat(name, " should return ").concat(status, " when value is ").concat(value); };
describe('Request/Utils', function () {

@@ -52,2 +53,2 @@ describe('isBuffer', function () {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC91dGlscy5zcGVjLmJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFFSCwrQkFBaUM7QUFFakMsSUFBTSxRQUFRLEdBQUcsVUFBQyxNQUF3QixFQUFFLElBQVksRUFBRSxLQUFhLElBQWEsT0FBRyxJQUFJLHVCQUFrQixNQUFNLHVCQUFrQixLQUFPLEVBQXhELENBQXdELENBQUM7QUFFN0ksUUFBUSxDQUFDLGVBQWUsRUFBRTtJQUN4QixRQUFRLENBQUMsVUFBVSxFQUFFO1FBQ25CLGFBQWE7UUFDYixFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBcEMsQ0FBb0MsQ0FBQyxDQUFDO0lBQ3BGLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGVBQWUsRUFBRTtRQUN4QixFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUscUJBQXFCLENBQUMsRUFBRTtZQUN6RCxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUN0QyxhQUFhO1lBQ2IsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsUUFBUSxFQUFFO1FBQ2pCLElBQU0sSUFBSSxHQUFTLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDeEUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUF2QyxDQUF1QyxDQUFDLENBQUM7SUFDNUYsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsUUFBUSxFQUFFO1FBQ2pCLElBQU0sS0FBSyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNsQyxJQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUMxRCxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQXZDLENBQXVDLENBQUMsQ0FBQztJQUM1RixDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxZQUFZLEVBQUU7UUFDckIsSUFBTSxRQUFRLEdBQWEsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMxQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQS9DLENBQStDLENBQUMsQ0FBQztJQUNyRyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L3V0aWxzLnNwZWMuYnJvd3Nlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBwcmludExvZyA9IChzdGF0dXM6IGJvb2xlYW4gfCBzdHJpbmcsIG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHN0cmluZyA9PiBgJHtuYW1lfSBzaG91bGQgcmV0dXJuICR7c3RhdHVzfSB3aGVuIHZhbHVlIGlzICR7dmFsdWV9YDtcblxuZGVzY3JpYmUoJ1JlcXVlc3QvVXRpbHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdpc0J1ZmZlcicsICgpID0+IHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaXQocHJpbnRMb2coZmFsc2UsICdpc0J1ZmZlcicsICd7fScpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNCdWZmZXIoKSkudG9CZUZhbHN5KCkpO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNBcnJheUJ1ZmZlcicsICgpID0+IHtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNBcnJheUJ1ZmZlcicsICduZXcgQXJyYXlCdWZmZXIoMTApJyksICgpID0+IHtcbiAgICAgIGV4cGVjdCh1dGlscy5pc0FycmF5QnVmZmVyKEJ1ZmZlci5hbGxvYygxMCkpKS50b0JlRmFsc3koKTtcbiAgICB9KTtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNBcnJheUJ1ZmZlcicsICcnKSwgKCkgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KHV0aWxzLmlzQXJyYXlCdWZmZXIoKSkudG9CZUZhbHN5KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc0ZpbGUnLCAoKSA9PiB7XG4gICAgY29uc3QgZmlsZTogRmlsZSA9IG5ldyBGaWxlKFsnZm9vJ10sICdmb28udHh0JywgeyB0eXBlOiAndGV4dC9wbGFpbicgfSk7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzRmlsZScsICduZXcgRmlsZSgpJyksICgpID0+IGV4cGVjdCh1dGlscy5pc0ZpbGUoZmlsZSkpLnRvQmVUcnV0aHkoKSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc0Jsb2InLCAoKSA9PiB7XG4gICAgY29uc3QgcGFydHMgPSBbJzxhIGlkPVwiaWRcIj48L2E+J107XG4gICAgY29uc3QgYmxvYjogQmxvYiA9IG5ldyBCbG9iKHBhcnRzLCB7IHR5cGU6ICd0ZXh0L2h0bWwnIH0pO1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0Jsb2InLCAnbmV3IEJsb2IoKScpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNCbG9iKGJsb2IpKS50b0JlVHJ1dGh5KCkpO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNGb3JtRGF0YScsICgpID0+IHtcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ25hbWUnLCAndmFsdWUnKTtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNGb3JtRGF0YScsIFwiJ3ZhbHVlJ1wiKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzRm9ybURhdGEoZm9ybURhdGEpKS50b0JlVHJ1dGh5KCkpO1xuICB9KTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC91dGlscy5zcGVjLmJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7O0FBRUgscURBQWlDO0FBRWpDLElBQU0sUUFBUSxHQUFHLFVBQUMsTUFBd0IsRUFBRSxJQUFZLEVBQUUsS0FBYSxJQUFhLE9BQUEsVUFBRyxJQUFJLDRCQUFrQixNQUFNLDRCQUFrQixLQUFLLENBQUUsRUFBeEQsQ0FBd0QsQ0FBQztBQUU3SSxRQUFRLENBQUMsZUFBZSxFQUFFO0lBQ3hCLFFBQVEsQ0FBQyxVQUFVLEVBQUU7UUFDbkIsYUFBYTtRQUNiLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFwQyxDQUFvQyxDQUFDLENBQUM7SUFDcEYsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsZUFBZSxFQUFFO1FBQ3hCLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQyxFQUFFO1lBQ3pELE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQ3RDLGFBQWE7WUFDYixNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxRQUFRLEVBQUU7UUFDakIsSUFBTSxJQUFJLEdBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUN4RSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQXZDLENBQXVDLENBQUMsQ0FBQztJQUM1RixDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxRQUFRLEVBQUU7UUFDakIsSUFBTSxLQUFLLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xDLElBQU0sSUFBSSxHQUFTLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzFELEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBdkMsQ0FBdUMsQ0FBQyxDQUFDO0lBQzVGLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFlBQVksRUFBRTtRQUNyQixJQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxTQUFTLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBL0MsQ0FBK0MsQ0FBQyxDQUFDO0lBQ3JHLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL3JlcXVlc3QvdXRpbHMuc3BlYy5icm93c2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IHByaW50TG9nID0gKHN0YXR1czogYm9vbGVhbiB8IHN0cmluZywgbmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogc3RyaW5nID0+IGAke25hbWV9IHNob3VsZCByZXR1cm4gJHtzdGF0dXN9IHdoZW4gdmFsdWUgaXMgJHt2YWx1ZX1gO1xuXG5kZXNjcmliZSgnUmVxdWVzdC9VdGlscycsICgpID0+IHtcbiAgZGVzY3JpYmUoJ2lzQnVmZmVyJywgKCkgPT4ge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpdChwcmludExvZyhmYWxzZSwgJ2lzQnVmZmVyJywgJ3t9JyksICgpID0+IGV4cGVjdCh1dGlscy5pc0J1ZmZlcigpKS50b0JlRmFsc3koKSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc0FycmF5QnVmZmVyJywgKCkgPT4ge1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0FycmF5QnVmZmVyJywgJ25ldyBBcnJheUJ1ZmZlcigxMCknKSwgKCkgPT4ge1xuICAgICAgZXhwZWN0KHV0aWxzLmlzQXJyYXlCdWZmZXIoQnVmZmVyLmFsbG9jKDEwKSkpLnRvQmVGYWxzeSgpO1xuICAgIH0pO1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0FycmF5QnVmZmVyJywgJycpLCAoKSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3QodXRpbHMuaXNBcnJheUJ1ZmZlcigpKS50b0JlRmFsc3koKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzRmlsZScsICgpID0+IHtcbiAgICBjb25zdCBmaWxlOiBGaWxlID0gbmV3IEZpbGUoWydmb28nXSwgJ2Zvby50eHQnLCB7IHR5cGU6ICd0ZXh0L3BsYWluJyB9KTtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNGaWxlJywgJ25ldyBGaWxlKCknKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzRmlsZShmaWxlKSkudG9CZVRydXRoeSgpKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzQmxvYicsICgpID0+IHtcbiAgICBjb25zdCBwYXJ0cyA9IFsnPGEgaWQ9XCJpZFwiPjwvYT4nXTtcbiAgICBjb25zdCBibG9iOiBCbG9iID0gbmV3IEJsb2IocGFydHMsIHsgdHlwZTogJ3RleHQvaHRtbCcgfSk7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzQmxvYicsICduZXcgQmxvYigpJyksICgpID0+IGV4cGVjdCh1dGlscy5pc0Jsb2IoYmxvYikpLnRvQmVUcnV0aHkoKSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc0Zvcm1EYXRhJywgKCkgPT4ge1xuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnbmFtZScsICd2YWx1ZScpO1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0Zvcm1EYXRhJywgXCIndmFsdWUnXCIpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNGb3JtRGF0YShmb3JtRGF0YSkpLnRvQmVUcnV0aHkoKSk7XG4gIH0pO1xufSk7XG4iXX0=

@@ -19,5 +19,6 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
var utils = require("./utils");
var tslib_1 = require("tslib");
var utils = tslib_1.__importStar(require("./utils"));
var stream_1 = require("stream");
var printLog = function (status, name, value) { return name + " should return " + status + " when value is " + value; };
var printLog = function (status, name, value) { return "".concat(name, " should return ").concat(status, " when value is ").concat(value); };
describe('Request/Utils', function () {

@@ -114,2 +115,2 @@ describe('isArray', function () {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC91dGlscy5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7O0FBRUgsK0JBQWlDO0FBQ2pDLGlDQUFrQztBQUVsQyxJQUFNLFFBQVEsR0FBRyxVQUFDLE1BQXdCLEVBQUUsSUFBWSxFQUFFLEtBQWEsSUFBYSxPQUFHLElBQUksdUJBQWtCLE1BQU0sdUJBQWtCLEtBQU8sRUFBeEQsQ0FBd0QsQ0FBQztBQUU3SSxRQUFRLENBQUMsZUFBZSxFQUFFO0lBQ3hCLFFBQVEsQ0FBQyxTQUFTLEVBQUU7UUFDbEIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBN0MsQ0FBNkMsQ0FBQyxDQUFDO1FBRWhHLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBdEMsQ0FBc0MsQ0FBQyxDQUFDO1FBRWxGLGFBQWE7UUFDYixFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBbkMsQ0FBbUMsQ0FBQyxDQUFDO1FBRTdFLGFBQWE7UUFDYixFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FB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QUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBdEMsQ0FBc0MsQ0FBQyxDQUFDO0lBQ3RGLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFVBQVUsRUFBRTtRQUNuQixFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQTVDLENBQTRDLENBQUMsQ0FBQztRQUU5RixFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQXRDLENBQXNDLENBQUMsQ0FBQztRQUVwRixFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQXRDLENBQXNDLENBQUMsQ0FBQztRQUVwRixFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQXRDLENBQXNDLENBQUMsQ0FBQztRQUVwRixFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUss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QUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvcmVxdWVzdC91dGlscy5zcGVjLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gJ3N0cmVhbSc7XG5cbmNvbnN0IHByaW50TG9nID0gKHN0YXR1czogYm9vbGVhbiB8IHN0cmluZywgbmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogc3RyaW5nID0+IGAke25hbWV9IHNob3VsZCByZXR1cm4gJHtzdGF0dXN9IHdoZW4gdmFsdWUgaXMgJHt2YWx1ZX1gO1xuXG5kZXNjcmliZSgnUmVxdWVzdC9VdGlscycsICgpID0+IHtcbiAgZGVzY3JpYmUoJ2lzQXJyYXknLCAoKSA9PiB7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzQXJyYXknLCBcIlsndmFsdWUnXVwiKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzQXJyYXkoWyd2YWx1ZSddKSkudG9CZVRydXRoeSgpKTtcblxuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0FycmF5JywgJ1tdJyksICgpID0+IGV4cGVjdCh1dGlscy5pc0FycmF5KFtdKSkudG9CZVRydXRoeSgpKTtcblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNBcnJheScsICcnKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzQXJyYXkoKSkudG9CZUZhbHN5KCkpO1xuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0FycmF5JywgbnVsbCksICgpID0+IGV4cGVjdCh1dGlscy5pc0FycmF5KG51bGwpKS50b0JlRmFsc3koKSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc0FycmF5QnVmZmVyJywgKCkgPT4ge1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0FycmF5QnVmZmVyJywgJ25ldyBBcnJheUJ1ZmZlcigxMCknKSwgKCkgPT4ge1xuICAgICAgZXhwZWN0KHV0aWxzLmlzQXJyYXlCdWZmZXIobmV3IEFycmF5QnVmZmVyKDEwKSkpLnRvQmVUcnV0aHkoKTtcbiAgICB9KTtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNBcnJheUJ1ZmZlcicsICcnKSwgKCkgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KHV0aWxzLmlzQXJyYXlCdWZmZXIoKSkudG9CZUZhbHN5KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vIGlzQnVmZmVyXG4gIGRlc2NyaWJlKCdpc0J1ZmZlcicsICgpID0+IHtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNCdWZmZXInLCAnJyksICgpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGV4cGVjdCh1dGlscy5pc0J1ZmZlcihudWxsKSkudG9CZUZhbHN5KCk7XG4gICAgfSk7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzQnVmZmVyJywgJycpLCAoKSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3QodXRpbHMuaXNCdWZmZXIoQnVmZmVyLmFsbG9jKDEwKSkpLnRvQmVUcnV0aHkoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzQXJyYXlCdWZmZXJWaWV3JywgKCkgPT4ge1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0FycmF5QnVmZmVyVmlldycsICduZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDEwKSknKSwgKCkgPT4ge1xuICAgICAgZXhwZWN0KHV0aWxzLmlzQXJyYXlCdWZmZXJWaWV3KG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMTApKSkpLnRvQmVUcnV0aHkoKTtcbiAgICB9KTtcblxuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0FycmF5QnVmZmVyVmlldycsIG51bGwpLCAoKSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3QodXRpbHMuaXNBcnJheUJ1ZmZlclZpZXcobnVsbCkpLnRvQmVGYWxzeSgpO1xuICAgIH0pO1xuXG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzQXJyYXlCdWZmZXJWaWV3JywgbnVsbCksICgpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGV4cGVjdCh1dGlscy5pc0FycmF5QnVmZmVyVmlldyhCdWZmZXIuYWxsb2MoMTApKSkudG9CZVRydXRoeSgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNPYmplY3QnLCAoKSA9PiB7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzT2JqZWN0JywgXCJ7cHJvcDogJ3ZhbHVlJ31cIiksICgpID0+IGV4cGVjdCh1dGlscy5pc09iamVjdCh7IHByb3A6ICd2YWx1ZScgfSkpLnRvQmVUcnV0aHkoKSk7XG5cbiAgICBpdChwcmludExvZyhmYWxzZSwgJ2lzT2JqZWN0JywgXCIndmFsdWUnXCIpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNPYmplY3QoJ3ZhbHVlJykpLnRvQmVGYWxzeSgpKTtcblxuICAgIGl0KHByaW50TG9nKGZhbHNlLCAnaXNPYmplY3QnLCAnMTAnKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzT2JqZWN0KDEwKSkudG9CZUZhbHN5KCkpO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNTdHJpbmcnLCAoKSA9PiB7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzU3RyaW5nJywgXCIndmFsdWUnXCIpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNTdHJpbmcoJ3ZhbHVlJykpLnRvQmVUcnV0aHkoKSk7XG5cbiAgICBpdChwcmludExvZyhmYWxzZSwgJ2lzU3RyaW5nJywgJzEwJyksICgpID0+IGV4cGVjdCh1dGlscy5pc1N0cmluZygxMCkpLnRvQmVGYWxzeSgpKTtcblxuICAgIGl0KHByaW50TG9nKGZhbHNlLCAnaXNTdHJpbmcnLCAne30nKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzU3RyaW5nKHt9KSkudG9CZUZhbHN5KCkpO1xuXG4gICAgaXQocHJpbnRMb2coZmFsc2UsICdpc1N0cmluZycsICdbXScpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNTdHJpbmcoW10pKS50b0JlRmFsc3koKSk7XG5cbiAgICBpdChwcmludExvZyhmYWxzZSwgJ2lzU3RyaW5nJywgJ2ZhbHNlJyksICgpID0+IGV4cGVjdCh1dGlscy5pc1N0cmluZyhmYWxzZSkpLnRvQmVGYWxzeSgpKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzRmlsZScsICgpID0+IHtcbiAgICBpdChwcmludExvZyhmYWxzZSwgJ2lzRmlsZScsIG51bGwpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNGaWxlKG51bGwpKS50b0JlRmFsc3koKSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc0Jsb2InLCAoKSA9PiB7XG4gICAgaXQocHJpbnRMb2coZmFsc2UsICdpc0Jsb2InLCBudWxsKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzQmxvYihudWxsKSkudG9CZUZhbHN5KCkpO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNTdHJlYW0nLCAoKSA9PiB7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzU3RyZWFtJywgJ1N0cmVhbS5SZWFkYWJsZSgpJyksICgpID0+IHtcbiAgICAgIGNvbnN0IHN0cmVhbSA9IG5ldyBSZWFkYWJsZSgpO1xuICAgICAgc3RyZWFtLl9yZWFkID0gKCkgPT4gJyc7XG4gICAgICBzdHJlYW0ucHVzaCgnYmVlcCcpO1xuICAgICAgZXhwZWN0KHV0aWxzLmlzU3RyZWFtKHN0cmVhbSkpLnRvQmVUcnV0aHkoKTtcbiAgICB9KTtcblxuICAgIGl0KHByaW50TG9nKHRydWUsICdpc1N0cmVhbScsIFwiJ3ZhbHVlJ1wiKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzU3RyZWFtKCd2YWx1ZScpKS50b0JlRmFsc3koKSk7XG5cbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNTdHJlYW0nLCAnMTAnKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzU3RyZWFtKDEwKSkudG9CZUZhbHN5KCkpO1xuXG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzU3RyZWFtJywgJ1tdJyksICgpID0+IGV4cGVjdCh1dGlscy5pc1N0cmVhbShbXSkpLnRvQmVGYWxzeSgpKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzVVJMU2VhcmNoUGFyYW1zJywgKCkgPT4ge1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc1VSTFNlYXJjaFBhcmFtcycsIFwibmV3IFVSTFNlYXJjaFBhcmFtcygncT1maWxlbmFtZT0mc2l6ZT0xMicpXCIpLCAoKSA9PiB7XG4gICAgICBleHBlY3QodXRpbHMuaXNVUkxTZWFyY2hQYXJhbXMobmV3IFVSTFNlYXJjaFBhcmFtcygncT1maWxlbmFtZT0mc2l6ZT0xMicpKSkudG9CZVRydXRoeSgpO1xuICAgIH0pO1xuXG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzVVJMU2VhcmNoUGFyYW1zJywgXCJuZXcgVVJMU2VhcmNoUGFyYW1zKCcnKVwiKSwgKCkgPT4ge1xuICAgICAgZXhwZWN0KHV0aWxzLmlzVVJMU2VhcmNoUGFyYW1zKG5ldyBVUkxTZWFyY2hQYXJhbXMoJycpKSkudG9CZVRydXRoeSgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNGb3JtRGF0YScsICgpID0+IHtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNGb3JtRGF0YScsIFwiJ3ZhbHVlJ1wiKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzRm9ybURhdGEoJ3ZhbHVlJykpLnRvQmVGYWxzeSgpKTtcblxuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0Zvcm1EYXRhJywgJzEwJyksICgpID0+IGV4cGVjdCh1dGlscy5pc0Zvcm1EYXRhKHt9KSkudG9CZUZhbHN5KCkpO1xuXG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzRm9ybURhdGEnLCAnW10nKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzRm9ybURhdGEoW10pKS50b0JlRmFsc3koKSk7XG5cbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNGb3JtRGF0YScsICd7fScpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNGb3JtRGF0YSh7fSkpLnRvQmVGYWxzeSgpKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3RyaW0nLCAoKSA9PiB7XG4gICAgaXQocHJpbnRMb2coXCIndmFsdWUnIHdpdGhvdXQgd2hpdGVzcGFjZVwiLCAndHJpbScsIFwiJyB2YWx1ZSdcIiksICgpID0+IGV4cGVjdCh1dGlscy50cmltKCcgdmFsdWUnKSkudG9FcXVhbCgndmFsdWUnKSk7XG5cbiAgICBpdChwcmludExvZyhcIid2YWx1ZScgd2l0aG91dCB3aGl0ZXNwYWNlIFwiLCAndHJpbScsIFwiJyB2YWx1ZSAnXCIpLCAoKSA9PiBleHBlY3QodXRpbHMudHJpbSgnIHZhbHVlICcpKS50b0VxdWFsKCd2YWx1ZScpKTtcbiAgfSk7XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC91dGlscy5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7OztBQUVILHFEQUFpQztBQUNqQyxpQ0FBa0M7QUFFbEMsSUFBTSxRQUFRLEdBQUcsVUFBQyxNQUF3QixFQUFFLElBQVksRUFBRSxLQUFhLElBQWEsT0FBQSxVQUFHLElBQUksNEJBQWtCLE1BQU0sNEJBQWtCLEtBQUssQ0FBRSxFQUF4RCxDQUF3RCxDQUFDO0FBRTdJLFFBQVEsQ0FBQyxlQUFlLEVBQUU7SUFDeEIsUUFBUSxDQUFDLFNBQVMsRUFBRTtRQUNsQixFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUE3QyxDQUE2QyxDQUFDLENBQUM7UUFFaEcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUF0QyxDQUFzQyxDQUFDLENBQUM7UUFFbEYsYUFBYTtRQUNiLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFuQyxDQUFtQyxDQUFDLENBQUM7UUFFN0UsYUFBYTtRQUNiLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENB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RUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUF0QyxDQUFzQyxDQUFDLENBQUM7SUFDdEYsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsVUFBVSxFQUFFO1FBQ25CLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBNUMsQ0FBNEMsQ0FBQyxDQUFDO1FBRTlGLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBdEMsQ0FBc0MsQ0FBQyxDQUFDO1FBRXBGLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBdEMsQ0FBc0MsQ0FBQyxDQUFDO1FBRXBGLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBdEMsQ0FBc0MsQ0FBQyxDQUFDO1FBRXBGLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFR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QUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L3V0aWxzLnNwZWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE5IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFJlYWRhYmxlIH0gZnJvbSAnc3RyZWFtJztcblxuY29uc3QgcHJpbnRMb2cgPSAoc3RhdHVzOiBib29sZWFuIHwgc3RyaW5nLCBuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgPT4gYCR7bmFtZX0gc2hvdWxkIHJldHVybiAke3N0YXR1c30gd2hlbiB2YWx1ZSBpcyAke3ZhbHVlfWA7XG5cbmRlc2NyaWJlKCdSZXF1ZXN0L1V0aWxzJywgKCkgPT4ge1xuICBkZXNjcmliZSgnaXNBcnJheScsICgpID0+IHtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNBcnJheScsIFwiWyd2YWx1ZSddXCIpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNBcnJheShbJ3ZhbHVlJ10pKS50b0JlVHJ1dGh5KCkpO1xuXG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzQXJyYXknLCAnW10nKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzQXJyYXkoW10pKS50b0JlVHJ1dGh5KCkpO1xuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0FycmF5JywgJycpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNBcnJheSgpKS50b0JlRmFsc3koKSk7XG5cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzQXJyYXknLCBudWxsKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzQXJyYXkobnVsbCkpLnRvQmVGYWxzeSgpKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzQXJyYXlCdWZmZXInLCAoKSA9PiB7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzQXJyYXlCdWZmZXInLCAnbmV3IEFycmF5QnVmZmVyKDEwKScpLCAoKSA9PiB7XG4gICAgICBleHBlY3QodXRpbHMuaXNBcnJheUJ1ZmZlcihuZXcgQXJyYXlCdWZmZXIoMTApKSkudG9CZVRydXRoeSgpO1xuICAgIH0pO1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0FycmF5QnVmZmVyJywgJycpLCAoKSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3QodXRpbHMuaXNBcnJheUJ1ZmZlcigpKS50b0JlRmFsc3koKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgLy8gaXNCdWZmZXJcbiAgZGVzY3JpYmUoJ2lzQnVmZmVyJywgKCkgPT4ge1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0J1ZmZlcicsICcnKSwgKCkgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KHV0aWxzLmlzQnVmZmVyKG51bGwpKS50b0JlRmFsc3koKTtcbiAgICB9KTtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNCdWZmZXInLCAnJyksICgpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGV4cGVjdCh1dGlscy5pc0J1ZmZlcihCdWZmZXIuYWxsb2MoMTApKSkudG9CZVRydXRoeSgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNBcnJheUJ1ZmZlclZpZXcnLCAoKSA9PiB7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzQXJyYXlCdWZmZXJWaWV3JywgJ25ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMTApKScpLCAoKSA9PiB7XG4gICAgICBleHBlY3QodXRpbHMuaXNBcnJheUJ1ZmZlclZpZXcobmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcigxMCkpKSkudG9CZVRydXRoeSgpO1xuICAgIH0pO1xuXG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzQXJyYXlCdWZmZXJWaWV3JywgbnVsbCksICgpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGV4cGVjdCh1dGlscy5pc0FycmF5QnVmZmVyVmlldyhudWxsKSkudG9CZUZhbHN5KCk7XG4gICAgfSk7XG5cbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNBcnJheUJ1ZmZlclZpZXcnLCBudWxsKSwgKCkgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KHV0aWxzLmlzQXJyYXlCdWZmZXJWaWV3KEJ1ZmZlci5hbGxvYygxMCkpKS50b0JlVHJ1dGh5KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc09iamVjdCcsICgpID0+IHtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNPYmplY3QnLCBcIntwcm9wOiAndmFsdWUnfVwiKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzT2JqZWN0KHsgcHJvcDogJ3ZhbHVlJyB9KSkudG9CZVRydXRoeSgpKTtcblxuICAgIGl0KHByaW50TG9nKGZhbHNlLCAnaXNPYmplY3QnLCBcIid2YWx1ZSdcIiksICgpID0+IGV4cGVjdCh1dGlscy5pc09iamVjdCgndmFsdWUnKSkudG9CZUZhbHN5KCkpO1xuXG4gICAgaXQocHJpbnRMb2coZmFsc2UsICdpc09iamVjdCcsICcxMCcpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNPYmplY3QoMTApKS50b0JlRmFsc3koKSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc1N0cmluZycsICgpID0+IHtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNTdHJpbmcnLCBcIid2YWx1ZSdcIiksICgpID0+IGV4cGVjdCh1dGlscy5pc1N0cmluZygndmFsdWUnKSkudG9CZVRydXRoeSgpKTtcblxuICAgIGl0KHByaW50TG9nKGZhbHNlLCAnaXNTdHJpbmcnLCAnMTAnKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzU3RyaW5nKDEwKSkudG9CZUZhbHN5KCkpO1xuXG4gICAgaXQocHJpbnRMb2coZmFsc2UsICdpc1N0cmluZycsICd7fScpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNTdHJpbmcoe30pKS50b0JlRmFsc3koKSk7XG5cbiAgICBpdChwcmludExvZyhmYWxzZSwgJ2lzU3RyaW5nJywgJ1tdJyksICgpID0+IGV4cGVjdCh1dGlscy5pc1N0cmluZyhbXSkpLnRvQmVGYWxzeSgpKTtcblxuICAgIGl0KHByaW50TG9nKGZhbHNlLCAnaXNTdHJpbmcnLCAnZmFsc2UnKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzU3RyaW5nKGZhbHNlKSkudG9CZUZhbHN5KCkpO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNGaWxlJywgKCkgPT4ge1xuICAgIGl0KHByaW50TG9nKGZhbHNlLCAnaXNGaWxlJywgbnVsbCksICgpID0+IGV4cGVjdCh1dGlscy5pc0ZpbGUobnVsbCkpLnRvQmVGYWxzeSgpKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzQmxvYicsICgpID0+IHtcbiAgICBpdChwcmludExvZyhmYWxzZSwgJ2lzQmxvYicsIG51bGwpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNCbG9iKG51bGwpKS50b0JlRmFsc3koKSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc1N0cmVhbScsICgpID0+IHtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNTdHJlYW0nLCAnU3RyZWFtLlJlYWRhYmxlKCknKSwgKCkgPT4ge1xuICAgICAgY29uc3Qgc3RyZWFtID0gbmV3IFJlYWRhYmxlKCk7XG4gICAgICBzdHJlYW0uX3JlYWQgPSAoKSA9PiAnJztcbiAgICAgIHN0cmVhbS5wdXNoKCdiZWVwJyk7XG4gICAgICBleHBlY3QodXRpbHMuaXNTdHJlYW0oc3RyZWFtKSkudG9CZVRydXRoeSgpO1xuICAgIH0pO1xuXG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzU3RyZWFtJywgXCIndmFsdWUnXCIpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNTdHJlYW0oJ3ZhbHVlJykpLnRvQmVGYWxzeSgpKTtcblxuICAgIGl0KHByaW50TG9nKHRydWUsICdpc1N0cmVhbScsICcxMCcpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNTdHJlYW0oMTApKS50b0JlRmFsc3koKSk7XG5cbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNTdHJlYW0nLCAnW10nKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzU3RyZWFtKFtdKSkudG9CZUZhbHN5KCkpO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNVUkxTZWFyY2hQYXJhbXMnLCAoKSA9PiB7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzVVJMU2VhcmNoUGFyYW1zJywgXCJuZXcgVVJMU2VhcmNoUGFyYW1zKCdxPWZpbGVuYW1lPSZzaXplPTEyJylcIiksICgpID0+IHtcbiAgICAgIGV4cGVjdCh1dGlscy5pc1VSTFNlYXJjaFBhcmFtcyhuZXcgVVJMU2VhcmNoUGFyYW1zKCdxPWZpbGVuYW1lPSZzaXplPTEyJykpKS50b0JlVHJ1dGh5KCk7XG4gICAgfSk7XG5cbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNVUkxTZWFyY2hQYXJhbXMnLCBcIm5ldyBVUkxTZWFyY2hQYXJhbXMoJycpXCIpLCAoKSA9PiB7XG4gICAgICBleHBlY3QodXRpbHMuaXNVUkxTZWFyY2hQYXJhbXMobmV3IFVSTFNlYXJjaFBhcmFtcygnJykpKS50b0JlVHJ1dGh5KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc0Zvcm1EYXRhJywgKCkgPT4ge1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0Zvcm1EYXRhJywgXCIndmFsdWUnXCIpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNGb3JtRGF0YSgndmFsdWUnKSkudG9CZUZhbHN5KCkpO1xuXG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzRm9ybURhdGEnLCAnMTAnKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzRm9ybURhdGEoe30pKS50b0JlRmFsc3koKSk7XG5cbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNGb3JtRGF0YScsICdbXScpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNGb3JtRGF0YShbXSkpLnRvQmVGYWxzeSgpKTtcblxuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0Zvcm1EYXRhJywgJ3t9JyksICgpID0+IGV4cGVjdCh1dGlscy5pc0Zvcm1EYXRhKHt9KSkudG9CZUZhbHN5KCkpO1xuICB9KTtcblxuICBkZXNjcmliZSgndHJpbScsICgpID0+IHtcbiAgICBpdChwcmludExvZyhcIid2YWx1ZScgd2l0aG91dCB3aGl0ZXNwYWNlXCIsICd0cmltJywgXCInIHZhbHVlJ1wiKSwgKCkgPT4gZXhwZWN0KHV0aWxzLnRyaW0oJyB2YWx1ZScpKS50b0VxdWFsKCd2YWx1ZScpKTtcblxuICAgIGl0KHByaW50TG9nKFwiJ3ZhbHVlJyB3aXRob3V0IHdoaXRlc3BhY2UgXCIsICd0cmltJywgXCInIHZhbHVlICdcIiksICgpID0+IGV4cGVjdCh1dGlscy50cmltKCcgdmFsdWUgJykpLnRvRXF1YWwoJ3ZhbHVlJykpO1xuICB9KTtcbn0pO1xuIl19
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isFacebook = exports.isMobile = exports.getVersion = exports.b64 = exports.md5 = void 0;
var tslib_1 = require("tslib");
/*

@@ -19,3 +21,3 @@ * Copyright (c) 2019 by Filestack.

*/
var SparkMD5 = require("spark-md5");
var SparkMD5 = tslib_1.__importStar(require("spark-md5"));
var mobileRegexp = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;

@@ -28,6 +30,7 @@ /**

*/
exports.md5 = function (data) {
var md5 = function (data) {
/* istanbul ignore next */
return btoa(SparkMD5.ArrayBuffer.hash(data, true));
};
exports.md5 = md5;
/**

@@ -38,3 +41,3 @@ * return based string

*/
exports.b64 = function (data, safeUrl) {
var b64 = function (data, safeUrl) {
if (safeUrl === void 0) { safeUrl = false; }

@@ -47,8 +50,10 @@ var b64 = btoa(data);

};
exports.b64 = b64;
/**
* Return currently used filestack-js sdk version
*/
exports.getVersion = function () {
return 'JS-3.27.0';
var getVersion = function () {
return 'JS-3.28.0';
};
exports.getVersion = getVersion;
/**

@@ -58,8 +63,10 @@ * Returns if browser is a mobile device (if node env always return false)

/* istanbul ignore next */
exports.isMobile = function () { return navigator && navigator.userAgent && mobileRegexp.test(navigator.userAgent); };
var isMobile = function () { return navigator && navigator.userAgent && mobileRegexp.test(navigator.userAgent); };
exports.isMobile = isMobile;
/**
* Check if application is runned in facebook browser
*/
exports.isFacebook = function () { return navigator && navigator.userAgent && /\[FB.*;/i.test(navigator.userAgent); };
var isFacebook = function () { return navigator && navigator.userAgent && /\[FB.*;/i.test(navigator.userAgent); };
exports.isFacebook = isFacebook;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXguYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILG9DQUFzQztBQUV0QyxJQUFNLFlBQVksR0FBRyw0VkFBNFYsQ0FBQztBQUVsWDs7Ozs7R0FLRztBQUNVLFFBQUEsR0FBRyxHQUFHLFVBQUMsSUFBUztJQUMzQiwwQkFBMEI7SUFDMUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNVLFFBQUEsR0FBRyxHQUFHLFVBQUMsSUFBWSxFQUFFLE9BQXdCO0lBQXhCLHdCQUFBLEVBQUEsZUFBd0I7SUFDeEQsSUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXZCLElBQUksT0FBTyxFQUFFO1FBQ1gsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQ3BEO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsVUFBVSxHQUFHO0lBQ3hCLE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsMEJBQTBCO0FBQ2IsUUFBQSxRQUFRLEdBQUcsY0FBTSxPQUFBLFNBQVMsSUFBSSxTQUFTLENBQUMsU0FBUyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUExRSxDQUEwRSxDQUFDO0FBRXpHOztHQUVHO0FBQ1UsUUFBQSxVQUFVLEdBQUcsY0FBTSxPQUFBLFNBQVMsSUFBSSxTQUFTLENBQUMsU0FBUyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUF4RSxDQUF3RSxDQUFDIiwiZmlsZSI6ImxpYi91dGlscy9pbmRleC5icm93c2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCAqIGFzIFNwYXJrTUQ1IGZyb20gJ3NwYXJrLW1kNSc7XG5cbmNvbnN0IG1vYmlsZVJlZ2V4cCA9IC8oYW5kcm9pZHxiYlxcZCt8bWVlZ28pLittb2JpbGV8YXZhbnRnb3xiYWRhXFwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcmlzfGtpbmRsZXxsZ2UgfG1hZW1vfG1pZHB8bW1wfG1vYmlsZS4rZmlyZWZveHxuZXRmcm9udHxvcGVyYSBtKG9ifGluKWl8cGFsbSggb3MpP3xwaG9uZXxwKGl4aXxyZSlcXC98cGx1Y2tlcnxwb2NrZXR8cHNwfHNlcmllc1s0Nl0wfHN5bWJpYW58dHJlb3x1cFxcLihicm93c2VyfGxpbmspfHZvZGFmb25lfHdhcHx3aW5kb3dzIChjZXxwaG9uZSl8eGRhfHhpaW5vfGFuZHJvaWR8aXBhZHxwbGF5Ym9va3xzaWxrL2k7XG5cbi8qKlxuICogQ2FsY3VsYXRlcyBhIE1ENSBjaGVja3N1bSBmb3IgcGFzc2VkIGJ1ZmZlclxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBkYXRhICBEYXRhIHRvIGJlIGhhc2hlZFxuICogQHJldHVybnMgICAgIGJhc2U2NCBlbmNvZGVkIE1ENSBoYXNoXG4gKi9cbmV4cG9ydCBjb25zdCBtZDUgPSAoZGF0YTogYW55KTogc3RyaW5nID0+IHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcmV0dXJuIGJ0b2EoU3BhcmtNRDUuQXJyYXlCdWZmZXIuaGFzaChkYXRhLCB0cnVlKSk7XG59O1xuXG4vKipcbiAqIHJldHVybiBiYXNlZCBzdHJpbmdcbiAqXG4gKiBAcGFyYW0gZGF0YVxuICovXG5leHBvcnQgY29uc3QgYjY0ID0gKGRhdGE6IHN0cmluZywgc2FmZVVybDogYm9vbGVhbiA9IGZhbHNlKTogc3RyaW5nID0+IHtcbiAgY29uc3QgYjY0ID0gYnRvYShkYXRhKTtcblxuICBpZiAoc2FmZVVybCkge1xuICAgIHJldHVybiBiNjQucmVwbGFjZSgvXFwvL2csICdfJykucmVwbGFjZSgvXFwrL2csICctJyk7XG4gIH1cblxuICByZXR1cm4gYjY0O1xufTtcblxuLyoqXG4gKiBSZXR1cm4gY3VycmVudGx5IHVzZWQgZmlsZXN0YWNrLWpzIHNkayB2ZXJzaW9uXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRWZXJzaW9uID0gKCkgPT4ge1xuICByZXR1cm4gJ0pTLUB7VkVSU0lPTn0nO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIGlmIGJyb3dzZXIgaXMgYSBtb2JpbGUgZGV2aWNlIChpZiBub2RlIGVudiBhbHdheXMgcmV0dXJuIGZhbHNlKVxuICovXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZXhwb3J0IGNvbnN0IGlzTW9iaWxlID0gKCkgPT4gbmF2aWdhdG9yICYmIG5hdmlnYXRvci51c2VyQWdlbnQgJiYgbW9iaWxlUmVnZXhwLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbi8qKlxuICogQ2hlY2sgaWYgYXBwbGljYXRpb24gaXMgcnVubmVkIGluIGZhY2Vib29rIGJyb3dzZXJcbiAqL1xuZXhwb3J0IGNvbnN0IGlzRmFjZWJvb2sgPSAoKSA9PiBuYXZpZ2F0b3IgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudCAmJiAvXFxbRkIuKjsvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXguYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsMERBQXNDO0FBRXRDLElBQU0sWUFBWSxHQUFHLDRWQUE0VixDQUFDO0FBRWxYOzs7OztHQUtHO0FBQ0ksSUFBTSxHQUFHLEdBQUcsVUFBQyxJQUFTO0lBQzNCLDBCQUEwQjtJQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUM7QUFIVyxRQUFBLEdBQUcsT0FHZDtBQUVGOzs7O0dBSUc7QUFDSSxJQUFNLEdBQUcsR0FBRyxVQUFDLElBQVksRUFBRSxPQUF3QjtJQUF4Qix3QkFBQSxFQUFBLGVBQXdCO0lBQ3hELElBQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV2QixJQUFJLE9BQU8sRUFBRTtRQUNYLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztLQUNwRDtJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDO0FBUlcsUUFBQSxHQUFHLE9BUWQ7QUFFRjs7R0FFRztBQUNJLElBQU0sVUFBVSxHQUFHO0lBQ3hCLE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQUZXLFFBQUEsVUFBVSxjQUVyQjtBQUVGOztHQUVHO0FBQ0gsMEJBQTBCO0FBQ25CLElBQU0sUUFBUSxHQUFHLGNBQU0sT0FBQSxTQUFTLElBQUksU0FBUyxDQUFDLFNBQVMsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBMUUsQ0FBMEUsQ0FBQztBQUE1RixRQUFBLFFBQVEsWUFBb0Y7QUFFekc7O0dBRUc7QUFDSSxJQUFNLFVBQVUsR0FBRyxjQUFNLE9BQUEsU0FBUyxJQUFJLFNBQVMsQ0FBQyxTQUFTLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQXhFLENBQXdFLENBQUM7QUFBNUYsUUFBQSxVQUFVLGNBQWtGIiwiZmlsZSI6ImxpYi91dGlscy9pbmRleC5icm93c2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCAqIGFzIFNwYXJrTUQ1IGZyb20gJ3NwYXJrLW1kNSc7XG5cbmNvbnN0IG1vYmlsZVJlZ2V4cCA9IC8oYW5kcm9pZHxiYlxcZCt8bWVlZ28pLittb2JpbGV8YXZhbnRnb3xiYWRhXFwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcmlzfGtpbmRsZXxsZ2UgfG1hZW1vfG1pZHB8bW1wfG1vYmlsZS4rZmlyZWZveHxuZXRmcm9udHxvcGVyYSBtKG9ifGluKWl8cGFsbSggb3MpP3xwaG9uZXxwKGl4aXxyZSlcXC98cGx1Y2tlcnxwb2NrZXR8cHNwfHNlcmllc1s0Nl0wfHN5bWJpYW58dHJlb3x1cFxcLihicm93c2VyfGxpbmspfHZvZGFmb25lfHdhcHx3aW5kb3dzIChjZXxwaG9uZSl8eGRhfHhpaW5vfGFuZHJvaWR8aXBhZHxwbGF5Ym9va3xzaWxrL2k7XG5cbi8qKlxuICogQ2FsY3VsYXRlcyBhIE1ENSBjaGVja3N1bSBmb3IgcGFzc2VkIGJ1ZmZlclxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBkYXRhICBEYXRhIHRvIGJlIGhhc2hlZFxuICogQHJldHVybnMgICAgIGJhc2U2NCBlbmNvZGVkIE1ENSBoYXNoXG4gKi9cbmV4cG9ydCBjb25zdCBtZDUgPSAoZGF0YTogYW55KTogc3RyaW5nID0+IHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcmV0dXJuIGJ0b2EoU3BhcmtNRDUuQXJyYXlCdWZmZXIuaGFzaChkYXRhLCB0cnVlKSk7XG59O1xuXG4vKipcbiAqIHJldHVybiBiYXNlZCBzdHJpbmdcbiAqXG4gKiBAcGFyYW0gZGF0YVxuICovXG5leHBvcnQgY29uc3QgYjY0ID0gKGRhdGE6IHN0cmluZywgc2FmZVVybDogYm9vbGVhbiA9IGZhbHNlKTogc3RyaW5nID0+IHtcbiAgY29uc3QgYjY0ID0gYnRvYShkYXRhKTtcblxuICBpZiAoc2FmZVVybCkge1xuICAgIHJldHVybiBiNjQucmVwbGFjZSgvXFwvL2csICdfJykucmVwbGFjZSgvXFwrL2csICctJyk7XG4gIH1cblxuICByZXR1cm4gYjY0O1xufTtcblxuLyoqXG4gKiBSZXR1cm4gY3VycmVudGx5IHVzZWQgZmlsZXN0YWNrLWpzIHNkayB2ZXJzaW9uXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRWZXJzaW9uID0gKCkgPT4ge1xuICByZXR1cm4gJ0pTLUB7VkVSU0lPTn0nO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIGlmIGJyb3dzZXIgaXMgYSBtb2JpbGUgZGV2aWNlIChpZiBub2RlIGVudiBhbHdheXMgcmV0dXJuIGZhbHNlKVxuICovXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZXhwb3J0IGNvbnN0IGlzTW9iaWxlID0gKCkgPT4gbmF2aWdhdG9yICYmIG5hdmlnYXRvci51c2VyQWdlbnQgJiYgbW9iaWxlUmVnZXhwLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbi8qKlxuICogQ2hlY2sgaWYgYXBwbGljYXRpb24gaXMgcnVubmVkIGluIGZhY2Vib29rIGJyb3dzZXJcbiAqL1xuZXhwb3J0IGNvbnN0IGlzRmFjZWJvb2sgPSAoKSA9PiBuYXZpZ2F0b3IgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudCAmJiAvXFxbRkIuKjsvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuIl19

@@ -1,2 +0,1 @@

/// <reference types="node" />
import { Session } from '../client';

@@ -40,3 +39,3 @@ import { Hosts } from './../../config';

*/
export declare const getMimetype: (file: Buffer | Uint8Array, name?: string) => string;
export declare const getMimetype: (file: Uint8Array | Buffer, name?: string) => string;
/**

@@ -52,3 +51,3 @@ * Change extension to according mimetype using ext=>mimetype map

*/
export declare type SanitizeOptions = boolean | {
export type SanitizeOptions = boolean | {
exclude?: string[];

@@ -63,3 +62,3 @@ replacement?: string;

* @param {string} options.replacement - replacement for sanitized chars defaults to "-"
* @param {string[]} options.exclude - array with excluded chars default - ['\', '{', '}','|', '%', '`', '"', "'", '~', '[', ']', '#', '|', '^', '<', '>']
* @param {string[]} options.exclude - array with excluded chars default - `['\', '{', '}','|', '%', '`', '"', "'", '~', '[', ']', '#', '|', '^', '<', '>']`
*/

@@ -66,0 +65,0 @@ export declare const sanitizeName: (name: string, options?: SanitizeOptions) => string;

@@ -19,6 +19,7 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.cleanUpCallbacks = exports.filterObject = exports.sanitizeName = exports.extensionToMime = exports.getMimetype = exports.uniqueId = exports.uniqueTime = exports.removeEmpty = exports.resolveHost = exports.resolveCdnUrl = void 0;
var tslib_1 = require("tslib");
var extensions_1 = require("./extensions");
var file_type_1 = require("file-type");
var isutf8 = require("isutf8");
var file_type_1 = tslib_1.__importDefault(require("file-type"));
var isutf8_1 = tslib_1.__importDefault(require("isutf8"));
/**

@@ -31,3 +32,3 @@ * Resolve cdn url based on handle type

*/
exports.resolveCdnUrl = function (session, handle) {
var resolveCdnUrl = function (session, handle) {
var cdnURL = session.urls.cdnUrl;

@@ -39,6 +40,7 @@ if (handle && (handle.indexOf('src:') === 0 || handle.indexOf('http') === 0)) {

// apikey is required for alias or external sources call
return cdnURL + "/" + session.apikey;
return "".concat(cdnURL, "/").concat(session.apikey);
}
return cdnURL;
};
exports.resolveCdnUrl = resolveCdnUrl;
/**

@@ -51,3 +53,3 @@ * Resolve all urls with provided cnames

*/
exports.resolveHost = function (urls, cname) {
var resolveHost = function (urls, cname) {
if (!cname) {

@@ -62,2 +64,3 @@ return urls;

};
exports.resolveHost = resolveHost;
/**

@@ -69,3 +72,3 @@ * Removes empty options from object

*/
exports.removeEmpty = function (obj) {
var removeEmpty = function (obj) {
var newObj = tslib_1.__assign({}, obj);

@@ -75,2 +78,3 @@ Object.keys(newObj).forEach(function (k) { return !newObj[k] && typeof newObj[k] !== 'boolean' && delete newObj[k]; });

};
exports.removeEmpty = removeEmpty;
/**

@@ -80,3 +84,3 @@ * Returns unique time

var last;
exports.uniqueTime = function () {
var uniqueTime = function () {
var time = Date.now();

@@ -86,2 +90,3 @@ last = time === last ? time + 1 : time;

};
exports.uniqueTime = uniqueTime;
/**

@@ -92,6 +97,7 @@ * Generates random string with provided length

*/
exports.uniqueId = function (len) {
var uniqueId = function (len) {
if (len === void 0) { len = 10; }
return new Array(len).join().replace(/(.|$)/g, function () { return ((Math.random() * 36) | 0).toString(36)[Math.random() < 0.5 ? 'toString' : 'toUpperCase'](); });
};
exports.uniqueId = uniqueId;
/**

@@ -103,4 +109,4 @@ * Check if input is a svg

*/
exports.getMimetype = function (file, name) {
var type = file_type_1.default(file);
var getMimetype = function (file, name) {
var type = (0, file_type_1.default)(file);
var excludedMimetypes = ['text/plain', 'application/octet-stream', 'application/x-ms', 'application/x-msi', 'application/zip'];

@@ -111,3 +117,3 @@ if (type && excludedMimetypes.indexOf(type.mime) === -1) {

if (name && name.indexOf('.') > -1) {
var mime_1 = exports.extensionToMime(name);
var mime_1 = (0, exports.extensionToMime)(name);
if (mime_1) {

@@ -118,3 +124,3 @@ return mime_1;

try {
if (isutf8(file)) {
if ((0, isutf8_1.default)(file)) {
return 'text/plain';

@@ -135,2 +141,3 @@ }

};
exports.getMimetype = getMimetype;
/**

@@ -142,3 +149,3 @@ * Change extension to according mimetype using ext=>mimetype map

*/
exports.extensionToMime = function (ext) {
var extensionToMime = function (ext) {
if (!ext || ext.length === 0) {

@@ -163,2 +170,3 @@ return;

};
exports.extensionToMime = extensionToMime;
/**

@@ -170,5 +178,5 @@ * Sanitize file name

* @param {string} options.replacement - replacement for sanitized chars defaults to "-"
* @param {string[]} options.exclude - array with excluded chars default - ['\', '{', '}','|', '%', '`', '"', "'", '~', '[', ']', '#', '|', '^', '<', '>']
* @param {string[]} options.exclude - array with excluded chars default - `['\', '{', '}','|', '%', '`', '"', "'", '~', '[', ']', '#', '|', '^', '<', '>']`
*/
exports.sanitizeName = function (name, options) {
var sanitizeName = function (name, options) {
if (options === void 0) { options = true; }

@@ -188,8 +196,9 @@ if (typeof options === 'boolean' && !options) {

}
return "" + fileParts
return "".concat(fileParts
.join('.')
.split('')
.map(function (char) { return (exclude.indexOf(char) > -1 ? replacement : char); })
.join('') + (ext ? '.' + ext : '');
.join('')).concat(ext ? '.' + ext : '');
};
exports.sanitizeName = sanitizeName;
/**

@@ -201,3 +210,3 @@ * Filter object to given fields

*/
exports.filterObject = function (toFilter, requiredFields) {
var filterObject = function (toFilter, requiredFields) {
if (!requiredFields || requiredFields.length === 0) {

@@ -216,2 +225,3 @@ return toFilter;

};
exports.filterObject = filterObject;
/**

@@ -222,3 +232,3 @@ * Deep cleanup object from functions

*/
exports.cleanUpCallbacks = function (obj) {
var cleanUpCallbacks = function (obj) {
if (!obj || Object.keys(obj).length === 0) {

@@ -232,3 +242,3 @@ return obj;

if (obj[k] === Object(obj[k])) {
obj[k] = exports.cleanUpCallbacks(obj[k]);
obj[k] = (0, exports.cleanUpCallbacks)(obj[k]);
}

@@ -238,4 +248,5 @@ });

};
exports.cleanUpCallbacks = cleanUpCallbacks;
tslib_1.__exportStar(require("./index.node"), exports);
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7O0FBSUgsMkNBQTZDO0FBQzdDLHVDQUFpQztBQUNqQywrQkFBaUM7QUFFakM7Ozs7OztHQU1HO0FBQ1UsUUFBQSxhQUFhLEdBQUcsVUFBQyxPQUFnQixFQUFFLE1BQWM7SUFDNUQsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFFbkMsSUFBSSxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQzVFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztTQUN2RTtRQUVELHdEQUF3RDtRQUN4RCxPQUFVLE1BQU0sU0FBSSxPQUFPLENBQUMsTUFBUSxDQUFDO0tBQ3RDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ1UsUUFBQSxXQUFXLEdBQUcsVUFBQyxJQUFXLEVBQUUsS0FBYTtJQUNwRCxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQU0sS0FBSyxHQUFHLHdDQUF3QyxDQUFDO0lBRXZELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsR0FBRztRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztB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QUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQztBQUVGLHVEQUE2QiIsImZpbGUiOiJsaWIvdXRpbHMvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBTZXNzaW9uIH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IEhvc3RzIH0gZnJvbSAnLi8uLi8uLi9jb25maWcnO1xuaW1wb3J0IHsgRXh0ZW5zaW9uc01hcCB9IGZyb20gJy4vZXh0ZW5zaW9ucyc7XG5pbXBvcnQgZmlsZVR5cGUgZnJvbSAnZmlsZS10eXBlJztcbmltcG9ydCAqIGFzIGlzdXRmOCBmcm9tICdpc3V0ZjgnO1xuXG4vKipcbiAqIFJlc29sdmUgY2RuIHVybCBiYXNlZCBvbiBoYW5kbGUgdHlwZVxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gc2Vzc2lvbiBzZXNzaW9uIG9iamVjdFxuICogQHBhcmFtIGhhbmRsZSBmaWxlIGhhbmRsZSAoaGFzaCwgc3JjOi8vYWxpYXMsIHVybClcbiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVDZG5VcmwgPSAoc2Vzc2lvbjogU2Vzc2lvbiwgaGFuZGxlOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBjZG5VUkwgPSBzZXNzaW9uLnVybHMuY2RuVXJsO1xuXG4gIGlmIChoYW5kbGUgJiYgKGhhbmRsZS5pbmRleE9mKCdzcmM6JykgPT09IDAgfHwgaGFuZGxlLmluZGV4T2YoJ2h0dHAnKSA9PT0gMCkpIHtcbiAgICBpZiAoIXNlc3Npb24uYXBpa2V5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FwaSBrZXkgaXMgcmVxdWlyZWQgd2hlbiBzdG9yYWdlIGFsaWFzIGlzIHByb3ZpZGVkJyk7XG4gICAgfVxuXG4gICAgLy8gYXBpa2V5IGlzIHJlcXVpcmVkIGZvciBhbGlhcyBvciBleHRlcm5hbCBzb3VyY2VzIGNhbGxcbiAgICByZXR1cm4gYCR7Y2RuVVJMfS8ke3Nlc3Npb24uYXBpa2V5fWA7XG4gIH1cblxuICByZXR1cm4gY2RuVVJMO1xufTtcblxuLyoqXG4gKiBSZXNvbHZlIGFsbCB1cmxzIHdpdGggcHJvdmlkZWQgY25hbWVzXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB1cmxzXG4gKiBAcGFyYW0gY25hbWVcbiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVIb3N0ID0gKHVybHM6IEhvc3RzLCBjbmFtZTogc3RyaW5nKTogSG9zdHMgPT4ge1xuICBpZiAoIWNuYW1lKSB7XG4gICAgcmV0dXJuIHVybHM7XG4gIH1cblxuICBjb25zdCBob3N0cyA9IC9maWxlc3RhY2thcGkuY29tfGZpbGVzdGFja2NvbnRlbnQuY29tL2k7XG5cbiAgT2JqZWN0LmtleXModXJscykuZm9yRWFjaChrZXkgPT4ge1xuICAgIHVybHNba2V5XSA9IHVybHNba2V5XS5yZXBsYWNlKGhvc3RzLCBjbmFtZSk7XG4gIH0pO1xuXG4gIHJldHVybiB1cmxzO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIGVtcHR5IG9wdGlvbnMgZnJvbSBvYmplY3RcbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIG9ialxuICovXG5leHBvcnQgY29uc3QgcmVtb3ZlRW1wdHkgPSAob2JqOiBhbnkpID0+IHtcbiAgY29uc3QgbmV3T2JqID0geyAuLi5vYmogfTtcbiAgT2JqZWN0LmtleXMobmV3T2JqKS5mb3JFYWNoKGsgPT4gIW5ld09ialtrXSAmJiB0eXBlb2YgbmV3T2JqW2tdICE9PSAnYm9vbGVhbicgJiYgZGVsZXRlIG5ld09ialtrXSk7XG4gIHJldHVybiBuZXdPYmo7XG59O1xuXG4vKipcbiAqIFJldHVybnMgdW5pcXVlIHRpbWVcbiAqL1xubGV0IGxhc3Q7XG5leHBvcnQgY29uc3QgdW5pcXVlVGltZSA9ICgpID0+IHtcbiAgY29uc3QgdGltZSA9IERhdGUubm93KCk7XG4gIGxhc3QgPSB0aW1lID09PSBsYXN0ID8gdGltZSArIDEgOiB0aW1lO1xuICByZXR1cm4gbGFzdDtcbn07XG5cbi8qKlxuICogR2VuZXJhdGVzIHJhbmRvbSBzdHJpbmcgd2l0aCBwcm92aWRlZCBsZW5ndGhcbiAqXG4gKiBAcGFyYW0gbGVuXG4gKi9cbmV4cG9ydCBjb25zdCB1bmlxdWVJZCA9IChsZW46IG51bWJlciA9IDEwKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIG5ldyBBcnJheShsZW4pLmpvaW4oKS5yZXBsYWNlKC8oLnwkKS9nLCAoKSA9PiAoKE1hdGgucmFuZG9tKCkgKiAzNikgfCAwKS50b1N0cmluZygzNilbTWF0aC5yYW5kb20oKSA8IDAuNSA/ICd0b1N0cmluZycgOiAndG9VcHBlckNhc2UnXSgpKTtcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgaW5wdXQgaXMgYSBzdmdcbiAqXG4gKiBAcGFyYW0ge1VpbnQ4QXJyYXkgfCBCdWZmZXJ9IGZpbGVcbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gbWltZXR5cGVcbiAqL1xuZXhwb3J0IGNvbnN0IGdldE1pbWV0eXBlID0gKGZpbGU6IFVpbnQ4QXJyYXkgfCBCdWZmZXIsIG5hbWU/OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBsZXQgdHlwZSA9IGZpbGVUeXBlKGZpbGUpO1xuXG4gIGNvbnN0IGV4Y2x1ZGVkTWltZXR5cGVzID0gWyd0ZXh0L3BsYWluJywgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsICdhcHBsaWNhdGlvbi94LW1zJywgJ2FwcGxpY2F0aW9uL3gtbXNpJywgJ2FwcGxpY2F0aW9uL3ppcCddO1xuXG4gIGlmICh0eXBlICYmIGV4Y2x1ZGVkTWltZXR5cGVzLmluZGV4T2YodHlwZS5taW1lKSA9PT0gLTEpIHtcbiAgICByZXR1cm4gdHlwZS5taW1lO1xuICB9XG5cbiAgaWYgKG5hbWUgJiYgbmFtZS5pbmRleE9mKCcuJykgPiAtMSkge1xuICAgIGNvbnN0IG1pbWUgPSBleHRlbnNpb25Ub01pbWUobmFtZSk7XG5cbiAgICBpZiAobWltZSkge1xuICAgICAgcmV0dXJuIG1pbWU7XG4gICAgfVxuICB9XG5cbiAgdHJ5IHtcbiAgICBpZiAoaXN1dGY4KGZpbGUpKSB7XG4gICAgICByZXR1cm4gJ3RleHQvcGxhaW4nO1xuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgY29uc29sZS53YXJuKCdBZGRpdGlvbmFsIG1pbWV0eXBlIGNoZWNrcyAodGV4dC9wbGFpbikgYXJlIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIGZvciBicm93c2VycycpO1xuICB9XG4gIC8vIHRoaXMgaXMgb25seSBmYWxsYmFjaywgb21pdCBpdCBpbiBjb3ZlcmFnZVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuXG4gIC8vIGlmIHdlIGNhbnQgZmluZCB0eXBlcyBieSBleHRlbnNpb25zIGFuZCB3ZSBoYXZlIG1hZ2ljIGJ5dGVzIGZhbGxiYWNrIHRvIGl0XG4gIGlmICh0eXBlKSB7XG4gICAgcmV0dXJuIHR5cGUubWltZTtcbiAgfVxuXG4gIHJldHVybiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJztcbn07XG5cbi8qKlxuICogQ2hhbmdlIGV4dGVuc2lvbiB0byBhY2NvcmRpbmcgbWltZXR5cGUgdXNpbmcgZXh0PT5taW1ldHlwZSBtYXBcbiAqXG4gKiBAcGFyYW0gZXh0IC0gc3RyaW5nXG4gKiBAcmV0dXJuIHN0cmluZ3xib29sZWFuXG4gKi9cbmV4cG9ydCBjb25zdCBleHRlbnNpb25Ub01pbWUgPSAoZXh0OiBzdHJpbmcpID0+IHtcbiAgaWYgKCFleHQgfHwgZXh0Lmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChleHQuc3BsaXQoJy8nKS5sZW5ndGggPT09IDIpIHtcbiAgICByZXR1cm4gZXh0O1xuICB9XG5cbiAgaWYgKGV4dC5pbmRleE9mKCcuJykgPiAtMSkge1xuICAgIGV4dCA9IGV4dC5zcGxpdCgnLicpLnBvcCgpO1xuICB9XG5cbiAgZXh0ID0gZXh0LnRvTG9jYWxlTG93ZXJDYXNlKCk7XG5cbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKEV4dGVuc2lvbnNNYXApO1xuICBjb25zdCBtYXBMZW4gPSBrZXlzLmxlbmd0aDtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IG1hcExlbjsgaSsrKSB7XG4gICAgaWYgKEV4dGVuc2lvbnNNYXBba2V5c1tpXV0uaW5kZXhPZihleHQpID4gLTEpIHtcbiAgICAgIHJldHVybiBrZXlzW2ldO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybjtcbn07XG5cbi8qKlxuICogU2FuaXRpemVyIE9wdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgU2FuaXRpemVPcHRpb25zID1cbiAgfCBib29sZWFuXG4gIHwge1xuICAgIGV4Y2x1ZGU/OiBzdHJpbmdbXTtcbiAgICByZXBsYWNlbWVudD86IHN0cmluZztcbiAgfTtcblxuLyoqXG4gKiBTYW5pdGl6ZSBmaWxlIG5hbWVcbiAqXG4gKiBAcGFyYW0gbmFtZVxuICogQHBhcmFtIHtib29sfSBvcHRpb25zICAtIGVuYWJsZSxkaXNhYmxlIHNhbml0aXplciwgZGVmYXVsdCBlbmFibGVkXG4gKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5yZXBsYWNlbWVudCAtIHJlcGxhY2VtZW50IGZvciBzYW5pdGl6ZWQgY2hhcnMgZGVmYXVsdHMgdG8gXCItXCJcbiAqIEBwYXJhbSB7c3RyaW5nW119IG9wdGlvbnMuZXhjbHVkZSAtIGFycmF5IHdpdGggZXhjbHVkZWQgY2hhcnMgZGVmYXVsdCAtIFsnXFwnLCAneycsICd9JywnfCcsICclJywgJ2AnLCAnXCInLCBcIidcIiwgJ34nLCAnWycsICddJywgJyMnLCAnfCcsICdeJywgJzwnLCAnPiddXG4gKi9cbmV4cG9ydCBjb25zdCBzYW5pdGl6ZU5hbWUgPSAobmFtZTogc3RyaW5nLCBvcHRpb25zOiBTYW5pdGl6ZU9wdGlvbnMgPSB0cnVlKTogc3RyaW5nID0+IHtcbiAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnYm9vbGVhbicgJiYgIW9wdGlvbnMpIHtcbiAgICByZXR1cm4gbmFtZTtcbiAgfVxuXG4gIGxldCBleHQ7XG5cbiAgY29uc3QgcmVwbGFjZW1lbnQgPSB0eXBlb2Ygb3B0aW9ucyAhPT0gJ2Jvb2xlYW4nICYmIG9wdGlvbnMucmVwbGFjZW1lbnQgPyBvcHRpb25zLnJlcGxhY2VtZW50IDogJy0nO1xuICBjb25zdCBleGNsdWRlID0gdHlwZW9mIG9wdGlvbnMgIT09ICdib29sZWFuJyAmJiBvcHRpb25zLmV4Y2x1ZGUgPyBvcHRpb25zLmV4Y2x1ZGUgOiBbJ1xcXFwnLCAneycsICd9JywgJ3wnLCAnJScsICdgJywgJ1wiJywgXCInXCIsICd+JywgJ1snLCAnXScsICcjJywgJ3wnLCAnXicsICc8JywgJz4nXTtcblxuICBpZiAoIW5hbWUgfHwgbmFtZS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gJ3VuZGVmaW5lZCc7XG4gIH1cblxuICBjb25zdCBmaWxlUGFydHMgPSBuYW1lLnNwbGl0KCcuJyk7XG5cbiAgaWYgKGZpbGVQYXJ0cy5sZW5ndGggPiAxKSB7XG4gICAgZXh0ID0gZmlsZVBhcnRzLnBvcCgpO1xuICB9XG5cbiAgcmV0dXJuIGAke2ZpbGVQYXJ0c1xuICAgIC5qb2luKCcuJylcbiAgICAuc3BsaXQoJycpXG4gICAgLm1hcChjaGFyID0+IChleGNsdWRlLmluZGV4T2YoY2hhcikgPiAtMSA/IHJlcGxhY2VtZW50IDogY2hhcikpXG4gICAgLmpvaW4oJycpfSR7ZXh0ID8gJy4nICsgZXh0IDogJyd9YDtcbn07XG5cbi8qKlxuICogRmlsdGVyIG9iamVjdCB0byBnaXZlbiBmaWVsZHNcbiAqXG4gKiBAcGFyYW0gdG9GaWx0ZXJcbiAqIEBwYXJhbSByZXF1aXJlZEZpZWxkc1xuICovXG5leHBvcnQgY29uc3QgZmlsdGVyT2JqZWN0ID0gKHRvRmlsdGVyLCByZXF1aXJlZEZpZWxkczogc3RyaW5nW10pID0+IHtcbiAgaWYgKCFyZXF1aXJlZEZpZWxkcyB8fCByZXF1aXJlZEZpZWxkcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdG9GaWx0ZXI7XG4gIH1cblxuICBpZiAoT2JqZWN0LmtleXModG9GaWx0ZXIpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0b0ZpbHRlcjtcbiAgfVxuXG4gIHJldHVybiBPYmplY3Qua2V5cyh0b0ZpbHRlcilcbiAgICAuZmlsdGVyKGYgPT4gcmVxdWlyZWRGaWVsZHMuaW5kZXhPZihmKSA+IC0xKVxuICAgIC5yZWR1Y2UoKG9iaiwga2V5KSA9PiAoeyAuLi5vYmosIFtrZXldOiB0b0ZpbHRlcltrZXldIH0pLCB7fSk7XG59O1xuXG4vKipcbiAqIERlZXAgY2xlYW51cCBvYmplY3QgZnJvbSBmdW5jdGlvbnNcbiAqXG4gKiBAcGFyYW0gb2JqXG4gKi9cbmV4cG9ydCBjb25zdCBjbGVhblVwQ2FsbGJhY2tzID0gKG9iajogYW55KSA9PiB7XG4gIGlmICghb2JqIHx8IE9iamVjdC5rZXlzKG9iaikubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaChrID0+IHtcbiAgICBpZiAodHlwZW9mIG9ialtrXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgb2JqW2tdID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmIChvYmpba10gPT09IE9iamVjdChvYmpba10pKSB7XG4gICAgICBvYmpba10gPSBjbGVhblVwQ2FsbGJhY2tzKG9ialtrXSk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gb2JqO1xufTtcblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleC5ub2RlJztcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7OztBQUlILDJDQUE2QztBQUM3QyxnRUFBaUM7QUFDakMsMERBQTRCO0FBRTVCOzs7Ozs7R0FNRztBQUNJLElBQU0sYUFBYSxHQUFHLFVBQUMsT0FBZ0IsRUFBRSxNQUFjO0lBQzVELElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBRW5DLElBQUksTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUM1RSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7U0FDdkU7UUFFRCx3REFBd0Q7UUFDeEQsT0FBTyxVQUFHLE1BQU0sY0FBSSxPQUFPLENBQUMsTUFBTSxDQUFFLENBQUM7S0FDdEM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFiVyxRQUFBLGFBQWEsaUJBYXhCO0FBRUY7Ozs7OztHQU1HO0FBQ0ksSUFBTSxXQUFXLEdBQUcsVUFBQyxJQUFXLEVBQUUsS0FBYTtJQUNwRCxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQU0sS0FBSyxHQUFHLHdDQUF3QyxDQUFDO0lBRXZELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsR0FBRztRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFF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QUNoQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDO1NBQ3BCO1FBRUQsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFBLHdCQUFnQixFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQztBQWhCVyxRQUFBLGdCQUFnQixvQkFnQjNCO0FBRUYsdURBQTZCIiwiZmlsZSI6ImxpYi91dGlscy9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFNlc3Npb24gfSBmcm9tICcuLi9jbGllbnQnO1xuaW1wb3J0IHsgSG9zdHMgfSBmcm9tICcuLy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBFeHRlbnNpb25zTWFwIH0gZnJvbSAnLi9leHRlbnNpb25zJztcbmltcG9ydCBmaWxlVHlwZSBmcm9tICdmaWxlLXR5cGUnO1xuaW1wb3J0IGlzdXRmOCBmcm9tICdpc3V0ZjgnO1xuXG4vKipcbiAqIFJlc29sdmUgY2RuIHVybCBiYXNlZCBvbiBoYW5kbGUgdHlwZVxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gc2Vzc2lvbiBzZXNzaW9uIG9iamVjdFxuICogQHBhcmFtIGhhbmRsZSBmaWxlIGhhbmRsZSAoaGFzaCwgc3JjOi8vYWxpYXMsIHVybClcbiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVDZG5VcmwgPSAoc2Vzc2lvbjogU2Vzc2lvbiwgaGFuZGxlOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBjZG5VUkwgPSBzZXNzaW9uLnVybHMuY2RuVXJsO1xuXG4gIGlmIChoYW5kbGUgJiYgKGhhbmRsZS5pbmRleE9mKCdzcmM6JykgPT09IDAgfHwgaGFuZGxlLmluZGV4T2YoJ2h0dHAnKSA9PT0gMCkpIHtcbiAgICBpZiAoIXNlc3Npb24uYXBpa2V5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FwaSBrZXkgaXMgcmVxdWlyZWQgd2hlbiBzdG9yYWdlIGFsaWFzIGlzIHByb3ZpZGVkJyk7XG4gICAgfVxuXG4gICAgLy8gYXBpa2V5IGlzIHJlcXVpcmVkIGZvciBhbGlhcyBvciBleHRlcm5hbCBzb3VyY2VzIGNhbGxcbiAgICByZXR1cm4gYCR7Y2RuVVJMfS8ke3Nlc3Npb24uYXBpa2V5fWA7XG4gIH1cblxuICByZXR1cm4gY2RuVVJMO1xufTtcblxuLyoqXG4gKiBSZXNvbHZlIGFsbCB1cmxzIHdpdGggcHJvdmlkZWQgY25hbWVzXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB1cmxzXG4gKiBAcGFyYW0gY25hbWVcbiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVIb3N0ID0gKHVybHM6IEhvc3RzLCBjbmFtZTogc3RyaW5nKTogSG9zdHMgPT4ge1xuICBpZiAoIWNuYW1lKSB7XG4gICAgcmV0dXJuIHVybHM7XG4gIH1cblxuICBjb25zdCBob3N0cyA9IC9maWxlc3RhY2thcGkuY29tfGZpbGVzdGFja2NvbnRlbnQuY29tL2k7XG5cbiAgT2JqZWN0LmtleXModXJscykuZm9yRWFjaChrZXkgPT4ge1xuICAgIHVybHNba2V5XSA9IHVybHNba2V5XS5yZXBsYWNlKGhvc3RzLCBjbmFtZSk7XG4gIH0pO1xuXG4gIHJldHVybiB1cmxzO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIGVtcHR5IG9wdGlvbnMgZnJvbSBvYmplY3RcbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIG9ialxuICovXG5leHBvcnQgY29uc3QgcmVtb3ZlRW1wdHkgPSAob2JqOiBhbnkpID0+IHtcbiAgY29uc3QgbmV3T2JqID0geyAuLi5vYmogfTtcbiAgT2JqZWN0LmtleXMobmV3T2JqKS5mb3JFYWNoKGsgPT4gIW5ld09ialtrXSAmJiB0eXBlb2YgbmV3T2JqW2tdICE9PSAnYm9vbGVhbicgJiYgZGVsZXRlIG5ld09ialtrXSk7XG4gIHJldHVybiBuZXdPYmo7XG59O1xuXG4vKipcbiAqIFJldHVybnMgdW5pcXVlIHRpbWVcbiAqL1xubGV0IGxhc3Q7XG5leHBvcnQgY29uc3QgdW5pcXVlVGltZSA9ICgpID0+IHtcbiAgY29uc3QgdGltZSA9IERhdGUubm93KCk7XG4gIGxhc3QgPSB0aW1lID09PSBsYXN0ID8gdGltZSArIDEgOiB0aW1lO1xuICByZXR1cm4gbGFzdDtcbn07XG5cbi8qKlxuICogR2VuZXJhdGVzIHJhbmRvbSBzdHJpbmcgd2l0aCBwcm92aWRlZCBsZW5ndGhcbiAqXG4gKiBAcGFyYW0gbGVuXG4gKi9cbmV4cG9ydCBjb25zdCB1bmlxdWVJZCA9IChsZW46IG51bWJlciA9IDEwKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIG5ldyBBcnJheShsZW4pLmpvaW4oKS5yZXBsYWNlKC8oLnwkKS9nLCAoKSA9PiAoKE1hdGgucmFuZG9tKCkgKiAzNikgfCAwKS50b1N0cmluZygzNilbTWF0aC5yYW5kb20oKSA8IDAuNSA/ICd0b1N0cmluZycgOiAndG9VcHBlckNhc2UnXSgpKTtcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgaW5wdXQgaXMgYSBzdmdcbiAqXG4gKiBAcGFyYW0ge1VpbnQ4QXJyYXkgfCBCdWZmZXJ9IGZpbGVcbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gbWltZXR5cGVcbiAqL1xuZXhwb3J0IGNvbnN0IGdldE1pbWV0eXBlID0gKGZpbGU6IFVpbnQ4QXJyYXkgfCBCdWZmZXIsIG5hbWU/OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBsZXQgdHlwZSA9IGZpbGVUeXBlKGZpbGUpO1xuXG4gIGNvbnN0IGV4Y2x1ZGVkTWltZXR5cGVzID0gWyd0ZXh0L3BsYWluJywgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsICdhcHBsaWNhdGlvbi94LW1zJywgJ2FwcGxpY2F0aW9uL3gtbXNpJywgJ2FwcGxpY2F0aW9uL3ppcCddO1xuXG4gIGlmICh0eXBlICYmIGV4Y2x1ZGVkTWltZXR5cGVzLmluZGV4T2YodHlwZS5taW1lKSA9PT0gLTEpIHtcbiAgICByZXR1cm4gdHlwZS5taW1lO1xuICB9XG5cbiAgaWYgKG5hbWUgJiYgbmFtZS5pbmRleE9mKCcuJykgPiAtMSkge1xuICAgIGNvbnN0IG1pbWUgPSBleHRlbnNpb25Ub01pbWUobmFtZSk7XG5cbiAgICBpZiAobWltZSkge1xuICAgICAgcmV0dXJuIG1pbWU7XG4gICAgfVxuICB9XG5cbiAgdHJ5IHtcbiAgICBpZiAoaXN1dGY4KGZpbGUpKSB7XG4gICAgICByZXR1cm4gJ3RleHQvcGxhaW4nO1xuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgY29uc29sZS53YXJuKCdBZGRpdGlvbmFsIG1pbWV0eXBlIGNoZWNrcyAodGV4dC9wbGFpbikgYXJlIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIGZvciBicm93c2VycycpO1xuICB9XG4gIC8vIHRoaXMgaXMgb25seSBmYWxsYmFjaywgb21pdCBpdCBpbiBjb3ZlcmFnZVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuXG4gIC8vIGlmIHdlIGNhbnQgZmluZCB0eXBlcyBieSBleHRlbnNpb25zIGFuZCB3ZSBoYXZlIG1hZ2ljIGJ5dGVzIGZhbGxiYWNrIHRvIGl0XG4gIGlmICh0eXBlKSB7XG4gICAgcmV0dXJuIHR5cGUubWltZTtcbiAgfVxuXG4gIHJldHVybiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJztcbn07XG5cbi8qKlxuICogQ2hhbmdlIGV4dGVuc2lvbiB0byBhY2NvcmRpbmcgbWltZXR5cGUgdXNpbmcgZXh0PT5taW1ldHlwZSBtYXBcbiAqXG4gKiBAcGFyYW0gZXh0IC0gc3RyaW5nXG4gKiBAcmV0dXJuIHN0cmluZ3xib29sZWFuXG4gKi9cbmV4cG9ydCBjb25zdCBleHRlbnNpb25Ub01pbWUgPSAoZXh0OiBzdHJpbmcpID0+IHtcbiAgaWYgKCFleHQgfHwgZXh0Lmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChleHQuc3BsaXQoJy8nKS5sZW5ndGggPT09IDIpIHtcbiAgICByZXR1cm4gZXh0O1xuICB9XG5cbiAgaWYgKGV4dC5pbmRleE9mKCcuJykgPiAtMSkge1xuICAgIGV4dCA9IGV4dC5zcGxpdCgnLicpLnBvcCgpO1xuICB9XG5cbiAgZXh0ID0gZXh0LnRvTG9jYWxlTG93ZXJDYXNlKCk7XG5cbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKEV4dGVuc2lvbnNNYXApO1xuICBjb25zdCBtYXBMZW4gPSBrZXlzLmxlbmd0aDtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IG1hcExlbjsgaSsrKSB7XG4gICAgaWYgKEV4dGVuc2lvbnNNYXBba2V5c1tpXV0uaW5kZXhPZihleHQpID4gLTEpIHtcbiAgICAgIHJldHVybiBrZXlzW2ldO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybjtcbn07XG5cbi8qKlxuICogU2FuaXRpemVyIE9wdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgU2FuaXRpemVPcHRpb25zID1cbiAgfCBib29sZWFuXG4gIHwge1xuICAgIGV4Y2x1ZGU/OiBzdHJpbmdbXTtcbiAgICByZXBsYWNlbWVudD86IHN0cmluZztcbiAgfTtcblxuLyoqXG4gKiBTYW5pdGl6ZSBmaWxlIG5hbWVcbiAqXG4gKiBAcGFyYW0gbmFtZVxuICogQHBhcmFtIHtib29sfSBvcHRpb25zICAtIGVuYWJsZSxkaXNhYmxlIHNhbml0aXplciwgZGVmYXVsdCBlbmFibGVkXG4gKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5yZXBsYWNlbWVudCAtIHJlcGxhY2VtZW50IGZvciBzYW5pdGl6ZWQgY2hhcnMgZGVmYXVsdHMgdG8gXCItXCJcbiAqIEBwYXJhbSB7c3RyaW5nW119IG9wdGlvbnMuZXhjbHVkZSAtIGFycmF5IHdpdGggZXhjbHVkZWQgY2hhcnMgZGVmYXVsdCAtIGBbJ1xcJywgJ3snLCAnfScsJ3wnLCAnJScsICdgJywgJ1wiJywgXCInXCIsICd+JywgJ1snLCAnXScsICcjJywgJ3wnLCAnXicsICc8JywgJz4nXWBcbiAqL1xuZXhwb3J0IGNvbnN0IHNhbml0aXplTmFtZSA9IChuYW1lOiBzdHJpbmcsIG9wdGlvbnM6IFNhbml0aXplT3B0aW9ucyA9IHRydWUpOiBzdHJpbmcgPT4ge1xuICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdib29sZWFuJyAmJiAhb3B0aW9ucykge1xuICAgIHJldHVybiBuYW1lO1xuICB9XG5cbiAgbGV0IGV4dDtcblxuICBjb25zdCByZXBsYWNlbWVudCA9IHR5cGVvZiBvcHRpb25zICE9PSAnYm9vbGVhbicgJiYgb3B0aW9ucy5yZXBsYWNlbWVudCA/IG9wdGlvbnMucmVwbGFjZW1lbnQgOiAnLSc7XG4gIGNvbnN0IGV4Y2x1ZGUgPSB0eXBlb2Ygb3B0aW9ucyAhPT0gJ2Jvb2xlYW4nICYmIG9wdGlvbnMuZXhjbHVkZSA/IG9wdGlvbnMuZXhjbHVkZSA6IFsnXFxcXCcsICd7JywgJ30nLCAnfCcsICclJywgJ2AnLCAnXCInLCBcIidcIiwgJ34nLCAnWycsICddJywgJyMnLCAnfCcsICdeJywgJzwnLCAnPiddO1xuXG4gIGlmICghbmFtZSB8fCBuYW1lLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiAndW5kZWZpbmVkJztcbiAgfVxuXG4gIGNvbnN0IGZpbGVQYXJ0cyA9IG5hbWUuc3BsaXQoJy4nKTtcblxuICBpZiAoZmlsZVBhcnRzLmxlbmd0aCA+IDEpIHtcbiAgICBleHQgPSBmaWxlUGFydHMucG9wKCk7XG4gIH1cblxuICByZXR1cm4gYCR7ZmlsZVBhcnRzXG4gICAgLmpvaW4oJy4nKVxuICAgIC5zcGxpdCgnJylcbiAgICAubWFwKGNoYXIgPT4gKGV4Y2x1ZGUuaW5kZXhPZihjaGFyKSA+IC0xID8gcmVwbGFjZW1lbnQgOiBjaGFyKSlcbiAgICAuam9pbignJyl9JHtleHQgPyAnLicgKyBleHQgOiAnJ31gO1xufTtcblxuLyoqXG4gKiBGaWx0ZXIgb2JqZWN0IHRvIGdpdmVuIGZpZWxkc1xuICpcbiAqIEBwYXJhbSB0b0ZpbHRlclxuICogQHBhcmFtIHJlcXVpcmVkRmllbGRzXG4gKi9cbmV4cG9ydCBjb25zdCBmaWx0ZXJPYmplY3QgPSAodG9GaWx0ZXIsIHJlcXVpcmVkRmllbGRzOiBzdHJpbmdbXSkgPT4ge1xuICBpZiAoIXJlcXVpcmVkRmllbGRzIHx8IHJlcXVpcmVkRmllbGRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0b0ZpbHRlcjtcbiAgfVxuXG4gIGlmIChPYmplY3Qua2V5cyh0b0ZpbHRlcikubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHRvRmlsdGVyO1xuICB9XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKHRvRmlsdGVyKVxuICAgIC5maWx0ZXIoZiA9PiByZXF1aXJlZEZpZWxkcy5pbmRleE9mKGYpID4gLTEpXG4gICAgLnJlZHVjZSgob2JqLCBrZXkpID0+ICh7IC4uLm9iaiwgW2tleV06IHRvRmlsdGVyW2tleV0gfSksIHt9KTtcbn07XG5cbi8qKlxuICogRGVlcCBjbGVhbnVwIG9iamVjdCBmcm9tIGZ1bmN0aW9uc1xuICpcbiAqIEBwYXJhbSBvYmpcbiAqL1xuZXhwb3J0IGNvbnN0IGNsZWFuVXBDYWxsYmFja3MgPSAob2JqOiBhbnkpID0+IHtcbiAgaWYgKCFvYmogfHwgT2JqZWN0LmtleXMob2JqKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgT2JqZWN0LmtleXMob2JqKS5mb3JFYWNoKGsgPT4ge1xuICAgIGlmICh0eXBlb2Ygb2JqW2tdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBvYmpba10gPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKG9ialtrXSA9PT0gT2JqZWN0KG9ialtrXSkpIHtcbiAgICAgIG9ialtrXSA9IGNsZWFuVXBDYWxsYmFja3Mob2JqW2tdKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBvYmo7XG59O1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4Lm5vZGUnO1xuIl19

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.isFacebook = exports.isMobile = exports.getVersion = exports.b64 = exports.md5 = void 0;
/**

@@ -26,3 +27,3 @@ * Calculates a MD5 checksum for passed buffer

*/
exports.md5 = function (data) {
var md5 = function (data) {
return require('crypto')

@@ -33,2 +34,3 @@ .createHash('md5')

};
exports.md5 = md5;
/**

@@ -38,3 +40,3 @@ * return based string

*/
exports.b64 = function (data, safeUrl) {
var b64 = function (data, safeUrl) {
if (safeUrl === void 0) { safeUrl = false; }

@@ -47,8 +49,10 @@ var b64 = Buffer.from(data).toString('base64');

};
exports.b64 = b64;
/**
* Return currently used filestack-js sdk version
*/
exports.getVersion = function () {
return 'JS-3.27.0';
var getVersion = function () {
return 'JS-3.28.0';
};
exports.getVersion = getVersion;
/**

@@ -58,8 +62,10 @@ * Returns if browser is a mobile device (if node env always return false)

/* istanbul ignore next */
exports.isMobile = function () { return false; };
var isMobile = function () { return false; };
exports.isMobile = isMobile;
/**
* Check if application is runned in facebook browser
*/
exports.isFacebook = function () { return false; };
var isFacebook = function () { return false; };
exports.isFacebook = isFacebook;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXgubm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUVIOzs7OztHQUtHO0FBQ1UsUUFBQSxHQUFHLEdBQUcsVUFBQyxJQUFTO0lBQzNCLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQztTQUNuQixVQUFVLENBQUMsS0FBSyxDQUFDO1NBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUM7U0FDWixNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDeEIsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSxHQUFHLEdBQUcsVUFBQyxJQUFZLEVBQUUsT0FBd0I7SUFBeEIsd0JBQUEsRUFBQSxlQUF3QjtJQUN4RCxJQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUVqRCxJQUFJLE9BQU8sRUFBRTtRQUNYLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztLQUNwRDtJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLFVBQVUsR0FBRztJQUN4QixPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILDBCQUEwQjtBQUNiLFFBQUEsUUFBUSxHQUFHLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxDQUFDO0FBRXBDOztHQUVHO0FBQ1UsUUFBQSxVQUFVLEdBQUcsY0FBTSxPQUFBLEtBQUssRUFBTCxDQUFLLENBQUMiLCJmaWxlIjoibGliL3V0aWxzL2luZGV4Lm5vZGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE5IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKipcbiAqIENhbGN1bGF0ZXMgYSBNRDUgY2hlY2tzdW0gZm9yIHBhc3NlZCBidWZmZXJcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gZGF0YSAgRGF0YSB0byBiZSBoYXNoZWRcbiAqIEByZXR1cm5zICAgICBiYXNlNjQgZW5jb2RlZCBNRDUgaGFzaFxuICovXG5leHBvcnQgY29uc3QgbWQ1ID0gKGRhdGE6IGFueSk6IHN0cmluZyA9PiB7XG4gIHJldHVybiByZXF1aXJlKCdjcnlwdG8nKVxuICAgICAgLmNyZWF0ZUhhc2goJ21kNScpXG4gICAgICAudXBkYXRlKGRhdGEpXG4gICAgICAuZGlnZXN0KCdiYXNlNjQnKTtcbn07XG5cbi8qKlxuICogcmV0dXJuIGJhc2VkIHN0cmluZ1xuICogQHBhcmFtIGRhdGFcbiAqL1xuZXhwb3J0IGNvbnN0IGI2NCA9IChkYXRhOiBzdHJpbmcsIHNhZmVVcmw6IGJvb2xlYW4gPSBmYWxzZSk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGI2NCA9IEJ1ZmZlci5mcm9tKGRhdGEpLnRvU3RyaW5nKCdiYXNlNjQnKTtcblxuICBpZiAoc2FmZVVybCkge1xuICAgIHJldHVybiBiNjQucmVwbGFjZSgvXFwvL2csICdfJykucmVwbGFjZSgvXFwrL2csICctJyk7XG4gIH1cblxuICByZXR1cm4gYjY0O1xufTtcblxuLyoqXG4gKiBSZXR1cm4gY3VycmVudGx5IHVzZWQgZmlsZXN0YWNrLWpzIHNkayB2ZXJzaW9uXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRWZXJzaW9uID0gKCkgPT4ge1xuICByZXR1cm4gJ0pTLUB7VkVSU0lPTn0nO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIGlmIGJyb3dzZXIgaXMgYSBtb2JpbGUgZGV2aWNlIChpZiBub2RlIGVudiBhbHdheXMgcmV0dXJuIGZhbHNlKVxuICovXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZXhwb3J0IGNvbnN0IGlzTW9iaWxlID0gKCkgPT4gZmFsc2U7XG5cbi8qKlxuICogQ2hlY2sgaWYgYXBwbGljYXRpb24gaXMgcnVubmVkIGluIGZhY2Vib29rIGJyb3dzZXJcbiAqL1xuZXhwb3J0IGNvbnN0IGlzRmFjZWJvb2sgPSAoKSA9PiBmYWxzZTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXgubm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSDs7Ozs7R0FLRztBQUNJLElBQU0sR0FBRyxHQUFHLFVBQUMsSUFBUztJQUMzQixPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUM7U0FDbkIsVUFBVSxDQUFDLEtBQUssQ0FBQztTQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDO1NBQ1osTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUxXLFFBQUEsR0FBRyxPQUtkO0FBRUY7OztHQUdHO0FBQ0ksSUFBTSxHQUFHLEdBQUcsVUFBQyxJQUFZLEVBQUUsT0FBd0I7SUFBeEIsd0JBQUEsRUFBQSxlQUF3QjtJQUN4RCxJQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUVqRCxJQUFJLE9BQU8sRUFBRTtRQUNYLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztLQUNwRDtJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDO0FBUlcsUUFBQSxHQUFHLE9BUWQ7QUFFRjs7R0FFRztBQUNJLElBQU0sVUFBVSxHQUFHO0lBQ3hCLE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQUZXLFFBQUEsVUFBVSxjQUVyQjtBQUVGOztHQUVHO0FBQ0gsMEJBQTBCO0FBQ25CLElBQU0sUUFBUSxHQUFHLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxDQUFDO0FBQXZCLFFBQUEsUUFBUSxZQUFlO0FBRXBDOztHQUVHO0FBQ0ksSUFBTSxVQUFVLEdBQUcsY0FBTSxPQUFBLEtBQUssRUFBTCxDQUFLLENBQUM7QUFBekIsUUFBQSxVQUFVLGNBQWUiLCJmaWxlIjoibGliL3V0aWxzL2luZGV4Lm5vZGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE5IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKipcbiAqIENhbGN1bGF0ZXMgYSBNRDUgY2hlY2tzdW0gZm9yIHBhc3NlZCBidWZmZXJcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gZGF0YSAgRGF0YSB0byBiZSBoYXNoZWRcbiAqIEByZXR1cm5zICAgICBiYXNlNjQgZW5jb2RlZCBNRDUgaGFzaFxuICovXG5leHBvcnQgY29uc3QgbWQ1ID0gKGRhdGE6IGFueSk6IHN0cmluZyA9PiB7XG4gIHJldHVybiByZXF1aXJlKCdjcnlwdG8nKVxuICAgICAgLmNyZWF0ZUhhc2goJ21kNScpXG4gICAgICAudXBkYXRlKGRhdGEpXG4gICAgICAuZGlnZXN0KCdiYXNlNjQnKTtcbn07XG5cbi8qKlxuICogcmV0dXJuIGJhc2VkIHN0cmluZ1xuICogQHBhcmFtIGRhdGFcbiAqL1xuZXhwb3J0IGNvbnN0IGI2NCA9IChkYXRhOiBzdHJpbmcsIHNhZmVVcmw6IGJvb2xlYW4gPSBmYWxzZSk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGI2NCA9IEJ1ZmZlci5mcm9tKGRhdGEpLnRvU3RyaW5nKCdiYXNlNjQnKTtcblxuICBpZiAoc2FmZVVybCkge1xuICAgIHJldHVybiBiNjQucmVwbGFjZSgvXFwvL2csICdfJykucmVwbGFjZSgvXFwrL2csICctJyk7XG4gIH1cblxuICByZXR1cm4gYjY0O1xufTtcblxuLyoqXG4gKiBSZXR1cm4gY3VycmVudGx5IHVzZWQgZmlsZXN0YWNrLWpzIHNkayB2ZXJzaW9uXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRWZXJzaW9uID0gKCkgPT4ge1xuICByZXR1cm4gJ0pTLUB7VkVSU0lPTn0nO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIGlmIGJyb3dzZXIgaXMgYSBtb2JpbGUgZGV2aWNlIChpZiBub2RlIGVudiBhbHdheXMgcmV0dXJuIGZhbHNlKVxuICovXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZXhwb3J0IGNvbnN0IGlzTW9iaWxlID0gKCkgPT4gZmFsc2U7XG5cbi8qKlxuICogQ2hlY2sgaWYgYXBwbGljYXRpb24gaXMgcnVubmVkIGluIGZhY2Vib29rIGJyb3dzZXJcbiAqL1xuZXhwb3J0IGNvbnN0IGlzRmFjZWJvb2sgPSAoKSA9PiBmYWxzZTtcbiJdfQ==
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
/*

@@ -19,7 +20,7 @@ * Copyright (c) 2019 by Filestack.

*/
var utils = require("./index");
var utils = tslib_1.__importStar(require("./index"));
describe('utils:index', function () {
describe('getVersion', function () {
it('should return version string to replace', function () {
expect(utils.getVersion()).toEqual("JS-3.27.0");
expect(utils.getVersion()).toEqual("JS-3.28.0");
});

@@ -57,3 +58,3 @@ });

var _loop_1 = function (i) {
it("Should accept: " + agents[i] + " as correct", function () {
it("Should accept: ".concat(agents[i], " as correct"), function () {
defineAgent(agents[i]);

@@ -75,3 +76,3 @@ expect(utils.isFacebook()).toBeTruthy();

var _loop_2 = function (i) {
it("Should accept: " + agents[i] + " as wrong", function () {
it("Should accept: ".concat(agents[i], " as wrong"), function () {
defineAgent(agents[i]);

@@ -104,2 +105,2 @@ expect(utils.isFacebook()).toBeTruthy();

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXguc3BlYy5icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsK0JBQWlDO0FBRWpDLFFBQVEsQ0FBQyxhQUFhLEVBQUU7SUFDdEIsUUFBUSxDQUFDLFlBQVksRUFBRTtRQUNyQixFQUFFLENBQUMseUNBQXlDLEVBQUU7WUFDNUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFlBQVksRUFBRTtRQUNyQixJQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBRTFDLElBQU0sU0FBUyxHQUFHLFVBQUEsTUFBTSxJQUFJLE9BQUEsQ0FBQztZQUMzQixHQUFHLEVBQUUsY0FBTSxPQUFBLE1BQU0sRUFBTixDQUFNO1lBQ2pCLEdBQUcsRUFBRSxVQUFDLENBQUMsSUFBSyxPQUFBLE1BQU0sR0FBRyxDQUFDLEVBQVYsQ0FBVTtTQUN2QixDQUFDLEVBSDBCLENBRzFCLENBQUM7UUFFSCxJQUFNLFdBQVcsR0FBRyxVQUFDLEtBQUs7WUFDeEIsSUFBSTtnQkFDRixNQUFNLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDakU7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7b0JBQ25DLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDO2lCQUM1QixDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQztRQUVGLFVBQVUsQ0FBQztZQUNULFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxxREFBcUQsRUFBRTtZQUM5RCxJQUFNLE1BQU0sR0FBRztnQkFDYix3TEFBd0w7Z0JBQ3hMLDJMQUEyTDtnQkFDM0wsaU1BQWlNO2dCQUNqTSxtUUFBbVE7Z0JBQ25RLDZQQUE2UDtnQkFDN1Asa1FBQWtRO2dCQUNsUSw4TEFBOEw7YUFDL0wsQ0FBQztvQ0FFTyxDQUFDO2dCQUNSLEVBQUUsQ0FBQyxvQkFBa0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxnQkFBYSxFQUFFO29CQUMzQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZCLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDMUMsQ0FBQyxDQUFDLENBQUM7O1lBSkwsS0FBSyxJQUFJLENBQUMsSUFBSSxNQUFNO3dCQUFYLENBQUM7YUFLVDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLDZDQUE2QyxFQUFFO1lBQ3RELElBQU0sTUFBTSxHQUFHO2dCQUNiLGlJQUFpSTtnQkFDakksbUhBQW1IO2dCQUNuSCxzSEFBc0g7Z0JBQ3RILGdGQUFnRjthQUNqRixDQUFDO29DQUVPLENBQUM7Z0JBQ1IsRUFBRSxDQUFDLG9CQUFrQixNQUFNLENBQUMsQ0FBQyxDQUFDLGNBQVcsRUFBRTtvQkFDekMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN2QixNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQzFDLENBQUMsQ0FBQyxDQUFDOztZQUpMLEtBQUssSUFBSSxDQUFDLElBQUksTUFBTTt3QkFBWCxDQUFDO2FBS1Q7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLEtBQUssRUFBRTtRQUNkLEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRTtZQUNwQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM3RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLEtBQUssRUFBRTtRQUNkLEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRTtZQUNwQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxrRUFBa0UsRUFBRTtZQUNyRSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQ2pILENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLCtEQUErRCxFQUFFO1lBQ2xFLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7UUFDaEgsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi91dGlscy9pbmRleC5zcGVjLmJyb3dzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE5IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi9pbmRleCc7XG5cbmRlc2NyaWJlKCd1dGlsczppbmRleCcsICgpID0+IHtcbiAgZGVzY3JpYmUoJ2dldFZlcnNpb24nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdmVyc2lvbiBzdHJpbmcgdG8gcmVwbGFjZScsICgpID0+IHtcbiAgICAgIGV4cGVjdCh1dGlscy5nZXRWZXJzaW9uKCkpLnRvRXF1YWwoYEpTLUB7VkVSU0lPTn1gKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzRmFjZWJvb2snLCAoKSA9PiB7XG4gICAgY29uc3Qgb3JpZ2luYWxBZ2VudCA9IG5hdmlnYXRvci51c2VyQWdlbnQ7XG5cbiAgICBjb25zdCBtb2NrQWdlbnQgPSBfdmFsdWUgPT4gKHtcbiAgICAgIGdldDogKCkgPT4gX3ZhbHVlLFxuICAgICAgc2V0OiAodikgPT4gX3ZhbHVlID0gdixcbiAgICB9KTtcblxuICAgIGNvbnN0IGRlZmluZUFnZW50ID0gKGFnZW50KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobmF2aWdhdG9yLCAndXNlckFnZW50JywgbW9ja0FnZW50KGFnZW50KSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIG5hdmlnYXRvciA9IE9iamVjdC5jcmVhdGUobmF2aWdhdG9yLCB7XG4gICAgICAgICAgdXNlckFnZW50OiBtb2NrQWdlbnQoYWdlbnQpLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBtb2NrQWdlbnQob3JpZ2luYWxBZ2VudCk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnc2hvdWxkIHJlY29nbml6ZSBhbGwgb2YgZmFjZWJvb2sgYnJvd3NlciB1c2VyYWdlbnRzJywgKCkgPT4ge1xuICAgICAgY29uc3QgYWdlbnRzID0gW1xuICAgICAgICAnTW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDcuMS4xOyBCdWlsZC9MTVk0N08uSDE4OyB3dikgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi80LjAgQ2hyb21lLzU4LjAuMzAyOS44MyBNb2JpbGUgU2FmYXJpLzUzNy4zNiBbRkJfSUFCL0ZCNEE7RkJBVi8xMjcuMC4wLjIyLjY5O10nLFxuICAgICAgICAnTW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDcuMDsgU00tRzkzMEYgQnVpbGQvTlJEOTBNOyB3dikgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi80LjAgQ2hyb21lLzU4LjAuMzAyOS44MyBNb2JpbGUgU2FmYXJpLzUzNy4zNiBbRkJfSUFCL0ZCNEE7RkJBVi8xMjcuMC4wLjIyLjY5O10nLFxuICAgICAgICAnTW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDcuMDsgTUhBLUwyOSBCdWlsZC9IVUFXRUlNSEEtTDI5OyB3dikgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi80LjAgQ2hyb21lLzU4LjAuMzAyOS44MyBNb2JpbGUgU2FmYXJpLzUzNy4zNiBbRkJfSUFCL0ZCNEE7RkJBVi8xMjcuMC4wLjIyLjY5O10nLFxuICAgICAgICAnTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxMF8zXzIgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjAzLjIuNCAoS0hUTUwsIGxpa2UgR2Vja28pIE1vYmlsZS8xNEY4OSBbRkJBTi9GQklPUztGQkFWLzk2LjAuMC40NS43MDtGQkJWLzYwNTQ4NTQ1O0ZCRFYvaVBob25lNywyO0ZCTUQvaVBob25lO0ZCU04vaU9TO0ZCU1YvMTAuMy4yO0ZCU1MvMjtGQkNSL0UtUGx1cztGQklEL3Bob25lO0ZCTEMvZGVfREU7RkJPUC81O0ZCUlYvMF0nLFxuICAgICAgICAnTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxMF8yIGxpa2UgTWFjIE9TIFgpIEFwcGxlV2ViS2l0LzYwMi4zLjEyIChLSFRNTCwgbGlrZSBHZWNrbykgTW9iaWxlLzE0QzkyIFtGQkFOL0ZCSU9TO0ZCQVYvOTAuMC4wLjUxLjY5O0ZCQlYvNTYyNTQwMTU7RkJEVi9pUGhvbmU2LDI7RkJNRC9pUGhvbmU7RkJTTi9pT1M7RkJTVi8xMC4yO0ZCU1MvMjtGQkNSLzEmMTtGQklEL3Bob25lO0ZCTEMvZGVfREU7RkJPUC81O0ZCUlYvMF0nLFxuICAgICAgICAnTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxMF8zXzIgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjAzLjIuNCAoS0hUTUwsIGxpa2UgR2Vja28pIE1vYmlsZS8xNEY4OSBbRkJBTi9GQklPUztGQkFWLzk2LjAuMC40NS43MDtGQkJWLzYwNTQ4NTQ1O0ZCRFYvaVBob25lOCwxO0ZCTUQvaVBob25lO0ZCU04vaU9TO0ZCU1YvMTAuMy4yO0ZCU1MvMjtGQkNSL28yLWRlO0ZCSUQvcGhvbmU7RkJMQy9kZV9ERTtGQk9QLzU7RkJSVi8wXScsXG4gICAgICAgICdNb3ppbGxhLzUuMCAoTGludXg7IEFuZHJvaWQgNC40LjQ7IEc3LUwwMSBCdWlsZC9IdWF3ZWlHNy1MMDEpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNC4wIENocm9tZS8zMy4wLjAuMCBNb2JpbGUgU2FmYXJpLzUzNy4zNiBbRkJfSUFCL01FU1NFTkdFUjtGQkFWLzEyMS4wLjAuMTUuNzA7XScsXG4gICAgICBdO1xuXG4gICAgICBmb3IgKGxldCBpIGluIGFnZW50cykge1xuICAgICAgICBpdChgU2hvdWxkIGFjY2VwdDogJHthZ2VudHNbaV19IGFzIGNvcnJlY3RgLCAoKSA9PiB7XG4gICAgICAgICAgZGVmaW5lQWdlbnQoYWdlbnRzW2ldKTtcbiAgICAgICAgICBleHBlY3QodXRpbHMuaXNGYWNlYm9vaygpKS50b0JlVHJ1dGh5KCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3Nob3VsZCBub3QgcmVjb2duaXplIHVzZXIgYWdlbnQgYXMgZmFjZWJvb2snLCAoKSA9PiB7XG4gICAgICBjb25zdCBhZ2VudHMgPSBbXG4gICAgICAgICdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvNDIuMC4yMzExLjEzNSBTYWZhcmkvNTM3LjM2IEVkZ2UvMTIuMjQ2JyxcbiAgICAgICAgJ01vemlsbGEvNS4wIChYMTE7IENyT1MgeDg2XzY0IDgxNzIuNDUuMCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzUxLjAuMjcwNC42NCBTYWZhcmkvNTM3LjM2JyxcbiAgICAgICAgJ01vemlsbGEvNS4wIChNYWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwXzExXzIpIEFwcGxlV2ViS2l0LzYwMS4zLjkgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzkuMC4yIFNhZmFyaS82MDEuMy45JyxcbiAgICAgICAgJ01vemlsbGEvNS4wIChYMTE7IFVidW50dTsgTGludXggeDg2XzY0OyBydjoxNS4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzE1LjAuMScsXG4gICAgICBdO1xuXG4gICAgICBmb3IgKGxldCBpIGluIGFnZW50cykge1xuICAgICAgICBpdChgU2hvdWxkIGFjY2VwdDogJHthZ2VudHNbaV19IGFzIHdyb25nYCwgKCkgPT4ge1xuICAgICAgICAgIGRlZmluZUFnZW50KGFnZW50c1tpXSk7XG4gICAgICAgICAgZXhwZWN0KHV0aWxzLmlzRmFjZWJvb2soKSkudG9CZVRydXRoeSgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ21kNScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiBjb3JyZWN0IG1kNSB2YWx1ZScsICgpID0+IHtcbiAgICAgIGV4cGVjdCh1dGlscy5tZDUoQnVmZmVyLmZyb20oJ3Rlc3QnKSkpLnRvRXF1YWwoJ0NZOXJ6VVloMDNQSzNrNkRKaWUwOWc9PScpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYjY0JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIGNvcnJlY3QgYjY1IHZhbHVlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHV0aWxzLmI2NCgndGVzdHRleHQnKSkudG9FcXVhbCgnZEdWemRIUmxlSFE9Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGVzY2FwZSBjaGFycyB0byBtYWtlIGI2NCB1cmwgd2l0aG91dCBzYWZlIG1vZGUgLSBjaGFyIFwiK1wiJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHV0aWxzLmI2NCgnKjBlaWpBVGgjXCJJJFBSKXM8dVRhfXt0PkVcIkxDOkwnLCBmYWxzZSkpLnRvRXF1YWwoJ0tqQmxhV3BCVkdnaklra2tVRklwY3p4MVZHRjllM1ErUlNKTVF6cE0nKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZXNjYXBlIGNoYXJzIHRvIG1ha2UgYjY0IHVybCB3aXRoIHNhZmUgbW9kZSAtIGNoYXIgXCIrXCInLCAoKSA9PiB7XG4gICAgICBleHBlY3QodXRpbHMuYjY0KCcqMGVpakFUaCNcIkkkUFIpczx1VGF9e3Q+RVwiTEM6TCcsIHRydWUpKS50b0VxdWFsKCdLakJsYVdwQlZHZ2pJa2trVUZJcGN6eDFWR0Y5ZTNRLVJTSk1RenBNJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXguc3BlYy5icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILHFEQUFpQztBQUVqQyxRQUFRLENBQUMsYUFBYSxFQUFFO0lBQ3RCLFFBQVEsQ0FBQyxZQUFZLEVBQUU7UUFDckIsRUFBRSxDQUFDLHlDQUF5QyxFQUFFO1lBQzVDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxZQUFZLEVBQUU7UUFDckIsSUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQztRQUUxQyxJQUFNLFNBQVMsR0FBRyxVQUFBLE1BQU0sSUFBSSxPQUFBLENBQUM7WUFDM0IsR0FBRyxFQUFFLGNBQU0sT0FBQSxNQUFNLEVBQU4sQ0FBTTtZQUNqQixHQUFHLEVBQUUsVUFBQyxDQUFDLElBQUssT0FBQSxNQUFNLEdBQUcsQ0FBQyxFQUFWLENBQVU7U0FDdkIsQ0FBQyxFQUgwQixDQUcxQixDQUFDO1FBRUgsSUFBTSxXQUFXLEdBQUcsVUFBQyxLQUFLO1lBQ3hCLElBQUk7Z0JBQ0YsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ2pFO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO29CQUNuQyxTQUFTLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQztpQkFDNUIsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUM7UUFFRixVQUFVLENBQUM7WUFDVCxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxRQUFRLENBQUMscURBQXFELEVBQUU7WUFDOUQsSUFBTSxNQUFNLEdBQUc7Z0JBQ2Isd0xBQXdMO2dCQUN4TCwyTEFBMkw7Z0JBQzNMLGlNQUFpTTtnQkFDak0sbVFBQW1RO2dCQUNuUSw2UEFBNlA7Z0JBQzdQLGtRQUFrUTtnQkFDbFEsOExBQThMO2FBQy9MLENBQUM7b0NBRU8sQ0FBQztnQkFDUixFQUFFLENBQUMseUJBQWtCLE1BQU0sQ0FBQyxDQUFDLENBQUMsZ0JBQWEsRUFBRTtvQkFDM0MsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN2QixNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQzFDLENBQUMsQ0FBQyxDQUFDOztZQUpMLEtBQUssSUFBSSxDQUFDLElBQUksTUFBTTt3QkFBWCxDQUFDO2FBS1Q7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyw2Q0FBNkMsRUFBRTtZQUN0RCxJQUFNLE1BQU0sR0FBRztnQkFDYixpSUFBaUk7Z0JBQ2pJLG1IQUFtSDtnQkFDbkgsc0hBQXNIO2dCQUN0SCxnRkFBZ0Y7YUFDakYsQ0FBQztvQ0FFTyxDQUFDO2dCQUNSLEVBQUUsQ0FBQyx5QkFBa0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFXLEVBQUU7b0JBQ3pDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDdkIsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUMxQyxDQUFDLENBQUMsQ0FBQzs7WUFKTCxLQUFLLElBQUksQ0FBQyxJQUFJLE1BQU07d0JBQVgsQ0FBQzthQUtUO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxLQUFLLEVBQUU7UUFDZCxFQUFFLENBQUMsaUNBQWlDLEVBQUU7WUFDcEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDN0UsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxLQUFLLEVBQUU7UUFDZCxFQUFFLENBQUMsaUNBQWlDLEVBQUU7WUFDcEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsa0VBQWtFLEVBQUU7WUFDckUsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsMENBQTBDLENBQUMsQ0FBQztRQUNqSCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrREFBK0QsRUFBRTtZQUNsRSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQ2hILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvdXRpbHMvaW5kZXguc3BlYy5icm93c2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vaW5kZXgnO1xuXG5kZXNjcmliZSgndXRpbHM6aW5kZXgnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdnZXRWZXJzaW9uJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIHZlcnNpb24gc3RyaW5nIHRvIHJlcGxhY2UnLCAoKSA9PiB7XG4gICAgICBleHBlY3QodXRpbHMuZ2V0VmVyc2lvbigpKS50b0VxdWFsKGBKUy1Ae1ZFUlNJT059YCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc0ZhY2Vib29rJywgKCkgPT4ge1xuICAgIGNvbnN0IG9yaWdpbmFsQWdlbnQgPSBuYXZpZ2F0b3IudXNlckFnZW50O1xuXG4gICAgY29uc3QgbW9ja0FnZW50ID0gX3ZhbHVlID0+ICh7XG4gICAgICBnZXQ6ICgpID0+IF92YWx1ZSxcbiAgICAgIHNldDogKHYpID0+IF92YWx1ZSA9IHYsXG4gICAgfSk7XG5cbiAgICBjb25zdCBkZWZpbmVBZ2VudCA9IChhZ2VudCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5hdmlnYXRvciwgJ3VzZXJBZ2VudCcsIG1vY2tBZ2VudChhZ2VudCkpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBuYXZpZ2F0b3IgPSBPYmplY3QuY3JlYXRlKG5hdmlnYXRvciwge1xuICAgICAgICAgIHVzZXJBZ2VudDogbW9ja0FnZW50KGFnZW50KSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgbW9ja0FnZW50KG9yaWdpbmFsQWdlbnQpO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3Nob3VsZCByZWNvZ25pemUgYWxsIG9mIGZhY2Vib29rIGJyb3dzZXIgdXNlcmFnZW50cycsICgpID0+IHtcbiAgICAgIGNvbnN0IGFnZW50cyA9IFtcbiAgICAgICAgJ01vemlsbGEvNS4wIChMaW51eDsgQW5kcm9pZCA3LjEuMTsgQnVpbGQvTE1ZNDdPLkgxODsgd3YpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNC4wIENocm9tZS81OC4wLjMwMjkuODMgTW9iaWxlIFNhZmFyaS81MzcuMzYgW0ZCX0lBQi9GQjRBO0ZCQVYvMTI3LjAuMC4yMi42OTtdJyxcbiAgICAgICAgJ01vemlsbGEvNS4wIChMaW51eDsgQW5kcm9pZCA3LjA7IFNNLUc5MzBGIEJ1aWxkL05SRDkwTTsgd3YpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNC4wIENocm9tZS81OC4wLjMwMjkuODMgTW9iaWxlIFNhZmFyaS81MzcuMzYgW0ZCX0lBQi9GQjRBO0ZCQVYvMTI3LjAuMC4yMi42OTtdJyxcbiAgICAgICAgJ01vemlsbGEvNS4wIChMaW51eDsgQW5kcm9pZCA3LjA7IE1IQS1MMjkgQnVpbGQvSFVBV0VJTUhBLUwyOTsgd3YpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNC4wIENocm9tZS81OC4wLjMwMjkuODMgTW9iaWxlIFNhZmFyaS81MzcuMzYgW0ZCX0lBQi9GQjRBO0ZCQVYvMTI3LjAuMC4yMi42OTtdJyxcbiAgICAgICAgJ01vemlsbGEvNS4wIChpUGhvbmU7IENQVSBpUGhvbmUgT1MgMTBfM18yIGxpa2UgTWFjIE9TIFgpIEFwcGxlV2ViS2l0LzYwMy4yLjQgKEtIVE1MLCBsaWtlIEdlY2tvKSBNb2JpbGUvMTRGODkgW0ZCQU4vRkJJT1M7RkJBVi85Ni4wLjAuNDUuNzA7RkJCVi82MDU0ODU0NTtGQkRWL2lQaG9uZTcsMjtGQk1EL2lQaG9uZTtGQlNOL2lPUztGQlNWLzEwLjMuMjtGQlNTLzI7RkJDUi9FLVBsdXM7RkJJRC9waG9uZTtGQkxDL2RlX0RFO0ZCT1AvNTtGQlJWLzBdJyxcbiAgICAgICAgJ01vemlsbGEvNS4wIChpUGhvbmU7IENQVSBpUGhvbmUgT1MgMTBfMiBsaWtlIE1hYyBPUyBYKSBBcHBsZVdlYktpdC82MDIuMy4xMiAoS0hUTUwsIGxpa2UgR2Vja28pIE1vYmlsZS8xNEM5MiBbRkJBTi9GQklPUztGQkFWLzkwLjAuMC41MS42OTtGQkJWLzU2MjU0MDE1O0ZCRFYvaVBob25lNiwyO0ZCTUQvaVBob25lO0ZCU04vaU9TO0ZCU1YvMTAuMjtGQlNTLzI7RkJDUi8xJjE7RkJJRC9waG9uZTtGQkxDL2RlX0RFO0ZCT1AvNTtGQlJWLzBdJyxcbiAgICAgICAgJ01vemlsbGEvNS4wIChpUGhvbmU7IENQVSBpUGhvbmUgT1MgMTBfM18yIGxpa2UgTWFjIE9TIFgpIEFwcGxlV2ViS2l0LzYwMy4yLjQgKEtIVE1MLCBsaWtlIEdlY2tvKSBNb2JpbGUvMTRGODkgW0ZCQU4vRkJJT1M7RkJBVi85Ni4wLjAuNDUuNzA7RkJCVi82MDU0ODU0NTtGQkRWL2lQaG9uZTgsMTtGQk1EL2lQaG9uZTtGQlNOL2lPUztGQlNWLzEwLjMuMjtGQlNTLzI7RkJDUi9vMi1kZTtGQklEL3Bob25lO0ZCTEMvZGVfREU7RkJPUC81O0ZCUlYvMF0nLFxuICAgICAgICAnTW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDQuNC40OyBHNy1MMDEgQnVpbGQvSHVhd2VpRzctTDAxKSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzQuMCBDaHJvbWUvMzMuMC4wLjAgTW9iaWxlIFNhZmFyaS81MzcuMzYgW0ZCX0lBQi9NRVNTRU5HRVI7RkJBVi8xMjEuMC4wLjE1LjcwO10nLFxuICAgICAgXTtcblxuICAgICAgZm9yIChsZXQgaSBpbiBhZ2VudHMpIHtcbiAgICAgICAgaXQoYFNob3VsZCBhY2NlcHQ6ICR7YWdlbnRzW2ldfSBhcyBjb3JyZWN0YCwgKCkgPT4ge1xuICAgICAgICAgIGRlZmluZUFnZW50KGFnZW50c1tpXSk7XG4gICAgICAgICAgZXhwZWN0KHV0aWxzLmlzRmFjZWJvb2soKSkudG9CZVRydXRoeSgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdzaG91bGQgbm90IHJlY29nbml6ZSB1c2VyIGFnZW50IGFzIGZhY2Vib29rJywgKCkgPT4ge1xuICAgICAgY29uc3QgYWdlbnRzID0gW1xuICAgICAgICAnTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzQyLjAuMjMxMS4xMzUgU2FmYXJpLzUzNy4zNiBFZGdlLzEyLjI0NicsXG4gICAgICAgICdNb3ppbGxhLzUuMCAoWDExOyBDck9TIHg4Nl82NCA4MTcyLjQ1LjApIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS81MS4wLjI3MDQuNjQgU2FmYXJpLzUzNy4zNicsXG4gICAgICAgICdNb3ppbGxhLzUuMCAoTWFjaW50b3NoOyBJbnRlbCBNYWMgT1MgWCAxMF8xMV8yKSBBcHBsZVdlYktpdC82MDEuMy45IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi85LjAuMiBTYWZhcmkvNjAxLjMuOScsXG4gICAgICAgICdNb3ppbGxhLzUuMCAoWDExOyBVYnVudHU7IExpbnV4IHg4Nl82NDsgcnY6MTUuMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC8xNS4wLjEnLFxuICAgICAgXTtcblxuICAgICAgZm9yIChsZXQgaSBpbiBhZ2VudHMpIHtcbiAgICAgICAgaXQoYFNob3VsZCBhY2NlcHQ6ICR7YWdlbnRzW2ldfSBhcyB3cm9uZ2AsICgpID0+IHtcbiAgICAgICAgICBkZWZpbmVBZ2VudChhZ2VudHNbaV0pO1xuICAgICAgICAgIGV4cGVjdCh1dGlscy5pc0ZhY2Vib29rKCkpLnRvQmVUcnV0aHkoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdtZDUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gY29ycmVjdCBtZDUgdmFsdWUnLCAoKSA9PiB7XG4gICAgICBleHBlY3QodXRpbHMubWQ1KEJ1ZmZlci5mcm9tKCd0ZXN0JykpKS50b0VxdWFsKCdDWTlyelVZaDAzUEszazZESmllMDlnPT0nKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2I2NCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiBjb3JyZWN0IGI2NSB2YWx1ZScsICgpID0+IHtcbiAgICAgIGV4cGVjdCh1dGlscy5iNjQoJ3Rlc3R0ZXh0JykpLnRvRXF1YWwoJ2RHVnpkSFJsZUhRPScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBlc2NhcGUgY2hhcnMgdG8gbWFrZSBiNjQgdXJsIHdpdGhvdXQgc2FmZSBtb2RlIC0gY2hhciBcIitcIicsICgpID0+IHtcbiAgICAgIGV4cGVjdCh1dGlscy5iNjQoJyowZWlqQVRoI1wiSSRQUilzPHVUYX17dD5FXCJMQzpMJywgZmFsc2UpKS50b0VxdWFsKCdLakJsYVdwQlZHZ2pJa2trVUZJcGN6eDFWR0Y5ZTNRK1JTSk1RenBNJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGVzY2FwZSBjaGFycyB0byBtYWtlIGI2NCB1cmwgd2l0aCBzYWZlIG1vZGUgLSBjaGFyIFwiK1wiJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHV0aWxzLmI2NCgnKjBlaWpBVGgjXCJJJFBSKXM8dVRhfXt0PkVcIkxDOkwnLCB0cnVlKSkudG9FcXVhbCgnS2pCbGFXcEJWR2dqSWtra1VGSXBjengxVkdGOWUzUS1SU0pNUXpwTScpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19

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

var handle = '5aYkEQJSQCmYShsoCnZN';
var result = index_1.resolveCdnUrl(session, handle);
var result = (0, index_1.resolveCdnUrl)(session, handle);
expect(result).toEqual('https://cdn.filestackcontent.com');

@@ -37,3 +37,3 @@ });

var handle = 'src://test123/test.jpg';
var result = index_1.resolveCdnUrl(session, handle);
var result = (0, index_1.resolveCdnUrl)(session, handle);
expect(result).toEqual('https://cdn.filestackcontent.com/TEST_API_KEY');

@@ -43,3 +43,3 @@ });

var handle = 'https://static1.squarespace.com/static/544eb3cce4b0ef091773611f/t/59ba7ce1bd10f00dcdc80a5f/1505394087367/DSC_0527.jpg';
var result = index_1.resolveCdnUrl(session, handle);
var result = (0, index_1.resolveCdnUrl)(session, handle);
expect(result).toEqual('https://cdn.filestackcontent.com/TEST_API_KEY');

@@ -50,3 +50,3 @@ });

session.apikey = '';
expect(function () { index_1.resolveCdnUrl(session, handle); }).toThrow('Api key is required when storage alias is provided');
expect(function () { (0, index_1.resolveCdnUrl)(session, handle); }).toThrow('Api key is required when storage alias is provided');
});

@@ -63,3 +63,3 @@ });

var cname = 'example.com';
var result = index_1.resolveHost(hosts, cname);
var result = (0, index_1.resolveHost)(hosts, cname);
checkHosts(result, cname);

@@ -69,3 +69,3 @@ });

var cname = '';
var result = index_1.resolveHost(hosts, cname);
var result = (0, index_1.resolveHost)(hosts, cname);
checkHosts(result, cname);

@@ -77,3 +77,3 @@ });

var testOb = { test1: true, test2: undefined, test3: false };
expect(index_1.removeEmpty(testOb)).toEqual({ test1: true, test3: false });
expect((0, index_1.removeEmpty)(testOb)).toEqual({ test1: true, test3: false });
});

@@ -83,3 +83,3 @@ });

it('should return unique times', function () {
expect(index_1.uniqueTime()).not.toEqual(index_1.uniqueTime());
expect((0, index_1.uniqueTime)()).not.toEqual((0, index_1.uniqueTime)());
});

@@ -89,7 +89,7 @@ });

it('should get different ids each time', function () {
expect(index_1.uniqueId()).not.toEqual(index_1.uniqueId());
expect((0, index_1.uniqueId)()).not.toEqual((0, index_1.uniqueId)());
});
it('should return id with given length', function () {
expect(index_1.uniqueId(12).length).toEqual(12);
expect(index_1.uniqueId(4).length).toEqual(4);
expect((0, index_1.uniqueId)(12).length).toEqual(12);
expect((0, index_1.uniqueId)(4).length).toEqual(4);
});

@@ -99,3 +99,3 @@ });

it('should return correct md5 value', function () {
expect(index_1.md5(Buffer.from('test'))).toEqual('CY9rzUYh03PK3k6DJie09g==');
expect((0, index_1.md5)(Buffer.from('test'))).toEqual('CY9rzUYh03PK3k6DJie09g==');
});

@@ -105,3 +105,3 @@ });

it('should return correct version from package json', function () {
expect(index_1.getVersion()).toEqual("JS-" + v);
expect((0, index_1.getVersion)()).toEqual("JS-".concat(v));
});

@@ -111,9 +111,9 @@ });

it('should return correct b65 value', function () {
expect(index_1.b64('testtext')).toEqual('dGVzdHRleHQ=');
expect((0, index_1.b64)('testtext')).toEqual('dGVzdHRleHQ=');
});
it('should escape chars to make b64 url safe string - char "/"', function () {
expect(index_1.b64('*0eijATh#"I$PR)s<uTa}{t>E"LC:L', true)).toEqual('KjBlaWpBVGgjIkkkUFIpczx1VGF9e3Q-RSJMQzpM');
expect((0, index_1.b64)('*0eijATh#"I$PR)s<uTa}{t>E"LC:L', true)).toEqual('KjBlaWpBVGgjIkkkUFIpczx1VGF9e3Q-RSJMQzpM');
});
it('should escape chars to make b64 url safe string - char ""', function () {
expect(index_1.b64('W{wpB@ckYD0O@&?!||9PS)7^+F*H8N', true)).toEqual('V3t3cEJAY2tZRDBPQCY_IXx8OVBTKTdeK0YqSDhO');
expect((0, index_1.b64)('W{wpB@ckYD0O@&?!||9PS)7^+F*H8N', true)).toEqual('V3t3cEJAY2tZRDBPQCY_IXx8OVBTKTdeK0YqSDhO');
});

@@ -123,18 +123,18 @@ });

it('should sanitize file name with extension', function () {
expect(index_1.sanitizeName('a\\{%`"~[]#|^<>1.jpg')).toEqual('a-------------1.jpg');
expect((0, index_1.sanitizeName)('a\\{%`"~[]#|^<>1.jpg')).toEqual('a-------------1.jpg');
});
it('should sanitize file name without extension', function () {
expect(index_1.sanitizeName('123qwe')).toEqual('123qwe');
expect((0, index_1.sanitizeName)('123qwe')).toEqual('123qwe');
});
it('should return undefined on empty string', function () {
expect(index_1.sanitizeName('')).toEqual('undefined');
expect((0, index_1.sanitizeName)('')).toEqual('undefined');
});
it('should respect sanitize options as boolean', function () {
expect(index_1.sanitizeName('[]#|.jpg', false)).toEqual('[]#|.jpg');
expect((0, index_1.sanitizeName)('[]#|.jpg', false)).toEqual('[]#|.jpg');
});
it('should not change dots in filename', function () {
expect(index_1.sanitizeName('[]#some.tar.gz', false)).toEqual('[]#some.tar.gz');
expect((0, index_1.sanitizeName)('[]#some.tar.gz', false)).toEqual('[]#some.tar.gz');
});
it('should respect sanitize options with provided options', function () {
expect(index_1.sanitizeName('[]#|.jpg', {
expect((0, index_1.sanitizeName)('[]#|.jpg', {
exclude: ['[', ']'],

@@ -147,3 +147,3 @@ replacement: '_',

it('should filter object', function () {
expect(index_1.filterObject({
expect((0, index_1.filterObject)({
test: 1,

@@ -158,3 +158,3 @@ test2: 2,

it('should result the same object on empty requirements', function () {
expect(index_1.filterObject({
expect((0, index_1.filterObject)({
test: 1,

@@ -170,3 +170,3 @@ test2: 2,

it('should not throw on empty filtered object', function () {
expect(index_1.filterObject({}, ['test'])).toEqual({});
expect((0, index_1.filterObject)({}, ['test'])).toEqual({});
});

@@ -176,21 +176,21 @@ });

it('should return mimetype if mime is passed', function () {
expect(index_1.extensionToMime('')).toEqual(undefined);
expect((0, index_1.extensionToMime)('')).toEqual(undefined);
});
it('should return same mime is passed', function () {
expect(index_1.extensionToMime('image/png')).toEqual('image/png');
expect(index_1.extensionToMime('image/jpg')).toEqual('image/jpg');
expect(index_1.extensionToMime('application/pdf')).toEqual('application/pdf');
expect((0, index_1.extensionToMime)('image/png')).toEqual('image/png');
expect((0, index_1.extensionToMime)('image/jpg')).toEqual('image/jpg');
expect((0, index_1.extensionToMime)('application/pdf')).toEqual('application/pdf');
});
it('it should return correct mimes for ext', function () {
expect(index_1.extensionToMime('.png')).toEqual('image/png');
expect(index_1.extensionToMime('.jpg')).toEqual('image/jpeg');
expect(index_1.extensionToMime('.pdf')).toEqual('application/pdf');
expect(index_1.extensionToMime('.key')).toEqual('application/vnd.apple.keynote');
expect(index_1.extensionToMime('.zip')).toEqual('application/zip');
expect(index_1.extensionToMime('.numbers')).toEqual('application/vnd.apple.numbers');
expect((0, index_1.extensionToMime)('.png')).toEqual('image/png');
expect((0, index_1.extensionToMime)('.jpg')).toEqual('image/jpeg');
expect((0, index_1.extensionToMime)('.pdf')).toEqual('application/pdf');
expect((0, index_1.extensionToMime)('.key')).toEqual('application/vnd.apple.keynote');
expect((0, index_1.extensionToMime)('.zip')).toEqual('application/zip');
expect((0, index_1.extensionToMime)('.numbers')).toEqual('application/vnd.apple.numbers');
});
it('it should extract extensions form filename or ext with dot', function () {
expect(index_1.extensionToMime('test.png')).toEqual('image/png');
expect(index_1.extensionToMime('test.jpg')).toEqual('image/jpeg');
expect(index_1.extensionToMime('test.pdf')).toEqual('application/pdf');
expect((0, index_1.extensionToMime)('test.png')).toEqual('image/png');
expect((0, index_1.extensionToMime)('test.jpg')).toEqual('image/jpeg');
expect((0, index_1.extensionToMime)('test.pdf')).toEqual('application/pdf');
});

@@ -211,3 +211,3 @@ });

};
expect(index_1.cleanUpCallbacks(testObj)).toEqual({
expect((0, index_1.cleanUpCallbacks)(testObj)).toEqual({
test: {},

@@ -224,2 +224,2 @@ testN: 123,

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXguc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILGlDQUE2SztBQUM3Syx1Q0FBc0M7QUFDdEMsSUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUMsT0FBTyxDQUFDO0FBRXRELFFBQVEsQ0FBQyxhQUFhLEVBQUU7SUFDdEIsUUFBUSxDQUFDLGVBQWUsRUFBRTtRQUV4QixJQUFNLE9BQU8sR0FBRztZQUNkLE1BQU0sRUFBRSxjQUFjO1lBQ3RCLEtBQUssRUFBRSxhQUFhO1lBQ3BCLElBQUksRUFBRSxlQUFNLENBQUMsSUFBSTtTQUNsQixDQUFDO1FBRUYsRUFBRSxDQUFDLG9EQUFvRCxFQUFFO1lBQ3ZELElBQU0sTUFBTSxHQUFHLHNCQUFzQixDQUFDO1lBQ3RDLElBQU0sTUFBTSxHQUFHLHFCQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxpREFBaUQsRUFBRTtZQUNwRCxJQUFNLE1BQU0sR0FBRyx3QkFBd0IsQ0FBQztZQUN4QyxJQUFNLE1BQU0sR0FBRyxxQkFBYSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM5QyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLCtDQUErQyxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsb0RBQW9ELEVBQUU7WUFDdkQsSUFBTSxNQUFNLEdBQUcsdUhBQXVILENBQUM7WUFDdkksSUFBTSxNQUFNLEdBQUcscUJBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDOUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQywr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RUFBRTtZQUNsRSxJQUFNLE9BQU8sR0FBRztnQkFDZCxFQUFFLEVBQUUsY0FBTSxPQUFBLENBQUMsRUFBRCxDQUFDO2dCQUNYLElBQUksRUFBRTtvQkFDSixHQUFHLEVBQUUsY0FBTSxPQUFBLENBQUMsRUFBRCxDQUFDO2lCQUNiO2dCQUNELEtBQUssRUFBRSxHQUFHO2dCQUNWLEtBQUssRUFBRSxRQUFRO2dCQUNmLE9BQU8sRUFBRTtvQkFDUCxHQUFHLEVBQUUsR0FBRztpQkFDVDthQUNGLENBQUM7WUFFRixNQUFNLENBQUMsd0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBQ3hDLElBQUksRUFBRSxFQUFFO2dCQUNSLEtBQUssRUFBRSxHQUFHO2dCQUNWLEtBQUssRUFBRSxRQUFRO2dCQUNmLE9BQU8sRUFBRTtvQkFDUCxHQUFHLEVBQUUsR0FBRztpQkFDVDthQUNGLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvdXRpbHMvaW5kZXguc3BlYy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyByZXNvbHZlQ2RuVXJsLCByZXNvbHZlSG9zdCwgcmVtb3ZlRW1wdHksIHVuaXF1ZVRpbWUsIHVuaXF1ZUlkLCBtZDUsIGV4dGVuc2lvblRvTWltZSwgc2FuaXRpemVOYW1lLCBmaWx0ZXJPYmplY3QsIGI2NCwgZ2V0VmVyc2lvbiwgY2xlYW5VcENhbGxiYWNrcyB9IGZyb20gJy4vaW5kZXgnO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcbmNvbnN0IHYgPSByZXF1aXJlKCcuLi8uLi8uLi8uLi9wYWNrYWdlLmpzb24nKS52ZXJzaW9uO1xuXG5kZXNjcmliZSgndXRpbHM6aW5kZXgnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdyZXNvbHZlQ2RuVXJsJywgKCkgPT4ge1xuXG4gICAgY29uc3Qgc2Vzc2lvbiA9IHtcbiAgICAgIGFwaWtleTogJ1RFU1RfQVBJX0tFWScsXG4gICAgICBjbmFtZTogJ2V4YW1wbGUuY29tJyxcbiAgICAgIHVybHM6IGNvbmZpZy51cmxzLFxuICAgIH07XG5cbiAgICBpdCgnc2hvdWxkIHByb3Blcmx5IHJlc29sdmUgY2RuIHVybCB3aXRoIGhhc2hlZCBoYW5kbGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGUgPSAnNWFZa0VRSlNRQ21ZU2hzb0NuWk4nO1xuICAgICAgY29uc3QgcmVzdWx0ID0gcmVzb2x2ZUNkblVybChzZXNzaW9uLCBoYW5kbGUpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCgnaHR0cHM6Ly9jZG4uZmlsZXN0YWNrY29udGVudC5jb20nKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcHJvcGVybHkgcmVzb2x2ZSBjZG4gdXJsIHdpdGggc3JjIGhhbmRsZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZSA9ICdzcmM6Ly90ZXN0MTIzL3Rlc3QuanBnJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHJlc29sdmVDZG5Vcmwoc2Vzc2lvbiwgaGFuZGxlKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoJ2h0dHBzOi8vY2RuLmZpbGVzdGFja2NvbnRlbnQuY29tL1RFU1RfQVBJX0tFWScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBwcm9wZXJseSByZXNvbHZlIGNkbiB1cmwgd2l0aCBoYXNoZWQgaGFuZGxlJywgKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlID0gJ2h0dHBzOi8vc3RhdGljMS5zcXVhcmVzcGFjZS5jb20vc3RhdGljLzU0NGViM2NjZTRiMGVmMDkxNzczNjExZi90LzU5YmE3Y2UxYmQxMGYwMGRjZGM4MGE1Zi8xNTA1Mzk0MDg3MzY3L0RTQ18wNTI3LmpwZyc7XG4gICAgICBjb25zdCByZXN1bHQgPSByZXNvbHZlQ2RuVXJsKHNlc3Npb24sIGhhbmRsZSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKCdodHRwczovL2Nkbi5maWxlc3RhY2tjb250ZW50LmNvbS9URVNUX0FQSV9LRVknKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3Igd2hlbiB1c2luZyBzcmMgaGFuZGxlIG9yIHVybCB3aXRob3V0IGFwaWtleScsICgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZSA9ICdzcmM6Ly90ZXN0MTIzL3Rlc3QuanBnJztcbiAgICAgIHNlc3Npb24uYXBpa2V5ID0gJyc7XG4gICAgICBleHBlY3QoKCkgPT4geyByZXNvbHZlQ2RuVXJsKHNlc3Npb24sIGhhbmRsZSk7IH0pLnRvVGhyb3coJ0FwaSBrZXkgaXMgcmVxdWlyZWQgd2hlbiBzdG9yYWdlIGFsaWFzIGlzIHByb3ZpZGVkJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdyZXNvbHZlSG9zdCcsICgpID0+IHtcbiAgICBjb25zdCBob3N0cyA9IGNvbmZpZy51cmxzO1xuXG4gICAgY29uc3QgY2hlY2tIb3N0cyA9IChob3N0cywgZXhwZWN0ZWQpID0+IHtcbiAgICAgIE9iamVjdC5rZXlzKGhvc3RzKS5mb3JFYWNoKChrKSA9PiB7XG4gICAgICAgIGV4cGVjdChob3N0c1trXS5pbmRleE9mKGV4cGVjdGVkKSA+IC0xKS50b0JlVHJ1dGh5KCk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gcHJvcGVyIGhvc3QnLCAoKSA9PiB7XG4gICAgICBjb25zdCBjbmFtZSA9ICdleGFtcGxlLmNvbSc7XG4gICAgICBjb25zdCByZXN1bHQgPSByZXNvbHZlSG9zdChob3N0cywgY25hbWUpO1xuICAgICAgY2hlY2tIb3N0cyhyZXN1bHQsIGNuYW1lKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGhvc3RzIHdoZW4gY25hbWUgaXMgYW4gZW1wdHkgc3RyaW5nJywgKCkgPT4ge1xuICAgICAgY29uc3QgY25hbWUgPSAnJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHJlc29sdmVIb3N0KGhvc3RzLCBjbmFtZSk7XG4gICAgICBjaGVja0hvc3RzKHJlc3VsdCwgY25hbWUpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncmVtb3ZlRW1wdHknLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZW1vdmUgZW1wdHkgb3B0aW9ucyBmcm9tIGFuIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHRlc3RPYiA9IHsgdGVzdDE6IHRydWUsIHRlc3QyOiB1bmRlZmluZWQsIHRlc3QzOiBmYWxzZSB9O1xuICAgICAgZXhwZWN0KHJlbW92ZUVtcHR5KHRlc3RPYikpLnRvRXF1YWwoeyB0ZXN0MTogdHJ1ZSwgdGVzdDM6IGZhbHNlIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgndW5pcXVlVGltZScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiB1bmlxdWUgdGltZXMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QodW5pcXVlVGltZSgpKS5ub3QudG9FcXVhbCh1bmlxdWVUaW1lKCkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgndW5pcXVlSWQnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBnZXQgZGlmZmVyZW50IGlkcyBlYWNoIHRpbWUnLCAoKSA9PiB7XG4gICAgICBleHBlY3QodW5pcXVlSWQoKSkubm90LnRvRXF1YWwodW5pcXVlSWQoKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBpZCB3aXRoIGdpdmVuIGxlbmd0aCcsICgpID0+IHtcbiAgICAgIGV4cGVjdCh1bmlxdWVJZCgxMikubGVuZ3RoKS50b0VxdWFsKDEyKTtcbiAgICAgIGV4cGVjdCh1bmlxdWVJZCg0KS5sZW5ndGgpLnRvRXF1YWwoNCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdtZDUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gY29ycmVjdCBtZDUgdmFsdWUnLCAoKSA9PiB7XG4gICAgICBleHBlY3QobWQ1KEJ1ZmZlci5mcm9tKCd0ZXN0JykpKS50b0VxdWFsKCdDWTlyelVZaDAzUEszazZESmllMDlnPT0nKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2dldFZlcnNpb24nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gY29ycmVjdCB2ZXJzaW9uIGZyb20gcGFja2FnZSBqc29uJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGdldFZlcnNpb24oKSkudG9FcXVhbChgSlMtJHt2fWApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYjY0JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIGNvcnJlY3QgYjY1IHZhbHVlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGI2NCgndGVzdHRleHQnKSkudG9FcXVhbCgnZEdWemRIUmxlSFE9Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGVzY2FwZSBjaGFycyB0byBtYWtlIGI2NCB1cmwgc2FmZSBzdHJpbmcgLSBjaGFyIFwiL1wiJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGI2NCgnKjBlaWpBVGgjXCJJJFBSKXM8dVRhfXt0PkVcIkxDOkwnLCB0cnVlKSkudG9FcXVhbCgnS2pCbGFXcEJWR2dqSWtra1VGSXBjengxVkdGOWUzUS1SU0pNUXpwTScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBlc2NhcGUgY2hhcnMgdG8gbWFrZSBiNjQgdXJsIHNhZmUgc3RyaW5nIC0gY2hhciBcIlwiJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGI2NCgnV3t3cEJAY2tZRDBPQCY/IXx8OVBTKTdeK0YqSDhOJywgdHJ1ZSkpLnRvRXF1YWwoJ1YzdDNjRUpBWTJ0WlJEQlBRQ1lfSVh4OE9WQlRLVGRlSzBZcVNEaE8nKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3Nhbml0aXplTmFtZScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHNhbml0aXplIGZpbGUgbmFtZSB3aXRoIGV4dGVuc2lvbicsICgpID0+IHtcbiAgICAgIGV4cGVjdChzYW5pdGl6ZU5hbWUoJ2FcXFxceyVgXCJ+W10jfF48PjEuanBnJykpLnRvRXF1YWwoJ2EtLS0tLS0tLS0tLS0tMS5qcGcnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc2FuaXRpemUgZmlsZSBuYW1lIHdpdGhvdXQgZXh0ZW5zaW9uJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHNhbml0aXplTmFtZSgnMTIzcXdlJykpLnRvRXF1YWwoJzEyM3F3ZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdW5kZWZpbmVkIG9uIGVtcHR5IHN0cmluZycsICgpID0+IHtcbiAgICAgIGV4cGVjdChzYW5pdGl6ZU5hbWUoJycpKS50b0VxdWFsKCd1bmRlZmluZWQnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVzcGVjdCBzYW5pdGl6ZSBvcHRpb25zIGFzIGJvb2xlYW4nLCAoKSA9PiB7XG4gICAgICBleHBlY3Qoc2FuaXRpemVOYW1lKCdbXSN8LmpwZycsIGZhbHNlKSkudG9FcXVhbCgnW10jfC5qcGcnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbm90IGNoYW5nZSBkb3RzIGluIGZpbGVuYW1lJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHNhbml0aXplTmFtZSgnW10jc29tZS50YXIuZ3onLCBmYWxzZSkpLnRvRXF1YWwoJ1tdI3NvbWUudGFyLmd6Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlc3BlY3Qgc2FuaXRpemUgb3B0aW9ucyB3aXRoIHByb3ZpZGVkIG9wdGlvbnMnLCAoKSA9PiB7XG4gICAgICBleHBlY3Qoc2FuaXRpemVOYW1lKCdbXSN8LmpwZycsIHtcbiAgICAgICAgZXhjbHVkZTogWydbJywgJ10nXSxcbiAgICAgICAgcmVwbGFjZW1lbnQ6ICdfJyxcbiAgICAgIH0pKS50b0VxdWFsKCdfXyN8LmpwZycpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZmlsdGVyT2JqZWN0JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgZmlsdGVyIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChmaWx0ZXJPYmplY3Qoe1xuICAgICAgICB0ZXN0OiAxLFxuICAgICAgICB0ZXN0MjogMixcbiAgICAgICAgdGVzdDM6IDMsXG4gICAgICB9LCBbJ3Rlc3QnLCAndGVzdDInXSkpLnRvRXF1YWwoe1xuICAgICAgICB0ZXN0OiAxLFxuICAgICAgICB0ZXN0MjogMixcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXN1bHQgdGhlIHNhbWUgb2JqZWN0IG9uIGVtcHR5IHJlcXVpcmVtZW50cycsICgpID0+IHtcbiAgICAgIGV4cGVjdChmaWx0ZXJPYmplY3Qoe1xuICAgICAgICB0ZXN0OiAxLFxuICAgICAgICB0ZXN0MjogMixcbiAgICAgICAgdGVzdDM6IDMsXG4gICAgICB9LCBbXSkpLnRvRXF1YWwoe1xuICAgICAgICB0ZXN0OiAxLFxuICAgICAgICB0ZXN0MjogMixcbiAgICAgICAgdGVzdDM6IDMsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbm90IHRocm93IG9uIGVtcHR5IGZpbHRlcmVkIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChmaWx0ZXJPYmplY3Qoe30sIFsndGVzdCddKSkudG9FcXVhbCh7fSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdleHRlbnNpb25Ub01pbWUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gbWltZXR5cGUgaWYgbWltZSBpcyBwYXNzZWQnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCcnKSkudG9FcXVhbCh1bmRlZmluZWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gc2FtZSBtaW1lIGlzIHBhc3NlZCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJ2ltYWdlL3BuZycpKS50b0VxdWFsKCdpbWFnZS9wbmcnKTtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJ2ltYWdlL2pwZycpKS50b0VxdWFsKCdpbWFnZS9qcGcnKTtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJ2FwcGxpY2F0aW9uL3BkZicpKS50b0VxdWFsKCdhcHBsaWNhdGlvbi9wZGYnKTtcbiAgICB9KTtcblxuICAgIGl0KCdpdCBzaG91bGQgcmV0dXJuIGNvcnJlY3QgbWltZXMgZm9yIGV4dCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJy5wbmcnKSkudG9FcXVhbCgnaW1hZ2UvcG5nJyk7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCcuanBnJykpLnRvRXF1YWwoJ2ltYWdlL2pwZWcnKTtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJy5wZGYnKSkudG9FcXVhbCgnYXBwbGljYXRpb24vcGRmJyk7XG5cbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJy5rZXknKSkudG9FcXVhbCgnYXBwbGljYXRpb24vdm5kLmFwcGxlLmtleW5vdGUnKTtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJy56aXAnKSkudG9FcXVhbCgnYXBwbGljYXRpb24vemlwJyk7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCcubnVtYmVycycpKS50b0VxdWFsKCdhcHBsaWNhdGlvbi92bmQuYXBwbGUubnVtYmVycycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2l0IHNob3VsZCBleHRyYWN0IGV4dGVuc2lvbnMgZm9ybSBmaWxlbmFtZSBvciBleHQgd2l0aCBkb3QnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCd0ZXN0LnBuZycpKS50b0VxdWFsKCdpbWFnZS9wbmcnKTtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJ3Rlc3QuanBnJykpLnRvRXF1YWwoJ2ltYWdlL2pwZWcnKTtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJ3Rlc3QucGRmJykpLnRvRXF1YWwoJ2FwcGxpY2F0aW9uL3BkZicpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnQ2xlYW51cENhbGxiYWNrcycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHNldCBjYWxsYmFja3MgYXMgdW5kZWZpbmVkIGFuZCByZXR1cm4gdW50b3VjaGVkIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHRlc3RPYmogPSB7XG4gICAgICAgIGZuOiAoKSA9PiAxLFxuICAgICAgICB0ZXN0OiB7XG4gICAgICAgICAgZm4yOiAoKSA9PiAyLFxuICAgICAgICB9LFxuICAgICAgICB0ZXN0TjogMTIzLFxuICAgICAgICB0ZXN0czogJ3N0cmluZycsXG4gICAgICAgIHRlc3RPYmo6IHtcbiAgICAgICAgICB0c3Q6IDEyMyxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGV4cGVjdChjbGVhblVwQ2FsbGJhY2tzKHRlc3RPYmopKS50b0VxdWFsKHtcbiAgICAgICAgdGVzdDoge30sXG4gICAgICAgIHRlc3ROOiAxMjMsXG4gICAgICAgIHRlc3RzOiAnc3RyaW5nJyxcbiAgICAgICAgdGVzdE9iajoge1xuICAgICAgICAgIHRzdDogMTIzLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXguc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILGlDQUE2SztBQUM3Syx1Q0FBc0M7QUFDdEMsSUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUMsT0FBTyxDQUFDO0FBRXRELFFBQVEsQ0FBQyxhQUFhLEVBQUU7SUFDdEIsUUFBUSxDQUFDLGVBQWUsRUFBRTtRQUV4QixJQUFNLE9BQU8sR0FBRztZQUNkLE1BQU0sRUFBRSxjQUFjO1lBQ3RCLEtBQUssRUFBRSxhQUFhO1lBQ3BCLElBQUksRUFBRSxlQUFNLENBQUMsSUFBSTtTQUNsQixDQUFDO1FBRUYsRUFBRSxDQUFDLG9EQUFvRCxFQUFFO1lBQ3ZELElBQU0sTUFBTSxHQUFHLHNCQUFzQixDQUFDO1lBQ3RDLElBQU0sTUFBTSxHQUFHLElBQUEscUJBQWEsRUFBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDOUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGlEQUFpRCxFQUFFO1lBQ3BELElBQU0sTUFBTSxHQUFHLHdCQUF3QixDQUFDO1lBQ3hDLElBQU0sTUFBTSxHQUFHLElBQUEscUJBQWEsRUFBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDOUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLG9EQUFvRCxFQUFFO1lBQ3ZELElBQU0sTUFBTSxHQUFHLHVIQUF1SCxDQUFDO1lBQ3ZJLElBQU0sTUFBTSxHQUFHLElBQUEscUJBQWEsRUFBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDOUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxD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Q0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMxRCxNQUFNLENBQUMsSUFBQSx1QkFBZSxFQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtRQUMzQixFQUFFLENBQUMsK0RBQStELEVBQUU7WUFDbEUsSUFBTSxPQUFPLEdBQUc7Z0JBQ2QsRUFBRSxFQUFFLGNBQU0sT0FBQSxDQUFDLEVBQUQsQ0FBQztnQkFDWCxJQUFJLEVBQUU7b0JBQ0osR0FBRyxFQUFFLGNBQU0sT0FBQSxDQUFDLEVBQUQsQ0FBQztpQkFDYjtnQkFDRCxLQUFLLEVBQUUsR0FBRztnQkFDVixLQUFLLEVBQUUsUUFBUTtnQkFDZixPQUFPLEVBQUU7b0JBQ1AsR0FBRyxFQUFFLEdBQUc7aUJBQ1Q7YUFDRixDQUFDO1lBRUYsTUFBTSxDQUFDLElBQUEsd0JBQWdCLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBQ3hDLElBQUksRUFBRSxFQUFFO2dCQUNSLEtBQUssRUFBRSxHQUFHO2dCQUNWLEtBQUssRUFBRSxRQUFRO2dCQUNmLE9BQU8sRUFBRTtvQkFDUCxHQUFHLEVBQUUsR0FBRztpQkFDVDthQUNGLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvdXRpbHMvaW5kZXguc3BlYy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyByZXNvbHZlQ2RuVXJsLCByZXNvbHZlSG9zdCwgcmVtb3ZlRW1wdHksIHVuaXF1ZVRpbWUsIHVuaXF1ZUlkLCBtZDUsIGV4dGVuc2lvblRvTWltZSwgc2FuaXRpemVOYW1lLCBmaWx0ZXJPYmplY3QsIGI2NCwgZ2V0VmVyc2lvbiwgY2xlYW5VcENhbGxiYWNrcyB9IGZyb20gJy4vaW5kZXgnO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcbmNvbnN0IHYgPSByZXF1aXJlKCcuLi8uLi8uLi8uLi9wYWNrYWdlLmpzb24nKS52ZXJzaW9uO1xuXG5kZXNjcmliZSgndXRpbHM6aW5kZXgnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdyZXNvbHZlQ2RuVXJsJywgKCkgPT4ge1xuXG4gICAgY29uc3Qgc2Vzc2lvbiA9IHtcbiAgICAgIGFwaWtleTogJ1RFU1RfQVBJX0tFWScsXG4gICAgICBjbmFtZTogJ2V4YW1wbGUuY29tJyxcbiAgICAgIHVybHM6IGNvbmZpZy51cmxzLFxuICAgIH07XG5cbiAgICBpdCgnc2hvdWxkIHByb3Blcmx5IHJlc29sdmUgY2RuIHVybCB3aXRoIGhhc2hlZCBoYW5kbGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGUgPSAnNWFZa0VRSlNRQ21ZU2hzb0NuWk4nO1xuICAgICAgY29uc3QgcmVzdWx0ID0gcmVzb2x2ZUNkblVybChzZXNzaW9uLCBoYW5kbGUpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCgnaHR0cHM6Ly9jZG4uZmlsZXN0YWNrY29udGVudC5jb20nKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcHJvcGVybHkgcmVzb2x2ZSBjZG4gdXJsIHdpdGggc3JjIGhhbmRsZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZSA9ICdzcmM6Ly90ZXN0MTIzL3Rlc3QuanBnJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHJlc29sdmVDZG5Vcmwoc2Vzc2lvbiwgaGFuZGxlKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoJ2h0dHBzOi8vY2RuLmZpbGVzdGFja2NvbnRlbnQuY29tL1RFU1RfQVBJX0tFWScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBwcm9wZXJseSByZXNvbHZlIGNkbiB1cmwgd2l0aCBoYXNoZWQgaGFuZGxlJywgKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlID0gJ2h0dHBzOi8vc3RhdGljMS5zcXVhcmVzcGFjZS5jb20vc3RhdGljLzU0NGViM2NjZTRiMGVmMDkxNzczNjExZi90LzU5YmE3Y2UxYmQxMGYwMGRjZGM4MGE1Zi8xNTA1Mzk0MDg3MzY3L0RTQ18wNTI3LmpwZyc7XG4gICAgICBjb25zdCByZXN1bHQgPSByZXNvbHZlQ2RuVXJsKHNlc3Npb24sIGhhbmRsZSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKCdodHRwczovL2Nkbi5maWxlc3RhY2tjb250ZW50LmNvbS9URVNUX0FQSV9LRVknKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3Igd2hlbiB1c2luZyBzcmMgaGFuZGxlIG9yIHVybCB3aXRob3V0IGFwaWtleScsICgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZSA9ICdzcmM6Ly90ZXN0MTIzL3Rlc3QuanBnJztcbiAgICAgIHNlc3Npb24uYXBpa2V5ID0gJyc7XG4gICAgICBleHBlY3QoKCkgPT4geyByZXNvbHZlQ2RuVXJsKHNlc3Npb24sIGhhbmRsZSk7IH0pLnRvVGhyb3coJ0FwaSBrZXkgaXMgcmVxdWlyZWQgd2hlbiBzdG9yYWdlIGFsaWFzIGlzIHByb3ZpZGVkJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdyZXNvbHZlSG9zdCcsICgpID0+IHtcbiAgICBjb25zdCBob3N0cyA9IGNvbmZpZy51cmxzO1xuXG4gICAgY29uc3QgY2hlY2tIb3N0cyA9IChob3N0cywgZXhwZWN0ZWQpID0+IHtcbiAgICAgIE9iamVjdC5rZXlzKGhvc3RzKS5mb3JFYWNoKChrKSA9PiB7XG4gICAgICAgIGV4cGVjdChob3N0c1trXS5pbmRleE9mKGV4cGVjdGVkKSA+IC0xKS50b0JlVHJ1dGh5KCk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gcHJvcGVyIGhvc3QnLCAoKSA9PiB7XG4gICAgICBjb25zdCBjbmFtZSA9ICdleGFtcGxlLmNvbSc7XG4gICAgICBjb25zdCByZXN1bHQgPSByZXNvbHZlSG9zdChob3N0cywgY25hbWUpO1xuICAgICAgY2hlY2tIb3N0cyhyZXN1bHQsIGNuYW1lKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGhvc3RzIHdoZW4gY25hbWUgaXMgYW4gZW1wdHkgc3RyaW5nJywgKCkgPT4ge1xuICAgICAgY29uc3QgY25hbWUgPSAnJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHJlc29sdmVIb3N0KGhvc3RzLCBjbmFtZSk7XG4gICAgICBjaGVja0hvc3RzKHJlc3VsdCwgY25hbWUpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncmVtb3ZlRW1wdHknLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZW1vdmUgZW1wdHkgb3B0aW9ucyBmcm9tIGFuIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHRlc3RPYiA9IHsgdGVzdDE6IHRydWUsIHRlc3QyOiB1bmRlZmluZWQsIHRlc3QzOiBmYWxzZSB9O1xuICAgICAgZXhwZWN0KHJlbW92ZUVtcHR5KHRlc3RPYikpLnRvRXF1YWwoeyB0ZXN0MTogdHJ1ZSwgdGVzdDM6IGZhbHNlIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgndW5pcXVlVGltZScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiB1bmlxdWUgdGltZXMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QodW5pcXVlVGltZSgpKS5ub3QudG9FcXVhbCh1bmlxdWVUaW1lKCkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgndW5pcXVlSWQnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBnZXQgZGlmZmVyZW50IGlkcyBlYWNoIHRpbWUnLCAoKSA9PiB7XG4gICAgICBleHBlY3QodW5pcXVlSWQoKSkubm90LnRvRXF1YWwodW5pcXVlSWQoKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBpZCB3aXRoIGdpdmVuIGxlbmd0aCcsICgpID0+IHtcbiAgICAgIGV4cGVjdCh1bmlxdWVJZCgxMikubGVuZ3RoKS50b0VxdWFsKDEyKTtcbiAgICAgIGV4cGVjdCh1bmlxdWVJZCg0KS5sZW5ndGgpLnRvRXF1YWwoNCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdtZDUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gY29ycmVjdCBtZDUgdmFsdWUnLCAoKSA9PiB7XG4gICAgICBleHBlY3QobWQ1KEJ1ZmZlci5mcm9tKCd0ZXN0JykpKS50b0VxdWFsKCdDWTlyelVZaDAzUEszazZESmllMDlnPT0nKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2dldFZlcnNpb24nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gY29ycmVjdCB2ZXJzaW9uIGZyb20gcGFja2FnZSBqc29uJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGdldFZlcnNpb24oKSkudG9FcXVhbChgSlMtJHt2fWApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYjY0JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIGNvcnJlY3QgYjY1IHZhbHVlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGI2NCgndGVzdHRleHQnKSkudG9FcXVhbCgnZEdWemRIUmxlSFE9Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGVzY2FwZSBjaGFycyB0byBtYWtlIGI2NCB1cmwgc2FmZSBzdHJpbmcgLSBjaGFyIFwiL1wiJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGI2NCgnKjBlaWpBVGgjXCJJJFBSKXM8dVRhfXt0PkVcIkxDOkwnLCB0cnVlKSkudG9FcXVhbCgnS2pCbGFXcEJWR2dqSWtra1VGSXBjengxVkdGOWUzUS1SU0pNUXpwTScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBlc2NhcGUgY2hhcnMgdG8gbWFrZSBiNjQgdXJsIHNhZmUgc3RyaW5nIC0gY2hhciBcIlwiJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGI2NCgnV3t3cEJAY2tZRDBPQCY/IXx8OVBTKTdeK0YqSDhOJywgdHJ1ZSkpLnRvRXF1YWwoJ1YzdDNjRUpBWTJ0WlJEQlBRQ1lfSVh4OE9WQlRLVGRlSzBZcVNEaE8nKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3Nhbml0aXplTmFtZScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHNhbml0aXplIGZpbGUgbmFtZSB3aXRoIGV4dGVuc2lvbicsICgpID0+IHtcbiAgICAgIGV4cGVjdChzYW5pdGl6ZU5hbWUoJ2FcXFxceyVgXCJ+W10jfF48PjEuanBnJykpLnRvRXF1YWwoJ2EtLS0tLS0tLS0tLS0tMS5qcGcnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc2FuaXRpemUgZmlsZSBuYW1lIHdpdGhvdXQgZXh0ZW5zaW9uJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHNhbml0aXplTmFtZSgnMTIzcXdlJykpLnRvRXF1YWwoJzEyM3F3ZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdW5kZWZpbmVkIG9uIGVtcHR5IHN0cmluZycsICgpID0+IHtcbiAgICAgIGV4cGVjdChzYW5pdGl6ZU5hbWUoJycpKS50b0VxdWFsKCd1bmRlZmluZWQnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVzcGVjdCBzYW5pdGl6ZSBvcHRpb25zIGFzIGJvb2xlYW4nLCAoKSA9PiB7XG4gICAgICBleHBlY3Qoc2FuaXRpemVOYW1lKCdbXSN8LmpwZycsIGZhbHNlKSkudG9FcXVhbCgnW10jfC5qcGcnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbm90IGNoYW5nZSBkb3RzIGluIGZpbGVuYW1lJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHNhbml0aXplTmFtZSgnW10jc29tZS50YXIuZ3onLCBmYWxzZSkpLnRvRXF1YWwoJ1tdI3NvbWUudGFyLmd6Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlc3BlY3Qgc2FuaXRpemUgb3B0aW9ucyB3aXRoIHByb3ZpZGVkIG9wdGlvbnMnLCAoKSA9PiB7XG4gICAgICBleHBlY3Qoc2FuaXRpemVOYW1lKCdbXSN8LmpwZycsIHtcbiAgICAgICAgZXhjbHVkZTogWydbJywgJ10nXSxcbiAgICAgICAgcmVwbGFjZW1lbnQ6ICdfJyxcbiAgICAgIH0pKS50b0VxdWFsKCdfXyN8LmpwZycpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZmlsdGVyT2JqZWN0JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgZmlsdGVyIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChmaWx0ZXJPYmplY3Qoe1xuICAgICAgICB0ZXN0OiAxLFxuICAgICAgICB0ZXN0MjogMixcbiAgICAgICAgdGVzdDM6IDMsXG4gICAgICB9LCBbJ3Rlc3QnLCAndGVzdDInXSkpLnRvRXF1YWwoe1xuICAgICAgICB0ZXN0OiAxLFxuICAgICAgICB0ZXN0MjogMixcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXN1bHQgdGhlIHNhbWUgb2JqZWN0IG9uIGVtcHR5IHJlcXVpcmVtZW50cycsICgpID0+IHtcbiAgICAgIGV4cGVjdChmaWx0ZXJPYmplY3Qoe1xuICAgICAgICB0ZXN0OiAxLFxuICAgICAgICB0ZXN0MjogMixcbiAgICAgICAgdGVzdDM6IDMsXG4gICAgICB9LCBbXSkpLnRvRXF1YWwoe1xuICAgICAgICB0ZXN0OiAxLFxuICAgICAgICB0ZXN0MjogMixcbiAgICAgICAgdGVzdDM6IDMsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbm90IHRocm93IG9uIGVtcHR5IGZpbHRlcmVkIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChmaWx0ZXJPYmplY3Qoe30sIFsndGVzdCddKSkudG9FcXVhbCh7fSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdleHRlbnNpb25Ub01pbWUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gbWltZXR5cGUgaWYgbWltZSBpcyBwYXNzZWQnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCcnKSkudG9FcXVhbCh1bmRlZmluZWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gc2FtZSBtaW1lIGlzIHBhc3NlZCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJ2ltYWdlL3BuZycpKS50b0VxdWFsKCdpbWFnZS9wbmcnKTtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJ2ltYWdlL2pwZycpKS50b0VxdWFsKCdpbWFnZS9qcGcnKTtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJ2FwcGxpY2F0aW9uL3BkZicpKS50b0VxdWFsKCdhcHBsaWNhdGlvbi9wZGYnKTtcbiAgICB9KTtcblxuICAgIGl0KCdpdCBzaG91bGQgcmV0dXJuIGNvcnJlY3QgbWltZXMgZm9yIGV4dCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJy5wbmcnKSkudG9FcXVhbCgnaW1hZ2UvcG5nJyk7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCcuanBnJykpLnRvRXF1YWwoJ2ltYWdlL2pwZWcnKTtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJy5wZGYnKSkudG9FcXVhbCgnYXBwbGljYXRpb24vcGRmJyk7XG5cbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJy5rZXknKSkudG9FcXVhbCgnYXBwbGljYXRpb24vdm5kLmFwcGxlLmtleW5vdGUnKTtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJy56aXAnKSkudG9FcXVhbCgnYXBwbGljYXRpb24vemlwJyk7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCcubnVtYmVycycpKS50b0VxdWFsKCdhcHBsaWNhdGlvbi92bmQuYXBwbGUubnVtYmVycycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2l0IHNob3VsZCBleHRyYWN0IGV4dGVuc2lvbnMgZm9ybSBmaWxlbmFtZSBvciBleHQgd2l0aCBkb3QnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCd0ZXN0LnBuZycpKS50b0VxdWFsKCdpbWFnZS9wbmcnKTtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJ3Rlc3QuanBnJykpLnRvRXF1YWwoJ2ltYWdlL2pwZWcnKTtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJ3Rlc3QucGRmJykpLnRvRXF1YWwoJ2FwcGxpY2F0aW9uL3BkZicpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnQ2xlYW51cENhbGxiYWNrcycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHNldCBjYWxsYmFja3MgYXMgdW5kZWZpbmVkIGFuZCByZXR1cm4gdW50b3VjaGVkIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHRlc3RPYmogPSB7XG4gICAgICAgIGZuOiAoKSA9PiAxLFxuICAgICAgICB0ZXN0OiB7XG4gICAgICAgICAgZm4yOiAoKSA9PiAyLFxuICAgICAgICB9LFxuICAgICAgICB0ZXN0TjogMTIzLFxuICAgICAgICB0ZXN0czogJ3N0cmluZycsXG4gICAgICAgIHRlc3RPYmo6IHtcbiAgICAgICAgICB0c3Q6IDEyMyxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGV4cGVjdChjbGVhblVwQ2FsbGJhY2tzKHRlc3RPYmopKS50b0VxdWFsKHtcbiAgICAgICAgdGVzdDoge30sXG4gICAgICAgIHRlc3ROOiAxMjMsXG4gICAgICAgIHRlc3RzOiAnc3RyaW5nJyxcbiAgICAgICAgdGVzdE9iajoge1xuICAgICAgICAgIHRzdDogMTIzLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=

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

it('should return false on facebook check', function () {
expect(index_node_1.isFacebook()).toEqual(false);
expect((0, index_node_1.isFacebook)()).toEqual(false);
});
it('should return false on mobile check', function () {
expect(index_node_1.isMobile()).toEqual(false);
expect((0, index_node_1.isMobile)()).toEqual(false);
});

@@ -32,2 +32,2 @@ });

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXguc3BlYy5ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsMkNBQW9EO0FBRXBELFFBQVEsQ0FBQyxhQUFhLEVBQUU7SUFDdEIsUUFBUSxDQUFDLGdCQUFnQixFQUFFO1FBQ3pCLEVBQUUsQ0FBQyx1Q0FBdUMsRUFBRTtZQUMxQyxNQUFNLENBQUMsdUJBQVUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHFDQUFxQyxFQUFFO1lBQ3hDLE1BQU0sQ0FBQyxxQkFBUSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi91dGlscy9pbmRleC5zcGVjLm5vZGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE5IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgaXNGYWNlYm9vaywgaXNNb2JpbGUgfSBmcm9tICcuL2luZGV4Lm5vZGUnO1xuXG5kZXNjcmliZSgndXRpbHM6aW5kZXgnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdCcm93c2VyIGNoZWNrcycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiBmYWxzZSBvbiBmYWNlYm9vayBjaGVjaycsICgpID0+IHtcbiAgICAgIGV4cGVjdChpc0ZhY2Vib29rKCkpLnRvRXF1YWwoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gZmFsc2Ugb24gbW9iaWxlIGNoZWNrJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGlzTW9iaWxlKCkpLnRvRXF1YWwoZmFsc2UpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXguc3BlYy5ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsMkNBQW9EO0FBRXBELFFBQVEsQ0FBQyxhQUFhLEVBQUU7SUFDdEIsUUFBUSxDQUFDLGdCQUFnQixFQUFFO1FBQ3pCLEVBQUUsQ0FBQyx1Q0FBdUMsRUFBRTtZQUMxQyxNQUFNLENBQUMsSUFBQSx1QkFBVSxHQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMscUNBQXFDLEVBQUU7WUFDeEMsTUFBTSxDQUFDLElBQUEscUJBQVEsR0FBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvdXRpbHMvaW5kZXguc3BlYy5ub2RlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGlzRmFjZWJvb2ssIGlzTW9iaWxlIH0gZnJvbSAnLi9pbmRleC5ub2RlJztcblxuZGVzY3JpYmUoJ3V0aWxzOmluZGV4JywgKCkgPT4ge1xuICBkZXNjcmliZSgnQnJvd3NlciBjaGVja3MnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gZmFsc2Ugb24gZmFjZWJvb2sgY2hlY2snLCAoKSA9PiB7XG4gICAgICBleHBlY3QoaXNGYWNlYm9vaygpKS50b0VxdWFsKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGZhbHNlIG9uIG1vYmlsZSBjaGVjaycsICgpID0+IHtcbiAgICAgIGV4cGVjdChpc01vYmlsZSgpKS50b0VxdWFsKGZhbHNlKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Store = void 0;
var tslib_1 = require("tslib");
/*

@@ -19,5 +21,5 @@ * Copyright (c) 2018 by Filestack.

*/
var debug_1 = require("debug");
var debug_1 = tslib_1.__importDefault(require("debug"));
var store_1 = require("./store");
var debug = debug_1.default('fs:storage');
var debug = (0, debug_1.default)('fs:storage');
var Store = /** @class */ (function () {

@@ -87,2 +89,2 @@ function Store() {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvc3RvcmUuYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILCtCQUEwQjtBQUMxQixpQ0FBcUM7QUFFckMsSUFBTSxLQUFLLEdBQUcsZUFBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBRWxDO0lBSUU7UUFGUSxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUcxQixJQUFJLE1BQU0sQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGtCQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0MsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDL0I7UUFFRCxJQUFJLE1BQU0sQ0FBQyxjQUFjLEtBQUssU0FBUyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGtCQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0MsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDakM7UUFFRCxLQUFLLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSx5QkFBUyxHQUFoQixVQUFpQixRQUFxQjtRQUNwQyxLQUFLLENBQUMsd0RBQXdELEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUUvRixJQUFJLFFBQVEsRUFBRTtZQUNaLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDbkQ7UUFFRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUN0QyxDQUFDO0lBRU0sdUJBQU8sR0FBZCxVQUFlLEdBQVcsRUFBRSxRQUFxQjtRQUMvQyxJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTSx1QkFBTyxHQUFkLFVBQWUsR0FBVyxFQUFFLEtBQWEsRUFBRSxRQUFxQjtRQUM5RCxJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sMEJBQVUsR0FBakIsVUFBa0IsR0FBVyxFQUFFLFFBQXFCO1FBQ2xELElBQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUzQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVPLHdCQUFRLEdBQWhCLFVBQWlCLFFBQXFCO1FBQ3BDLEtBQUssQ0FBQywrQkFBK0IsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVqRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM3QixLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztZQUM5QyxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELFFBQVEsUUFBUSxFQUFFO1lBQ2hCLEtBQUssa0JBQVUsQ0FBQyxLQUFLO2dCQUNuQixPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUM7WUFDN0IsS0FBSyxrQkFBVSxDQUFDLE9BQU87Z0JBQ3JCLE9BQU8sTUFBTSxDQUFDLGNBQWMsQ0FBQztZQUMvQjtnQkFDRSxhQUFhO2dCQUNiLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQVksQ0FBQztTQUNwRDtJQUNILENBQUM7SUFDSCxZQUFDO0FBQUQsQ0EvRUEsQUErRUMsSUFBQTtBQS9FWSxzQkFBSyIsImZpbGUiOiJsaWIvdXRpbHMvc3RvcmUuYnJvd3Nlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgRGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHsgU1RPUkVfVFlQRSB9IGZyb20gJy4vc3RvcmUnO1xuXG5jb25zdCBkZWJ1ZyA9IERlYnVnKCdmczpzdG9yYWdlJyk7XG5cbmV4cG9ydCBjbGFzcyBTdG9yZSB7XG5cbiAgcHJpdmF0ZSBhdmFpbGFibGVUeXBlcyA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICh3aW5kb3cubG9jYWxTdG9yYWdlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYXZhaWxhYmxlVHlwZXMucHVzaChTVE9SRV9UWVBFLkxPQ0FMKTtcbiAgICAgIGRlYnVnKCdMb2NhbCBzdG9yYWdlIGV4aXN0cycpO1xuICAgIH1cblxuICAgIGlmICh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5hdmFpbGFibGVUeXBlcy5wdXNoKFNUT1JFX1RZUEUuU0VTU0lPTik7XG4gICAgICBkZWJ1ZygnU2Vzc2lvbiBzdG9yYWdlIGV4aXN0cycpO1xuICAgIH1cblxuICAgIGRlYnVnKCdhdmFpbGFibGVUeXBlcyAtICVPJywgdGhpcy5hdmFpbGFibGVUeXBlcyk7XG4gIH1cblxuICBwdWJsaWMgaGFzQWNjZXNzKHByZWZUeXBlPzogU1RPUkVfVFlQRSk6IGJvb2xlYW4ge1xuICAgIGRlYnVnKCdDaGVja2luZyBhY2Nlc3MgdG8gc3RvcmFnZSBmb3IgJXMuIEF2YWlsYWJsZSB0eXBlczogJU8nLCBwcmVmVHlwZSwgdGhpcy5hdmFpbGFibGVUeXBlcyk7XG5cbiAgICBpZiAocHJlZlR5cGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmF2YWlsYWJsZVR5cGVzLmluZGV4T2YocHJlZlR5cGUpID4gLTE7XG4gICAgfVxuXG4gICAgcmV0dXJuICEhdGhpcy5hdmFpbGFibGVUeXBlcy5sZW5ndGg7XG4gIH1cblxuICBwdWJsaWMgZ2V0SXRlbShrZXk6IHN0cmluZywgcHJlZlR5cGU/OiBTVE9SRV9UWVBFKSB7XG4gICAgY29uc3Qgc3RvcmUgPSB0aGlzLmdldFN0b3JlKHByZWZUeXBlKTtcbiAgICBkZWJ1ZygnZ2V0SXRlbSAlcyBmcm9tICVPJywga2V5LCBzdG9yZSk7XG5cbiAgICBpZiAoIXN0b3JlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiBzdG9yZS5nZXRJdGVtKGtleSk7XG4gIH1cblxuICBwdWJsaWMgc2V0SXRlbShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZywgcHJlZlR5cGU/OiBTVE9SRV9UWVBFKSB7XG4gICAgY29uc3Qgc3RvcmUgPSB0aGlzLmdldFN0b3JlKHByZWZUeXBlKTtcbiAgICBkZWJ1Zygnc2V0SXRlbSAlcyB0byAlTycsIGtleSwgc3RvcmUpO1xuXG4gICAgaWYgKCFzdG9yZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RvcmUuc2V0SXRlbShrZXksIHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVJdGVtKGtleTogc3RyaW5nLCBwcmVmVHlwZT86IFNUT1JFX1RZUEUpIHtcbiAgICBjb25zdCBzdG9yZSA9IHRoaXMuZ2V0U3RvcmUocHJlZlR5cGUpO1xuICAgIGRlYnVnKCdyZW1vdmVJdGVtICVzIGZyb20gJU8nLCBrZXksIHN0b3JlKTtcblxuICAgIGlmICghc3RvcmUpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0b3JlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RvcmUocHJlZlR5cGU/OiBTVE9SRV9UWVBFKTogZmFsc2UgfCBTdG9yYWdlIHtcbiAgICBkZWJ1ZygnZ2V0IHN0b3JlIHdpdGggcHJlZiB0eXBlIC0gJXMnLCBwcmVmVHlwZSk7XG5cbiAgICBpZiAoIXRoaXMuaGFzQWNjZXNzKHByZWZUeXBlKSkge1xuICAgICAgZGVidWcoJ1VzZXIgZG9udCBoYXZlIGFjY2VzcyB0byBhbnkgc3RvcmFnZScpO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHByZWZUeXBlKSB7XG4gICAgICBjYXNlIFNUT1JFX1RZUEUuTE9DQUw6XG4gICAgICAgIHJldHVybiB3aW5kb3cubG9jYWxTdG9yYWdlO1xuICAgICAgY2FzZSBTVE9SRV9UWVBFLlNFU1NJT046XG4gICAgICAgIHJldHVybiB3aW5kb3cuc2Vzc2lvblN0b3JhZ2U7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHJldHVybiB3aW5kb3dbdGhpcy5hdmFpbGFibGVUeXBlc1swXV0gYXMgU3RvcmFnZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvc3RvcmUuYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsd0RBQTBCO0FBQzFCLGlDQUFxQztBQUVyQyxJQUFNLEtBQUssR0FBRyxJQUFBLGVBQUssRUFBQyxZQUFZLENBQUMsQ0FBQztBQUVsQztJQUlFO1FBRlEsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFHMUIsSUFBSSxNQUFNLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtZQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxrQkFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQy9CO1FBRUQsSUFBSSxNQUFNLENBQUMsY0FBYyxLQUFLLFNBQVMsRUFBRTtZQUN2QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxrQkFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1NBQ2pDO1FBRUQsS0FBSyxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0seUJBQVMsR0FBaEIsVUFBaUIsUUFBcUI7UUFDcEMsS0FBSyxDQUFDLHdEQUF3RCxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFL0YsSUFBSSxRQUFRLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ25EO1FBRUQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFDdEMsQ0FBQztJQUVNLHVCQUFPLEdBQWQsVUFBZSxHQUFXLEVBQUUsUUFBcUI7UUFDL0MsSUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0QyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU0sdUJBQU8sR0FBZCxVQUFlLEdBQVcsRUFBRSxLQUFhLEVBQUUsUUFBcUI7UUFDOUQsSUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0QyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLDBCQUFVLEdBQWpCLFVBQWtCLEdBQVcsRUFBRSxRQUFxQjtRQUNsRCxJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RDLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFM0MsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTyx3QkFBUSxHQUFoQixVQUFpQixRQUFxQjtRQUNwQyxLQUFLLENBQUMsK0JBQStCLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFakQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDN0IsS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7WUFDOUMsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxRQUFRLFFBQVEsRUFBRTtZQUNoQixLQUFLLGtCQUFVLENBQUMsS0FBSztnQkFDbkIsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDO1lBQzdCLEtBQUssa0JBQVUsQ0FBQyxPQUFPO2dCQUNyQixPQUFPLE1BQU0sQ0FBQyxjQUFjLENBQUM7WUFDL0I7Z0JBQ0UsYUFBYTtnQkFDYixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFZLENBQUM7U0FDcEQ7SUFDSCxDQUFDO0lBQ0gsWUFBQztBQUFELENBL0VBLEFBK0VDLElBQUE7QUEvRVksc0JBQUsiLCJmaWxlIjoibGliL3V0aWxzL3N0b3JlLmJyb3dzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IERlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IFNUT1JFX1RZUEUgfSBmcm9tICcuL3N0b3JlJztcblxuY29uc3QgZGVidWcgPSBEZWJ1ZygnZnM6c3RvcmFnZScpO1xuXG5leHBvcnQgY2xhc3MgU3RvcmUge1xuXG4gIHByaXZhdGUgYXZhaWxhYmxlVHlwZXMgPSBbXTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAod2luZG93LmxvY2FsU3RvcmFnZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmF2YWlsYWJsZVR5cGVzLnB1c2goU1RPUkVfVFlQRS5MT0NBTCk7XG4gICAgICBkZWJ1ZygnTG9jYWwgc3RvcmFnZSBleGlzdHMnKTtcbiAgICB9XG5cbiAgICBpZiAod2luZG93LnNlc3Npb25TdG9yYWdlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYXZhaWxhYmxlVHlwZXMucHVzaChTVE9SRV9UWVBFLlNFU1NJT04pO1xuICAgICAgZGVidWcoJ1Nlc3Npb24gc3RvcmFnZSBleGlzdHMnKTtcbiAgICB9XG5cbiAgICBkZWJ1ZygnYXZhaWxhYmxlVHlwZXMgLSAlTycsIHRoaXMuYXZhaWxhYmxlVHlwZXMpO1xuICB9XG5cbiAgcHVibGljIGhhc0FjY2VzcyhwcmVmVHlwZT86IFNUT1JFX1RZUEUpOiBib29sZWFuIHtcbiAgICBkZWJ1ZygnQ2hlY2tpbmcgYWNjZXNzIHRvIHN0b3JhZ2UgZm9yICVzLiBBdmFpbGFibGUgdHlwZXM6ICVPJywgcHJlZlR5cGUsIHRoaXMuYXZhaWxhYmxlVHlwZXMpO1xuXG4gICAgaWYgKHByZWZUeXBlKSB7XG4gICAgICByZXR1cm4gdGhpcy5hdmFpbGFibGVUeXBlcy5pbmRleE9mKHByZWZUeXBlKSA+IC0xO1xuICAgIH1cblxuICAgIHJldHVybiAhIXRoaXMuYXZhaWxhYmxlVHlwZXMubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIGdldEl0ZW0oa2V5OiBzdHJpbmcsIHByZWZUeXBlPzogU1RPUkVfVFlQRSkge1xuICAgIGNvbnN0IHN0b3JlID0gdGhpcy5nZXRTdG9yZShwcmVmVHlwZSk7XG4gICAgZGVidWcoJ2dldEl0ZW0gJXMgZnJvbSAlTycsIGtleSwgc3RvcmUpO1xuXG4gICAgaWYgKCFzdG9yZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RvcmUuZ2V0SXRlbShrZXkpO1xuICB9XG5cbiAgcHVibGljIHNldEl0ZW0oa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIHByZWZUeXBlPzogU1RPUkVfVFlQRSkge1xuICAgIGNvbnN0IHN0b3JlID0gdGhpcy5nZXRTdG9yZShwcmVmVHlwZSk7XG4gICAgZGVidWcoJ3NldEl0ZW0gJXMgdG8gJU8nLCBrZXksIHN0b3JlKTtcblxuICAgIGlmICghc3RvcmUpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0b3JlLnNldEl0ZW0oa2V5LCB2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlSXRlbShrZXk6IHN0cmluZywgcHJlZlR5cGU/OiBTVE9SRV9UWVBFKSB7XG4gICAgY29uc3Qgc3RvcmUgPSB0aGlzLmdldFN0b3JlKHByZWZUeXBlKTtcbiAgICBkZWJ1ZygncmVtb3ZlSXRlbSAlcyBmcm9tICVPJywga2V5LCBzdG9yZSk7XG5cbiAgICBpZiAoIXN0b3JlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiBzdG9yZS5yZW1vdmVJdGVtKGtleSk7XG4gIH1cblxuICBwcml2YXRlIGdldFN0b3JlKHByZWZUeXBlPzogU1RPUkVfVFlQRSk6IGZhbHNlIHwgU3RvcmFnZSB7XG4gICAgZGVidWcoJ2dldCBzdG9yZSB3aXRoIHByZWYgdHlwZSAtICVzJywgcHJlZlR5cGUpO1xuXG4gICAgaWYgKCF0aGlzLmhhc0FjY2VzcyhwcmVmVHlwZSkpIHtcbiAgICAgIGRlYnVnKCdVc2VyIGRvbnQgaGF2ZSBhY2Nlc3MgdG8gYW55IHN0b3JhZ2UnKTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgc3dpdGNoIChwcmVmVHlwZSkge1xuICAgICAgY2FzZSBTVE9SRV9UWVBFLkxPQ0FMOlxuICAgICAgICByZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZTtcbiAgICAgIGNhc2UgU1RPUkVfVFlQRS5TRVNTSU9OOlxuICAgICAgICByZXR1cm4gd2luZG93LnNlc3Npb25TdG9yYWdlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICByZXR1cm4gd2luZG93W3RoaXMuYXZhaWxhYmxlVHlwZXNbMF1dIGFzIFN0b3JhZ2U7XG4gICAgfVxuICB9XG59XG4iXX0=

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.STORE_TYPE = void 0;
var tslib_1 = require("tslib");

@@ -28,2 +29,2 @@ tslib_1.__exportStar(require("./store.node"), exports);

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7O0FBRUgsdURBQTZCO0FBRTdCLElBQVksVUFHWDtBQUhELFdBQVksVUFBVTtJQUNwQix3Q0FBMEIsQ0FBQTtJQUMxQixvQ0FBc0IsQ0FBQTtBQUN4QixDQUFDLEVBSFcsVUFBVSxHQUFWLGtCQUFVLEtBQVYsa0JBQVUsUUFHckIiLCJmaWxlIjoibGliL3V0aWxzL3N0b3JlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS5ub2RlJztcblxuZXhwb3J0IGVudW0gU1RPUkVfVFlQRSB7XG4gIFNFU1NJT04gPSAnc2Vzc2lvblN0b3JhZ2UnLFxuICBMT0NBTCA9ICdsb2NhbFN0b3JhZ2UnLFxufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7OztBQUVILHVEQUE2QjtBQUU3QixJQUFZLFVBR1g7QUFIRCxXQUFZLFVBQVU7SUFDcEIsd0NBQTBCLENBQUE7SUFDMUIsb0NBQXNCLENBQUE7QUFDeEIsQ0FBQyxFQUhXLFVBQVUsR0FBVixrQkFBVSxLQUFWLGtCQUFVLFFBR3JCIiwiZmlsZSI6ImxpYi91dGlscy9zdG9yZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUubm9kZSc7XG5cbmV4cG9ydCBlbnVtIFNUT1JFX1RZUEUge1xuICBTRVNTSU9OID0gJ3Nlc3Npb25TdG9yYWdlJyxcbiAgTE9DQUwgPSAnbG9jYWxTdG9yYWdlJyxcbn1cbiJdfQ==
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Store = void 0;
var Store = /** @class */ (function () {

@@ -26,2 +27,2 @@ function Store() {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvc3RvcmUubm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWtCQTtJQUFBO0lBb0JBLENBQUM7SUFuQlEsdUJBQU8sR0FBZCxVQUFlLEdBQVcsRUFBRSxTQUFzQjtRQUNoRCxPQUFPLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDekMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLHVCQUFPLEdBQWQsVUFBZSxHQUFXLEVBQUUsS0FBYSxFQUFFLFNBQXNCO1FBQy9ELE9BQU8sQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUN6QyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU0sMEJBQVUsR0FBakIsVUFBa0IsR0FBVyxFQUFFLFNBQXNCO1FBQ25ELE9BQU8sQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUN6QyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU0seUJBQVMsR0FBaEIsVUFBaUIsUUFBcUI7UUFDcEMsT0FBTyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDSCxZQUFDO0FBQUQsQ0FwQkEsQUFvQkMsSUFBQTtBQXBCWSxzQkFBSyIsImZpbGUiOiJsaWIvdXRpbHMvc3RvcmUubm9kZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBTVE9SRV9UWVBFIH0gZnJvbSAnLi9zdG9yZSc7XG5cbmV4cG9ydCBjbGFzcyBTdG9yZSB7XG4gIHB1YmxpYyBnZXRJdGVtKGtleTogc3RyaW5nLCBwcmVmU3RvcmU/OiBTVE9SRV9UWVBFKTogc3RyaW5nIHtcbiAgICBjb25zb2xlLndhcm4oJ1N0b3JhZ2UgaXMgbm90IHN1cHBvcnRlZCcpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0SXRlbShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZywgcHJlZlN0b3JlPzogU1RPUkVfVFlQRSkge1xuICAgIGNvbnNvbGUud2FybignU3RvcmFnZSBpcyBub3Qgc3VwcG9ydGVkJyk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVJdGVtKGtleTogc3RyaW5nLCBwcmVmU3RvcmU/OiBTVE9SRV9UWVBFKTogc3RyaW5nIHtcbiAgICBjb25zb2xlLndhcm4oJ1N0b3JhZ2UgaXMgbm90IHN1cHBvcnRlZCcpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgaGFzQWNjZXNzKHByZWZUeXBlPzogU1RPUkVfVFlQRSk6IGJvb2xlYW4ge1xuICAgIGNvbnNvbGUud2FybignU3RvcmFnZSBpcyBub3Qgc3VwcG9ydGVkJyk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvc3RvcmUubm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFrQkE7SUFBQTtJQW9CQSxDQUFDO0lBbkJRLHVCQUFPLEdBQWQsVUFBZSxHQUFXLEVBQUUsU0FBc0I7UUFDaEQsT0FBTyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTSx1QkFBTyxHQUFkLFVBQWUsR0FBVyxFQUFFLEtBQWEsRUFBRSxTQUFzQjtRQUMvRCxPQUFPLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDekMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLDBCQUFVLEdBQWpCLFVBQWtCLEdBQVcsRUFBRSxTQUFzQjtRQUNuRCxPQUFPLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDekMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLHlCQUFTLEdBQWhCLFVBQWlCLFFBQXFCO1FBQ3BDLE9BQU8sQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUN6QyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0gsWUFBQztBQUFELENBcEJBLEFBb0JDLElBQUE7QUFwQlksc0JBQUsiLCJmaWxlIjoibGliL3V0aWxzL3N0b3JlLm5vZGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE5IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgU1RPUkVfVFlQRSB9IGZyb20gJy4vc3RvcmUnO1xuXG5leHBvcnQgY2xhc3MgU3RvcmUge1xuICBwdWJsaWMgZ2V0SXRlbShrZXk6IHN0cmluZywgcHJlZlN0b3JlPzogU1RPUkVfVFlQRSk6IHN0cmluZyB7XG4gICAgY29uc29sZS53YXJuKCdTdG9yYWdlIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIHNldEl0ZW0oa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIHByZWZTdG9yZT86IFNUT1JFX1RZUEUpIHtcbiAgICBjb25zb2xlLndhcm4oJ1N0b3JhZ2UgaXMgbm90IHN1cHBvcnRlZCcpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlSXRlbShrZXk6IHN0cmluZywgcHJlZlN0b3JlPzogU1RPUkVfVFlQRSk6IHN0cmluZyB7XG4gICAgY29uc29sZS53YXJuKCdTdG9yYWdlIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGhhc0FjY2VzcyhwcmVmVHlwZT86IFNUT1JFX1RZUEUpOiBib29sZWFuIHtcbiAgICBjb25zb2xlLndhcm4oJ1N0b3JhZ2UgaXMgbm90IHN1cHBvcnRlZCcpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
export declare const DefinitionsSchema: {
'$schema': string;
$schema: string;
title: string;

@@ -4,0 +4,0 @@ description: string;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefinitionsSchema = void 0;
/*

@@ -67,2 +68,5 @@ * Copyright (c) 2018 by Filestack.

type: 'string',
// for now we decided to remove validation of regions (AWS + Rackspace)
// pattern: '^[a-zA-Z]{2}-[a-zA-z]{1,}-[1-9]$',
// errorMessage: 'AWS Region Param is in invalid format',
},

@@ -78,3 +82,3 @@ locationsDef: {

type: 'string',
pattern: '^([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$',
pattern: '^([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$', // without # at the begining
}, {

@@ -198,2 +202,2 @@ type: 'string',

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvZGVmaW5pdGlvbnMuc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ1UsUUFBQSxpQkFBaUIsR0FBRztJQUMvQixTQUFTLEVBQUUseUNBQXlDO0lBQ3BELEtBQUssRUFBRSxXQUFXO0lBQ2xCLFdBQVcsRUFBRSw4QkFBOEI7SUFDM0MsSUFBSSxFQUFFLFFBQVE7SUFDZCxvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLFdBQVcsRUFBRTtRQUNYLFlBQVksRUFBRTtZQUNaLEVBQUUsRUFBRSxlQUFlO1lBQ25CLElBQUksRUFBRSxPQUFPO1lBQ2IsZUFBZSxFQUFFLEtBQUs7WUFDdEIsUUFBUSxFQUFFLENBQUM7WUFDWCxRQUFRLEVBQUUsRUFBRTtZQUNaLEtBQUssRUFBRSxDQUFDO29CQUNOLEtBQUssRUFBRSxDQUFDOzRCQUNOLElBQUksRUFBRSxRQUFRO3lCQUNmLEVBQUU7NEJBQ0QsSUFBSSxFQUFFLFFBQVE7NEJBQ2Qsb0JBQW9CLEVBQUUsS0FBSzs0QkFDM0IsVUFBVSxFQUFFO2dDQUNWLEVBQUUsRUFBRTtvQ0FDRixJQUFJLEVBQUUsUUFBUTtpQ0FDZjs2QkFDRjt5QkFDRixDQUFDO2lCQUNILENBQUM7U0FDSDtRQUNELGVBQWUsRUFBRTtZQUNmLEVBQUUsRUFBRSxrQkFBa0I7WUFDdEIsS0FBSyxFQUFFLENBQUM7b0JBQ04sb0JBQW9CLEVBQUUsS0FBSztvQkFDM0IsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFDO2lCQUN6RyxFQUFFO29CQUNELElBQUksRUFBRSxPQUFPO29CQUNiLG9CQUFvQixFQUFFLEtBQUs7b0JBQzNCLEtBQUssRUFBRSxDQUFDOzRCQUNOLFFBQVEsRUFBRSxDQUFDOzRCQUNYLFFBQVEsRUFBRSxFQUFFOzRCQUNaLElBQUksRUFBRSxRQUFROzRCQUNkLG9CQUFvQixFQUFFLEtBQUs7NEJBQzNCLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQzt5QkFDekcsQ0FBQztpQkFDSCxDQUFDO1NBQ0g7UUFDRCxVQUFVLEVBQUU7WUFDVixFQUFFLEVBQUUsYUFBYTtZQUNqQixJQUFJLEVBQUUsUUFBUTtTQUlmO1FBQ0QsWUFBWSxFQUFFO1lBQ1osRUFBRSxFQUFFLGVBQWU7WUFDbkIsSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQztTQUMzRDtRQUNELFFBQVEsRUFBRTtZQUNSLEVBQUUsRUFBRSxVQUFVO1lBQ2QsS0FBSyxFQUFFLENBQUM7b0JBQ04sSUFBSSxFQUFFLFFBQVE7b0JBQ2QsT0FBTyxFQUFFLG1DQUFtQztpQkFDN0MsRUFBRTtvQkFDRCxJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUs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QUFFLFFBQVEsQ0FBQztZQUM3QixLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsSUFBSSxFQUFFO3dCQUNKLEtBQUs7d0JBQ0wsUUFBUTt3QkFDUixRQUFRO3dCQUNSLE1BQU07d0JBQ04sUUFBUTt3QkFDUixPQUFPO3dCQUNQLE9BQU87cUJBQ1I7aUJBQ0Y7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLE9BQU87b0JBQ2IsV0FBVyxFQUFFLElBQUk7b0JBQ2pCLGVBQWUsRUFBRSxLQUFLO29CQUN0QixRQUFRLEVBQUUsQ0FBQztvQkFDWCxRQUFRLEVBQUUsQ0FBQztvQkFDWCxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO29CQUM3QixLQUFLLEVBQUU7d0JBQ0w7NEJBQ0UsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsSUFBSSxFQUFFO2dDQUNKLEtBQUs7Z0NBQ0wsUUFBUTtnQ0FDUixRQUFROzZCQUNUO3lCQUNGLEVBQUU7NEJBQ0QsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsSUFBSSxFQUFFO2dDQUNKLE1BQU07Z0NBQ04sUUFBUTtnQ0FDUixPQUFPOzZCQUNSO3lCQUNGO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQyIsImZpbGUiOiJzY2hlbWEvZGVmaW5pdGlvbnMuc2NoZW1hLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZpbml0aW9uc1NjaGVtYSA9IHtcbiAgJyRzY2hlbWEnOiAnaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjJyxcbiAgdGl0bGU6ICdGaWxlc3RhY2snLFxuICBkZXNjcmlwdGlvbjogJ0ZpbGVzdGFjayBjb21tb24gZGVmaW5pdGlvbnMnLFxuICB0eXBlOiAnb2JqZWN0JyxcbiAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICBkZWZpbml0aW9uczoge1xuICAgIHdvcmtmbG93c0RlZjoge1xuICAgICAgaWQ6ICcvd29ya2Zsb3dzRGVmJyxcbiAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICBhZGRpdGlvbmFsSXRlbXM6IGZhbHNlLFxuICAgICAgbWluSXRlbXM6IDEsXG4gICAgICBtYXhJdGVtczogMjAsXG4gICAgICBpdGVtczogW3tcbiAgICAgICAgb25lT2Y6IFt7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIH0sIHtcbiAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgaWQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH1dLFxuICAgICAgfV0sXG4gICAgfSxcbiAgICBzZWN1cml0eUNhbGxEZWY6IHtcbiAgICAgIGlkOiAnL3NlY3VyaXR5Q2FsbERlZicsXG4gICAgICBvbmVPZjogW3tcbiAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZW51bTogWydwaWNrJywgJ3JlYWQnLCAnc3RhdCcsICd3cml0ZScsICd3cml0ZVVybCcsICdzdG9yZScsICdjb252ZXJ0JywgJ3JlbW92ZScsICdleGlmJywgJ3J1bldvcmtmbG93J10sXG4gICAgICB9LCB7XG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgaXRlbXM6IFt7XG4gICAgICAgICAgbWluSXRlbXM6IDEsXG4gICAgICAgICAgbWF4SXRlbXM6IDEwLFxuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICBlbnVtOiBbJ3BpY2snLCAncmVhZCcsICdzdGF0JywgJ3dyaXRlJywgJ3dyaXRlVXJsJywgJ3N0b3JlJywgJ2NvbnZlcnQnLCAncmVtb3ZlJywgJ2V4aWYnLCAncnVuV29ya2Zsb3cnXSxcbiAgICAgICAgfV0sXG4gICAgICB9XSxcbiAgICB9LFxuICAgIHJlZ2lvbnNEZWY6IHtcbiAgICAgIGlkOiAnL3JlZ2lvbnNEZWYnLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAvLyBmb3Igbm93IHdlIGRlY2lkZWQgdG8gcmVtb3ZlIHZhbGlkYXRpb24gb2YgcmVnaW9ucyAoQVdTICsgUmFja3NwYWNlKVxuICAgICAgLy8gcGF0dGVybjogJ15bYS16QS1aXXsyfS1bYS16QS16XXsxLH0tWzEtOV0kJyxcbiAgICAgIC8vIGVycm9yTWVzc2FnZTogJ0FXUyBSZWdpb24gUGFyYW0gaXMgaW4gaW52YWxpZCBmb3JtYXQnLFxuICAgIH0sXG4gICAgbG9jYXRpb25zRGVmOiB7XG4gICAgICBpZDogJy9sb2NhdGlvbnNEZWYnLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBlbnVtOiBbJ3MzJywgJ1MzJywgJ3JhY2tzcGFjZScsICdnY3MnLCAnYXp1cmUnLCAnZHJvcGJveCddLFxuICAgIH0sXG4gICAgY29sb3JEZWY6IHtcbiAgICAgIGlkOiAnY29sb3JEZWYnLFxuICAgICAgb25lT2Y6IFt7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBwYXR0ZXJuOiAnXihbQS1GYS1mMC05XXs2fXxbQS1GYS1mMC05XXszfSkkJywgLy8gd2l0aG91dCAjIGF0IHRoZSBiZWdpbmluZ1xuICAgICAgfSwge1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZW51bTogWydhbGljZWJsdWUnLCAnYW50aXF1ZXdoaXRlJywgJ2FxdWEnLCAnYXF1YW1hcmluZScsICdhenVyZScsICdiZWlnZScsICdiaXNxdWUnLCAnYmxhY2snLCAnYmxhbmNoZWRhbG1vbmQnLCAnYmx1ZScsICdibHVldmlvbGV0JywgJ2Jyb3duJywgJ2J1cmx5d29vZCcsICdjYWRldGJsdWUnLCAnY2hhcnRyZXVzZScsICdjaG9jb2xhdGUnLCAnY29yYWwnLCAnY29ybmZsb3dlcmJsdWUnLCAnY29ybnNpbGsnLCAnY3JpbXNvbicsICdjeWFuJywgJ2RhcmtibHVlJywgJ2RhcmtjeWFuJywgJ2Rhcmtnb2xkZW5yb2QnLCAnZGFya2dyYXknLCAnZGFya2dyZWVuJywgJ2RhcmtncmV5JywgJ2RhcmtraGFraScsICdkYXJrbWFnZW50YScsICdkYXJrb2xpdmVncmVlbicsICdkYXJrb3JhbmdlJywgJ2RhcmtvcmNoaWQnLCAnZGFya3JlZCcsICdkYXJrc2FsbW9uJywgJ2RhcmtzZWFncmVlbicsICdkYXJrc2xhdGVibHVlJywgJ2RhcmtzbGF0ZWdyYXknLCAnZGFya3NsYXRlZ3JleScsICdkYXJrdHVycXVvaXNlJywgJ2Rhcmt2aW9sZXQnLCAnZGVlcHBpbmsnLCAnZGVlcHNreWJsdWUnLCAnZGltZ3JheScsICdkaW1ncmV5JywgJ2RvZGdlcmJsdWUnLCAnZmlyZWJyaWNrJywgJ2Zsb3JhbHdoaXRlJywgJ2ZvcmVzdGdyZWVuJywgJ2ZyYWN0YWwnLCAnZnVjaHNpYScsICdnYWluc2Jvcm8nLCAnZ2hvc3R3aGl0ZScsICdnb2xkJywgJ2dvbGRlbnJvZCcsICdncmF5MCcsICdncmF5MScsICdncmF5MicsICdncmF5MycsICdncmF5NCcsICdncmF5NScsICdncmF5NicsICdncmF5NycsICdncmF5OCcsICdncmF5OScsICdncmF5MTAnLCAnZ3JheTExJywgJ2dyYXkxMicsICdncmF5MTMnLCAnZ3JheTE0JywgJ2dyYXkxNScsICdncmF5MTYnLCAnZ3JheTE3JywgJ2dyYXkxOCcsICdncmF5MTknLCAnZ3JheTIwJywgJ2dyYXkyMScsICdncmF5MjInLCAnZ3JheTIzJywgJ2dyYXkyNCcsICdncmF5MjUnLCAnZ3JheTI2JywgJ2dyYXkyNycsICdncmF5MjgnLCAnZ3JheTI5JywgJ2dyYXkzMCcsICdncmF5MzEnLCAnZ3JheTMyJywgJ2dyYXkzMycsICdncmF5MzQnLCAnZ3JheTM1JywgJ2dyYXkzNicsICdncmF5MzcnLCAnZ3JheTM4JywgJ2dyYXkzOScsICdncmF5NDAnLCAnZ3JheTQxJywgJ2dyYXk0MicsICdncmF5NDMnLCAnZ3JheTQ0JywgJ2dyYXk0NScsICdncmF5NDYnLCAnZ3JheTQ3JywgJ2dyYXk0OCcsICdncmF5NDknLCAnZ3JheTUwJywgJ2dyYXk1MScsICdncmF5NTInLCAnZ3JheTUzJywgJ2dyYXk1NCcsICdncmF5NTUnLCAnZ3JheTU2JywgJ2dyYXk1NycsICdncmF5NTgnLCAnZ3JheTU5JywgJ2dyYXk2MCcsICdncmF5NjEnLCAnZ3JheTYyJywgJ2dyYXk2MycsICdncmF5NjQnLCAnZ3JheTY1JywgJ2dyYXk2NicsICdncmF5NjcnLCAnZ3JheTY4JywgJ2dyYXk2OScsICdncmF5NzAnLCAnZ3JheTcxJywgJ2dyYXk3MicsICdncmF5NzMnLCAnZ3JheTc0JywgJ2dyYXk3NScsICdncmF5NzYnLCAnZ3JheTc3JywgJ2dyYXk3OCcsICdncmF5NzknLCAnZ3JheTgwJywgJ2dyYXk4MScsICdncmF5ODInLCAnZ3JheTgzJywgJ2dyYXk4NCcsICdncmF5ODUnLCAnZ3JheTg2JywgJ2dyYXk4NycsICdncmF5ODgnLCAnZ3JheTg5JywgJ2dyYXk5MCcsICdncmF5OTEnLCAnZ3JheTkyJywgJ2dyYXk5MycsICdncmF5OTQnLCAnZ3JheTk1JywgJ2dyYXk5NicsICdncmF5OTcnLCAnZ3JheTk4JywgJ2dyYXk5OScsICdncmF5MTAwJywgJ2dyYXknLCAnZ3JlZW4nLCAnZ3JlZW55ZWxsb3cnLCAnZ3JleScsICdob25leWRldycsICdob3RwaW5rJywgJ2luZGlhbnJlZCcsICdpbmRpZ28nLCAnaXZvcnknLCAna2hha2knLCAnbGF2ZW5kZXInLCAnbGF2ZW5kZXJibHVzaCcsICdsYXduZ3JlZW4nLCAnbGVtb25jaGlmZm9uJywgJ2xpZ2h0Ymx1ZScsICdsaWdodGNvcmFsJywgJ2xpZ2h0Y3lhbicsICdsaWdodGdvbGRlbnJvZHllbGxvdycsICdsaWdodGdyYXknLCAnbGlnaHRncmVlbicsICdsaWdodGdyZXknLCAnbGlnaHRwaW5rJywgJ2xpZ2h0c2FsbW9uJywgJ2xpZ2h0c2VhZ3JlZW4nLCAnbGlnaHRza3libHVlJywgJ2xpZ2h0c2xhdGVncmF5JywgJ2xpZ2h0c2xhdGVncmV5JywgJ2xpZ2h0c3RlZWxibHVlJywgJ2xpZ2h0eWVsbG93JywgJ2xpbWUnLCAnbGltZWdyZWVuJywgJ2xpbmVuJywgJ21hZ2VudGEnLCAnbWFyb29uJywgJ21lZGl1bWFxdWFtYXJpbmUnLCAnbWVkaXVtYmx1ZScsICdtZWRpdW1vcmNoaWQnLCAnbWVkaXVtcHVycGxlJywgJ21lZGl1bXNlYWdyZWVuJywgJ21lZGl1bXNsYXRlYmx1ZScsICdtZWRpdW1zcHJpbmdncmVlbicsICdtZWRpdW10dXJxdW9pc2UnLCAnbWVkaXVtdmlvbGV0cmVkJywgJ21pZG5pZ2h0Ymx1ZScsICdtaW50Y3JlYW0nLCAnbWlzdHlyb3NlJywgJ21vY2Nhc2luJywgJ25hdmFqb3doaXRlJywgJ25hdnknLCAnbm9uZScsICdvbGRsYWNlJywgJ29saXZlJywgJ29saXZlZHJhYicsICdvcmFuZ2UnLCAnb3JhbmdlcmVkJywgJ29yY2hpZCcsICdwYWxlZ29sZGVucm9kJywgJ3BhbGVncmVlbicsICdwYWxldHVycXVvaXNlJywgJ3BhbGV2aW9sZXRyZWQnLCAncGFwYXlhd2hpcCcsICdwZWFjaHB1ZmYnLCAncGVydScsICdwaW5rJywgJ3BsdW0nLCAncG93ZGVyYmx1ZScsICdwdXJwbGUnLCAncmVkJywgJ3Jvc3licm93bicsICdyb3lhbGJsdWUnLCAnc2FkZGxlYnJvd24nLCAnc2FsbW9uJywgJ3NhbmR5YnJvd24nLCAnc2VhZ3JlZW4nLCAnc2Vhc2hlbGwnLCAnc2llbm5hJywgJ3NpbHZlcicsICdza3libHVlJywgJ3NsYXRlYmx1ZScsICdzbGF0ZWdyYXknLCAnc2xhdGVncmV5JywgJ3Nub3cnLCAnc3ByaW5nZ3JlZW4nLCAnc3RlZWxibHVlJywgJ3RhbicsICd0ZWFsJywgJ3RoaXN0bGUnLCAndG9tYXRvJywgJ3R1cnF1b2lzZScsICd2aW9sZXQnLCAnd2hlYXQnLCAnd2hpdGUnLCAnd2hpdGVzbW9rZScsICd5ZWxsb3cnLCAneWVsbG93Z3JlZW4nLCAndHJhbnNwYXJlbnQnXSxcbiAgICAgIH1dLFxuICAgIH0sXG4gICAgcGFnZUZvcm1hdERlZjoge1xuICAgICAgaWQ6ICcvcGFnZUZvcm1hdERlZicsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIGVudW06IFsnYTInLCAnYTMnLCAnYTQnLCAnYTUnLCAnYjQnLCAnYjUnLCAnbGV0dGVyJywgJ2xlZ2FsJywgJ3RhYmxvaWQnXSxcbiAgICB9LFxuICAgIHBhZ2VSYW5nZURlZjoge1xuICAgICAgaWQ6ICcvcGFnZVJhbmdlRGVmJyxcbiAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICB1bmlxdWVJdGVtczogdHJ1ZSxcbiAgICAgIGl0ZW1zOiBbe1xuICAgICAgICBvbmVPZjogW3tcbiAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgICAgbWluaW11bTogMSxcbiAgICAgICAgfSwge1xuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIHBhdHRlcm46ICdeKFxcXFxkKyg/Oi1cXFxcZCspPykkfF4oLVxcXFxkKykkfF4oXFxcXGQrLSkkJyxcbiAgICAgICAgICBlcnJvck1lc3NhZ2U6ICdQYXJhbSBzaG91bGQgYmUgcHJvdmlkZWQgaW4gb25lIG9mIHRoZSBmb2xsb3dpbmcgZm9ybWF0czogXCIxLDIsMyw1XCIsIFwiMS0zXCIsIFwiMS1cIiwgXCItMlwiICcsXG4gICAgICAgIH1dLFxuICAgICAgfV0sXG4gICAgfSxcbiAgICBmYWNlc0RlZjoge1xuICAgICAgaWQ6ICcvZmFjZXNEZWYnLFxuICAgICAgb25lT2Y6IFt7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBlbnVtOiBbJ2FsbCddLFxuICAgICAgfSwge1xuICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgIG1pbmltdW06IDEsXG4gICAgICAgIG1heGltdW06IDEwMDAsXG4gICAgICB9LCB7XG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIHVuaXF1ZUl0ZW1zOiB0cnVlLFxuICAgICAgICBpdGVtczogW3tcbiAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgICAgbWluaW11bTogMSxcbiAgICAgICAgICBtYXhpbXVtOiAxMDAwLFxuICAgICAgICB9XSxcbiAgICAgIH1dLFxuICAgIH0sXG4gICAgb2JqZWN0c0RlZjoge1xuICAgICAgaWQ6ICcvb2JqZWN0c0RlZicsXG4gICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgbWluSXRlbXM6IDEsXG4gICAgICBtYXhJdGVtczogNTAsXG4gICAgICBpdGVtczogW3tcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgYWRkaXRpb25hbEl0ZW1zOiBmYWxzZSxcbiAgICAgICAgbWluSXRlbXM6IDQsXG4gICAgICAgIGl0ZW1zOiBbe1xuICAgICAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgICAgICBtaW5pbXVtOiAwLFxuICAgICAgICAgIG1heGltdW06IDEwMDAwLFxuICAgICAgICB9LCB7XG4gICAgICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgICAgIG1pbmltdW06IDAsXG4gICAgICAgICAgbWF4aW11bTogMTAwMDAsXG4gICAgICAgIH0sIHtcbiAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgICAgbWluaW11bTogMSxcbiAgICAgICAgICBtYXhpbXVtOiAxMDAwMCxcbiAgICAgICAgfSwge1xuICAgICAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgICAgICBtaW5pbXVtOiAxLFxuICAgICAgICAgIG1heGltdW06IDEwMDAwLFxuICAgICAgICB9XSxcbiAgICAgIH1dLFxuICAgIH0sXG4gICAgcG9zaXRpb25EZWY6IHtcbiAgICAgIGlkOiAnL3Bvc2l0aW9uRGVmJyxcbiAgICAgIGRlZmF1bHQ6IFsnbWlkZGxlJywgJ2NlbnRlciddLFxuICAgICAgb25lT2Y6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGVudW06IFtcbiAgICAgICAgICAgICd0b3AnLFxuICAgICAgICAgICAgJ21pZGRsZScsXG4gICAgICAgICAgICAnYm90dG9tJyxcbiAgICAgICAgICAgICdsZWZ0JyxcbiAgICAgICAgICAgICdjZW50ZXInLFxuICAgICAgICAgICAgJ3JpZ2h0JyxcbiAgICAgICAgICAgICdmYWNlcycsXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgdW5pcXVlSXRlbXM6IHRydWUsXG4gICAgICAgICAgYWRkaXRpb25hbEl0ZW1zOiBmYWxzZSxcbiAgICAgICAgICBtaW5JdGVtczogMixcbiAgICAgICAgICBtYXhJdGVtczogMixcbiAgICAgICAgICBkZWZhdWx0OiBbJ21pZGRsZScsICdjZW50ZXInXSxcbiAgICAgICAgICBpdGVtczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZW51bTogW1xuICAgICAgICAgICAgICAgICd0b3AnLFxuICAgICAgICAgICAgICAgICdtaWRkbGUnLFxuICAgICAgICAgICAgICAgICdib3R0b20nLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZW51bTogW1xuICAgICAgICAgICAgICAgICdsZWZ0JyxcbiAgICAgICAgICAgICAgICAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAncmlnaHQnLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICB9LFxufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvZGVmaW5pdGlvbnMuc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNVLFFBQUEsaUJBQWlCLEdBQUc7SUFDL0IsU0FBUyxFQUFFLHlDQUF5QztJQUNwRCxLQUFLLEVBQUUsV0FBVztJQUNsQixXQUFXLEVBQUUsOEJBQThCO0lBQzNDLElBQUksRUFBRSxRQUFRO0lBQ2Qsb0JBQW9CLEVBQUUsS0FBSztJQUMzQixXQUFXLEVBQUU7UUFDWCxZQUFZLEVBQUU7WUFDWixFQUFFLEVBQUUsZUFBZTtZQUNuQixJQUFJLEVBQUUsT0FBTztZQUNiLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLFFBQVEsRUFBRSxDQUFDO1lBQ1gsUUFBUSxFQUFFLEVBQUU7WUFDWixLQUFLLEVBQUUsQ0FBQztvQkFDTixLQUFLLEVBQUUsQ0FBQzs0QkFDTixJQUFJLEVBQUUsUUFBUTt5QkFDZixFQUFFOzRCQUNELElBQUksRUFBRSxRQUFROzRCQUNkLG9CQUFvQixFQUFFLEtBQUs7NEJBQzNCLFVBQVUsRUFBRTtnQ0FDVixFQUFFLEVBQUU7b0NBQ0YsSUFBSSxFQUFFLFFBQVE7aUNBQ2Y7NkJBQ0Y7eUJBQ0YsQ0FBQztpQkFDSCxDQUFDO1NBQ0g7UUFDRCxlQUFlLEVBQUU7WUFDZixFQUFFLEVBQUUsa0JBQWtCO1lBQ3RCLEtBQUssRUFBRSxDQUFDO29CQUNOLG9CQUFvQixFQUFFLEtBQUs7b0JBQzNCLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQztpQkFDekcsRUFBRTtvQkFDRCxJQUFJLEVBQUUsT0FBTztvQkFDYixvQkFBb0IsRUFBRSxLQUFLO29CQUMzQixLQUFLLEVBQUUsQ0FBQzs0QkFDTixRQUFRLEVBQUUsQ0FBQzs0QkFDWCxRQUFRLEVBQUUsRUFBRTs0QkFDWixJQUFJLEVBQUUsUUFBUTs0QkFDZCxvQkFBb0IsRUFBRSxLQUFLOzRCQUMzQixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUM7eUJBQ3pHLENBQUM7aUJBQ0gsQ0FBQztTQUNIO1FBQ0QsVUFBVSxFQUFFO1lBQ1YsRUFBRSxFQUFFLGFBQWE7WUFDakIsSUFBSSxFQUFFLFFBQVE7WUFDZCx1RUFBdUU7WUFDdkUsK0NBQStDO1lBQy9DLHlEQUF5RDtTQUMxRDtRQUNELFlBQVksRUFBRTtZQUNaLEVBQUUsRUFBRSxlQUFlO1lBQ25CLElBQUksRUFBRSxRQUFRO1lBQ2QsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUM7U0FDM0Q7UUFDRCxRQUFRLEVBQUU7WUFDUixFQUFFLEVBQUUsVUFBVTtZQUNkLEtBQUssRUFBRSxDQUFDO29CQUNOLElBQUksRUFBRSxRQUFRO29CQUNkLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSw0QkFBNEI7aUJBQzNFLEVBQUU7b0JBQ0QsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFB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RUFBRTtZQUNYLEVBQUUsRUFBRSxjQUFjO1lBQ2xCLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUM7WUFDN0IsS0FBSyxFQUFFO2dCQUNMO29CQUNFLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRTt3QkFDSixLQUFLO3dCQUNMLFFBQVE7d0JBQ1IsUUFBUTt3QkFDUixNQUFNO3dCQUNOLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxPQUFPO3FCQUNSO2lCQUNGO2dCQUNEO29CQUNFLElBQUksRUFBRSxPQUFPO29CQUNiLFdBQVcsRUFBRSxJQUFJO29CQUNqQixlQUFlLEVBQUUsS0FBSztvQkFDdEIsUUFBUSxFQUFFLENBQUM7b0JBQ1gsUUFBUSxFQUFFLENBQUM7b0JBQ1gsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQztvQkFDN0IsS0FBSyxFQUFFO3dCQUNMOzRCQUNFLElBQUksRUFBRSxRQUFROzRCQUNkLElBQUksRUFBRTtnQ0FDSixLQUFLO2dDQUNMLFFBQVE7Z0NBQ1IsUUFBUTs2QkFDVDt5QkFDRixFQUFFOzRCQUNELElBQUksRUFBRSxRQUFROzRCQUNkLElBQUksRUFBRTtnQ0FDSixNQUFNO2dDQUNOLFFBQVE7Z0NBQ1IsT0FBTzs2QkFDUjt5QkFDRjtxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJmaWxlIjoic2NoZW1hL2RlZmluaXRpb25zLnNjaGVtYS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5leHBvcnQgY29uc3QgRGVmaW5pdGlvbnNTY2hlbWEgPSB7XG4gICckc2NoZW1hJzogJ2h0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIycsXG4gIHRpdGxlOiAnRmlsZXN0YWNrJyxcbiAgZGVzY3JpcHRpb246ICdGaWxlc3RhY2sgY29tbW9uIGRlZmluaXRpb25zJyxcbiAgdHlwZTogJ29iamVjdCcsXG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgZGVmaW5pdGlvbnM6IHtcbiAgICB3b3JrZmxvd3NEZWY6IHtcbiAgICAgIGlkOiAnL3dvcmtmbG93c0RlZicsXG4gICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgYWRkaXRpb25hbEl0ZW1zOiBmYWxzZSxcbiAgICAgIG1pbkl0ZW1zOiAxLFxuICAgICAgbWF4SXRlbXM6IDIwLFxuICAgICAgaXRlbXM6IFt7XG4gICAgICAgIG9uZU9mOiBbe1xuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICB9LCB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIGlkOiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9XSxcbiAgICAgIH1dLFxuICAgIH0sXG4gICAgc2VjdXJpdHlDYWxsRGVmOiB7XG4gICAgICBpZDogJy9zZWN1cml0eUNhbGxEZWYnLFxuICAgICAgb25lT2Y6IFt7XG4gICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGVudW06IFsncGljaycsICdyZWFkJywgJ3N0YXQnLCAnd3JpdGUnLCAnd3JpdGVVcmwnLCAnc3RvcmUnLCAnY29udmVydCcsICdyZW1vdmUnLCAnZXhpZicsICdydW5Xb3JrZmxvdyddLFxuICAgICAgfSwge1xuICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgIGl0ZW1zOiBbe1xuICAgICAgICAgIG1pbkl0ZW1zOiAxLFxuICAgICAgICAgIG1heEl0ZW1zOiAxMCxcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgZW51bTogWydwaWNrJywgJ3JlYWQnLCAnc3RhdCcsICd3cml0ZScsICd3cml0ZVVybCcsICdzdG9yZScsICdjb252ZXJ0JywgJ3JlbW92ZScsICdleGlmJywgJ3J1bldvcmtmbG93J10sXG4gICAgICAgIH1dLFxuICAgICAgfV0sXG4gICAgfSxcbiAgICByZWdpb25zRGVmOiB7XG4gICAgICBpZDogJy9yZWdpb25zRGVmJyxcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgLy8gZm9yIG5vdyB3ZSBkZWNpZGVkIHRvIHJlbW92ZSB2YWxpZGF0aW9uIG9mIHJlZ2lvbnMgKEFXUyArIFJhY2tzcGFjZSlcbiAgICAgIC8vIHBhdHRlcm46ICdeW2EtekEtWl17Mn0tW2EtekEtel17MSx9LVsxLTldJCcsXG4gICAgICAvLyBlcnJvck1lc3NhZ2U6ICdBV1MgUmVnaW9uIFBhcmFtIGlzIGluIGludmFsaWQgZm9ybWF0JyxcbiAgICB9LFxuICAgIGxvY2F0aW9uc0RlZjoge1xuICAgICAgaWQ6ICcvbG9jYXRpb25zRGVmJyxcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgZW51bTogWydzMycsICdTMycsICdyYWNrc3BhY2UnLCAnZ2NzJywgJ2F6dXJlJywgJ2Ryb3Bib3gnXSxcbiAgICB9LFxuICAgIGNvbG9yRGVmOiB7XG4gICAgICBpZDogJ2NvbG9yRGVmJyxcbiAgICAgIG9uZU9mOiBbe1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgcGF0dGVybjogJ14oW0EtRmEtZjAtOV17Nn18W0EtRmEtZjAtOV17M30pJCcsIC8vIHdpdGhvdXQgIyBhdCB0aGUgYmVnaW5pbmdcbiAgICAgIH0sIHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGVudW06IFsnYWxpY2VibHVlJywgJ2FudGlxdWV3aGl0ZScsICdhcXVhJywgJ2FxdWFtYXJpbmUnLCAnYXp1cmUnLCAnYmVpZ2UnLCAnYmlzcXVlJywgJ2JsYWNrJywgJ2JsYW5jaGVkYWxtb25kJywgJ2JsdWUnLCAnYmx1ZXZpb2xldCcsICdicm93bicsICdidXJseXdvb2QnLCAnY2FkZXRibHVlJywgJ2NoYXJ0cmV1c2UnLCAnY2hvY29sYXRlJywgJ2NvcmFsJywgJ2Nvcm5mbG93ZXJibHVlJywgJ2Nvcm5zaWxrJywgJ2NyaW1zb24nLCAnY3lhbicsICdkYXJrYmx1ZScsICdkYXJrY3lhbicsICdkYXJrZ29sZGVucm9kJywgJ2RhcmtncmF5JywgJ2RhcmtncmVlbicsICdkYXJrZ3JleScsICdkYXJra2hha2knLCAnZGFya21hZ2VudGEnLCAnZGFya29saXZlZ3JlZW4nLCAnZGFya29yYW5nZScsICdkYXJrb3JjaGlkJywgJ2RhcmtyZWQnLCAnZGFya3NhbG1vbicsICdkYXJrc2VhZ3JlZW4nLCAnZGFya3NsYXRlYmx1ZScsICdkYXJrc2xhdGVncmF5JywgJ2RhcmtzbGF0ZWdyZXknLCAnZGFya3R1cnF1b2lzZScsICdkYXJrdmlvbGV0JywgJ2RlZXBwaW5rJywgJ2RlZXBza3libHVlJywgJ2RpbWdyYXknLCAnZGltZ3JleScsICdkb2RnZXJibHVlJywgJ2ZpcmVicmljaycsICdmbG9yYWx3aGl0ZScsICdmb3Jlc3RncmVlbicsICdmcmFjdGFsJywgJ2Z1Y2hzaWEnLCAnZ2FpbnNib3JvJywgJ2dob3N0d2hpdGUnLCAnZ29sZCcsICdnb2xkZW5yb2QnLCAnZ3JheTAnLCAnZ3JheTEnLCAnZ3JheTInLCAnZ3JheTMnLCAnZ3JheTQnLCAnZ3JheTUnLCAnZ3JheTYnLCAnZ3JheTcnLCAnZ3JheTgnLCAnZ3JheTknLCAnZ3JheTEwJywgJ2dyYXkxMScsICdncmF5MTInLCAnZ3JheTEzJywgJ2dyYXkxNCcsICdncmF5MTUnLCAnZ3JheTE2JywgJ2dyYXkxNycsICdncmF5MTgnLCAnZ3JheTE5JywgJ2dyYXkyMCcsICdncmF5MjEnLCAnZ3JheTIyJywgJ2dyYXkyMycsICdncmF5MjQnLCAnZ3JheTI1JywgJ2dyYXkyNicsICdncmF5MjcnLCAnZ3JheTI4JywgJ2dyYXkyOScsICdncmF5MzAnLCAnZ3JheTMxJywgJ2dyYXkzMicsICdncmF5MzMnLCAnZ3JheTM0JywgJ2dyYXkzNScsICdncmF5MzYnLCAnZ3JheTM3JywgJ2dyYXkzOCcsICdncmF5MzknLCAnZ3JheTQwJywgJ2dyYXk0MScsICdncmF5NDInLCAnZ3JheTQzJywgJ2dyYXk0NCcsICdncmF5NDUnLCAnZ3JheTQ2JywgJ2dyYXk0NycsICdncmF5NDgnLCAnZ3JheTQ5JywgJ2dyYXk1MCcsICdncmF5NTEnLCAnZ3JheTUyJywgJ2dyYXk1MycsICdncmF5NTQnLCAnZ3JheTU1JywgJ2dyYXk1NicsICdncmF5NTcnLCAnZ3JheTU4JywgJ2dyYXk1OScsICdncmF5NjAnLCAnZ3JheTYxJywgJ2dyYXk2MicsICdncmF5NjMnLCAnZ3JheTY0JywgJ2dyYXk2NScsICdncmF5NjYnLCAnZ3JheTY3JywgJ2dyYXk2OCcsICdncmF5NjknLCAnZ3JheTcwJywgJ2dyYXk3MScsICdncmF5NzInLCAnZ3JheTczJywgJ2dyYXk3NCcsICdncmF5NzUnLCAnZ3JheTc2JywgJ2dyYXk3NycsICdncmF5NzgnLCAnZ3JheTc5JywgJ2dyYXk4MCcsICdncmF5ODEnLCAnZ3JheTgyJywgJ2dyYXk4MycsICdncmF5ODQnLCAnZ3JheTg1JywgJ2dyYXk4NicsICdncmF5ODcnLCAnZ3JheTg4JywgJ2dyYXk4OScsICdncmF5OTAnLCAnZ3JheTkxJywgJ2dyYXk5MicsICdncmF5OTMnLCAnZ3JheTk0JywgJ2dyYXk5NScsICdncmF5OTYnLCAnZ3JheTk3JywgJ2dyYXk5OCcsICdncmF5OTknLCAnZ3JheTEwMCcsICdncmF5JywgJ2dyZWVuJywgJ2dyZWVueWVsbG93JywgJ2dyZXknLCAnaG9uZXlkZXcnLCAnaG90cGluaycsICdpbmRpYW5yZWQnLCAnaW5kaWdvJywgJ2l2b3J5JywgJ2toYWtpJywgJ2xhdmVuZGVyJywgJ2xhdmVuZGVyYmx1c2gnLCAnbGF3bmdyZWVuJywgJ2xlbW9uY2hpZmZvbicsICdsaWdodGJsdWUnLCAnbGlnaHRjb3JhbCcsICdsaWdodGN5YW4nLCAnbGlnaHRnb2xkZW5yb2R5ZWxsb3cnLCAnbGlnaHRncmF5JywgJ2xpZ2h0Z3JlZW4nLCAnbGlnaHRncmV5JywgJ2xpZ2h0cGluaycsICdsaWdodHNhbG1vbicsICdsaWdodHNlYWdyZWVuJywgJ2xpZ2h0c2t5Ymx1ZScsICdsaWdodHNsYXRlZ3JheScsICdsaWdodHNsYXRlZ3JleScsICdsaWdodHN0ZWVsYmx1ZScsICdsaWdodHllbGxvdycsICdsaW1lJywgJ2xpbWVncmVlbicsICdsaW5lbicsICdtYWdlbnRhJywgJ21hcm9vbicsICdtZWRpdW1hcXVhbWFyaW5lJywgJ21lZGl1bWJsdWUnLCAnbWVkaXVtb3JjaGlkJywgJ21lZGl1bXB1cnBsZScsICdtZWRpdW1zZWFncmVlbicsICdtZWRpdW1zbGF0ZWJsdWUnLCAnbWVkaXVtc3ByaW5nZ3JlZW4nLCAnbWVkaXVtdHVycXVvaXNlJywgJ21lZGl1bXZpb2xldHJlZCcsICdtaWRuaWdodGJsdWUnLCAnbWludGNyZWFtJywgJ21pc3R5cm9zZScsICdtb2NjYXNpbicsICduYXZham93aGl0ZScsICduYXZ5JywgJ25vbmUnLCAnb2xkbGFjZScsICdvbGl2ZScsICdvbGl2ZWRyYWInLCAnb3JhbmdlJywgJ29yYW5nZXJlZCcsICdvcmNoaWQnLCAncGFsZWdvbGRlbnJvZCcsICdwYWxlZ3JlZW4nLCAncGFsZXR1cnF1b2lzZScsICdwYWxldmlvbGV0cmVkJywgJ3BhcGF5YXdoaXAnLCAncGVhY2hwdWZmJywgJ3BlcnUnLCAncGluaycsICdwbHVtJywgJ3Bvd2RlcmJsdWUnLCAncHVycGxlJywgJ3JlZCcsICdyb3N5YnJvd24nLCAncm95YWxibHVlJywgJ3NhZGRsZWJyb3duJywgJ3NhbG1vbicsICdzYW5keWJyb3duJywgJ3NlYWdyZWVuJywgJ3NlYXNoZWxsJywgJ3NpZW5uYScsICdzaWx2ZXInLCAnc2t5Ymx1ZScsICdzbGF0ZWJsdWUnLCAnc2xhdGVncmF5JywgJ3NsYXRlZ3JleScsICdzbm93JywgJ3NwcmluZ2dyZWVuJywgJ3N0ZWVsYmx1ZScsICd0YW4nLCAndGVhbCcsICd0aGlzdGxlJywgJ3RvbWF0bycsICd0dXJxdW9pc2UnLCAndmlvbGV0JywgJ3doZWF0JywgJ3doaXRlJywgJ3doaXRlc21va2UnLCAneWVsbG93JywgJ3llbGxvd2dyZWVuJywgJ3RyYW5zcGFyZW50J10sXG4gICAgICB9XSxcbiAgICB9LFxuICAgIHBhZ2VGb3JtYXREZWY6IHtcbiAgICAgIGlkOiAnL3BhZ2VGb3JtYXREZWYnLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBlbnVtOiBbJ2EyJywgJ2EzJywgJ2E0JywgJ2E1JywgJ2I0JywgJ2I1JywgJ2xldHRlcicsICdsZWdhbCcsICd0YWJsb2lkJ10sXG4gICAgfSxcbiAgICBwYWdlUmFuZ2VEZWY6IHtcbiAgICAgIGlkOiAnL3BhZ2VSYW5nZURlZicsXG4gICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgdW5pcXVlSXRlbXM6IHRydWUsXG4gICAgICBpdGVtczogW3tcbiAgICAgICAgb25lT2Y6IFt7XG4gICAgICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgICAgIG1pbmltdW06IDEsXG4gICAgICAgIH0sIHtcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBwYXR0ZXJuOiAnXihcXFxcZCsoPzotXFxcXGQrKT8pJHxeKC1cXFxcZCspJHxeKFxcXFxkKy0pJCcsXG4gICAgICAgICAgZXJyb3JNZXNzYWdlOiAnUGFyYW0gc2hvdWxkIGJlIHByb3ZpZGVkIGluIG9uZSBvZiB0aGUgZm9sbG93aW5nIGZvcm1hdHM6IFwiMSwyLDMsNVwiLCBcIjEtM1wiLCBcIjEtXCIsIFwiLTJcIiAnLFxuICAgICAgICB9XSxcbiAgICAgIH1dLFxuICAgIH0sXG4gICAgZmFjZXNEZWY6IHtcbiAgICAgIGlkOiAnL2ZhY2VzRGVmJyxcbiAgICAgIG9uZU9mOiBbe1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZW51bTogWydhbGwnXSxcbiAgICAgIH0sIHtcbiAgICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgICBtaW5pbXVtOiAxLFxuICAgICAgICBtYXhpbXVtOiAxMDAwLFxuICAgICAgfSwge1xuICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICB1bmlxdWVJdGVtczogdHJ1ZSxcbiAgICAgICAgaXRlbXM6IFt7XG4gICAgICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgICAgIG1pbmltdW06IDEsXG4gICAgICAgICAgbWF4aW11bTogMTAwMCxcbiAgICAgICAgfV0sXG4gICAgICB9XSxcbiAgICB9LFxuICAgIG9iamVjdHNEZWY6IHtcbiAgICAgIGlkOiAnL29iamVjdHNEZWYnLFxuICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgIG1pbkl0ZW1zOiAxLFxuICAgICAgbWF4SXRlbXM6IDUwLFxuICAgICAgaXRlbXM6IFt7XG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIGFkZGl0aW9uYWxJdGVtczogZmFsc2UsXG4gICAgICAgIG1pbkl0ZW1zOiA0LFxuICAgICAgICBpdGVtczogW3tcbiAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgICAgbWluaW11bTogMCxcbiAgICAgICAgICBtYXhpbXVtOiAxMDAwMCxcbiAgICAgICAgfSwge1xuICAgICAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgICAgICBtaW5pbXVtOiAwLFxuICAgICAgICAgIG1heGltdW06IDEwMDAwLFxuICAgICAgICB9LCB7XG4gICAgICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgICAgIG1pbmltdW06IDEsXG4gICAgICAgICAgbWF4aW11bTogMTAwMDAsXG4gICAgICAgIH0sIHtcbiAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgICAgbWluaW11bTogMSxcbiAgICAgICAgICBtYXhpbXVtOiAxMDAwMCxcbiAgICAgICAgfV0sXG4gICAgICB9XSxcbiAgICB9LFxuICAgIHBvc2l0aW9uRGVmOiB7XG4gICAgICBpZDogJy9wb3NpdGlvbkRlZicsXG4gICAgICBkZWZhdWx0OiBbJ21pZGRsZScsICdjZW50ZXInXSxcbiAgICAgIG9uZU9mOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBlbnVtOiBbXG4gICAgICAgICAgICAndG9wJyxcbiAgICAgICAgICAgICdtaWRkbGUnLFxuICAgICAgICAgICAgJ2JvdHRvbScsXG4gICAgICAgICAgICAnbGVmdCcsXG4gICAgICAgICAgICAnY2VudGVyJyxcbiAgICAgICAgICAgICdyaWdodCcsXG4gICAgICAgICAgICAnZmFjZXMnLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgIHVuaXF1ZUl0ZW1zOiB0cnVlLFxuICAgICAgICAgIGFkZGl0aW9uYWxJdGVtczogZmFsc2UsXG4gICAgICAgICAgbWluSXRlbXM6IDIsXG4gICAgICAgICAgbWF4SXRlbXM6IDIsXG4gICAgICAgICAgZGVmYXVsdDogWydtaWRkbGUnLCAnY2VudGVyJ10sXG4gICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGVudW06IFtcbiAgICAgICAgICAgICAgICAndG9wJyxcbiAgICAgICAgICAgICAgICAnbWlkZGxlJyxcbiAgICAgICAgICAgICAgICAnYm90dG9tJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGVudW06IFtcbiAgICAgICAgICAgICAgICAnbGVmdCcsXG4gICAgICAgICAgICAgICAgJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgJ3JpZ2h0JyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSxcbn07XG4iXX0=
export declare const MetadataParamsSchema: {
'$schema': string;
$schema: string;
title: string;

@@ -4,0 +4,0 @@ description: string;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MetadataParamsSchema = void 0;
/*

@@ -89,2 +90,2 @@ * Copyright (c) 2018 by Filestack.

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvbWV0YWRhdGEuc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ1UsUUFBQSxvQkFBb0IsR0FBRztJQUNsQyxTQUFTLEVBQUUseUNBQXlDO0lBQ3BELEtBQUssRUFBRSxvQkFBb0I7SUFDM0IsV0FBVyxFQUFFLDRCQUE0QjtJQUN6QyxJQUFJLEVBQUUsUUFBUTtJQUNkLG9CQUFvQixFQUFFLEtBQUs7SUFDM0IsVUFBVSxFQUFFO1FBQ1YsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxHQUFHLEVBQUU7WUFDSCxJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsU0FBUztTQUNoQjtLQUNGO0NBQ0YsQ0FBQyIsImZpbGUiOiJzY2hlbWEvbWV0YWRhdGEuc2NoZW1hLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmV4cG9ydCBjb25zdCBNZXRhZGF0YVBhcmFtc1NjaGVtYSA9IHtcbiAgJyRzY2hlbWEnOiAnaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjJyxcbiAgdGl0bGU6ICdGaWxlc3RhY2sgTWV0YWRhdGEnLFxuICBkZXNjcmlwdGlvbjogJ0ZpbGVzdGFjayBNZXRhZGF0YSBPcHRpb25zJyxcbiAgdHlwZTogJ29iamVjdCcsXG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgcHJvcGVydGllczoge1xuICAgIHNpemU6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIG1pbWV0eXBlOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBmaWxlbmFtZToge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgd2lkdGg6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIG1ldGFkYXRhOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBoZWlnaHQ6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIHVwbG9hZGVkOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICB3cml0ZWFibGU6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIGNsb3VkOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBzb3VyY2VVcmw6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIG1kNToge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgc2hhMToge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgc2hhMjI0OiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBzaGEyNTY6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIHNoYTM4NDoge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgc2hhNTEyOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBsb2NhdGlvbjoge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgcGF0aDoge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgY29udGFpbmVyOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBleGlmOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgfSxcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvbWV0YWRhdGEuc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNVLFFBQUEsb0JBQW9CLEdBQUc7SUFDbEMsU0FBUyxFQUFFLHlDQUF5QztJQUNwRCxLQUFLLEVBQUUsb0JBQW9CO0lBQzNCLFdBQVcsRUFBRSw0QkFBNEI7SUFDekMsSUFBSSxFQUFFLFFBQVE7SUFDZCxvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLFVBQVUsRUFBRTtRQUNWLElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxLQUFLLEVBQUU7WUFDTCxJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELFNBQVMsRUFBRTtZQUNULElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsR0FBRyxFQUFFO1lBQ0gsSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELFNBQVMsRUFBRTtZQUNULElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLFNBQVM7U0FDaEI7S0FDRjtDQUNGLENBQUMiLCJmaWxlIjoic2NoZW1hL21ldGFkYXRhLnNjaGVtYS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5leHBvcnQgY29uc3QgTWV0YWRhdGFQYXJhbXNTY2hlbWEgPSB7XG4gICckc2NoZW1hJzogJ2h0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIycsXG4gIHRpdGxlOiAnRmlsZXN0YWNrIE1ldGFkYXRhJyxcbiAgZGVzY3JpcHRpb246ICdGaWxlc3RhY2sgTWV0YWRhdGEgT3B0aW9ucycsXG4gIHR5cGU6ICdvYmplY3QnLFxuICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gIHByb3BlcnRpZXM6IHtcbiAgICBzaXplOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBtaW1ldHlwZToge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgZmlsZW5hbWU6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIHdpZHRoOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBtZXRhZGF0YToge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgaGVpZ2h0OiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICB1cGxvYWRlZDoge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgd3JpdGVhYmxlOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBjbG91ZDoge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgc291cmNlVXJsOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBtZDU6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIHNoYTE6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIHNoYTIyNDoge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgc2hhMjU2OiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBzaGEzODQ6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIHNoYTUxMjoge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgbG9jYXRpb246IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIHBhdGg6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIGNvbnRhaW5lcjoge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgZXhpZjoge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gIH0sXG59O1xuIl19
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PickerParamsSchema = void 0;
var tslib_1 = require("tslib");

@@ -447,2 +448,2 @@ /*

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvcGlja2VyLnNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxpREFBcUQ7QUFFeEMsUUFBQSxrQkFBa0IsR0FBRztJQUNoQyxPQUFPLEVBQUUseUNBQXlDO0lBQ2xELEtBQUssRUFBRSxrQkFBa0I7SUFDekIsV0FBVyxFQUFFLDBCQUEwQjtJQUN2QyxJQUFJLEVBQUUsUUFBUTtJQUNkLG9CQUFvQixFQUFFLEtBQUs7SUFDM0IsMkJBQTJCO0lBQzNCLFVBQVUsRUFBRTtRQUNWLGdCQUFnQixFQUFFO1lBQ2hCLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsTUFBTSxFQUFFO1lBQ04sb0JBQW9CLEVBQUUsS0FBSztZQUMzQixLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsSUFBSSxFQUFFLFFBQVE7aUJBQ2Y7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLE9BQU87b0JBQ2IsUUFBUSxFQUFFLENBQUM7b0JBQ1gsS0FBSyxFQUFFO3dCQUNMOzRCQUNFLElBQUksRUFBRSxRQUFRO3lCQUNmO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELFFBQVEsRUFBRTtZQUNSLE1BQU0sRUFBRSxVQUFVO1NBQ25CO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsSUFBSSxFQUFFLE9BQU87WUFDYixLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQztvQkFDMUIsb0JBQW9CLEVBQUUsS0FBSztvQkFDM0IsSUFBSSxFQUFFO3dCQUNKLG1CQUFtQjt3QkFDbkIsS0FBSzt3QkFDTCxhQUFhO3dCQUNiLFVBQVU7d0JBQ1YsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLFVBQVU7d0JBQ1YsU0FBUzt3QkFDVCxRQUFRO3dCQUNSLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxLQUFLO3dCQUNMLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxjQUFjO3dCQUNkLFVBQVU7d0JBQ1Ys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QUUsUUFBUTtZQUNkLG9CQUFvQixFQUFFLEtBQUs7WUFDM0IsVUFBVSxFQUFFO2dCQUNWLHNCQUFzQixFQUFFO29CQUN0QixJQUFJLEVBQUUsU0FBUztpQkFDaEI7Z0JBQ0Qsb0JBQW9CLEVBQUU7b0JBQ3BCLElBQUksRUFBRSxTQUFTO2lCQUNoQjthQUNGO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJmaWxlIjoic2NoZW1hL3BpY2tlci5zY2hlbWEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgVXBsb2FkUGFyYW1zU2NoZW1hIH0gZnJvbSAnLi91cGxvYWQuc2NoZW1hJztcblxuZXhwb3J0IGNvbnN0IFBpY2tlclBhcmFtc1NjaGVtYSA9IHtcbiAgJHNjaGVtYTogJ2h0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIycsXG4gIHRpdGxlOiAnRmlsZXN0YWNrIFBpY2tlcicsXG4gIGRlc2NyaXB0aW9uOiAnRmlsZXN0YWNrIFBpY2tlciBPcHRpb25zJyxcbiAgdHlwZTogJ29iamVjdCcsXG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgLy8gcmVxdWlyZWQ6IFsnY29udGFpbmVyJ10sXG4gIHByb3BlcnRpZXM6IHtcbiAgICBhbGxvd01hbnVhbFJldHJ5OiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBhY2NlcHQ6IHtcbiAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgIG9uZU9mOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgbWluSXRlbXM6IDEsXG4gICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgYWNjZXB0Rm46IHtcbiAgICAgIGZvcm1hdDogJ2NhbGxiYWNrJyxcbiAgICB9LFxuICAgIGZyb21Tb3VyY2VzOiB7XG4gICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgaXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFsnc3RyaW5nJywgJ29iamVjdCddLFxuICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICBlbnVtOiBbXG4gICAgICAgICAgICAnbG9jYWxfZmlsZV9zeXN0ZW0nLFxuICAgICAgICAgICAgJ3VybCcsXG4gICAgICAgICAgICAnaW1hZ2VzZWFyY2gnLFxuICAgICAgICAgICAgJ2ZhY2Vib29rJyxcbiAgICAgICAgICAgICdpbnN0YWdyYW0nLFxuICAgICAgICAgICAgJ2dvb2dsZWRyaXZlJyxcbiAgICAgICAgICAgICd1bnNwbGFzaCcsXG4gICAgICAgICAgICAnZHJvcGJveCcsXG4gICAgICAgICAgICAnd2ViY2FtJyxcbiAgICAgICAgICAgICd2aWRlbycsXG4gICAgICAgICAgICAnYXVkaW8nLFxuICAgICAgICAgICAgJ2JveCcsXG4gICAgICAgICAgICAnZ2l0aHViJyxcbiAgICAgICAgICAgICdnbWFpbCcsXG4gICAgICAgICAgICAnZ29vZ2xlcGhvdG9zJyxcbiAgICAgICAgICAgICdvbmVkcml2ZScsXG4gICAgICAgICAgICAnb25lZHJpdmVmb3JidXNpbmVzcycsXG4gICAgICAgICAgICAnY2xvdWRkcml2ZScsXG4gICAgICAgICAgICAnZ29vZ2xlcGhvdG9zJyxcbiAgICAgICAgICAgICdjdXN0b21zb3VyY2UnLFxuICAgICAgICAgICAgJ3RpbnQnLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgY29udGFpbmVyOiB7XG4gICAgICBmb3JtYXQ6ICdIVE1MQ29udGFpbmVyJyxcbiAgICB9LFxuICAgIGNsZWFudXBJbWFnZUV4aWY6IHtcbiAgICAgIG9uZU9mOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAga2VlcE9yaWVudGF0aW9uOiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBrZWVwSUNDYW5kQVBQOiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICBkaXNwbGF5TW9kZToge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBlbnVtOiBbJ2lubGluZScsICdvdmVybGF5JywgJ2Ryb3BQYW5lJ10sXG4gICAgfSxcbiAgICBjb25jdXJyZW5jeToge1xuICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgbWluaW11bTogMSxcbiAgICAgIG1heGltdW06IDIwLFxuICAgIH0sXG4gICAgc3VwcG9ydEVtYWlsOiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB9LFxuICAgIGN1c3RvbVNvdXJjZUNvbnRhaW5lcjoge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgfSxcbiAgICBjdXN0b21Tb3VyY2VQYXRoOiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB9LFxuICAgIGN1c3RvbVNvdXJjZU5hbWU6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIH0sXG4gICAgZGlzYWJsZVN0b3JhZ2VLZXk6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIGRpc2FibGVUcmFuc2Zvcm1lcjoge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgZGlzYWJsZVRodW1ibmFpbHM6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIGV4cG9zZU9yaWdpbmFsRmlsZToge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgZ2xvYmFsRHJvcFpvbmU6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIGhpZGVNb2RhbFdoZW5VcGxvYWRpbmc6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIGltYWdlRGltOiB7XG4gICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgbWluSXRlbXM6IDIsXG4gICAgICBtYXhJdGVtczogMixcbiAgICAgIGl0ZW1zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgICAgbWluaW11bTogMSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICBpbWFnZU1heDoge1xuICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgIG1pbkl0ZW1zOiAyLFxuICAgICAgbWF4SXRlbXM6IDIsXG4gICAgICBpdGVtczogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgICAgIG1pbmltdW06IDEsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgaW1hZ2VNaW46IHtcbiAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICBtaW5JdGVtczogMixcbiAgICAgIG1heEl0ZW1zOiAyLFxuICAgICAgaXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgICAgICBtaW5pbXVtOiAxLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIGltYWdlTWluTWF4QmxvY2s6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIH0sXG4gICAgbGFuZzoge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBlbnVtOiBbJ2NhJywgJ2RhJywgJ2RlJywgJ2VuJywgJ2VzJywgJ2ZyJywgJ2hlJywgJ2l0JywgJ2phJywgJ2tvJywgJ25sJywgJ25vJywgJ3BsJywgJ3B0JywgJ3N2JywgJ3J1JywgJ3ZpJywgJ3poJywgJ3RyJywgJ2FyJ10sXG4gICAgfSxcbiAgICBtaW5GaWxlczoge1xuICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgbWluaW11bTogMSxcbiAgICAgIG1heGltdW06IDEwMDAwMDAsXG4gICAgfSxcbiAgICBtYXhGaWxlczoge1xuICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgbWluaW11bTogMSxcbiAgICAgIG1heGltdW06IDEwMDAwMDAsXG4gICAgfSxcbiAgICBtYXhTaXplOiB7XG4gICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICBtaW5pbXVtOiAxLFxuICAgIH0sXG4gICAgbW9kYWxTaXplOiB7XG4gICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgbWluSXRlbXM6IDIsXG4gICAgICBtYXhJdGVtczogMixcbiAgICAgIGl0ZW1zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgICAgbWluaW11bTogMSxcbiAgICAgICAgICBtYXhpbXVtOiAxMDAwMDAwLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHJvb3RJZDoge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgfSxcbiAgICBzdGFydFVwbG9hZGluZ1doZW5NYXhGaWxlc1JlYWNoZWQ6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIHVwbG9hZEluQmFja2dyb3VuZDoge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgdmlkZW9SZXNvbHV0aW9uOiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB9LFxuICAgIG9uQ2FuY2VsOiB7XG4gICAgICBmb3JtYXQ6ICdjYWxsYmFjaycsXG4gICAgfSxcbiAgICBvbkNsb3NlOiB7XG4gICAgICBmb3JtYXQ6ICdjYWxsYmFjaycsXG4gICAgfSxcbiAgICBvbk9wZW46IHtcbiAgICAgIGZvcm1hdDogJ2NhbGxiYWNrJyxcbiAgICB9LFxuICAgIG9uRmlsZVNlbGVjdGVkOiB7XG4gICAgICBmb3JtYXQ6ICdjYWxsYmFjaycsXG4gICAgfSxcbiAgICBvbkZpbGVVcGxvYWRDYW5jZWw6IHtcbiAgICAgIGZvcm1hdDogJ2NhbGxiYWNrJyxcbiAgICB9LFxuICAgIG9uRmlsZVVwbG9hZFN0YXJ0ZWQ6IHtcbiAgICAgIGZvcm1hdDogJ2NhbGxiYWNrJyxcbiAgICB9LFxuICAgIG9uRmlsZVVwbG9hZEZpbmlzaGVkOiB7XG4gICAgICBmb3JtYXQ6ICdjYWxsYmFjaycsXG4gICAgfSxcbiAgICBvbkZpbGVVcGxvYWRGYWlsZWQ6IHtcbiAgICAgIGZvcm1hdDogJ2NhbGxiYWNrJyxcbiAgICB9LFxuICAgIG9uRmlsZVVwbG9hZFByb2dyZXNzOiB7XG4gICAgICBmb3JtYXQ6ICdjYWxsYmFjaycsXG4gICAgfSxcbiAgICBvblVwbG9hZFN0YXJ0ZWQ6IHtcbiAgICAgIGZvcm1hdDogJ2NhbGxiYWNrJyxcbiAgICB9LFxuICAgIG9uVXBsb2FkRG9uZToge1xuICAgICAgZm9ybWF0OiAnY2FsbGJhY2snLFxuICAgIH0sXG4gICAgb25GaWxlQ3JvcHBlZDoge1xuICAgICAgZm9ybWF0OiAnY2FsbGJhY2snLFxuICAgIH0sXG4gICAgc3RvcmVUbzoge1xuICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIGZpbGVuYW1lOiB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIH0sXG4gICAgICAgIGxvY2F0aW9uOiB7XG4gICAgICAgICAgJHJlZjogJ2xvY2F0aW9uc0RlZicsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRhaW5lcjoge1xuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICB9LFxuICAgICAgICBwYXRoOiB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIH0sXG4gICAgICAgIHJlZ2lvbjoge1xuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICB9LFxuICAgICAgICBhY2Nlc3M6IHtcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBlbnVtOiBbJ3B1YmxpYycsICdwcml2YXRlJ10sXG4gICAgICAgIH0sXG4gICAgICAgIHdvcmtmbG93czoge1xuICAgICAgICAgICRyZWY6ICd3b3JrZmxvd3NEZWYnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHZpZXdUeXBlOiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIGVudW06IFsnZ3JpZCcsICdsaXN0J10sXG4gICAgfSxcbiAgICB0cmFuc2Zvcm1hdGlvbnM6IHtcbiAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBjaXJjbGU6IHtcbiAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIH0sXG4gICAgICAgIHJvdGF0ZToge1xuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgICAgZm9yY2U6IHtcbiAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIH0sXG4gICAgICAgIGNyb3A6IHtcbiAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgZm9yY2U6IHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGFzcGVjdFJhdGlvOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIGN1c3RvbVRleHQ6IHtcbiAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgcGF0dGVyblByb3BlcnRpZXM6IHtcbiAgICAgICAgJy4qJzogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNyb3BGaWxlczoge1xuICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgIG1pbkl0ZW1zOiAxLFxuICAgIH0sXG4gICAgbG9hZENzczoge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgfSxcbiAgICBmYWlsT3Zlck1heEZpbGVzOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBkcm9wUGFuZToge1xuICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIGNyb3BGaWxlczoge1xuICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgbWluSXRlbXM6IDEsXG4gICAgICAgIH0sXG4gICAgICAgIGN1c3RvbVRleHQ6IHtcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSxcbiAgICAgICAgZGlzYWJsZUNsaWNrOiB7XG4gICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICB9LFxuICAgICAgICBvdmVybGF5OiB7XG4gICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICB9LFxuICAgICAgICBzaG93SWNvbjoge1xuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd1Byb2dyZXNzOiB7XG4gICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICB9LFxuICAgICAgICBvbkRyYWdFbnRlcjoge1xuICAgICAgICAgIGZvcm1hdDogJ2NhbGxiYWNrJyxcbiAgICAgICAgfSxcbiAgICAgICAgb25Qcm9ncmVzczoge1xuICAgICAgICAgIGZvcm1hdDogJ2NhbGxiYWNrJyxcbiAgICAgICAgfSxcbiAgICAgICAgb25EcmFnTGVhdmU6IHtcbiAgICAgICAgICBmb3JtYXQ6ICdjYWxsYmFjaycsXG4gICAgICAgIH0sXG4gICAgICAgIG9uRHJhZ092ZXI6IHtcbiAgICAgICAgICBmb3JtYXQ6ICdjYWxsYmFjaycsXG4gICAgICAgIH0sXG4gICAgICAgIG9uRHJvcDoge1xuICAgICAgICAgIGZvcm1hdDogJ2NhbGxiYWNrJyxcbiAgICAgICAgfSxcbiAgICAgICAgb25TdWNjZXNzOiB7XG4gICAgICAgICAgZm9ybWF0OiAnY2FsbGJhY2snLFxuICAgICAgICB9LFxuICAgICAgICBvbkVycm9yOiB7XG4gICAgICAgICAgZm9ybWF0OiAnY2FsbGJhY2snLFxuICAgICAgICB9LFxuICAgICAgICBvbkNsaWNrOiB7XG4gICAgICAgICAgZm9ybWF0OiAnY2FsbGJhY2snLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIGVycm9yc1RpbWVvdXQ6IHtcbiAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgbWluaW11bTogMCxcbiAgICB9LFxuICAgIGN1c3RvbUF1dGhUZXh0OiB7XG4gICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgIHBhdHRlcm5Qcm9wZXJ0aWVzOiB7XG4gICAgICAgICcuKic6IHtcbiAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndG9wJywgJ2JvdHRvbSddLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHRvcDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBib3R0b206IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgdXBsb2FkQ29uZmlnOiB7XG4gICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgLy8gbWFudWFsIGltcG9ydCB1cGxvYWQgZGVmaW5pdGlvbnNcbiAgICAgICAgLi4uVXBsb2FkUGFyYW1zU2NoZW1hLnByb3BlcnRpZXMsXG4gICAgICAgIHRhZ3M6IHtcbiAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoge1xuICAgICAgICAgICAgYW55T2Y6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZm9ybWF0OiAnY2FsbGJhY2snLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHVzZVNlbnRyeUJyZWFkY3J1bWJzOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBwYXN0ZU1vZGU6IHtcbiAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBwYXN0ZVRvRmlyc3RJblZpZXdQb3J0OiB7XG4gICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICB9LFxuICAgICAgICBwYXN0ZVRvRmlyc3RJbnN0YW5jZToge1xuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvcGlja2VyLnNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsaURBQXFEO0FBRXhDLFFBQUEsa0JBQWtCLEdBQUc7SUFDaEMsT0FBTyxFQUFFLHlDQUF5QztJQUNsRCxLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLFdBQVcsRUFBRSwwQkFBMEI7SUFDdkMsSUFBSSxFQUFFLFFBQVE7SUFDZCxvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLDJCQUEyQjtJQUMzQixVQUFVLEVBQUU7UUFDVixnQkFBZ0IsRUFBRTtZQUNoQixJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELE1BQU0sRUFBRTtZQUNOLG9CQUFvQixFQUFFLEtBQUs7WUFDM0IsS0FBSyxFQUFFO2dCQUNMO29CQUNFLElBQUksRUFBRSxRQUFRO2lCQUNmO2dCQUNEO29CQUNFLElBQUksRUFBRSxPQUFPO29CQUNiLFFBQVEsRUFBRSxDQUFDO29CQUNYLEtBQUssRUFBRTt3QkFDTDs0QkFDRSxJQUFJLEVBQUUsUUFBUTt5QkFDZjtxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxRQUFRLEVBQUU7WUFDUixNQUFNLEVBQUUsVUFBVTtTQUNuQjtRQUNELFdBQVcsRUFBRTtZQUNYLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFO2dCQUNMO29CQUNFLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUM7b0JBQzFCLG9CQUFvQixFQUFFLEtBQUs7b0JBQzNCLElBQUksRUFBRTt3QkFDSixtQkFBbUI7d0JBQ25CLEtBQUs7d0JBQ0wsYUFBYTt3QkFDYixVQUFVO3dCQUNWLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixVQUFVO3dCQUNWLFNBQVM7d0JBQ1QsUUFBUTt3QkFDUixPQUFPO3dCQUNQLE9BQU87d0JBQ1AsS0FBSzt3QkFDTCxRQUFRO3dCQUNSLE9BQU87d0JBQ1AsY0FBYzt3QkFDZCxVQUFVO3dCQUNW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QUFFLFFBQVE7WUFDZCxvQkFBb0IsRUFBRSxLQUFLO1lBQzNCLFVBQVUsRUFBRTtnQkFDVixzQkFBc0IsRUFBRTtvQkFDdEIsSUFBSSxFQUFFLFNBQVM7aUJBQ2hCO2dCQUNELG9CQUFvQixFQUFFO29CQUNwQixJQUFJLEVBQUUsU0FBUztpQkFDaEI7YUFDRjtTQUNGO0tBQ0Y7Q0FDRixDQUFDIiwiZmlsZSI6InNjaGVtYS9waWNrZXIuc2NoZW1hLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IFVwbG9hZFBhcmFtc1NjaGVtYSB9IGZyb20gJy4vdXBsb2FkLnNjaGVtYSc7XG5cbmV4cG9ydCBjb25zdCBQaWNrZXJQYXJhbXNTY2hlbWEgPSB7XG4gICRzY2hlbWE6ICdodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMnLFxuICB0aXRsZTogJ0ZpbGVzdGFjayBQaWNrZXInLFxuICBkZXNjcmlwdGlvbjogJ0ZpbGVzdGFjayBQaWNrZXIgT3B0aW9ucycsXG4gIHR5cGU6ICdvYmplY3QnLFxuICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gIC8vIHJlcXVpcmVkOiBbJ2NvbnRhaW5lciddLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgYWxsb3dNYW51YWxSZXRyeToge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgYWNjZXB0OiB7XG4gICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICBvbmVPZjogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgIG1pbkl0ZW1zOiAxLFxuICAgICAgICAgIGl0ZW1zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIGFjY2VwdEZuOiB7XG4gICAgICBmb3JtYXQ6ICdjYWxsYmFjaycsXG4gICAgfSxcbiAgICBmcm9tU291cmNlczoge1xuICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgIGl0ZW1zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBbJ3N0cmluZycsICdvYmplY3QnXSxcbiAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgZW51bTogW1xuICAgICAgICAgICAgJ2xvY2FsX2ZpbGVfc3lzdGVtJyxcbiAgICAgICAgICAgICd1cmwnLFxuICAgICAgICAgICAgJ2ltYWdlc2VhcmNoJyxcbiAgICAgICAgICAgICdmYWNlYm9vaycsXG4gICAgICAgICAgICAnaW5zdGFncmFtJyxcbiAgICAgICAgICAgICdnb29nbGVkcml2ZScsXG4gICAgICAgICAgICAndW5zcGxhc2gnLFxuICAgICAgICAgICAgJ2Ryb3Bib3gnLFxuICAgICAgICAgICAgJ3dlYmNhbScsXG4gICAgICAgICAgICAndmlkZW8nLFxuICAgICAgICAgICAgJ2F1ZGlvJyxcbiAgICAgICAgICAgICdib3gnLFxuICAgICAgICAgICAgJ2dpdGh1YicsXG4gICAgICAgICAgICAnZ21haWwnLFxuICAgICAgICAgICAgJ2dvb2dsZXBob3RvcycsXG4gICAgICAgICAgICAnb25lZHJpdmUnLFxuICAgICAgICAgICAgJ29uZWRyaXZlZm9yYnVzaW5lc3MnLFxuICAgICAgICAgICAgJ2Nsb3VkZHJpdmUnLFxuICAgICAgICAgICAgJ2dvb2dsZXBob3RvcycsXG4gICAgICAgICAgICAnY3VzdG9tc291cmNlJyxcbiAgICAgICAgICAgICd0aW50JyxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIGNvbnRhaW5lcjoge1xuICAgICAgZm9ybWF0OiAnSFRNTENvbnRhaW5lcicsXG4gICAgfSxcbiAgICBjbGVhbnVwSW1hZ2VFeGlmOiB7XG4gICAgICBvbmVPZjogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIGtlZXBPcmllbnRhdGlvbjoge1xuICAgICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAga2VlcElDQ2FuZEFQUDoge1xuICAgICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgZGlzcGxheU1vZGU6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgZW51bTogWydpbmxpbmUnLCAnb3ZlcmxheScsICdkcm9wUGFuZSddLFxuICAgIH0sXG4gICAgY29uY3VycmVuY3k6IHtcbiAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgIG1pbmltdW06IDEsXG4gICAgICBtYXhpbXVtOiAyMCxcbiAgICB9LFxuICAgIHN1cHBvcnRFbWFpbDoge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgfSxcbiAgICBjdXN0b21Tb3VyY2VDb250YWluZXI6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIH0sXG4gICAgY3VzdG9tU291cmNlUGF0aDoge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgfSxcbiAgICBjdXN0b21Tb3VyY2VOYW1lOiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB9LFxuICAgIGRpc2FibGVTdG9yYWdlS2V5OiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBkaXNhYmxlVHJhbnNmb3JtZXI6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIGRpc2FibGVUaHVtYm5haWxzOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBleHBvc2VPcmlnaW5hbEZpbGU6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIGdsb2JhbERyb3Bab25lOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBoaWRlTW9kYWxXaGVuVXBsb2FkaW5nOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBpbWFnZURpbToge1xuICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgIG1pbkl0ZW1zOiAyLFxuICAgICAgbWF4SXRlbXM6IDIsXG4gICAgICBpdGVtczogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgICAgIG1pbmltdW06IDEsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgaW1hZ2VNYXg6IHtcbiAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICBtaW5JdGVtczogMixcbiAgICAgIG1heEl0ZW1zOiAyLFxuICAgICAgaXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgICAgICBtaW5pbXVtOiAxLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIGltYWdlTWluOiB7XG4gICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgbWluSXRlbXM6IDIsXG4gICAgICBtYXhJdGVtczogMixcbiAgICAgIGl0ZW1zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgICAgbWluaW11bTogMSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICBpbWFnZU1pbk1heEJsb2NrOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICB9LFxuICAgIGxhbmc6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgZW51bTogWydjYScsICdkYScsICdkZScsICdlbicsICdlcycsICdmcicsICdoZScsICdpdCcsICdqYScsICdrbycsICdubCcsICdubycsICdwbCcsICdwdCcsICdzdicsICdydScsICd2aScsICd6aCcsICd0cicsICdhciddLFxuICAgIH0sXG4gICAgbWluRmlsZXM6IHtcbiAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgIG1pbmltdW06IDEsXG4gICAgICBtYXhpbXVtOiAxMDAwMDAwLFxuICAgIH0sXG4gICAgbWF4RmlsZXM6IHtcbiAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgIG1pbmltdW06IDEsXG4gICAgICBtYXhpbXVtOiAxMDAwMDAwLFxuICAgIH0sXG4gICAgbWF4U2l6ZToge1xuICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgbWluaW11bTogMSxcbiAgICB9LFxuICAgIG1vZGFsU2l6ZToge1xuICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgIG1pbkl0ZW1zOiAyLFxuICAgICAgbWF4SXRlbXM6IDIsXG4gICAgICBpdGVtczogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgICAgIG1pbmltdW06IDEsXG4gICAgICAgICAgbWF4aW11bTogMTAwMDAwMCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICByb290SWQ6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIH0sXG4gICAgc3RhcnRVcGxvYWRpbmdXaGVuTWF4RmlsZXNSZWFjaGVkOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICB1cGxvYWRJbkJhY2tncm91bmQ6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIHZpZGVvUmVzb2x1dGlvbjoge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgfSxcbiAgICBvbkNhbmNlbDoge1xuICAgICAgZm9ybWF0OiAnY2FsbGJhY2snLFxuICAgIH0sXG4gICAgb25DbG9zZToge1xuICAgICAgZm9ybWF0OiAnY2FsbGJhY2snLFxuICAgIH0sXG4gICAgb25PcGVuOiB7XG4gICAgICBmb3JtYXQ6ICdjYWxsYmFjaycsXG4gICAgfSxcbiAgICBvbkZpbGVTZWxlY3RlZDoge1xuICAgICAgZm9ybWF0OiAnY2FsbGJhY2snLFxuICAgIH0sXG4gICAgb25GaWxlVXBsb2FkQ2FuY2VsOiB7XG4gICAgICBmb3JtYXQ6ICdjYWxsYmFjaycsXG4gICAgfSxcbiAgICBvbkZpbGVVcGxvYWRTdGFydGVkOiB7XG4gICAgICBmb3JtYXQ6ICdjYWxsYmFjaycsXG4gICAgfSxcbiAgICBvbkZpbGVVcGxvYWRGaW5pc2hlZDoge1xuICAgICAgZm9ybWF0OiAnY2FsbGJhY2snLFxuICAgIH0sXG4gICAgb25GaWxlVXBsb2FkRmFpbGVkOiB7XG4gICAgICBmb3JtYXQ6ICdjYWxsYmFjaycsXG4gICAgfSxcbiAgICBvbkZpbGVVcGxvYWRQcm9ncmVzczoge1xuICAgICAgZm9ybWF0OiAnY2FsbGJhY2snLFxuICAgIH0sXG4gICAgb25VcGxvYWRTdGFydGVkOiB7XG4gICAgICBmb3JtYXQ6ICdjYWxsYmFjaycsXG4gICAgfSxcbiAgICBvblVwbG9hZERvbmU6IHtcbiAgICAgIGZvcm1hdDogJ2NhbGxiYWNrJyxcbiAgICB9LFxuICAgIG9uRmlsZUNyb3BwZWQ6IHtcbiAgICAgIGZvcm1hdDogJ2NhbGxiYWNrJyxcbiAgICB9LFxuICAgIHN0b3JlVG86IHtcbiAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBmaWxlbmFtZToge1xuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICB9LFxuICAgICAgICBsb2NhdGlvbjoge1xuICAgICAgICAgICRyZWY6ICdsb2NhdGlvbnNEZWYnLFxuICAgICAgICB9LFxuICAgICAgICBjb250YWluZXI6IHtcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSxcbiAgICAgICAgcGF0aDoge1xuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICB9LFxuICAgICAgICByZWdpb246IHtcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSxcbiAgICAgICAgYWNjZXNzOiB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgZW51bTogWydwdWJsaWMnLCAncHJpdmF0ZSddLFxuICAgICAgICB9LFxuICAgICAgICB3b3JrZmxvd3M6IHtcbiAgICAgICAgICAkcmVmOiAnd29ya2Zsb3dzRGVmJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB2aWV3VHlwZToge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBlbnVtOiBbJ2dyaWQnLCAnbGlzdCddLFxuICAgIH0sXG4gICAgdHJhbnNmb3JtYXRpb25zOiB7XG4gICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgY2lyY2xlOiB7XG4gICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICB9LFxuICAgICAgICByb3RhdGU6IHtcbiAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIH0sXG4gICAgICAgIGZvcmNlOiB7XG4gICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICB9LFxuICAgICAgICBjcm9wOiB7XG4gICAgICAgICAgb25lT2Y6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgIGZvcmNlOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhc3BlY3RSYXRpbzoge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBjdXN0b21UZXh0OiB7XG4gICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgIHBhdHRlcm5Qcm9wZXJ0aWVzOiB7XG4gICAgICAgICcuKic6IHsgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBjcm9wRmlsZXM6IHtcbiAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICBtaW5JdGVtczogMSxcbiAgICB9LFxuICAgIGxvYWRDc3M6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIH0sXG4gICAgZmFpbE92ZXJNYXhGaWxlczoge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgZHJvcFBhbmU6IHtcbiAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBjcm9wRmlsZXM6IHtcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgIG1pbkl0ZW1zOiAxLFxuICAgICAgICB9LFxuICAgICAgICBjdXN0b21UZXh0OiB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVDbGljazoge1xuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgICAgb3ZlcmxheToge1xuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd0ljb246IHtcbiAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIH0sXG4gICAgICAgIHNob3dQcm9ncmVzczoge1xuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgICAgb25EcmFnRW50ZXI6IHtcbiAgICAgICAgICBmb3JtYXQ6ICdjYWxsYmFjaycsXG4gICAgICAgIH0sXG4gICAgICAgIG9uUHJvZ3Jlc3M6IHtcbiAgICAgICAgICBmb3JtYXQ6ICdjYWxsYmFjaycsXG4gICAgICAgIH0sXG4gICAgICAgIG9uRHJhZ0xlYXZlOiB7XG4gICAgICAgICAgZm9ybWF0OiAnY2FsbGJhY2snLFxuICAgICAgICB9LFxuICAgICAgICBvbkRyYWdPdmVyOiB7XG4gICAgICAgICAgZm9ybWF0OiAnY2FsbGJhY2snLFxuICAgICAgICB9LFxuICAgICAgICBvbkRyb3A6IHtcbiAgICAgICAgICBmb3JtYXQ6ICdjYWxsYmFjaycsXG4gICAgICAgIH0sXG4gICAgICAgIG9uU3VjY2Vzczoge1xuICAgICAgICAgIGZvcm1hdDogJ2NhbGxiYWNrJyxcbiAgICAgICAgfSxcbiAgICAgICAgb25FcnJvcjoge1xuICAgICAgICAgIGZvcm1hdDogJ2NhbGxiYWNrJyxcbiAgICAgICAgfSxcbiAgICAgICAgb25DbGljazoge1xuICAgICAgICAgIGZvcm1hdDogJ2NhbGxiYWNrJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBlcnJvcnNUaW1lb3V0OiB7XG4gICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgIG1pbmltdW06IDAsXG4gICAgfSxcbiAgICBjdXN0b21BdXRoVGV4dDoge1xuICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICBwYXR0ZXJuUHJvcGVydGllczoge1xuICAgICAgICAnLionOiB7XG4gICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ3RvcCcsICdib3R0b20nXSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICB0b3A6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYm90dG9tOiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHVwbG9hZENvbmZpZzoge1xuICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIC8vIG1hbnVhbCBpbXBvcnQgdXBsb2FkIGRlZmluaXRpb25zXG4gICAgICAgIC4uLlVwbG9hZFBhcmFtc1NjaGVtYS5wcm9wZXJ0aWVzLFxuICAgICAgICB0YWdzOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIGFueU9mOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZvcm1hdDogJ2NhbGxiYWNrJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB1c2VTZW50cnlCcmVhZGNydW1iczoge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgcGFzdGVNb2RlOiB7XG4gICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgcGFzdGVUb0ZpcnN0SW5WaWV3UG9ydDoge1xuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgICAgcGFzdGVUb0ZpcnN0SW5zdGFuY2U6IHtcbiAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG59O1xuIl19

@@ -19,8 +19,9 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
var assert = require("assert");
var tslib_1 = require("tslib");
var assert = tslib_1.__importStar(require("assert"));
var _1 = require("./");
var jsdom = require("jsdom");
var jsdom = tslib_1.__importStar(require("jsdom"));
var JSDOM = jsdom.JSDOM;
describe('Picker Params Schema', function () {
var validator = _1.getValidator(_1.PickerParamsSchema);
var validator = (0, _1.getValidator)(_1.PickerParamsSchema);
var validate = function (params) {

@@ -199,2 +200,2 @@ var res = validator(params);

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvcGlja2VyLnNjaGVtYS5zcGVjLmJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFFSCwrQkFBaUM7QUFDakMsdUJBQXNEO0FBRXRELDZCQUErQjtBQUN2QixJQUFBLG1CQUFLLENBQVc7QUFFeEIsUUFBUSxDQUFDLHNCQUFzQixFQUFFO0lBQy9CLElBQU0sU0FBUyxHQUFHLGVBQVksQ0FBQyxxQkFBa0IsQ0FBQyxDQUFDO0lBRW5ELElBQU0sUUFBUSxHQUFHLFVBQUEsTUFBTTtRQUNyQixJQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFOUIsMkJBQTJCO1FBQzNCLDZCQUE2QjtRQUM3QixJQUFJO1FBRUosT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hELENBQUMsQ0FBQztJQUVGLElBQU0sVUFBVSxHQUFHLFVBQUEsR0FBRyxJQUFJLE9BQUEsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFmLENBQWUsQ0FBQztJQUUxQyxFQUFFLENBQUMsb0NBQW9DLEVBQUU7UUFDdkMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEQsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4QkFBOEIsRUFBRTtRQUNqQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENB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RTtnQkFDZCxJQUFJLEVBQUU7b0JBQ0osR0FBRyxFQUFFLE1BQU07aUJBQ1o7YUFDRjtTQUNGLENBQUMsQ0FDSCxDQUFDO1FBRUYsVUFBVSxDQUNSLFFBQVEsQ0FBQztZQUNQLGNBQWMsRUFBRTtnQkFDZCxJQUFJLEVBQUUsS0FBSzthQUNaO1NBQ0YsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxrQkFBa0IsRUFBRTtRQUNyQixNQUFNLENBQUMsRUFBRSxDQUNQLFFBQVEsQ0FBQztZQUNQLFlBQVksRUFBRTtnQkFDWixRQUFRLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJO2dCQUN6QixXQUFXLEVBQUUsSUFBSTtnQkFDakIsVUFBVSxFQUFFLGNBQU0sT0FBQSxPQUFPLEVBQVAsQ0FBTzthQUMxQjtTQUNGLENBQUMsQ0FDSCxDQUFDO1FBRUYsTUFBTSxDQUFDLEVBQUUsQ0FDUCxRQUFRLENBQUM7WUFDUCxZQUFZLEVBQUU7Z0JBQ1osV0FBVyxFQUFFLFVBQVU7YUFDeEI7U0FDRixDQUFDLENBQ0gsQ0FBQztRQUVGLFVBQVUsQ0FDUixRQUFRLENBQUM7WUFDUCxZQUFZLEVBQUU7Z0JBQ1osUUFBUSxFQUFFLEdBQUc7YUFDZDtTQUNGLENBQUMsQ0FDSCxDQUFDO1FBRUYsVUFBVSxDQUNSLFFBQVEsQ0FBQztZQUNQLFlBQVksRUFBRTtnQkFDWixnQkFBZ0IsRUFBRSxDQUFDO2FBQ3BCO1NBQ0YsQ0FBQyxDQUNILENBQUM7UUFFRixVQUFVLENBQ1IsUUFBUSxDQUFDO1lBQ1AsWUFBWSxFQUFFO2dCQUNaLFdBQVcsRUFBRSxDQUFDO2FBQ2Y7U0FDRixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoic2NoZW1hL3BpY2tlci5zY2hlbWEuc3BlYy5icm93c2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBnZXRWYWxpZGF0b3IsIFBpY2tlclBhcmFtc1NjaGVtYSB9IGZyb20gJy4vJztcblxuaW1wb3J0ICogYXMganNkb20gZnJvbSAnanNkb20nO1xuY29uc3QgeyBKU0RPTSB9ID0ganNkb207XG5cbmRlc2NyaWJlKCdQaWNrZXIgUGFyYW1zIFNjaGVtYScsICgpID0+IHtcbiAgY29uc3QgdmFsaWRhdG9yID0gZ2V0VmFsaWRhdG9yKFBpY2tlclBhcmFtc1NjaGVtYSk7XG5cbiAgY29uc3QgdmFsaWRhdGUgPSBwYXJhbXMgPT4ge1xuICAgIGNvbnN0IHJlcyA9IHZhbGlkYXRvcihwYXJhbXMpO1xuXG4gICAgLy8gaWYgKHJlcy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgLy8gICBjb25zb2xlLmxvZyhyZXMuZXJyb3JzKTtcbiAgICAvLyB9XG5cbiAgICByZXR1cm4gcmVzLmVycm9ycy5sZW5ndGggPT09IDAgPyB0cnVlIDogZmFsc2U7XG4gIH07XG5cbiAgY29uc3QgYXNzZXJ0RmFpbCA9IHJlcyA9PiBhc3NlcnQub2soIXJlcyk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBhbGxvdyBtYW51YWwgcmV0cnknLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgYWxsb3dNYW51YWxSZXRyeTogdHJ1ZSB9KSk7XG4gICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7IGFsbG93TWFudWFsUmV0cnk6IHt9IH0pKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBhY2NlcHQgcGFyYW0nLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgYWNjZXB0OiAnaW1hZ2UvanBlZycgfSkpO1xuICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7IGFjY2VwdDogWydpbWFnZS9qcGVnJywgJ2ltYWdlL3BuZycsICcqJ10gfSkpO1xuICAgIGFzc2VydEZhaWwodmFsaWRhdGUoeyBhY2NlcHQ6IHt9IH0pKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBmcm9tU291cmNlcyBwYXJhbScsICgpID0+IHtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBmcm9tU291cmNlczogWyd1cmwnLCAnZmFjZWJvb2snXSB9KSk7XG4gICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7IGZyb21Tb3VyY2VzOiBbJ3dyb25nX3NvdXJjZSddIH0pKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBmcm9tU291cmNlcyBwYXJhbSB0eXBlIG9iamVjdCcsICgpID0+IHtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBmcm9tU291cmNlczogWyd1cmwnLCB7IHRlc3Q6IDEyMyB9LCB7IHRlc3Q6ICgpID0+IGNvbnNvbGUubG9nIH1dIH0pKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb250YWluZXIgcGFyYW0nLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgY29udGFpbmVyOiAndGVzdCcgfSkpO1xuXG4gICAgY29uc3Qgbm9kZURpdiA9IEpTRE9NLmZyYWdtZW50KGA8ZGl2PkhlbGxvPC9kaXY+YCkucXVlcnlTZWxlY3RvcignZGl2Jyk7XG4gICAgY29uc3Qgbm9kZVAgPSBKU0RPTS5mcmFnbWVudChgPHA+SGVsbG88L3A+YCkucXVlcnlTZWxlY3RvcigncCcpO1xuICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7IGNvbnRhaW5lcjogbm9kZURpdiB9KSk7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgY29udGFpbmVyOiBub2RlUCB9KSk7XG4gICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7IGNvbnRhaW5lcjoge30gfSkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNsZWFudXBJbWFnZUV4aWYgcGFyYW0nLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgY2xlYW51cEltYWdlRXhpZjogdHJ1ZSB9KSk7XG4gICAgYXNzZXJ0Lm9rKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICBjbGVhbnVwSW1hZ2VFeGlmOiB7XG4gICAgICAgICAga2VlcE9yaWVudGF0aW9uOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuICAgIGFzc2VydEZhaWwoXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIGNsZWFudXBJbWFnZUV4aWY6IHtcbiAgICAgICAgICB0ZXN0OiAxLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGRpc3BsYXlNb2RlIHBhcmFtJywgKCkgPT4ge1xuICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7IGRpc3BsYXlNb2RlOiAnaW5saW5lJyB9KSk7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgZGlzcGxheU1vZGU6ICdvdmVybGF5JyB9KSk7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgZGlzcGxheU1vZGU6ICdkcm9wUGFuZScgfSkpO1xuICAgIGFzc2VydEZhaWwodmFsaWRhdGUoeyBkaXNwbGF5TW9kZTogJ3Rlc3QnIH0pKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBpbWFnZURpbSBwYXJhbScsICgpID0+IHtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBpbWFnZURpbTogWzEwMCwgMTAwXSB9KSk7XG4gICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7IGltYWdlRGltOiBbMCwgMV0gfSkpO1xuICAgIGFzc2VydEZhaWwodmFsaWRhdGUoeyBpbWFnZURpbTogWzEwMCwgMTAwLCAzXSB9KSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgc3RvcmVUbyBQYXJhbXMnLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICBzdG9yZVRvOiB7XG4gICAgICAgICAgZmlsZW5hbWU6ICd0ZXN0JyxcbiAgICAgICAgICBsb2NhdGlvbjogJ3MzJyxcbiAgICAgICAgICBwYXRoOiAnL3Rlc3QvJyxcbiAgICAgICAgICByZWdpb246ICd0ZXN0JyxcbiAgICAgICAgICBhY2Nlc3M6ICdwdWJsaWMnLFxuICAgICAgICAgIHdvcmtmbG93czogWyd0ZXN0J10sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBhc3NlcnQub2soXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIHN0b3JlVG86IHtcbiAgICAgICAgICBmaWxlbmFtZTogJ3Rlc3QnLFxuICAgICAgICAgIGxvY2F0aW9uOiAnczMnLFxuICAgICAgICAgIHBhdGg6ICcvdGVzdC8nLFxuICAgICAgICAgIHJlZ2lvbjogJ3Rlc3QnLFxuICAgICAgICAgIGFjY2VzczogJ3ByaXZhdGUnLFxuICAgICAgICAgIHdvcmtmbG93czogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ3Rlc3QnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgYXNzZXJ0RmFpbChcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgc3RvcmVUbzoge1xuICAgICAgICAgIHdvcmtmbG93czoge30sXG4gICAgICAgICAgYWNjZXNzOiAnbm9uZScsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgdHJhbnNmb3JtYXRpb25zIHBhcmFtJywgKCkgPT4ge1xuICAgIGFzc2VydC5vayhcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgdHJhbnNmb3JtYXRpb25zOiB7XG4gICAgICAgICAgY2lyY2xlOiB0cnVlLFxuICAgICAgICAgIHJvdGF0ZTogdHJ1ZSxcbiAgICAgICAgICBjcm9wOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgYXNzZXJ0Lm9rKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICB0cmFuc2Zvcm1hdGlvbnM6IHtcbiAgICAgICAgICBjaXJjbGU6IGZhbHNlLFxuICAgICAgICAgIHJvdGF0ZTogZmFsc2UsXG4gICAgICAgICAgY3JvcDoge1xuICAgICAgICAgICAgZm9yY2U6IHRydWUsXG4gICAgICAgICAgICBhc3BlY3RSYXRpbzogMSAvIDIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGFzc2VydEZhaWwoXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIHRyYW5zZm9ybWF0aW9uczoge1xuICAgICAgICAgIHRlc3Q6IDEyMyxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjdXN0b21UZXh0IHBhcmFtJywgKCkgPT4ge1xuICAgIGFzc2VydC5vayhcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgY3VzdG9tVGV4dDoge1xuICAgICAgICAgIHNvbWV0ZXN0OiAndGVzdHRleHQnLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuICAgIGFzc2VydEZhaWwodmFsaWRhdGUoeyBjdXN0b21UZXh0OiBbJ3Rlc3QnLCAndHMxJ10gfSkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGN1c3RvbUF1dGhUZXh0IHBhcmFtJywgKCkgPT4ge1xuICAgIGFzc2VydC5vayhcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgY3VzdG9tQXV0aFRleHQ6IHtcbiAgICAgICAgICB0ZXN0OiB7XG4gICAgICAgICAgICB0b3A6ICd0ZXN0JyxcbiAgICAgICAgICAgIGJvdHRvbTogJ3Rlc3QyJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgYXNzZXJ0RmFpbChcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgY3VzdG9tQXV0aFRleHQ6IHtcbiAgICAgICAgICB0ZXN0OiB7XG4gICAgICAgICAgICB0b3A6ICd0ZXN0JyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgYXNzZXJ0RmFpbChcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgY3VzdG9tQXV0aFRleHQ6IHtcbiAgICAgICAgICB0ZXN0OiAnMTIzJyxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSAnLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICB1cGxvYWRDb25maWc6IHtcbiAgICAgICAgICBwYXJ0U2l6ZTogNSAqIDEwMjQgKiAxMDI0LFxuICAgICAgICAgIGludGVsbGlnZW50OiB0cnVlLFxuICAgICAgICAgIG9uUHJvZ3Jlc3M6ICgpID0+IGNvbnNvbGUsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBhc3NlcnQub2soXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIHVwbG9hZENvbmZpZzoge1xuICAgICAgICAgIGludGVsbGlnZW50OiAnZmFsbGJhY2snLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgYXNzZXJ0RmFpbChcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgdXBsb2FkQ29uZmlnOiB7XG4gICAgICAgICAgcGFydFNpemU6IDEwMCxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGFzc2VydEZhaWwoXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIHVwbG9hZENvbmZpZzoge1xuICAgICAgICAgIHByb2dyZXNzSW50ZXJ2YWw6IDAsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBhc3NlcnRGYWlsKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICB1cGxvYWRDb25maWc6IHtcbiAgICAgICAgICBjb25jdXJyZW5jeTogMCxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcbiAgfSk7XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvcGlja2VyLnNjaGVtYS5zcGVjLmJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7O0FBRUgscURBQWlDO0FBQ2pDLHVCQUFzRDtBQUV0RCxtREFBK0I7QUFDdkIsSUFBQSxLQUFLLEdBQUssS0FBSyxNQUFWLENBQVc7QUFFeEIsUUFBUSxDQUFDLHNCQUFzQixFQUFFO0lBQy9CLElBQU0sU0FBUyxHQUFHLElBQUEsZUFBWSxFQUFDLHFCQUFrQixDQUFDLENBQUM7SUFFbkQsSUFBTSxRQUFRLEdBQUcsVUFBQSxNQUFNO1FBQ3JCLElBQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5QiwyQkFBMkI7UUFDM0IsNkJBQTZCO1FBQzdCLElBQUk7UUFFSixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDaEQsQ0FBQyxDQUFDO0lBRUYsSUFBTSxVQUFVLEdBQUcsVUFBQSxHQUFHLElBQUksT0FBQSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQWYsQ0FBZSxDQUFDO0lBRTFDLEVBQUUsQ0FBQyxvQ0FBb0MsRUFBRTtRQUN2QyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoRCxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDhCQUE4QixFQUFFO1FBQ2pDLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5QyxNQUFNLENB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USxDQUFDO1lBQ1AsY0FBYyxFQUFFO2dCQUNkLElBQUksRUFBRTtvQkFDSixHQUFHLEVBQUUsTUFBTTtpQkFDWjthQUNGO1NBQ0YsQ0FBQyxDQUNILENBQUM7UUFFRixVQUFVLENBQ1IsUUFBUSxDQUFDO1lBQ1AsY0FBYyxFQUFFO2dCQUNkLElBQUksRUFBRSxLQUFLO2FBQ1o7U0FDRixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGtCQUFrQixFQUFFO1FBQ3JCLE1BQU0sQ0FBQyxFQUFFLENBQ1AsUUFBUSxDQUFDO1lBQ1AsWUFBWSxFQUFFO2dCQUNaLFFBQVEsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUk7Z0JBQ3pCLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixVQUFVLEVBQUUsY0FBTSxPQUFBLE9BQU8sRUFBUCxDQUFPO2FBQzFCO1NBQ0YsQ0FBQyxDQUNILENBQUM7UUFFRixNQUFNLENBQUMsRUFBRSxDQUNQLFFBQVEsQ0FBQztZQUNQLFlBQVksRUFBRTtnQkFDWixXQUFXLEVBQUUsVUFBVTthQUN4QjtTQUNGLENBQUMsQ0FDSCxDQUFDO1FBRUYsVUFBVSxDQUNSLFFBQVEsQ0FBQztZQUNQLFlBQVksRUFBRTtnQkFDWixRQUFRLEVBQUUsR0FBRzthQUNkO1NBQ0YsQ0FBQyxDQUNILENBQUM7UUFFRixVQUFVLENBQ1IsUUFBUSxDQUFDO1lBQ1AsWUFBWSxFQUFFO2dCQUNaLGdCQUFnQixFQUFFLENBQUM7YUFDcEI7U0FDRixDQUFDLENBQ0gsQ0FBQztRQUVGLFVBQVUsQ0FDUixRQUFRLENBQUM7WUFDUCxZQUFZLEVBQUU7Z0JBQ1osV0FBVyxFQUFFLENBQUM7YUFDZjtTQUNGLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJzY2hlbWEvcGlja2VyLnNjaGVtYS5zcGVjLmJyb3dzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IGdldFZhbGlkYXRvciwgUGlja2VyUGFyYW1zU2NoZW1hIH0gZnJvbSAnLi8nO1xuXG5pbXBvcnQgKiBhcyBqc2RvbSBmcm9tICdqc2RvbSc7XG5jb25zdCB7IEpTRE9NIH0gPSBqc2RvbTtcblxuZGVzY3JpYmUoJ1BpY2tlciBQYXJhbXMgU2NoZW1hJywgKCkgPT4ge1xuICBjb25zdCB2YWxpZGF0b3IgPSBnZXRWYWxpZGF0b3IoUGlja2VyUGFyYW1zU2NoZW1hKTtcblxuICBjb25zdCB2YWxpZGF0ZSA9IHBhcmFtcyA9PiB7XG4gICAgY29uc3QgcmVzID0gdmFsaWRhdG9yKHBhcmFtcyk7XG5cbiAgICAvLyBpZiAocmVzLmVycm9ycy5sZW5ndGgpIHtcbiAgICAvLyAgIGNvbnNvbGUubG9nKHJlcy5lcnJvcnMpO1xuICAgIC8vIH1cblxuICAgIHJldHVybiByZXMuZXJyb3JzLmxlbmd0aCA9PT0gMCA/IHRydWUgOiBmYWxzZTtcbiAgfTtcblxuICBjb25zdCBhc3NlcnRGYWlsID0gcmVzID0+IGFzc2VydC5vayghcmVzKTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGFsbG93IG1hbnVhbCByZXRyeScsICgpID0+IHtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBhbGxvd01hbnVhbFJldHJ5OiB0cnVlIH0pKTtcbiAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHsgYWxsb3dNYW51YWxSZXRyeToge30gfSkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGFjY2VwdCBwYXJhbScsICgpID0+IHtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBhY2NlcHQ6ICdpbWFnZS9qcGVnJyB9KSk7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgYWNjZXB0OiBbJ2ltYWdlL2pwZWcnLCAnaW1hZ2UvcG5nJywgJyonXSB9KSk7XG4gICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7IGFjY2VwdDoge30gfSkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGZyb21Tb3VyY2VzIHBhcmFtJywgKCkgPT4ge1xuICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7IGZyb21Tb3VyY2VzOiBbJ3VybCcsICdmYWNlYm9vayddIH0pKTtcbiAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHsgZnJvbVNvdXJjZXM6IFsnd3Jvbmdfc291cmNlJ10gfSkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGZyb21Tb3VyY2VzIHBhcmFtIHR5cGUgb2JqZWN0JywgKCkgPT4ge1xuICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7IGZyb21Tb3VyY2VzOiBbJ3VybCcsIHsgdGVzdDogMTIzIH0sIHsgdGVzdDogKCkgPT4gY29uc29sZS5sb2cgfV0gfSkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvbnRhaW5lciBwYXJhbScsICgpID0+IHtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBjb250YWluZXI6ICd0ZXN0JyB9KSk7XG5cbiAgICBjb25zdCBub2RlRGl2ID0gSlNET00uZnJhZ21lbnQoYDxkaXY+SGVsbG88L2Rpdj5gKS5xdWVyeVNlbGVjdG9yKCdkaXYnKTtcbiAgICBjb25zdCBub2RlUCA9IEpTRE9NLmZyYWdtZW50KGA8cD5IZWxsbzwvcD5gKS5xdWVyeVNlbGVjdG9yKCdwJyk7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgY29udGFpbmVyOiBub2RlRGl2IH0pKTtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBjb250YWluZXI6IG5vZGVQIH0pKTtcbiAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHsgY29udGFpbmVyOiB7fSB9KSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgY2xlYW51cEltYWdlRXhpZiBwYXJhbScsICgpID0+IHtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBjbGVhbnVwSW1hZ2VFeGlmOiB0cnVlIH0pKTtcbiAgICBhc3NlcnQub2soXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIGNsZWFudXBJbWFnZUV4aWY6IHtcbiAgICAgICAgICBrZWVwT3JpZW50YXRpb246IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG4gICAgYXNzZXJ0RmFpbChcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgY2xlYW51cEltYWdlRXhpZjoge1xuICAgICAgICAgIHRlc3Q6IDEsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgZGlzcGxheU1vZGUgcGFyYW0nLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgZGlzcGxheU1vZGU6ICdpbmxpbmUnIH0pKTtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBkaXNwbGF5TW9kZTogJ292ZXJsYXknIH0pKTtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBkaXNwbGF5TW9kZTogJ2Ryb3BQYW5lJyB9KSk7XG4gICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7IGRpc3BsYXlNb2RlOiAndGVzdCcgfSkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGltYWdlRGltIHBhcmFtJywgKCkgPT4ge1xuICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7IGltYWdlRGltOiBbMTAwLCAxMDBdIH0pKTtcbiAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHsgaW1hZ2VEaW06IFswLCAxXSB9KSk7XG4gICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7IGltYWdlRGltOiBbMTAwLCAxMDAsIDNdIH0pKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBzdG9yZVRvIFBhcmFtcycsICgpID0+IHtcbiAgICBhc3NlcnQub2soXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIHN0b3JlVG86IHtcbiAgICAgICAgICBmaWxlbmFtZTogJ3Rlc3QnLFxuICAgICAgICAgIGxvY2F0aW9uOiAnczMnLFxuICAgICAgICAgIHBhdGg6ICcvdGVzdC8nLFxuICAgICAgICAgIHJlZ2lvbjogJ3Rlc3QnLFxuICAgICAgICAgIGFjY2VzczogJ3B1YmxpYycsXG4gICAgICAgICAgd29ya2Zsb3dzOiBbJ3Rlc3QnXSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGFzc2VydC5vayhcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgc3RvcmVUbzoge1xuICAgICAgICAgIGZpbGVuYW1lOiAndGVzdCcsXG4gICAgICAgICAgbG9jYXRpb246ICdzMycsXG4gICAgICAgICAgcGF0aDogJy90ZXN0LycsXG4gICAgICAgICAgcmVnaW9uOiAndGVzdCcsXG4gICAgICAgICAgYWNjZXNzOiAncHJpdmF0ZScsXG4gICAgICAgICAgd29ya2Zsb3dzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAndGVzdCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBhc3NlcnRGYWlsKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICBzdG9yZVRvOiB7XG4gICAgICAgICAgd29ya2Zsb3dzOiB7fSxcbiAgICAgICAgICBhY2Nlc3M6ICdub25lJyxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSB0cmFuc2Zvcm1hdGlvbnMgcGFyYW0nLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICB0cmFuc2Zvcm1hdGlvbnM6IHtcbiAgICAgICAgICBjaXJjbGU6IHRydWUsXG4gICAgICAgICAgcm90YXRlOiB0cnVlLFxuICAgICAgICAgIGNyb3A6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBhc3NlcnQub2soXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIHRyYW5zZm9ybWF0aW9uczoge1xuICAgICAgICAgIGNpcmNsZTogZmFsc2UsXG4gICAgICAgICAgcm90YXRlOiBmYWxzZSxcbiAgICAgICAgICBjcm9wOiB7XG4gICAgICAgICAgICBmb3JjZTogdHJ1ZSxcbiAgICAgICAgICAgIGFzcGVjdFJhdGlvOiAxIC8gMixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgYXNzZXJ0RmFpbChcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgdHJhbnNmb3JtYXRpb25zOiB7XG4gICAgICAgICAgdGVzdDogMTIzLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGN1c3RvbVRleHQgcGFyYW0nLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICBjdXN0b21UZXh0OiB7XG4gICAgICAgICAgc29tZXRlc3Q6ICd0ZXN0dGV4dCcsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG4gICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7IGN1c3RvbVRleHQ6IFsndGVzdCcsICd0czEnXSB9KSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgY3VzdG9tQXV0aFRleHQgcGFyYW0nLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICBjdXN0b21BdXRoVGV4dDoge1xuICAgICAgICAgIHRlc3Q6IHtcbiAgICAgICAgICAgIHRvcDogJ3Rlc3QnLFxuICAgICAgICAgICAgYm90dG9tOiAndGVzdDInLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBhc3NlcnRGYWlsKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICBjdXN0b21BdXRoVGV4dDoge1xuICAgICAgICAgIHRlc3Q6IHtcbiAgICAgICAgICAgIHRvcDogJ3Rlc3QnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBhc3NlcnRGYWlsKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICBjdXN0b21BdXRoVGV4dDoge1xuICAgICAgICAgIHRlc3Q6ICcxMjMnLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlICcsICgpID0+IHtcbiAgICBhc3NlcnQub2soXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIHVwbG9hZENvbmZpZzoge1xuICAgICAgICAgIHBhcnRTaXplOiA1ICogMTAyNCAqIDEwMjQsXG4gICAgICAgICAgaW50ZWxsaWdlbnQ6IHRydWUsXG4gICAgICAgICAgb25Qcm9ncmVzczogKCkgPT4gY29uc29sZSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGFzc2VydC5vayhcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgdXBsb2FkQ29uZmlnOiB7XG4gICAgICAgICAgaW50ZWxsaWdlbnQ6ICdmYWxsYmFjaycsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBhc3NlcnRGYWlsKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICB1cGxvYWRDb25maWc6IHtcbiAgICAgICAgICBwYXJ0U2l6ZTogMTAwLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgYXNzZXJ0RmFpbChcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgdXBsb2FkQ29uZmlnOiB7XG4gICAgICAgICAgcHJvZ3Jlc3NJbnRlcnZhbDogMCxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGFzc2VydEZhaWwoXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIHVwbG9hZENvbmZpZzoge1xuICAgICAgICAgIGNvbmN1cnJlbmN5OiAwLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuICB9KTtcbn0pO1xuIl19
export declare const PreviewParamsSchema: {
'$schema': string;
$schema: string;
title: string;

@@ -4,0 +4,0 @@ description: string;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PreviewParamsSchema = void 0;
/*

@@ -35,2 +36,2 @@ * Copyright (c) 2018 by Filestack.

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvcHJldmlldy5zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDVSxRQUFBLG1CQUFtQixHQUFHO0lBQ2pDLFNBQVMsRUFBRSx5Q0FBeUM7SUFDcEQsS0FBSyxFQUFFLG1CQUFtQjtJQUMxQixXQUFXLEVBQUUsMkJBQTJCO0lBQ3hDLElBQUksRUFBRSxRQUFRO0lBQ2Qsb0JBQW9CLEVBQUUsS0FBSztJQUMzQixVQUFVLEVBQUU7UUFDVixFQUFFLEVBQUU7WUFDRixJQUFJLEVBQUUsUUFBUTtTQUNmO1FBQ0QsR0FBRyxFQUFFO1lBQ0gsSUFBSSxFQUFFLFFBQVE7U0FDZjtLQUNGO0NBQ0YsQ0FBQyIsImZpbGUiOiJzY2hlbWEvcHJldmlldy5zY2hlbWEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFByZXZpZXdQYXJhbXNTY2hlbWEgPSB7XG4gICckc2NoZW1hJzogJ2h0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIycsXG4gIHRpdGxlOiAnRmlsZXN0YWNrIFByZXZpZXcnLFxuICBkZXNjcmlwdGlvbjogJ0ZpbGVzdGFjayBQcmV2aWV3IE9wdGlvbnMnLFxuICB0eXBlOiAnb2JqZWN0JyxcbiAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgaWQ6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIH0sXG4gICAgY3NzOiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB9LFxuICB9LFxufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvcHJldmlldy5zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ1UsUUFBQSxtQkFBbUIsR0FBRztJQUNqQyxTQUFTLEVBQUUseUNBQXlDO0lBQ3BELEtBQUssRUFBRSxtQkFBbUI7SUFDMUIsV0FBVyxFQUFFLDJCQUEyQjtJQUN4QyxJQUFJLEVBQUUsUUFBUTtJQUNkLG9CQUFvQixFQUFFLEtBQUs7SUFDM0IsVUFBVSxFQUFFO1FBQ1YsRUFBRSxFQUFFO1lBQ0YsSUFBSSxFQUFFLFFBQVE7U0FDZjtRQUNELEdBQUcsRUFBRTtZQUNILElBQUksRUFBRSxRQUFRO1NBQ2Y7S0FDRjtDQUNGLENBQUMiLCJmaWxlIjoic2NoZW1hL3ByZXZpZXcuc2NoZW1hLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmV4cG9ydCBjb25zdCBQcmV2aWV3UGFyYW1zU2NoZW1hID0ge1xuICAnJHNjaGVtYSc6ICdodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMnLFxuICB0aXRsZTogJ0ZpbGVzdGFjayBQcmV2aWV3JyxcbiAgZGVzY3JpcHRpb246ICdGaWxlc3RhY2sgUHJldmlldyBPcHRpb25zJyxcbiAgdHlwZTogJ29iamVjdCcsXG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgcHJvcGVydGllczoge1xuICAgIGlkOiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB9LFxuICAgIGNzczoge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgfSxcbiAgfSxcbn07XG4iXX0=
export declare const RetrieveParamsSchema: {
'$schema': string;
$schema: string;
title: string;

@@ -4,0 +4,0 @@ description: string;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RetrieveParamsSchema = void 0;
/*

@@ -44,2 +45,2 @@ * Copyright (c) 2018 by Filestack.

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvcmV0cmlldmUuc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ1UsUUFBQSxvQkFBb0IsR0FBRztJQUNsQyxTQUFTLEVBQUUseUNBQXlDO0lBQ3BELEtBQUssRUFBRSxvQkFBb0I7SUFDM0IsV0FBVyxFQUFFLDRCQUE0QjtJQUN6QyxJQUFJLEVBQUUsUUFBUTtJQUNkLG9CQUFvQixFQUFFLEtBQUs7SUFDM0IsVUFBVSxFQUFFO1FBQ1YsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELEVBQUUsRUFBRTtZQUNGLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsUUFBUTtTQUNmO0tBQ0Y7Q0FDRixDQUFDIiwiZmlsZSI6InNjaGVtYS9yZXRyaWV2ZS5zY2hlbWEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFJldHJpZXZlUGFyYW1zU2NoZW1hID0ge1xuICAnJHNjaGVtYSc6ICdodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMnLFxuICB0aXRsZTogJ0ZpbGVzdGFjayBSZXRyaWV2ZScsXG4gIGRlc2NyaXB0aW9uOiAnRmlsZXN0YWNrIFJldHJpZXZlIE9wdGlvbnMnLFxuICB0eXBlOiAnb2JqZWN0JyxcbiAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgbWV0YWRhdGE6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIGhlYWQ6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIGRsOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBjYWNoZToge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgZXh0ZW5zaW9uOiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB9LFxuICB9LFxufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvcmV0cmlldmUuc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNVLFFBQUEsb0JBQW9CLEdBQUc7SUFDbEMsU0FBUyxFQUFFLHlDQUF5QztJQUNwRCxLQUFLLEVBQUUsb0JBQW9CO0lBQzNCLFdBQVcsRUFBRSw0QkFBNEI7SUFDekMsSUFBSSxFQUFFLFFBQVE7SUFDZCxvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLFVBQVUsRUFBRTtRQUNWLFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxFQUFFLEVBQUU7WUFDRixJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFFBQVE7U0FDZjtLQUNGO0NBQ0YsQ0FBQyIsImZpbGUiOiJzY2hlbWEvcmV0cmlldmUuc2NoZW1hLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmV4cG9ydCBjb25zdCBSZXRyaWV2ZVBhcmFtc1NjaGVtYSA9IHtcbiAgJyRzY2hlbWEnOiAnaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjJyxcbiAgdGl0bGU6ICdGaWxlc3RhY2sgUmV0cmlldmUnLFxuICBkZXNjcmlwdGlvbjogJ0ZpbGVzdGFjayBSZXRyaWV2ZSBPcHRpb25zJyxcbiAgdHlwZTogJ29iamVjdCcsXG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgcHJvcGVydGllczoge1xuICAgIG1ldGFkYXRhOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBoZWFkOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICBkbDoge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgY2FjaGU6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIGV4dGVuc2lvbjoge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgfSxcbiAgfSxcbn07XG4iXX0=
export declare const SecurityParamsSchema: {
'$schema': string;
$schema: string;
title: string;

@@ -12,3 +12,3 @@ description: string;

call: {
'$ref': string;
$ref: string;
};

@@ -15,0 +15,0 @@ handle: {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SecurityParamsSchema = void 0;
/*

@@ -53,2 +54,2 @@ * Copyright (c) 2018 by Filestack.

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvc2VjdXJpdHkuc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ1UsUUFBQSxvQkFBb0IsR0FBRztJQUNsQyxTQUFTLEVBQUUseUNBQXlDO0lBQ3BELEtBQUssRUFBRSxvQkFBb0I7SUFDM0IsV0FBVyxFQUFFLDRCQUE0QjtJQUN6QyxJQUFJLEVBQUUsUUFBUTtJQUNkLG9CQUFvQixFQUFFLEtBQUs7SUFDM0IsVUFBVSxFQUFFO1FBQ1YsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLFFBQVE7U0FDZjtRQUNELElBQUksRUFBRTtZQUNKLE1BQU0sRUFBRSxpQkFBaUI7U0FDMUI7UUFDRCxNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsUUFBUTtTQUNmO1FBQ0QsR0FBRyxFQUFFO1lBQ0gsSUFBSSxFQUFFLFFBQVE7U0FDZjtRQUNELE9BQU8sRUFBRTtZQUNQLElBQUksRUFBRSxRQUFRO1NBQ2Y7UUFDRCxPQUFPLEVBQUU7WUFDUCxJQUFJLEVBQUUsUUFBUTtTQUNmO1FBQ0QsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7U0FDZjtRQUNELFNBQVMsRUFBRTtZQUNULElBQUksRUFBRSxRQUFRO1NBQ2Y7S0FDRjtDQUNGLENBQUMiLCJmaWxlIjoic2NoZW1hL3NlY3VyaXR5LnNjaGVtYS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5leHBvcnQgY29uc3QgU2VjdXJpdHlQYXJhbXNTY2hlbWEgPSB7XG4gICckc2NoZW1hJzogJ2h0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIycsXG4gIHRpdGxlOiAnRmlsZXN0YWNrIFNlY3VyaXR5JyxcbiAgZGVzY3JpcHRpb246ICdGaWxlc3RhY2sgU2VjdXJpdHkgT3B0aW9ucycsXG4gIHR5cGU6ICdvYmplY3QnLFxuICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gIHByb3BlcnRpZXM6IHtcbiAgICBleHBpcnk6IHtcbiAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgIH0sXG4gICAgY2FsbDoge1xuICAgICAgJyRyZWYnOiAnc2VjdXJpdHlDYWxsRGVmJyxcbiAgICB9LFxuICAgIGhhbmRsZToge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgfSxcbiAgICB1cmw6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIH0sXG4gICAgbWF4U2l6ZToge1xuICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgfSxcbiAgICBtaW5TaXplOiB7XG4gICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICB9LFxuICAgIHBhdGg6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIH0sXG4gICAgY29udGFpbmVyOiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB9LFxuICB9LFxufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvc2VjdXJpdHkuc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNVLFFBQUEsb0JBQW9CLEdBQUc7SUFDbEMsU0FBUyxFQUFFLHlDQUF5QztJQUNwRCxLQUFLLEVBQUUsb0JBQW9CO0lBQzNCLFdBQVcsRUFBRSw0QkFBNEI7SUFDekMsSUFBSSxFQUFFLFFBQVE7SUFDZCxvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLFVBQVUsRUFBRTtRQUNWLE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxRQUFRO1NBQ2Y7UUFDRCxJQUFJLEVBQUU7WUFDSixNQUFNLEVBQUUsaUJBQWlCO1NBQzFCO1FBQ0QsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLFFBQVE7U0FDZjtRQUNELEdBQUcsRUFBRTtZQUNILElBQUksRUFBRSxRQUFRO1NBQ2Y7UUFDRCxPQUFPLEVBQUU7WUFDUCxJQUFJLEVBQUUsUUFBUTtTQUNmO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFFBQVE7U0FDZjtRQUNELElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1NBQ2Y7UUFDRCxTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsUUFBUTtTQUNmO0tBQ0Y7Q0FDRixDQUFDIiwiZmlsZSI6InNjaGVtYS9zZWN1cml0eS5zY2hlbWEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFNlY3VyaXR5UGFyYW1zU2NoZW1hID0ge1xuICAnJHNjaGVtYSc6ICdodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMnLFxuICB0aXRsZTogJ0ZpbGVzdGFjayBTZWN1cml0eScsXG4gIGRlc2NyaXB0aW9uOiAnRmlsZXN0YWNrIFNlY3VyaXR5IE9wdGlvbnMnLFxuICB0eXBlOiAnb2JqZWN0JyxcbiAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgZXhwaXJ5OiB7XG4gICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICB9LFxuICAgIGNhbGw6IHtcbiAgICAgICckcmVmJzogJ3NlY3VyaXR5Q2FsbERlZicsXG4gICAgfSxcbiAgICBoYW5kbGU6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIH0sXG4gICAgdXJsOiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB9LFxuICAgIG1heFNpemU6IHtcbiAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgIH0sXG4gICAgbWluU2l6ZToge1xuICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgfSxcbiAgICBwYXRoOiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB9LFxuICAgIGNvbnRhaW5lcjoge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgfSxcbiAgfSxcbn07XG4iXX0=
export declare const StoreParamsSchema: {
'$schema': string;
$schema: string;
title: string;

@@ -18,3 +18,3 @@ description: string;

location: {
'$ref': string;
$ref: string;
};

@@ -28,3 +28,3 @@ path: {

region: {
'$ref': string;
$ref: string;
};

@@ -40,3 +40,3 @@ access: {

workflows: {
'$ref': string;
$ref: string;
};

@@ -43,0 +43,0 @@ disableStorageKey: {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.StoreParamsSchema = void 0;
/*

@@ -87,2 +88,2 @@ * Copyright (c) 2018 by Filestack.

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvc3RvcmUuc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ1UsUUFBQSxpQkFBaUIsR0FBRztJQUMvQixTQUFTLEVBQUUseUNBQXlDO0lBQ3BELEtBQUssRUFBRSxpQkFBaUI7SUFDeEIsV0FBVyxFQUFFLHlCQUF5QjtJQUN0QyxJQUFJLEVBQUUsUUFBUTtJQUNkLG9CQUFvQixFQUFFLEtBQUs7SUFDM0IsVUFBVSxFQUFFO1FBQ1YsUUFBUSxFQUFFO1lBQ1IsS0FBSyxFQUFFLENBQUM7b0JBQ04sSUFBSSxFQUFFLFFBQVE7aUJBQ2YsRUFBRTtvQkFDRCxNQUFNLEVBQUUsVUFBVTtpQkFDbkIsQ0FBQztTQUNIO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsTUFBTSxFQUFFLGNBQWM7U0FDdkI7UUFDRCxJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsUUFBUTtTQUNmO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFFBQVE7U0FDZjtRQUNELE1BQU0sRUFBRTtZQUNOLE1BQU0sRUFBRSxZQUFZO1NBQ3JCO1FBQ0QsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDO1lBQzNCLE9BQU8sRUFBRSxTQUFTO1NBQ25CO1FBQ0QsWUFBWSxFQUFFO1lBQ1osSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxTQUFTLEVBQUU7WUFDVCxNQUFNLEVBQUUsY0FBYztTQUN2QjtRQUNELGlCQUFpQixFQUFFO1lBQ2pCLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7WUFDZCxvQkFBb0IsRUFBRTtnQkFDcEIsSUFBSSxFQUFFLFFBQVE7YUFDZjtTQUNGO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsS0FBSyxFQUFFLENBQUM7b0JBQ04sSUFBSSxFQUFFLFNBQVM7aUJBQ2hCLEVBQUU7b0JBQ0QsSUFBSSxFQUFFLFFBQVE7b0JBQ2Qsb0JBQW9CLEVBQUUsS0FBSztvQkFDM0IsVUFBVSxFQUFFO3dCQUNWLE9BQU8sRUFBRTs0QkFDUCxJQUFJLEVBQUUsT0FBTzs0QkFDYixLQUFLLEVBQUUsQ0FBQztvQ0FDTixJQUFJLEVBQUUsUUFBUTtpQ0FDZixDQUFDO3lCQUNIO3dCQUNELFdBQVcsRUFBRTs0QkFDWCxJQUFJLEVBQUUsUUFBUTt5QkFDZjtxQkFDRjtpQkFDRixDQUFDO1NBQ0g7S0FDRjtDQUNGLENBQUMiLCJmaWxlIjoic2NoZW1hL3N0b3JlLnNjaGVtYS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5leHBvcnQgY29uc3QgU3RvcmVQYXJhbXNTY2hlbWEgPSB7XG4gICckc2NoZW1hJzogJ2h0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIycsXG4gIHRpdGxlOiAnRmlsZXN0YWNrIFN0b3JlJyxcbiAgZGVzY3JpcHRpb246ICdGaWxlc3RhY2sgU3RvcmUgT3B0aW9ucycsXG4gIHR5cGU6ICdvYmplY3QnLFxuICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gIHByb3BlcnRpZXM6IHtcbiAgICBmaWxlbmFtZToge1xuICAgICAgb25lT2Y6IFt7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgfSwge1xuICAgICAgICBmb3JtYXQ6ICdjYWxsYmFjaycsXG4gICAgICB9XSxcbiAgICB9LFxuICAgIGxvY2F0aW9uOiB7XG4gICAgICAnJHJlZic6ICdsb2NhdGlvbnNEZWYnLFxuICAgIH0sXG4gICAgcGF0aDoge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgfSxcbiAgICBjb250YWluZXI6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIH0sXG4gICAgcmVnaW9uOiB7XG4gICAgICAnJHJlZic6ICdyZWdpb25zRGVmJyxcbiAgICB9LFxuICAgIGFjY2Vzczoge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBlbnVtOiBbJ3B1YmxpYycsICdwcml2YXRlJ10sXG4gICAgICBkZWZhdWx0OiAncHJpdmF0ZScsXG4gICAgfSxcbiAgICBiYXNlNjRkZWNvZGU6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIHdvcmtmbG93czoge1xuICAgICAgJyRyZWYnOiAnd29ya2Zsb3dzRGVmJyxcbiAgICB9LFxuICAgIGRpc2FibGVTdG9yYWdlS2V5OiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICB0YWdzOiB7XG4gICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHNhbml0aXplcjoge1xuICAgICAgb25lT2Y6IFt7XG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIH0sIHtcbiAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGV4Y2x1ZGU6IHtcbiAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICBpdGVtczogW3tcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICB9XSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcGxhY2VtZW50OiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfV0sXG4gICAgfSxcbiAgfSxcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvc3RvcmUuc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNVLFFBQUEsaUJBQWlCLEdBQUc7SUFDL0IsU0FBUyxFQUFFLHlDQUF5QztJQUNwRCxLQUFLLEVBQUUsaUJBQWlCO0lBQ3hCLFdBQVcsRUFBRSx5QkFBeUI7SUFDdEMsSUFBSSxFQUFFLFFBQVE7SUFDZCxvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLFVBQVUsRUFBRTtRQUNWLFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxDQUFDO29CQUNOLElBQUksRUFBRSxRQUFRO2lCQUNmLEVBQUU7b0JBQ0QsTUFBTSxFQUFFLFVBQVU7aUJBQ25CLENBQUM7U0FDSDtRQUNELFFBQVEsRUFBRTtZQUNSLE1BQU0sRUFBRSxjQUFjO1NBQ3ZCO1FBQ0QsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7U0FDZjtRQUNELFNBQVMsRUFBRTtZQUNULElBQUksRUFBRSxRQUFRO1NBQ2Y7UUFDRCxNQUFNLEVBQUU7WUFDTixNQUFNLEVBQUUsWUFBWTtTQUNyQjtRQUNELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxRQUFRO1lBQ2QsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQztZQUMzQixPQUFPLEVBQUUsU0FBUztTQUNuQjtRQUNELFlBQVksRUFBRTtZQUNaLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsTUFBTSxFQUFFLGNBQWM7U0FDdkI7UUFDRCxpQkFBaUIsRUFBRTtZQUNqQixJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1lBQ2Qsb0JBQW9CLEVBQUU7Z0JBQ3BCLElBQUksRUFBRSxRQUFRO2FBQ2Y7U0FDRjtRQUNELFNBQVMsRUFBRTtZQUNULEtBQUssRUFBRSxDQUFDO29CQUNOLElBQUksRUFBRSxTQUFTO2lCQUNoQixFQUFFO29CQUNELElBQUksRUFBRSxRQUFRO29CQUNkLG9CQUFvQixFQUFFLEtBQUs7b0JBQzNCLFVBQVUsRUFBRTt3QkFDVixPQUFPLEVBQUU7NEJBQ1AsSUFBSSxFQUFFLE9BQU87NEJBQ2IsS0FBSyxFQUFFLENBQUM7b0NBQ04sSUFBSSxFQUFFLFFBQVE7aUNBQ2YsQ0FBQzt5QkFDSDt3QkFDRCxXQUFXLEVBQUU7NEJBQ1gsSUFBSSxFQUFFLFFBQVE7eUJBQ2Y7cUJBQ0Y7aUJBQ0YsQ0FBQztTQUNIO0tBQ0Y7Q0FDRixDQUFDIiwiZmlsZSI6InNjaGVtYS9zdG9yZS5zY2hlbWEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFN0b3JlUGFyYW1zU2NoZW1hID0ge1xuICAnJHNjaGVtYSc6ICdodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMnLFxuICB0aXRsZTogJ0ZpbGVzdGFjayBTdG9yZScsXG4gIGRlc2NyaXB0aW9uOiAnRmlsZXN0YWNrIFN0b3JlIE9wdGlvbnMnLFxuICB0eXBlOiAnb2JqZWN0JyxcbiAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgZmlsZW5hbWU6IHtcbiAgICAgIG9uZU9mOiBbe1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIH0sIHtcbiAgICAgICAgZm9ybWF0OiAnY2FsbGJhY2snLFxuICAgICAgfV0sXG4gICAgfSxcbiAgICBsb2NhdGlvbjoge1xuICAgICAgJyRyZWYnOiAnbG9jYXRpb25zRGVmJyxcbiAgICB9LFxuICAgIHBhdGg6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIH0sXG4gICAgY29udGFpbmVyOiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB9LFxuICAgIHJlZ2lvbjoge1xuICAgICAgJyRyZWYnOiAncmVnaW9uc0RlZicsXG4gICAgfSxcbiAgICBhY2Nlc3M6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgZW51bTogWydwdWJsaWMnLCAncHJpdmF0ZSddLFxuICAgICAgZGVmYXVsdDogJ3ByaXZhdGUnLFxuICAgIH0sXG4gICAgYmFzZTY0ZGVjb2RlOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICB3b3JrZmxvd3M6IHtcbiAgICAgICckcmVmJzogJ3dvcmtmbG93c0RlZicsXG4gICAgfSxcbiAgICBkaXNhYmxlU3RvcmFnZUtleToge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0sXG4gICAgdGFnczoge1xuICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoge1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBzYW5pdGl6ZXI6IHtcbiAgICAgIG9uZU9mOiBbe1xuICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICB9LCB7XG4gICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBleGNsdWRlOiB7XG4gICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgICAgaXRlbXM6IFt7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgfV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXBsYWNlbWVudDoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH1dLFxuICAgIH0sXG4gIH0sXG59O1xuIl19
export declare const TransformSchema: {
'$schema': string;
$schema: string;
title: string;

@@ -128,7 +128,7 @@ description: string;

background: {
'$ref': string;
$ref: string;
default: string;
};
align: {
'$ref': string;
$ref: string;
default: string;

@@ -171,3 +171,3 @@ };

align: {
'$ref': string;
$ref: string;
default: string;

@@ -217,3 +217,3 @@ };

background: {
'$ref': string;
$ref: string;
default: string;

@@ -248,3 +248,3 @@ };

color: {
'$ref': string;
$ref: string;
default: string;

@@ -266,3 +266,3 @@ };

default: number;
'$ref': string;
$ref: string;
};

@@ -314,3 +314,3 @@ width: {

faces: {
'$ref': string;
$ref: string;
default: string;

@@ -365,3 +365,3 @@ };

faces: {
'$ref': string;
$ref: string;
default: string;

@@ -435,3 +435,3 @@ };

background: {
'$ref': string;
$ref: string;
};

@@ -462,3 +462,3 @@ };

background: {
'$ref': string;
$ref: string;
};

@@ -483,7 +483,7 @@ };

color: {
'$ref': string;
$ref: string;
default: string;
};
background: {
'$ref': string;
$ref: string;
};

@@ -514,3 +514,3 @@ };

background: {
'$ref': string;
$ref: string;
};

@@ -553,6 +553,6 @@ };

color: {
'$ref': string;
$ref: string;
};
background: {
'$ref': string;
$ref: string;
};

@@ -572,3 +572,3 @@ };

background: {
'$ref': string;
$ref: string;
};

@@ -588,6 +588,6 @@ };

color: {
'$ref': string;
$ref: string;
};
background: {
'$ref': string;
$ref: string;
};

@@ -750,7 +750,7 @@ width: {

foreground: {
'$ref': string;
$ref: string;
default: string;
};
background: {
'$ref': string;
$ref: string;
default: string;

@@ -803,3 +803,3 @@ };

color: {
'$ref': string;
$ref: string;
default: string;

@@ -948,3 +948,3 @@ };

background: {
'$ref': string;
$ref: string;
};

@@ -1068,2 +1068,5 @@ pageformat: {

};
audio_codec: {
type: string;
};
audio_channels: {

@@ -1115,3 +1118,3 @@ type: string;

location: {
'$ref': string;
$ref: string;
};

@@ -1144,3 +1147,3 @@ path: {

location: {
'$ref': string;
$ref: string;
};

@@ -1154,3 +1157,3 @@ path: {

region: {
'$ref': string;
$ref: string;
};

@@ -1166,3 +1169,3 @@ access: {

workflows: {
'$ref': string;
$ref: string;
};

@@ -1184,3 +1187,3 @@ };

position: {
'$ref': string;
$ref: string;
};

@@ -1195,3 +1198,3 @@ };

objects: {
'$ref': string;
$ref: string;
};

@@ -1219,3 +1222,3 @@ amount: {

objects: {
'$ref': string;
$ref: string;
};

@@ -1274,6 +1277,6 @@ amount: {

pageformat: {
'$ref': string;
$ref: string;
};
pages: {
'$ref': string;
$ref: string;
};

@@ -1280,0 +1283,0 @@ };

@@ -19,6 +19,7 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
var assert = require("assert");
var tslib_1 = require("tslib");
var assert = tslib_1.__importStar(require("assert"));
var _1 = require("./");
describe('Transforms Schema', function () {
var validator = _1.getValidator(_1.TransformSchema);
var validator = (0, _1.getValidator)(_1.TransformSchema);
var validate = function (params) {

@@ -253,3 +254,3 @@ var res = validator(params);

[[1, 2], ['1-', 3], ['-2']].forEach(function (val) {
it("should validate on correct page \"" + val + "\"", function () {
it("should validate on correct page \"".concat(val, "\""), function () {
assert.ok(validate({

@@ -295,3 +296,3 @@ pdfconvert: {

['a2', 'a3', 'a4', 'a5', 'b4', 'b5', 'letter', 'legal', 'tabloid'].forEach(function (val) {
it("should when correct page format is provided " + val, function () {
it("should when correct page format is provided ".concat(val), function () {
assert.ok(validate({

@@ -605,2 +606,2 @@ pdfconvert: {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdHJhbnNmb3Jtcy5zY2hlbWEuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUVILCtCQUFpQztBQUNqQyx1QkFBbUQ7QUFFbkQsUUFBUSxDQUFDLG1CQUFtQixFQUFFO0lBRTVCLElBQU0sU0FBUyxHQUFHLGVBQVksQ0FBQyxrQkFBZSxDQUFDLENBQUM7SUFFaEQsSUFBTSxRQUFRLEdBQUcsVUFBQyxNQUFNO1FBQ3RCLElBQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDaEQsQ0FBQyxDQUFDO0lBRUYsSUFBTSxVQUFVLEdBQUcsVUFBQyxHQUFHLElBQUssT0FBQSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQWYsQ0FBZSxDQUFDO0lBRTVDLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRTtRQUM1Qix1QkFBdUI7SUFDekIsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsV0FBVyxFQUFFO1FBQ3BCLEVBQUUsQ0FBQyxnQ0FBZ0MsRUFBRTtZQUNuQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDakIsU0FBUyxFQUFFO29CQUNULElBQUksRUFBRSxnQkFBZ0I7b0JBQ3RCLElBQUksRUFBRSxHQUFHO29CQUNULFFBQVEsRUFBRSxLQUFLO2lCQUNoQjthQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsaURBQWlELEVBQUU7WUFDcEQsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ2pCLFNBQVMsRUFBRTtvQkFDVCxJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixJQUFJLEVBQUUsR0FBRztv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Qiw0QkFBNEI7QUFDNUIsaUJBQWlCO0FBQ2pCLGlCQUFpQjtBQUNqQixjQUFjO0FBQ2QsWUFBWTtBQUVaLDREQUE0RDtBQUM1RCxnQ0FBZ0M7QUFDaEMsMEJBQTBCO0FBQzFCLDJCQUEyQjtBQUMzQixlQUFlO0FBQ2YsZUFBZTtBQUNmLFlBQVk7QUFFWixVQUFVO0FBRVYsMkNBQTJDO0FBQzNDLHFFQUFxRTtBQUNyRSwrQkFBK0I7QUFDL0IsMEJBQTBCO0FBQzFCLDRDQUE0QztBQUM1QyxlQUFlO0FBQ2YsZUFBZTtBQUNmLFlBQVk7QUFFWixvRUFBb0U7QUFDcEUsK0JBQStCO0FBQy9CLDBCQUEwQjtBQUMxQiwyQ0FBMkM7QUFDM0MsZUFBZTtBQUNmLGVBQWU7QUFDZixZQUFZO0FBRVosb0VBQW9FO0FBQ3BFLGdDQUFnQztBQUNoQywwQkFBMEI7QUFDMUIsNkNBQTZDO0FBQzdDLGVBQWU7QUFDZixlQUFlO0FBQ2YsWUFBWTtBQUNaLFVBQVU7QUFFVixzQ0FBc0M7QUFDdEMsOEZBQThGO0FBQzlGLDJFQUEyRTtBQUMzRSxpQ0FBaUM7QUFDakMsNEJBQTRCO0FBQzVCLDhCQUE4QjtBQUM5QixpQ0FBaUM7QUFDakMsaUJBQWlCO0FBQ2pCLGlCQUFpQjtBQUNqQixjQUFjO0FBQ2QsWUFBWTtBQUVaLDhEQUE4RDtBQUM5RCxnQ0FBZ0M7QUFDaEMsMEJBQTBCO0FBQzFCLGlDQUFpQztBQUNqQyxlQUFlO0FBQ2YsZUFBZTtBQUNmLFlBQVk7QUFDWixVQUFVO0FBQ1YsUUFBUTtBQUNSLE1BQU0iLCJmaWxlIjoic2NoZW1hL3RyYW5zZm9ybXMuc2NoZW1hLnNwZWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IGdldFZhbGlkYXRvciwgVHJhbnNmb3JtU2NoZW1hIH0gZnJvbSAnLi8nO1xuXG5kZXNjcmliZSgnVHJhbnNmb3JtcyBTY2hlbWEnLCAoKSA9PiB7XG5cbiAgY29uc3QgdmFsaWRhdG9yID0gZ2V0VmFsaWRhdG9yKFRyYW5zZm9ybVNjaGVtYSk7XG5cbiAgY29uc3QgdmFsaWRhdGUgPSAocGFyYW1zKSA9PiB7XG4gICAgY29uc3QgcmVzID0gdmFsaWRhdG9yKHBhcmFtcyk7XG4gICAgcmV0dXJuIHJlcy5lcnJvcnMubGVuZ3RoID09PSAwID8gdHJ1ZSA6IGZhbHNlO1xuICB9O1xuXG4gIGNvbnN0IGFzc2VydEZhaWwgPSAocmVzKSA9PiBhc3NlcnQub2soIXJlcyk7XG5cbiAgaXQoJ3Nob3VsZCBsb2FkIGpzb24gc2NoZW1hJywgKCkgPT4ge1xuICAgIC8vIGNvbnNvbGUubG9nKHNjaGVtYSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdXYXRlcm1hcmsnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcycsICgpID0+IHtcbiAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgIHdhdGVybWFyazoge1xuICAgICAgICAgIGZpbGU6ICd0ZXN0ZmlsZWhhbmRsZScsXG4gICAgICAgICAgc2l6ZTogMzAwLFxuICAgICAgICAgIHBvc2l0aW9uOiAndG9wJyxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMgKHBvc2l0aW9uIGFycmF5KScsICgpID0+IHtcbiAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgIHdhdGVybWFyazoge1xuICAgICAgICAgIGZpbGU6ICd0ZXN0ZmlsZWhhbmRsZScsXG4gICAgICAgICAgc2l6ZTogMzAwLFxuICAgICAgICAgIHBvc2l0aW9uOiBbJ3RvcCcsICdsZWZ0J10sXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcG9zaXRpb24gcGFyYW1zIFt0b3AsIGJvdHRvbV0nLCAoKSA9PiB7XG4gICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbiAgICAgICAgd2F0ZXJtYXJrOiB7XG4gICAgICAgICAgZmlsZTogJ3Rlc3RmaWxlaGFuZGxlJyxcbiAgICAgICAgICBzaXplOiAzMDAsXG4gICAgICAgICAgcG9zaXRpb246IFsndG9wJywgJ2JvdHRvbSddLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnUGFydGlhbCBCbHVyJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICBwYXJ0aWFsX2JsdXI6IHtcbiAgICAgICAgICBvYmplY3RzOiBbXG4gICAgICAgICAgICBbMSwgMSwgMiwgMl0sXG4gICAgICAgICAgICBbMSwgMSwgMzIsIDE1XSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGFtb3VudDogMTguMixcbiAgICAgICAgICBibHVyOiAxMixcbiAgICAgICAgICB0eXBlOiAncmVjdCcsXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zIChhbW91bnQsIGJsdXIsIHR5cGUpJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4gICAgICAgIHBhcnRpYWxfYmx1cjoge1xuICAgICAgICAgIG9iamVjdHM6IFtcbiAgICAgICAgICAgIFsxLCAxLCAyLCAyXSxcbiAgICAgICAgICAgIFsxLCAxLCAzMiwgMTVdLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYW1vdW50OiAtMTAsXG4gICAgICAgICAgYmx1cjogMzAwLFxuICAgICAgICAgIHR5cGU6ICd3cm9uZ190eXBlJyxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKG9iamVjdHMpJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4gICAgICAgIHBhcnRpYWxfYmx1cjoge1xuICAgICAgICAgIG9iamVjdHM6IFtcbiAgICAgICAgICAgIFsxLCAxLCAyXSxcbiAgICAgICAgICAgIFsxLCAxLCAzMiwgMTUsIDMyXSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGFtb3VudDogMTAsXG4gICAgICAgICAgYmx1cjogMjAsXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdQYXJ0aWFsIFBpeGVsYXRlJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICBwYXJ0aWFsX3BpeGVsYXRlOiB7XG4gICAgICAgICAgb2JqZWN0czogW1xuICAgICAgICAgICAgWzEsIDEsIDIsIDJdLFxuICAgICAgICAgICAgWzEsIDEsIDMyLCAxNV0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBhbW91bnQ6IDEwMCxcbiAgICAgICAgICBibHVyOiAxMi4yLFxuICAgICAgICAgIHR5cGU6ICdvdmFsJyxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKGFtb3VudCwgYmx1ciwgdHlwZSknLCAoKSA9PiB7XG4gICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbiAgICAgICAgcGFydGlhbF9waXhlbGF0ZToge1xuICAgICAgICAgIG9iamVjdHM6IFtcbiAgICAgICAgICAgIFsxLCAxLCAyLCAyXSxcbiAgICAgICAgICAgIFsxLCAxLCAzMiwgMTVdLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYW1vdW50OiAtMTAsXG4gICAgICAgICAgYmx1cjogMzAwLFxuICAgICAgICAgIHR5cGU6ICd3cm9uZ190eXBlJyxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKG9iamVjdHMpJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4gICAgICAgIHBhcnRpYWxfcGl4ZWxhdGU6IHtcbiAgICAgICAgICBvYmplY3RzOiBbXG4gICAgICAgICAgICBbMSwgMSwgMl0sXG4gICAgICAgICAgICBbMSwgMSwgMzIsIDE1LCAzMl0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBhbW91bnQ6IDEwLFxuICAgICAgICAgIGJsdXI6IDIwLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnQ3JvcCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgY3JvcDoge1xuICAgICAgICAgIGRpbTogWzEsIDEsIDIsIDJdLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIG9uIGVtcHR5IGRpbSBwYXJhbXMnLCAoKSA9PiB7XG4gICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbiAgICAgICAgY3JvcDoge1xuICAgICAgICAgIGRpbTogW10sXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zIChtaW5pbXVtIHZhbHVlIGZvciAyIGZpcnN0IGl0ZW1zKScsICgpID0+IHtcbiAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuICAgICAgICBjcm9wOiB7XG4gICAgICAgICAgZGltOiBbMiwgMSwgMCwgMl0sXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zICg1IGl0ZW1zIGluIGFycmF5KScsICgpID0+IHtcbiAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuICAgICAgICBjcm9wOiB7XG4gICAgICAgICAgZGltOiBbMSwgMSwgMiwgMiwgNF0sXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdSZXNpemUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcycsICgpID0+IHtcbiAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgIHJlc2l6ZToge1xuICAgICAgICAgIHdpZHRoOiAxMCxcbiAgICAgICAgICBoZWlnaHQ6IDIwLFxuICAgICAgICAgIGZpdDogJ2Nyb3AnLFxuICAgICAgICAgIGFsaWduOiBbJ3RvcCcsICdsZWZ0J10sXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3Qgd2hlbiBvbmx5IG9uZSB3aWR0aCBvciBoZWlnaHQgaXMgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICByZXNpemU6IHtcbiAgICAgICAgICB3aWR0aDogMTAsXG4gICAgICAgICAgZml0OiAnY3JvcCcsXG4gICAgICAgICAgYWxpZ246ICdsZWZ0JyxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcblxuICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgcmVzaXplOiB7XG4gICAgICAgICAgaGVpZ2h0OiAxMCxcbiAgICAgICAgICBmaXQ6ICdjcm9wJyxcbiAgICAgICAgICBhbGlnbjogJ2xlZnQnLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAobWlzc2luZyB3aWR0aCBhbmQgaGVpZ2h0KScsICgpID0+IHtcbiAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuICAgICAgICByZXNpemU6IHtcbiAgICAgICAgICBmaXQ6ICdjcm9wJyxcbiAgICAgICAgICBhbGlnbjogJ2xlZnQnLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnUmVzaXplJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICByb3RhdGU6IHtcbiAgICAgICAgICBkZWc6ICdleGlmJyxcbiAgICAgICAgICBleGlmOiBmYWxzZSxcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAnZmZmJyxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICByb3RhdGU6IHtcbiAgICAgICAgICBkZWc6IDIwMCxcbiAgICAgICAgICBleGlmOiB0cnVlLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICdmZmZmZmYnLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAod3JvbmcgZXhpZiByb3RhdGlvbiknLCAoKSA9PiB7XG4gICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbiAgICAgICAgcm90YXRlOiB7XG4gICAgICAgICAgZGVnOiAxMjMsXG4gICAgICAgICAgZXhpZjogJ3RydWUnLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICdmZmZmZmYnLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnUGRmaW5mbycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zIHdpdGggYm9vbCB2YWx1ZScsICgpID0+IHtcbiAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgIHBkZmluZm86IHRydWUsXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zIHdpdGggY29sb3IgaW5mbycsICgpID0+IHtcbiAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgIHBkZmluZm86IHtcbiAgICAgICAgICBjb2xvcmluZm86IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdQZGZjb252ZXJ0JywgKCkgPT4ge1xuICAgIGRlc2NyaWJlKCdQYWdlcycsICgpID0+IHtcbiAgICAgIFtbMSwyXSwgWycxLScsIDNdLCBbJy0yJ11dLmZvckVhY2goKHZhbCkgPT4ge1xuICAgICAgICBpdChgc2hvdWxkIHZhbGlkYXRlIG9uIGNvcnJlY3QgcGFnZSBcIiR7dmFsfVwiYCwgKCkgPT4ge1xuICAgICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgICAgICBwZGZjb252ZXJ0OiB7XG4gICAgICAgICAgICAgIHBhZ2VzOiB2YWwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3VsZCByZXR1cm4gZXJyb3Igb24gZmFpbCBwYWdlIFwiMWFcIicsICgpID0+IHtcbiAgICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4gICAgICAgICAgcGRmY29udmVydDoge1xuICAgICAgICAgICAgcGFnZXM6ICcxYScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSkpO1xuICAgICAgfSk7XG5cbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdQYWdlIG9yaWVudGF0aW9uJywgKCkgPT4ge1xuICAgICAgaXQoJ3Nob3VsZCBwYXNzIG9uIGNvcnJlY3Qgb3JpZW50YXRpb24gXCJsYW5kc2NhcGVcIicsICgpID0+IHtcbiAgICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgICBwZGZjb252ZXJ0OiB7XG4gICAgICAgICAgICBwYWdlb3JpZW50YXRpb246ICdsYW5kc2NhcGUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIHBhc3Mgb24gY29ycmVjdCBvcmllbnRhdGlvbiBcInBvcnRyYWl0XCInLCAoKSA9PiB7XG4gICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgICAgcGRmY29udmVydDoge1xuICAgICAgICAgICAgcGFnZW9yaWVudGF0aW9uOiAncG9ydHJhaXQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3Jvbmcgb3JpZW50YXRpb24gXCJsYW5kc2NhcGUxXCInLCAoKSA9PiB7XG4gICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuICAgICAgICAgIHBkZmNvbnZlcnQ6IHtcbiAgICAgICAgICAgIHBhZ2VvcmllbnRhdGlvbjogJ2xhbmRzY2FwZTEnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ1BhZ2UgZm9ybWF0JywgKCkgPT4ge1xuICAgICAgWydhMicsICdhMycsICdhNCcsICdhNScsICdiNCcsICdiNScsICdsZXR0ZXInLCAnbGVnYWwnLCAndGFibG9pZCddLmZvckVhY2goKHZhbCkgPT4ge1xuICAgICAgICBpdChgc2hvdWxkIHdoZW4gY29ycmVjdCBwYWdlIGZvcm1hdCBpcyBwcm92aWRlZCAke3ZhbH1gLCAoKSA9PiB7XG4gICAgICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgICAgIHBkZmNvbnZlcnQ6IHtcbiAgICAgICAgICAgICAgcGFnZXM6IFsxLDJdLFxuICAgICAgICAgICAgICBwYWdlZm9ybWF0OiB2YWwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhZ2UgZm9ybWF0IGllIGEyMicsICgpID0+IHtcbiAgICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4gICAgICAgICAgcGRmY29udmVydDoge1xuICAgICAgICAgICAgcGFnZWZvcm1hdDogJ2EyMicsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSkpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbi8vIGltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuLy8gaW1wb3J0IHsgZ2V0VmFsaWRhdG9yLCBUcmFuc2Zvcm1TY2hlbWEgfSBmcm9tICcuLyc7XG5cbi8vIGRlc2NyaWJlKCdUcmFuc2Zvcm1zIFNjaGVtYScsICgpID0+IHtcblxuLy8gICBjb25zdCB2YWxpZGF0ZSA9IGdldFZhbGlkYXRvcihUcmFuc2Zvcm1TY2hlbWEpO1xuXG4vLyAgIGNvbnN0IGFzc2VydEZhaWwgPSAodmFsKSA9PiBhc3NlcnQub2soIXZhbCk7XG5cbi8vICAgaXQoJ3Nob3VsZCBsb2FkIGpzb24gc2NoZW1hJywgKCkgPT4ge1xuLy8gICAgIC8vIGNvbnNvbGUubG9nKHNjaGVtYSk7XG4vLyAgIH0pO1xuXG4vLyAgIGRlc2NyaWJlKCdXYXRlcm1hcmsnLCAoKSA9PiB7XG4vLyAgICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcycsICgpID0+IHtcbi8vICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHdhdGVybWFyazoge1xuLy8gICAgICAgICAgIGZpbGU6ICd0ZXN0ZmlsZWhhbmRsZScsXG4vLyAgICAgICAgICAgc2l6ZTogMzAwLFxuLy8gICAgICAgICAgIHBvc2l0aW9uOiAndG9wJyxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcblxuLy8gICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMgKHBvc2l0aW9uIGFycmF5KScsICgpID0+IHtcbi8vICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHdhdGVybWFyazoge1xuLy8gICAgICAgICAgIGZpbGU6ICd0ZXN0ZmlsZWhhbmRsZScsXG4vLyAgICAgICAgICAgc2l6ZTogMzAwLFxuLy8gICAgICAgICAgIHBvc2l0aW9uOiBbJ3RvcCcsICdsZWZ0J10sXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcG9zaXRpb24gcGFyYW1zIFt0b3AsIGJvdHRvbV0nLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbi8vICAgICAgICAgd2F0ZXJtYXJrOiB7XG4vLyAgICAgICAgICAgZmlsZTogJ3Rlc3RmaWxlaGFuZGxlJyxcbi8vICAgICAgICAgICBzaXplOiAzMDAsXG4vLyAgICAgICAgICAgcG9zaXRpb246IFsndG9wJywgJ2JvdHRvbSddLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuLy8gICB9KTtcblxuLy8gICBkZXNjcmliZSgnUGFydGlhbCBCbHVyJywgKCkgPT4ge1xuLy8gICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICBwYXJ0aWFsX2JsdXI6IHtcbi8vICAgICAgICAgICBvYmplY3RzOiBbXG4vLyAgICAgICAgICAgICBbMSwgMSwgMiwgMl0sXG4vLyAgICAgICAgICAgICBbMSwgMSwgMzIsIDE1XSxcbi8vICAgICAgICAgICBdLFxuLy8gICAgICAgICAgIGFtb3VudDogMTguMixcbi8vICAgICAgICAgICBibHVyOiAxMixcbi8vICAgICAgICAgICB0eXBlOiAncmVjdCcsXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zIChhbW91bnQsIGJsdXIsIHR5cGUpJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHBhcnRpYWxfYmx1cjoge1xuLy8gICAgICAgICAgIG9iamVjdHM6IFtcbi8vICAgICAgICAgICAgIFsxLCAxLCAyLCAyXSxcbi8vICAgICAgICAgICAgIFsxLCAxLCAzMiwgMTVdLFxuLy8gICAgICAgICAgIF0sXG4vLyAgICAgICAgICAgYW1vdW50OiAtMTAsXG4vLyAgICAgICAgICAgYmx1cjogMzAwLFxuLy8gICAgICAgICAgIHR5cGU6ICd3cm9uZ190eXBlJyxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcblxuLy8gICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKG9iamVjdHMpJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHBhcnRpYWxfYmx1cjoge1xuLy8gICAgICAgICAgIG9iamVjdHM6IFtcbi8vICAgICAgICAgICAgIFsxLCAxLCAyXSxcbi8vICAgICAgICAgICAgIFsxLCAxLCAzMiwgMTUsIDMyXSxcbi8vICAgICAgICAgICBdLFxuLy8gICAgICAgICAgIGFtb3VudDogMTAsXG4vLyAgICAgICAgICAgYmx1cjogMjAsXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG4vLyAgIH0pO1xuXG4vLyAgIGRlc2NyaWJlKCdQYXJ0aWFsIFBpeGVsYXRlJywgKCkgPT4ge1xuLy8gICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICBwYXJ0aWFsX3BpeGVsYXRlOiB7XG4vLyAgICAgICAgICAgb2JqZWN0czogW1xuLy8gICAgICAgICAgICAgWzEsIDEsIDIsIDJdLFxuLy8gICAgICAgICAgICAgWzEsIDEsIDMyLCAxNV0sXG4vLyAgICAgICAgICAgXSxcbi8vICAgICAgICAgICBhbW91bnQ6IDEwMCxcbi8vICAgICAgICAgICBibHVyOiAxMi4yLFxuLy8gICAgICAgICAgIHR5cGU6ICdvdmFsJyxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcblxuLy8gICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKGFtb3VudCwgYmx1ciwgdHlwZSknLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbi8vICAgICAgICAgcGFydGlhbF9waXhlbGF0ZToge1xuLy8gICAgICAgICAgIG9iamVjdHM6IFtcbi8vICAgICAgICAgICAgIFsxLCAxLCAyLCAyXSxcbi8vICAgICAgICAgICAgIFsxLCAxLCAzMiwgMTVdLFxuLy8gICAgICAgICAgIF0sXG4vLyAgICAgICAgICAgYW1vdW50OiAtMTAsXG4vLyAgICAgICAgICAgYmx1cjogMzAwLFxuLy8gICAgICAgICAgIHR5cGU6ICd3cm9uZ190eXBlJyxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcblxuLy8gICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKG9iamVjdHMpJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHBhcnRpYWxfcGl4ZWxhdGU6IHtcbi8vICAgICAgICAgICBvYmplY3RzOiBbXG4vLyAgICAgICAgICAgICBbMSwgMSwgMl0sXG4vLyAgICAgICAgICAgICBbMSwgMSwgMzIsIDE1LCAzMl0sXG4vLyAgICAgICAgICAgXSxcbi8vICAgICAgICAgICBhbW91bnQ6IDEwLFxuLy8gICAgICAgICAgIGJsdXI6IDIwLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuLy8gICB9KTtcblxuLy8gICBkZXNjcmliZSgnQ3JvcCcsICgpID0+IHtcbi8vICAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgY3JvcDoge1xuLy8gICAgICAgICAgIGRpbTogWzEsIDEsIDIsIDJdLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuXG4vLyAgICAgaXQoJ3Nob3VsZCBmYWlsIG9uIGVtcHR5IGRpbSBwYXJhbXMnLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbi8vICAgICAgICAgY3JvcDoge1xuLy8gICAgICAgICAgIGRpbTogW10sXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zIChtaW5pbXVtIHZhbHVlIGZvciAyIGZpcnN0IGl0ZW1zKScsICgpID0+IHtcbi8vICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuLy8gICAgICAgICBjcm9wOiB7XG4vLyAgICAgICAgICAgZGltOiBbMiwgMSwgMCwgMl0sXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zICg1IGl0ZW1zIGluIGFycmF5KScsICgpID0+IHtcbi8vICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuLy8gICAgICAgICBjcm9wOiB7XG4vLyAgICAgICAgICAgZGltOiBbMSwgMSwgMiwgMiwgNF0sXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG4vLyAgIH0pO1xuXG4vLyAgIGRlc2NyaWJlKCdSZXNpemUnLCAoKSA9PiB7XG4vLyAgICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcycsICgpID0+IHtcbi8vICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHJlc2l6ZToge1xuLy8gICAgICAgICAgIHdpZHRoOiAxMCxcbi8vICAgICAgICAgICBoZWlnaHQ6IDIwLFxuLy8gICAgICAgICAgIGZpdDogJ2Nyb3AnLFxuLy8gICAgICAgICAgIGFsaWduOiBbJ3RvcCcsICdsZWZ0J10sXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3Qgd2hlbiBvbmx5IG9uZSB3aWR0aCBvciBoZWlnaHQgaXMgcHJvdmlkZWQnLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICByZXNpemU6IHtcbi8vICAgICAgICAgICB3aWR0aDogMTAsXG4vLyAgICAgICAgICAgZml0OiAnY3JvcCcsXG4vLyAgICAgICAgICAgYWxpZ246ICdsZWZ0Jyxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcblxuLy8gICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgcmVzaXplOiB7XG4vLyAgICAgICAgICAgaGVpZ2h0OiAxMCxcbi8vICAgICAgICAgICBmaXQ6ICdjcm9wJyxcbi8vICAgICAgICAgICBhbGlnbjogJ2xlZnQnLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuXG4vLyAgICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAobWlzc2luZyB3aWR0aCBhbmQgaGVpZ2h0KScsICgpID0+IHtcbi8vICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuLy8gICAgICAgICByZXNpemU6IHtcbi8vICAgICAgICAgICBmaXQ6ICdjcm9wJyxcbi8vICAgICAgICAgICBhbGlnbjogJ2xlZnQnLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuLy8gICB9KTtcblxuLy8gICBkZXNjcmliZSgnUmVzaXplJywgKCkgPT4ge1xuLy8gICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICByb3RhdGU6IHtcbi8vICAgICAgICAgICBkZWc6ICdleGlmJyxcbi8vICAgICAgICAgICBleGlmOiBmYWxzZSxcbi8vICAgICAgICAgICBiYWNrZ3JvdW5kOiAnZmZmJyxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcblxuLy8gICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICByb3RhdGU6IHtcbi8vICAgICAgICAgICBkZWc6IDIwMCxcbi8vICAgICAgICAgICBleGlmOiB0cnVlLFxuLy8gICAgICAgICAgIGJhY2tncm91bmQ6ICdmZmZmZmYnLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuXG4vLyAgICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAod3JvbmcgZXhpZiByb3RhdGlvbiknLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbi8vICAgICAgICAgcm90YXRlOiB7XG4vLyAgICAgICAgICAgZGVnOiAxMjMsXG4vLyAgICAgICAgICAgZXhpZjogJ3RydWUnLFxuLy8gICAgICAgICAgIGJhY2tncm91bmQ6ICdmZmZmZmYnLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuLy8gICB9KTtcblxuLy8gICBkZXNjcmliZSgnUGRmaW5mbycsICgpID0+IHtcbi8vICAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zIHdpdGggYm9vbCB2YWx1ZScsICgpID0+IHtcbi8vICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHBkZmluZm86IHRydWUsXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zIHdpdGggY29sb3IgaW5mbycsICgpID0+IHtcbi8vICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHBkZmluZm86IHtcbi8vICAgICAgICAgICBjb2xvcmluZm86IHRydWUsXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG4vLyAgIH0pO1xuXG4vLyAgIGRlc2NyaWJlKCdQZGZjb252ZXJ0JywgKCkgPT4ge1xuLy8gICAgIGRlc2NyaWJlKCdQYWdlcycsICgpID0+IHtcbi8vICAgICAgIFtbMSwyXSwgWycxLScsIDNdLCBbJy0yJ11dLmZvckVhY2goKHZhbCkgPT4ge1xuLy8gICAgICAgICBpdChgc2hvdWxkIHZhbGlkYXRlIG9uIGNvcnJlY3QgcGFnZSBcIiR7dmFsfVwiYCwgKCkgPT4ge1xuLy8gICAgICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgICAgICBwZGZjb252ZXJ0OiB7XG4vLyAgICAgICAgICAgICAgIHBhZ2VzOiB2YWwsXG4vLyAgICAgICAgICAgICB9LFxuLy8gICAgICAgICAgIH0pKTtcbi8vICAgICAgICAgfSk7XG4vLyAgICAgICB9KTtcblxuLy8gICAgICAgaXQoJ3Nob3VsZCByZXR1cm4gZXJyb3Igb24gZmFpbCBwYWdlIFwiMWFcIicsICgpID0+IHtcbi8vICAgICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4vLyAgICAgICAgICAgcGRmY29udmVydDoge1xuLy8gICAgICAgICAgICAgcGFnZXM6ICcxYScsXG4vLyAgICAgICAgICAgfSxcbi8vICAgICAgICAgfSkpO1xuLy8gICAgICAgfSk7XG5cbi8vICAgICB9KTtcblxuLy8gICAgIGRlc2NyaWJlKCdQYWdlIG9yaWVudGF0aW9uJywgKCkgPT4ge1xuLy8gICAgICAgaXQoJ3Nob3VsZCBwYXNzIG9uIGNvcnJlY3Qgb3JpZW50YXRpb24gXCJsYW5kc2NhcGVcIicsICgpID0+IHtcbi8vICAgICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgICBwZGZjb252ZXJ0OiB7XG4vLyAgICAgICAgICAgICBwYWdlb3JpZW50YXRpb246ICdsYW5kc2NhcGUnLFxuLy8gICAgICAgICAgIH0sXG4vLyAgICAgICAgIH0pKTtcbi8vICAgICAgIH0pO1xuXG4vLyAgICAgICBpdCgnc2hvdWxkIHBhc3Mgb24gY29ycmVjdCBvcmllbnRhdGlvbiBcInBvcnRyYWl0XCInLCAoKSA9PiB7XG4vLyAgICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgICAgcGRmY29udmVydDoge1xuLy8gICAgICAgICAgICAgcGFnZW9yaWVudGF0aW9uOiAncG9ydHJhaXQnLFxuLy8gICAgICAgICAgIH0sXG4vLyAgICAgICAgIH0pKTtcbi8vICAgICAgIH0pO1xuXG4vLyAgICAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3Jvbmcgb3JpZW50YXRpb24gXCJsYW5kc2NhcGUxXCInLCAoKSA9PiB7XG4vLyAgICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuLy8gICAgICAgICAgIHBkZmNvbnZlcnQ6IHtcbi8vICAgICAgICAgICAgIHBhZ2VvcmllbnRhdGlvbjogJ2xhbmRzY2FwZTEnLFxuLy8gICAgICAgICAgIH0sXG4vLyAgICAgICAgIH0pKTtcbi8vICAgICAgIH0pO1xuLy8gICAgIH0pO1xuXG4vLyAgICAgZGVzY3JpYmUoJ1BhZ2UgZm9ybWF0JywgKCkgPT4ge1xuLy8gICAgICAgWydhMicsICdhMycsICdhNCcsICdhNScsICdiNCcsICdiNScsICdsZXR0ZXInLCAnbGVnYWwnLCAndGFibG9pZCddLmZvckVhY2goKHZhbCkgPT4ge1xuLy8gICAgICAgICBpdChgc2hvdWxkIHdoZW4gY29ycmVjdCBwYWdlIGZvcm1hdCBpcyBwcm92aWRlZCAke3ZhbH1gLCAoKSA9PiB7XG4vLyAgICAgICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgICAgIHBkZmNvbnZlcnQ6IHtcbi8vICAgICAgICAgICAgICAgcGFnZXM6IFsxLDJdLFxuLy8gICAgICAgICAgICAgICBwYWdlZm9ybWF0OiB2YWwsXG4vLyAgICAgICAgICAgICB9LFxuLy8gICAgICAgICAgIH0pKTtcbi8vICAgICAgICAgfSk7XG4vLyAgICAgICB9KTtcblxuLy8gICAgICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhZ2UgZm9ybWF0IGllIGEyMicsICgpID0+IHtcbi8vICAgICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4vLyAgICAgICAgICAgcGRmY29udmVydDoge1xuLy8gICAgICAgICAgICAgcGFnZWZvcm1hdDogJ2EyMicsXG4vLyAgICAgICAgICAgfSxcbi8vICAgICAgICAgfSkpO1xuLy8gICAgICAgfSk7XG4vLyAgICAgfSk7XG4vLyAgIH0pO1xuLy8gfSk7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdHJhbnNmb3Jtcy5zY2hlbWEuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSCxxREFBaUM7QUFDakMsdUJBQW1EO0FBRW5ELFFBQVEsQ0FBQyxtQkFBbUIsRUFBRTtJQUU1QixJQUFNLFNBQVMsR0FBRyxJQUFBLGVBQVksRUFBQyxrQkFBZSxDQUFDLENBQUM7SUFFaEQsSUFBTSxRQUFRLEdBQUcsVUFBQyxNQUFNO1FBQ3RCLElBQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDaEQsQ0FBQyxDQUFDO0lBRUYsSUFBTSxVQUFVLEdBQUcsVUFBQyxHQUFHLElBQUssT0FBQSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQWYsQ0FBZSxDQUFDO0lBRTVDLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRTtRQUM1Qix1QkFBdUI7SUFDekIsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsV0FBVyxFQUFFO1FBQ3BCLEVBQUUsQ0FBQyxnQ0FBZ0MsRUFBRTtZQUNuQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDakIsU0FBUyxFQUFFO29CQUNULElBQUksRUFBRSxnQkFBZ0I7b0JBQ3RCLElBQUksRUFBRSxHQUFHO29CQUNULFFBQVEsRUFBRSxLQUFLO2lCQUNoQjthQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsaURBQWlELEVBQUU7WUFDcEQsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ2pCLFNBQVMsRUFBRTtvQkFDVCxJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixJQUFJLEVBQUUsR0FBRztvQkFDVCxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDO2lCQUMxQjthQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsb0RBQW9ELEVBQUU7WUFDdkQsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDbEIsU0FBUyxFQUFFO29CQUNULElBQUksRUFBRSxnQkFBZ0I7b0JBQ3RCLElBQUksRUFBRSxHQUFHO29CQUNULFFBQVEsRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUM7aUJBQzVCO2FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGNBQWMsRUFBRTtRQUN2QixFQUFFLENBQUMsZ0NBQWdDLEVBQUU7WUFDbkMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ2pCLFlBQVksRUFBRTtvQkFDWixPQUFPLEVBQUU7d0JBQ1AsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ1osQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7cUJBQ2Y7b0JBQ0QsTUFBTSxFQUFFLElBQUk7b0JBQ1osSUFBSSxFQUFFLEVBQUU7b0JBQ1IsSUFBSSxFQUFFLE1BQU07aUJBQ2I7YUFDRixDQUFDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGtEQUFrRCxFQUFFO1lBQ3JELFVBQVUsQ0FBQyxRQUFRLENBQUM7Z0JBQ2xCLFlBQVksRUFBRTtvQkFDWixPQUFPLEVBQUU7d0JBQ1AsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ1osQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7cUJBQ2Y7b0JBQ0QsTUFBTSxFQUFFLENBQUMsRUFBRTtvQkFDWCxJQUFJLEVBQUUsR0FBRztvQkFDVCxJQUFJLEVBQUUsWUFBWTtpQkFDbkI7YUFDRixDQUFDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHVDQUF1QyxFQUFFO1lBQzFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7Z0JBQ2xCLFlBQVksRUFBRTtvQkFDWixPQUFPLEVBQUU7d0JBQ1AsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDVCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7cUJBQ25CO29CQUNELE1BQU0sRUFBRSxFQUFFO29CQUNWLElBQUksRUFBRSxFQUFFO2lCQUNUO2FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGtCQUFrQixFQUFFO1FBQzNCLEVBQUUsQ0FBQyxnQ0FBZ0MsRUFBRTtZQUNuQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDakIsZ0JBQWdCLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDWixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztxQkFDZjtvQkFDRCxNQUFNLEVBQUUsR0FBRztvQkFDWCxJQUFJLEVBQUUsSUFBSTtvQkFDVixJQUFJLEVBQUUsTUFBTTtpQkFDYjthQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUU7WUFDckQsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDbEIsZ0JBQWdCLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDWixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztxQkFDZjtvQkFDRCxNQUFNLEVBQUUsQ0FBQyxFQUFFO29CQUNYLElBQUksRUFBRSxHQUFHO29CQUNULElBQUksRUFBRSxZQUFZO2lCQUNuQjthQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsdUNBQXVDLEVBQUU7WUFDMUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDbEIsZ0JBQWdCLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUNULENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztxQkFDbkI7b0JBQ0QsTUFBTSxFQUFFLEVBQUU7b0JBQ1YsSUFBSSxFQUFFLEVBQUU7aUJBQ1Q7YUFDRixDQUFDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsTUFBTSxFQUFFO1FBQ2YsRUFBRSxDQUFDLGdDQUFnQyxFQUFFO1lBQ25DLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNqQixJQUFJLEVBQUU7b0JBQ0osR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUNsQjthQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsaUNBQWlDLEVBQUU7WUFDcEMsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDbEIsSUFBSSxFQUFFO29CQUNKLEdBQUcsRUFBRSxFQUFFO2lCQUNSO2FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrREFBK0QsRUFBRTtZQUNsRSxVQUFVLENBQUMsUUFBUSxDQUFDO2dCQUNsQixJQUFJLEVBQUU7b0JBQ0osR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUNsQjthQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsZ0RBQWdELEVBQUU7WUFDbkQsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDbEIsSUFBSSxFQUFFO29CQUNKLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ3JCO2FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFFBQVEsRUFBRTtRQUNqQixFQUFFLENBQUMsZ0NBQWdDLEVBQUU7WUFDbkMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ2pCLE1BQU0sRUFBRTtvQkFDTixLQUFLLEVBQUUsRUFBRTtvQkFDVCxNQUFNLEVBQUUsRUFBRTtvQkFDVixHQUFHLEVBQUUsTUFBTTtvQkFDWCxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDO2lCQUN2QjthQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsbUVBQW1FLEVBQUU7WUFDdEUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ2pCLE1BQU0sRUFBRTtvQkFDTixLQUFLLEVBQUUsRUFBRTtvQkFDVCxHQUFHLEVBQUUsTUFBTTtvQkFDWCxLQUFLLEVBQUUsTUFBTTtpQkFDZDthQUNGLENBQUMsQ0FBQyxDQUFDO1lBRUosTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ2pCLE1BQU0sRUFBRTtvQkFDTixNQUFNLEVBQUUsRUFBRTtvQkFDVixHQUFHLEVBQUUsTUFBTTtvQkFDWCxLQUFLLEVBQUUsTUFBTTtpQkFDZDthQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsd0RBQXdELEVBQUU7WUFDM0QsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDbEIsTUFBTSxFQUFFO29CQUNOLEdBQUcsRUFBRSxNQUFNO29CQUNYLEtBQUssRUFBRSxNQUFNO2lCQUNkO2FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFFBQVEsRUFBRTtRQUNqQixFQUFFLENBQUMsZ0NBQWdDLEVBQUU7WUFDbkMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ2pCLE1BQU0sRUFBRTtvQkFDTixHQUFHLEVBQUUsTUFBTTtvQkFDWCxJQUFJLEVBQUUsS0FBSztvQkFDWCxVQUFVLEVBQUUsS0FBSztpQkFDbEI7YUFDRixDQUFDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGdDQUFnQyxFQUFFO1lBQ25DLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNqQixNQUFNLEVBQUU7b0JBQ04sR0FBRyxFQUFFLEdBQUc7b0JBQ1IsSUFBSSxFQUFFLElBQUk7b0JBQ1YsVUFBVSxFQUFFLFFBQVE7aUJBQ3JCO2FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxtREFBbUQsRUFBRTtZQUN0RCxVQUFVLENBQUMsUUFBUSxDQUFDO2dCQUNsQixNQUFNLEVBQUU7b0JBQ04sR0FBRyxFQUFFLEdBQUc7b0JBQ1IsSUFBSSxFQUFFLE1BQU07b0JBQ1osVUFBVSxFQUFFLFFBQVE7aUJBQ3JCO2FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFNBQVMsRUFBRTtRQUNsQixFQUFFLENBQUMsZ0RBQWdELEVBQUU7WUFDbkQsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ2pCLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxnREFBZ0QsRUFBRTtZQUNuRCxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDakIsT0FBTyxFQUFFO29CQUNQLFNBQVMsRUFBRSxJQUFJO2lCQUNoQjthQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxZQUFZLEVBQUU7UUFDckIsUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUNoQixDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQyxHQUFHO2dCQUNyQyxFQUFFLENBQUMsNENBQW9DLEdBQUcsT0FBRyxFQUFFO29CQUM3QyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQzt3QkFDakIsVUFBVSxFQUFFOzRCQUNWLEtBQUssRUFBRSxHQUFHO3lCQUNYO3FCQUNGLENBQUMsQ0FBQyxDQUFDO2dCQUNOLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsdUNBQXVDLEVBQUU7Z0JBQzFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7b0JBQ2xCLFVBQVUsRUFBRTt3QkFDVixLQUFLLEVBQUUsSUFBSTtxQkFDWjtpQkFDRixDQUFDLENBQUMsQ0FBQztZQUNOLENBQUMsQ0FBQyxDQUFDO1FBRUwsQ0FBQyxDQUFDLENBQUM7UUFFSCxRQUFRLENBQUMsa0JBQWtCLEVBQUU7WUFDM0IsRUFBRSxDQUFDLGdEQUFnRCxFQUFFO2dCQUNuRCxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztvQkFDakIsVUFBVSxFQUFFO3dCQUNWLGVBQWUsRUFBRSxXQUFXO3FCQUM3QjtpQkFDRixDQUFDLENBQUMsQ0FBQztZQUNOLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLCtDQUErQyxFQUFFO2dCQUNsRCxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztvQkFDakIsVUFBVSxFQUFFO3dCQUNWLGVBQWUsRUFBRSxVQUFVO3FCQUM1QjtpQkFDRixDQUFDLENBQUMsQ0FBQztZQUNOLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLCtDQUErQyxFQUFFO2dCQUNsRCxVQUFVLENBQUMsUUFBUSxDQUFDO29CQUNsQixVQUFVLEVBQUU7d0JBQ1YsZUFBZSxFQUFFLFlBQVk7cUJBQzlCO2lCQUNGLENBQUMsQ0FBQyxDQUFDO1lBQ04sQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxhQUFhLEVBQUU7WUFDdEIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFDLEdBQUc7Z0JBQzdFLEVBQUUsQ0FBQyxzREFBK0MsR0FBRyxDQUFFLEVBQUU7b0JBQ3ZELE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO3dCQUNqQixVQUFVLEVBQUU7NEJBQ1YsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQzs0QkFDWixVQUFVLEVBQUUsR0FBRzt5QkFDaEI7cUJBQ0YsQ0FBQyxDQUFDLENBQUM7Z0JBQ04sQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILEVBQUUsQ0FBQyx5Q0FBeUMsRUFBRTtnQkFDNUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztvQkFDbEIsVUFBVSxFQUFFO3dCQUNWLFVBQVUsRUFBRSxLQUFLO3FCQUNsQjtpQkFDRixDQUFDLENBQUMsQ0FBQztZQUNOLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsb0NBQW9DO0FBQ3BDLHNEQUFzRDtBQUV0RCx3Q0FBd0M7QUFFeEMsb0RBQW9EO0FBRXBELGlEQUFpRDtBQUVqRCwwQ0FBMEM7QUFDMUMsOEJBQThCO0FBQzlCLFFBQVE7QUFFUixrQ0FBa0M7QUFDbEMsbURBQW1EO0FBQ25ELDZCQUE2QjtBQUM3Qix1QkFBdUI7QUFDdkIsb0NBQW9DO0FBQ3BDLHVCQUF1QjtBQUN2Qiw2QkFBNkI7QUFDN0IsYUFBYTtBQUNiLGFBQWE7QUFDYixVQUFVO0FBRVYsb0VBQW9FO0FBQ3BFLDZCQUE2QjtBQUM3Qix1QkFBdUI7QUFDdkIsb0NBQW9DO0FBQ3BDLHVCQUF1QjtBQUN2Qix1Q0FBdUM7QUFDdkMsYUFBYTtBQUNiLGFBQWE7QUFDYixVQUFVO0FBRVYsdUVBQXVFO0FBQ3ZFLDhCQUE4QjtBQUM5Qix1QkFBdUI7QUFDdkIsb0NBQW9DO0FBQ3BDLHVCQUF1QjtBQUN2Qix5Q0FBeUM7QUFDekMsYUFBYTtBQUNiLGFBQWE7QUFDYixVQUFVO0FBQ1YsUUFBUTtBQUVSLHFDQUFxQztBQUNyQyxtREFBbUQ7QUFDbkQsNkJBQTZCO0FBQzdCLDBCQUEwQjtBQUMxQix1QkFBdUI7QUFDdkIsNEJBQTRCO0FBQzVCLDhCQUE4QjtBQUM5QixlQUFlO0FBQ2YsMEJBQTBCO0FBQzFCLHNCQUFzQjtBQUN0QiwwQkFBMEI7QUFDMUIsYUFBYTtBQUNiLGFBQWE7QUFDYixVQUFVO0FBRVYscUVBQXFFO0FBQ3JFLDhCQUE4QjtBQUM5QiwwQkFBMEI7QUFDMUIsdUJBQXVCO0FBQ3ZCLDRCQUE0QjtBQUM1Qiw4QkFBOEI7QUFDOUIsZUFBZTtBQUNmLHlCQUF5QjtBQUN6Qix1QkFBdUI7QUFDdkIsZ0NBQWdDO0FBQ2hDLGFBQWE7QUFDYixhQUFhO0FBQ2IsVUFBVTtBQUVWLDBEQUEwRDtBQUMxRCw4QkFBOEI7QUFDOUIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2Qix5QkFBeUI7QUFDekIsa0NBQWtDO0FBQ2xDLGVBQWU7QUFDZix3QkFBd0I7QUFDeEIsc0JBQXNCO0FBQ3RCLGFBQWE7QUFDYixhQUFhO0FBQ2IsVUFBVTtBQUNWLFFBQVE7QUFFUix5Q0FBeUM7QUFDekMsbURBQW1EO0FBQ25ELDZCQUE2QjtBQUM3Qiw4QkFBOEI7QUFDOUIsdUJBQXVCO0FBQ3ZCLDRCQUE0QjtBQUM1Qiw4QkFBOEI7QUFDOUIsZUFBZTtBQUNmLHlCQUF5QjtBQUN6Qix3QkFBd0I7QUFDeEIsMEJBQTBCO0FBQzFCLGFBQWE7QUFDYixhQUFhO0FBQ2IsVUFBVTtBQUVWLHFFQUFxRTtBQUNyRSw4QkFBOEI7QUFDOUIsOEJBQThCO0FBQzlCLHVCQUF1QjtBQUN2Qiw0QkFBNEI7QUFDNUIsOEJBQThCO0FBQzlCLGVBQWU7QUFDZix5QkFBeUI7QUFDekIsdUJBQXVCO0FBQ3ZCLGdDQUFnQztBQUNoQyxhQUFhO0FBQ2IsYUFBYTtBQUNiLFVBQVU7QUFFViwwREFBMEQ7QUFDMUQsOEJBQThCO0FBQzlCLDhCQUE4QjtBQUM5Qix1QkFBdUI7QUFDdkIseUJBQXlCO0FBQ3pCLGtDQUFrQztBQUNsQyxlQUFlO0FBQ2Ysd0JBQXdCO0FBQ3hCLHNCQUFzQjtBQUN0QixhQUFhO0FBQ2IsYUFBYTtBQUNiLFVBQVU7QUFDVixRQUFRO0FBRVIsNkJBQTZCO0FBQzdCLG1EQUFtRDtBQUNuRCw2QkFBNkI7QUFDN0Isa0JBQWtCO0FBQ2xCLCtCQUErQjtBQUMvQixhQUFhO0FBQ2IsYUFBYTtBQUNiLFVBQVU7QUFFVixvREFBb0Q7QUFDcEQsOEJBQThCO0FBQzlCLGtCQUFrQjtBQUNsQixxQkFBcUI7QUFDckIsYUFBYTtBQUNiLGFBQWE7QUFDYixVQUFVO0FBRVYsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrQkFBa0I7QUFDbEIsK0JBQStCO0FBQy9CLGFBQWE7QUFDYixhQUFhO0FBQ2IsVUFBVTtBQUVWLG1FQUFtRTtBQUNuRSw4QkFBOEI7QUFDOUIsa0JBQWtCO0FBQ2xCLGtDQUFrQztBQUNsQyxhQUFhO0FBQ2IsYUFBYTtBQUNiLFVBQVU7QUFDVixRQUFRO0FBRVIsK0JBQStCO0FBQy9CLG1EQUFtRDtBQUNuRCw2QkFBNkI7QUFDN0Isb0JBQW9CO0FBQ3BCLHVCQUF1QjtBQUN2Qix3QkFBd0I7QUFDeEIseUJBQXlCO0FBQ3pCLG9DQUFvQztBQUNwQyxhQUFhO0FBQ2IsYUFBYTtBQUNiLFVBQVU7QUFFVixzRkFBc0Y7QUFDdEYsNkJBQTZCO0FBQzdCLG9CQUFvQjtBQUNwQix1QkFBdUI7QUFDdkIseUJBQXlCO0FBQ3pCLDJCQUEyQjtBQUMzQixhQUFhO0FBQ2IsYUFBYTtBQUViLDZCQUE2QjtBQUM3QixvQkFBb0I7QUFDcEIsd0JBQXdCO0FBQ3hCLHlCQUF5QjtBQUN6QiwyQkFBMkI7QUFDM0IsYUFBYTtBQUNiLGFBQWE7QUFDYixVQUFVO0FBRVYsMkVBQTJFO0FBQzNFLDhCQUE4QjtBQUM5QixvQkFBb0I7QUFDcEIseUJBQXlCO0FBQ3pCLDJCQUEyQjtBQUMzQixhQUFhO0FBQ2IsYUFBYTtBQUNiLFVBQVU7QUFDVixRQUFRO0FBRVIsK0JBQStCO0FBQy9CLG1EQUFtRDtBQUNuRCw2QkFBNkI7QUFDN0Isb0JBQW9CO0FBQ3BCLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekIsK0JBQStCO0FBQy9CLGFBQWE7QUFDYixhQUFhO0FBQ2IsVUFBVTtBQUVWLG1EQUFtRDtBQUNuRCw2QkFBNkI7QUFDN0Isb0JBQW9CO0FBQ3BCLHNCQUFzQjtBQUN0Qix3QkFBd0I7QUFDeEIsa0NBQWtDO0FBQ2xDLGFBQWE7QUFDYixhQUFhO0FBQ2IsVUFBVTtBQUVWLHNFQUFzRTtBQUN0RSw4QkFBOEI7QUFDOUIsb0JBQW9CO0FBQ3BCLHNCQUFzQjtBQUN0QiwwQkFBMEI7QUFDMUIsa0NBQWtDO0FBQ2xDLGFBQWE7QUFDYixhQUFhO0FBQ2IsVUFBVTtBQUNWLFFBQVE7QUFFUixnQ0FBZ0M7QUFDaEMsbUVBQW1FO0FBQ25FLDZCQUE2QjtBQUM3Qix5QkFBeUI7QUFDekIsYUFBYTtBQUNiLFVBQVU7QUFFVixtRUFBbUU7QUFDbkUsNkJBQTZCO0FBQzdCLHFCQUFxQjtBQUNyQiw2QkFBNkI7QUFDN0IsYUFBYTtBQUNiLGFBQWE7QUFDYixVQUFVO0FBQ1YsUUFBUTtBQUVSLG1DQUFtQztBQUNuQyxnQ0FBZ0M7QUFDaEMsc0RBQXNEO0FBQ3RELGlFQUFpRTtBQUNqRSxpQ0FBaUM7QUFDakMsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1QixpQkFBaUI7QUFDakIsaUJBQWlCO0FBQ2pCLGNBQWM7QUFDZCxZQUFZO0FBRVosNERBQTREO0FBQzVELGdDQUFnQztBQUNoQywwQkFBMEI7QUFDMUIsMkJBQTJCO0FBQzNCLGVBQWU7QUFDZixlQUFlO0FBQ2YsWUFBWTtBQUVaLFVBQVU7QUFFViwyQ0FBMkM7QUFDM0MscUVBQXFFO0FBQ3JFLCtCQUErQjtBQUMvQiwwQkFBMEI7QUFDMUIsNENBQTRDO0FBQzVDLGVBQWU7QUFDZixlQUFlO0FBQ2YsWUFBWTtBQUVaLG9FQUFvRTtBQUNwRSwrQkFBK0I7QUFDL0IsMEJBQTBCO0FBQzFCLDJDQUEyQztBQUMzQyxlQUFlO0FBQ2YsZUFBZTtBQUNmLFlBQVk7QUFFWixvRUFBb0U7QUFDcEUsZ0NBQWdDO0FBQ2hDLDBCQUEwQjtBQUMxQiw2Q0FBNkM7QUFDN0MsZUFBZTtBQUNmLGVBQWU7QUFDZixZQUFZO0FBQ1osVUFBVTtBQUVWLHNDQUFzQztBQUN0Qyw4RkFBOEY7QUFDOUYsMkVBQTJFO0FBQzNFLGlDQUFpQztBQUNqQyw0QkFBNEI7QUFDNUIsOEJBQThCO0FBQzlCLGlDQUFpQztBQUNqQyxpQkFBaUI7QUFDakIsaUJBQWlCO0FBQ2pCLGNBQWM7QUFDZCxZQUFZO0FBRVosOERBQThEO0FBQzlELGdDQUFnQztBQUNoQywwQkFBMEI7QUFDMUIsaUNBQWlDO0FBQ2pDLGVBQWU7QUFDZixlQUFlO0FBQ2YsWUFBWTtBQUNaLFVBQVU7QUFDVixRQUFRO0FBQ1IsTUFBTSIsImZpbGUiOiJzY2hlbWEvdHJhbnNmb3Jtcy5zY2hlbWEuc3BlYy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgZ2V0VmFsaWRhdG9yLCBUcmFuc2Zvcm1TY2hlbWEgfSBmcm9tICcuLyc7XG5cbmRlc2NyaWJlKCdUcmFuc2Zvcm1zIFNjaGVtYScsICgpID0+IHtcblxuICBjb25zdCB2YWxpZGF0b3IgPSBnZXRWYWxpZGF0b3IoVHJhbnNmb3JtU2NoZW1hKTtcblxuICBjb25zdCB2YWxpZGF0ZSA9IChwYXJhbXMpID0+IHtcbiAgICBjb25zdCByZXMgPSB2YWxpZGF0b3IocGFyYW1zKTtcbiAgICByZXR1cm4gcmVzLmVycm9ycy5sZW5ndGggPT09IDAgPyB0cnVlIDogZmFsc2U7XG4gIH07XG5cbiAgY29uc3QgYXNzZXJ0RmFpbCA9IChyZXMpID0+IGFzc2VydC5vayghcmVzKTtcblxuICBpdCgnc2hvdWxkIGxvYWQganNvbiBzY2hlbWEnLCAoKSA9PiB7XG4gICAgLy8gY29uc29sZS5sb2coc2NoZW1hKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1dhdGVybWFyaycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgd2F0ZXJtYXJrOiB7XG4gICAgICAgICAgZmlsZTogJ3Rlc3RmaWxlaGFuZGxlJyxcbiAgICAgICAgICBzaXplOiAzMDAsXG4gICAgICAgICAgcG9zaXRpb246ICd0b3AnLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcyAocG9zaXRpb24gYXJyYXkpJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgd2F0ZXJtYXJrOiB7XG4gICAgICAgICAgZmlsZTogJ3Rlc3RmaWxlaGFuZGxlJyxcbiAgICAgICAgICBzaXplOiAzMDAsXG4gICAgICAgICAgcG9zaXRpb246IFsndG9wJywgJ2xlZnQnXSxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwb3NpdGlvbiBwYXJhbXMgW3RvcCwgYm90dG9tXScsICgpID0+IHtcbiAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuICAgICAgICB3YXRlcm1hcms6IHtcbiAgICAgICAgICBmaWxlOiAndGVzdGZpbGVoYW5kbGUnLFxuICAgICAgICAgIHNpemU6IDMwMCxcbiAgICAgICAgICBwb3NpdGlvbjogWyd0b3AnLCAnYm90dG9tJ10sXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdQYXJ0aWFsIEJsdXInLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcycsICgpID0+IHtcbiAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgIHBhcnRpYWxfYmx1cjoge1xuICAgICAgICAgIG9iamVjdHM6IFtcbiAgICAgICAgICAgIFsxLCAxLCAyLCAyXSxcbiAgICAgICAgICAgIFsxLCAxLCAzMiwgMTVdLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYW1vdW50OiAxOC4yLFxuICAgICAgICAgIGJsdXI6IDEyLFxuICAgICAgICAgIHR5cGU6ICdyZWN0JyxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKGFtb3VudCwgYmx1ciwgdHlwZSknLCAoKSA9PiB7XG4gICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbiAgICAgICAgcGFydGlhbF9ibHVyOiB7XG4gICAgICAgICAgb2JqZWN0czogW1xuICAgICAgICAgICAgWzEsIDEsIDIsIDJdLFxuICAgICAgICAgICAgWzEsIDEsIDMyLCAxNV0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBhbW91bnQ6IC0xMCxcbiAgICAgICAgICBibHVyOiAzMDAsXG4gICAgICAgICAgdHlwZTogJ3dyb25nX3R5cGUnLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAob2JqZWN0cyknLCAoKSA9PiB7XG4gICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbiAgICAgICAgcGFydGlhbF9ibHVyOiB7XG4gICAgICAgICAgb2JqZWN0czogW1xuICAgICAgICAgICAgWzEsIDEsIDJdLFxuICAgICAgICAgICAgWzEsIDEsIDMyLCAxNSwgMzJdLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYW1vdW50OiAxMCxcbiAgICAgICAgICBibHVyOiAyMCxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1BhcnRpYWwgUGl4ZWxhdGUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcycsICgpID0+IHtcbiAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgIHBhcnRpYWxfcGl4ZWxhdGU6IHtcbiAgICAgICAgICBvYmplY3RzOiBbXG4gICAgICAgICAgICBbMSwgMSwgMiwgMl0sXG4gICAgICAgICAgICBbMSwgMSwgMzIsIDE1XSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGFtb3VudDogMTAwLFxuICAgICAgICAgIGJsdXI6IDEyLjIsXG4gICAgICAgICAgdHlwZTogJ292YWwnLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAoYW1vdW50LCBibHVyLCB0eXBlKScsICgpID0+IHtcbiAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuICAgICAgICBwYXJ0aWFsX3BpeGVsYXRlOiB7XG4gICAgICAgICAgb2JqZWN0czogW1xuICAgICAgICAgICAgWzEsIDEsIDIsIDJdLFxuICAgICAgICAgICAgWzEsIDEsIDMyLCAxNV0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBhbW91bnQ6IC0xMCxcbiAgICAgICAgICBibHVyOiAzMDAsXG4gICAgICAgICAgdHlwZTogJ3dyb25nX3R5cGUnLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAob2JqZWN0cyknLCAoKSA9PiB7XG4gICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbiAgICAgICAgcGFydGlhbF9waXhlbGF0ZToge1xuICAgICAgICAgIG9iamVjdHM6IFtcbiAgICAgICAgICAgIFsxLCAxLCAyXSxcbiAgICAgICAgICAgIFsxLCAxLCAzMiwgMTUsIDMyXSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGFtb3VudDogMTAsXG4gICAgICAgICAgYmx1cjogMjAsXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdDcm9wJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICBjcm9wOiB7XG4gICAgICAgICAgZGltOiBbMSwgMSwgMiwgMl0sXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgb24gZW1wdHkgZGltIHBhcmFtcycsICgpID0+IHtcbiAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuICAgICAgICBjcm9wOiB7XG4gICAgICAgICAgZGltOiBbXSxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKG1pbmltdW0gdmFsdWUgZm9yIDIgZmlyc3QgaXRlbXMpJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4gICAgICAgIGNyb3A6IHtcbiAgICAgICAgICBkaW06IFsyLCAxLCAwLCAyXSxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKDUgaXRlbXMgaW4gYXJyYXkpJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4gICAgICAgIGNyb3A6IHtcbiAgICAgICAgICBkaW06IFsxLCAxLCAyLCAyLCA0XSxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1Jlc2l6ZScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgcmVzaXplOiB7XG4gICAgICAgICAgd2lkdGg6IDEwLFxuICAgICAgICAgIGhlaWdodDogMjAsXG4gICAgICAgICAgZml0OiAnY3JvcCcsXG4gICAgICAgICAgYWxpZ246IFsndG9wJywgJ2xlZnQnXSxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCB3aGVuIG9ubHkgb25lIHdpZHRoIG9yIGhlaWdodCBpcyBwcm92aWRlZCcsICgpID0+IHtcbiAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgIHJlc2l6ZToge1xuICAgICAgICAgIHdpZHRoOiAxMCxcbiAgICAgICAgICBmaXQ6ICdjcm9wJyxcbiAgICAgICAgICBhbGlnbjogJ2xlZnQnLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuXG4gICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICByZXNpemU6IHtcbiAgICAgICAgICBoZWlnaHQ6IDEwLFxuICAgICAgICAgIGZpdDogJ2Nyb3AnLFxuICAgICAgICAgIGFsaWduOiAnbGVmdCcsXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zIChtaXNzaW5nIHdpZHRoIGFuZCBoZWlnaHQpJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4gICAgICAgIHJlc2l6ZToge1xuICAgICAgICAgIGZpdDogJ2Nyb3AnLFxuICAgICAgICAgIGFsaWduOiAnbGVmdCcsXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdSZXNpemUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcycsICgpID0+IHtcbiAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgIHJvdGF0ZToge1xuICAgICAgICAgIGRlZzogJ2V4aWYnLFxuICAgICAgICAgIGV4aWY6IGZhbHNlLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICdmZmYnLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcycsICgpID0+IHtcbiAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgIHJvdGF0ZToge1xuICAgICAgICAgIGRlZzogMjAwLFxuICAgICAgICAgIGV4aWY6IHRydWUsXG4gICAgICAgICAgYmFja2dyb3VuZDogJ2ZmZmZmZicsXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zICh3cm9uZyBleGlmIHJvdGF0aW9uKScsICgpID0+IHtcbiAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuICAgICAgICByb3RhdGU6IHtcbiAgICAgICAgICBkZWc6IDEyMyxcbiAgICAgICAgICBleGlmOiAndHJ1ZScsXG4gICAgICAgICAgYmFja2dyb3VuZDogJ2ZmZmZmZicsXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdQZGZpbmZvJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMgd2l0aCBib29sIHZhbHVlJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgcGRmaW5mbzogdHJ1ZSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMgd2l0aCBjb2xvciBpbmZvJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgcGRmaW5mbzoge1xuICAgICAgICAgIGNvbG9yaW5mbzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1BkZmNvbnZlcnQnLCAoKSA9PiB7XG4gICAgZGVzY3JpYmUoJ1BhZ2VzJywgKCkgPT4ge1xuICAgICAgW1sxLDJdLCBbJzEtJywgM10sIFsnLTInXV0uZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICAgIGl0KGBzaG91bGQgdmFsaWRhdGUgb24gY29ycmVjdCBwYWdlIFwiJHt2YWx9XCJgLCAoKSA9PiB7XG4gICAgICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgICAgIHBkZmNvbnZlcnQ6IHtcbiAgICAgICAgICAgICAgcGFnZXM6IHZhbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSkpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIHJldHVybiBlcnJvciBvbiBmYWlsIHBhZ2UgXCIxYVwiJywgKCkgPT4ge1xuICAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbiAgICAgICAgICBwZGZjb252ZXJ0OiB7XG4gICAgICAgICAgICBwYWdlczogJzFhJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSk7XG4gICAgICB9KTtcblxuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ1BhZ2Ugb3JpZW50YXRpb24nLCAoKSA9PiB7XG4gICAgICBpdCgnc2hvdWxkIHBhc3Mgb24gY29ycmVjdCBvcmllbnRhdGlvbiBcImxhbmRzY2FwZVwiJywgKCkgPT4ge1xuICAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICAgIHBkZmNvbnZlcnQ6IHtcbiAgICAgICAgICAgIHBhZ2VvcmllbnRhdGlvbjogJ2xhbmRzY2FwZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSkpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdzaG91bGQgcGFzcyBvbiBjb3JyZWN0IG9yaWVudGF0aW9uIFwicG9ydHJhaXRcIicsICgpID0+IHtcbiAgICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgICBwZGZjb252ZXJ0OiB7XG4gICAgICAgICAgICBwYWdlb3JpZW50YXRpb246ICdwb3J0cmFpdCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSkpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBvcmllbnRhdGlvbiBcImxhbmRzY2FwZTFcIicsICgpID0+IHtcbiAgICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4gICAgICAgICAgcGRmY29udmVydDoge1xuICAgICAgICAgICAgcGFnZW9yaWVudGF0aW9uOiAnbGFuZHNjYXBlMScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSkpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnUGFnZSBmb3JtYXQnLCAoKSA9PiB7XG4gICAgICBbJ2EyJywgJ2EzJywgJ2E0JywgJ2E1JywgJ2I0JywgJ2I1JywgJ2xldHRlcicsICdsZWdhbCcsICd0YWJsb2lkJ10uZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICAgIGl0KGBzaG91bGQgd2hlbiBjb3JyZWN0IHBhZ2UgZm9ybWF0IGlzIHByb3ZpZGVkICR7dmFsfWAsICgpID0+IHtcbiAgICAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICAgICAgcGRmY29udmVydDoge1xuICAgICAgICAgICAgICBwYWdlczogWzEsMl0sXG4gICAgICAgICAgICAgIHBhZ2Vmb3JtYXQ6IHZhbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSkpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFnZSBmb3JtYXQgaWUgYTIyJywgKCkgPT4ge1xuICAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbiAgICAgICAgICBwZGZjb252ZXJ0OiB7XG4gICAgICAgICAgICBwYWdlZm9ybWF0OiAnYTIyJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcblxuLy8gaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG4vLyBpbXBvcnQgeyBnZXRWYWxpZGF0b3IsIFRyYW5zZm9ybVNjaGVtYSB9IGZyb20gJy4vJztcblxuLy8gZGVzY3JpYmUoJ1RyYW5zZm9ybXMgU2NoZW1hJywgKCkgPT4ge1xuXG4vLyAgIGNvbnN0IHZhbGlkYXRlID0gZ2V0VmFsaWRhdG9yKFRyYW5zZm9ybVNjaGVtYSk7XG5cbi8vICAgY29uc3QgYXNzZXJ0RmFpbCA9ICh2YWwpID0+IGFzc2VydC5vayghdmFsKTtcblxuLy8gICBpdCgnc2hvdWxkIGxvYWQganNvbiBzY2hlbWEnLCAoKSA9PiB7XG4vLyAgICAgLy8gY29uc29sZS5sb2coc2NoZW1hKTtcbi8vICAgfSk7XG5cbi8vICAgZGVzY3JpYmUoJ1dhdGVybWFyaycsICgpID0+IHtcbi8vICAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgd2F0ZXJtYXJrOiB7XG4vLyAgICAgICAgICAgZmlsZTogJ3Rlc3RmaWxlaGFuZGxlJyxcbi8vICAgICAgICAgICBzaXplOiAzMDAsXG4vLyAgICAgICAgICAgcG9zaXRpb246ICd0b3AnLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuXG4vLyAgICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcyAocG9zaXRpb24gYXJyYXkpJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgd2F0ZXJtYXJrOiB7XG4vLyAgICAgICAgICAgZmlsZTogJ3Rlc3RmaWxlaGFuZGxlJyxcbi8vICAgICAgICAgICBzaXplOiAzMDAsXG4vLyAgICAgICAgICAgcG9zaXRpb246IFsndG9wJywgJ2xlZnQnXSxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcblxuLy8gICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwb3NpdGlvbiBwYXJhbXMgW3RvcCwgYm90dG9tXScsICgpID0+IHtcbi8vICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuLy8gICAgICAgICB3YXRlcm1hcms6IHtcbi8vICAgICAgICAgICBmaWxlOiAndGVzdGZpbGVoYW5kbGUnLFxuLy8gICAgICAgICAgIHNpemU6IDMwMCxcbi8vICAgICAgICAgICBwb3NpdGlvbjogWyd0b3AnLCAnYm90dG9tJ10sXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG4vLyAgIH0pO1xuXG4vLyAgIGRlc2NyaWJlKCdQYXJ0aWFsIEJsdXInLCAoKSA9PiB7XG4vLyAgICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcycsICgpID0+IHtcbi8vICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHBhcnRpYWxfYmx1cjoge1xuLy8gICAgICAgICAgIG9iamVjdHM6IFtcbi8vICAgICAgICAgICAgIFsxLCAxLCAyLCAyXSxcbi8vICAgICAgICAgICAgIFsxLCAxLCAzMiwgMTVdLFxuLy8gICAgICAgICAgIF0sXG4vLyAgICAgICAgICAgYW1vdW50OiAxOC4yLFxuLy8gICAgICAgICAgIGJsdXI6IDEyLFxuLy8gICAgICAgICAgIHR5cGU6ICdyZWN0Jyxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcblxuLy8gICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKGFtb3VudCwgYmx1ciwgdHlwZSknLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbi8vICAgICAgICAgcGFydGlhbF9ibHVyOiB7XG4vLyAgICAgICAgICAgb2JqZWN0czogW1xuLy8gICAgICAgICAgICAgWzEsIDEsIDIsIDJdLFxuLy8gICAgICAgICAgICAgWzEsIDEsIDMyLCAxNV0sXG4vLyAgICAgICAgICAgXSxcbi8vICAgICAgICAgICBhbW91bnQ6IC0xMCxcbi8vICAgICAgICAgICBibHVyOiAzMDAsXG4vLyAgICAgICAgICAgdHlwZTogJ3dyb25nX3R5cGUnLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuXG4vLyAgICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAob2JqZWN0cyknLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbi8vICAgICAgICAgcGFydGlhbF9ibHVyOiB7XG4vLyAgICAgICAgICAgb2JqZWN0czogW1xuLy8gICAgICAgICAgICAgWzEsIDEsIDJdLFxuLy8gICAgICAgICAgICAgWzEsIDEsIDMyLCAxNSwgMzJdLFxuLy8gICAgICAgICAgIF0sXG4vLyAgICAgICAgICAgYW1vdW50OiAxMCxcbi8vICAgICAgICAgICBibHVyOiAyMCxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcbi8vICAgfSk7XG5cbi8vICAgZGVzY3JpYmUoJ1BhcnRpYWwgUGl4ZWxhdGUnLCAoKSA9PiB7XG4vLyAgICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcycsICgpID0+IHtcbi8vICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHBhcnRpYWxfcGl4ZWxhdGU6IHtcbi8vICAgICAgICAgICBvYmplY3RzOiBbXG4vLyAgICAgICAgICAgICBbMSwgMSwgMiwgMl0sXG4vLyAgICAgICAgICAgICBbMSwgMSwgMzIsIDE1XSxcbi8vICAgICAgICAgICBdLFxuLy8gICAgICAgICAgIGFtb3VudDogMTAwLFxuLy8gICAgICAgICAgIGJsdXI6IDEyLjIsXG4vLyAgICAgICAgICAgdHlwZTogJ292YWwnLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuXG4vLyAgICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAoYW1vdW50LCBibHVyLCB0eXBlKScsICgpID0+IHtcbi8vICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuLy8gICAgICAgICBwYXJ0aWFsX3BpeGVsYXRlOiB7XG4vLyAgICAgICAgICAgb2JqZWN0czogW1xuLy8gICAgICAgICAgICAgWzEsIDEsIDIsIDJdLFxuLy8gICAgICAgICAgICAgWzEsIDEsIDMyLCAxNV0sXG4vLyAgICAgICAgICAgXSxcbi8vICAgICAgICAgICBhbW91bnQ6IC0xMCxcbi8vICAgICAgICAgICBibHVyOiAzMDAsXG4vLyAgICAgICAgICAgdHlwZTogJ3dyb25nX3R5cGUnLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuXG4vLyAgICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAob2JqZWN0cyknLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbi8vICAgICAgICAgcGFydGlhbF9waXhlbGF0ZToge1xuLy8gICAgICAgICAgIG9iamVjdHM6IFtcbi8vICAgICAgICAgICAgIFsxLCAxLCAyXSxcbi8vICAgICAgICAgICAgIFsxLCAxLCAzMiwgMTUsIDMyXSxcbi8vICAgICAgICAgICBdLFxuLy8gICAgICAgICAgIGFtb3VudDogMTAsXG4vLyAgICAgICAgICAgYmx1cjogMjAsXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG4vLyAgIH0pO1xuXG4vLyAgIGRlc2NyaWJlKCdDcm9wJywgKCkgPT4ge1xuLy8gICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICBjcm9wOiB7XG4vLyAgICAgICAgICAgZGltOiBbMSwgMSwgMiwgMl0sXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIGZhaWwgb24gZW1wdHkgZGltIHBhcmFtcycsICgpID0+IHtcbi8vICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuLy8gICAgICAgICBjcm9wOiB7XG4vLyAgICAgICAgICAgZGltOiBbXSxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcblxuLy8gICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKG1pbmltdW0gdmFsdWUgZm9yIDIgZmlyc3QgaXRlbXMpJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIGNyb3A6IHtcbi8vICAgICAgICAgICBkaW06IFsyLCAxLCAwLCAyXSxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcblxuLy8gICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKDUgaXRlbXMgaW4gYXJyYXkpJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIGNyb3A6IHtcbi8vICAgICAgICAgICBkaW06IFsxLCAxLCAyLCAyLCA0XSxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcbi8vICAgfSk7XG5cbi8vICAgZGVzY3JpYmUoJ1Jlc2l6ZScsICgpID0+IHtcbi8vICAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgcmVzaXplOiB7XG4vLyAgICAgICAgICAgd2lkdGg6IDEwLFxuLy8gICAgICAgICAgIGhlaWdodDogMjAsXG4vLyAgICAgICAgICAgZml0OiAnY3JvcCcsXG4vLyAgICAgICAgICAgYWxpZ246IFsndG9wJywgJ2xlZnQnXSxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcblxuLy8gICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCB3aGVuIG9ubHkgb25lIHdpZHRoIG9yIGhlaWdodCBpcyBwcm92aWRlZCcsICgpID0+IHtcbi8vICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHJlc2l6ZToge1xuLy8gICAgICAgICAgIHdpZHRoOiAxMCxcbi8vICAgICAgICAgICBmaXQ6ICdjcm9wJyxcbi8vICAgICAgICAgICBhbGlnbjogJ2xlZnQnLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuXG4vLyAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICByZXNpemU6IHtcbi8vICAgICAgICAgICBoZWlnaHQ6IDEwLFxuLy8gICAgICAgICAgIGZpdDogJ2Nyb3AnLFxuLy8gICAgICAgICAgIGFsaWduOiAnbGVmdCcsXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zIChtaXNzaW5nIHdpZHRoIGFuZCBoZWlnaHQpJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHJlc2l6ZToge1xuLy8gICAgICAgICAgIGZpdDogJ2Nyb3AnLFxuLy8gICAgICAgICAgIGFsaWduOiAnbGVmdCcsXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG4vLyAgIH0pO1xuXG4vLyAgIGRlc2NyaWJlKCdSZXNpemUnLCAoKSA9PiB7XG4vLyAgICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcycsICgpID0+IHtcbi8vICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHJvdGF0ZToge1xuLy8gICAgICAgICAgIGRlZzogJ2V4aWYnLFxuLy8gICAgICAgICAgIGV4aWY6IGZhbHNlLFxuLy8gICAgICAgICAgIGJhY2tncm91bmQ6ICdmZmYnLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuXG4vLyAgICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcycsICgpID0+IHtcbi8vICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHJvdGF0ZToge1xuLy8gICAgICAgICAgIGRlZzogMjAwLFxuLy8gICAgICAgICAgIGV4aWY6IHRydWUsXG4vLyAgICAgICAgICAgYmFja2dyb3VuZDogJ2ZmZmZmZicsXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zICh3cm9uZyBleGlmIHJvdGF0aW9uKScsICgpID0+IHtcbi8vICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuLy8gICAgICAgICByb3RhdGU6IHtcbi8vICAgICAgICAgICBkZWc6IDEyMyxcbi8vICAgICAgICAgICBleGlmOiAndHJ1ZScsXG4vLyAgICAgICAgICAgYmFja2dyb3VuZDogJ2ZmZmZmZicsXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG4vLyAgIH0pO1xuXG4vLyAgIGRlc2NyaWJlKCdQZGZpbmZvJywgKCkgPT4ge1xuLy8gICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMgd2l0aCBib29sIHZhbHVlJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgcGRmaW5mbzogdHJ1ZSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcblxuLy8gICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMgd2l0aCBjb2xvciBpbmZvJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgcGRmaW5mbzoge1xuLy8gICAgICAgICAgIGNvbG9yaW5mbzogdHJ1ZSxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcbi8vICAgfSk7XG5cbi8vICAgZGVzY3JpYmUoJ1BkZmNvbnZlcnQnLCAoKSA9PiB7XG4vLyAgICAgZGVzY3JpYmUoJ1BhZ2VzJywgKCkgPT4ge1xuLy8gICAgICAgW1sxLDJdLCBbJzEtJywgM10sIFsnLTInXV0uZm9yRWFjaCgodmFsKSA9PiB7XG4vLyAgICAgICAgIGl0KGBzaG91bGQgdmFsaWRhdGUgb24gY29ycmVjdCBwYWdlIFwiJHt2YWx9XCJgLCAoKSA9PiB7XG4vLyAgICAgICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgICAgIHBkZmNvbnZlcnQ6IHtcbi8vICAgICAgICAgICAgICAgcGFnZXM6IHZhbCxcbi8vICAgICAgICAgICAgIH0sXG4vLyAgICAgICAgICAgfSkpO1xuLy8gICAgICAgICB9KTtcbi8vICAgICAgIH0pO1xuXG4vLyAgICAgICBpdCgnc2hvdWxkIHJldHVybiBlcnJvciBvbiBmYWlsIHBhZ2UgXCIxYVwiJywgKCkgPT4ge1xuLy8gICAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbi8vICAgICAgICAgICBwZGZjb252ZXJ0OiB7XG4vLyAgICAgICAgICAgICBwYWdlczogJzFhJyxcbi8vICAgICAgICAgICB9LFxuLy8gICAgICAgICB9KSk7XG4vLyAgICAgICB9KTtcblxuLy8gICAgIH0pO1xuXG4vLyAgICAgZGVzY3JpYmUoJ1BhZ2Ugb3JpZW50YXRpb24nLCAoKSA9PiB7XG4vLyAgICAgICBpdCgnc2hvdWxkIHBhc3Mgb24gY29ycmVjdCBvcmllbnRhdGlvbiBcImxhbmRzY2FwZVwiJywgKCkgPT4ge1xuLy8gICAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICAgIHBkZmNvbnZlcnQ6IHtcbi8vICAgICAgICAgICAgIHBhZ2VvcmllbnRhdGlvbjogJ2xhbmRzY2FwZScsXG4vLyAgICAgICAgICAgfSxcbi8vICAgICAgICAgfSkpO1xuLy8gICAgICAgfSk7XG5cbi8vICAgICAgIGl0KCdzaG91bGQgcGFzcyBvbiBjb3JyZWN0IG9yaWVudGF0aW9uIFwicG9ydHJhaXRcIicsICgpID0+IHtcbi8vICAgICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgICBwZGZjb252ZXJ0OiB7XG4vLyAgICAgICAgICAgICBwYWdlb3JpZW50YXRpb246ICdwb3J0cmFpdCcsXG4vLyAgICAgICAgICAgfSxcbi8vICAgICAgICAgfSkpO1xuLy8gICAgICAgfSk7XG5cbi8vICAgICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBvcmllbnRhdGlvbiBcImxhbmRzY2FwZTFcIicsICgpID0+IHtcbi8vICAgICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4vLyAgICAgICAgICAgcGRmY29udmVydDoge1xuLy8gICAgICAgICAgICAgcGFnZW9yaWVudGF0aW9uOiAnbGFuZHNjYXBlMScsXG4vLyAgICAgICAgICAgfSxcbi8vICAgICAgICAgfSkpO1xuLy8gICAgICAgfSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBkZXNjcmliZSgnUGFnZSBmb3JtYXQnLCAoKSA9PiB7XG4vLyAgICAgICBbJ2EyJywgJ2EzJywgJ2E0JywgJ2E1JywgJ2I0JywgJ2I1JywgJ2xldHRlcicsICdsZWdhbCcsICd0YWJsb2lkJ10uZm9yRWFjaCgodmFsKSA9PiB7XG4vLyAgICAgICAgIGl0KGBzaG91bGQgd2hlbiBjb3JyZWN0IHBhZ2UgZm9ybWF0IGlzIHByb3ZpZGVkICR7dmFsfWAsICgpID0+IHtcbi8vICAgICAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICAgICAgcGRmY29udmVydDoge1xuLy8gICAgICAgICAgICAgICBwYWdlczogWzEsMl0sXG4vLyAgICAgICAgICAgICAgIHBhZ2Vmb3JtYXQ6IHZhbCxcbi8vICAgICAgICAgICAgIH0sXG4vLyAgICAgICAgICAgfSkpO1xuLy8gICAgICAgICB9KTtcbi8vICAgICAgIH0pO1xuXG4vLyAgICAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFnZSBmb3JtYXQgaWUgYTIyJywgKCkgPT4ge1xuLy8gICAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbi8vICAgICAgICAgICBwZGZjb252ZXJ0OiB7XG4vLyAgICAgICAgICAgICBwYWdlZm9ybWF0OiAnYTIyJyxcbi8vICAgICAgICAgICB9LFxuLy8gICAgICAgICB9KSk7XG4vLyAgICAgICB9KTtcbi8vICAgICB9KTtcbi8vICAgfSk7XG4vLyB9KTtcbiJdfQ==
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.UploadParamsSchema = void 0;
/*

@@ -89,2 +90,2 @@ * Copyright (c) 2018 by Filestack.

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdXBsb2FkLnNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNVLFFBQUEsa0JBQWtCLEdBQUc7SUFDaEMsT0FBTyxFQUFFLHlDQUF5QztJQUNsRCxLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLFdBQVcsRUFBRSwwQkFBMEI7SUFDdkMsSUFBSSxFQUFFLFFBQVE7SUFDZCxvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLFVBQVUsRUFBRTtRQUNWLFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1lBQ2YsT0FBTyxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSTtTQUN6QjtRQUNELFdBQVcsRUFBRTtZQUNYLElBQUksRUFBRSxTQUFTO1lBQ2YsT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLEVBQUUsRUFBRTtTQUNaO1FBQ0QsZ0JBQWdCLEVBQUU7WUFDaEIsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsQ0FBQztZQUNWLE9BQU8sRUFBRSxFQUFFO1NBQ1o7UUFDRCxXQUFXLEVBQUU7WUFDWCxJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELFlBQVksRUFBRTtZQUNaLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsQ0FBQztZQUNWLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUk7U0FDeEI7UUFDRCxXQUFXLEVBQUU7WUFDWCxLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsSUFBSSxFQUFFLFNBQVM7aUJBQ2hCO2dCQUNEO29CQUNFLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztpQkFDbkI7YUFDRjtTQUNGO1FBQ0Qsb0JBQW9CLEVBQUU7WUFDcEIsSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxVQUFVLEVBQUU7WUFDVixNQUFNLEVBQUUsVUFBVTtTQUNuQjtRQUNELE9BQU8sRUFBRTtZQUNQLE1BQU0sRUFBRSxVQUFVO1NBQ25CO1FBQ0QscUJBQXFCLEVBQUU7WUFDckIsSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRSxFQUFFO1lBQ1osb0JBQW9CLEVBQUU7Z0JBQ3BCLElBQUksRUFBRSxRQUFRO2dCQUNkLFNBQVMsRUFBRSxHQUFHO2FBQ2Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQyIsImZpbGUiOiJzY2hlbWEvdXBsb2FkLnNjaGVtYS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5leHBvcnQgY29uc3QgVXBsb2FkUGFyYW1zU2NoZW1hID0ge1xuICAkc2NoZW1hOiAnaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjJyxcbiAgdGl0bGU6ICdGaWxlc3RhY2sgVXBsb2FkJyxcbiAgZGVzY3JpcHRpb246ICdGaWxlc3RhY2sgVXBsb2FkIE9wdGlvbnMnLFxuICB0eXBlOiAnb2JqZWN0JyxcbiAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgcGFydFNpemU6IHtcbiAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgIG1pbmltdW06IDUgKiAxMDI0ICogMTAyNCxcbiAgICB9LFxuICAgIGNvbmN1cnJlbmN5OiB7XG4gICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICBtaW5pbXVtOiAxLFxuICAgICAgbWF4aW11bTogMjAsXG4gICAgfSxcbiAgICBwcm9ncmVzc0ludGVydmFsOiB7XG4gICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICBtaW5pbXVtOiAxLFxuICAgIH0sXG4gICAgcmV0cnk6IHtcbiAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgIG1pbmltdW06IDAsXG4gICAgICBtYXhpbXVtOiAyMCxcbiAgICB9LFxuICAgIHJldHJ5RmFjdG9yOiB7XG4gICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgfSxcbiAgICByZXRyeU1heFRpbWU6IHtcbiAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICB9LFxuICAgIHRpbWVvdXQ6IHtcbiAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgIG1pbmltdW06IDEsXG4gICAgICBtYXhpbXVtOiA2MCAqIDYwICogMTAwMCxcbiAgICB9LFxuICAgIGludGVsbGlnZW50OiB7XG4gICAgICBvbmVPZjogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgZW51bTogWydmYWxsYmFjayddLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIGludGVsbGlnZW50Q2h1bmtTaXplOiB7XG4gICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgfSxcbiAgICBvblByb2dyZXNzOiB7XG4gICAgICBmb3JtYXQ6ICdjYWxsYmFjaycsXG4gICAgfSxcbiAgICBvblJldHJ5OiB7XG4gICAgICBmb3JtYXQ6ICdjYWxsYmFjaycsXG4gICAgfSxcbiAgICBkaXNhYmxlSW50ZWdyaXR5Q2hlY2s6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICB9LFxuICAgIHRhZ3M6IHtcbiAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgbWF4SXRlbXM6IDEwLFxuICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIG1heGxlbmd0aDogMjU2LFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdXBsb2FkLnNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDVSxRQUFBLGtCQUFrQixHQUFHO0lBQ2hDLE9BQU8sRUFBRSx5Q0FBeUM7SUFDbEQsS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixXQUFXLEVBQUUsMEJBQTBCO0lBQ3ZDLElBQUksRUFBRSxRQUFRO0lBQ2Qsb0JBQW9CLEVBQUUsS0FBSztJQUMzQixVQUFVLEVBQUU7UUFDVixRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztZQUNmLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUk7U0FDekI7UUFDRCxXQUFXLEVBQUU7WUFDWCxJQUFJLEVBQUUsU0FBUztZQUNmLE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTyxFQUFFLEVBQUU7U0FDWjtRQUNELGdCQUFnQixFQUFFO1lBQ2hCLElBQUksRUFBRSxTQUFTO1lBQ2YsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSxTQUFTO1lBQ2YsT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLEVBQUUsRUFBRTtTQUNaO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxZQUFZLEVBQUU7WUFDWixJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELE9BQU8sRUFBRTtZQUNQLElBQUksRUFBRSxTQUFTO1lBQ2YsT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJO1NBQ3hCO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsS0FBSyxFQUFFO2dCQUNMO29CQUNFLElBQUksRUFBRSxTQUFTO2lCQUNoQjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7aUJBQ25CO2FBQ0Y7U0FDRjtRQUNELG9CQUFvQixFQUFFO1lBQ3BCLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsVUFBVSxFQUFFO1lBQ1YsTUFBTSxFQUFFLFVBQVU7U0FDbkI7UUFDRCxPQUFPLEVBQUU7WUFDUCxNQUFNLEVBQUUsVUFBVTtTQUNuQjtRQUNELHFCQUFxQixFQUFFO1lBQ3JCLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsRUFBRTtZQUNaLG9CQUFvQixFQUFFO2dCQUNwQixJQUFJLEVBQUUsUUFBUTtnQkFDZCxTQUFTLEVBQUUsR0FBRzthQUNmO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJmaWxlIjoic2NoZW1hL3VwbG9hZC5zY2hlbWEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFVwbG9hZFBhcmFtc1NjaGVtYSA9IHtcbiAgJHNjaGVtYTogJ2h0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIycsXG4gIHRpdGxlOiAnRmlsZXN0YWNrIFVwbG9hZCcsXG4gIGRlc2NyaXB0aW9uOiAnRmlsZXN0YWNrIFVwbG9hZCBPcHRpb25zJyxcbiAgdHlwZTogJ29iamVjdCcsXG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgcHJvcGVydGllczoge1xuICAgIHBhcnRTaXplOiB7XG4gICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICBtaW5pbXVtOiA1ICogMTAyNCAqIDEwMjQsXG4gICAgfSxcbiAgICBjb25jdXJyZW5jeToge1xuICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgbWluaW11bTogMSxcbiAgICAgIG1heGltdW06IDIwLFxuICAgIH0sXG4gICAgcHJvZ3Jlc3NJbnRlcnZhbDoge1xuICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgbWluaW11bTogMSxcbiAgICB9LFxuICAgIHJldHJ5OiB7XG4gICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICBtaW5pbXVtOiAwLFxuICAgICAgbWF4aW11bTogMjAsXG4gICAgfSxcbiAgICByZXRyeUZhY3Rvcjoge1xuICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgIH0sXG4gICAgcmV0cnlNYXhUaW1lOiB7XG4gICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgfSxcbiAgICB0aW1lb3V0OiB7XG4gICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICBtaW5pbXVtOiAxLFxuICAgICAgbWF4aW11bTogNjAgKiA2MCAqIDEwMDAsXG4gICAgfSxcbiAgICBpbnRlbGxpZ2VudDoge1xuICAgICAgb25lT2Y6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGVudW06IFsnZmFsbGJhY2snXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICBpbnRlbGxpZ2VudENodW5rU2l6ZToge1xuICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgIH0sXG4gICAgb25Qcm9ncmVzczoge1xuICAgICAgZm9ybWF0OiAnY2FsbGJhY2snLFxuICAgIH0sXG4gICAgb25SZXRyeToge1xuICAgICAgZm9ybWF0OiAnY2FsbGJhY2snLFxuICAgIH0sXG4gICAgZGlzYWJsZUludGVncml0eUNoZWNrOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgICB0YWdzOiB7XG4gICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgIG1heEl0ZW1zOiAxMCxcbiAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBtYXhsZW5ndGg6IDI1NixcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbn07XG4iXX0=
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getValidator = void 0;
/*

@@ -28,3 +29,3 @@ * Copyright (c) 2018 by Filestack.

*/
exports.getValidator = function (schema) {
var getValidator = function (schema) {
return function (params) {

@@ -35,3 +36,4 @@ v.addSchema(definitions_schema_1.DefinitionsSchema);

};
exports.getValidator = getValidator;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gseUNBQXVDO0FBQ3ZDLDJEQUF5RDtBQUV6RCxJQUFNLENBQUMsR0FBRyxJQUFJLHNCQUFTLEVBQUUsQ0FBQztBQUUxQixzQkFBUyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLFVBQUMsS0FBSyxJQUFLLE9BQUEsT0FBTyxLQUFLLEtBQUssVUFBVSxFQUEzQixDQUEyQixDQUFDO0FBQ3BGLG1FQUFtRTtBQUNuRSxzQkFBUyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsYUFBYSxHQUFHLFVBQUMsS0FBSyxJQUFLLE9BQUEsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQXRGLENBQXNGLENBQUM7QUFFcEo7O0dBRUc7QUFDVSxRQUFBLFlBQVksR0FBRyxVQUFDLE1BQU07SUFDakMsT0FBTyxVQUFDLE1BQU07UUFDWixDQUFDLENBQUMsU0FBUyxDQUFDLHNDQUFpQixDQUFDLENBQUM7UUFDL0IsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJmaWxlIjoic2NoZW1hL3ZhbGlkYXRvci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tICdqc29uc2NoZW1hJztcbmltcG9ydCB7IERlZmluaXRpb25zU2NoZW1hIH0gZnJvbSAnLi9kZWZpbml0aW9ucy5zY2hlbWEnO1xuXG5jb25zdCB2ID0gbmV3IFZhbGlkYXRvcigpO1xuXG5WYWxpZGF0b3IucHJvdG90eXBlLmN1c3RvbUZvcm1hdHMuY2FsbGJhY2sgPSAoaW5wdXQpID0+IHR5cGVvZiBpbnB1dCA9PT0gJ2Z1bmN0aW9uJztcbi8vIGNoZWNrIGlmIGVsZW1lbnQgaGF2ZSBIVE1MIGluIHRvIHN0cmluZyBtZXRob2QgaWUgSFRNTERpdkVsZW1lbnRcblZhbGlkYXRvci5wcm90b3R5cGUuY3VzdG9tRm9ybWF0cy5IVE1MQ29udGFpbmVyID0gKGlucHV0KSA9PiB0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnIHx8IChpbnB1dC50b1N0cmluZyAmJiBpbnB1dC50b1N0cmluZygpLmluZGV4T2YoJ0hUTUwnKSA+IC0xKTtcblxuLyoqXG4gKiBSZXR1cm5zIHZhbGlkYXRvciBpbnN0YW5jZVxuICovXG5leHBvcnQgY29uc3QgZ2V0VmFsaWRhdG9yID0gKHNjaGVtYSkgPT4ge1xuICByZXR1cm4gKHBhcmFtcykgPT4ge1xuICAgIHYuYWRkU2NoZW1hKERlZmluaXRpb25zU2NoZW1hKTtcbiAgICByZXR1cm4gdi52YWxpZGF0ZShwYXJhbXMsIHNjaGVtYSk7XG4gIH07XG59O1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILHlDQUF1QztBQUN2QywyREFBeUQ7QUFFekQsSUFBTSxDQUFDLEdBQUcsSUFBSSxzQkFBUyxFQUFFLENBQUM7QUFFMUIsc0JBQVMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxVQUFDLEtBQUssSUFBSyxPQUFBLE9BQU8sS0FBSyxLQUFLLFVBQVUsRUFBM0IsQ0FBMkIsQ0FBQztBQUNwRixtRUFBbUU7QUFDbkUsc0JBQVMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLGFBQWEsR0FBRyxVQUFDLEtBQUssSUFBSyxPQUFBLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUF0RixDQUFzRixDQUFDO0FBRXBKOztHQUVHO0FBQ0ksSUFBTSxZQUFZLEdBQUcsVUFBQyxNQUFNO0lBQ2pDLE9BQU8sVUFBQyxNQUFNO1FBQ1osQ0FBQyxDQUFDLFNBQVMsQ0FBQyxzQ0FBaUIsQ0FBQyxDQUFDO1FBQy9CLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBTFcsUUFBQSxZQUFZLGdCQUt2QiIsImZpbGUiOiJzY2hlbWEvdmFsaWRhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IFZhbGlkYXRvciB9IGZyb20gJ2pzb25zY2hlbWEnO1xuaW1wb3J0IHsgRGVmaW5pdGlvbnNTY2hlbWEgfSBmcm9tICcuL2RlZmluaXRpb25zLnNjaGVtYSc7XG5cbmNvbnN0IHYgPSBuZXcgVmFsaWRhdG9yKCk7XG5cblZhbGlkYXRvci5wcm90b3R5cGUuY3VzdG9tRm9ybWF0cy5jYWxsYmFjayA9IChpbnB1dCkgPT4gdHlwZW9mIGlucHV0ID09PSAnZnVuY3Rpb24nO1xuLy8gY2hlY2sgaWYgZWxlbWVudCBoYXZlIEhUTUwgaW4gdG8gc3RyaW5nIG1ldGhvZCBpZSBIVE1MRGl2RWxlbWVudFxuVmFsaWRhdG9yLnByb3RvdHlwZS5jdXN0b21Gb3JtYXRzLkhUTUxDb250YWluZXIgPSAoaW5wdXQpID0+IHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycgfHwgKGlucHV0LnRvU3RyaW5nICYmIGlucHV0LnRvU3RyaW5nKCkuaW5kZXhPZignSFRNTCcpID4gLTEpO1xuXG4vKipcbiAqIFJldHVybnMgdmFsaWRhdG9yIGluc3RhbmNlXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRWYWxpZGF0b3IgPSAoc2NoZW1hKSA9PiB7XG4gIHJldHVybiAocGFyYW1zKSA9PiB7XG4gICAgdi5hZGRTY2hlbWEoRGVmaW5pdGlvbnNTY2hlbWEpO1xuICAgIHJldHVybiB2LnZhbGlkYXRlKHBhcmFtcywgc2NoZW1hKTtcbiAgfTtcbn07XG4iXX0=

@@ -28,6 +28,6 @@ /*

cdnUrl: 'https://cdn.filestackcontent.com',
pickerUrl: "https://static.filestackapi.com/picker/" + PICKER_VERSION + "/picker.js",
pickerUrl: "https://static.filestackapi.com/picker/".concat(PICKER_VERSION, "/picker.js"),
},
};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUg7O0dBRUc7QUFDSCxJQUFNLGNBQWMsR0FBRyxRQUFRLENBQUM7QUFzQmhDLE1BQU0sQ0FBQyxJQUFNLE1BQU0sR0FBRztJQUNwQixJQUFJLEVBQUU7UUFDSixVQUFVLEVBQUUsa0NBQWtDO1FBQzlDLFVBQVUsRUFBRSx1Q0FBdUM7UUFDbkQsWUFBWSxFQUFFLGlDQUFpQztRQUMvQyxXQUFXLEVBQUUsZ0NBQWdDO1FBQzdDLE1BQU0sRUFBRSxrQ0FBa0M7UUFDMUMsU0FBUyxFQUFFLDRDQUEwQyxjQUFjLGVBQVk7S0FDaEY7Q0FDRixDQUFDIiwiZmlsZSI6ImNvbmZpZy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuY29uc3QgUElDS0VSX1ZFUlNJT04gPSAnMS4yNC4xJztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhvc3RzIHtcbiAgW3VybDogc3RyaW5nXTogc3RyaW5nO1xuICBmaWxlQXBpVXJsOiBzdHJpbmc7XG4gIHVwbG9hZEFwaVVybDogc3RyaW5nO1xuICBjbG91ZEFwaVVybDogc3RyaW5nO1xuICBjZG5Vcmw6IHN0cmluZztcbiAgcGlja2VyVXJsOiBzdHJpbmc7XG4gIHByb2Nlc3NVcmw6IHN0cmluZztcbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZyB7XG4gIHVybHM6IEhvc3RzO1xufVxuXG5leHBvcnQgY29uc3QgY29uZmlnID0ge1xuICB1cmxzOiB7XG4gICAgcHJvY2Vzc1VybDogJ2h0dHBzOi8vcHJvY2Vzcy5maWxlc3RhY2thcGkuY29tJyxcbiAgICBmaWxlQXBpVXJsOiAnaHR0cHM6Ly93d3cuZmlsZXN0YWNrYXBpLmNvbS9hcGkvZmlsZScsXG4gICAgdXBsb2FkQXBpVXJsOiAnaHR0cHM6Ly91cGxvYWQuZmlsZXN0YWNrYXBpLmNvbScsXG4gICAgY2xvdWRBcGlVcmw6ICdodHRwczovL2Nsb3VkLmZpbGVzdGFja2FwaS5jb20nLFxuICAgIGNkblVybDogJ2h0dHBzOi8vY2RuLmZpbGVzdGFja2NvbnRlbnQuY29tJyxcbiAgICBwaWNrZXJVcmw6IGBodHRwczovL3N0YXRpYy5maWxlc3RhY2thcGkuY29tL3BpY2tlci8ke1BJQ0tFUl9WRVJTSU9OfS9waWNrZXIuanNgLFxuICB9LFxufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUg7O0dBRUc7QUFDSCxJQUFNLGNBQWMsR0FBRyxRQUFRLENBQUM7QUFzQmhDLE1BQU0sQ0FBQyxJQUFNLE1BQU0sR0FBRztJQUNwQixJQUFJLEVBQUU7UUFDSixVQUFVLEVBQUUsa0NBQWtDO1FBQzlDLFVBQVUsRUFBRSx1Q0FBdUM7UUFDbkQsWUFBWSxFQUFFLGlDQUFpQztRQUMvQyxXQUFXLEVBQUUsZ0NBQWdDO1FBQzdDLE1BQU0sRUFBRSxrQ0FBa0M7UUFDMUMsU0FBUyxFQUFFLGlEQUEwQyxjQUFjLGVBQVk7S0FDaEY7Q0FDRixDQUFDIiwiZmlsZSI6ImNvbmZpZy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuY29uc3QgUElDS0VSX1ZFUlNJT04gPSAnMS4yNC4xJztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhvc3RzIHtcbiAgW3VybDogc3RyaW5nXTogc3RyaW5nO1xuICBmaWxlQXBpVXJsOiBzdHJpbmc7XG4gIHVwbG9hZEFwaVVybDogc3RyaW5nO1xuICBjbG91ZEFwaVVybDogc3RyaW5nO1xuICBjZG5Vcmw6IHN0cmluZztcbiAgcGlja2VyVXJsOiBzdHJpbmc7XG4gIHByb2Nlc3NVcmw6IHN0cmluZztcbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZyB7XG4gIHVybHM6IEhvc3RzO1xufVxuXG5leHBvcnQgY29uc3QgY29uZmlnID0ge1xuICB1cmxzOiB7XG4gICAgcHJvY2Vzc1VybDogJ2h0dHBzOi8vcHJvY2Vzcy5maWxlc3RhY2thcGkuY29tJyxcbiAgICBmaWxlQXBpVXJsOiAnaHR0cHM6Ly93d3cuZmlsZXN0YWNrYXBpLmNvbS9hcGkvZmlsZScsXG4gICAgdXBsb2FkQXBpVXJsOiAnaHR0cHM6Ly91cGxvYWQuZmlsZXN0YWNrYXBpLmNvbScsXG4gICAgY2xvdWRBcGlVcmw6ICdodHRwczovL2Nsb3VkLmZpbGVzdGFja2FwaS5jb20nLFxuICAgIGNkblVybDogJ2h0dHBzOi8vY2RuLmZpbGVzdGFja2NvbnRlbnQuY29tJyxcbiAgICBwaWNrZXJVcmw6IGBodHRwczovL3N0YXRpYy5maWxlc3RhY2thcGkuY29tL3BpY2tlci8ke1BJQ0tFUl9WRVJTSU9OfS9waWNrZXIuanNgLFxuICB9LFxufTtcbiJdfQ==

@@ -26,3 +26,3 @@ import { SecurityOptions, getSecurity, validateWebhookSignature, WebhookValidatePayload } from './lib/api/security';

*/
export declare const version = "3.27.0";
export declare const version = "3.28.0";
export * from './lib/api/transform';

@@ -29,0 +29,0 @@ export * from './lib/filelink';

@@ -39,4 +39,4 @@ /*

*/
export var version = '3.27.0';
registerModule(FILESTACK_MODULES.FILESTACK_SDK, Filestack, { version: '3.27.0' });
export var version = '3.28.0';
registerModule(FILESTACK_MODULES.FILESTACK_SDK, Filestack, { version: '3.28.0' });
export * from './lib/api/transform';

@@ -43,0 +43,0 @@ export * from './lib/filelink';

@@ -71,3 +71,3 @@ /*

},
enumerable: true,
enumerable: false,
configurable: true

@@ -91,3 +91,3 @@ });

},
enumerable: true,
enumerable: false,
configurable: true

@@ -123,3 +123,3 @@ });

}
return FsRequest.post(this.cloudApiUrl + "/folder/list", payload, options).then(function (res) {
return FsRequest.post("".concat(this.cloudApiUrl, "/folder/list"), payload, options).then(function (res) {
if (res.data && res.data.token) {

@@ -169,3 +169,3 @@ _this.token = res.data.token;

}
return FsRequest.post(this.cloudApiUrl + "/store/", payload, requestOptions).then(function (res) {
return FsRequest.post("".concat(this.cloudApiUrl, "/store/"), payload, requestOptions).then(function (res) {
if (res.data && res.data.token) {

@@ -199,3 +199,3 @@ _this.token = res.data.token;

}
return FsRequest.post(this.cloudApiUrl + "/auth/logout", payload).then(function (res) {
return FsRequest.post("".concat(this.cloudApiUrl, "/auth/logout"), payload).then(function (res) {
if (res.data && res.data[name]) {

@@ -217,3 +217,3 @@ return res.data[name];

}
return FsRequest.post(this.cloudApiUrl + "/metadata", payload).then(function (res) { return res.data; });
return FsRequest.post("".concat(this.cloudApiUrl, "/metadata"), payload).then(function (res) { return res.data; });
};

@@ -225,3 +225,3 @@ // OpenTok API Endpoints

}
return FsRequest.post(this.cloudApiUrl + "/recording/" + type + "/init").then(function (res) { return res.data; });
return FsRequest.post("".concat(this.cloudApiUrl, "/recording/").concat(type, "/init")).then(function (res) { return res.data; });
};

@@ -236,3 +236,3 @@ CloudClient.prototype.tokStart = function (type, key, sessionId) {

};
return FsRequest.post(this.cloudApiUrl + "/recording/" + type + "/start", payload).then(function (res) { return res.data; });
return FsRequest.post("".concat(this.cloudApiUrl, "/recording/").concat(type, "/start"), payload).then(function (res) { return res.data; });
};

@@ -248,3 +248,3 @@ CloudClient.prototype.tokStop = function (type, key, sessionId, archiveId) {

};
return FsRequest.post(this.cloudApiUrl + "/recording/" + type + "/stop", payload).then(function (res) { return res.data; });
return FsRequest.post("".concat(this.cloudApiUrl, "/recording/").concat(type, "/stop"), payload).then(function (res) { return res.data; });
};

@@ -260,3 +260,3 @@ CloudClient.prototype.currentAppUrl = function () {

searchParams.set(CALLBACK_URL_KEY, 'init');
return window.location.protocol + "//" + window.location.host + window.location.pathname + "?" + searchParams.toString();
return "".concat(window.location.protocol, "//").concat(window.location.host).concat(window.location.pathname, "?").concat(searchParams.toString());
};

@@ -267,2 +267,2 @@ return CloudClient;

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL2Nsb3VkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFckQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsSUFBTSxVQUFVLEdBQUcsbUJBQW1CLENBQUM7QUFFOUM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLElBQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO0FBRXpDOztHQUVHO0FBQ0g7SUErQkUscUJBQVksT0FBZ0IsRUFBRSxPQUF1QjtRQTNCckQ7Ozs7OztXQU1HO1FBQ0ssVUFBSyxHQUFZLEtBQUssQ0FBQztRQXFCN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBRWhDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFNUMsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRTtZQUNuQyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRUQsc0JBQUksOEJBQUs7YUFBVDtZQUNFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZCxJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0RSxJQUFJLEtBQUs7b0JBQUUsT0FBTyxLQUFLLENB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QVksRUFBRSxHQUFXLEVBQUUsU0FBaUIsRUFBRSxTQUFpQjtRQUNyRSxJQUFJLElBQUksS0FBSyxPQUFPLElBQUksSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUN4QyxNQUFNLElBQUksY0FBYyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7U0FDakU7UUFFRCxJQUFNLE9BQU8sR0FBRztZQUNkLE1BQU0sRUFBRSxHQUFHO1lBQ1gsVUFBVSxFQUFFLFNBQVM7WUFDckIsVUFBVSxFQUFFLFNBQVM7U0FDdEIsQ0FBQztRQUVGLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBSSxJQUFJLENBQUMsV0FBVyxtQkFBYyxJQUFJLFVBQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsSUFBSSxFQUFSLENBQVEsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFTyxtQ0FBYSxHQUFyQjtRQUNFLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFO1lBQzNCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsc0NBQXNDO1FBQ3RDLHdHQUF3RztRQUN4Ryw4RUFBOEU7UUFDOUUsSUFBTSxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRSxZQUFZLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTNDLE9BQVUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLFVBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLFNBQUksWUFBWSxDQUFDLFFBQVEsRUFBSSxDQUFDO0lBQ3RILENBQUM7SUFDSCxrQkFBQztBQUFELENBN1FBLEFBNlFDLElBQUEiLCJmaWxlIjoibGliL2FwaS9jbG91ZC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IHJlbW92ZUVtcHR5IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgU3RvcmVQYXJhbXMgfSBmcm9tICcuLi9maWxlbGluayc7XG5pbXBvcnQgeyBDbGllbnRPcHRpb25zLCBTZXNzaW9uIH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yIH0gZnJvbSAnLi8uLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuaW1wb3J0IHsgVXBsb2FkVGFncyB9IGZyb20gJy4vdXBsb2FkL2ZpbGUnO1xuaW1wb3J0IHsgRnNSZXF1ZXN0LCBGc0NhbmNlbFRva2VuIH0gZnJvbSAnLi4vcmVxdWVzdCc7XG5pbXBvcnQgeyBTdG9yZSwgU1RPUkVfVFlQRSB9IGZyb20gJy4vLi4vdXRpbHMvc3RvcmUnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjb25zdCBQSUNLRVJfS0VZID0gJ19fZnNfcGlja2VyX3Rva2VuJztcblxuLyoqXG4gKiBrZXkgZm9yIHBpY2tlciBjYWxsYmFjayB1cmwgKHNwZWNpZmllcyB3aGljaCB0YWIgd2lsbCBiZSBvcGVuZWQgYWZ0ZXIgb3BlbmluZyBwaWNrZXIpXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgY29uc3QgQ0FMTEJBQ0tfVVJMX0tFWSA9ICdmcy10YWInO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBDbG91ZENsaWVudCB7XG4gIHNlc3Npb246IFNlc3Npb247XG4gIGNsb3VkQXBpVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgZmxhZyBpZiB0b2tlbiBzaG91bGQgYmUgY2FjaGVkIGluIGxvY2FsIHN0b3JhZ2VcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBDbG91ZENsaWVudFxuICAgKi9cbiAgcHJpdmF0ZSBjYWNoZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUb2tlbiByZXR1cm5lZCBmcm9tIGFwaSBmb3IgYWNjZXNzaW5nIGNsb3Vkc1xuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQ2xvdWRDbGllbnRcbiAgICovXG4gIHByaXZhdGUgX3Rva2VuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN0b3JlIGFkYXB0ZXIgaW5zdGFuY2VcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHR5cGUge1N0b3JlfVxuICAgKiBAbWVtYmVyb2YgQ2xvdWRDbGllbnRcbiAgICovXG4gIHByaXZhdGUgc3RvcmVBZGFwdGVyOiBTdG9yZTtcblxuICBjb25zdHJ1Y3RvcihzZXNzaW9uOiBTZXNzaW9uLCBvcHRpb25zPzogQ2xpZW50T3B0aW9ucykge1xuICAgIHRoaXMuc2Vzc2lvbiA9IHNlc3Npb247XG4gICAgdGhpcy5zdG9yZUFkYXB0ZXIgPSBuZXcgU3RvcmUoKTtcblxuICAgIHRoaXMuY2xvdWRBcGlVcmwgPSBzZXNzaW9uLnVybHMuY2xvdWRBcGlVcmw7XG5cbiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLnNlc3Npb25DYWNoZSkge1xuICAgICAgdGhpcy5jYWNoZSA9IG9wdGlvbnMuc2Vzc2lvbkNhY2hlO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0b2tlbigpIHtcbiAgICBpZiAodGhpcy5jYWNoZSkge1xuICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnN0b3JlQWRhcHRlci5nZXRJdGVtKFBJQ0tFUl9LRVksIFNUT1JFX1RZUEUuTE9DQUwpO1xuICAgICAgaWYgKHRva2VuKSByZXR1cm4gdG9rZW47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNJbkFwcEJyb3dzZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLnN0b3JlQWRhcHRlci5nZXRJdGVtKFBJQ0tFUl9LRVksIFNUT1JFX1RZUEUuU0VTU0lPTik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3Rva2VuO1xuICB9XG5cbiAgc2V0IHRva2VuKGtleSkge1xuICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICB0aGlzLnN0b3JlQWRhcHRlci5zZXRJdGVtKFBJQ0tFUl9LRVksIGtleSwgU1RPUkVfVFlQRS5MT0NBTCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNJbkFwcEJyb3dzZXIpIHtcbiAgICAgIHRoaXMuc3RvcmVBZGFwdGVyLnNldEl0ZW0oUElDS0VSX0tFWSwga2V5LCBTVE9SRV9UWVBFLlNFU1NJT04pO1xuICAgIH1cblxuICAgIHRoaXMuX3Rva2VuID0ga2V5O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBpbmZvcm1hdGlvbiBpcyBpbmFwcGJyb3dzZXIgZmxhZyBpcyBzZXRcbiAgICpcbiAgICogQHJlYWRvbmx5XG4gICAqIEBtZW1iZXJvZiBDbG91ZENsaWVudFxuICAgKi9cbiAgcHJpdmF0ZSBnZXQgaXNJbkFwcEJyb3dzZXIoKSB7XG4gICAgaWYgKHRoaXMuc2Vzc2lvblxuICAgICAgJiYgdGhpcy5zZXNzaW9uLnByZWZldGNoXG4gICAgICAmJiB0aGlzLnNlc3Npb24ucHJlZmV0Y2guc2V0dGluZ3NcbiAgICAgICYmIHRoaXMuc2Vzc2lvbi5wcmVmZXRjaC5zZXR0aW5ncy5pbmFwcF9icm93c2VyKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXNzaW9uLnByZWZldGNoLnNldHRpbmdzLmluYXBwX2Jyb3dzZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbGlzdChjbG91ZHM6IGFueSwgY2FuY2VsVG9rZW5JbnB1dD86IGFueSwgYWNjZXB0Pzogc3RyaW5nW10gfCBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXlsb2FkOiBhbnkgPSB7XG4gICAgICBhcGlrZXk6IHRoaXMuc2Vzc2lvbi5hcGlrZXksXG4gICAgICBjbG91ZHMsXG4gICAgICBmbG93OiAnd2ViJyxcbiAgICAgIHRva2VuOiB0aGlzLnRva2VuLFxuICAgIH07XG5cbiAgICBpZiAoYWNjZXB0KSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWNjZXB0KSkge1xuICAgICAgICBhY2NlcHQgPSBbYWNjZXB0XTtcbiAgICAgIH1cbiAgICAgIC8vIGZpbHRlcmluZyBtaW1ldHlwZXMgaW4gY2xvdWRzXG4gICAgICBwYXlsb2FkLmFjY2VwdCA9IGFjY2VwdDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0luQXBwQnJvd3Nlcikge1xuICAgICAgcGF5bG9hZC5hcHB1cmwgPSB0aGlzLmN1cnJlbnRBcHBVcmwoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZXNzaW9uLnBvbGljeSAmJiB0aGlzLnNlc3Npb24uc2lnbmF0dXJlKSB7XG4gICAgICBwYXlsb2FkLnBvbGljeSA9IHRoaXMuc2Vzc2lvbi5wb2xpY3k7XG4gICAgICBwYXlsb2FkLnNpZ25hdHVyZSA9IHRoaXMuc2Vzc2lvbi5zaWduYXR1cmU7XG4gICAgfVxuXG4gICAgbGV0IG9wdGlvbnM6IGFueSA9IHt9O1xuXG4gICAgaWYgKGNhbmNlbFRva2VuSW5wdXQpIHtcbiAgICAgIGNvbnN0IGNhbmNlbFRva2VuID0gbmV3IEZzQ2FuY2VsVG9rZW4oKTtcbiAgICAgIGNhbmNlbFRva2VuSW5wdXQuY2FuY2VsID0gY2FuY2VsVG9rZW4uY2FuY2VsLmJpbmQoY2FuY2VsVG9rZW4pO1xuICAgICAgb3B0aW9ucy5jYW5jZWxUb2tlbiA9IGNhbmNlbFRva2VuO1xuICAgIH1cblxuICAgIHJldHVybiBGc1JlcXVlc3QucG9zdChgJHt0aGlzLmNsb3VkQXBpVXJsfS9mb2xkZXIvbGlzdGAsIHBheWxvYWQsIG9wdGlvbnMpLnRoZW4ocmVzID0+IHtcbiAgICAgIGlmIChyZXMuZGF0YSAmJiByZXMuZGF0YS50b2tlbikge1xuICAgICAgICB0aGlzLnRva2VuID0gcmVzLmRhdGEudG9rZW47XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXMuZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0b3JlKG5hbWU6IHN0cmluZywgcGF0aDogc3RyaW5nLCBvcHRpb25zOiBTdG9yZVBhcmFtcyA9IHt9LCBjdXN0b21Tb3VyY2U6IGFueSA9IHt9LCBjYW5jZWxUb2tlbklucHV0PzogYW55LCB1cGxvYWRUYWdzOiBVcGxvYWRUYWdzID0gbnVsbCkge1xuICAgIC8vIERlZmF1bHQgdG8gUzNcbiAgICBpZiAob3B0aW9ucy5sb2NhdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBvcHRpb25zLmxvY2F0aW9uID0gJ3MzJztcbiAgICB9XG5cbiAgICBjb25zdCBwYXlsb2FkOiBhbnkgPSB7XG4gICAgICBhcGlrZXk6IHRoaXMuc2Vzc2lvbi5hcGlrZXksXG4gICAgICB0b2tlbjogdGhpcy50b2tlbixcbiAgICAgIGZsb3c6ICd3ZWInLFxuICAgICAgdXBsb2FkX3RhZ3M6IHVwbG9hZFRhZ3MgPyB1cGxvYWRUYWdzIDogdW5kZWZpbmVkLFxuICAgICAgY2xvdWRzOiB7XG4gICAgICAgIFtuYW1lXToge1xuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgc3RvcmU6IHJlbW92ZUVtcHR5KG9wdGlvbnMpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgaWYgKG5hbWUgPT09ICdjdXN0b21zb3VyY2UnICYmIGN1c3RvbVNvdXJjZS5jdXN0b21Tb3VyY2VQYXRoKSB7XG4gICAgICBwYXlsb2FkLmNsb3Vkcy5jdXN0b21zb3VyY2UuY3VzdG9tU291cmNlUGF0aCA9IGN1c3RvbVNvdXJjZS5jdXN0b21Tb3VyY2VQYXRoO1xuICAgIH1cblxuICAgIGlmIChuYW1lID09PSAnY3VzdG9tc291cmNlJyAmJiBjdXN0b21Tb3VyY2UuY3VzdG9tU291cmNlQ29udGFpbmVyKSB7XG4gICAgICBwYXlsb2FkLmNsb3Vkcy5jdXN0b21zb3VyY2UuY3VzdG9tU291cmNlQ29udGFpbmVyID0gY3VzdG9tU291cmNlLmN1c3RvbVNvdXJjZUNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZXNzaW9uLnBvbGljeSAmJiB0aGlzLnNlc3Npb24uc2lnbmF0dXJlKSB7XG4gICAgICBwYXlsb2FkLnBvbGljeSA9IHRoaXMuc2Vzc2lvbi5wb2xpY3k7XG4gICAgICBwYXlsb2FkLnNpZ25hdHVyZSA9IHRoaXMuc2Vzc2lvbi5zaWduYXR1cmU7XG4gICAgfVxuXG4gICAgbGV0IHJlcXVlc3RPcHRpb25zOiBhbnkgPSB7fTtcblxuICAgIGlmIChjYW5jZWxUb2tlbklucHV0KSB7XG4gICAgICBjb25zdCBjYW5jZWxUb2tlbiA9IG5ldyBGc0NhbmNlbFRva2VuKCk7XG4gICAgICBjYW5jZWxUb2tlbklucHV0LmNhbmNlbCA9IGNhbmNlbFRva2VuLmNhbmNlbC5iaW5kKGNhbmNlbFRva2VuKTtcbiAgICAgIHJlcXVlc3RPcHRpb25zLmNhbmNlbFRva2VuID0gY2FuY2VsVG9rZW47XG4gICAgfVxuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuY2xvdWRBcGlVcmx9L3N0b3JlL2AsIHBheWxvYWQsIHJlcXVlc3RPcHRpb25zKS50aGVuKHJlcyA9PiB7XG4gICAgICBpZiAocmVzLmRhdGEgJiYgcmVzLmRhdGEudG9rZW4pIHtcbiAgICAgICAgdGhpcy50b2tlbiA9IHJlcy5kYXRhLnRva2VuO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVzLmRhdGEgJiYgcmVzLmRhdGFbbmFtZV0pIHtcbiAgICAgICAgcmV0dXJuIHJlcy5kYXRhW25hbWVdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzLmRhdGE7XG4gICAgfSk7XG4gIH1cblxuICBsb2dvdXQobmFtZT86IHN0cmluZykge1xuICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IHtcbiAgICAgIGFwaWtleTogdGhpcy5zZXNzaW9uLmFwaWtleSxcbiAgICAgIGZsb3c6ICd3ZWInLFxuICAgICAgdG9rZW46IHRoaXMudG9rZW4sXG4gICAgfTtcblxuICAgIGlmIChuYW1lKSB7XG4gICAgICBwYXlsb2FkLmNsb3VkcyA9IHsgW25hbWVdOiB7fSB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5jYWNoZSkge1xuICAgICAgICAvLyBObyBuYW1lIG1lYW5zIGxvZ291dCBvZiBBTEwgY2xvdWRzLiBDbGVhciBsb2NhbCBzZXNzaW9uLlxuICAgICAgICB0aGlzLnN0b3JlQWRhcHRlci5yZW1vdmVJdGVtKFBJQ0tFUl9LRVksIFNUT1JFX1RZUEUuTE9DQUwpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5pc0luQXBwQnJvd3Nlcikge1xuICAgICAgICB0aGlzLnN0b3JlQWRhcHRlci5yZW1vdmVJdGVtKFBJQ0tFUl9LRVksIFNUT1JFX1RZUEUuU0VTU0lPTik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuY2xvdWRBcGlVcmx9L2F1dGgvbG9nb3V0YCwgcGF5bG9hZCkudGhlbihyZXMgPT4ge1xuICAgICAgaWYgKHJlcy5kYXRhICYmIHJlcy5kYXRhW25hbWVdKSB7XG4gICAgICAgIHJldHVybiByZXMuZGF0YVtuYW1lXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXMuZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIG1ldGFkYXRhKHVybDogc3RyaW5nLCBoZWFkZXJzPzoge1trZXk6IHN0cmluZ106IHN0cmluZ30pIHtcbiAgICBjb25zdCBwYXlsb2FkOiBhbnkgPSB7XG4gICAgICBhcGlrZXk6IHRoaXMuc2Vzc2lvbi5hcGlrZXksXG4gICAgICB1cmwsXG4gICAgICBoZWFkZXJzLFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5zZXNzaW9uLnBvbGljeSAmJiB0aGlzLnNlc3Npb24uc2lnbmF0dXJlKSB7XG4gICAgICBwYXlsb2FkLnBvbGljeSA9IHRoaXMuc2Vzc2lvbi5wb2xpY3k7XG4gICAgICBwYXlsb2FkLnNpZ25hdHVyZSA9IHRoaXMuc2Vzc2lvbi5zaWduYXR1cmU7XG4gICAgfVxuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuY2xvdWRBcGlVcmx9L21ldGFkYXRhYCwgcGF5bG9hZCkudGhlbihyZXMgPT4gcmVzLmRhdGEpO1xuICB9XG5cbiAgLy8gT3BlblRvayBBUEkgRW5kcG9pbnRzXG4gIHRva0luaXQodHlwZTogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGUgIT09ICd2aWRlbycgJiYgdHlwZSAhPT0gJ2F1ZGlvJykge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdUeXBlIG11c3QgYmUgb25lIG9mIHZpZGVvIG9yIGF1ZGlvLicpO1xuICAgIH1cbiAgICByZXR1cm4gRnNSZXF1ZXN0LnBvc3QoYCR7dGhpcy5jbG91ZEFwaVVybH0vcmVjb3JkaW5nLyR7dHlwZX0vaW5pdGApLnRoZW4ocmVzID0+IHJlcy5kYXRhKTtcbiAgfVxuXG4gIHRva1N0YXJ0KHR5cGU6IHN0cmluZywga2V5OiBzdHJpbmcsIHNlc3Npb25JZDogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGUgIT09ICd2aWRlbycgJiYgdHlwZSAhPT0gJ2F1ZGlvJykge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdUeXBlIG11c3QgYmUgb25lIG9mIHZpZGVvIG9yIGF1ZGlvLicpO1xuICAgIH1cbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgYXBpa2V5OiBrZXksXG4gICAgICBzZXNzaW9uX2lkOiBzZXNzaW9uSWQsXG4gICAgfTtcblxuICAgIHJldHVybiBGc1JlcXVlc3QucG9zdChgJHt0aGlzLmNsb3VkQXBpVXJsfS9yZWNvcmRpbmcvJHt0eXBlfS9zdGFydGAsIHBheWxvYWQpLnRoZW4ocmVzID0+IHJlcy5kYXRhKTtcbiAgfVxuXG4gIHRva1N0b3AodHlwZTogc3RyaW5nLCBrZXk6IHN0cmluZywgc2Vzc2lvbklkOiBzdHJpbmcsIGFyY2hpdmVJZDogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGUgIT09ICd2aWRlbycgJiYgdHlwZSAhPT0gJ2F1ZGlvJykge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdUeXBlIG11c3QgYmUgb25lIG9mIHZpZGVvIG9yIGF1ZGlvLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICBhcGlrZXk6IGtleSxcbiAgICAgIHNlc3Npb25faWQ6IHNlc3Npb25JZCxcbiAgICAgIGFyY2hpdmVfaWQ6IGFyY2hpdmVJZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuY2xvdWRBcGlVcmx9L3JlY29yZGluZy8ke3R5cGV9L3N0b3BgLCBwYXlsb2FkKS50aGVuKHJlcyA9PiByZXMuZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnRBcHBVcmwoKSB7XG4gICAgaWYgKCF3aW5kb3cuVVJMU2VhcmNoUGFyYW1zKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8vIHNldCBpbml0IHN0cmluZyBmb3IgY2xvdWRzIGJhY2tlbmQsXG4gICAgLy8gQWZ0ZXIgdGhpcyBjbG91ZCBzZXJ2aWNlIGNhbiBtYWtlIHJlZGlyZWN0IGJhY2sgdG8gY3VycmVudCBwYWdlIHVybCB3aXRoIHNlbGVjdGVkIHRhYiBmb3IgZ2l2ZW4gY2xvdWRcbiAgICAvLyBpZiBwYXJhbSBleGlzdHMgYW5kIGl0cyB2YWx1ZSBpcyBpbml0LCBiYWNrZW5kIHdpbGwgZmlsbCBpdCB3aXRoIGNsb3VkIG5hbWVcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuICAgIHNlYXJjaFBhcmFtcy5zZXQoQ0FMTEJBQ0tfVVJMX0tFWSwgJ2luaXQnKTtcblxuICAgIHJldHVybiBgJHt3aW5kb3cubG9jYXRpb24ucHJvdG9jb2x9Ly8ke3dpbmRvdy5sb2NhdGlvbi5ob3N0fSR7d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lfT8ke3NlYXJjaFBhcmFtcy50b1N0cmluZygpfWA7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL2Nsb3VkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFckQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsSUFBTSxVQUFVLEdBQUcsbUJBQW1CLENBQUM7QUFFOUM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLElBQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO0FBRXpDOztHQUVHO0FBQ0g7SUErQkUscUJBQVksT0FBZ0IsRUFBRSxPQUF1QjtRQTNCckQ7Ozs7OztXQU1HO1FBQ0ssVUFBSyxHQUFZLEtBQUssQ0FBQztRQXFCN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBRWhDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFNUMsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRTtZQUNuQyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRUQsc0JBQUksOEJBQUs7YUFBVDtZQUNFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZCxJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0RSxJQUFJLEtBQUs7b0JBQUUsT0FBTyxLQUFLLENB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aHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IHJlbW92ZUVtcHR5IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgU3RvcmVQYXJhbXMgfSBmcm9tICcuLi9maWxlbGluayc7XG5pbXBvcnQgeyBDbGllbnRPcHRpb25zLCBTZXNzaW9uIH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yIH0gZnJvbSAnLi8uLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuaW1wb3J0IHsgVXBsb2FkVGFncyB9IGZyb20gJy4vdXBsb2FkL2ZpbGUnO1xuaW1wb3J0IHsgRnNSZXF1ZXN0LCBGc0NhbmNlbFRva2VuIH0gZnJvbSAnLi4vcmVxdWVzdCc7XG5pbXBvcnQgeyBTdG9yZSwgU1RPUkVfVFlQRSB9IGZyb20gJy4vLi4vdXRpbHMvc3RvcmUnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjb25zdCBQSUNLRVJfS0VZID0gJ19fZnNfcGlja2VyX3Rva2VuJztcblxuLyoqXG4gKiBrZXkgZm9yIHBpY2tlciBjYWxsYmFjayB1cmwgKHNwZWNpZmllcyB3aGljaCB0YWIgd2lsbCBiZSBvcGVuZWQgYWZ0ZXIgb3BlbmluZyBwaWNrZXIpXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgY29uc3QgQ0FMTEJBQ0tfVVJMX0tFWSA9ICdmcy10YWInO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBDbG91ZENsaWVudCB7XG4gIHNlc3Npb246IFNlc3Npb247XG4gIGNsb3VkQXBpVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgZmxhZyBpZiB0b2tlbiBzaG91bGQgYmUgY2FjaGVkIGluIGxvY2FsIHN0b3JhZ2VcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBDbG91ZENsaWVudFxuICAgKi9cbiAgcHJpdmF0ZSBjYWNoZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUb2tlbiByZXR1cm5lZCBmcm9tIGFwaSBmb3IgYWNjZXNzaW5nIGNsb3Vkc1xuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQ2xvdWRDbGllbnRcbiAgICovXG4gIHByaXZhdGUgX3Rva2VuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN0b3JlIGFkYXB0ZXIgaW5zdGFuY2VcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHR5cGUge1N0b3JlfVxuICAgKiBAbWVtYmVyb2YgQ2xvdWRDbGllbnRcbiAgICovXG4gIHByaXZhdGUgc3RvcmVBZGFwdGVyOiBTdG9yZTtcblxuICBjb25zdHJ1Y3RvcihzZXNzaW9uOiBTZXNzaW9uLCBvcHRpb25zPzogQ2xpZW50T3B0aW9ucykge1xuICAgIHRoaXMuc2Vzc2lvbiA9IHNlc3Npb247XG4gICAgdGhpcy5zdG9yZUFkYXB0ZXIgPSBuZXcgU3RvcmUoKTtcblxuICAgIHRoaXMuY2xvdWRBcGlVcmwgPSBzZXNzaW9uLnVybHMuY2xvdWRBcGlVcmw7XG5cbiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLnNlc3Npb25DYWNoZSkge1xuICAgICAgdGhpcy5jYWNoZSA9IG9wdGlvbnMuc2Vzc2lvbkNhY2hlO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0b2tlbigpIHtcbiAgICBpZiAodGhpcy5jYWNoZSkge1xuICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnN0b3JlQWRhcHRlci5nZXRJdGVtKFBJQ0tFUl9LRVksIFNUT1JFX1RZUEUuTE9DQUwpO1xuICAgICAgaWYgKHRva2VuKSByZXR1cm4gdG9rZW47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNJbkFwcEJyb3dzZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLnN0b3JlQWRhcHRlci5nZXRJdGVtKFBJQ0tFUl9LRVksIFNUT1JFX1RZUEUuU0VTU0lPTik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3Rva2VuO1xuICB9XG5cbiAgc2V0IHRva2VuKGtleSkge1xuICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICB0aGlzLnN0b3JlQWRhcHRlci5zZXRJdGVtKFBJQ0tFUl9LRVksIGtleSwgU1RPUkVfVFlQRS5MT0NBTCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNJbkFwcEJyb3dzZXIpIHtcbiAgICAgIHRoaXMuc3RvcmVBZGFwdGVyLnNldEl0ZW0oUElDS0VSX0tFWSwga2V5LCBTVE9SRV9UWVBFLlNFU1NJT04pO1xuICAgIH1cblxuICAgIHRoaXMuX3Rva2VuID0ga2V5O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBpbmZvcm1hdGlvbiBpcyBpbmFwcGJyb3dzZXIgZmxhZyBpcyBzZXRcbiAgICpcbiAgICogQHJlYWRvbmx5XG4gICAqIEBtZW1iZXJvZiBDbG91ZENsaWVudFxuICAgKi9cbiAgcHJpdmF0ZSBnZXQgaXNJbkFwcEJyb3dzZXIoKSB7XG4gICAgaWYgKHRoaXMuc2Vzc2lvblxuICAgICAgJiYgdGhpcy5zZXNzaW9uLnByZWZldGNoXG4gICAgICAmJiB0aGlzLnNlc3Npb24ucHJlZmV0Y2guc2V0dGluZ3NcbiAgICAgICYmIHRoaXMuc2Vzc2lvbi5wcmVmZXRjaC5zZXR0aW5ncy5pbmFwcF9icm93c2VyKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXNzaW9uLnByZWZldGNoLnNldHRpbmdzLmluYXBwX2Jyb3dzZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbGlzdChjbG91ZHM6IGFueSwgY2FuY2VsVG9rZW5JbnB1dD86IGFueSwgYWNjZXB0Pzogc3RyaW5nW10gfCBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXlsb2FkOiBhbnkgPSB7XG4gICAgICBhcGlrZXk6IHRoaXMuc2Vzc2lvbi5hcGlrZXksXG4gICAgICBjbG91ZHMsXG4gICAgICBmbG93OiAnd2ViJyxcbiAgICAgIHRva2VuOiB0aGlzLnRva2VuLFxuICAgIH07XG5cbiAgICBpZiAoYWNjZXB0KSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWNjZXB0KSkge1xuICAgICAgICBhY2NlcHQgPSBbYWNjZXB0XTtcbiAgICAgIH1cbiAgICAgIC8vIGZpbHRlcmluZyBtaW1ldHlwZXMgaW4gY2xvdWRzXG4gICAgICBwYXlsb2FkLmFjY2VwdCA9IGFjY2VwdDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0luQXBwQnJvd3Nlcikge1xuICAgICAgcGF5bG9hZC5hcHB1cmwgPSB0aGlzLmN1cnJlbnRBcHBVcmwoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZXNzaW9uLnBvbGljeSAmJiB0aGlzLnNlc3Npb24uc2lnbmF0dXJlKSB7XG4gICAgICBwYXlsb2FkLnBvbGljeSA9IHRoaXMuc2Vzc2lvbi5wb2xpY3k7XG4gICAgICBwYXlsb2FkLnNpZ25hdHVyZSA9IHRoaXMuc2Vzc2lvbi5zaWduYXR1cmU7XG4gICAgfVxuXG4gICAgbGV0IG9wdGlvbnM6IGFueSA9IHt9O1xuXG4gICAgaWYgKGNhbmNlbFRva2VuSW5wdXQpIHtcbiAgICAgIGNvbnN0IGNhbmNlbFRva2VuID0gbmV3IEZzQ2FuY2VsVG9rZW4oKTtcbiAgICAgIGNhbmNlbFRva2VuSW5wdXQuY2FuY2VsID0gY2FuY2VsVG9rZW4uY2FuY2VsLmJpbmQoY2FuY2VsVG9rZW4pO1xuICAgICAgb3B0aW9ucy5jYW5jZWxUb2tlbiA9IGNhbmNlbFRva2VuO1xuICAgIH1cblxuICAgIHJldHVybiBGc1JlcXVlc3QucG9zdChgJHt0aGlzLmNsb3VkQXBpVXJsfS9mb2xkZXIvbGlzdGAsIHBheWxvYWQsIG9wdGlvbnMpLnRoZW4ocmVzID0+IHtcbiAgICAgIGlmIChyZXMuZGF0YSAmJiByZXMuZGF0YS50b2tlbikge1xuICAgICAgICB0aGlzLnRva2VuID0gcmVzLmRhdGEudG9rZW47XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXMuZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0b3JlKG5hbWU6IHN0cmluZywgcGF0aDogc3RyaW5nLCBvcHRpb25zOiBTdG9yZVBhcmFtcyA9IHt9LCBjdXN0b21Tb3VyY2U6IGFueSA9IHt9LCBjYW5jZWxUb2tlbklucHV0PzogYW55LCB1cGxvYWRUYWdzOiBVcGxvYWRUYWdzID0gbnVsbCkge1xuICAgIC8vIERlZmF1bHQgdG8gUzNcbiAgICBpZiAob3B0aW9ucy5sb2NhdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBvcHRpb25zLmxvY2F0aW9uID0gJ3MzJztcbiAgICB9XG5cbiAgICBjb25zdCBwYXlsb2FkOiBhbnkgPSB7XG4gICAgICBhcGlrZXk6IHRoaXMuc2Vzc2lvbi5hcGlrZXksXG4gICAgICB0b2tlbjogdGhpcy50b2tlbixcbiAgICAgIGZsb3c6ICd3ZWInLFxuICAgICAgdXBsb2FkX3RhZ3M6IHVwbG9hZFRhZ3MgPyB1cGxvYWRUYWdzIDogdW5kZWZpbmVkLFxuICAgICAgY2xvdWRzOiB7XG4gICAgICAgIFtuYW1lXToge1xuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgc3RvcmU6IHJlbW92ZUVtcHR5KG9wdGlvbnMpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgaWYgKG5hbWUgPT09ICdjdXN0b21zb3VyY2UnICYmIGN1c3RvbVNvdXJjZS5jdXN0b21Tb3VyY2VQYXRoKSB7XG4gICAgICBwYXlsb2FkLmNsb3Vkcy5jdXN0b21zb3VyY2UuY3VzdG9tU291cmNlUGF0aCA9IGN1c3RvbVNvdXJjZS5jdXN0b21Tb3VyY2VQYXRoO1xuICAgIH1cblxuICAgIGlmIChuYW1lID09PSAnY3VzdG9tc291cmNlJyAmJiBjdXN0b21Tb3VyY2UuY3VzdG9tU291cmNlQ29udGFpbmVyKSB7XG4gICAgICBwYXlsb2FkLmNsb3Vkcy5jdXN0b21zb3VyY2UuY3VzdG9tU291cmNlQ29udGFpbmVyID0gY3VzdG9tU291cmNlLmN1c3RvbVNvdXJjZUNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZXNzaW9uLnBvbGljeSAmJiB0aGlzLnNlc3Npb24uc2lnbmF0dXJlKSB7XG4gICAgICBwYXlsb2FkLnBvbGljeSA9IHRoaXMuc2Vzc2lvbi5wb2xpY3k7XG4gICAgICBwYXlsb2FkLnNpZ25hdHVyZSA9IHRoaXMuc2Vzc2lvbi5zaWduYXR1cmU7XG4gICAgfVxuXG4gICAgbGV0IHJlcXVlc3RPcHRpb25zOiBhbnkgPSB7fTtcblxuICAgIGlmIChjYW5jZWxUb2tlbklucHV0KSB7XG4gICAgICBjb25zdCBjYW5jZWxUb2tlbiA9IG5ldyBGc0NhbmNlbFRva2VuKCk7XG4gICAgICBjYW5jZWxUb2tlbklucHV0LmNhbmNlbCA9IGNhbmNlbFRva2VuLmNhbmNlbC5iaW5kKGNhbmNlbFRva2VuKTtcbiAgICAgIHJlcXVlc3RPcHRpb25zLmNhbmNlbFRva2VuID0gY2FuY2VsVG9rZW47XG4gICAgfVxuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuY2xvdWRBcGlVcmx9L3N0b3JlL2AsIHBheWxvYWQsIHJlcXVlc3RPcHRpb25zKS50aGVuKHJlcyA9PiB7XG4gICAgICBpZiAocmVzLmRhdGEgJiYgcmVzLmRhdGEudG9rZW4pIHtcbiAgICAgICAgdGhpcy50b2tlbiA9IHJlcy5kYXRhLnRva2VuO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVzLmRhdGEgJiYgcmVzLmRhdGFbbmFtZV0pIHtcbiAgICAgICAgcmV0dXJuIHJlcy5kYXRhW25hbWVdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzLmRhdGE7XG4gICAgfSk7XG4gIH1cblxuICBsb2dvdXQobmFtZT86IHN0cmluZykge1xuICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IHtcbiAgICAgIGFwaWtleTogdGhpcy5zZXNzaW9uLmFwaWtleSxcbiAgICAgIGZsb3c6ICd3ZWInLFxuICAgICAgdG9rZW46IHRoaXMudG9rZW4sXG4gICAgfTtcblxuICAgIGlmIChuYW1lKSB7XG4gICAgICBwYXlsb2FkLmNsb3VkcyA9IHsgW25hbWVdOiB7fSB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5jYWNoZSkge1xuICAgICAgICAvLyBObyBuYW1lIG1lYW5zIGxvZ291dCBvZiBBTEwgY2xvdWRzLiBDbGVhciBsb2NhbCBzZXNzaW9uLlxuICAgICAgICB0aGlzLnN0b3JlQWRhcHRlci5yZW1vdmVJdGVtKFBJQ0tFUl9LRVksIFNUT1JFX1RZUEUuTE9DQUwpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5pc0luQXBwQnJvd3Nlcikge1xuICAgICAgICB0aGlzLnN0b3JlQWRhcHRlci5yZW1vdmVJdGVtKFBJQ0tFUl9LRVksIFNUT1JFX1RZUEUuU0VTU0lPTik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuY2xvdWRBcGlVcmx9L2F1dGgvbG9nb3V0YCwgcGF5bG9hZCkudGhlbihyZXMgPT4ge1xuICAgICAgaWYgKHJlcy5kYXRhICYmIHJlcy5kYXRhW25hbWVdKSB7XG4gICAgICAgIHJldHVybiByZXMuZGF0YVtuYW1lXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXMuZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIG1ldGFkYXRhKHVybDogc3RyaW5nLCBoZWFkZXJzPzoge1trZXk6IHN0cmluZ106IHN0cmluZ30pIHtcbiAgICBjb25zdCBwYXlsb2FkOiBhbnkgPSB7XG4gICAgICBhcGlrZXk6IHRoaXMuc2Vzc2lvbi5hcGlrZXksXG4gICAgICB1cmwsXG4gICAgICBoZWFkZXJzLFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5zZXNzaW9uLnBvbGljeSAmJiB0aGlzLnNlc3Npb24uc2lnbmF0dXJlKSB7XG4gICAgICBwYXlsb2FkLnBvbGljeSA9IHRoaXMuc2Vzc2lvbi5wb2xpY3k7XG4gICAgICBwYXlsb2FkLnNpZ25hdHVyZSA9IHRoaXMuc2Vzc2lvbi5zaWduYXR1cmU7XG4gICAgfVxuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuY2xvdWRBcGlVcmx9L21ldGFkYXRhYCwgcGF5bG9hZCkudGhlbihyZXMgPT4gcmVzLmRhdGEpO1xuICB9XG5cbiAgLy8gT3BlblRvayBBUEkgRW5kcG9pbnRzXG4gIHRva0luaXQodHlwZTogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGUgIT09ICd2aWRlbycgJiYgdHlwZSAhPT0gJ2F1ZGlvJykge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdUeXBlIG11c3QgYmUgb25lIG9mIHZpZGVvIG9yIGF1ZGlvLicpO1xuICAgIH1cbiAgICByZXR1cm4gRnNSZXF1ZXN0LnBvc3QoYCR7dGhpcy5jbG91ZEFwaVVybH0vcmVjb3JkaW5nLyR7dHlwZX0vaW5pdGApLnRoZW4ocmVzID0+IHJlcy5kYXRhKTtcbiAgfVxuXG4gIHRva1N0YXJ0KHR5cGU6IHN0cmluZywga2V5OiBzdHJpbmcsIHNlc3Npb25JZDogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGUgIT09ICd2aWRlbycgJiYgdHlwZSAhPT0gJ2F1ZGlvJykge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdUeXBlIG11c3QgYmUgb25lIG9mIHZpZGVvIG9yIGF1ZGlvLicpO1xuICAgIH1cbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgYXBpa2V5OiBrZXksXG4gICAgICBzZXNzaW9uX2lkOiBzZXNzaW9uSWQsXG4gICAgfTtcblxuICAgIHJldHVybiBGc1JlcXVlc3QucG9zdChgJHt0aGlzLmNsb3VkQXBpVXJsfS9yZWNvcmRpbmcvJHt0eXBlfS9zdGFydGAsIHBheWxvYWQpLnRoZW4ocmVzID0+IHJlcy5kYXRhKTtcbiAgfVxuXG4gIHRva1N0b3AodHlwZTogc3RyaW5nLCBrZXk6IHN0cmluZywgc2Vzc2lvbklkOiBzdHJpbmcsIGFyY2hpdmVJZDogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGUgIT09ICd2aWRlbycgJiYgdHlwZSAhPT0gJ2F1ZGlvJykge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdUeXBlIG11c3QgYmUgb25lIG9mIHZpZGVvIG9yIGF1ZGlvLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICBhcGlrZXk6IGtleSxcbiAgICAgIHNlc3Npb25faWQ6IHNlc3Npb25JZCxcbiAgICAgIGFyY2hpdmVfaWQ6IGFyY2hpdmVJZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuY2xvdWRBcGlVcmx9L3JlY29yZGluZy8ke3R5cGV9L3N0b3BgLCBwYXlsb2FkKS50aGVuKHJlcyA9PiByZXMuZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnRBcHBVcmwoKSB7XG4gICAgaWYgKCF3aW5kb3cuVVJMU2VhcmNoUGFyYW1zKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8vIHNldCBpbml0IHN0cmluZyBmb3IgY2xvdWRzIGJhY2tlbmQsXG4gICAgLy8gQWZ0ZXIgdGhpcyBjbG91ZCBzZXJ2aWNlIGNhbiBtYWtlIHJlZGlyZWN0IGJhY2sgdG8gY3VycmVudCBwYWdlIHVybCB3aXRoIHNlbGVjdGVkIHRhYiBmb3IgZ2l2ZW4gY2xvdWRcbiAgICAvLyBpZiBwYXJhbSBleGlzdHMgYW5kIGl0cyB2YWx1ZSBpcyBpbml0LCBiYWNrZW5kIHdpbGwgZmlsbCBpdCB3aXRoIGNsb3VkIG5hbWVcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuICAgIHNlYXJjaFBhcmFtcy5zZXQoQ0FMTEJBQ0tfVVJMX0tFWSwgJ2luaXQnKTtcblxuICAgIHJldHVybiBgJHt3aW5kb3cubG9jYXRpb24ucHJvdG9jb2x9Ly8ke3dpbmRvdy5sb2NhdGlvbi5ob3N0fSR7d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lfT8ke3NlYXJjaFBhcmFtcy50b1N0cmluZygpfWA7XG4gIH1cbn1cbiJdfQ==

@@ -39,3 +39,3 @@ /*

var fileApiUrl = session.urls.fileApiUrl;
var baseURL = fileApiUrl + "/" + handle;
var baseURL = "".concat(fileApiUrl, "/").concat(handle);
var options = {

@@ -75,3 +75,3 @@ key: session.apikey,

options.signature = (security && security.signature) || session.signature;
var baseURL = session.urls.fileApiUrl + "/" + handle + "/metadata";
var baseURL = "".concat(session.urls.fileApiUrl, "/").concat(handle, "/metadata");
return new Promise(function (resolve, reject) {

@@ -140,3 +140,3 @@ FsRequest.get(baseURL, { params: removeEmpty(options), filestackHeaders: false })

}
var baseURL = session.urls.fileApiUrl + "/" + handle + (extension ? "+" + extension : '') + (metadata ? '/metadata' : '');
var baseURL = "".concat(session.urls.fileApiUrl, "/").concat(handle) + (extension ? "+".concat(extension) : '') + (metadata ? '/metadata' : '');
return new Promise(function (resolve, reject) {

@@ -153,2 +153,2 @@ FsRequest.dispatch(baseURL, {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL2ZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUdILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXJEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsSUFBTSxNQUFNLEdBQUcsVUFBQyxPQUFnQixFQUFFLE1BQWUsRUFBRSxXQUFxQixFQUFFLFFBQW1CO0lBQ2xHLElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1FBQ3pDLE1BQU0sSUFBSSxjQUFjLENBQUMsaURBQWlELENBQUMsQ0FBQztLQUM3RTtJQUVELElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUU7UUFDckcsTUFBTSxJQUFJLGNBQWMsQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO0tBQ25GO0lBRUQsSUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0MsSUFBTSxPQUFPLEdBQU0sVUFBVSxTQUFJLE1BQVEsQ0FBQztJQUMxQyxJQUFNLE9BQU8sR0FBUTtRQUNuQixHQUFHLEVBQUUsT0FBTyxDQUFDLE1BQU07UUFDbkIsTUFBTSxFQUFFLENBQUMsUUFBUSxJQUFJ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Q0FBQzthQUMzRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS9maWxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgU2VjdXJpdHksIFNlc3Npb24gfSBmcm9tICcuLi9jbGllbnQnO1xuaW1wb3J0IHsgRmlsZWxpbmsgfSBmcm9tICcuLy4uL2ZpbGVsaW5rJztcbmltcG9ydCB7IHJlbW92ZUVtcHR5IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgRnNSZXNwb25zZSB9IGZyb20gJy4vLi4vcmVxdWVzdC90eXBlcyc7XG5pbXBvcnQgeyBGaWxlc3RhY2tFcnJvciB9IGZyb20gJy4vLi4vLi4vZmlsZXN0YWNrX2Vycm9yJztcbmltcG9ydCB7IGdldFZhbGlkYXRvciwgTWV0YWRhdGFQYXJhbXNTY2hlbWEsIFJldHJpZXZlUGFyYW1zU2NoZW1hIH0gZnJvbSAnLi8uLi8uLi9zY2hlbWEnO1xuaW1wb3J0IHsgRnNSZXF1ZXN0LCBGc0h0dHBNZXRob2QgfSBmcm9tICcuLi9yZXF1ZXN0JztcblxuLyoqXG4gKiBSZW1vdmUgZ2l2ZW4gZmlsZVxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gc2Vzc2lvblxuICogQHBhcmFtIGhhbmRsZVxuICogQHBhcmFtIHNlY3VyaXR5XG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmUgPSAoc2Vzc2lvbjogU2Vzc2lvbiwgaGFuZGxlPzogc3RyaW5nLCBza2lwU3RvcmFnZT86IGJvb2xlYW4sIHNlY3VyaXR5PzogU2VjdXJpdHkpOiBQcm9taXNlPGFueT4gPT4ge1xuICBpZiAoIWhhbmRsZSB8fCB0eXBlb2YgaGFuZGxlICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcignQSB2YWxpZCBGaWxlc3RhY2sgaGFuZGxlIGlzIHJlcXVpcmVkIGZvciByZW1vdmUnKTtcbiAgfVxuXG4gIGlmICghKHNlc3Npb24ucG9saWN5ICYmIHNlc3Npb24uc2lnbmF0dXJlKSAmJiAoIXNlY3VyaXR5IHx8ICEoc2VjdXJpdHkucG9saWN5ICYmIHNlY3VyaXR5LnNpZ25hdHVyZSkpKSB7XG4gICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdTZWN1cml0eSBwb2xpY3kgYW5kIHNpZ25hdHVyZSBhcmUgcmVxdWlyZWQgZm9yIHJlbW92ZScpO1xuICB9XG5cbiAgY29uc3QgZmlsZUFwaVVybCA9IHNlc3Npb24udXJscy5maWxlQXBpVXJsO1xuICBjb25zdCBiYXNlVVJMID0gYCR7ZmlsZUFwaVVybH0vJHtoYW5kbGV9YDtcbiAgY29uc3Qgb3B0aW9uczogYW55ID0ge1xuICAgIGtleTogc2Vzc2lvbi5hcGlrZXksXG4gICAgcG9saWN5OiAoc2VjdXJpdHkgJiYgc2VjdXJpdHkucG9saWN5KSB8fCBzZXNzaW9uLnBvbGljeSxcbiAgICBzaWduYXR1cmU6IChzZWN1cml0eSAmJiBzZWN1cml0eS5zaWduYXR1cmUpIHx8IHNlc3Npb24uc2lnbmF0dXJlLFxuICB9O1xuXG4gIGlmIChza2lwU3RvcmFnZSkge1xuICAgIG9wdGlvbnMuc2tpcF9zdG9yYWdlID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBGc1JlcXVlc3QuZGVsZXRlKGJhc2VVUkwsIHtcbiAgICBmaWxlc3RhY2tIZWFkZXJzOiBmYWxzZSxcbiAgICBwYXJhbXM6IHJlbW92ZUVtcHR5KG9wdGlvbnMpLFxuICB9KTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhdGFPcHRpb25zIHtcbiAgc2l6ZT86IGJvb2xlYW47XG4gIG1pbWV0eXBlPzogYm9vbGVhbjtcbiAgZmlsZW5hbWU/OiBib29sZWFuO1xuICB3aWR0aD86IGJvb2xlYW47XG4gIGhlaWdodD86IGJvb2xlYW47XG4gIHVwbG9hZGVkPzogYm9vbGVhbjtcbiAgd3JpdGVhYmxlPzogYm9vbGVhbjtcbiAgY2xvdWQ/OiBib29sZWFuO1xuICBzb3VyY2VVcmw/OiBib29sZWFuO1xuICBtZDU/OiBib29sZWFuO1xuICBzaGExPzogYm9vbGVhbjtcbiAgc2hhMjI0PzogYm9vbGVhbjtcbiAgc2hhMjU2PzogYm9vbGVhbjtcbiAgc2hhMzg0PzogYm9vbGVhbjtcbiAgc2hhNTEyPzogYm9vbGVhbjtcbiAgbG9jYXRpb24/OiBib29sZWFuO1xuICBwYXRoPzogYm9vbGVhbjtcbiAgY29udGFpbmVyPzogYm9vbGVhbjtcbiAgZXhpZj86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmV0dXJucyBmaWxlIG1ldGFkYXRhXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBzZXNzaW9uXG4gKiBAcGFyYW0gaGFuZGxlXG4gKiBAcGFyYW0gb3B0c1xuICogQHBhcmFtIHNlY3VyaXR5XG4gKi9cbmV4cG9ydCBjb25zdCBtZXRhZGF0YSA9IChzZXNzaW9uOiBTZXNzaW9uLCBoYW5kbGU/OiBzdHJpbmcsIG9wdHM/OiBNZXRhZGF0YU9wdGlvbnMsIHNlY3VyaXR5PzogU2VjdXJpdHkpOiBQcm9taXNlPGFueT4gPT4ge1xuICBpZiAoIWhhbmRsZSB8fCB0eXBlb2YgaGFuZGxlICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcignQSB2YWxpZCBGaWxlc3RhY2sgaGFuZGxlIGlzIHJlcXVpcmVkIGZvciBtZXRhZGF0YScpO1xuICB9XG5cbiAgY29uc3QgdmFsaWRhdGVSZXMgPSBnZXRWYWxpZGF0b3IoTWV0YWRhdGFQYXJhbXNTY2hlbWEpKG9wdHMpO1xuXG4gIGlmICh2YWxpZGF0ZVJlcy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKGBJbnZhbGlkIG1ldGFkYXRhIHBhcmFtc2AsIHZhbGlkYXRlUmVzLmVycm9ycyk7XG4gIH1cblxuICBjb25zdCBvcHRpb25zOiBhbnkgPSB7IC4uLm9wdHMgfTtcbiAgb3B0aW9ucy5zb3VyY2VfdXJsID0gb3B0aW9ucy5zb3VyY2VVcmw7IC8vIHNvdXJjZV91cmwgaXMgc25ha2VfY2FzZVxuICBvcHRpb25zLnBvbGljeSA9IChzZWN1cml0eSAmJiBzZWN1cml0eS5wb2xpY3kpIHx8IHNlc3Npb24ucG9saWN5O1xuICBvcHRpb25zLnNpZ25hdHVyZSA9IChzZWN1cml0eSAmJiBzZWN1cml0eS5zaWduYXR1cmUpIHx8IHNlc3Npb24uc2lnbmF0dXJlO1xuXG4gIGNvbnN0IGJhc2VVUkwgPSBgJHtzZXNzaW9uLnVybHMuZmlsZUFwaVVybH0vJHtoYW5kbGV9L21ldGFkYXRhYDtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBGc1JlcXVlc3QuZ2V0KGJhc2VVUkwsIHsgcGFyYW1zOiByZW1vdmVFbXB0eShvcHRpb25zKSwgZmlsZXN0YWNrSGVhZGVyczogZmFsc2UgfSlcbiAgICAgIC50aGVuKHJlcyA9PiByZXNvbHZlKHsgLi4ucmVzLmRhdGEsIGhhbmRsZSB9KSlcbiAgICAgIC5jYXRjaChyZWplY3QpO1xuICB9KTtcbn07XG5cbi8qKlxuICogRG93bmxvYWQgZmlsZSB0byBibG9iIG9yIGJ1ZmZlciBmb3JtYXRcbiAqXG4gKiBAcGFyYW0gc2Vzc2lvblxuICogQHBhcmFtIGhhbmRsZVxuICovXG5leHBvcnQgY29uc3QgZG93bmxvYWQgPSAoc2Vzc2lvbjogU2Vzc2lvbiwgaGFuZGxlOiBzdHJpbmcsICBzZWN1cml0eT86IFNlY3VyaXR5KTogUHJvbWlzZTxGc1Jlc3BvbnNlPiA9PiB7XG4gIGNvbnN0IGZsID0gbmV3IEZpbGVsaW5rKGhhbmRsZSwgc2Vzc2lvbi5hcGlrZXkpO1xuXG4gIGNvbnN0IHBvbGljeSA9IChzZWN1cml0eSAmJiBzZWN1cml0eS5wb2xpY3kpIHx8IHNlc3Npb24ucG9saWN5O1xuICBjb25zdCBzaWduYXR1cmUgPSAoc2VjdXJpdHkgJiYgc2VjdXJpdHkuc2lnbmF0dXJlKSB8fCBzZXNzaW9uLnNpZ25hdHVyZTtcblxuICBpZiAocG9saWN5ICYmIHNpZ25hdHVyZSkge1xuICAgIGZsLnNlY3VyaXR5KHsgc2lnbmF0dXJlLCBwb2xpY3kgfSk7XG4gIH1cblxuICByZXR1cm4gRnNSZXF1ZXN0LmRpc3BhdGNoKGZsLnRvU3RyaW5nKCksIHsgbWV0aG9kOiBGc0h0dHBNZXRob2QuR0VULCBibG9iUmVzcG9uc2U6IHRydWUgfSk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFJldHJpZXZlT3B0aW9ucyB7XG4gIG1ldGFkYXRhPzogYm9vbGVhbjtcbiAgaGVhZD86IGJvb2xlYW47XG4gIGRsPzogYm9vbGVhbjtcbiAgZXh0ZW5zaW9uPzogc3RyaW5nO1xuICBjYWNoZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmV0dXJucyBmaWxlIGluZm9ybWF0aW9uXG4gKlxuICogQHByaXZhdGVcbiAqIEBkZXByZWNhdGVkXG4gKiBAcGFyYW0gc2Vzc2lvblxuICogQHBhcmFtIGhhbmRsZVxuICogQHBhcmFtIG9wdGlvbnNcbiAqIEBwYXJhbSBzZWN1cml0eVxuICovXG5leHBvcnQgY29uc3QgcmV0cmlldmUgPSAoc2Vzc2lvbjogU2Vzc2lvbiwgaGFuZGxlOiBzdHJpbmcsIG9wdGlvbnM6IFJldHJpZXZlT3B0aW9ucyA9IHt9LCBzZWN1cml0eT86IFNlY3VyaXR5KTogUHJvbWlzZTxPYmplY3QgfCBCbG9iPiA9PiB7XG4gIGlmICghaGFuZGxlIHx8IGhhbmRsZS5sZW5ndGggPT09IDAgfHwgdHlwZW9mIGhhbmRsZSAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoJ0ZpbGUgaGFuZGxlIGlzIHJlcXVpcmVkJyk7XG4gIH1cblxuICBjb25zb2xlLmluZm8oJ1JldHJpZXZlIG1ldGhvZCBpcyBkZXByZWNhdGVkIGFuZCBpdCB3aWxsIGJlIHJlbW92ZWQuIFBsZWFzZSB1c2UgbWV0YWRhdGEgb3IgZG93bmxvYWQnKTtcblxuICBjb25zdCB2YWxpZGF0ZVJlcyA9IGdldFZhbGlkYXRvcihSZXRyaWV2ZVBhcmFtc1NjaGVtYSkob3B0aW9ucyk7XG5cbiAgaWYgKHZhbGlkYXRlUmVzLmVycm9ycy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoYEludmFsaWQgcmV0cmlldmUgcGFyYW1zYCwgdmFsaWRhdGVSZXMuZXJyb3JzKTtcbiAgfVxuXG4gIGNvbnN0IHJlcXVlc3RPcHRpb25zOiBhbnkgPSB7IC4uLm9wdGlvbnMgfTtcbiAgcmVxdWVzdE9wdGlvbnMua2V5ID0gc2Vzc2lvbi5hcGlrZXk7XG4gIHJlcXVlc3RPcHRpb25zLnBvbGljeSA9IChzZWN1cml0eSAmJiBzZWN1cml0eS5wb2xpY3kpIHx8IHNlc3Npb24ucG9saWN5O1xuICByZXF1ZXN0T3B0aW9ucy5zaWduYXR1cmUgPSAoc2VjdXJpdHkgJiYgc2VjdXJpdHkuc2lnbmF0dXJlKSB8fCBzZXNzaW9uLnNpZ25hdHVyZTtcblxuICBsZXQgbWV0aG9kOiBGc0h0dHBNZXRob2QgPSBGc0h0dHBNZXRob2QuR0VUO1xuXG4gIGlmIChyZXF1ZXN0T3B0aW9ucy5oZWFkKSB7XG4gICAgbWV0aG9kID0gRnNIdHRwTWV0aG9kLkhFQUQ7XG4gICAgZGVsZXRlIHJlcXVlc3RPcHRpb25zLmhlYWQ7XG4gIH1cblxuICBsZXQgZXh0ZW5zaW9uO1xuXG4gIGlmIChyZXF1ZXN0T3B0aW9ucy5leHRlbnNpb24gJiYgcmVxdWVzdE9wdGlvbnMuZXh0ZW5zaW9uLmxlbmd0aCkge1xuICAgIGV4dGVuc2lvbiA9IHJlcXVlc3RPcHRpb25zLmV4dGVuc2lvbjtcbiAgICBkZWxldGUgcmVxdWVzdE9wdGlvbnMuZXh0ZW5zaW9uO1xuICB9XG5cbiAgbGV0IG1ldGFkYXRhO1xuICBpZiAocmVxdWVzdE9wdGlvbnMubWV0YWRhdGEpIHtcbiAgICBpZiAobWV0aG9kID09PSBGc0h0dHBNZXRob2QuSEVBRCkge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdIZWFkIGFuZCBtZXRhZGF0YSBvcHRpb25zIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyJyk7XG4gICAgfVxuXG4gICAgbWV0YWRhdGEgPSByZXF1ZXN0T3B0aW9ucy5tZXRhZGF0YTtcbiAgICBkZWxldGUgcmVxdWVzdE9wdGlvbnMubWV0YWRhdGE7XG4gIH1cblxuICBjb25zdCBiYXNlVVJMID0gYCR7c2Vzc2lvbi51cmxzLmZpbGVBcGlVcmx9LyR7aGFuZGxlfWAgKyAoZXh0ZW5zaW9uID8gYCske2V4dGVuc2lvbn1gIDogJycpICsgKG1ldGFkYXRhID8gJy9tZXRhZGF0YScgOiAnJyk7XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBGc1JlcXVlc3QuZGlzcGF0Y2goYmFzZVVSTCwge1xuICAgICAgbWV0aG9kLFxuICAgICAgZmlsZXN0YWNrSGVhZGVyczogZmFsc2UsXG4gICAgICBwYXJhbXM6IHJlbW92ZUVtcHR5KHJlcXVlc3RPcHRpb25zKSxcbiAgICB9KVxuICAgICAgLnRoZW4ocmVzID0+IHJlc29sdmUobWV0aG9kID09PSBGc0h0dHBNZXRob2QuSEVBRCA/IHJlcy5oZWFkZXJzIDogcmVzLmRhdGEpKVxuICAgICAgLmNhdGNoKHJlamVjdCk7XG4gIH0pO1xufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL2ZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUdILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXJEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsSUFBTSxNQUFNLEdBQUcsVUFBQyxPQUFnQixFQUFFLE1BQWUsRUFBRSxXQUFxQixFQUFFLFFBQW1CO0lBQ2xHLElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1FBQ3pDLE1BQU0sSUFBSSxjQUFjLENBQUMsaURBQWlELENBQUMsQ0FBQztLQUM3RTtJQUVELElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUU7UUFDckcsTUFBTSxJQUFJLGNBQWMsQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO0tBQ25GO0lBRUQsSUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0MsSUFBTSxPQUFPLEdBQUcsVUFBRyxVQUFVLGNBQUksTUFBTSxDQUFFLENBQUM7SUFDMUMsSUFBTSxPQUFPLEdBQVE7UUFDbkIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxNQUFNO1FBQ25CLE1BQU0sRUFBRSxDQUFD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QUcsQ0FBQyxJQUFJLENBQUMsRUFBOUQsQ0FBOEQsQ0FBQzthQUMzRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS9maWxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgU2VjdXJpdHksIFNlc3Npb24gfSBmcm9tICcuLi9jbGllbnQnO1xuaW1wb3J0IHsgRmlsZWxpbmsgfSBmcm9tICcuLy4uL2ZpbGVsaW5rJztcbmltcG9ydCB7IHJlbW92ZUVtcHR5IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgRnNSZXNwb25zZSB9IGZyb20gJy4vLi4vcmVxdWVzdC90eXBlcyc7XG5pbXBvcnQgeyBGaWxlc3RhY2tFcnJvciB9IGZyb20gJy4vLi4vLi4vZmlsZXN0YWNrX2Vycm9yJztcbmltcG9ydCB7IGdldFZhbGlkYXRvciwgTWV0YWRhdGFQYXJhbXNTY2hlbWEsIFJldHJpZXZlUGFyYW1zU2NoZW1hIH0gZnJvbSAnLi8uLi8uLi9zY2hlbWEnO1xuaW1wb3J0IHsgRnNSZXF1ZXN0LCBGc0h0dHBNZXRob2QgfSBmcm9tICcuLi9yZXF1ZXN0JztcblxuLyoqXG4gKiBSZW1vdmUgZ2l2ZW4gZmlsZVxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gc2Vzc2lvblxuICogQHBhcmFtIGhhbmRsZVxuICogQHBhcmFtIHNlY3VyaXR5XG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmUgPSAoc2Vzc2lvbjogU2Vzc2lvbiwgaGFuZGxlPzogc3RyaW5nLCBza2lwU3RvcmFnZT86IGJvb2xlYW4sIHNlY3VyaXR5PzogU2VjdXJpdHkpOiBQcm9taXNlPGFueT4gPT4ge1xuICBpZiAoIWhhbmRsZSB8fCB0eXBlb2YgaGFuZGxlICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcignQSB2YWxpZCBGaWxlc3RhY2sgaGFuZGxlIGlzIHJlcXVpcmVkIGZvciByZW1vdmUnKTtcbiAgfVxuXG4gIGlmICghKHNlc3Npb24ucG9saWN5ICYmIHNlc3Npb24uc2lnbmF0dXJlKSAmJiAoIXNlY3VyaXR5IHx8ICEoc2VjdXJpdHkucG9saWN5ICYmIHNlY3VyaXR5LnNpZ25hdHVyZSkpKSB7XG4gICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdTZWN1cml0eSBwb2xpY3kgYW5kIHNpZ25hdHVyZSBhcmUgcmVxdWlyZWQgZm9yIHJlbW92ZScpO1xuICB9XG5cbiAgY29uc3QgZmlsZUFwaVVybCA9IHNlc3Npb24udXJscy5maWxlQXBpVXJsO1xuICBjb25zdCBiYXNlVVJMID0gYCR7ZmlsZUFwaVVybH0vJHtoYW5kbGV9YDtcbiAgY29uc3Qgb3B0aW9uczogYW55ID0ge1xuICAgIGtleTogc2Vzc2lvbi5hcGlrZXksXG4gICAgcG9saWN5OiAoc2VjdXJpdHkgJiYgc2VjdXJpdHkucG9saWN5KSB8fCBzZXNzaW9uLnBvbGljeSxcbiAgICBzaWduYXR1cmU6IChzZWN1cml0eSAmJiBzZWN1cml0eS5zaWduYXR1cmUpIHx8IHNlc3Npb24uc2lnbmF0dXJlLFxuICB9O1xuXG4gIGlmIChza2lwU3RvcmFnZSkge1xuICAgIG9wdGlvbnMuc2tpcF9zdG9yYWdlID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBGc1JlcXVlc3QuZGVsZXRlKGJhc2VVUkwsIHtcbiAgICBmaWxlc3RhY2tIZWFkZXJzOiBmYWxzZSxcbiAgICBwYXJhbXM6IHJlbW92ZUVtcHR5KG9wdGlvbnMpLFxuICB9KTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhdGFPcHRpb25zIHtcbiAgc2l6ZT86IGJvb2xlYW47XG4gIG1pbWV0eXBlPzogYm9vbGVhbjtcbiAgZmlsZW5hbWU/OiBib29sZWFuO1xuICB3aWR0aD86IGJvb2xlYW47XG4gIGhlaWdodD86IGJvb2xlYW47XG4gIHVwbG9hZGVkPzogYm9vbGVhbjtcbiAgd3JpdGVhYmxlPzogYm9vbGVhbjtcbiAgY2xvdWQ/OiBib29sZWFuO1xuICBzb3VyY2VVcmw/OiBib29sZWFuO1xuICBtZDU/OiBib29sZWFuO1xuICBzaGExPzogYm9vbGVhbjtcbiAgc2hhMjI0PzogYm9vbGVhbjtcbiAgc2hhMjU2PzogYm9vbGVhbjtcbiAgc2hhMzg0PzogYm9vbGVhbjtcbiAgc2hhNTEyPzogYm9vbGVhbjtcbiAgbG9jYXRpb24/OiBib29sZWFuO1xuICBwYXRoPzogYm9vbGVhbjtcbiAgY29udGFpbmVyPzogYm9vbGVhbjtcbiAgZXhpZj86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmV0dXJucyBmaWxlIG1ldGFkYXRhXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBzZXNzaW9uXG4gKiBAcGFyYW0gaGFuZGxlXG4gKiBAcGFyYW0gb3B0c1xuICogQHBhcmFtIHNlY3VyaXR5XG4gKi9cbmV4cG9ydCBjb25zdCBtZXRhZGF0YSA9IChzZXNzaW9uOiBTZXNzaW9uLCBoYW5kbGU/OiBzdHJpbmcsIG9wdHM/OiBNZXRhZGF0YU9wdGlvbnMsIHNlY3VyaXR5PzogU2VjdXJpdHkpOiBQcm9taXNlPGFueT4gPT4ge1xuICBpZiAoIWhhbmRsZSB8fCB0eXBlb2YgaGFuZGxlICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcignQSB2YWxpZCBGaWxlc3RhY2sgaGFuZGxlIGlzIHJlcXVpcmVkIGZvciBtZXRhZGF0YScpO1xuICB9XG5cbiAgY29uc3QgdmFsaWRhdGVSZXMgPSBnZXRWYWxpZGF0b3IoTWV0YWRhdGFQYXJhbXNTY2hlbWEpKG9wdHMpO1xuXG4gIGlmICh2YWxpZGF0ZVJlcy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKGBJbnZhbGlkIG1ldGFkYXRhIHBhcmFtc2AsIHZhbGlkYXRlUmVzLmVycm9ycyk7XG4gIH1cblxuICBjb25zdCBvcHRpb25zOiBhbnkgPSB7IC4uLm9wdHMgfTtcbiAgb3B0aW9ucy5zb3VyY2VfdXJsID0gb3B0aW9ucy5zb3VyY2VVcmw7IC8vIHNvdXJjZV91cmwgaXMgc25ha2VfY2FzZVxuICBvcHRpb25zLnBvbGljeSA9IChzZWN1cml0eSAmJiBzZWN1cml0eS5wb2xpY3kpIHx8IHNlc3Npb24ucG9saWN5O1xuICBvcHRpb25zLnNpZ25hdHVyZSA9IChzZWN1cml0eSAmJiBzZWN1cml0eS5zaWduYXR1cmUpIHx8IHNlc3Npb24uc2lnbmF0dXJlO1xuXG4gIGNvbnN0IGJhc2VVUkwgPSBgJHtzZXNzaW9uLnVybHMuZmlsZUFwaVVybH0vJHtoYW5kbGV9L21ldGFkYXRhYDtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBGc1JlcXVlc3QuZ2V0KGJhc2VVUkwsIHsgcGFyYW1zOiByZW1vdmVFbXB0eShvcHRpb25zKSwgZmlsZXN0YWNrSGVhZGVyczogZmFsc2UgfSlcbiAgICAgIC50aGVuKHJlcyA9PiByZXNvbHZlKHsgLi4ucmVzLmRhdGEsIGhhbmRsZSB9KSlcbiAgICAgIC5jYXRjaChyZWplY3QpO1xuICB9KTtcbn07XG5cbi8qKlxuICogRG93bmxvYWQgZmlsZSB0byBibG9iIG9yIGJ1ZmZlciBmb3JtYXRcbiAqXG4gKiBAcGFyYW0gc2Vzc2lvblxuICogQHBhcmFtIGhhbmRsZVxuICovXG5leHBvcnQgY29uc3QgZG93bmxvYWQgPSAoc2Vzc2lvbjogU2Vzc2lvbiwgaGFuZGxlOiBzdHJpbmcsICBzZWN1cml0eT86IFNlY3VyaXR5KTogUHJvbWlzZTxGc1Jlc3BvbnNlPiA9PiB7XG4gIGNvbnN0IGZsID0gbmV3IEZpbGVsaW5rKGhhbmRsZSwgc2Vzc2lvbi5hcGlrZXkpO1xuXG4gIGNvbnN0IHBvbGljeSA9IChzZWN1cml0eSAmJiBzZWN1cml0eS5wb2xpY3kpIHx8IHNlc3Npb24ucG9saWN5O1xuICBjb25zdCBzaWduYXR1cmUgPSAoc2VjdXJpdHkgJiYgc2VjdXJpdHkuc2lnbmF0dXJlKSB8fCBzZXNzaW9uLnNpZ25hdHVyZTtcblxuICBpZiAocG9saWN5ICYmIHNpZ25hdHVyZSkge1xuICAgIGZsLnNlY3VyaXR5KHsgc2lnbmF0dXJlLCBwb2xpY3kgfSk7XG4gIH1cblxuICByZXR1cm4gRnNSZXF1ZXN0LmRpc3BhdGNoKGZsLnRvU3RyaW5nKCksIHsgbWV0aG9kOiBGc0h0dHBNZXRob2QuR0VULCBibG9iUmVzcG9uc2U6IHRydWUgfSk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFJldHJpZXZlT3B0aW9ucyB7XG4gIG1ldGFkYXRhPzogYm9vbGVhbjtcbiAgaGVhZD86IGJvb2xlYW47XG4gIGRsPzogYm9vbGVhbjtcbiAgZXh0ZW5zaW9uPzogc3RyaW5nO1xuICBjYWNoZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmV0dXJucyBmaWxlIGluZm9ybWF0aW9uXG4gKlxuICogQHByaXZhdGVcbiAqIEBkZXByZWNhdGVkXG4gKiBAcGFyYW0gc2Vzc2lvblxuICogQHBhcmFtIGhhbmRsZVxuICogQHBhcmFtIG9wdGlvbnNcbiAqIEBwYXJhbSBzZWN1cml0eVxuICovXG5leHBvcnQgY29uc3QgcmV0cmlldmUgPSAoc2Vzc2lvbjogU2Vzc2lvbiwgaGFuZGxlOiBzdHJpbmcsIG9wdGlvbnM6IFJldHJpZXZlT3B0aW9ucyA9IHt9LCBzZWN1cml0eT86IFNlY3VyaXR5KTogUHJvbWlzZTxPYmplY3QgfCBCbG9iPiA9PiB7XG4gIGlmICghaGFuZGxlIHx8IGhhbmRsZS5sZW5ndGggPT09IDAgfHwgdHlwZW9mIGhhbmRsZSAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoJ0ZpbGUgaGFuZGxlIGlzIHJlcXVpcmVkJyk7XG4gIH1cblxuICBjb25zb2xlLmluZm8oJ1JldHJpZXZlIG1ldGhvZCBpcyBkZXByZWNhdGVkIGFuZCBpdCB3aWxsIGJlIHJlbW92ZWQuIFBsZWFzZSB1c2UgbWV0YWRhdGEgb3IgZG93bmxvYWQnKTtcblxuICBjb25zdCB2YWxpZGF0ZVJlcyA9IGdldFZhbGlkYXRvcihSZXRyaWV2ZVBhcmFtc1NjaGVtYSkob3B0aW9ucyk7XG5cbiAgaWYgKHZhbGlkYXRlUmVzLmVycm9ycy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoYEludmFsaWQgcmV0cmlldmUgcGFyYW1zYCwgdmFsaWRhdGVSZXMuZXJyb3JzKTtcbiAgfVxuXG4gIGNvbnN0IHJlcXVlc3RPcHRpb25zOiBhbnkgPSB7IC4uLm9wdGlvbnMgfTtcbiAgcmVxdWVzdE9wdGlvbnMua2V5ID0gc2Vzc2lvbi5hcGlrZXk7XG4gIHJlcXVlc3RPcHRpb25zLnBvbGljeSA9IChzZWN1cml0eSAmJiBzZWN1cml0eS5wb2xpY3kpIHx8IHNlc3Npb24ucG9saWN5O1xuICByZXF1ZXN0T3B0aW9ucy5zaWduYXR1cmUgPSAoc2VjdXJpdHkgJiYgc2VjdXJpdHkuc2lnbmF0dXJlKSB8fCBzZXNzaW9uLnNpZ25hdHVyZTtcblxuICBsZXQgbWV0aG9kOiBGc0h0dHBNZXRob2QgPSBGc0h0dHBNZXRob2QuR0VUO1xuXG4gIGlmIChyZXF1ZXN0T3B0aW9ucy5oZWFkKSB7XG4gICAgbWV0aG9kID0gRnNIdHRwTWV0aG9kLkhFQUQ7XG4gICAgZGVsZXRlIHJlcXVlc3RPcHRpb25zLmhlYWQ7XG4gIH1cblxuICBsZXQgZXh0ZW5zaW9uO1xuXG4gIGlmIChyZXF1ZXN0T3B0aW9ucy5leHRlbnNpb24gJiYgcmVxdWVzdE9wdGlvbnMuZXh0ZW5zaW9uLmxlbmd0aCkge1xuICAgIGV4dGVuc2lvbiA9IHJlcXVlc3RPcHRpb25zLmV4dGVuc2lvbjtcbiAgICBkZWxldGUgcmVxdWVzdE9wdGlvbnMuZXh0ZW5zaW9uO1xuICB9XG5cbiAgbGV0IG1ldGFkYXRhO1xuICBpZiAocmVxdWVzdE9wdGlvbnMubWV0YWRhdGEpIHtcbiAgICBpZiAobWV0aG9kID09PSBGc0h0dHBNZXRob2QuSEVBRCkge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdIZWFkIGFuZCBtZXRhZGF0YSBvcHRpb25zIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyJyk7XG4gICAgfVxuXG4gICAgbWV0YWRhdGEgPSByZXF1ZXN0T3B0aW9ucy5tZXRhZGF0YTtcbiAgICBkZWxldGUgcmVxdWVzdE9wdGlvbnMubWV0YWRhdGE7XG4gIH1cblxuICBjb25zdCBiYXNlVVJMID0gYCR7c2Vzc2lvbi51cmxzLmZpbGVBcGlVcmx9LyR7aGFuZGxlfWAgKyAoZXh0ZW5zaW9uID8gYCske2V4dGVuc2lvbn1gIDogJycpICsgKG1ldGFkYXRhID8gJy9tZXRhZGF0YScgOiAnJyk7XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBGc1JlcXVlc3QuZGlzcGF0Y2goYmFzZVVSTCwge1xuICAgICAgbWV0aG9kLFxuICAgICAgZmlsZXN0YWNrSGVhZGVyczogZmFsc2UsXG4gICAgICBwYXJhbXM6IHJlbW92ZUVtcHR5KHJlcXVlc3RPcHRpb25zKSxcbiAgICB9KVxuICAgICAgLnRoZW4ocmVzID0+IHJlc29sdmUobWV0aG9kID09PSBGc0h0dHBNZXRob2QuSEVBRCA/IHJlcy5oZWFkZXJzIDogcmVzLmRhdGEpKVxuICAgICAgLmNhdGNoKHJlamVjdCk7XG4gIH0pO1xufTtcbiJdfQ==
import { Session, Client } from './../client';
import { PickerOptions } from './../picker';
export declare type PrefetchSettings = {
export type PrefetchSettings = {
inapp_browser?: boolean;
};
export declare type PrefetchPermissions = {
export type PrefetchPermissions = {
intelligent_ingestion?: boolean;

@@ -17,3 +17,3 @@ whitelabel?: boolean;

}
export declare type PrefetchOptions = {
export type PrefetchOptions = {
pickerOptions?: PickerOptions;

@@ -24,3 +24,3 @@ settings?: Array<keyof PrefetchSettings>;

};
export declare type PrefetchResponse = {
export type PrefetchResponse = {
blocked?: boolean | string;

@@ -27,0 +27,0 @@ settings?: PrefetchSettings;

@@ -23,3 +23,3 @@ /*

import { cleanUpCallbacks } from './../utils';
import * as cloneDeep from 'lodash.clonedeep';
import cloneDeep from 'lodash.clonedeep';
export var PrefetchEvents;

@@ -74,6 +74,5 @@ (function (PrefetchEvents) {

}
paramsToSend = __assign(__assign({}, paramsToSend), { permissions: permissions,
settings: settings, picker_config: pickerOptionsToSend, events: events });
paramsToSend = __assign(__assign({}, paramsToSend), { permissions: permissions, settings: settings, picker_config: pickerOptionsToSend, events: events });
this.session.prefetch = null;
return [2 /*return*/, FsRequest.post(this.session.urls.uploadApiUrl + "/prefetch", paramsToSend).then(function (res) {
return [2 /*return*/, FsRequest.post("".concat(this.session.urls.uploadApiUrl, "/prefetch"), paramsToSend).then(function (res) {
/* istanbul ignore if */

@@ -123,2 +122,2 @@ if (res.status !== 200) {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3ByZWZldGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFFSCw2QkFBNkI7QUFDN0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBcUIsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFnQjlDLE1BQU0sQ0FBTixJQUFZLGNBR1g7QUFIRCxXQUFZLGNBQWM7SUFDeEIsbUNBQWlCLENBQUE7SUFDakIsK0NBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQUhXLGNBQWMsS0FBZCxjQUFjLFFBR3pCO0FBeUJEOztHQUVHO0FBQ0g7SUFJRSxrQkFBWSxLQUF1QjtRQUNqQyxJQUFJLEtBQUssWUFBWSxNQUFNLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1NBQzlCO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0csNEJBQVMsR0FBZixVQUFnQixFQUFpRTtZQUEvRCxnQ0FBYSxFQUFFLHNCQUFRLEVBQUUsNEJBQVcsRUFBRSxrQkFBTTs7Ozs7Z0JBQ3hELFlBQVksR0FBb0I7b0JBQ2xDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07aUJBQzVCLENBQUM7Z0JBRUYsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtvQkFDakQsWUFBWSxDQUFDLFFBQVEsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FB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TyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNILGVBQUM7QUFBRCxDQXBHQSxBQW9HQyxJQUFBIiwiZmlsZSI6ImxpYi9hcGkvcHJlZmV0Y2guanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBpbXBvcnQgRGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHsgRmlsZXN0YWNrRXJyb3IgfSBmcm9tICcuLy4uLy4uL2ZpbGVzdGFja19lcnJvcic7XG5pbXBvcnQgeyBTZXNzaW9uLCBTZWN1cml0eSwgQ2xpZW50IH0gZnJvbSAnLi8uLi9jbGllbnQnO1xuaW1wb3J0IHsgUGlja2VyT3B0aW9ucyB9IGZyb20gJy4vLi4vcGlja2VyJztcbmltcG9ydCB7IEZzUmVxdWVzdCB9IGZyb20gJy4uL3JlcXVlc3QnO1xuaW1wb3J0IHsgY2xlYW5VcENhbGxiYWNrcyB9IGZyb20gJy4vLi4vdXRpbHMnO1xuaW1wb3J0ICogYXMgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC5jbG9uZWRlZXAnO1xuXG4vLyBjb25zdCBkZWJ1ZyA9IERlYnVnKCdmczpwcmVmZXRjaCcpO1xuXG5leHBvcnQgdHlwZSBQcmVmZXRjaFNldHRpbmdzID0ge1xuICBpbmFwcF9icm93c2VyPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIFByZWZldGNoUGVybWlzc2lvbnMgPSB7XG4gIGludGVsbGlnZW50X2luZ2VzdGlvbj86IGJvb2xlYW47XG4gIHdoaXRlbGFiZWw/OiBib29sZWFuO1xuICB0cmFuc2Zvcm1zX3VpPzogYm9vbGVhbjtcbiAgZW5oYW5jZT86IGJvb2xlYW47XG4gIGFkdmFuY2VkX2VuaGFuY2U/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGVudW0gUHJlZmV0Y2hFdmVudHMge1xuICBQSUNLRVIgPSAncGlja2VyJyxcbiAgVFJBTlNGT1JNX1VJID0gJ3RyYW5zZm9ybV91aScsXG59XG5cbmV4cG9ydCB0eXBlIFByZWZldGNoT3B0aW9ucyA9IHtcbiAgcGlja2VyT3B0aW9ucz86IFBpY2tlck9wdGlvbnM7XG4gIHNldHRpbmdzPzogQXJyYXk8a2V5b2YgUHJlZmV0Y2hTZXR0aW5ncz47XG4gIHBlcm1pc3Npb25zPzogQXJyYXk8a2V5b2YgUHJlZmV0Y2hQZXJtaXNzaW9ucz47XG4gIGV2ZW50cz86IFByZWZldGNoRXZlbnRzW107XG59O1xuXG5pbnRlcmZhY2UgUHJlZmV0Y2hSZXF1ZXN0IHtcbiAgYXBpa2V5OiBzdHJpbmc7XG4gIHNlY3VyaXR5PzogU2VjdXJpdHk7XG4gIHBlcm1pc3Npb25zPzogQXJyYXk8a2V5b2YgUHJlZmV0Y2hQZXJtaXNzaW9ucz47XG4gIHNldHRpbmdzPzogQXJyYXk8a2V5b2YgUHJlZmV0Y2hTZXR0aW5ncz47XG4gIGV2ZW50cz86IFByZWZldGNoRXZlbnRzW107XG4gIHBpY2tlcl9jb25maWc/OiBQaWNrZXJPcHRpb25zO1xufVxuXG5leHBvcnQgdHlwZSBQcmVmZXRjaFJlc3BvbnNlID0ge1xuICBibG9ja2VkPzogYm9vbGVhbiB8IHN0cmluZztcbiAgc2V0dGluZ3M/OiBQcmVmZXRjaFNldHRpbmdzO1xuICBwZXJtaXNzaW9ucz86IFByZWZldGNoUGVybWlzc2lvbnM7XG4gIHBpY2tlck9wdGlvbnM6IFBpY2tlck9wdGlvbnM7XG59O1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBQcmVmZXRjaCB7XG5cbiAgcHJpdmF0ZSBzZXNzaW9uOiBTZXNzaW9uO1xuXG4gIGNvbnN0cnVjdG9yKHBhcmFtOiBTZXNzaW9uIHwgQ2xpZW50KSB7XG4gICAgaWYgKHBhcmFtIGluc3RhbmNlb2YgQ2xpZW50KSB7XG4gICAgICB0aGlzLnNlc3Npb24gPSBwYXJhbS5zZXNzaW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlc3Npb24gPSBwYXJhbTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBmaWxlc3RhY2sgb3B0aW9ucyBmcm9tIGJhY2tlbmQgYWNjb3JkaW5nIHRvIGlucHV0IHBhcmFtc1xuICAgKlxuICAgKiBAcGFyYW0gcGFyYW0wXG4gICAqL1xuICBhc3luYyBnZXRDb25maWcoeyBwaWNrZXJPcHRpb25zLCBzZXR0aW5ncywgcGVybWlzc2lvbnMsIGV2ZW50cyB9OiBQcmVmZXRjaE9wdGlvbnMpOiBQcm9taXNlPFByZWZldGNoUmVzcG9uc2U+IHtcbiAgICBsZXQgcGFyYW1zVG9TZW5kOiBQcmVmZXRjaFJlcXVlc3QgPSB7XG4gICAgICBhcGlrZXk6IHRoaXMuc2Vzc2lvbi5hcGlrZXksXG4gICAgfTtcblxuICAgIGlmICh0aGlzLnNlc3Npb24ucG9saWN5ICYmIHRoaXMuc2Vzc2lvbi5zaWduYXR1cmUpIHtcbiAgICAgIHBhcmFtc1RvU2VuZC5zZWN1cml0eSA9IHsgcG9saWN5OiB0aGlzLnNlc3Npb24ucG9saWN5LCBzaWduYXR1cmU6IHRoaXMuc2Vzc2lvbi5zaWduYXR1cmUgfTtcbiAgICB9XG5cbiAgICAvLyBpZiAodGhpcy5zZXNzaW9uLnByZWZldGNoICYmIGV2ZW50cykge1xuICAgIC8vICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuc2Vzc2lvbi51cmxzLnVwbG9hZEFwaVVybH0vcHJlZmV0Y2hgLCB7IC4uLnBhcmFtc1RvU2VuZCwgZXZlbnRzIH0pLnRoZW4oKCkgPT4gdGhpcy5zZXNzaW9uLnByZWZldGNoKTtcbiAgICAvLyB9XG5cbiAgICAvLyB3ZSBzaG91bGQgYWx3YXlzIGFzayBmb3IgdGhpcyBzZXR0aW5nIGZvciBwaWNrZXJcbiAgICBpZiAoIXNldHRpbmdzKSB7XG4gICAgICBzZXR0aW5ncyA9IFsnaW5hcHBfYnJvd3NlciddO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXR0aW5ncyA9IHNldHRpbmdzLmNvbmNhdChbJ2luYXBwX2Jyb3dzZXInXSk7XG4gICAgICAvLyBtYWtlIGFycnJheSB1bmlxdWVcbiAgICAgIHNldHRpbmdzID0gc2V0dGluZ3MuZmlsdGVyKCh2LCBpKSA9PiBzZXR0aW5ncy5pbmRleE9mKHYpID09PSBpKTtcbiAgICB9XG5cbiAgICBsZXQgcGlja2VyT3B0aW9uc1RvU2VuZDtcbiAgICBpZiAocGlja2VyT3B0aW9ucyAmJiBPYmplY3Qua2V5cyhwaWNrZXJPcHRpb25zKS5sZW5ndGgpIHtcbiAgICAgIHBpY2tlck9wdGlvbnNUb1NlbmQgPSBjbGVhblVwQ2FsbGJhY2tzKGNsb25lRGVlcCh7IC4uLnBpY2tlck9wdGlvbnMgfSkpO1xuICAgIH1cblxuICAgIHBhcmFtc1RvU2VuZCA9IHtcbiAgICAgIC4uLnBhcmFtc1RvU2VuZCxcbiAgICAgIHBlcm1pc3Npb25zLFxuICAgICAgc2V0dGluZ3MsXG4gICAgICBwaWNrZXJfY29uZmlnOiBwaWNrZXJPcHRpb25zVG9TZW5kLFxuICAgICAgZXZlbnRzLFxuICAgIH07XG5cbiAgICB0aGlzLnNlc3Npb24ucHJlZmV0Y2ggPSBudWxsO1xuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuc2Vzc2lvbi51cmxzLnVwbG9hZEFwaVVybH0vcHJlZmV0Y2hgLCBwYXJhbXNUb1NlbmQpLnRoZW4oKHJlcykgPT4ge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAocmVzLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcignVGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggcHJlZmV0Y2ggcmVxdWVzdCcpO1xuICAgICAgfVxuXG4gICAgICBsZXQgZGF0YSA9IHJlcy5kYXRhO1xuXG4gICAgICAvLyBpZiBiYWNrZW5kIG5vdCByZXR1cm5pbmcgdXBkYXRlZF9jb25maWcgY2F5IHdlIHRha2Ugb2xkIGNvbmZpZyBhbmQgcmV0dXJuXG4gICAgICBpZiAoZGF0YS51cGRhdGVkX2NvbmZpZykge1xuICAgICAgICAvLyByZWFzc2lnbiBjYWxsYmFjayBmcm9tIG9sZCBjb25maWcgdG8gbmV3IG9uZSByZXR1cm5lZCBmcm9tIGJhY2tlbmRcbiAgICAgICAgZGF0YS5waWNrZXJPcHRpb25zID0gdGhpcy5yZWFzc2lnbkNhbGxiYWNrcyhwaWNrZXJPcHRpb25zLCBkYXRhLnVwZGF0ZWRfY29uZmlnIHx8IHt9KTtcbiAgICAgICAgZGVsZXRlIGRhdGEudXBkYXRlZF9jb25maWc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhLnBpY2tlck9wdGlvbnMgPSBwaWNrZXJPcHRpb25zO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNlc3Npb24ucHJlZmV0Y2ggPSBkYXRhO1xuXG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFzc2lnbiBjYWxsYmFja3MgZnJvbSBvbGQgcGlja2VyIGNvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogQHBhcmFtIG9iak9sZFxuICAgKiBAcGFyYW0gb2JqVGFyZ2V0XG4gICAqL1xuICBwcml2YXRlIHJlYXNzaWduQ2FsbGJhY2tzKG9iak9sZCwgb2JqVGFyZ2V0KSB7XG4gICAgaWYgKCFvYmpPbGQgfHwgT2JqZWN0LmtleXMob2JqT2xkKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBvYmpPbGQ7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBrIGluIG9iak9sZCkge1xuICAgICAgaWYgKHR5cGVvZiBvYmpPbGRba10gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgb2JqVGFyZ2V0W2tdID0gb2JqT2xkW2tdO1xuICAgICAgfVxuXG4gICAgICBpZiAob2JqT2xkW2tdID09PSBPYmplY3Qob2JqT2xkW2tdKSkge1xuICAgICAgICBvYmpUYXJnZXRba10gPSB0aGlzLnJlYXNzaWduQ2FsbGJhY2tzKG9iak9sZFtrXSwgb2JqVGFyZ2V0W2tdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gb2JqVGFyZ2V0O1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3ByZWZldGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFFSCw2QkFBNkI7QUFDN0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBcUIsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlDLE9BQU8sU0FBUyxNQUFNLGtCQUFrQixDQUFDO0FBZ0J6QyxNQUFNLENBQU4sSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3hCLG1DQUFpQixDQUFBO0lBQ2pCLCtDQUE2QixDQUFBO0FBQy9CLENBQUMsRUFIVyxjQUFjLEtBQWQsY0FBYyxRQUd6QjtBQXlCRDs7R0FFRztBQUNIO0lBSUUsa0JBQVksS0FBdUI7UUFDakMsSUFBSSxLQUFLLFlBQVksTUFBTSxFQUFFO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztTQUM5QjthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNHLDRCQUFTLEdBQWYsVUFBZ0IsRUFBaUU7WUFBL0QsYUFBYSxtQkFBQSxFQUFFLFFBQVEsY0FBQSxFQUFFLFdBQVcsaUJBQUEsRUFBRSxNQUFNLFlBQUE7Ozs7O2dCQUN4RCxZQUFZLEdBQW9CO29CQUNsQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2lCQUM1QixDQUFDO2dCQUVGLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7b0JBQ2pELFlBQVksQ0FBQyxRQUFRLEdBQUcsRUFBRSxNQUFNLEVBQUUs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Q2hFO1NBQ0Y7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0gsZUFBQztBQUFELENBcEdBLEFBb0dDLElBQUEiLCJmaWxlIjoibGliL2FwaS9wcmVmZXRjaC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8vIGltcG9ydCBEZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgeyBGaWxlc3RhY2tFcnJvciB9IGZyb20gJy4vLi4vLi4vZmlsZXN0YWNrX2Vycm9yJztcbmltcG9ydCB7IFNlc3Npb24sIFNlY3VyaXR5LCBDbGllbnQgfSBmcm9tICcuLy4uL2NsaWVudCc7XG5pbXBvcnQgeyBQaWNrZXJPcHRpb25zIH0gZnJvbSAnLi8uLi9waWNrZXInO1xuaW1wb3J0IHsgRnNSZXF1ZXN0IH0gZnJvbSAnLi4vcmVxdWVzdCc7XG5pbXBvcnQgeyBjbGVhblVwQ2FsbGJhY2tzIH0gZnJvbSAnLi8uLi91dGlscyc7XG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC5jbG9uZWRlZXAnO1xuXG4vLyBjb25zdCBkZWJ1ZyA9IERlYnVnKCdmczpwcmVmZXRjaCcpO1xuXG5leHBvcnQgdHlwZSBQcmVmZXRjaFNldHRpbmdzID0ge1xuICBpbmFwcF9icm93c2VyPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIFByZWZldGNoUGVybWlzc2lvbnMgPSB7XG4gIGludGVsbGlnZW50X2luZ2VzdGlvbj86IGJvb2xlYW47XG4gIHdoaXRlbGFiZWw/OiBib29sZWFuO1xuICB0cmFuc2Zvcm1zX3VpPzogYm9vbGVhbjtcbiAgZW5oYW5jZT86IGJvb2xlYW47XG4gIGFkdmFuY2VkX2VuaGFuY2U/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGVudW0gUHJlZmV0Y2hFdmVudHMge1xuICBQSUNLRVIgPSAncGlja2VyJyxcbiAgVFJBTlNGT1JNX1VJID0gJ3RyYW5zZm9ybV91aScsXG59XG5cbmV4cG9ydCB0eXBlIFByZWZldGNoT3B0aW9ucyA9IHtcbiAgcGlja2VyT3B0aW9ucz86IFBpY2tlck9wdGlvbnM7XG4gIHNldHRpbmdzPzogQXJyYXk8a2V5b2YgUHJlZmV0Y2hTZXR0aW5ncz47XG4gIHBlcm1pc3Npb25zPzogQXJyYXk8a2V5b2YgUHJlZmV0Y2hQZXJtaXNzaW9ucz47XG4gIGV2ZW50cz86IFByZWZldGNoRXZlbnRzW107XG59O1xuXG5pbnRlcmZhY2UgUHJlZmV0Y2hSZXF1ZXN0IHtcbiAgYXBpa2V5OiBzdHJpbmc7XG4gIHNlY3VyaXR5PzogU2VjdXJpdHk7XG4gIHBlcm1pc3Npb25zPzogQXJyYXk8a2V5b2YgUHJlZmV0Y2hQZXJtaXNzaW9ucz47XG4gIHNldHRpbmdzPzogQXJyYXk8a2V5b2YgUHJlZmV0Y2hTZXR0aW5ncz47XG4gIGV2ZW50cz86IFByZWZldGNoRXZlbnRzW107XG4gIHBpY2tlcl9jb25maWc/OiBQaWNrZXJPcHRpb25zO1xufVxuXG5leHBvcnQgdHlwZSBQcmVmZXRjaFJlc3BvbnNlID0ge1xuICBibG9ja2VkPzogYm9vbGVhbiB8IHN0cmluZztcbiAgc2V0dGluZ3M/OiBQcmVmZXRjaFNldHRpbmdzO1xuICBwZXJtaXNzaW9ucz86IFByZWZldGNoUGVybWlzc2lvbnM7XG4gIHBpY2tlck9wdGlvbnM6IFBpY2tlck9wdGlvbnM7XG59O1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBQcmVmZXRjaCB7XG5cbiAgcHJpdmF0ZSBzZXNzaW9uOiBTZXNzaW9uO1xuXG4gIGNvbnN0cnVjdG9yKHBhcmFtOiBTZXNzaW9uIHwgQ2xpZW50KSB7XG4gICAgaWYgKHBhcmFtIGluc3RhbmNlb2YgQ2xpZW50KSB7XG4gICAgICB0aGlzLnNlc3Npb24gPSBwYXJhbS5zZXNzaW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlc3Npb24gPSBwYXJhbTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBmaWxlc3RhY2sgb3B0aW9ucyBmcm9tIGJhY2tlbmQgYWNjb3JkaW5nIHRvIGlucHV0IHBhcmFtc1xuICAgKlxuICAgKiBAcGFyYW0gcGFyYW0wXG4gICAqL1xuICBhc3luYyBnZXRDb25maWcoeyBwaWNrZXJPcHRpb25zLCBzZXR0aW5ncywgcGVybWlzc2lvbnMsIGV2ZW50cyB9OiBQcmVmZXRjaE9wdGlvbnMpOiBQcm9taXNlPFByZWZldGNoUmVzcG9uc2U+IHtcbiAgICBsZXQgcGFyYW1zVG9TZW5kOiBQcmVmZXRjaFJlcXVlc3QgPSB7XG4gICAgICBhcGlrZXk6IHRoaXMuc2Vzc2lvbi5hcGlrZXksXG4gICAgfTtcblxuICAgIGlmICh0aGlzLnNlc3Npb24ucG9saWN5ICYmIHRoaXMuc2Vzc2lvbi5zaWduYXR1cmUpIHtcbiAgICAgIHBhcmFtc1RvU2VuZC5zZWN1cml0eSA9IHsgcG9saWN5OiB0aGlzLnNlc3Npb24ucG9saWN5LCBzaWduYXR1cmU6IHRoaXMuc2Vzc2lvbi5zaWduYXR1cmUgfTtcbiAgICB9XG5cbiAgICAvLyBpZiAodGhpcy5zZXNzaW9uLnByZWZldGNoICYmIGV2ZW50cykge1xuICAgIC8vICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuc2Vzc2lvbi51cmxzLnVwbG9hZEFwaVVybH0vcHJlZmV0Y2hgLCB7IC4uLnBhcmFtc1RvU2VuZCwgZXZlbnRzIH0pLnRoZW4oKCkgPT4gdGhpcy5zZXNzaW9uLnByZWZldGNoKTtcbiAgICAvLyB9XG5cbiAgICAvLyB3ZSBzaG91bGQgYWx3YXlzIGFzayBmb3IgdGhpcyBzZXR0aW5nIGZvciBwaWNrZXJcbiAgICBpZiAoIXNldHRpbmdzKSB7XG4gICAgICBzZXR0aW5ncyA9IFsnaW5hcHBfYnJvd3NlciddO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXR0aW5ncyA9IHNldHRpbmdzLmNvbmNhdChbJ2luYXBwX2Jyb3dzZXInXSk7XG4gICAgICAvLyBtYWtlIGFycnJheSB1bmlxdWVcbiAgICAgIHNldHRpbmdzID0gc2V0dGluZ3MuZmlsdGVyKCh2LCBpKSA9PiBzZXR0aW5ncy5pbmRleE9mKHYpID09PSBpKTtcbiAgICB9XG5cbiAgICBsZXQgcGlja2VyT3B0aW9uc1RvU2VuZDtcbiAgICBpZiAocGlja2VyT3B0aW9ucyAmJiBPYmplY3Qua2V5cyhwaWNrZXJPcHRpb25zKS5sZW5ndGgpIHtcbiAgICAgIHBpY2tlck9wdGlvbnNUb1NlbmQgPSBjbGVhblVwQ2FsbGJhY2tzKGNsb25lRGVlcCh7IC4uLnBpY2tlck9wdGlvbnMgfSkpO1xuICAgIH1cblxuICAgIHBhcmFtc1RvU2VuZCA9IHtcbiAgICAgIC4uLnBhcmFtc1RvU2VuZCxcbiAgICAgIHBlcm1pc3Npb25zLFxuICAgICAgc2V0dGluZ3MsXG4gICAgICBwaWNrZXJfY29uZmlnOiBwaWNrZXJPcHRpb25zVG9TZW5kLFxuICAgICAgZXZlbnRzLFxuICAgIH07XG5cbiAgICB0aGlzLnNlc3Npb24ucHJlZmV0Y2ggPSBudWxsO1xuXG4gICAgcmV0dXJuIEZzUmVxdWVzdC5wb3N0KGAke3RoaXMuc2Vzc2lvbi51cmxzLnVwbG9hZEFwaVVybH0vcHJlZmV0Y2hgLCBwYXJhbXNUb1NlbmQpLnRoZW4oKHJlcykgPT4ge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAocmVzLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcignVGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggcHJlZmV0Y2ggcmVxdWVzdCcpO1xuICAgICAgfVxuXG4gICAgICBsZXQgZGF0YSA9IHJlcy5kYXRhO1xuXG4gICAgICAvLyBpZiBiYWNrZW5kIG5vdCByZXR1cm5pbmcgdXBkYXRlZF9jb25maWcgY2F5IHdlIHRha2Ugb2xkIGNvbmZpZyBhbmQgcmV0dXJuXG4gICAgICBpZiAoZGF0YS51cGRhdGVkX2NvbmZpZykge1xuICAgICAgICAvLyByZWFzc2lnbiBjYWxsYmFjayBmcm9tIG9sZCBjb25maWcgdG8gbmV3IG9uZSByZXR1cm5lZCBmcm9tIGJhY2tlbmRcbiAgICAgICAgZGF0YS5waWNrZXJPcHRpb25zID0gdGhpcy5yZWFzc2lnbkNhbGxiYWNrcyhwaWNrZXJPcHRpb25zLCBkYXRhLnVwZGF0ZWRfY29uZmlnIHx8IHt9KTtcbiAgICAgICAgZGVsZXRlIGRhdGEudXBkYXRlZF9jb25maWc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhLnBpY2tlck9wdGlvbnMgPSBwaWNrZXJPcHRpb25zO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNlc3Npb24ucHJlZmV0Y2ggPSBkYXRhO1xuXG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFzc2lnbiBjYWxsYmFja3MgZnJvbSBvbGQgcGlja2VyIGNvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogQHBhcmFtIG9iak9sZFxuICAgKiBAcGFyYW0gb2JqVGFyZ2V0XG4gICAqL1xuICBwcml2YXRlIHJlYXNzaWduQ2FsbGJhY2tzKG9iak9sZCwgb2JqVGFyZ2V0KSB7XG4gICAgaWYgKCFvYmpPbGQgfHwgT2JqZWN0LmtleXMob2JqT2xkKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBvYmpPbGQ7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBrIGluIG9iak9sZCkge1xuICAgICAgaWYgKHR5cGVvZiBvYmpPbGRba10gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgb2JqVGFyZ2V0W2tdID0gb2JqT2xkW2tdO1xuICAgICAgfVxuXG4gICAgICBpZiAob2JqT2xkW2tdID09PSBPYmplY3Qob2JqT2xkW2tdKSkge1xuICAgICAgICBvYmpUYXJnZXRba10gPSB0aGlzLnJlYXNzaWduQ2FsbGJhY2tzKG9iak9sZFtrXSwgb2JqVGFyZ2V0W2tdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gb2JqVGFyZ2V0O1xuICB9XG59XG4iXX0=

@@ -19,3 +19,3 @@ /*

// import { config } from './../../config';
import * as nock from 'nock';
import nock from 'nock';
import { Prefetch } from './prefetch';

@@ -43,5 +43,5 @@ import { FsRequestErrorCode } from '../request';

scope.defaultReplyHeaders({
'access-control-allow-origin': function (req) { return req.headers['origin']; },
'access-control-allow-methods': function (req) { return req.headers['access-control-request-method']; },
'access-control-allow-headers': function (req) { return req.headers['access-control-request-headers']; },
'access-control-allow-origin': function (req) { var _a; return (_a = req.getHeader('origin')) === null || _a === void 0 ? void 0 : _a.toString(); },
'access-control-allow-methods': function (req) { var _a; return (_a = req.getHeader('access-control-request-method')) === null || _a === void 0 ? void 0 : _a.toString(); },
'access-control-allow-headers': function (req) { var _a; return (_a = req.getHeader('access-control-request-headers')) === null || _a === void 0 ? void 0 : _a.toString(); },
'content-type': 'application/json',

@@ -55,3 +55,3 @@ });

});
it('Should make correct request to prefetch and return new config', function () { return __awaiter(void 0, void 0, void 0, function () {
it('should make correct request to prefetch and return new config', function () { return __awaiter(void 0, void 0, void 0, function () {
var sessionCopy, serverResponse, test, prefetch, res;

@@ -248,2 +248,2 @@ return __generator(this, function (_a) {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3ByZWZldGNoLnNwZWMuYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7O0FBRUgsMkNBQTJDO0FBQzNDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxRQUFRLEVBQWtCLE1BQU0sWUFBWSxDQUFDO0FBRXRELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVoRCxJQUFNLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQztBQUM1QyxJQUFNLFlBQVksR0FBYTtJQUM3QixNQUFNLEVBQUUsZUFBZTtJQUN2QixTQUFTLEVBQUUsa0JBQWtCO0NBQzlCLENBQUM7QUFFRixJQUFNLE9BQU8sR0FBRztJQUNkLFVBQVUsRUFBRSxFQUFFO0lBQ2QsWUFBWSxFQUFFLDhCQUE4QjtJQUM1QyxXQUFXLEVBQUUsRUFBRTtJQUNmLE1BQU0sRUFBRSxFQUFFO0lBQ1YsU0FBUyxFQUFFLEVBQUU7SUFDYixVQUFVLEVBQUUsRUFBRTtDQUNmLENBQUM7QUFFRixJQUFNLFdBQVcsR0FBWTtJQUMzQixNQUFNLEVBQUUsVUFBVTtJQUNsQixJQUFJLEVBQUUsT0FBTztDQUNkLENBQUM7QUFFRixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBRXZDLHdEQUF3RDtBQUN4RCxLQUFLLENBQUMsbUJBQW1CLENBQUM7SUFDeEIsNkJBQTZCLEVBQUUsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFyQixDQUFxQjtJQUMzRCw4QkFBOEIsRUFBRSxVQUFBLEdBQUcsSUFBSSxPQUFBLEdBQUcsQ0FBQyxPQUFPLENBQUMsK0JBQStCLENBQUMsRUFBNUMsQ0FBNEM7SUFDbkYsOEJBQThCLEVBQUUsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsT0FBTyxDQUFD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QUFBLE9BQU8sQ0FBQyxHQUFHLEVBQVgsQ0FBVzt3QkFDL0IsT0FBTyxFQUFFOzRCQUNQLFFBQVEsRUFBRSxLQUFLO3lCQUNoQjtxQkFDRixDQUFDO29CQUVJLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDL0IscUJBQU0sUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLGFBQWEsZUFBQSxFQUFFLENBQUMsRUFBQTs7b0JBQWpELEdBQUcsR0FBRyxTQUEyQztvQkFFdkQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBRWpELEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQzs7OztTQUNkLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9hcGkvcHJlZmV0Y2guc3BlYy5icm93c2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgJ0xpY2Vuc2UnKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBpbXBvcnQgeyBjb25maWcgfSBmcm9tICcuLy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgKiBhcyBub2NrIGZyb20gJ25vY2snO1xuaW1wb3J0IHsgUHJlZmV0Y2gsIFByZWZldGNoRXZlbnRzIH0gZnJvbSAnLi9wcmVmZXRjaCc7XG5pbXBvcnQgeyBTZXNzaW9uLCBTZWN1cml0eSB9IGZyb20gJy4vLi4vY2xpZW50JztcbmltcG9ydCB7IEZzUmVxdWVzdEVycm9yQ29kZSB9IGZyb20gJy4uL3JlcXVlc3QnO1xuXG5jb25zdCB0ZXN0QXBpS2V5ID0gJ0FIdjIyMjIyMjIyMjI0NDQ0NDR1ZXonO1xuY29uc3QgdGVzdFNlY3VyaXR5OiBTZWN1cml0eSA9IHtcbiAgcG9saWN5OiAnZXhhbXBsZVBvbGljeScsXG4gIHNpZ25hdHVyZTogJ2V4YW1wbGVTaWduYXR1cmUnLFxufTtcblxuY29uc3QgdGVzdFVSTCA9IHtcbiAgZmlsZUFwaVVybDogJycsXG4gIHVwbG9hZEFwaVVybDogJ2h0dHBzOi8vdXBsb2FkdGVzdHVybC1mcy5jb20nLFxuICBjbG91ZEFwaVVybDogJycsXG4gIGNkblVybDogJycsXG4gIHBpY2tlclVybDogJycsXG4gIHByb2Nlc3NVcmw6ICcnLFxufTtcblxuY29uc3QgdGVzdFNlc3Npb246IFNlc3Npb24gPSB7XG4gIGFwaWtleTogdGVzdEFwaUtleSxcbiAgdXJsczogdGVzdFVSTCxcbn07XG5cbmxldCBzY29wZSA9IG5vY2sodGVzdFVSTC51cGxvYWRBcGlVcmwpO1xuXG4vLyBtb2NrIGNvcnMgcmVzcG9uc2VzIGZvciBhbGwgcmVxdWVzdCBmb3IgYnJvd3NlciB0ZXN0c1xuc2NvcGUuZGVmYXVsdFJlcGx5SGVhZGVycyh7XG4gICdhY2Nlc3MtY29udHJvbC1hbGxvdy1vcmlnaW4nOiByZXEgPT4gcmVxLmhlYWRlcnNbJ29yaWdpbiddLFxuICAnYWNjZXNzLWNvbnRyb2wtYWxsb3ctbWV0aG9kcyc6IHJlcSA9PiByZXEuaGVhZGVyc1snYWNjZXNzLWNvbnRyb2wtcmVxdWVzdC1tZXRob2QnXSxcbiAgJ2FjY2Vzcy1jb250cm9sLWFsbG93LWhlYWRlcnMnOiByZXEgPT4gcmVxLmhlYWRlcnNbJ2FjY2Vzcy1jb250cm9sLXJlcXVlc3QtaGVhZGVycyddLFxuICAnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxufSk7XG5cbmRlc2NyaWJlKCdQcmVmZXRjaCcsICgpID0+IHtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgc2NvcGVcbiAgICAub3B0aW9ucygvLiovKVxuICAgIC5yZXBseSgyMDQpO1xuICB9KTtcblxuICBpdCgnU2hvdWxkIG1ha2UgY29ycmVjdCByZXF1ZXN0IHRvIHByZWZldGNoIGFuZCByZXR1cm4gbmV3IGNvbmZpZycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBzZXNzaW9uQ29weSA9ICB7IC4uLnRlc3RTZXNzaW9uIH07XG5cbiAgICBjb25zdCBzZXJ2ZXJSZXNwb25zZSA9IHtcbiAgICAgIGJsb2NrZWQ6IGZhbHNlLFxuICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgY3VzdG9tc291cmNlOiBmYWxzZSxcbiAgICAgICAgaW5hcHBfYnJvd3NlcjogZmFsc2UsXG4gICAgICB9LFxuICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgdHJhbnNmb3Jtc191aTogZmFsc2UsXG4gICAgICB9LFxuICAgICAgdXBkYXRlZF9jb25maWc6IHtcbiAgICAgICAgZnJvbVNvdXJjZXM6IFsnZ29vZ2xlZHJpdmUnXSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIHNjb3BlLnBvc3QoJy9wcmVmZXRjaCcpLm9uY2UoKS5yZXBseSgyMDAsIHNlcnZlclJlc3BvbnNlKTtcblxuICAgIGNvbnN0IHRlc3QgPSAoKSA9PiAyO1xuXG4gICAgY29uc3QgcHJlZmV0Y2ggPSBuZXcgUHJlZmV0Y2goc2Vzc2lvbkNvcHkpO1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHByZWZldGNoLmdldENvbmZpZyh7XG4gICAgICBwaWNrZXJPcHRpb25zOiB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgb25GaWxlU2VsZWN0ZWQ6IHRlc3QsXG4gICAgICAgIGZyb21Tb3VyY2VzOiBbJ2dvb2dsZWRyaXZlJywgJ3Rlc3QnXSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBleHBlY3QocmVzLnBpY2tlck9wdGlvbnMub25GaWxlU2VsZWN0ZWQpLnRvRXF1YWwodGVzdCk7XG4gICAgZXhwZWN0KHJlcy5waWNrZXJPcHRpb25zLmZyb21Tb3VyY2VzKS50b0VxdWFsKFsnZ29vZ2xlZHJpdmUnXSk7XG5cbiAgICBzY29wZS5kb25lKCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgc2V0IGNvcnJlY3QgcGFyYW1zIHRvIHNlc3Npb25zIChwcmVmZXRjaCknLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc2Vzc2lvbkNvcHkgPSAgeyAuLi50ZXN0U2Vzc2lvbiB9O1xuICAgIGNvbnN0IHNlcnZlclJlc3BvbnNlID0ge1xuICAgICAgYmxvY2tlZDogZmFsc2UsXG4gICAgICBzZXR0aW5nczoge1xuICAgICAgICBjdXN0b21zb3VyY2U6IGZhbHNlLFxuICAgICAgICBpbmFwcF9icm93c2VyOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICAgIHRyYW5zZm9ybXNfdWk6IHRydWUsXG4gICAgICB9LFxuICAgICAgdXBkYXRlZF9jb25maWc6IHtcbiAgICAgICAgZnJvbVNvdXJjZXM6IFsnZ29vZ2xlZHJpdmUnXSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIHNjb3BlLnBvc3QoJy9wcmVmZXRjaCcpLm9uY2UoKS5yZXBseSgyMDAsIHNlcnZlclJlc3BvbnNlKTtcblxuICAgIGNvbnN0IHByZWZldGNoID0gbmV3IFByZWZldGNoKHNlc3Npb25Db3B5KTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCBwcmVmZXRjaC5nZXRDb25maWcoe1xuICAgICAgcGlja2VyT3B0aW9uczoge1xuICAgICAgICBmcm9tU291cmNlczogWydmYWNlYm9vaycsICd0ZXN0J10sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KHNlc3Npb25Db3B5LnByZWZldGNoKS50b0VxdWFsKGV4cGVjdC5hbnkoT2JqZWN0KSk7XG4gICAgZXhwZWN0KHNlc3Npb25Db3B5LnByZWZldGNoLnNldHRpbmdzLmluYXBwX2Jyb3dzZXIpLnRvRXF1YWwodHJ1ZSk7XG4gICAgZXhwZWN0KHNlc3Npb25Db3B5LnByZWZldGNoLnBlcm1pc3Npb25zLnRyYW5zZm9ybXNfdWkpLnRvRXF1YWwodHJ1ZSk7XG5cbiAgICBzY29wZS5kb25lKCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdGhyb3cgZXJyb3Igd2hlbiByZXNwb25zZSBjb2RlIGlzIG90aGVyIHRoYW50IDIwMCcsIGFzeW5jICgpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc2Vzc2lvbkNvcHkgPSAgeyAuLi50ZXN0U2Vzc2lvbiB9O1xuICAgICAgY29uc3QgcHJlZmV0Y2ggPSBuZXcgUHJlZmV0Y2goc2Vzc2lvbkNvcHkpO1xuXG4gICAgICBzY29wZS5wb3N0KCcvcHJlZmV0Y2gnKS5vbmNlKCkucmVwbHkoNTAwKTtcblxuICAgICAgYXdhaXQgcHJlZmV0Y2guZ2V0Q29uZmlnKHt9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGV4cGVjdChlcnIuY29kZSkudG9FcXVhbChGc1JlcXVlc3RFcnJvckNvZGUuU0VSVkVSKTtcbiAgICB9XG5cbiAgICBzY29wZS5kb25lKCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYWRkIHNlY3VyaXR5IHRvIHJlcXVlc3Qgd2hlbiBwcm92aWRlZCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBzZXNzaW9uQ29weSA9ICB7XG4gICAgICAuLi50ZXN0U2Vzc2lvbixcbiAgICAgIHNpZ25hdHVyZTogdGVzdFNlY3VyaXR5LnNpZ25hdHVyZSxcbiAgICAgIHBvbGljeTogdGVzdFNlY3VyaXR5LnBvbGljeSxcbiAgICB9O1xuXG4gICAgY29uc3QgbW9ja1ByZWYgPSBqZXN0LmZuKCkgLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiAoe30pKTtcblxuICAgIHNjb3BlLnBvc3QoJy9wcmVmZXRjaCcpLm9uY2UoKS5yZXBseSgyMDAsIChfLCBkYXRhKSA9PiBtb2NrUHJlZihkYXRhKSk7XG5cbiAgICBjb25zdCBwcmVmZXRjaCA9IG5ldyBQcmVmZXRjaChzZXNzaW9uQ29weSk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgcHJlZmV0Y2guZ2V0Q29uZmlnKHtcbiAgICAgIHBpY2tlck9wdGlvbnM6IHt9LFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KG1vY2tQcmVmKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7XG4gICAgICBhcGlrZXk6IHRlc3RBcGlLZXksXG4gICAgICBzZXR0aW5nczogWydpbmFwcF9icm93c2VyJ10sXG4gICAgICBzZWN1cml0eToge1xuICAgICAgICBzaWduYXR1cmU6IHRlc3RTZWN1cml0eS5zaWduYXR1cmUsXG4gICAgICAgIHBvbGljeTogdGVzdFNlY3VyaXR5LnBvbGljeSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBzY29wZS5kb25lKCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYWx3YXlzIGFkZCBpbmFwcCBicm93c2VyIHNldHRpbmcgdG8gcmVxdWVzdCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBtb2NrUHJlZiA9IGplc3QuZm4oKSAubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+ICh7fSkpO1xuICAgIHNjb3BlLnBvc3QoJy9wcmVmZXRjaCcpLm9uY2UoKS5yZXBseSgyMDAsIChfLCBkYXRhKSA9PiBtb2NrUHJlZihkYXRhKSk7XG5cbiAgICBjb25zdCBwcmVmZXRjaCA9IG5ldyBQcmVmZXRjaCh7IC4uLnRlc3RTZXNzaW9uIH0pO1xuICAgIGF3YWl0IHByZWZldGNoLmdldENvbmZpZyh7fSk7XG5cbiAgICBleHBlY3QobW9ja1ByZWYpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHtcbiAgICAgIGFwaWtleTogdGVzdEFwaUtleSxcbiAgICAgIHNldHRpbmdzOiBbJ2luYXBwX2Jyb3dzZXInXSxcbiAgICB9KTtcblxuICAgIHNjb3BlLmRvbmUoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBhbHdheXMgYWRkIGluYXBwIGJyb3dzZXIgc2V0dGluZyB0byByZXF1ZXN0IGV2ZW50IGlmIHNvbWUgc2V0dGluZ3MgYXJlIHByb3ZpZGVkJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG1vY2tQcmVmID0gamVzdC5mbigpIC5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gKHt9KSk7XG4gICAgc2NvcGUucG9zdCgnL3ByZWZldGNoJykub25jZSgpLnJlcGx5KDIwMCwgKF8sIGRhdGEpID0+IG1vY2tQcmVmKGRhdGEpKTtcblxuICAgIGNvbnN0IHByZWZldGNoID0gbmV3IFByZWZldGNoKHsgLi4udGVzdFNlc3Npb24gfSk7XG4gICAgYXdhaXQgcHJlZmV0Y2guZ2V0Q29uZmlnKHsgc2V0dGluZ3M6IFsnaW5hcHBfYnJvd3NlciddIH0pO1xuXG4gICAgZXhwZWN0KG1vY2tQcmVmKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7XG4gICAgICBhcGlrZXk6IHRlc3RBcGlLZXksXG4gICAgICBzZXR0aW5nczogWydpbmFwcF9icm93c2VyJ10sXG4gICAgfSk7XG5cbiAgICBzY29wZS5kb25lKCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmV0dXJuIG9sZCBjb25maWcgd2hlbiB1cGRhdGVkX2NvbmZpZyBpcyBtaXNzaW5nIGluIHJlc3BvbnNlJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHNlc3Npb25Db3B5ID0gIHtcbiAgICAgIC4uLnRlc3RTZXNzaW9uLFxuICAgICAgc2lnbmF0dXJlOiB0ZXN0U2VjdXJpdHkuc2lnbmF0dXJlLFxuICAgICAgcG9saWN5OiB0ZXN0U2VjdXJpdHkucG9saWN5LFxuICAgIH07XG5cbiAgICBzY29wZS5wb3N0KCcvcHJlZmV0Y2gnKS5vbmNlKCkucmVwbHkoMjAwLCB7XG4gICAgICBibG9ja2VkOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcGlja2VyT3B0aW9ucyA9IHtcbiAgICAgIHVwbG9hZEluQmFja2dyb3VuZDogdHJ1ZSxcbiAgICAgIG9uVXBsb2FkRG9uZTogKCkgPT4gY29uc29sZS5sb2csXG4gICAgICBzdG9yZVRvOiB7XG4gICAgICAgIGxvY2F0aW9uOiAnYXNkJyxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGNvbnN0IHByZWZldGNoID0gbmV3IFByZWZldGNoKHNlc3Npb25Db3B5KTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCBwcmVmZXRjaC5nZXRDb25maWcoeyBwaWNrZXJPcHRpb25zIH0pO1xuXG4gICAgZXhwZWN0KHJlcy5waWNrZXJPcHRpb25zKS50b0VxdWFsKHBpY2tlck9wdGlvbnMpO1xuXG4gICAgc2NvcGUuZG9uZSgpO1xuICB9KTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3ByZWZldGNoLnNwZWMuYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7O0FBRUgsMkNBQTJDO0FBQzNDLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUUsUUFBUSxFQUFrQixNQUFNLFlBQVksQ0FBQztBQUV0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFaEQsSUFBTSxVQUFVLEdBQUcsd0JBQXdCLENBQUM7QUFDNUMsSUFBTSxZQUFZLEdBQWE7SUFDN0IsTUFBTSxFQUFFLGVBQWU7SUFDdkIsU0FBUyxFQUFFLGtCQUFrQjtDQUM5QixDQUFDO0FBRUYsSUFBTSxPQUFPLEdBQUc7SUFDZCxVQUFVLEVBQUUsRUFBRTtJQUNkLFlBQVksRUFBRSw4QkFBOEI7SUFDNUMsV0FBVyxFQUFFLEVBQUU7SUFDZixNQUFNLEVBQUUsRUFBRTtJQUNWLFNBQVMsRUFBRSxFQUFFO0lBQ2IsVUFBVSxFQUFFLEVBQUU7Q0FDZixDQUFDO0FBRUYsSUFBTSxXQUFXLEdBQVk7SUFDM0IsTUFBTSxFQUFFLFVBQVU7SUFDbEIsSUFBSSxFQUFFLE9BQU87Q0FDZCxDQUFDO0FBRUYsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUV2Qyx3REFBd0Q7QUFDeEQsS0FBSyxDQUFDLG1CQUFtQixDQUFDO0lBQ3hCLDZCQUE2QixFQUFFLFVBQVUsR0FBRyxZQUFJLE9BQU8sTUFBQSxHQUFHLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQywwQ0FBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0YsOEJBQThCLEVBQUUsVUFBVSxHQUFHLFlBQUksT0FBTyxNQUFBLEdBQUcsQ0FBQyxTQUFTLENBQUMsK0JBQStCLENBQUMsMENBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JILDhCQUE4QixF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QUFDO29CQUVHLGFBQWEsR0FBRzt3QkFDcEIsa0JBQWtCLEVBQUUsSUFBSTt3QkFDeEIsWUFBWSxFQUFFLGNBQU0sT0FBQSxPQUFPLENBQUMsR0FBRyxFQUFYLENBQVc7d0JBQy9CLE9BQU8sRUFBRTs0QkFDUCxRQUFRLEVBQUUsS0FBSzt5QkFDaEI7cUJBQ0YsQ0FBQztvQkFFSSxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQy9CLHFCQUFNLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxhQUFhLGVBQUEsRUFBRSxDQUFDLEVBQUE7O29CQUFqRCxHQUFHLEdBQUcsU0FBMkM7b0JBRXZELE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO29CQUVqRCxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7Ozs7U0FDZCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvYXBpL3ByZWZldGNoLnNwZWMuYnJvd3Nlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICdMaWNlbnNlJyk7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8gaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi8uLi8uLi9jb25maWcnO1xuaW1wb3J0IG5vY2sgZnJvbSAnbm9jayc7XG5pbXBvcnQgeyBQcmVmZXRjaCwgUHJlZmV0Y2hFdmVudHMgfSBmcm9tICcuL3ByZWZldGNoJztcbmltcG9ydCB7IFNlc3Npb24sIFNlY3VyaXR5IH0gZnJvbSAnLi8uLi9jbGllbnQnO1xuaW1wb3J0IHsgRnNSZXF1ZXN0RXJyb3JDb2RlIH0gZnJvbSAnLi4vcmVxdWVzdCc7XG5cbmNvbnN0IHRlc3RBcGlLZXkgPSAnQUh2MjIyMjIyMjIyMjQ0NDQ0NHVleic7XG5jb25zdCB0ZXN0U2VjdXJpdHk6IFNlY3VyaXR5ID0ge1xuICBwb2xpY3k6ICdleGFtcGxlUG9saWN5JyxcbiAgc2lnbmF0dXJlOiAnZXhhbXBsZVNpZ25hdHVyZScsXG59O1xuXG5jb25zdCB0ZXN0VVJMID0ge1xuICBmaWxlQXBpVXJsOiAnJyxcbiAgdXBsb2FkQXBpVXJsOiAnaHR0cHM6Ly91cGxvYWR0ZXN0dXJsLWZzLmNvbScsXG4gIGNsb3VkQXBpVXJsOiAnJyxcbiAgY2RuVXJsOiAnJyxcbiAgcGlja2VyVXJsOiAnJyxcbiAgcHJvY2Vzc1VybDogJycsXG59O1xuXG5jb25zdCB0ZXN0U2Vzc2lvbjogU2Vzc2lvbiA9IHtcbiAgYXBpa2V5OiB0ZXN0QXBpS2V5LFxuICB1cmxzOiB0ZXN0VVJMLFxufTtcblxubGV0IHNjb3BlID0gbm9jayh0ZXN0VVJMLnVwbG9hZEFwaVVybCk7XG5cbi8vIG1vY2sgY29ycyByZXNwb25zZXMgZm9yIGFsbCByZXF1ZXN0IGZvciBicm93c2VyIHRlc3RzXG5zY29wZS5kZWZhdWx0UmVwbHlIZWFkZXJzKHtcbiAgJ2FjY2Vzcy1jb250cm9sLWFsbG93LW9yaWdpbic6IGZ1bmN0aW9uIChyZXEpIHsgcmV0dXJuIHJlcS5nZXRIZWFkZXIoJ29yaWdpbicpPy50b1N0cmluZygpOyB9LFxuICAnYWNjZXNzLWNvbnRyb2wtYWxsb3ctbWV0aG9kcyc6IGZ1bmN0aW9uIChyZXEpIHsgcmV0dXJuIHJlcS5nZXRIZWFkZXIoJ2FjY2Vzcy1jb250cm9sLXJlcXVlc3QtbWV0aG9kJyk/LnRvU3RyaW5nKCk7IH0sXG4gICdhY2Nlc3MtY29udHJvbC1hbGxvdy1oZWFkZXJzJzogZnVuY3Rpb24gKHJlcSkgeyByZXR1cm4gcmVxLmdldEhlYWRlcignYWNjZXNzLWNvbnRyb2wtcmVxdWVzdC1oZWFkZXJzJyk/LnRvU3RyaW5nKCk7IH0sXG4gICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG59KTtcblxuZGVzY3JpYmUoJ1ByZWZldGNoJywgKCkgPT4ge1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBzY29wZVxuICAgIC5vcHRpb25zKC8uKi8pXG4gICAgLnJlcGx5KDIwNCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgbWFrZSBjb3JyZWN0IHJlcXVlc3QgdG8gcHJlZmV0Y2ggYW5kIHJldHVybiBuZXcgY29uZmlnJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHNlc3Npb25Db3B5ID0gIHsgLi4udGVzdFNlc3Npb24gfTtcblxuICAgIGNvbnN0IHNlcnZlclJlc3BvbnNlID0ge1xuICAgICAgYmxvY2tlZDogZmFsc2UsXG4gICAgICBzZXR0aW5nczoge1xuICAgICAgICBjdXN0b21zb3VyY2U6IGZhbHNlLFxuICAgICAgICBpbmFwcF9icm93c2VyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICB0cmFuc2Zvcm1zX3VpOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB1cGRhdGVkX2NvbmZpZzoge1xuICAgICAgICBmcm9tU291cmNlczogWydnb29nbGVkcml2ZSddLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgc2NvcGUucG9zdCgnL3ByZWZldGNoJykub25jZSgpLnJlcGx5KDIwMCwgc2VydmVyUmVzcG9uc2UpO1xuXG4gICAgY29uc3QgdGVzdCA9ICgpID0+IDI7XG5cbiAgICBjb25zdCBwcmVmZXRjaCA9IG5ldyBQcmVmZXRjaChzZXNzaW9uQ29weSk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgcHJlZmV0Y2guZ2V0Q29uZmlnKHtcbiAgICAgIHBpY2tlck9wdGlvbnM6IHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBvbkZpbGVTZWxlY3RlZDogdGVzdCxcbiAgICAgICAgZnJvbVNvdXJjZXM6IFsnZ29vZ2xlZHJpdmUnLCAndGVzdCddLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGV4cGVjdChyZXMucGlja2VyT3B0aW9ucy5vbkZpbGVTZWxlY3RlZCkudG9FcXVhbCh0ZXN0KTtcbiAgICBleHBlY3QocmVzLnBpY2tlck9wdGlvbnMuZnJvbVNvdXJjZXMpLnRvRXF1YWwoWydnb29nbGVkcml2ZSddKTtcblxuICAgIHNjb3BlLmRvbmUoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBzZXQgY29ycmVjdCBwYXJhbXMgdG8gc2Vzc2lvbnMgKHByZWZldGNoKScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBzZXNzaW9uQ29weSA9ICB7IC4uLnRlc3RTZXNzaW9uIH07XG4gICAgY29uc3Qgc2VydmVyUmVzcG9uc2UgPSB7XG4gICAgICBibG9ja2VkOiBmYWxzZSxcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIGN1c3RvbXNvdXJjZTogZmFsc2UsXG4gICAgICAgIGluYXBwX2Jyb3dzZXI6IHRydWUsXG4gICAgICB9LFxuICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgdHJhbnNmb3Jtc191aTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICB1cGRhdGVkX2NvbmZpZzoge1xuICAgICAgICBmcm9tU291cmNlczogWydnb29nbGVkcml2ZSddLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgc2NvcGUucG9zdCgnL3ByZWZldGNoJykub25jZSgpLnJlcGx5KDIwMCwgc2VydmVyUmVzcG9uc2UpO1xuXG4gICAgY29uc3QgcHJlZmV0Y2ggPSBuZXcgUHJlZmV0Y2goc2Vzc2lvbkNvcHkpO1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHByZWZldGNoLmdldENvbmZpZyh7XG4gICAgICBwaWNrZXJPcHRpb25zOiB7XG4gICAgICAgIGZyb21Tb3VyY2VzOiBbJ2ZhY2Vib29rJywgJ3Rlc3QnXSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBleHBlY3Qoc2Vzc2lvbkNvcHkucHJlZmV0Y2gpLnRvRXF1YWwoZXhwZWN0LmFueShPYmplY3QpKTtcbiAgICBleHBlY3Qoc2Vzc2lvbkNvcHkucHJlZmV0Y2guc2V0dGluZ3MuaW5hcHBfYnJvd3NlcikudG9FcXVhbCh0cnVlKTtcbiAgICBleHBlY3Qoc2Vzc2lvbkNvcHkucHJlZmV0Y2gucGVybWlzc2lvbnMudHJhbnNmb3Jtc191aSkudG9FcXVhbCh0cnVlKTtcblxuICAgIHNjb3BlLmRvbmUoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciB3aGVuIHJlc3BvbnNlIGNvZGUgaXMgb3RoZXIgdGhhbnQgMjAwJywgYXN5bmMgKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzZXNzaW9uQ29weSA9ICB7IC4uLnRlc3RTZXNzaW9uIH07XG4gICAgICBjb25zdCBwcmVmZXRjaCA9IG5ldyBQcmVmZXRjaChzZXNzaW9uQ29weSk7XG5cbiAgICAgIHNjb3BlLnBvc3QoJy9wcmVmZXRjaCcpLm9uY2UoKS5yZXBseSg1MDApO1xuXG4gICAgICBhd2FpdCBwcmVmZXRjaC5nZXRDb25maWcoe30pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgZXhwZWN0KGVyci5jb2RlKS50b0VxdWFsKEZzUmVxdWVzdEVycm9yQ29kZS5TRVJWRVIpO1xuICAgIH1cblxuICAgIHNjb3BlLmRvbmUoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBhZGQgc2VjdXJpdHkgdG8gcmVxdWVzdCB3aGVuIHByb3ZpZGVkJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHNlc3Npb25Db3B5ID0gIHtcbiAgICAgIC4uLnRlc3RTZXNzaW9uLFxuICAgICAgc2lnbmF0dXJlOiB0ZXN0U2VjdXJpdHkuc2lnbmF0dXJlLFxuICAgICAgcG9saWN5OiB0ZXN0U2VjdXJpdHkucG9saWN5LFxuICAgIH07XG5cbiAgICBjb25zdCBtb2NrUHJlZiA9IGplc3QuZm4oKSAubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+ICh7fSkpO1xuXG4gICAgc2NvcGUucG9zdCgnL3ByZWZldGNoJykub25jZSgpLnJlcGx5KDIwMCwgKF8sIGRhdGEpID0+IG1vY2tQcmVmKGRhdGEpKTtcblxuICAgIGNvbnN0IHByZWZldGNoID0gbmV3IFByZWZldGNoKHNlc3Npb25Db3B5KTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCBwcmVmZXRjaC5nZXRDb25maWcoe1xuICAgICAgcGlja2VyT3B0aW9uczoge30sXG4gICAgfSk7XG5cbiAgICBleHBlY3QobW9ja1ByZWYpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHtcbiAgICAgIGFwaWtleTogdGVzdEFwaUtleSxcbiAgICAgIHNldHRpbmdzOiBbJ2luYXBwX2Jyb3dzZXInXSxcbiAgICAgIHNlY3VyaXR5OiB7XG4gICAgICAgIHNpZ25hdHVyZTogdGVzdFNlY3VyaXR5LnNpZ25hdHVyZSxcbiAgICAgICAgcG9saWN5OiB0ZXN0U2VjdXJpdHkucG9saWN5LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHNjb3BlLmRvbmUoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBhbHdheXMgYWRkIGluYXBwIGJyb3dzZXIgc2V0dGluZyB0byByZXF1ZXN0JywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG1vY2tQcmVmID0gamVzdC5mbigpIC5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gKHt9KSk7XG4gICAgc2NvcGUucG9zdCgnL3ByZWZldGNoJykub25jZSgpLnJlcGx5KDIwMCwgKF8sIGRhdGEpID0+IG1vY2tQcmVmKGRhdGEpKTtcblxuICAgIGNvbnN0IHByZWZldGNoID0gbmV3IFByZWZldGNoKHsgLi4udGVzdFNlc3Npb24gfSk7XG4gICAgYXdhaXQgcHJlZmV0Y2guZ2V0Q29uZmlnKHt9KTtcblxuICAgIGV4cGVjdChtb2NrUHJlZikudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgYXBpa2V5OiB0ZXN0QXBpS2V5LFxuICAgICAgc2V0dGluZ3M6IFsnaW5hcHBfYnJvd3NlciddLFxuICAgIH0pO1xuXG4gICAgc2NvcGUuZG9uZSgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGFsd2F5cyBhZGQgaW5hcHAgYnJvd3NlciBzZXR0aW5nIHRvIHJlcXVlc3QgZXZlbnQgaWYgc29tZSBzZXR0aW5ncyBhcmUgcHJvdmlkZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbW9ja1ByZWYgPSBqZXN0LmZuKCkgLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiAoe30pKTtcbiAgICBzY29wZS5wb3N0KCcvcHJlZmV0Y2gnKS5vbmNlKCkucmVwbHkoMjAwLCAoXywgZGF0YSkgPT4gbW9ja1ByZWYoZGF0YSkpO1xuXG4gICAgY29uc3QgcHJlZmV0Y2ggPSBuZXcgUHJlZmV0Y2goeyAuLi50ZXN0U2Vzc2lvbiB9KTtcbiAgICBhd2FpdCBwcmVmZXRjaC5nZXRDb25maWcoeyBzZXR0aW5nczogWydpbmFwcF9icm93c2VyJ10gfSk7XG5cbiAgICBleHBlY3QobW9ja1ByZWYpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHtcbiAgICAgIGFwaWtleTogdGVzdEFwaUtleSxcbiAgICAgIHNldHRpbmdzOiBbJ2luYXBwX2Jyb3dzZXInXSxcbiAgICB9KTtcblxuICAgIHNjb3BlLmRvbmUoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gb2xkIGNvbmZpZyB3aGVuIHVwZGF0ZWRfY29uZmlnIGlzIG1pc3NpbmcgaW4gcmVzcG9uc2UnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc2Vzc2lvbkNvcHkgPSAge1xuICAgICAgLi4udGVzdFNlc3Npb24sXG4gICAgICBzaWduYXR1cmU6IHRlc3RTZWN1cml0eS5zaWduYXR1cmUsXG4gICAgICBwb2xpY3k6IHRlc3RTZWN1cml0eS5wb2xpY3ksXG4gICAgfTtcblxuICAgIHNjb3BlLnBvc3QoJy9wcmVmZXRjaCcpLm9uY2UoKS5yZXBseSgyMDAsIHtcbiAgICAgIGJsb2NrZWQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICBjb25zdCBwaWNrZXJPcHRpb25zID0ge1xuICAgICAgdXBsb2FkSW5CYWNrZ3JvdW5kOiB0cnVlLFxuICAgICAgb25VcGxvYWREb25lOiAoKSA9PiBjb25zb2xlLmxvZyxcbiAgICAgIHN0b3JlVG86IHtcbiAgICAgICAgbG9jYXRpb246ICdhc2QnLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgY29uc3QgcHJlZmV0Y2ggPSBuZXcgUHJlZmV0Y2goc2Vzc2lvbkNvcHkpO1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHByZWZldGNoLmdldENvbmZpZyh7IHBpY2tlck9wdGlvbnMgfSk7XG5cbiAgICBleHBlY3QocmVzLnBpY2tlck9wdGlvbnMpLnRvRXF1YWwocGlja2VyT3B0aW9ucyk7XG5cbiAgICBzY29wZS5kb25lKCk7XG4gIH0pO1xufSk7XG4iXX0=

@@ -36,7 +36,7 @@ /*

var baseUrl = [session.urls.cdnUrl];
var css = options.css && encodeURIComponent("\"" + options.css + "\"");
var previewTask = css ? "preview=css:" + css : 'preview';
var css = options.css && encodeURIComponent("\"".concat(options.css, "\""));
var previewTask = css ? "preview=css:".concat(css) : 'preview';
// @todo move to utils?
if (handle.indexOf('src:') !== -1) {
baseUrl.push(session.apikey + "/" + previewTask);
baseUrl.push("".concat(session.apikey, "/").concat(previewTask));
}

@@ -47,3 +47,3 @@ else {

if (hasSecurity) {
baseUrl.push("security=policy:" + policy + ",signature:" + signature);
baseUrl.push("security=policy:".concat(policy, ",signature:").concat(signature));
}

@@ -79,3 +79,3 @@ baseUrl.push(handle);

if (!domElement) {
throw new Error("DOM Element with id \"" + id + "\" not found.");
throw new Error("DOM Element with id \"".concat(id, "\" not found."));
}

@@ -87,2 +87,2 @@ return domElement.appendChild(iframe);

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3ByZXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUdILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQWM3RTs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxJQUFNLE1BQU0sR0FBRyxVQUNwQixPQUFnQixFQUNoQixNQUFjLEVBQ2QsSUFBVSxFQUNWLFFBQW1CO0lBRW5CLElBQU0sT0FBTyxnQkFBUSxJQUFJLENBQUUsQ0FBQztJQUM1QixJQUFNLE1BQU0sR0FBRyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQzdELElBQU0sU0FBUyxHQUFHLFFBQVEsSUFBSSxRQUFRLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDdEUsSUFBTSxXQUFXLEdBQUcsU0FBUyxJQUFJLE1BQU0sQ0FBQztJQUN4QyxJQUFNLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsSUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxPQUFJLE9BQU8sQ0FBQyxHQUFHLE9BQUcsQ0FBQyxDQUFDO0lBQ2xFLElBQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsaUJBQWUsR0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFFM0QsdUJBQXVCO0lBQ3ZCLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFJLE9BQU8sQ0FBQyxNQUFNLFNBQUksV0FBYSxDQUFDLENBQUM7S0FDbEQ7U0FBTTtRQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDM0I7SUFDRCxJQUFJLFdBQVcsRUFBRTtRQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQW1CLE1BQU0sbUJBQWMsU0FBVyxDQUFDLENBQUM7S0FDbEU7SUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLElBQU0sT0FBTyxHQUFHLFVBQUMsT0FBZ0IsRUFBRSxNQUFlLEVBQUUsSUFBcUI7SUFDOUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7UUFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtRUFBbUUsQ0FBQyxDQUFDO0tBQ3RGO0lBRUQsSUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFNUQsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUM3QixNQUFNLElBQUksY0FBYyxDQUFDLHdCQUF3QixFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDdkc7SUFFRCxJQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLElBQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRTdDLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxFQUFFLEVBQUU7UUFDekIsSUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUN0QixJQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELElBQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFL0MsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDakIsTUFBTSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDdEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFFdkIsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQXdCLEVBQUUsa0JBQWMsQ0FBQyxDQUFDO1NBQzNEO1FBQ0QsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ3ZDO0lBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNsQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS9wcmV2aWV3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgU2VjdXJpdHksIFNlc3Npb24gfSBmcm9tICcuLi9jbGllbnQnO1xuaW1wb3J0IHsgcmVtb3ZlRW1wdHkgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBnZXRWYWxpZGF0b3IsIFByZXZpZXdQYXJhbXNTY2hlbWEgfSBmcm9tICcuLy4uLy4uL3NjaGVtYSc7XG5pbXBvcnQgeyBGaWxlc3RhY2tFcnJvciwgRmlsZXN0YWNrRXJyb3JUeXBlIH0gZnJvbSAnLi8uLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByZXZpZXdPcHRpb25zIHtcbiAgLyoqXG4gICAqIElkIGZvciBET00gZWxlbWVudCB0byBlbWJlZCBwcmV2aWV3IGludG8uXG4gICAqIE9taXQgdGhpcyB0byBvcGVuIHRoZSBwcmV2aWV3IGluIGEgbmV3IHRhYlxuICAgKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFVSTCB0byBjdXN0b20gQ1NTXG4gICAqL1xuICBjc3M/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmV0dXJucyBmaWxlIHByZXZpZXcgdXJsXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBzZXNzaW9uXG4gKiBAcGFyYW0gaGFuZGxlXG4gKiBAcGFyYW0gb3B0c1xuICogQHBhcmFtIHNlY3VyaXR5XG4gKi9cbmV4cG9ydCBjb25zdCBnZXRVcmwgPSAoXG4gIHNlc3Npb246IFNlc3Npb24sXG4gIGhhbmRsZTogc3RyaW5nLFxuICBvcHRzPzogYW55LFxuICBzZWN1cml0eT86IFNlY3VyaXR5XG4pID0+IHtcbiAgY29uc3Qgb3B0aW9ucyA9IHsgLi4ub3B0cyB9O1xuICBjb25zdCBwb2xpY3kgPSBzZWN1cml0eSAmJiBzZWN1cml0eS5wb2xpY3kgfHwgc2Vzc2lvbi5wb2xpY3k7XG4gIGNvbnN0IHNpZ25hdHVyZSA9IHNlY3VyaXR5ICYmIHNlY3VyaXR5LnNpZ25hdHVyZSB8fCBzZXNzaW9uLnNpZ25hdHVyZTtcbiAgY29uc3QgaGFzU2VjdXJpdHkgPSBzaWduYXR1cmUgJiYgcG9saWN5O1xuICBjb25zdCBiYXNlVXJsID0gW3Nlc3Npb24udXJscy5jZG5VcmxdO1xuICBjb25zdCBjc3MgPSBvcHRpb25zLmNzcyAmJiBlbmNvZGVVUklDb21wb25lbnQoYFwiJHtvcHRpb25zLmNzc31cImApO1xuICBjb25zdCBwcmV2aWV3VGFzayA9IGNzcyA/IGBwcmV2aWV3PWNzczoke2Nzc31gIDogJ3ByZXZpZXcnO1xuXG4gIC8vIEB0b2RvIG1vdmUgdG8gdXRpbHM/XG4gIGlmIChoYW5kbGUuaW5kZXhPZignc3JjOicpICE9PSAtMSkge1xuICAgIGJhc2VVcmwucHVzaChgJHtzZXNzaW9uLmFwaWtleX0vJHtwcmV2aWV3VGFza31gKTtcbiAgfSBlbHNlIHtcbiAgICBiYXNlVXJsLnB1c2gocHJldmlld1Rhc2spO1xuICB9XG4gIGlmIChoYXNTZWN1cml0eSkge1xuICAgIGJhc2VVcmwucHVzaChgc2VjdXJpdHk9cG9saWN5OiR7cG9saWN5fSxzaWduYXR1cmU6JHtzaWduYXR1cmV9YCk7XG4gIH1cblxuICBiYXNlVXJsLnB1c2goaGFuZGxlKTtcbiAgcmV0dXJuIGJhc2VVcmwuam9pbignLycpO1xufTtcblxuLyoqXG4gKiBBcHBlbmRzIGltYWdlIHByZXZpZXcgaW50byBwYWdlXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBzZXNzaW9uXG4gKiBAcGFyYW0gaGFuZGxlXG4gKiBAcGFyYW0gb3B0c1xuICovXG5leHBvcnQgY29uc3QgcHJldmlldyA9IChzZXNzaW9uOiBTZXNzaW9uLCBoYW5kbGU/OiBzdHJpbmcsIG9wdHM/OiBQcmV2aWV3T3B0aW9ucykgPT4ge1xuICBpZiAoIWhhbmRsZSB8fCB0eXBlb2YgaGFuZGxlICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcignQSB2YWxpZCBGaWxlc3RhY2sgaGFuZGxlIG9yIHN0b3JhZ2UgYWxpYXMgaXMgcmVxdWlyZWQgZm9yIHByZXZpZXcnKTtcbiAgfVxuXG4gIGNvbnN0IHZhbGlkYXRlUmVzID0gZ2V0VmFsaWRhdG9yKFByZXZpZXdQYXJhbXNTY2hlbWEpKG9wdHMpO1xuXG4gIGlmICh2YWxpZGF0ZVJlcy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKGBJbnZhbGlkIHByZXZpZXcgcGFyYW1zYCwgdmFsaWRhdGVSZXMuZXJyb3JzLCBGaWxlc3RhY2tFcnJvclR5cGUuVkFMSURBVElPTik7XG4gIH1cblxuICBjb25zdCBvcHRpb25zID0gcmVtb3ZlRW1wdHkob3B0cyB8fCB7fSk7XG4gIGNvbnN0IHVybCA9IGdldFVybChzZXNzaW9uLCBoYW5kbGUsIG9wdGlvbnMpO1xuXG4gIGlmIChvcHRpb25zICYmIG9wdGlvbnMuaWQpIHtcbiAgICBjb25zdCBpZCA9IG9wdGlvbnMuaWQ7XG4gICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7XG4gICAgY29uc3QgZG9tRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcblxuICAgIGlmcmFtZS5zcmMgPSB1cmw7XG4gICAgaWZyYW1lLndpZHRoID0gJzEwMCUnO1xuICAgIGlmcmFtZS5oZWlnaHQgPSAnMTAwJSc7XG5cbiAgICBpZiAoIWRvbUVsZW1lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRE9NIEVsZW1lbnQgd2l0aCBpZCBcIiR7aWR9XCIgbm90IGZvdW5kLmApO1xuICAgIH1cbiAgICByZXR1cm4gZG9tRWxlbWVudC5hcHBlbmRDaGlsZChpZnJhbWUpO1xuICB9XG4gIHJldHVybiB3aW5kb3cub3Blbih1cmwsIGhhbmRsZSk7XG59O1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3ByZXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUdILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQWM3RTs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxJQUFNLE1BQU0sR0FBRyxVQUNwQixPQUFnQixFQUNoQixNQUFjLEVBQ2QsSUFBVSxFQUNWLFFBQW1CO0lBRW5CLElBQU0sT0FBTyxnQkFBUSxJQUFJLENBQUUsQ0FBQztJQUM1QixJQUFNLE1BQU0sR0FBRyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQzdELElBQU0sU0FBUyxHQUFHLFFBQVEsSUFBSSxRQUFRLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDdEUsSUFBTSxXQUFXLEdBQUcsU0FBUyxJQUFJLE1BQU0sQ0FBQztJQUN4QyxJQUFNLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsSUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxZQUFJLE9BQU8sQ0FBQyxHQUFHLE9BQUcsQ0FBQyxDQUFDO0lBQ2xFLElBQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsc0JBQWUsR0FBRyxDQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUUzRCx1QkFBdUI7SUFDdkIsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQ2pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBRyxPQUFPLENBQUMsTUFBTSxjQUFJLFdBQVcsQ0FBRSxDQUFDLENBQUM7S0FDbEQ7U0FBTTtRQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDM0I7SUFDRCxJQUFJLFdBQVcsRUFBRTtRQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsMEJBQW1CLE1BQU0sd0JBQWMsU0FBUyxDQUFFLENBQUMsQ0FBQztLQUNsRTtJQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckIsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsSUFBTSxPQUFPLEdBQUcsVUFBQyxPQUFnQixFQUFFLE1BQWUsRUFBRSxJQUFxQjtJQUM5RSxJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtRQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLG1FQUFtRSxDQUFDLENBQUM7S0FDdEY7SUFFRCxJQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU1RCxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQzdCLE1BQU0sSUFBSSxjQUFjLENBQUMsd0JBQXdCLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUN2RztJQUVELElBQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7SUFDeEMsSUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFN0MsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRTtRQUN6QixJQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3RCLElBQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsSUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUvQyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNqQixNQUFNLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUN0QixNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUV2QixJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBd0IsRUFBRSxrQkFBYyxDQUFDLENBQUM7U0FDM0Q7UUFDRCxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDdkM7SUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvYXBpL3ByZXZpZXcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBTZWN1cml0eSwgU2Vzc2lvbiB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgeyByZW1vdmVFbXB0eSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGdldFZhbGlkYXRvciwgUHJldmlld1BhcmFtc1NjaGVtYSB9IGZyb20gJy4vLi4vLi4vc2NoZW1hJztcbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yLCBGaWxlc3RhY2tFcnJvclR5cGUgfSBmcm9tICcuLy4uLy4uL2ZpbGVzdGFja19lcnJvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJldmlld09wdGlvbnMge1xuICAvKipcbiAgICogSWQgZm9yIERPTSBlbGVtZW50IHRvIGVtYmVkIHByZXZpZXcgaW50by5cbiAgICogT21pdCB0aGlzIHRvIG9wZW4gdGhlIHByZXZpZXcgaW4gYSBuZXcgdGFiXG4gICAqL1xuICBpZDogc3RyaW5nO1xuICAvKipcbiAgICogVVJMIHRvIGN1c3RvbSBDU1NcbiAgICovXG4gIGNzcz86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGZpbGUgcHJldmlldyB1cmxcbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHNlc3Npb25cbiAqIEBwYXJhbSBoYW5kbGVcbiAqIEBwYXJhbSBvcHRzXG4gKiBAcGFyYW0gc2VjdXJpdHlcbiAqL1xuZXhwb3J0IGNvbnN0IGdldFVybCA9IChcbiAgc2Vzc2lvbjogU2Vzc2lvbixcbiAgaGFuZGxlOiBzdHJpbmcsXG4gIG9wdHM/OiBhbnksXG4gIHNlY3VyaXR5PzogU2VjdXJpdHlcbikgPT4ge1xuICBjb25zdCBvcHRpb25zID0geyAuLi5vcHRzIH07XG4gIGNvbnN0IHBvbGljeSA9IHNlY3VyaXR5ICYmIHNlY3VyaXR5LnBvbGljeSB8fCBzZXNzaW9uLnBvbGljeTtcbiAgY29uc3Qgc2lnbmF0dXJlID0gc2VjdXJpdHkgJiYgc2VjdXJpdHkuc2lnbmF0dXJlIHx8IHNlc3Npb24uc2lnbmF0dXJlO1xuICBjb25zdCBoYXNTZWN1cml0eSA9IHNpZ25hdHVyZSAmJiBwb2xpY3k7XG4gIGNvbnN0IGJhc2VVcmwgPSBbc2Vzc2lvbi51cmxzLmNkblVybF07XG4gIGNvbnN0IGNzcyA9IG9wdGlvbnMuY3NzICYmIGVuY29kZVVSSUNvbXBvbmVudChgXCIke29wdGlvbnMuY3NzfVwiYCk7XG4gIGNvbnN0IHByZXZpZXdUYXNrID0gY3NzID8gYHByZXZpZXc9Y3NzOiR7Y3NzfWAgOiAncHJldmlldyc7XG5cbiAgLy8gQHRvZG8gbW92ZSB0byB1dGlscz9cbiAgaWYgKGhhbmRsZS5pbmRleE9mKCdzcmM6JykgIT09IC0xKSB7XG4gICAgYmFzZVVybC5wdXNoKGAke3Nlc3Npb24uYXBpa2V5fS8ke3ByZXZpZXdUYXNrfWApO1xuICB9IGVsc2Uge1xuICAgIGJhc2VVcmwucHVzaChwcmV2aWV3VGFzayk7XG4gIH1cbiAgaWYgKGhhc1NlY3VyaXR5KSB7XG4gICAgYmFzZVVybC5wdXNoKGBzZWN1cml0eT1wb2xpY3k6JHtwb2xpY3l9LHNpZ25hdHVyZToke3NpZ25hdHVyZX1gKTtcbiAgfVxuXG4gIGJhc2VVcmwucHVzaChoYW5kbGUpO1xuICByZXR1cm4gYmFzZVVybC5qb2luKCcvJyk7XG59O1xuXG4vKipcbiAqIEFwcGVuZHMgaW1hZ2UgcHJldmlldyBpbnRvIHBhZ2VcbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHNlc3Npb25cbiAqIEBwYXJhbSBoYW5kbGVcbiAqIEBwYXJhbSBvcHRzXG4gKi9cbmV4cG9ydCBjb25zdCBwcmV2aWV3ID0gKHNlc3Npb246IFNlc3Npb24sIGhhbmRsZT86IHN0cmluZywgb3B0cz86IFByZXZpZXdPcHRpb25zKSA9PiB7XG4gIGlmICghaGFuZGxlIHx8IHR5cGVvZiBoYW5kbGUgIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdBIHZhbGlkIEZpbGVzdGFjayBoYW5kbGUgb3Igc3RvcmFnZSBhbGlhcyBpcyByZXF1aXJlZCBmb3IgcHJldmlldycpO1xuICB9XG5cbiAgY29uc3QgdmFsaWRhdGVSZXMgPSBnZXRWYWxpZGF0b3IoUHJldmlld1BhcmFtc1NjaGVtYSkob3B0cyk7XG5cbiAgaWYgKHZhbGlkYXRlUmVzLmVycm9ycy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoYEludmFsaWQgcHJldmlldyBwYXJhbXNgLCB2YWxpZGF0ZVJlcy5lcnJvcnMsIEZpbGVzdGFja0Vycm9yVHlwZS5WQUxJREFUSU9OKTtcbiAgfVxuXG4gIGNvbnN0IG9wdGlvbnMgPSByZW1vdmVFbXB0eShvcHRzIHx8IHt9KTtcbiAgY29uc3QgdXJsID0gZ2V0VXJsKHNlc3Npb24sIGhhbmRsZSwgb3B0aW9ucyk7XG5cbiAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5pZCkge1xuICAgIGNvbnN0IGlkID0gb3B0aW9ucy5pZDtcbiAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTtcbiAgICBjb25zdCBkb21FbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xuXG4gICAgaWZyYW1lLnNyYyA9IHVybDtcbiAgICBpZnJhbWUud2lkdGggPSAnMTAwJSc7XG4gICAgaWZyYW1lLmhlaWdodCA9ICcxMDAlJztcblxuICAgIGlmICghZG9tRWxlbWVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBET00gRWxlbWVudCB3aXRoIGlkIFwiJHtpZH1cIiBub3QgZm91bmQuYCk7XG4gICAgfVxuICAgIHJldHVybiBkb21FbGVtZW50LmFwcGVuZENoaWxkKGlmcmFtZSk7XG4gIH1cbiAgcmV0dXJuIHdpbmRvdy5vcGVuKHVybCwgaGFuZGxlKTtcbn07XG4iXX0=

@@ -26,9 +26,10 @@ /*

beforeEach(function () {
spyOn(window, 'open').and.returnValue(true);
spyOn(document, 'createElement').and.returnValue({
jest.spyOn(window, 'open').mockImplementation();
var createdElement = {
src: '',
width: '',
height: '',
});
spyOn(document, 'getElementById').and.callFake(function (id) {
};
jest.spyOn(document, 'createElement').mockReturnValue(createdElement);
jest.spyOn(document, 'getElementById').mockImplementation(function (id) {
var obj;

@@ -102,2 +103,2 @@ if (id === 'testId') {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3ByZXZpZXcuc3BlYy5icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxJQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFFbEMsSUFBTSxjQUFjLEdBQUc7SUFDckIsTUFBTSxFQUFFLGNBQWM7SUFDdEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUM7Q0FDckMsQ0FBQztBQUVGLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRTtJQUM3QixVQUFVLENBQUM7UUFDVCxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDO1lBQy9DLEdBQUcsRUFBRSxFQUFFO1lBQ1AsS0FBSyxFQUFFLEVBQUU7WUFDVCxNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUMsQ0FBQztRQUVILEtBQUssQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQUMsRUFBRTtZQUNoRCxJQUFJLEdBQUcsQ0FBQztZQUVSLElBQUksRUFBRSxLQUFLLFFBQVEsRUFBRTtnQkFDbkIsR0FBRyxHQUFHLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxDQUFDO2FBQ3hDO1lBRUQsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFNBQVMsRUFBRTtRQUNsQixFQUFF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LFNBQVMsRUFBRSxrRUFBa0U7YUFDOUUsQ0FBQztZQUVGLElBQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNqRSxJQUFNLFFBQVEsR0FBRyw4UEFBOFAsQ0FBQztZQUNoUixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvYXBpL3ByZXZpZXcuc3BlYy5icm93c2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgJ0xpY2Vuc2UnKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBwcmV2aWV3LCBnZXRVcmwgfSBmcm9tICcuL3ByZXZpZXcnO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi8uLi8uLi9jb25maWcnO1xuXG5jb25zdCBtb2NrQXBwZW5kQ2hpbGQgPSBqZXN0LmZuKCk7XG5cbmNvbnN0IGRlZmF1bHRTZXNzaW9uID0ge1xuICBhcGlrZXk6ICdURVNUX0FQSV9LRVknLFxuICB1cmxzOiBPYmplY3QuYXNzaWduKHt9LCBjb25maWcudXJscyksXG59O1xuXG5kZXNjcmliZSgnYXBpOnVwbG9hZDpwcmV2aWV3JywgKCkgPT4ge1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBzcHlPbih3aW5kb3csICdvcGVuJykuYW5kLnJldHVyblZhbHVlKHRydWUpO1xuXG4gICAgc3B5T24oZG9jdW1lbnQsICdjcmVhdGVFbGVtZW50JykuYW5kLnJldHVyblZhbHVlKHtcbiAgICAgIHNyYzogJycsXG4gICAgICB3aWR0aDogJycsXG4gICAgICBoZWlnaHQ6ICcnLFxuICAgIH0pO1xuXG4gICAgc3B5T24oZG9jdW1lbnQsICdnZXRFbGVtZW50QnlJZCcpLmFuZC5jYWxsRmFrZSgoaWQpID0+IHtcbiAgICAgIGxldCBvYmo7XG5cbiAgICAgIGlmIChpZCA9PT0gJ3Rlc3RJZCcpIHtcbiAgICAgICAgb2JqID0geyBhcHBlbmRDaGlsZDogbW9ja0FwcGVuZENoaWxkIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvYmo7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdwcmV2aWV3JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgb3BlbiBhIHByb3BlciB1cmwgd2l0aCBwcmV2aWV3IG9mIGEgZmlsZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZSA9ICd0ZXN0SGFuZGxlJztcbiAgICAgIHByZXZpZXcoZGVmYXVsdFNlc3Npb24sIGhhbmRsZSk7XG4gICAgICBleHBlY3Qod2luZG93Lm9wZW4pLnRvQmVDYWxsZWRUaW1lcygxKTtcbiAgICAgIGV4cGVjdCh3aW5kb3cub3BlbikudG9CZUNhbGxlZFdpdGgoJ2h0dHBzOi8vY2RuLmZpbGVzdGFja2NvbnRlbnQuY29tL3ByZXZpZXcvdGVzdEhhbmRsZScsICd0ZXN0SGFuZGxlJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG9wZW4gYSBwcm9wZXIgdXJsIHdpdGggcHJldmlldyBvZiBhIGZpbGUgd2l0aCBzcmMgaGFuZGxlJywgKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlID0gJ3NyYzovL3Rlc3QxMjMvdGVzdC5qcGcnO1xuICAgICAgcHJldmlldyhkZWZhdWx0U2Vzc2lvbiwgaGFuZGxlKTtcblxuICAgICAgZXhwZWN0KHdpbmRvdy5vcGVuKS50b0JlQ2FsbGVkVGltZXMoMSk7XG4gICAgICBleHBlY3Qod2luZG93Lm9wZW4pLnRvQmVDYWxsZWRXaXRoKCdodHRwczovL2Nkbi5maWxlc3RhY2tjb250ZW50LmNvbS9URVNUX0FQSV9LRVkvcHJldmlldy9zcmM6Ly90ZXN0MTIzL3Rlc3QuanBnJywgJ3NyYzovL3Rlc3QxMjMvdGVzdC5qcGcnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgb3BlbiBpZnJhbWUgaW5zaWRlIHByb3ZpZGVkIG9wdGlvbnMuaWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGUgPSAnc3JjOi8vdGVzdDEyMy90ZXN0LmpwZyc7XG4gICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICBpZDogJ3Rlc3RJZCcsXG4gICAgICAgIGNzczogJ2N1c3RvbUNzcycsXG4gICAgICB9O1xuXG4gICAgICBwcmV2aWV3KGRlZmF1bHRTZXNzaW9uLCBoYW5kbGUsIG9wdGlvbnMpO1xuICAgICAgY29uc3QgZXhwZWN0ZWQgPSB7ICdoZWlnaHQnOiAnMTAwJScsICd3aWR0aCc6ICcxMDAlJywgJ3NyYyc6ICdodHRwczovL2Nkbi5maWxlc3RhY2tjb250ZW50LmNvbS9URVNUX0FQSV9LRVkvcHJldmlldz1jc3M6JTIyY3VzdG9tQ3NzJTIyL3NyYzovL3Rlc3QxMjMvdGVzdC5qcGcnIH07XG4gICAgICBleHBlY3QobW9ja0FwcGVuZENoaWxkKS50b0JlQ2FsbGVkVGltZXMoMSk7XG4gICAgICBleHBlY3QobW9ja0FwcGVuZENoaWxkKS50b0JlQ2FsbGVkV2l0aChleHBlY3RlZCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIHdoZW4gaGFuZGxlIGlzIG5vdCBwcm92aWRlZCcsICgpID0+IHtcbiAgICAgIGV4cGVjdCgoKSA9PiB7IHByZXZpZXcoZGVmYXVsdFNlc3Npb24pOyB9KS50b1Rocm93KCdBIHZhbGlkIEZpbGVzdGFjayBoYW5kbGUgb3Igc3RvcmFnZSBhbGlhcyBpcyByZXF1aXJlZCBmb3IgcHJldmlldycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciB3aGVuIGlkIHByb3ZpZGVkIGFuZCBkb20gZWxlbWVudCBub3QgZm91bmQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGUgPSAnc3JjOi8vdGVzdDEyMy90ZXN0LmpwZyc7XG4gICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICBpZDogJ3Rlc3RJZDInLFxuICAgICAgfTtcbiAgICAgIGV4cGVjdCgoKSA9PiB7IHByZXZpZXcoZGVmYXVsdFNlc3Npb24sIGhhbmRsZSwgb3B0aW9ucyk7IH0pLnRvVGhyb3coJ0RPTSBFbGVtZW50IHdpdGggaWQgXCJ0ZXN0SWQyXCIgbm90IGZvdW5kLicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBvbiBpbnZhbGlkIHByZXZpZXcgcGFyYW1zJywgKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlID0gJ3NyYzovL3Rlc3QxMjMvdGVzdC5qcGcnO1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgaWQ6IHt9LFxuICAgICAgICB0ZXN0OiAxMjMsXG4gICAgICB9O1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KCgpID0+IHsgcHJldmlldyhkZWZhdWx0U2Vzc2lvbiwgaGFuZGxlLCBvcHRpb25zKTsgfSkudG9UaHJvdygnSW52YWxpZCBwcmV2aWV3IHBhcmFtcycpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZ2V0VXJsJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgYmUgYWJsZSB0byBnZXQgdXJsIHdpdGggc2VjdXJpdHknLCAoKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGUgPSAnVEVTVF9IQU5ETEUnO1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgaWQ6ICd0ZXN0SWQyJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHNlY3VyaXR5ID0ge1xuICAgICAgICBwb2xpY3k6ICdleUpsZUhCcGNua2lPakUxTWpNMU9UVTJNREFzSW1OaGJHd2lPbHNpY21WaFpDSXNJbU52Ym5abGNuUWlYU3dpYUdGdVpHeGxJam9pWW1aVVRrTnBaMUpNY1RCUlRVOXljMFpMZW1JaWZRPT0nLFxuICAgICAgICBzaWduYXR1cmU6ICdhYjE2MjRjOWYyMTljYTAxMThmMWFmNDNkMjFlZTg3YTA5YTA3NjQ1YzE1YzlmZGJiNzQ0NzgxODczOWMyYjhiJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGdldFVybChkZWZhdWx0U2Vzc2lvbiwgaGFuZGxlLCBvcHRpb25zLCBzZWN1cml0eSk7XG4gICAgICBjb25zdCBleHBlY3RlZCA9ICdodHRwczovL2Nkbi5maWxlc3RhY2tjb250ZW50LmNvbS9wcmV2aWV3L3NlY3VyaXR5PXBvbGljeTpleUpsZUhCcGNua2lPakUxTWpNMU9UVTJNREFzSW1OaGJHd2lPbHNpY21WaFpDSXNJbU52Ym5abGNuUWlYU3dpYUdGdVpHeGxJam9pWW1aVVRrTnBaMUpNY1RCUlRVOXljMFpMZW1JaWZRPT0sc2lnbmF0dXJlOmFiMTYyNGM5ZjIxOWNhMDExOGYxYWY0M2QyMWVlODdhMDlhMDc2NDVjMTVjOWZkYmI3NDQ3ODE4NzM5YzJiOGIvVEVTVF9IQU5ETEUnO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZShleHBlY3RlZCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3ByZXZpZXcuc3BlYy5icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxJQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFFbEMsSUFBTSxjQUFjLEdBQUc7SUFDckIsTUFBTSxFQUFFLGNBQWM7SUFDdEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUM7Q0FDckMsQ0FBQztBQUVGLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRTtJQUM3QixVQUFVLENBQUM7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRWhELElBQU0sY0FBYyxHQUFRO1lBQzFCLEdBQUcsRUFBRSxFQUFFO1lBQ1AsS0FBSyxFQUFFLEVBQUU7WUFDVCxNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFdEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFDLEVBQUU7WUFDM0QsSUFBSSxHQUFHLENBQUM7WUFFUixJQUFJLEVBQUUsS0FBSyxRQUFRLEVBQUU7Z0JBQ25CLEdBQUcsR0FBRyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsQ0FBQzthQUN4QztZQUVELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEs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ZixNQUFNLEVBQUUsOEdBQThHO2dCQUN0SCxTQUFTLEVBQUUsa0VBQWtFO2FBQzlFLENBQUM7WUFFRixJQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDakUsSUFBTSxRQUFRLEdBQUcsOFBBQThQLENBQUM7WUFDaFIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS9wcmV2aWV3LnNwZWMuYnJvd3Nlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICdMaWNlbnNlJyk7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgcHJldmlldywgZ2V0VXJsIH0gZnJvbSAnLi9wcmV2aWV3JztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJy4vLi4vLi4vY29uZmlnJztcblxuY29uc3QgbW9ja0FwcGVuZENoaWxkID0gamVzdC5mbigpO1xuXG5jb25zdCBkZWZhdWx0U2Vzc2lvbiA9IHtcbiAgYXBpa2V5OiAnVEVTVF9BUElfS0VZJyxcbiAgdXJsczogT2JqZWN0LmFzc2lnbih7fSwgY29uZmlnLnVybHMpLFxufTtcblxuZGVzY3JpYmUoJ2FwaTp1cGxvYWQ6cHJldmlldycsICgpID0+IHtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgamVzdC5zcHlPbih3aW5kb3csICdvcGVuJykubW9ja0ltcGxlbWVudGF0aW9uKCk7XG5cbiAgICBjb25zdCBjcmVhdGVkRWxlbWVudDogYW55ID0ge1xuICAgICAgc3JjOiAnJyxcbiAgICAgIHdpZHRoOiAnJyxcbiAgICAgIGhlaWdodDogJycsXG4gICAgfTtcbiAgICBqZXN0LnNweU9uKGRvY3VtZW50LCAnY3JlYXRlRWxlbWVudCcpLm1vY2tSZXR1cm5WYWx1ZShjcmVhdGVkRWxlbWVudCk7XG5cbiAgICBqZXN0LnNweU9uKGRvY3VtZW50LCAnZ2V0RWxlbWVudEJ5SWQnKS5tb2NrSW1wbGVtZW50YXRpb24oKGlkKSA9PiB7XG4gICAgICBsZXQgb2JqO1xuXG4gICAgICBpZiAoaWQgPT09ICd0ZXN0SWQnKSB7XG4gICAgICAgIG9iaiA9IHsgYXBwZW5kQ2hpbGQ6IG1vY2tBcHBlbmRDaGlsZCB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2JqO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncHJldmlldycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIG9wZW4gYSBwcm9wZXIgdXJsIHdpdGggcHJldmlldyBvZiBhIGZpbGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGUgPSAndGVzdEhhbmRsZSc7XG4gICAgICBwcmV2aWV3KGRlZmF1bHRTZXNzaW9uLCBoYW5kbGUpO1xuICAgICAgZXhwZWN0KHdpbmRvdy5vcGVuKS50b0JlQ2FsbGVkVGltZXMoMSk7XG4gICAgICBleHBlY3Qod2luZG93Lm9wZW4pLnRvQmVDYWxsZWRXaXRoKCdodHRwczovL2Nkbi5maWxlc3RhY2tjb250ZW50LmNvbS9wcmV2aWV3L3Rlc3RIYW5kbGUnLCAndGVzdEhhbmRsZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBvcGVuIGEgcHJvcGVyIHVybCB3aXRoIHByZXZpZXcgb2YgYSBmaWxlIHdpdGggc3JjIGhhbmRsZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZSA9ICdzcmM6Ly90ZXN0MTIzL3Rlc3QuanBnJztcbiAgICAgIHByZXZpZXcoZGVmYXVsdFNlc3Npb24sIGhhbmRsZSk7XG5cbiAgICAgIGV4cGVjdCh3aW5kb3cub3BlbikudG9CZUNhbGxlZFRpbWVzKDEpO1xuICAgICAgZXhwZWN0KHdpbmRvdy5vcGVuKS50b0JlQ2FsbGVkV2l0aCgnaHR0cHM6Ly9jZG4uZmlsZXN0YWNrY29udGVudC5jb20vVEVTVF9BUElfS0VZL3ByZXZpZXcvc3JjOi8vdGVzdDEyMy90ZXN0LmpwZycsICdzcmM6Ly90ZXN0MTIzL3Rlc3QuanBnJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG9wZW4gaWZyYW1lIGluc2lkZSBwcm92aWRlZCBvcHRpb25zLmlkJywgKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlID0gJ3NyYzovL3Rlc3QxMjMvdGVzdC5qcGcnO1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgaWQ6ICd0ZXN0SWQnLFxuICAgICAgICBjc3M6ICdjdXN0b21Dc3MnLFxuICAgICAgfTtcblxuICAgICAgcHJldmlldyhkZWZhdWx0U2Vzc2lvbiwgaGFuZGxlLCBvcHRpb25zKTtcbiAgICAgIGNvbnN0IGV4cGVjdGVkID0geyAnaGVpZ2h0JzogJzEwMCUnLCAnd2lkdGgnOiAnMTAwJScsICdzcmMnOiAnaHR0cHM6Ly9jZG4uZmlsZXN0YWNrY29udGVudC5jb20vVEVTVF9BUElfS0VZL3ByZXZpZXc9Y3NzOiUyMmN1c3RvbUNzcyUyMi9zcmM6Ly90ZXN0MTIzL3Rlc3QuanBnJyB9O1xuICAgICAgZXhwZWN0KG1vY2tBcHBlbmRDaGlsZCkudG9CZUNhbGxlZFRpbWVzKDEpO1xuICAgICAgZXhwZWN0KG1vY2tBcHBlbmRDaGlsZCkudG9CZUNhbGxlZFdpdGgoZXhwZWN0ZWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciB3aGVuIGhhbmRsZSBpcyBub3QgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoKCkgPT4geyBwcmV2aWV3KGRlZmF1bHRTZXNzaW9uKTsgfSkudG9UaHJvdygnQSB2YWxpZCBGaWxlc3RhY2sgaGFuZGxlIG9yIHN0b3JhZ2UgYWxpYXMgaXMgcmVxdWlyZWQgZm9yIHByZXZpZXcnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3Igd2hlbiBpZCBwcm92aWRlZCBhbmQgZG9tIGVsZW1lbnQgbm90IGZvdW5kJywgKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlID0gJ3NyYzovL3Rlc3QxMjMvdGVzdC5qcGcnO1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgaWQ6ICd0ZXN0SWQyJyxcbiAgICAgIH07XG4gICAgICBleHBlY3QoKCkgPT4geyBwcmV2aWV3KGRlZmF1bHRTZXNzaW9uLCBoYW5kbGUsIG9wdGlvbnMpOyB9KS50b1Rocm93KCdET00gRWxlbWVudCB3aXRoIGlkIFwidGVzdElkMlwiIG5vdCBmb3VuZC4nKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3Igb24gaW52YWxpZCBwcmV2aWV3IHBhcmFtcycsICgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZSA9ICdzcmM6Ly90ZXN0MTIzL3Rlc3QuanBnJztcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIGlkOiB7fSxcbiAgICAgICAgdGVzdDogMTIzLFxuICAgICAgfTtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGV4cGVjdCgoKSA9PiB7IHByZXZpZXcoZGVmYXVsdFNlc3Npb24sIGhhbmRsZSwgb3B0aW9ucyk7IH0pLnRvVGhyb3coJ0ludmFsaWQgcHJldmlldyBwYXJhbXMnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2dldFVybCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGJlIGFibGUgdG8gZ2V0IHVybCB3aXRoIHNlY3VyaXR5JywgKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlID0gJ1RFU1RfSEFORExFJztcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIGlkOiAndGVzdElkMicsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBzZWN1cml0eSA9IHtcbiAgICAgICAgcG9saWN5OiAnZXlKbGVIQnBjbmtpT2pFMU1qTTFPVFUyTURBc0ltTmhiR3dpT2xzaWNtVmhaQ0lzSW1OdmJuWmxjblFpWFN3aWFHRnVaR3hsSWpvaVltWlVUa05wWjFKTWNUQlJUVTl5YzBaTGVtSWlmUT09JyxcbiAgICAgICAgc2lnbmF0dXJlOiAnYWIxNjI0YzlmMjE5Y2EwMTE4ZjFhZjQzZDIxZWU4N2EwOWEwNzY0NWMxNWM5ZmRiYjc0NDc4MTg3MzljMmI4YicsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBnZXRVcmwoZGVmYXVsdFNlc3Npb24sIGhhbmRsZSwgb3B0aW9ucywgc2VjdXJpdHkpO1xuICAgICAgY29uc3QgZXhwZWN0ZWQgPSAnaHR0cHM6Ly9jZG4uZmlsZXN0YWNrY29udGVudC5jb20vcHJldmlldy9zZWN1cml0eT1wb2xpY3k6ZXlKbGVIQnBjbmtpT2pFMU1qTTFPVFUyTURBc0ltTmhiR3dpT2xzaWNtVmhaQ0lzSW1OdmJuWmxjblFpWFN3aWFHRnVaR3hsSWpvaVltWlVUa05wWjFKTWNUQlJUVTl5YzBaTGVtSWlmUT09LHNpZ25hdHVyZTphYjE2MjRjOWYyMTljYTAxMThmMWFmNDNkMjFlZTg3YTA5YTA3NjQ1YzE1YzlmZGJiNzQ0NzgxODczOWMyYjhiL1RFU1RfSEFORExFJztcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoZXhwZWN0ZWQpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19

@@ -55,3 +55,3 @@ /*

var hash = crypto.createHmac('sha256', secret)
.update(toCompare.timestamp + "." + rawBody)
.update("".concat(toCompare.timestamp, ".").concat(rawBody))
.digest('hex');

@@ -61,2 +61,2 @@ return hash === toCompare.signature;

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3NlY3VyaXR5Lm5vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBSUgsT0FBTyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUVqQzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sQ0FBQyxJQUFNLFdBQVcsR0FBRyxVQUFDLGFBQThCLEVBQUUsU0FBaUI7SUFDM0UsSUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFdEUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUM3QixNQUFNLElBQUksY0FBYyxDQUFDLHlCQUF5QixFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDeEc7SUFFRCxJQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0UsSUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDO1NBQ3RDLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDZCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFaEMsT0FBTyxFQUFFLE1BQU0sUUFBQSxFQUFFLFNBQVMsV0FBQSxFQUFFLENBQUM7QUFDL0IsQ0FBQyxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLElBQU0sd0JBQXdCLEdBQUcsVUFBQyxNQUFjLEVBQUUsT0FBZSxFQUFFLFNBQWlDO0lBQ3pHLElBQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQztTQUNqQyxNQUFNLENBQUksU0FBUyxDQUFDLFNBQVMsU0FBSSxPQUFTLENBQUM7U0FDM0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTdCLE9BQU8sSUFBSSxLQUFLLFNBQVMsQ0FBQyxTQUFTLENBQUM7QUFDdEMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9hcGkvc2VjdXJpdHkubm9kZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFNlY3VyaXR5IH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IFdlYmhvb2tWYWxpZGF0ZVBheWxvYWQsIFNlY3VyaXR5T3B0aW9ucyB9IGZyb20gJy4vc2VjdXJpdHknO1xuaW1wb3J0IHsgRmlsZXN0YWNrRXJyb3IsIEZpbGVzdGFja0Vycm9yVHlwZSB9IGZyb20gJy4vLi4vLi4vZmlsZXN0YWNrX2Vycm9yJztcbmltcG9ydCB7IGdldFZhbGlkYXRvciwgU2VjdXJpdHlQYXJhbXNTY2hlbWEgfSBmcm9tICcuLy4uLy4uL3NjaGVtYSc7XG5pbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcblxuLyoqXG4gKiBSZXR1cm5zIEZpbGVzdGFjayBiYXNlNjQgcG9saWN5IGFuZCBITUFDLVNIQTI1NiBzaWduYXR1cmVcbiAqXG4gKiAjIyMgRXhhbXBsZVxuICpcbiAqIGBgYGpzXG4gKiBpbXBvcnQgKiBhcyBmaWxlc3RhY2sgZnJvbSAnZmlsZXN0YWNrLWpzJztcbiAqXG4gKiBjb25zdCBqc29uUG9saWN5ID0geyAnZXhwaXJ5JzogMjUzMzgxOTY0NDE1IH07XG4gKiBjb25zdCBzZWN1cml0eSA9IGZpbGVzdGFjay5nZXRTZWN1cml0eShqc29uUG9saWN5LCAnPFlPVVJfQVBQX1NFQ1JFVD4nKTtcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBwb2xpY3lPcHRpb25zXG4gKiBAcGFyYW0gYXBwU2VjcmV0XG4gKi9cbmV4cG9ydCBjb25zdCBnZXRTZWN1cml0eSA9IChwb2xpY3lPcHRpb25zOiBTZWN1cml0eU9wdGlvbnMsIGFwcFNlY3JldDogc3RyaW5nKTogU2VjdXJpdHkgPT4ge1xuICBjb25zdCB2YWxpZGF0ZVJlcyA9IGdldFZhbGlkYXRvcihTZWN1cml0eVBhcmFtc1NjaGVtYSkocG9saWN5T3B0aW9ucyk7XG5cbiAgaWYgKHZhbGlkYXRlUmVzLmVycm9ycy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoYEludmFsaWQgc2VjdXJpdHkgcGFyYW1zYCwgdmFsaWRhdGVSZXMuZXJyb3JzLCBGaWxlc3RhY2tFcnJvclR5cGUuVkFMSURBVElPTik7XG4gIH1cblxuICBjb25zdCBwb2xpY3kgPSBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShwb2xpY3lPcHRpb25zKSkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICBjb25zdCBzaWduYXR1cmUgPSBjcnlwdG8uY3JlYXRlSG1hYygnc2hhMjU2JywgYXBwU2VjcmV0KVxuICAgICAgICAgICAgICAgICAgIC51cGRhdGUocG9saWN5KVxuICAgICAgICAgICAgICAgICAgIC5kaWdlc3QoJ2hleCcpO1xuXG4gIHJldHVybiB7IHBvbGljeSwgc2lnbmF0dXJlIH07XG59O1xuXG4vKipcbiAqIENoZWNrIHdlYmhvb2sgc2lnbmF0dXJlXG4gKlxuICogQHBhcmFtIHNlY3JldCAtIGFwcCBzZWNyZWRcbiAqIEBwYXJhbSByYXdCb2R5IC0gdW5jaGFuZ2VkIHJhdyB3ZWJob29rIGJvZHlcbiAqIEBwYXJhbSB0b0NvbXBhcmUgLSBkYXRhIGZyb20gd2ggcmVzcG9uc2UgaGVhZGVyc1xuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVXZWJob29rU2lnbmF0dXJlID0gKHNlY3JldDogc3RyaW5nLCByYXdCb2R5OiBzdHJpbmcsIHRvQ29tcGFyZTogV2ViaG9va1ZhbGlkYXRlUGF5bG9hZCkgPT4ge1xuICBjb25zdCBoYXNoID0gY3J5cHRvLmNyZWF0ZUhtYWMoJ3NoYTI1NicsIHNlY3JldClcbiAgICAgICAgICAgICAgICAudXBkYXRlKGAke3RvQ29tcGFyZS50aW1lc3RhbXB9LiR7cmF3Qm9keX1gKVxuICAgICAgICAgICAgICAgIC5kaWdlc3QoJ2hleCcpO1xuXG4gIHJldHVybiBoYXNoID09PSB0b0NvbXBhcmUuc2lnbmF0dXJlO1xufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3NlY3VyaXR5Lm5vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBSUgsT0FBTyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUVqQzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sQ0FBQyxJQUFNLFdBQVcsR0FBRyxVQUFDLGFBQThCLEVBQUUsU0FBaUI7SUFDM0UsSUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFdEUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUM3QixNQUFNLElBQUksY0FBYyxDQUFDLHlCQUF5QixFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDeEc7SUFFRCxJQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0UsSUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDO1NBQ3RDLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDZCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFaEMsT0FBTyxFQUFFLE1BQU0sUUFBQSxFQUFFLFNBQVMsV0FBQSxFQUFFLENBQUM7QUFDL0IsQ0FBQyxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLElBQU0sd0JBQXdCLEdBQUcsVUFBQyxNQUFjLEVBQUUsT0FBZSxFQUFFLFNBQWlDO0lBQ3pHLElBQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQztTQUNqQyxNQUFNLENBQUMsVUFBRyxTQUFTLENBQUMsU0FBUyxjQUFJLE9BQU8sQ0FBRSxDQUFDO1NBQzNDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU3QixPQUFPLElBQUksS0FBSyxTQUFTLENBQUMsU0FBUyxDQUFDO0FBQ3RDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvYXBpL3NlY3VyaXR5Lm5vZGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBTZWN1cml0eSB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgeyBXZWJob29rVmFsaWRhdGVQYXlsb2FkLCBTZWN1cml0eU9wdGlvbnMgfSBmcm9tICcuL3NlY3VyaXR5JztcbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yLCBGaWxlc3RhY2tFcnJvclR5cGUgfSBmcm9tICcuLy4uLy4uL2ZpbGVzdGFja19lcnJvcic7XG5pbXBvcnQgeyBnZXRWYWxpZGF0b3IsIFNlY3VyaXR5UGFyYW1zU2NoZW1hIH0gZnJvbSAnLi8uLi8uLi9zY2hlbWEnO1xuaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5cbi8qKlxuICogUmV0dXJucyBGaWxlc3RhY2sgYmFzZTY0IHBvbGljeSBhbmQgSE1BQy1TSEEyNTYgc2lnbmF0dXJlXG4gKlxuICogIyMjIEV4YW1wbGVcbiAqXG4gKiBgYGBqc1xuICogaW1wb3J0ICogYXMgZmlsZXN0YWNrIGZyb20gJ2ZpbGVzdGFjay1qcyc7XG4gKlxuICogY29uc3QganNvblBvbGljeSA9IHsgJ2V4cGlyeSc6IDI1MzM4MTk2NDQxNSB9O1xuICogY29uc3Qgc2VjdXJpdHkgPSBmaWxlc3RhY2suZ2V0U2VjdXJpdHkoanNvblBvbGljeSwgJzxZT1VSX0FQUF9TRUNSRVQ+Jyk7XG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0gcG9saWN5T3B0aW9uc1xuICogQHBhcmFtIGFwcFNlY3JldFxuICovXG5leHBvcnQgY29uc3QgZ2V0U2VjdXJpdHkgPSAocG9saWN5T3B0aW9uczogU2VjdXJpdHlPcHRpb25zLCBhcHBTZWNyZXQ6IHN0cmluZyk6IFNlY3VyaXR5ID0+IHtcbiAgY29uc3QgdmFsaWRhdGVSZXMgPSBnZXRWYWxpZGF0b3IoU2VjdXJpdHlQYXJhbXNTY2hlbWEpKHBvbGljeU9wdGlvbnMpO1xuXG4gIGlmICh2YWxpZGF0ZVJlcy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKGBJbnZhbGlkIHNlY3VyaXR5IHBhcmFtc2AsIHZhbGlkYXRlUmVzLmVycm9ycywgRmlsZXN0YWNrRXJyb3JUeXBlLlZBTElEQVRJT04pO1xuICB9XG5cbiAgY29uc3QgcG9saWN5ID0gQnVmZmVyLmZyb20oSlNPTi5zdHJpbmdpZnkocG9saWN5T3B0aW9ucykpLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgY29uc3Qgc2lnbmF0dXJlID0gY3J5cHRvLmNyZWF0ZUhtYWMoJ3NoYTI1NicsIGFwcFNlY3JldClcbiAgICAgICAgICAgICAgICAgICAudXBkYXRlKHBvbGljeSlcbiAgICAgICAgICAgICAgICAgICAuZGlnZXN0KCdoZXgnKTtcblxuICByZXR1cm4geyBwb2xpY3ksIHNpZ25hdHVyZSB9O1xufTtcblxuLyoqXG4gKiBDaGVjayB3ZWJob29rIHNpZ25hdHVyZVxuICpcbiAqIEBwYXJhbSBzZWNyZXQgLSBhcHAgc2VjcmVkXG4gKiBAcGFyYW0gcmF3Qm9keSAtIHVuY2hhbmdlZCByYXcgd2ViaG9vayBib2R5XG4gKiBAcGFyYW0gdG9Db21wYXJlIC0gZGF0YSBmcm9tIHdoIHJlc3BvbnNlIGhlYWRlcnNcbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlV2ViaG9va1NpZ25hdHVyZSA9IChzZWNyZXQ6IHN0cmluZywgcmF3Qm9keTogc3RyaW5nLCB0b0NvbXBhcmU6IFdlYmhvb2tWYWxpZGF0ZVBheWxvYWQpID0+IHtcbiAgY29uc3QgaGFzaCA9IGNyeXB0by5jcmVhdGVIbWFjKCdzaGEyNTYnLCBzZWNyZXQpXG4gICAgICAgICAgICAgICAgLnVwZGF0ZShgJHt0b0NvbXBhcmUudGltZXN0YW1wfS4ke3Jhd0JvZHl9YClcbiAgICAgICAgICAgICAgICAuZGlnZXN0KCdoZXgnKTtcblxuICByZXR1cm4gaGFzaCA9PT0gdG9Db21wYXJlLnNpZ25hdHVyZTtcbn07XG4iXX0=
import { Security, Session } from '../client';
import { StoreParams } from './../filelink';
import { UploadTags } from './upload/file';
export declare type StoreUrlParams = {
export type StoreUrlParams = {
session: Session;

@@ -6,0 +6,0 @@ url?: string;

@@ -68,3 +68,3 @@ /*

}
return FsRequest.post(session.urls.processUrl + "/process", {
return FsRequest.post("".concat(session.urls.processUrl, "/process"), {
apikey: session.apikey,

@@ -82,6 +82,6 @@ sources: sources,

}
throw new FilestackError("Invalid store response " + JSON.stringify(res.data));
throw new FilestackError("Invalid store response ".concat(JSON.stringify(res.data)));
});
};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFHSCxPQUFPLEVBQUUsUUFBUSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFjdEQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sQ0FBQyxJQUFNLFFBQVEsR0FBRyxVQUFDLEVBU1I7UUFSZixvQkFBTyxFQUNQLFlBQUcsRUFDSCw0QkFBVyxFQUNYLGdCQUFLLEVBQ0wsc0JBQVEsRUFDUiwwQkFBVSxFQUNWLG9CQUFPLEVBQ1AsNEJBQVc7SUFFWCxJQUFJLENBQUMsR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtRQUNuQyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxjQUFjLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDO0tBQzNFO0lBRUQsSUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFakUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUM3QixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxjQUFjLENBQUMsc0JBQXNCLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7S0FDdkY7SUFFRCxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDL0QsT0FBTyxDQUFDLFNBQVMsR0FBRyxRQUFRLElBQUksUUFBUSxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDO0lBRXhFLElBQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkQsUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUU1QixJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRTtRQUN2QyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQ2hCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtZQUN0QixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7U0FDN0IsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxJQUFJLE9BQU8sR0FBUSxFQUFFLENBQUM7SUFFdEIsSUFBSSxLQUFLLEVBQUU7UUFDVCxJQUFNLFdBQVcsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ3hDLEtBQUssQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEQsT0FBTyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7S0FDbkM7SUFFRCxJQUFJLE9BQU8sR0FBUSxDQUFFLEdBQUcsQ0FBRSxDQUFDO0lBRTNCLElBQUksT0FBTyxFQUFFO1FBQ1gsT0FBTyxHQUFHLENBQUM7Z0JBQ1QsTUFBTSxFQUFFLEdBQUc7Z0JBQ1gsT0FBTyxTQUFBO2FBQ1IsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUN6QyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0tBQ3ZEO0lBRUQsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxhQUFVLEVBQUU7UUFDMUQsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1FBQ3RCLE9BQU8sU0FBQTtRQUNQLEtBQUssRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFO1FBQzFCLFdBQVcsRUFBRSxVQUFVO0tBQ3hCLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsR0FBRztRQUNuQixJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDL0IsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDeEIsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQzNDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDN0I7WUFFRCw2QkFBWSxHQUFHLENBQUMsSUFBSSxLQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksSUFBRztTQUNqRDtRQUVELE1BQU0sSUFBSSxjQUFjLENBQUMsNEJBQTBCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBRyxDQUFDLENBQUM7SUFDakYsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS9zdG9yZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFNlY3VyaXR5LCBTZXNzaW9uIH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IEZpbGVsaW5rLCBTdG9yZVBhcmFtcyB9IGZyb20gJy4vLi4vZmlsZWxpbmsnO1xuaW1wb3J0IHsgRmlsZXN0YWNrRXJyb3IgfSBmcm9tICcuLy4uLy4uL2ZpbGVzdGFja19lcnJvcic7XG5pbXBvcnQgeyBnZXRWYWxpZGF0b3IsIFN0b3JlUGFyYW1zU2NoZW1hIH0gZnJvbSAnLi8uLi8uLi9zY2hlbWEnO1xuaW1wb3J0IHsgRnNSZXF1ZXN0LCBGc0NhbmNlbFRva2VuIH0gZnJvbSAnLi4vcmVxdWVzdCc7XG5pbXBvcnQgeyBVcGxvYWRUYWdzIH0gZnJvbSAnLi91cGxvYWQvZmlsZSc7XG5cbmV4cG9ydCB0eXBlIFN0b3JlVXJsUGFyYW1zID0ge1xuICBzZXNzaW9uOiBTZXNzaW9uO1xuICB1cmw/OiBzdHJpbmc7XG4gIHN0b3JlUGFyYW1zPzogU3RvcmVQYXJhbXM7XG4gIHRva2VuPzogYW55O1xuICBzZWN1cml0eT86IFNlY3VyaXR5O1xuICB1cGxvYWRUYWdzPzogVXBsb2FkVGFncztcbiAgaGVhZGVycz86IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9LFxuICB3b3JrZmxvd0lkcz86IHN0cmluZ1tdXG59O1xuXG4vKipcbiAqIFN0b3JlIGdpdmVuIHVybCB3aXRoIG9wdGlvbnMgYW5kXG4gKlxuICogQHBhcmFtIHNlc3Npb25cbiAqIEBwYXJhbSB1cmxcbiAqIEBwYXJhbSBzdG9yZU9wdHNcbiAqIEBwYXJhbSB0b2tlblxuICogQHBhcmFtIHNlY3VyaXR5XG4gKiBAcGFyYW0gdXBsb2FkVGFnc1xuICogQHBhcmFtIHdvcmtmbG93SWRzXG4gKi9cbmV4cG9ydCBjb25zdCBzdG9yZVVSTCA9ICh7XG4gIHNlc3Npb24sXG4gIHVybCxcbiAgc3RvcmVQYXJhbXMsXG4gIHRva2VuLFxuICBzZWN1cml0eSxcbiAgdXBsb2FkVGFncyxcbiAgaGVhZGVycyxcbiAgd29ya2Zsb3dJZHMsXG59OiBTdG9yZVVybFBhcmFtcyk6IFByb21pc2U8YW55PiA9PiB7XG4gIGlmICghdXJsIHx8IHR5cGVvZiB1cmwgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBGaWxlc3RhY2tFcnJvcigndXJsIGlzIHJlcXVpcmVkIGZvciBzdG9yZVVSTCcpKTtcbiAgfVxuXG4gIGNvbnN0IHZhbGlkYXRlUmVzID0gZ2V0VmFsaWRhdG9yKFN0b3JlUGFyYW1zU2NoZW1hKShzdG9yZVBhcmFtcyk7XG5cbiAgaWYgKHZhbGlkYXRlUmVzLmVycm9ycy5sZW5ndGgpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEZpbGVzdGFja0Vycm9yKGBJbnZhbGlkIHN0b3JlIHBhcmFtc2AsIHZhbGlkYXRlUmVzLmVycm9ycykpO1xuICB9XG5cbiAgc2Vzc2lvbi5wb2xpY3kgPSBzZWN1cml0eSAmJiBzZWN1cml0eS5wb2xpY3kgfHwgc2Vzc2lvbi5wb2xpY3k7XG4gIHNlc3Npb24uc2lnbmF0dXJlID0gc2VjdXJpdHkgJiYgc2VjdXJpdHkuc2lnbmF0dXJlIHx8IHNlc3Npb24uc2lnbmF0dXJlO1xuXG4gIGNvbnN0IGZpbGVsaW5rID0gbmV3IEZpbGVsaW5rKHVybCwgc2Vzc2lvbi5hcGlrZXkpO1xuICBmaWxlbGluay5zdG9yZShzdG9yZVBhcmFtcyk7XG5cbiAgaWYgKHNlc3Npb24ucG9saWN5ICYmIHNlc3Npb24uc2lnbmF0dXJlKSB7XG4gICAgZmlsZWxpbmsuc2VjdXJpdHkoe1xuICAgICAgcG9saWN5OiBzZXNzaW9uLnBvbGljeSxcbiAgICAgIHNpZ25hdHVyZTogc2Vzc2lvbi5zaWduYXR1cmUsXG4gICAgfSk7XG4gIH1cblxuICBsZXQgb3B0aW9uczogYW55ID0ge307XG5cbiAgaWYgKHRva2VuKSB7XG4gICAgY29uc3QgY2FuY2VsVG9rZW4gPSBuZXcgRnNDYW5jZWxUb2tlbigpO1xuICAgIHRva2VuLmNhbmNlbCA9IGNhbmNlbFRva2VuLmNhbmNlbC5iaW5kKGNhbmNlbFRva2VuKTtcbiAgICBvcHRpb25zLmNhbmNlbFRva2VuID0gY2FuY2VsVG9rZW47XG4gIH1cblxuICBsZXQgc291cmNlczogYW55ID0gWyB1cmwgXTtcblxuICBpZiAoaGVhZGVycykge1xuICAgIHNvdXJjZXMgPSBbe1xuICAgICAgc291cmNlOiB1cmwsXG4gICAgICBoZWFkZXJzLFxuICAgIH1dO1xuICB9XG5cbiAgaWYgKHdvcmtmbG93SWRzICYmIHdvcmtmbG93SWRzLmxlbmd0aCA+IDApIHtcbiAgICBmaWxlbGluay5hZGRUYXNrKCdzdG9yZScsIHsgd29ya2Zsb3dzOiB3b3JrZmxvd0lkcyB9KTtcbiAgfVxuXG4gIHJldHVybiBGc1JlcXVlc3QucG9zdChgJHtzZXNzaW9uLnVybHMucHJvY2Vzc1VybH0vcHJvY2Vzc2AsIHtcbiAgICBhcGlrZXk6IHNlc3Npb24uYXBpa2V5LFxuICAgIHNvdXJjZXMsXG4gICAgdGFza3M6IGZpbGVsaW5rLmdldFRhc2tzKCksXG4gICAgdXBsb2FkX3RhZ3M6IHVwbG9hZFRhZ3MsXG4gIH0sIG9wdGlvbnMpLnRoZW4oKHJlcykgPT4ge1xuICAgIGlmIChyZXMuZGF0YSAmJiByZXMuZGF0YS5oYW5kbGUpIHtcbiAgICAgIGlmIChyZXMuZGF0YS51cGxvYWRfdGFncykge1xuICAgICAgICByZXMuZGF0YS51cGxvYWRUYWdzID0gcmVzLmRhdGEudXBsb2FkX3RhZ3M7XG4gICAgICAgIGRlbGV0ZSByZXMuZGF0YS51cGxvYWRfdGFncztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHsgLi4ucmVzLmRhdGEsIG1pbWV0eXBlOiByZXMuZGF0YS50eXBlIH07XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKGBJbnZhbGlkIHN0b3JlIHJlc3BvbnNlICR7SlNPTi5zdHJpbmdpZnkocmVzLmRhdGEpfWApO1xuICB9KTtcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFHSCxPQUFPLEVBQUUsUUFBUSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFjdEQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sQ0FBQyxJQUFNLFFBQVEsR0FBRyxVQUFDLEVBU1I7UUFSZixPQUFPLGFBQUEsRUFDUCxHQUFHLFNBQUEsRUFDSCxXQUFXLGlCQUFBLEVBQ1gsS0FBSyxXQUFBLEVBQ0wsUUFBUSxjQUFBLEVBQ1IsVUFBVSxnQkFBQSxFQUNWLE9BQU8sYUFBQSxFQUNQLFdBQVcsaUJBQUE7SUFFWCxJQUFJLENBQUMsR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtRQUNuQyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxjQUFjLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDO0tBQzNFO0lBRUQsSUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFakUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUM3QixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxjQUFjLENBQUMsc0JBQXNCLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7S0FDdkY7SUFFRCxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDL0QsT0FBTyxDQUFDLFNBQVMsR0FBRyxRQUFRLElBQUksUUFBUSxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDO0lBRXhFLElBQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkQsUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUU1QixJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRTtRQUN2QyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQ2hCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtZQUN0QixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7U0FDN0IsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxJQUFJLE9BQU8sR0FBUSxFQUFFLENBQUM7SUFFdEIsSUFBSSxLQUFLLEVBQUU7UUFDVCxJQUFNLFdBQVcsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ3hDLEtBQUssQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEQsT0FBTyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7S0FDbkM7SUFFRCxJQUFJLE9BQU8sR0FBUSxDQUFFLEdBQUcsQ0FBRSxDQUFDO0lBRTNCLElBQUksT0FBTyxFQUFFO1FBQ1gsT0FBTyxHQUFHLENBQUM7Z0JBQ1QsTUFBTSxFQUFFLEdBQUc7Z0JBQ1gsT0FBTyxTQUFBO2FBQ1IsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUN6QyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0tBQ3ZEO0lBRUQsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLGFBQVUsRUFBRTtRQUMxRCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07UUFDdEIsT0FBTyxTQUFBO1FBQ1AsS0FBSyxFQUFFLFFBQVEsQ0FBQyxRQUFRLEVBQUU7UUFDMUIsV0FBVyxFQUFFLFVBQVU7S0FDeEIsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQyxHQUFHO1FBQ25CLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUMvQixJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUN4QixHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztnQkFDM0MsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQzthQUM3QjtZQUVELDZCQUFZLEdBQUcsQ0FBQyxJQUFJLEtBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFHO1NBQ2pEO1FBRUQsTUFBTSxJQUFJLGNBQWMsQ0FBQyxpQ0FBMEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUUsQ0FBQyxDQUFDO0lBQ2pGLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9hcGkvc3RvcmUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBTZWN1cml0eSwgU2Vzc2lvbiB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgeyBGaWxlbGluaywgU3RvcmVQYXJhbXMgfSBmcm9tICcuLy4uL2ZpbGVsaW5rJztcbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yIH0gZnJvbSAnLi8uLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuaW1wb3J0IHsgZ2V0VmFsaWRhdG9yLCBTdG9yZVBhcmFtc1NjaGVtYSB9IGZyb20gJy4vLi4vLi4vc2NoZW1hJztcbmltcG9ydCB7IEZzUmVxdWVzdCwgRnNDYW5jZWxUb2tlbiB9IGZyb20gJy4uL3JlcXVlc3QnO1xuaW1wb3J0IHsgVXBsb2FkVGFncyB9IGZyb20gJy4vdXBsb2FkL2ZpbGUnO1xuXG5leHBvcnQgdHlwZSBTdG9yZVVybFBhcmFtcyA9IHtcbiAgc2Vzc2lvbjogU2Vzc2lvbjtcbiAgdXJsPzogc3RyaW5nO1xuICBzdG9yZVBhcmFtcz86IFN0b3JlUGFyYW1zO1xuICB0b2tlbj86IGFueTtcbiAgc2VjdXJpdHk/OiBTZWN1cml0eTtcbiAgdXBsb2FkVGFncz86IFVwbG9hZFRhZ3M7XG4gIGhlYWRlcnM/OiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSxcbiAgd29ya2Zsb3dJZHM/OiBzdHJpbmdbXVxufTtcblxuLyoqXG4gKiBTdG9yZSBnaXZlbiB1cmwgd2l0aCBvcHRpb25zIGFuZFxuICpcbiAqIEBwYXJhbSBzZXNzaW9uXG4gKiBAcGFyYW0gdXJsXG4gKiBAcGFyYW0gc3RvcmVPcHRzXG4gKiBAcGFyYW0gdG9rZW5cbiAqIEBwYXJhbSBzZWN1cml0eVxuICogQHBhcmFtIHVwbG9hZFRhZ3NcbiAqIEBwYXJhbSB3b3JrZmxvd0lkc1xuICovXG5leHBvcnQgY29uc3Qgc3RvcmVVUkwgPSAoe1xuICBzZXNzaW9uLFxuICB1cmwsXG4gIHN0b3JlUGFyYW1zLFxuICB0b2tlbixcbiAgc2VjdXJpdHksXG4gIHVwbG9hZFRhZ3MsXG4gIGhlYWRlcnMsXG4gIHdvcmtmbG93SWRzLFxufTogU3RvcmVVcmxQYXJhbXMpOiBQcm9taXNlPGFueT4gPT4ge1xuICBpZiAoIXVybCB8fCB0eXBlb2YgdXJsICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRmlsZXN0YWNrRXJyb3IoJ3VybCBpcyByZXF1aXJlZCBmb3Igc3RvcmVVUkwnKSk7XG4gIH1cblxuICBjb25zdCB2YWxpZGF0ZVJlcyA9IGdldFZhbGlkYXRvcihTdG9yZVBhcmFtc1NjaGVtYSkoc3RvcmVQYXJhbXMpO1xuXG4gIGlmICh2YWxpZGF0ZVJlcy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBGaWxlc3RhY2tFcnJvcihgSW52YWxpZCBzdG9yZSBwYXJhbXNgLCB2YWxpZGF0ZVJlcy5lcnJvcnMpKTtcbiAgfVxuXG4gIHNlc3Npb24ucG9saWN5ID0gc2VjdXJpdHkgJiYgc2VjdXJpdHkucG9saWN5IHx8IHNlc3Npb24ucG9saWN5O1xuICBzZXNzaW9uLnNpZ25hdHVyZSA9IHNlY3VyaXR5ICYmIHNlY3VyaXR5LnNpZ25hdHVyZSB8fCBzZXNzaW9uLnNpZ25hdHVyZTtcblxuICBjb25zdCBmaWxlbGluayA9IG5ldyBGaWxlbGluayh1cmwsIHNlc3Npb24uYXBpa2V5KTtcbiAgZmlsZWxpbmsuc3RvcmUoc3RvcmVQYXJhbXMpO1xuXG4gIGlmIChzZXNzaW9uLnBvbGljeSAmJiBzZXNzaW9uLnNpZ25hdHVyZSkge1xuICAgIGZpbGVsaW5rLnNlY3VyaXR5KHtcbiAgICAgIHBvbGljeTogc2Vzc2lvbi5wb2xpY3ksXG4gICAgICBzaWduYXR1cmU6IHNlc3Npb24uc2lnbmF0dXJlLFxuICAgIH0pO1xuICB9XG5cbiAgbGV0IG9wdGlvbnM6IGFueSA9IHt9O1xuXG4gIGlmICh0b2tlbikge1xuICAgIGNvbnN0IGNhbmNlbFRva2VuID0gbmV3IEZzQ2FuY2VsVG9rZW4oKTtcbiAgICB0b2tlbi5jYW5jZWwgPSBjYW5jZWxUb2tlbi5jYW5jZWwuYmluZChjYW5jZWxUb2tlbik7XG4gICAgb3B0aW9ucy5jYW5jZWxUb2tlbiA9IGNhbmNlbFRva2VuO1xuICB9XG5cbiAgbGV0IHNvdXJjZXM6IGFueSA9IFsgdXJsIF07XG5cbiAgaWYgKGhlYWRlcnMpIHtcbiAgICBzb3VyY2VzID0gW3tcbiAgICAgIHNvdXJjZTogdXJsLFxuICAgICAgaGVhZGVycyxcbiAgICB9XTtcbiAgfVxuXG4gIGlmICh3b3JrZmxvd0lkcyAmJiB3b3JrZmxvd0lkcy5sZW5ndGggPiAwKSB7XG4gICAgZmlsZWxpbmsuYWRkVGFzaygnc3RvcmUnLCB7IHdvcmtmbG93czogd29ya2Zsb3dJZHMgfSk7XG4gIH1cblxuICByZXR1cm4gRnNSZXF1ZXN0LnBvc3QoYCR7c2Vzc2lvbi51cmxzLnByb2Nlc3NVcmx9L3Byb2Nlc3NgLCB7XG4gICAgYXBpa2V5OiBzZXNzaW9uLmFwaWtleSxcbiAgICBzb3VyY2VzLFxuICAgIHRhc2tzOiBmaWxlbGluay5nZXRUYXNrcygpLFxuICAgIHVwbG9hZF90YWdzOiB1cGxvYWRUYWdzLFxuICB9LCBvcHRpb25zKS50aGVuKChyZXMpID0+IHtcbiAgICBpZiAocmVzLmRhdGEgJiYgcmVzLmRhdGEuaGFuZGxlKSB7XG4gICAgICBpZiAocmVzLmRhdGEudXBsb2FkX3RhZ3MpIHtcbiAgICAgICAgcmVzLmRhdGEudXBsb2FkVGFncyA9IHJlcy5kYXRhLnVwbG9hZF90YWdzO1xuICAgICAgICBkZWxldGUgcmVzLmRhdGEudXBsb2FkX3RhZ3M7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7IC4uLnJlcy5kYXRhLCBtaW1ldHlwZTogcmVzLmRhdGEudHlwZSB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcihgSW52YWxpZCBzdG9yZSByZXNwb25zZSAke0pTT04uc3RyaW5naWZ5KHJlcy5kYXRhKX1gKTtcbiAgfSk7XG59O1xuIl19

@@ -57,3 +57,3 @@ /*

_a.sent();
expect(FsRequest.post).toHaveBeenCalledWith(mockedSession.urls.processUrl + "/process", {
expect(FsRequest.post).toHaveBeenCalledWith("".concat(mockedSession.urls.processUrl, "/process"), {
apikey: mockedSession.apikey,

@@ -81,3 +81,3 @@ sources: [sourceToStore],

expect(Filelink.prototype.security).toHaveBeenCalledWith(fakeSecurity);
expect(FsRequest.post).toHaveBeenCalledWith(mockedSession.urls.processUrl + "/process", {
expect(FsRequest.post).toHaveBeenCalledWith("".concat(mockedSession.urls.processUrl, "/process"), {
apikey: mockedSession.apikey,

@@ -119,3 +119,3 @@ sources: [sourceToStore],

_a.sent();
expect(FsRequest.post).toHaveBeenCalledWith(mockedSession.urls.processUrl + "/process", {
expect(FsRequest.post).toHaveBeenCalledWith("".concat(mockedSession.urls.processUrl, "/process"), {
apikey: mockedSession.apikey,

@@ -125,2 +125,3 @@ sources: [sourceToStore],

upload_tags: undefined,
// expect.any(FsCancelToken) is not working correctly with mocked functions
}, { cancelToken: expect.any(Object) });

@@ -144,3 +145,3 @@ return [2 /*return*/];

res = _a.sent();
expect(FsRequest.post).toHaveBeenCalledWith(mockedSession.urls.processUrl + "/process", {
expect(FsRequest.post).toHaveBeenCalledWith("".concat(mockedSession.urls.processUrl, "/process"), {
apikey: mockedSession.apikey,

@@ -179,3 +180,3 @@ sources: [sourceToStore],

_a.sent();
expect(FsRequest.post).toHaveBeenCalledWith(mockedSession.urls.processUrl + "/process", {
expect(FsRequest.post).toHaveBeenCalledWith("".concat(mockedSession.urls.processUrl, "/process"), {
apikey: mockedSession.apikey,

@@ -191,2 +192,2 @@ sources: [sourceToStore],

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3N0b3JlLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRTFCLElBQU0sYUFBYSxHQUFZO0lBQzdCLE1BQU0sRUFBRSxZQUFZO0lBQ3BCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtDQUNsQixDQUFDO0FBRUYsSUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFFbkMsSUFBTSxZQUFZLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDckQsSUFBTSx5QkFBeUIsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNsRSxJQUFNLGFBQWEsR0FBRyxZQUFZLENBQUM7QUFFbkMsUUFBUSxDQUFDLFVBQVUsRUFBRTtJQUVuQixVQUFVLENBQUM7UUFDVCxhQUFhO1FBQ2IsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFDLENBQUMsRUFBRSxPQUFPO1lBQzNDLElBQUksUUFBUSxHQUFHO2dCQUNiLElBQUksRUFBRTtvQkFDSixNQUFNLEVBQUUsTUFBTTtpQkFDZjth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QTRDLEVBQUU7UUFFL0MsYUFBYTtRQUNiLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBTSxPQUFBLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDdEQsSUFBSSxFQUFFLEVBQUU7U0FDVCxDQUFDLEVBRnNDLENBRXRDLENBQUMsQ0FBQztRQUVKLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQztZQUNyQixPQUFPLEVBQUUsYUFBYTtZQUN0QixHQUFHLEVBQUUsYUFBYTtTQUNuQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywrQ0FBK0MsRUFBRTs7O3dCQUNsRCxxQkFBTSxRQUFRLENBQUM7d0JBQ2IsT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLEdBQUcsRUFBRSxhQUFhO3dCQUNsQixXQUFXLGFBQUE7cUJBQ1osQ0FBQyxFQUFBOztvQkFKRixTQUlFLENBQUM7b0JBRUgsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxvQkFBb0IsQ0FBSSxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsYUFBVSxFQUFFO3dCQUN0RixNQUFNLEVBQUUsYUFBYSxDQUFDLE1BQU07d0JBQzVCLE9BQU8sRUFBRSxDQUFFLGFBQWEsQ0FBRTt3QkFDMUIsS0FBSyxFQUFFLHlCQUF5QjtxQkFDakMsRUFBRSxFQUFFLENBQUMsQ0FBQzs7OztTQUNSLENBQUMsQ0FBQztBQUVMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9hcGkvc3RvcmUuc3BlYy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IHN0b3JlVVJMIH0gZnJvbSAnLi9zdG9yZSc7XG5pbXBvcnQgeyBTZXNzaW9uIH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yIH0gZnJvbSAnLi8uLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuXG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICcuLy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBGc1JlcXVlc3QgfSBmcm9tICcuLy4uL3JlcXVlc3QnO1xuaW1wb3J0IHsgRmlsZWxpbmsgfSBmcm9tICcuLy4uL2ZpbGVsaW5rJztcblxuamVzdC5tb2NrKCcuLy4uL2ZpbGVsaW5rJyk7XG5qZXN0Lm1vY2soJy4vLi4vcmVxdWVzdCcpO1xuXG5jb25zdCBtb2NrZWRTZXNzaW9uOiBTZXNzaW9uID0ge1xuICBhcGlrZXk6ICdmYWtlQXBpa2V5JyxcbiAgdXJsczogY29uZmlnLnVybHMsXG59O1xuXG5jb25zdCB3b3JrZmxvd0lkcyA9IFsnMTIzJywgJzMyMSddO1xuXG5jb25zdCBzdG9yZVRhc2tEZWYgPSBbeyBuYW1lOiAnc3RvcmUnLCBwYXJhbXM6IHt9IH1dO1xuY29uc3Qgc3RvcmVUYXNrRGVmV2l0aFdvcmtmbG93cyA9IFt7IG5hbWU6ICdzdG9yZScsIHBhcmFtczoge30gfV07XG5jb25zdCBzb3VyY2VUb1N0b3JlID0gJ3VybFRvU3RvcmUnO1xuXG5kZXNjcmliZSgnU3RvcmVVUkwnLCAoKSA9PiB7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIEZzUmVxdWVzdC5wb3N0Lm1vY2tJbXBsZW1lbnRhdGlvbigoXywgb3B0aW9ucykgPT4ge1xuICAgICAgbGV0IHRvUmV0dXJuID0ge1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgaGFuZGxlOiAndGVzdCcsXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLnVwbG9hZF90YWdzKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdG9SZXR1cm4uZGF0YS51cGxvYWRfdGFncyA9IG9wdGlvbnMudXBsb2FkX3RhZ3M7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodG9SZXR1cm4pO1xuICAgIH0pO1xuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIEZpbGVsaW5rLnByb3RvdHlwZS5nZXRUYXNrcy5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gc3RvcmVUYXNrRGVmKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBjYWxsIGNvcnJlY3Qgc3RvcmUgbWV0aG9kJywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHN0b3JlVVJMKHsgc2Vzc2lvbjogbW9ja2VkU2Vzc2lvbiwgdXJsOiBzb3VyY2VUb1N0b3JlIH0pO1xuXG4gICAgZXhwZWN0KEZzUmVxdWVzdC5wb3N0KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChgJHttb2NrZWRTZXNzaW9uLnVybHMucHJvY2Vzc1VybH0vcHJvY2Vzc2AsIHtcbiAgICAgIGFwaWtleTogbW9ja2VkU2Vzc2lvbi5hcGlrZXksXG4gICAgICBzb3VyY2VzOiBbIHNvdXJjZVRvU3RvcmUgXSxcbiAgICAgIHRhc2tzOiBzdG9yZVRhc2tEZWYsXG4gICAgICB1cGxvYWRfdGFnczogdW5kZWZpbmVkLFxuICAgIH0sIHt9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXNwZWN0IHBhc3NlZCBzZWN1cml0eSBhbmQgcG9saWN5JywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGZha2VTZWN1cml0eSA9IHtcbiAgICAgIHNpZ25hdHVyZTogJ2Zha2VTJyxcbiAgICAgIHBvbGljeTogJ2Zha2VQJyxcbiAgICB9O1xuXG4gICAgYXdhaXQgc3RvcmVVUkwoeyBzZXNzaW9uOiBtb2NrZWRTZXNzaW9uLCB1cmw6IHNvdXJjZVRvU3RvcmUsIHNlY3VyaXR5OiBmYWtlU2VjdXJpdHkgfSk7XG5cbiAgICBleHBlY3QoRmlsZWxpbmsucHJvdG90eXBlLnNlY3VyaXR5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChmYWtlU2VjdXJpdHkpO1xuXG4gICAgZXhwZWN0KEZzUmVxdWVzdC5wb3N0KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChgJHttb2NrZWRTZXNzaW9uLnVybHMucHJvY2Vzc1VybH0vcHJvY2Vzc2AsIHtcbiAgICAgIGFwaWtleTogbW9ja2VkU2Vzc2lvbi5hcGlrZXksXG4gICAgICBzb3VyY2VzOiBbIHNvdXJjZVRvU3RvcmUgXSxcbiAgICAgIHRhc2tzOiBzdG9yZVRhc2tEZWYsXG4gICAgICB1cGxvYWRfdGFnczogdW5kZWZpbmVkLFxuICAgIH0sIHt9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciBvbiB3cm9uZyBzdG9yZSBwYXJhbXMnLCAoKSA9PiB7XG4gICAgcmV0dXJuIGV4cGVjdChzdG9yZVVSTCh7XG4gICAgICBzZXNzaW9uOiBtb2NrZWRTZXNzaW9uLFxuICAgICAgdXJsOiBzb3VyY2VUb1N0b3JlLFxuICAgICAgc3RvcmVQYXJhbXM6IHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB0ZXN0OiAxMjMsXG4gICAgICB9LFxuICAgIH0pKS5yZWplY3RzLnRvRXF1YWwoZXhwZWN0LmFueShGaWxlc3RhY2tFcnJvcikpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJlc3BlY3QgdG9rZW4gY2FuY2VsJywgYXN5bmMgKCkgPT4ge1xuICAgIC8vIHNpbXVsYXRlIG9sZCB0b2tlblxuICAgIGNvbnN0IHRva2VuID0ge1xuICAgICAgY2FuY2VsOiAoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdjYW5jZWwgbWV0aG9kJyk7XG4gICAgICB9LFxuICAgIH07XG5cbiAgICBhd2FpdCBzdG9yZVVSTCh7XG4gICAgICBzZXNzaW9uOiBtb2NrZWRTZXNzaW9uLFxuICAgICAgdXJsOiBzb3VyY2VUb1N0b3JlLFxuICAgICAgdG9rZW4sXG4gICAgfSk7XG5cbiAgICBleHBlY3QoRnNSZXF1ZXN0LnBvc3QpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGAke21vY2tlZFNlc3Npb24udXJscy5wcm9jZXNzVXJsfS9wcm9jZXNzYCwge1xuICAgICAgYXBpa2V5OiBtb2NrZWRTZXNzaW9uLmFwaWtleSxcbiAgICAgIHNvdXJjZXM6IFsgc291cmNlVG9TdG9yZSBdLFxuICAgICAgdGFza3M6IHN0b3JlVGFza0RlZixcbiAgICAgIHVwbG9hZF90YWdzOiB1bmRlZmluZWQsXG5cbiAgICAgIC8vIGV4cGVjdC5hbnkoRnNDYW5jZWxUb2tlbikgaXMgbm90IHdvcmtpbmcgY29ycmVjdGx5IHdpdGggbW9ja2VkIGZ1bmN0aW9uc1xuICAgIH0sIHsgY2FuY2VsVG9rZW46IGV4cGVjdC5hbnkoT2JqZWN0KSB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBwYXNzIHVwbG9hZCB0YWdzIHRvIHJlcXVlc3QnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgdXBsb2FkVGFncyA9IHsgdGVzdDogJzEyMycgfTtcblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHN0b3JlVVJMKHtcbiAgICAgIHNlc3Npb246IG1vY2tlZFNlc3Npb24sXG4gICAgICB1cmw6IHNvdXJjZVRvU3RvcmUsXG4gICAgICB1cGxvYWRUYWdzLFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KEZzUmVxdWVzdC5wb3N0KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChgJHttb2NrZWRTZXNzaW9uLnVybHMucHJvY2Vzc1VybH0vcHJvY2Vzc2AsIHtcbiAgICAgIGFwaWtleTogbW9ja2VkU2Vzc2lvbi5hcGlrZXksXG4gICAgICBzb3VyY2VzOiBbIHNvdXJjZVRvU3RvcmUgXSxcbiAgICAgIHRhc2tzOiBzdG9yZVRhc2tEZWYsXG4gICAgICB1cGxvYWRfdGFnczogdXBsb2FkVGFncyxcbiAgICB9LCB7fSk7XG5cbiAgICBleHBlY3QocmVzLnVwbG9hZFRhZ3MpLnRvRXF1YWwodXBsb2FkVGFncyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3Igd2hlbiBtaXNzaW5nIHVybCcsICgpID0+IHtcbiAgICByZXR1cm4gZXhwZWN0KHN0b3JlVVJMKHsgc2Vzc2lvbjogbW9ja2VkU2Vzc2lvbiB9KSkucmVqZWN0cy50b0VxdWFsKGV4cGVjdC5hbnkoRmlsZXN0YWNrRXJyb3IpKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBvbiBtaXNzaW5nIGhhbmRsZSBpbiByZXNwb25zZScsICgpID0+IHtcblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBGc1JlcXVlc3QucG9zdC5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgIGRhdGE6IHt9LFxuICAgIH0pKTtcblxuICAgIHJldHVybiBleHBlY3Qoc3RvcmVVUkwoe1xuICAgICAgc2Vzc2lvbjogbW9ja2VkU2Vzc2lvbixcbiAgICAgIHVybDogc291cmNlVG9TdG9yZSxcbiAgICB9KSkucmVqZWN0cy50b0VxdWFsKGV4cGVjdC5hbnkoRmlsZXN0YWNrRXJyb3IpKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBiZSBhYmxlIHRvIHJ1biBzdG9yZVVybCB3aXRoIHdvcmtmbG93cycsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBzdG9yZVVSTCh7XG4gICAgICBzZXNzaW9uOiBtb2NrZWRTZXNzaW9uLFxuICAgICAgdXJsOiBzb3VyY2VUb1N0b3JlLFxuICAgICAgd29ya2Zsb3dJZHMsXG4gICAgfSk7XG5cbiAgICBleHBlY3QoRnNSZXF1ZXN0LnBvc3QpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGAke21vY2tlZFNlc3Npb24udXJscy5wcm9jZXNzVXJsfS9wcm9jZXNzYCwge1xuICAgICAgYXBpa2V5OiBtb2NrZWRTZXNzaW9uLmFwaWtleSxcbiAgICAgIHNvdXJjZXM6IFsgc291cmNlVG9TdG9yZSBdLFxuICAgICAgdGFza3M6IHN0b3JlVGFza0RlZldpdGhXb3JrZmxvd3MsXG4gICAgfSwge30pO1xuICB9KTtcblxufSk7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3N0b3JlLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRTFCLElBQU0sYUFBYSxHQUFZO0lBQzdCLE1BQU0sRUFBRSxZQUFZO0lBQ3BCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtDQUNsQixDQUFDO0FBRUYsSUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFFbkMsSUFBTSxZQUFZLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDckQsSUFBTSx5QkFBeUIsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNsRSxJQUFNLGFBQWEsR0FBRyxZQUFZLENBQUM7QUFFbkMsUUFBUSxDQUFDLFVBQVUsRUFBRTtJQUVuQixVQUFVLENBQUM7UUFDVCxhQUFhO1FBQ2IsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFDLENBQUMsRUFBRSxPQUFPO1lBQzNDLElBQUksUUFBUSxHQUFHO2dCQUNiLElBQUksRUFBRTtvQkFDSixNQUFNLEVBQUUsTUFBTTtpQkFDZjth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LENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDRDQUE0QyxFQUFFO1FBRS9DLGFBQWE7UUFDYixTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ3RELElBQUksRUFBRSxFQUFFO1NBQ1QsQ0FBQyxFQUZzQyxDQUV0QyxDQUFDLENBQUM7UUFFSixPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDckIsT0FBTyxFQUFFLGFBQWE7WUFDdEIsR0FBRyxFQUFFLGFBQWE7U0FDbkIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsK0NBQStDLEVBQUU7Ozt3QkFDbEQscUJBQU0sUUFBUSxDQUFDO3dCQUNiLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixHQUFHLEVBQUUsYUFBYTt3QkFDbEIsV0FBVyxhQUFBO3FCQUNaLENBQUMsRUFBQTs7b0JBSkYsU0FJRSxDQUFDO29CQUVILE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsb0JBQW9CLENBQUMsVUFBRyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsYUFBVSxFQUFFO3dCQUN0RixNQUFNLEVBQUUsYUFBYSxDQUFDLE1BQU07d0JBQzVCLE9BQU8sRUFBRSxDQUFFLGFBQWEsQ0FBRTt3QkFDMUIsS0FBSyxFQUFFLHlCQUF5QjtxQkFDakMsRUFBRSxFQUFFLENBQUMsQ0FBQzs7OztTQUNSLENBQUMsQ0FBQztBQUVMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9hcGkvc3RvcmUuc3BlYy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IHN0b3JlVVJMIH0gZnJvbSAnLi9zdG9yZSc7XG5pbXBvcnQgeyBTZXNzaW9uIH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yIH0gZnJvbSAnLi8uLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuXG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICcuLy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBGc1JlcXVlc3QgfSBmcm9tICcuLy4uL3JlcXVlc3QnO1xuaW1wb3J0IHsgRmlsZWxpbmsgfSBmcm9tICcuLy4uL2ZpbGVsaW5rJztcblxuamVzdC5tb2NrKCcuLy4uL2ZpbGVsaW5rJyk7XG5qZXN0Lm1vY2soJy4vLi4vcmVxdWVzdCcpO1xuXG5jb25zdCBtb2NrZWRTZXNzaW9uOiBTZXNzaW9uID0ge1xuICBhcGlrZXk6ICdmYWtlQXBpa2V5JyxcbiAgdXJsczogY29uZmlnLnVybHMsXG59O1xuXG5jb25zdCB3b3JrZmxvd0lkcyA9IFsnMTIzJywgJzMyMSddO1xuXG5jb25zdCBzdG9yZVRhc2tEZWYgPSBbeyBuYW1lOiAnc3RvcmUnLCBwYXJhbXM6IHt9IH1dO1xuY29uc3Qgc3RvcmVUYXNrRGVmV2l0aFdvcmtmbG93cyA9IFt7IG5hbWU6ICdzdG9yZScsIHBhcmFtczoge30gfV07XG5jb25zdCBzb3VyY2VUb1N0b3JlID0gJ3VybFRvU3RvcmUnO1xuXG5kZXNjcmliZSgnU3RvcmVVUkwnLCAoKSA9PiB7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIEZzUmVxdWVzdC5wb3N0Lm1vY2tJbXBsZW1lbnRhdGlvbigoXywgb3B0aW9ucykgPT4ge1xuICAgICAgbGV0IHRvUmV0dXJuID0ge1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgaGFuZGxlOiAndGVzdCcsXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLnVwbG9hZF90YWdzKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdG9SZXR1cm4uZGF0YS51cGxvYWRfdGFncyA9IG9wdGlvbnMudXBsb2FkX3RhZ3M7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodG9SZXR1cm4pO1xuICAgIH0pO1xuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIEZpbGVsaW5rLnByb3RvdHlwZS5nZXRUYXNrcy5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gc3RvcmVUYXNrRGVmKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBjYWxsIGNvcnJlY3Qgc3RvcmUgbWV0aG9kJywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHN0b3JlVVJMKHsgc2Vzc2lvbjogbW9ja2VkU2Vzc2lvbiwgdXJsOiBzb3VyY2VUb1N0b3JlIH0pO1xuXG4gICAgZXhwZWN0KEZzUmVxdWVzdC5wb3N0KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChgJHttb2NrZWRTZXNzaW9uLnVybHMucHJvY2Vzc1VybH0vcHJvY2Vzc2AsIHtcbiAgICAgIGFwaWtleTogbW9ja2VkU2Vzc2lvbi5hcGlrZXksXG4gICAgICBzb3VyY2VzOiBbIHNvdXJjZVRvU3RvcmUgXSxcbiAgICAgIHRhc2tzOiBzdG9yZVRhc2tEZWYsXG4gICAgICB1cGxvYWRfdGFnczogdW5kZWZpbmVkLFxuICAgIH0sIHt9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXNwZWN0IHBhc3NlZCBzZWN1cml0eSBhbmQgcG9saWN5JywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGZha2VTZWN1cml0eSA9IHtcbiAgICAgIHNpZ25hdHVyZTogJ2Zha2VTJyxcbiAgICAgIHBvbGljeTogJ2Zha2VQJyxcbiAgICB9O1xuXG4gICAgYXdhaXQgc3RvcmVVUkwoeyBzZXNzaW9uOiBtb2NrZWRTZXNzaW9uLCB1cmw6IHNvdXJjZVRvU3RvcmUsIHNlY3VyaXR5OiBmYWtlU2VjdXJpdHkgfSk7XG5cbiAgICBleHBlY3QoRmlsZWxpbmsucHJvdG90eXBlLnNlY3VyaXR5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChmYWtlU2VjdXJpdHkpO1xuXG4gICAgZXhwZWN0KEZzUmVxdWVzdC5wb3N0KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChgJHttb2NrZWRTZXNzaW9uLnVybHMucHJvY2Vzc1VybH0vcHJvY2Vzc2AsIHtcbiAgICAgIGFwaWtleTogbW9ja2VkU2Vzc2lvbi5hcGlrZXksXG4gICAgICBzb3VyY2VzOiBbIHNvdXJjZVRvU3RvcmUgXSxcbiAgICAgIHRhc2tzOiBzdG9yZVRhc2tEZWYsXG4gICAgICB1cGxvYWRfdGFnczogdW5kZWZpbmVkLFxuICAgIH0sIHt9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciBvbiB3cm9uZyBzdG9yZSBwYXJhbXMnLCAoKSA9PiB7XG4gICAgcmV0dXJuIGV4cGVjdChzdG9yZVVSTCh7XG4gICAgICBzZXNzaW9uOiBtb2NrZWRTZXNzaW9uLFxuICAgICAgdXJsOiBzb3VyY2VUb1N0b3JlLFxuICAgICAgc3RvcmVQYXJhbXM6IHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB0ZXN0OiAxMjMsXG4gICAgICB9LFxuICAgIH0pKS5yZWplY3RzLnRvRXF1YWwoZXhwZWN0LmFueShGaWxlc3RhY2tFcnJvcikpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJlc3BlY3QgdG9rZW4gY2FuY2VsJywgYXN5bmMgKCkgPT4ge1xuICAgIC8vIHNpbXVsYXRlIG9sZCB0b2tlblxuICAgIGNvbnN0IHRva2VuID0ge1xuICAgICAgY2FuY2VsOiAoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdjYW5jZWwgbWV0aG9kJyk7XG4gICAgICB9LFxuICAgIH07XG5cbiAgICBhd2FpdCBzdG9yZVVSTCh7XG4gICAgICBzZXNzaW9uOiBtb2NrZWRTZXNzaW9uLFxuICAgICAgdXJsOiBzb3VyY2VUb1N0b3JlLFxuICAgICAgdG9rZW4sXG4gICAgfSk7XG5cbiAgICBleHBlY3QoRnNSZXF1ZXN0LnBvc3QpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGAke21vY2tlZFNlc3Npb24udXJscy5wcm9jZXNzVXJsfS9wcm9jZXNzYCwge1xuICAgICAgYXBpa2V5OiBtb2NrZWRTZXNzaW9uLmFwaWtleSxcbiAgICAgIHNvdXJjZXM6IFsgc291cmNlVG9TdG9yZSBdLFxuICAgICAgdGFza3M6IHN0b3JlVGFza0RlZixcbiAgICAgIHVwbG9hZF90YWdzOiB1bmRlZmluZWQsXG5cbiAgICAgIC8vIGV4cGVjdC5hbnkoRnNDYW5jZWxUb2tlbikgaXMgbm90IHdvcmtpbmcgY29ycmVjdGx5IHdpdGggbW9ja2VkIGZ1bmN0aW9uc1xuICAgIH0sIHsgY2FuY2VsVG9rZW46IGV4cGVjdC5hbnkoT2JqZWN0KSB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBwYXNzIHVwbG9hZCB0YWdzIHRvIHJlcXVlc3QnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgdXBsb2FkVGFncyA9IHsgdGVzdDogJzEyMycgfTtcblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHN0b3JlVVJMKHtcbiAgICAgIHNlc3Npb246IG1vY2tlZFNlc3Npb24sXG4gICAgICB1cmw6IHNvdXJjZVRvU3RvcmUsXG4gICAgICB1cGxvYWRUYWdzLFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KEZzUmVxdWVzdC5wb3N0KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChgJHttb2NrZWRTZXNzaW9uLnVybHMucHJvY2Vzc1VybH0vcHJvY2Vzc2AsIHtcbiAgICAgIGFwaWtleTogbW9ja2VkU2Vzc2lvbi5hcGlrZXksXG4gICAgICBzb3VyY2VzOiBbIHNvdXJjZVRvU3RvcmUgXSxcbiAgICAgIHRhc2tzOiBzdG9yZVRhc2tEZWYsXG4gICAgICB1cGxvYWRfdGFnczogdXBsb2FkVGFncyxcbiAgICB9LCB7fSk7XG5cbiAgICBleHBlY3QocmVzLnVwbG9hZFRhZ3MpLnRvRXF1YWwodXBsb2FkVGFncyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3Igd2hlbiBtaXNzaW5nIHVybCcsICgpID0+IHtcbiAgICByZXR1cm4gZXhwZWN0KHN0b3JlVVJMKHsgc2Vzc2lvbjogbW9ja2VkU2Vzc2lvbiB9KSkucmVqZWN0cy50b0VxdWFsKGV4cGVjdC5hbnkoRmlsZXN0YWNrRXJyb3IpKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBvbiBtaXNzaW5nIGhhbmRsZSBpbiByZXNwb25zZScsICgpID0+IHtcblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBGc1JlcXVlc3QucG9zdC5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgIGRhdGE6IHt9LFxuICAgIH0pKTtcblxuICAgIHJldHVybiBleHBlY3Qoc3RvcmVVUkwoe1xuICAgICAgc2Vzc2lvbjogbW9ja2VkU2Vzc2lvbixcbiAgICAgIHVybDogc291cmNlVG9TdG9yZSxcbiAgICB9KSkucmVqZWN0cy50b0VxdWFsKGV4cGVjdC5hbnkoRmlsZXN0YWNrRXJyb3IpKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBiZSBhYmxlIHRvIHJ1biBzdG9yZVVybCB3aXRoIHdvcmtmbG93cycsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBzdG9yZVVSTCh7XG4gICAgICBzZXNzaW9uOiBtb2NrZWRTZXNzaW9uLFxuICAgICAgdXJsOiBzb3VyY2VUb1N0b3JlLFxuICAgICAgd29ya2Zsb3dJZHMsXG4gICAgfSk7XG5cbiAgICBleHBlY3QoRnNSZXF1ZXN0LnBvc3QpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGAke21vY2tlZFNlc3Npb24udXJscy5wcm9jZXNzVXJsfS9wcm9jZXNzYCwge1xuICAgICAgYXBpa2V5OiBtb2NrZWRTZXNzaW9uLmFwaWtleSxcbiAgICAgIHNvdXJjZXM6IFsgc291cmNlVG9TdG9yZSBdLFxuICAgICAgdGFza3M6IHN0b3JlVGFza0RlZldpdGhXb3JrZmxvd3MsXG4gICAgfSwge30pO1xuICB9KTtcblxufSk7XG4iXX0=

@@ -96,2 +96,15 @@ import { Session } from '../client';

*/
export declare enum EAudioTypes {
libmp3lame = "libmp3lame",
libvorbis = "libvorbis",
libfdk_aac = "libfdk_aac",
dib_ac3 = "dib_ac3",
pcm_s16le = "pcm_s16le",
mp2 = "mp2",
ac3 = "ac3",
eac3 = "eac3"
}
/**
* Convert to format
*/
export declare enum EVideoTypes {

@@ -353,2 +366,3 @@ h264 = "h264",

audio_bitrate?: number;
audio_codec?: EAudioTypes;
upscale: boolean;

@@ -355,0 +369,0 @@ video_bitrate?: number;

@@ -140,2 +140,16 @@ /*

*/
export var EAudioTypes;
(function (EAudioTypes) {
EAudioTypes["libmp3lame"] = "libmp3lame";
EAudioTypes["libvorbis"] = "libvorbis";
EAudioTypes["libfdk_aac"] = "libfdk_aac";
EAudioTypes["dib_ac3"] = "dib_ac3";
EAudioTypes["pcm_s16le"] = "pcm_s16le";
EAudioTypes["mp2"] = "mp2";
EAudioTypes["ac3"] = "ac3";
EAudioTypes["eac3"] = "eac3";
})(EAudioTypes || (EAudioTypes = {}));
/**
* Convert to format
*/
export var EVideoTypes;

@@ -249,2 +263,2 @@ (function (EVideoTypes) {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3RyYW5zZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFHSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDOztHQUVHO0FBQ0gsSUFBTSxXQUFXLEdBQUcsVUFBQyxRQUFrQztJQUNyRCxJQUFJLFVBQVUsR0FBNkIsRUFBRSxDQUFDO0lBRTlDLElBQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFbkMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDcEMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFaEUsSUFBSSxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzlFLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDckQ7YUFBTTtZQUNMLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDeEM7S0FDRjtJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksYUFNWDtBQU5ELFdBQVksYUFBYTtJQUN2Qiw4QkFBYSxDQUFBO0lBQ2IsZ0NBQWUsQ0FBQTtJQUNmLGtDQUFpQixDQUFBO0lBQ2pCLGtDQUFpQixDQUFBO0lBQ2pCLDRCQUFXLENBQUE7QUFDYixDQUFDLEVBTlcsYUFBYSxLQUFiLGFBQWEsUUFNeEI7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLGtCQU9YO0FBUEQsV0FBWSxrQkFBa0I7SUFDNUIsbUNBQWEsQ0FBQTtJQUNiLHFDQUFlLENBQUE7SUFDZix1Q0FBaUIsQ0FBQTtJQUNqQix1Q0FBaUIsQ0FBQTtJQUNqQixpQ0FBVyxDQUFBO0lBQ1gscUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBUFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQU83QjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksV0FLWDtBQUxELFdBQVksV0FBVztJQUNyQiw0QkFBYSxDQUFBO0lBQ2IsNEJBQWEsQ0FBQTtJQUNiLDhCQUFlLENBQUE7SUFDZiwwQkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUxXLFdBQVcsS0FBWCxXQUFXLFFBS3RCO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLDhCQUFpQixDQUFBO0lBQ2pCLGtDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxTQUFTLEtBQVQsU0FBUyxRQUdwQjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksVUFHWDtBQUhELFdBQVksVUFBVTtJQUNwQiwyQkFBYSxDQUFBO0lBQ2IsMkJBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxVQUFVLEtBQVYsVUFBVSxRQUdyQjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksVUFLWDtBQUxELFdBQVksVUFBVTtJQUNwQiwyQkFBYSxDQUFBO0lBQ2IseUJBQVcsQ0FBQTtJQUNYLCtCQUFpQixDQUFBO0lBQ2pCLDJCQUFhLENBQUE7QUFDZixDQUFDLEVBTFcsVUFBVSxLQUFWLFVBQVUsUUFLckI7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLFVBR1g7QUFIRCxXQUFZLFVBQVU7SUFDcEIsaUNBQW1CLENBQUE7SUFDbkIsNkJBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcsVUFBVSxLQUFWLFVBQVUsUUFHckI7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLGVBSVg7QUFKRCxXQUFZLGVBQWU7SUFDekIsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYixrQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFKVyxlQUFlLEtBQWYsZUFBZSxRQUkxQjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksY0FJWDtBQUpELFdBQVksY0FBYztJQUN4QixpQ0FBZSxDQUFBO0lBQ2YsK0JBQWEsQ0FBQTtJQUNiLCtCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsY0FBYyxLQUFkLGNBQWMsUUFJekI7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLGNBR1g7QUFIRCxXQUFZLGNBQWM7SUFDeEIsNkJBQVcsQ0FBQTtJQUNYLCtCQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsY0FBYyxLQUFkLGNBQWMsUUFHekI7QUFFRCxNQUFNLENBQU4sSUFBWSx1QkFPWDtBQVBELFdBQVksdUJBQXVCO0lBQ2pDLHNDQUFXLENBQUE7SUFDWCw0Q0FBaUIsQ0FBQTtJQUNqQiw0Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBYSxDQUFBO0lBQ2IsNENBQWlCLENBQUE7SUFDakIsMENBQWUsQ0FBQTtBQUNqQixDQUFDLEVBUFcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQU9sQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksV0FhWDtBQWJELFdBQVksV0FBVztJQUNuQiw0QkFBYSxDQUFBO0lBQ2Isa0NBQW1CLENBQUE7SUFDbkIsNEJBQWEsQ0FBQTtJQUNiLGtDQUFxQixDQUFBO0lBQ3JCLDBCQUFXLENBQUE7SUFDWCxnQ0FBbUIsQ0FBQTtJQUNuQiwwQ0FBNkIsQ0FBQTtJQUM3QiwwQkFBVyxDQUFBO0lBQ1gsMEJBQVcsQ0FBQTtJQUNYLDBCQUFXLENBQUE7SUFDWCwwQkFBVyxDQUFBO0lBQ1gsd0NBQXlCLENBQUE7QUFDN0IsQ0FBQyxFQWJXLFdBQVcsS0FBWCxXQUFXLFFBYXRCO0FBRUQsTUFBTSxDQUFOLElBQVksbUJBR1g7QUFIRCxXQUFZLG1CQUFtQjtJQUM3QiwwQ0FBbUIsQ0FBQTtJQUNuQix3Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUc5QjtBQUVELE1BQU0sQ0FBTixJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDNUIsaUNBQVcsQ0FBQTtJQUNYLHVDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFIVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBRzdCO0FBRUQsTUFBTSxDQUFOLElBQVkseUJBR1g7QUFIRCxXQUFZLHlCQUF5QjtJQUNuQyxrREFBcUIsQ0FBQTtJQUNyQixvREFBdUIsQ0FBQTtBQUN6QixDQUFDLEVBSFcseUJBQXlCLEtBQXpCLHlCQUF5QixRQUdwQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksZUFNWDtBQU5ELFdBQVksZUFBZTtJQUN6Qiw0QkFBUyxDQUFBO0lBQ1Qsa0NBQWUsQ0FBQTtJQUNmLDhCQUFXLENBQUE7SUFDWCwwQ0FBdUIsQ0FBQTtJQUN2QixzQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTlcsZUFBZSxLQUFmLGVBQWUsUUFNMUI7QUFFRCxNQUFNLENBQU4sSUFBWSxZQUdYO0FBSEQsV0FBWSxZQUFZO0lBQ3RCLG1DQUFtQixDQUFBO0lBQ25CLGlDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFIVyxZQUFZLEtBQVosWUFBWSxRQUd2QjtBQUVELE1BQU0sQ0FBTixJQUFZLGdCQU1YO0FBTkQsV0FBWSxnQkFBZ0I7SUFDMUIseUNBQXFCLENBQUE7SUFDckIsMkNBQXVCLENBQUE7SUFDdkIsMkNBQXVCLENBQUE7SUFDdkIsK0JBQVcsQ0FBQTtJQUNYLGlDQUFhLENBQUE7QUFDZixDQUFDLEVBTlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQU0zQjtBQTBQRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCRztBQUNILE1BQU0sQ0FBQyxJQUFNLFNBQVMsR0FBRyxVQUFDLE9BQWdCLEVBQUUsR0FBc0IsRUFBRSxPQUE4QixFQUFFLEdBQW9CO0lBQXBELHdCQUFBLEVBQUEsWUFBOEI7SUFBRSxvQkFBQSxFQUFBLFdBQW9CO0lBQ3RILE9BQU8sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFL0IsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7UUFDdkMsT0FBTyxDQUFDLFFBQVEsR0FBRztZQUNqQixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDdEIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO1NBQzdCLENBQUM7S0FDSDtJQUVELElBQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkQsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV4QixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFDLEdBQTJCO1FBQ3ZELElBQUksT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsS0FBSyxPQUFPLEVBQUU7WUFDekUsT0FBTztTQUNSO1FBRUQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUM3QixDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS90cmFuc2Zvcm0uanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBTZXNzaW9uIH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IEZpbGVsaW5rIH0gZnJvbSAnLi8uLi9maWxlbGluayc7XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuY29uc3QgdG9TbmFrZUNhc2UgPSAob3JpZ2luYWw6IHsgW2luZGV4OiBzdHJpbmddOiBhbnkgfSk6IHsgW2luZGV4OiBzdHJpbmddOiBhbnkgfSA9PiB7XG4gIGxldCBzbmFrZUNhc2VkOiB7IFtpbmRleDogc3RyaW5nXTogYW55IH0gPSB7fTtcblxuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMob3JpZ2luYWwpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgIGxldCBuZXdLZXkgPSBrZXlzW2ldLnNwbGl0KC8oPz1bQS1aXSkvKS5qb2luKCdfJykudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmICh0eXBlb2Ygb3JpZ2luYWxba2V5c1tpXV0gPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KG9yaWdpbmFsW2tleXNbaV1dKSkge1xuICAgICAgc25ha2VDYXNlZFtuZXdLZXldID0gdG9TbmFrZUNhc2Uob3JpZ2luYWxba2V5c1tpXV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBzbmFrZUNhc2VkW25ld0tleV0gPSBvcmlnaW5hbFtrZXlzW2ldXTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc25ha2VDYXNlZDtcbn07XG5cbi8qKlxuICogQWxpZ24gZW51bVxuICovXG5leHBvcnQgZW51bSBFQWxpZ25PcHRpb25zIHtcbiAgbGVmdCA9ICdsZWZ0JyxcbiAgcmlnaHQgPSAncmlnaHQnLFxuICBjZW50ZXIgPSAnY2VudGVyJyxcbiAgYm90dG9tID0gJ2JvdHRvbScsXG4gIHRvcCA9ICd0b3AnLFxufVxuXG4vKipcbiAqIEFsaWduIGVudW0gd2l0aCBmYWNlcyBvcHRpb25cbiAqL1xuZXhwb3J0IGVudW0gRUFsaWduRmFjZXNPcHRpb25zIHtcbiAgbGVmdCA9ICdsZWZ0JyxcbiAgcmlnaHQgPSAncmlnaHQnLFxuICBjZW50ZXIgPSAnY2VudGVyJyxcbiAgYm90dG9tID0gJ2JvdHRvbScsXG4gIHRvcCA9ICd0b3AnLFxuICBmYWNlcyA9ICdmYWNlcycsXG59XG5cbi8qKlxuICogRml0IGVudW1cbiAqL1xuZXhwb3J0IGVudW0gRUZpdE9wdGlvbnMge1xuICBjbGlwID0gJ2NsaXAnLFxuICBjcm9wID0gJ2Nyb3AnLFxuICBzY2FsZSA9ICdzY2FsZScsXG4gIG1heCA9ICdtYXgnLFxufVxuXG4vKipcbiAqIEJsdXIgZW51bVxuICovXG5leHBvcnQgZW51bSBFQmx1ck1vZGUge1xuICBsaW5lYXIgPSAnbGluZWFyJyxcbiAgZ2F1c3NpYW4gPSAnZ2F1c3NpYW4nLFxufVxuXG4vKipcbiAqIFNoYXBlcyBlbnVtXG4gKi9cbmV4cG9ydCBlbnVtIEVTaGFwZVR5cGUge1xuICBvdmFsID0gJ292YWwnLFxuICByZWN0ID0gJ3JlY3QnLFxufVxuXG4vKipcbiAqIE5vaXNlIHR5cGUgZW51bVxuICovXG5leHBvcnQgZW51bSBFTm9pc2VUeXBlIHtcbiAgbm9uZSA9ICdub25lJyxcbiAgbG93ID0gJ2xvdycsXG4gIG1lZGl1bSA9ICdtZWRpdW0nLFxuICBoaWdoID0gJ2hpZ2gnLFxufVxuXG4vKipcbiAqIFN0eWxlIHR5cGUgZW51bVxuICovXG5leHBvcnQgZW51bSBFU3R5bGVUeXBlIHtcbiAgYXJ0d29yayA9ICdhcnR3b3JrJyxcbiAgcGhvdG8gPSAncGhvdG8nLFxufVxuXG4vKipcbiAqIENvbG9yIHNwYWNlIGVudW1cbiAqL1xuZXhwb3J0IGVudW0gRUNvbG9yc3BhY2VUeXBlIHtcbiAgUkdCID0gJ1JHQicsXG4gIENNWUsgPSAnQ01ZSycsXG4gIElucHV0ID0gJ0lucHV0Jyxcbn1cblxuLyoqXG4gKiBDcm9wIGZhY2VzIG9wdGlvbnMgZW51bVxuICovXG5leHBvcnQgZW51bSBFQ3JvcGZhY2VzVHlwZSB7XG4gIHRodW1iID0gJ3RodW1iJyxcbiAgY3JvcCA9ICdjcm9wJyxcbiAgZmlsbCA9ICdmaWxsJyxcbn1cblxuLyoqXG4gKiBTbWFydENyb3AgbW9kZSBvcHRpb25zIGVudW1cbiAqL1xuZXhwb3J0IGVudW0gRVNtYXJ0Q3JvcE1vZGUge1xuICBmaXQgPSAnZml0JyxcbiAgYXV0byA9ICdhdXRvJyxcbn1cblxuZXhwb3J0IGVudW0gRUltYWdlV2F0ZXJtYXJrUG9zaXRpb24ge1xuICB0b3AgPSAndG9wJyxcbiAgbWlkZGxlID0gJ21pZGRsZScsXG4gIGJvdHRvbSA9ICdib3R0b20nLFxuICBsZWZ0ID0gJ2xlZnQnLFxuICBjZW50ZXIgPSAnY2VudGVyJyxcbiAgcmlnaHQgPSAncmlnaHQnLFxufVxuXG4vKipcbiAqIENvbnZlcnQgdG8gZm9ybWF0XG4gKi9cbmV4cG9ydCBlbnVtIEVWaWRlb1R5cGVzIHtcbiAgICBoMjY0ID0gJ2gyNjQnLFxuICAgIGgyNjRfaGkgPSAnaDI2NC5oaScsXG4gICAgd2VibSA9ICd3ZWJtJyxcbiAgICAnd2VibS1oaScgPSAnd2VibS5oaScsXG4gICAgb2dnID0gJ29nZycsXG4gICAgJ29nZy1oaScgPSAnb2dnLmhpJyxcbiAgICAnaGxzLXZhcmlhbnQnID0gJ2hscy52YXJpYW50JyxcbiAgICBtcDMgPSAnbXAzJyxcbiAgICBvZ2EgPSAnb2dhJyxcbiAgICBtNGEgPSAnbTRhJyxcbiAgICBhYWMgPSAnYWFjJyxcbiAgICBobHMgPSAnaGxzLnZhcmlhbnQuYXVkaW8nLFxufVxuXG5leHBvcnQgZW51bSBFVXJsc2NyZWVuc2hvdEFnZW50IHtcbiAgZGVza3RvcCA9ICdkZXNrdG9wJyxcbiAgbW9iaWxlID0gJ21vYmlsZScsXG59XG5cbmV4cG9ydCBlbnVtIEVVcmxzY3JlZW5zaG90TW9kZSB7XG4gIGFsbCA9ICdhbGwnLFxuICB3aW5kb3cgPSAnd2luZG93Jyxcbn1cblxuZXhwb3J0IGVudW0gRVVybHNjcmVlbnNob3RPcmllbnRhdGlvbiB7XG4gIHBvcnRyYWl0ID0gJ3BvcnRyYWl0JyxcbiAgbGFuZHNjYXBlID0gJ2xhbmRzY2FwZScsXG59XG5cbi8qKlxuICogVmlkZW8gc3RvcmFnZSBsb2NhdGlvblxuICovXG5leHBvcnQgZW51bSBFVmlkZW9Mb2NhdGlvbnMge1xuICBzMyA9ICdzMycsXG4gIGF6dXJlID0gJ2F6dXJlJyxcbiAgZ2NzID0gJ2djcycsXG4gIHJhY2tzcGFjZSA9ICdyYWNrc3BhY2UnLFxuICBkcm9wYm94ID0gJ2Ryb3Bib3gnLFxufVxuXG5leHBvcnQgZW51bSBFVmlkZW9BY2Nlc3Mge1xuICBwcml2YXRlID0gJ3ByaXZhdGUnLFxuICBwdWJsaWMgPSAncHVibGljJyxcbn1cblxuZXhwb3J0IGVudW0gRVZpZGVvQWNjZXNzTW9kZSB7XG4gIHByZXNlcnZlID0gJ3ByZXNlcnZlJyxcbiAgY29uc3RyYWluID0gJ2NvbnN0cmFpbicsXG4gIGxldHRlcmJveCA9ICdsZXR0ZXJib3gnLFxuICBwYWQgPSAncGFkJyxcbiAgY3JvcCA9ICdjcm9wJyxcbn1cblxuLyoqXG4gKiBAc2VlIGh0dHBzOi8vd3d3LmZpbGVzdGFjay5jb20vZG9jcy9pbWFnZS10cmFuc2Zvcm1hdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2Zvcm1PcHRpb25zIHtcbiAgZmxpcD86IGJvb2xlYW47XG4gIGNvbXByZXNzPzogYm9vbGVhbjtcbiAgZmxvcD86IGJvb2xlYW47XG4gIG5vX21ldGFkYXRhPzogYm9vbGVhbjtcbiAgcGpwZz86IHtcbiAgICBxdWFsaXR5OiBudW1iZXI7XG4gICAgbWV0YWRhdGE6IGJvb2xlYW47XG4gIH07XG4gIHNtYXJ0X2Nyb3A/OiB7XG4gICAgbW9kZT86IEVTbWFydENyb3BNb2RlXG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBoZWlnaHQ6IG51bWJlcjtcbiAgfTtcbiAgd2F0ZXJtYXJrPzoge1xuICAgIGZpbGVzOiBzdHJpbmc7XG4gICAgc2l6ZT86IG51bWJlcjtcbiAgICBwb3NpdGlvbj86IEVJbWFnZVdhdGVybWFya1Bvc2l0aW9uIHwgRUltYWdlV2F0ZXJtYXJrUG9zaXRpb25bXTtcbiAgfTtcbiAgaW1hZ2VzaXplPzogYm9vbGVhbjtcbiAgZW5jaGFuY2U/OiBib29sZWFuO1xuICByZWRleWU/OiBib29sZWFuO1xuICBtb25vY2hyb21lPzogYm9vbGVhbjtcbiAgbmVnYXRpdmU/OiBib29sZWFuO1xuICB0YWdzPzogYm9vbGVhbjtcbiAgc2Z3PzogYm9vbGVhbjtcbiAgc3RvcmU/OiB7XG4gICAgZmlsZW5hbWU/OiBzdHJpbmcsXG4gICAgbG9jYXRpb24/OiBzdHJpbmcsXG4gICAgcGF0aD86IHN0cmluZyxcbiAgICBjb250YWluZXI/OiBzdHJpbmcsXG4gICAgcmVnaW9uPzogc3RyaW5nO1xuICAgIGFjY2Vzcz86IHN0cmluZztcbiAgICBiYXNlNjRkZWNvZGU/OiBib29sZWFuO1xuICB9O1xuICByZXNpemU/OiB7XG4gICAgd2lkdGg/OiBudW1iZXI7XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgIGZpdD86IEVGaXRPcHRpb25zO1xuICAgIGFsaWduPzogRUFsaWduRmFjZXNPcHRpb25zO1xuICB9O1xuICBjcm9wPzoge1xuICAgIGRpbTogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cbiAgfTtcbiAgcm90YXRlPzoge1xuICAgIGRlZzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIH07XG4gIGRldGVjdF9mYWNlcz86IHtcbiAgICBtaW5zaXplPzogbnVtYmVyO1xuICAgIG1heHNpemU/OiBudW1iZXI7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgZXhwb3J0PzogYm9vbGVhbjtcbiAgfSB8IHRydWU7XG4gIGNyb3BfZmFjZXM/OiB7XG4gICAgbW9kZT86IEVDcm9wZmFjZXNUeXBlO1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICBmYWNlcz86IG51bWJlciB8IHN0cmluZztcbiAgICBidWZmZXI/OiBudW1iZXI7XG4gIH07XG4gIHBpeGVsYXRlX2ZhY2VzPzoge1xuICAgIGZhY2VzPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIG1pbnNpemU/OiBudW1iZXI7XG4gICAgbWF4c2l6ZT86IG51bWJlcjtcbiAgICBidWZmZXI/OiBudW1iZXI7XG4gICAgYW1vdW50PzogbnVtYmVyO1xuICAgIGJsdXI/OiBudW1iZXI7XG4gICAgdHlwZT86IEVTaGFwZVR5cGU7XG4gIH07XG4gIGJsdXJfZmFjZXM/OiB7XG4gICAgZmFjZXM/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgbWluc2l6ZT86IG51bWJlcjtcbiAgICBtYXhzaXplPzogbnVtYmVyO1xuICAgIGJ1ZmZlcj86IG51bWJlcjtcbiAgICBhbW91bnQ/OiBudW1iZXI7XG4gICAgYmx1cj86IG51bWJlcjtcbiAgICB0eXBlPzogRVNoYXBlVHlwZTtcbiAgfTtcbiAgcm91bmRlZF9jb3JuZXJzPzoge1xuICAgIHJhZGl1cz86IG51bWJlcjtcbiAgICBibHVyPzogbnVtYmVyO1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIH0gfCB0cnVlO1xuICB2aWduZXR0ZT86IHtcbiAgICBhbW91bnQ/OiBudW1iZXI7XG4gICAgYmx1cm1vZGU/OiBFQmx1ck1vZGU7XG4gICAgYmFja2dyb3VuZD86IHN0cmluZztcbiAgfTtcbiAgcG9sYXJvaWQ/OiB7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgcm90YXRlPzogbnVtYmVyO1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIH0gfCB0cnVlO1xuICB0b3JuX2VkZ2VzPzoge1xuICAgIHNwcmVhZD86IFtudW1iZXIsIG51bWJlcl07XG4gICAgYmFja2dyb3VuZD86IHN0cmluZztcbiAgfSB8IHRydWU7XG4gIHNoYWRvdz86IHtcbiAgICBibHVyPzogbnVtYmVyO1xuICAgIG9wYWNpdHk/OiBudW1iZXI7XG4gICAgdmVjdG9yPzogW251bWJlciwgbnVtYmVyXTtcbiAgICBjb2xvcj86IHN0cmluZztcbiAgICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICB9IHwgdHJ1ZTtcbiAgY2lyY2xlPzoge1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIH0gfCB0cnVlO1xuICBib3JkZXI/OiB7XG4gICAgd2lkdGg/OiBudW1iZXI7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgYmFja2dyb3VuZD86IHN0cmluZztcbiAgfSB8IHRydWU7XG4gIHNoYXJwZW4/OiB7XG4gICAgYW1vdW50OiBudW1iZXI7XG4gIH0gfCB0cnVlO1xuICBibHVyPzoge1xuICAgIGFtb3VudDogbnVtYmVyO1xuICB9IHwgdHJ1ZTtcbiAgYmxhY2t3aGl0ZT86IHtcbiAgICB0aHJlc2hvbGQ6IG51bWJlcjtcbiAgfSB8IHRydWU7XG4gIHNlcGlhPzoge1xuICAgIHRvbmU6IG51bWJlcjtcbiAgfSB8IHRydWU7XG4gIHBpeGVsYXRlPzoge1xuICAgIGFtb3VudDogbnVtYmVyO1xuICB9IHwgdHJ1ZTtcbiAgb2lsX3BhaW50Pzoge1xuICAgIGFtb3VudDogbnVtYmVyO1xuICB9IHwgdHJ1ZTtcbiAgbW9kdWxhdGU/OiB7XG4gICAgYnJpZ2h0bmVzcz86IG51bWJlcjtcbiAgICBodWU/OiBudW1iZXI7XG4gICAgc2F0dXJhdGlvbj86IG51bWJlcjtcbiAgfSB8IHRydWU7XG4gIHBhcnRpYWxfcGl4ZWxhdGU/OiB7XG4gICAgYW1vdW50PzogbnVtYmVyO1xuICAgIGJsdXI/OiBudW1iZXI7XG4gICAgdHlwZT86IEVTaGFwZVR5cGU7XG4gICAgb2JqZWN0cz86IFtbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXV07XG4gIH07XG4gIHBhcnRpYWxfYmx1cj86IHtcbiAgICBhbW91bnQ6IG51bWJlcjtcbiAgICBibHVyPzogbnVtYmVyO1xuICAgIHR5cGU/OiBFU2hhcGVUeXBlO1xuICAgIG9iamVjdHM/OiBbW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1dO1xuICB9O1xuICBjb2xsYWdlPzoge1xuICAgIG1hcmdpbj86IG51bWJlcjtcbiAgICB3aWR0aD86IG51bWJlcjtcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgZml0PzogRUZpdE9wdGlvbnMsXG4gICAgZmlsZXM6IFtzdHJpbmddO1xuICB9O1xuICB1cHNjYWxlPzoge1xuICAgIHVwc2NhbGU/OiBib29sZWFuO1xuICAgIG5vaXNlPzogRU5vaXNlVHlwZTtcbiAgICBzdHlsZT86IEVTdHlsZVR5cGU7XG4gIH0gfCB0cnVlO1xuICBhc2NpaT86IHtcbiAgICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICAgIGZvcmVncm91bmQ/OiBzdHJpbmc7XG4gICAgY29sb3JlZD86IGJvb2xlYW47XG4gICAgc2l6ZT86IG51bWJlcjtcbiAgICByZXZlcnNlPzogYm9vbGVhbjtcbiAgfSB8IHRydWU7XG4gIHF1YWxpdHk/OiB7XG4gICAgdmFsdWU6IG51bWJlcjtcbiAgfTtcbiAgc2VjdXJpdHk/OiB7XG4gICAgcG9saWN5OiBzdHJpbmc7XG4gICAgc2lnbmF0dXJlPzogc3RyaW5nO1xuICB9O1xuICBvdXRwdXQ/OiB7XG4gICAgZm9ybWF0OiBzdHJpbmc7XG4gICAgY29sb3JzcGFjZT86IHN0cmluZztcbiAgICBzdHJpcD86IGJvb2xlYW47XG4gICAgcXVhbGl0eT86IG51bWJlcjtcbiAgICBwYWdlPzogbnVtYmVyO1xuICAgIGNvbXByZXNzPzogYm9vbGVhbjtcbiAgICBkZW5zaXR5PzogbnVtYmVyO1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gICAgc2VjdXJlPzogYm9vbGVhbjtcbiAgICBkb2NpbmZvPzogYm9vbGVhbjtcbiAgICBwYWdlZm9ybWF0Pzogc3RyaW5nO1xuICAgIHBhZ2VvcmllbnRhdGlvbj86IHN0cmluZztcbiAgfTtcbiAgY2FjaGU/OiB7XG4gICAgY2FjaGU/OiBib29sZWFuO1xuICAgIGV4cGlyeTogbnVtYmVyO1xuICB9O1xuICAvLyBhdWRpby92aWRlb1xuICB2aWRlb19jb252ZXJ0Pzoge1xuICAgIGFzcGVjdF9tb2RlOiBFVmlkZW9BY2Nlc3NNb2RlO1xuICAgIHByZXNldD86IEVWaWRlb1R5cGVzO1xuICAgIGZvcmNlPzogYm9vbGVhbjtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBleHRuYW1lPzogc3RyaW5nO1xuICAgIGZpbGVuYW1lPzogc3RyaW5nO1xuICAgIGxvY2F0aW9uPzogRVZpZGVvTG9jYXRpb25zO1xuICAgIHBhdGg/OiBzdHJpbmc7XG4gICAgYWNjZXNzPzogRVZpZGVvQWNjZXNzO1xuICAgIGNvbnRhaW5lcj86IHN0cmluZztcbiAgICBhdWRpb19iaXRyYXRlPzogbnVtYmVyO1xuICAgIHVwc2NhbGU6IGJvb2xlYW47XG4gICAgdmlkZW9fYml0cmF0ZT86IG51bWJlcjtcbiAgICBhdWRpb19zYW1wbGVfcmF0ZT86IG51bWJlcjtcbiAgICBhdWRpb19jaGFubmVscz86IG51bWJlcjtcbiAgICBjbGlwX2xlbmd0aD86IHN0cmluZztcbiAgICBjbGlwX29mZnNldD86IHN0cmluZztcbiAgICB3aWR0aD86IG51bWJlcjtcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgdHdvX3Bhc3M/OiBib29sZWFuO1xuICAgIGZwcz86IG51bWJlcjtcbiAgICBrZXlmcmFtZV9pbnRlcnZhbD86IG51bWJlcjtcbiAgICB3YXRlcm1hcmtfdXJsPzogc3RyaW5nO1xuICAgIHdhdGVybWFya190b3A/OiBudW1iZXI7XG4gICAgd2F0ZXJtYXJrX2JvdHRvbT86IG51bWJlcjtcbiAgICB3YXRlcm1hcmtfcmlnaHQ/OiBudW1iZXI7XG4gICAgd2F0ZXJtYXJrX2xlZnQ/OiBudW1iZXI7XG4gICAgd2F0ZXJtYXJrX3dpZHRoPzogbnVtYmVyO1xuICAgIHdhdGVybWFya19oZWlnaHQ/OiBudW1iZXI7XG4gIH07XG4gIHVybHNjcmVlbnNob3Q/OiB7XG4gICAgYWdlbnQ/OiBFVXJsc2NyZWVuc2hvdEFnZW50O1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICBtb2RlPzogRVVybHNjcmVlbnNob3RNb2RlO1xuICAgIGRlbGF5PzogbnVtYmVyO1xuICAgIG9yaWVudGF0aW9uPzogRVVybHNjcmVlbnNob3RPcmllbnRhdGlvbjtcbiAgICBkZXZpY2U/OiBzdHJpbmc7XG4gIH0gfCB0cnVlO1xuICBwZGZpbmZvPzoge1xuICAgIGNvbG9yaW5mbz86IGJvb2xlYW5cbiAgfSB8IHRydWU7XG4gIHBkZmNvbnZlcnQ/OiB7XG4gICAgcGFnZW9yaWVudGF0aW9uPzogc3RyaW5nXG4gICAgcGFnZWZvcm1hdD86IHN0cmluZ1xuICAgIHBhZ2VzPzogKHN0cmluZyB8IG51bWJlcilbXVxuICB9O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgZmlsZXN0YWNrIHRyYW5zZm9ybSB1cmwuXG4gKiBUcmFuc2Zvcm0gcGFyYW1zIGNhbiBiZSBwcm92aWRlZCBpbiBjYW1lbENhc2Ugb3Igc25ha2VDYXNlIHN0eWxlXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGpzXG4gKiAvLyBjYW1lbENhc2VcbiAqIGNvbnNvbGUubG9nKHRyYW5zZm9ybShzZXNzaW9uLCB7XG4gKiAgICBwYXJ0aWFsUGl4ZWxhdGU6IHtcbiAqICAgICAgb2JqZWN0czogW1sxMCwgMjAsIDIwMCwgMjUwXSwgWzI3NSwgOTEsIDUwMCwgNTU3XV0sXG4gKiAgICB9LFxuICogIH0sICd0ZXN0ZmlsZScpKTtcbiAqIGBgYFxuICogcmVzdWx0ID0+IGh0dHBzOi8vY2RuLmZpbGVzdGFja2NvbnRlbnQuY29tL3BhcnRpYWxfcGl4ZWxhdGU9b2JqZWN0czpbWzEwLDIwLDIwMCwyNTBdLFsyNzUsOTEsNTAwLDU1N11dL3Rlc3RmaWxlXG4gKlxuICogYGBganNcbiAqIC8vIHNuYWtlX2Nhc2VcbiAqIGNvbnNvbGUubG9nKHRyYW5zZm9ybShzZXNzaW9uLCB7XG4gKiAgICBwYXJ0aWFsX3BpeGVsYXRlOiB7XG4gKiAgICAgIG9iamVjdHM6IFtbMTAsIDIwLCAyMDAsIDI1MF0sIFsyNzUsIDkxLCA1MDAsIDU1N11dLFxuICogICAgfSxcbiAqICB9LCAndGVzdGZpbGUnKSk7XG4gKiBgYGBcbiAqIHJlc3VsdCA9PiBodHRwczovL2Nkbi5maWxlc3RhY2tjb250ZW50LmNvbS9wYXJ0aWFsX3BpeGVsYXRlPW9iamVjdHM6W1sxMCwyMCwyMDAsMjUwXSxbMjc1LDkxLDUwMCw1NTddXS90ZXN0ZmlsZVxuICpcbiAqIENsaWVudC50cmFuc2Zvcm0gaXMgZGVwcmVjYXRlZC4gVXNlIEZpbGVsaW5rIGNsYXNzIGluc3RlYWRcbiAqXG4gKiBAcHJpdmF0ZVxuICogQHRocm93cyBFcnJvclxuICogQHBhcmFtIG9wdGlvbnMgVHJhbnNmb3JtYXRpb24gb3B0aW9uc1xuICogQHBhcmFtIHVybCB1cmwsIGhhbmRsZSBvciBhcnJheSBvZiBlbGVtZW50c1xuICovXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtID0gKHNlc3Npb246IFNlc3Npb24sIHVybDogc3RyaW5nIHwgc3RyaW5nW10sIG9wdGlvbnM6IFRyYW5zZm9ybU9wdGlvbnMgPSB7fSwgYjY0OiBib29sZWFuID0gZmFsc2UpOiBzdHJpbmcgPT4ge1xuICBvcHRpb25zID0gdG9TbmFrZUNhc2Uob3B0aW9ucyk7XG5cbiAgaWYgKHNlc3Npb24ucG9saWN5ICYmIHNlc3Npb24uc2lnbmF0dXJlKSB7XG4gICAgb3B0aW9ucy5zZWN1cml0eSA9IHtcbiAgICAgIHBvbGljeTogc2Vzc2lvbi5wb2xpY3ksXG4gICAgICBzaWduYXR1cmU6IHNlc3Npb24uc2lnbmF0dXJlLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBmaWxlbGluayA9IG5ldyBGaWxlbGluayh1cmwsIHNlc3Npb24uYXBpa2V5KTtcbiAgZmlsZWxpbmsuc2V0Q25hbWUoc2Vzc2lvbi5jbmFtZSk7XG4gIGZpbGVsaW5rLnNldEJhc2U2NChiNjQpO1xuXG4gIE9iamVjdC5rZXlzKG9wdGlvbnMpLmZvckVhY2goKGtleToga2V5b2YgVHJhbnNmb3JtT3B0aW9ucykgPT4ge1xuICAgIGlmICh0eXBlb2Ygb3B0aW9uc1trZXldID09PSAnYm9vbGVhbicgJiYgIW9wdGlvbnNba2V5XSAmJiBrZXkgIT09ICdjYWNoZScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmaWxlbGluay5hZGRUYXNrKGtleSwgb3B0aW9uc1trZXldKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGZpbGVsaW5rLnRvU3RyaW5nKCk7XG59O1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3RyYW5zZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFHSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDOztHQUVHO0FBQ0gsSUFBTSxXQUFXLEdBQUcsVUFBQyxRQUFrQztJQUNyRCxJQUFJLFVBQVUsR0FBNkIsRUFBRSxDQUFDO0lBRTlDLElBQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFbkMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDcEMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFaEUsSUFBSSxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzlFLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDckQ7YUFBTTtZQUNMLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDeEM7S0FDRjtJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksYUFNWDtBQU5ELFdBQVksYUFBYTtJQUN2Qiw4QkFBYSxDQUFBO0lBQ2IsZ0NBQWUsQ0FB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RyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDN0IsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9hcGkvdHJhbnNmb3JtLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgU2Vzc2lvbiB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgeyBGaWxlbGluayB9IGZyb20gJy4vLi4vZmlsZWxpbmsnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmNvbnN0IHRvU25ha2VDYXNlID0gKG9yaWdpbmFsOiB7IFtpbmRleDogc3RyaW5nXTogYW55IH0pOiB7IFtpbmRleDogc3RyaW5nXTogYW55IH0gPT4ge1xuICBsZXQgc25ha2VDYXNlZDogeyBbaW5kZXg6IHN0cmluZ106IGFueSB9ID0ge307XG5cbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKG9yaWdpbmFsKTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICBsZXQgbmV3S2V5ID0ga2V5c1tpXS5zcGxpdCgvKD89W0EtWl0pLykuam9pbignXycpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBpZiAodHlwZW9mIG9yaWdpbmFsW2tleXNbaV1dID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShvcmlnaW5hbFtrZXlzW2ldXSkpIHtcbiAgICAgIHNuYWtlQ2FzZWRbbmV3S2V5XSA9IHRvU25ha2VDYXNlKG9yaWdpbmFsW2tleXNbaV1dKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc25ha2VDYXNlZFtuZXdLZXldID0gb3JpZ2luYWxba2V5c1tpXV07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHNuYWtlQ2FzZWQ7XG59O1xuXG4vKipcbiAqIEFsaWduIGVudW1cbiAqL1xuZXhwb3J0IGVudW0gRUFsaWduT3B0aW9ucyB7XG4gIGxlZnQgPSAnbGVmdCcsXG4gIHJpZ2h0ID0gJ3JpZ2h0JyxcbiAgY2VudGVyID0gJ2NlbnRlcicsXG4gIGJvdHRvbSA9ICdib3R0b20nLFxuICB0b3AgPSAndG9wJyxcbn1cblxuLyoqXG4gKiBBbGlnbiBlbnVtIHdpdGggZmFjZXMgb3B0aW9uXG4gKi9cbmV4cG9ydCBlbnVtIEVBbGlnbkZhY2VzT3B0aW9ucyB7XG4gIGxlZnQgPSAnbGVmdCcsXG4gIHJpZ2h0ID0gJ3JpZ2h0JyxcbiAgY2VudGVyID0gJ2NlbnRlcicsXG4gIGJvdHRvbSA9ICdib3R0b20nLFxuICB0b3AgPSAndG9wJyxcbiAgZmFjZXMgPSAnZmFjZXMnLFxufVxuXG4vKipcbiAqIEZpdCBlbnVtXG4gKi9cbmV4cG9ydCBlbnVtIEVGaXRPcHRpb25zIHtcbiAgY2xpcCA9ICdjbGlwJyxcbiAgY3JvcCA9ICdjcm9wJyxcbiAgc2NhbGUgPSAnc2NhbGUnLFxuICBtYXggPSAnbWF4Jyxcbn1cblxuLyoqXG4gKiBCbHVyIGVudW1cbiAqL1xuZXhwb3J0IGVudW0gRUJsdXJNb2RlIHtcbiAgbGluZWFyID0gJ2xpbmVhcicsXG4gIGdhdXNzaWFuID0gJ2dhdXNzaWFuJyxcbn1cblxuLyoqXG4gKiBTaGFwZXMgZW51bVxuICovXG5leHBvcnQgZW51bSBFU2hhcGVUeXBlIHtcbiAgb3ZhbCA9ICdvdmFsJyxcbiAgcmVjdCA9ICdyZWN0Jyxcbn1cblxuLyoqXG4gKiBOb2lzZSB0eXBlIGVudW1cbiAqL1xuZXhwb3J0IGVudW0gRU5vaXNlVHlwZSB7XG4gIG5vbmUgPSAnbm9uZScsXG4gIGxvdyA9ICdsb3cnLFxuICBtZWRpdW0gPSAnbWVkaXVtJyxcbiAgaGlnaCA9ICdoaWdoJyxcbn1cblxuLyoqXG4gKiBTdHlsZSB0eXBlIGVudW1cbiAqL1xuZXhwb3J0IGVudW0gRVN0eWxlVHlwZSB7XG4gIGFydHdvcmsgPSAnYXJ0d29yaycsXG4gIHBob3RvID0gJ3Bob3RvJyxcbn1cblxuLyoqXG4gKiBDb2xvciBzcGFjZSBlbnVtXG4gKi9cbmV4cG9ydCBlbnVtIEVDb2xvcnNwYWNlVHlwZSB7XG4gIFJHQiA9ICdSR0InLFxuICBDTVlLID0gJ0NNWUsnLFxuICBJbnB1dCA9ICdJbnB1dCcsXG59XG5cbi8qKlxuICogQ3JvcCBmYWNlcyBvcHRpb25zIGVudW1cbiAqL1xuZXhwb3J0IGVudW0gRUNyb3BmYWNlc1R5cGUge1xuICB0aHVtYiA9ICd0aHVtYicsXG4gIGNyb3AgPSAnY3JvcCcsXG4gIGZpbGwgPSAnZmlsbCcsXG59XG5cbi8qKlxuICogU21hcnRDcm9wIG1vZGUgb3B0aW9ucyBlbnVtXG4gKi9cbmV4cG9ydCBlbnVtIEVTbWFydENyb3BNb2RlIHtcbiAgZml0ID0gJ2ZpdCcsXG4gIGF1dG8gPSAnYXV0bycsXG59XG5cbmV4cG9ydCBlbnVtIEVJbWFnZVdhdGVybWFya1Bvc2l0aW9uIHtcbiAgdG9wID0gJ3RvcCcsXG4gIG1pZGRsZSA9ICdtaWRkbGUnLFxuICBib3R0b20gPSAnYm90dG9tJyxcbiAgbGVmdCA9ICdsZWZ0JyxcbiAgY2VudGVyID0gJ2NlbnRlcicsXG4gIHJpZ2h0ID0gJ3JpZ2h0Jyxcbn1cblxuLyoqXG4gKiBDb252ZXJ0IHRvIGZvcm1hdFxuICovXG5leHBvcnQgZW51bSBFQXVkaW9UeXBlcyB7XG4gIGxpYm1wM2xhbWUgPSAnbGlibXAzbGFtZScsXG4gIGxpYnZvcmJpcyA9ICdsaWJ2b3JiaXMnLFxuICBsaWJmZGtfYWFjID0gJ2xpYmZka19hYWMnLFxuICBkaWJfYWMzID0gJ2RpYl9hYzMnLFxuICBwY21fczE2bGUgPSAncGNtX3MxNmxlJyxcbiAgbXAyID0gJ21wMicsXG4gIGFjMyA9ICdhYzMnLFxuICBlYWMzID0gJ2VhYzMnLFxufVxuXG4vKipcbiAqIENvbnZlcnQgdG8gZm9ybWF0XG4gKi9cbmV4cG9ydCBlbnVtIEVWaWRlb1R5cGVzIHtcbiAgICBoMjY0ID0gJ2gyNjQnLFxuICAgIGgyNjRfaGkgPSAnaDI2NC5oaScsXG4gICAgd2VibSA9ICd3ZWJtJyxcbiAgICAnd2VibS1oaScgPSAnd2VibS5oaScsXG4gICAgb2dnID0gJ29nZycsXG4gICAgJ29nZy1oaScgPSAnb2dnLmhpJyxcbiAgICAnaGxzLXZhcmlhbnQnID0gJ2hscy52YXJpYW50JyxcbiAgICBtcDMgPSAnbXAzJyxcbiAgICBvZ2EgPSAnb2dhJyxcbiAgICBtNGEgPSAnbTRhJyxcbiAgICBhYWMgPSAnYWFjJyxcbiAgICBobHMgPSAnaGxzLnZhcmlhbnQuYXVkaW8nLFxufVxuXG5leHBvcnQgZW51bSBFVXJsc2NyZWVuc2hvdEFnZW50IHtcbiAgZGVza3RvcCA9ICdkZXNrdG9wJyxcbiAgbW9iaWxlID0gJ21vYmlsZScsXG59XG5cbmV4cG9ydCBlbnVtIEVVcmxzY3JlZW5zaG90TW9kZSB7XG4gIGFsbCA9ICdhbGwnLFxuICB3aW5kb3cgPSAnd2luZG93Jyxcbn1cblxuZXhwb3J0IGVudW0gRVVybHNjcmVlbnNob3RPcmllbnRhdGlvbiB7XG4gIHBvcnRyYWl0ID0gJ3BvcnRyYWl0JyxcbiAgbGFuZHNjYXBlID0gJ2xhbmRzY2FwZScsXG59XG5cbi8qKlxuICogVmlkZW8gc3RvcmFnZSBsb2NhdGlvblxuICovXG5leHBvcnQgZW51bSBFVmlkZW9Mb2NhdGlvbnMge1xuICBzMyA9ICdzMycsXG4gIGF6dXJlID0gJ2F6dXJlJyxcbiAgZ2NzID0gJ2djcycsXG4gIHJhY2tzcGFjZSA9ICdyYWNrc3BhY2UnLFxuICBkcm9wYm94ID0gJ2Ryb3Bib3gnLFxufVxuXG5leHBvcnQgZW51bSBFVmlkZW9BY2Nlc3Mge1xuICBwcml2YXRlID0gJ3ByaXZhdGUnLFxuICBwdWJsaWMgPSAncHVibGljJyxcbn1cblxuZXhwb3J0IGVudW0gRVZpZGVvQWNjZXNzTW9kZSB7XG4gIHByZXNlcnZlID0gJ3ByZXNlcnZlJyxcbiAgY29uc3RyYWluID0gJ2NvbnN0cmFpbicsXG4gIGxldHRlcmJveCA9ICdsZXR0ZXJib3gnLFxuICBwYWQgPSAncGFkJyxcbiAgY3JvcCA9ICdjcm9wJyxcbn1cblxuLyoqXG4gKiBAc2VlIGh0dHBzOi8vd3d3LmZpbGVzdGFjay5jb20vZG9jcy9pbWFnZS10cmFuc2Zvcm1hdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2Zvcm1PcHRpb25zIHtcbiAgZmxpcD86IGJvb2xlYW47XG4gIGNvbXByZXNzPzogYm9vbGVhbjtcbiAgZmxvcD86IGJvb2xlYW47XG4gIG5vX21ldGFkYXRhPzogYm9vbGVhbjtcbiAgcGpwZz86IHtcbiAgICBxdWFsaXR5OiBudW1iZXI7XG4gICAgbWV0YWRhdGE6IGJvb2xlYW47XG4gIH07XG4gIHNtYXJ0X2Nyb3A/OiB7XG4gICAgbW9kZT86IEVTbWFydENyb3BNb2RlXG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBoZWlnaHQ6IG51bWJlcjtcbiAgfTtcbiAgd2F0ZXJtYXJrPzoge1xuICAgIGZpbGVzOiBzdHJpbmc7XG4gICAgc2l6ZT86IG51bWJlcjtcbiAgICBwb3NpdGlvbj86IEVJbWFnZVdhdGVybWFya1Bvc2l0aW9uIHwgRUltYWdlV2F0ZXJtYXJrUG9zaXRpb25bXTtcbiAgfTtcbiAgaW1hZ2VzaXplPzogYm9vbGVhbjtcbiAgZW5jaGFuY2U/OiBib29sZWFuO1xuICByZWRleWU/OiBib29sZWFuO1xuICBtb25vY2hyb21lPzogYm9vbGVhbjtcbiAgbmVnYXRpdmU/OiBib29sZWFuO1xuICB0YWdzPzogYm9vbGVhbjtcbiAgc2Z3PzogYm9vbGVhbjtcbiAgc3RvcmU/OiB7XG4gICAgZmlsZW5hbWU/OiBzdHJpbmcsXG4gICAgbG9jYXRpb24/OiBzdHJpbmcsXG4gICAgcGF0aD86IHN0cmluZyxcbiAgICBjb250YWluZXI/OiBzdHJpbmcsXG4gICAgcmVnaW9uPzogc3RyaW5nO1xuICAgIGFjY2Vzcz86IHN0cmluZztcbiAgICBiYXNlNjRkZWNvZGU/OiBib29sZWFuO1xuICB9O1xuICByZXNpemU/OiB7XG4gICAgd2lkdGg/OiBudW1iZXI7XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgIGZpdD86IEVGaXRPcHRpb25zO1xuICAgIGFsaWduPzogRUFsaWduRmFjZXNPcHRpb25zO1xuICB9O1xuICBjcm9wPzoge1xuICAgIGRpbTogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cbiAgfTtcbiAgcm90YXRlPzoge1xuICAgIGRlZzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIH07XG4gIGRldGVjdF9mYWNlcz86IHtcbiAgICBtaW5zaXplPzogbnVtYmVyO1xuICAgIG1heHNpemU/OiBudW1iZXI7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgZXhwb3J0PzogYm9vbGVhbjtcbiAgfSB8IHRydWU7XG4gIGNyb3BfZmFjZXM/OiB7XG4gICAgbW9kZT86IEVDcm9wZmFjZXNUeXBlO1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICBmYWNlcz86IG51bWJlciB8IHN0cmluZztcbiAgICBidWZmZXI/OiBudW1iZXI7XG4gIH07XG4gIHBpeGVsYXRlX2ZhY2VzPzoge1xuICAgIGZhY2VzPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIG1pbnNpemU/OiBudW1iZXI7XG4gICAgbWF4c2l6ZT86IG51bWJlcjtcbiAgICBidWZmZXI/OiBudW1iZXI7XG4gICAgYW1vdW50PzogbnVtYmVyO1xuICAgIGJsdXI/OiBudW1iZXI7XG4gICAgdHlwZT86IEVTaGFwZVR5cGU7XG4gIH07XG4gIGJsdXJfZmFjZXM/OiB7XG4gICAgZmFjZXM/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgbWluc2l6ZT86IG51bWJlcjtcbiAgICBtYXhzaXplPzogbnVtYmVyO1xuICAgIGJ1ZmZlcj86IG51bWJlcjtcbiAgICBhbW91bnQ/OiBudW1iZXI7XG4gICAgYmx1cj86IG51bWJlcjtcbiAgICB0eXBlPzogRVNoYXBlVHlwZTtcbiAgfTtcbiAgcm91bmRlZF9jb3JuZXJzPzoge1xuICAgIHJhZGl1cz86IG51bWJlcjtcbiAgICBibHVyPzogbnVtYmVyO1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIH0gfCB0cnVlO1xuICB2aWduZXR0ZT86IHtcbiAgICBhbW91bnQ/OiBudW1iZXI7XG4gICAgYmx1cm1vZGU/OiBFQmx1ck1vZGU7XG4gICAgYmFja2dyb3VuZD86IHN0cmluZztcbiAgfTtcbiAgcG9sYXJvaWQ/OiB7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgcm90YXRlPzogbnVtYmVyO1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIH0gfCB0cnVlO1xuICB0b3JuX2VkZ2VzPzoge1xuICAgIHNwcmVhZD86IFtudW1iZXIsIG51bWJlcl07XG4gICAgYmFja2dyb3VuZD86IHN0cmluZztcbiAgfSB8IHRydWU7XG4gIHNoYWRvdz86IHtcbiAgICBibHVyPzogbnVtYmVyO1xuICAgIG9wYWNpdHk/OiBudW1iZXI7XG4gICAgdmVjdG9yPzogW251bWJlciwgbnVtYmVyXTtcbiAgICBjb2xvcj86IHN0cmluZztcbiAgICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICB9IHwgdHJ1ZTtcbiAgY2lyY2xlPzoge1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIH0gfCB0cnVlO1xuICBib3JkZXI/OiB7XG4gICAgd2lkdGg/OiBudW1iZXI7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgYmFja2dyb3VuZD86IHN0cmluZztcbiAgfSB8IHRydWU7XG4gIHNoYXJwZW4/OiB7XG4gICAgYW1vdW50OiBudW1iZXI7XG4gIH0gfCB0cnVlO1xuICBibHVyPzoge1xuICAgIGFtb3VudDogbnVtYmVyO1xuICB9IHwgdHJ1ZTtcbiAgYmxhY2t3aGl0ZT86IHtcbiAgICB0aHJlc2hvbGQ6IG51bWJlcjtcbiAgfSB8IHRydWU7XG4gIHNlcGlhPzoge1xuICAgIHRvbmU6IG51bWJlcjtcbiAgfSB8IHRydWU7XG4gIHBpeGVsYXRlPzoge1xuICAgIGFtb3VudDogbnVtYmVyO1xuICB9IHwgdHJ1ZTtcbiAgb2lsX3BhaW50Pzoge1xuICAgIGFtb3VudDogbnVtYmVyO1xuICB9IHwgdHJ1ZTtcbiAgbW9kdWxhdGU/OiB7XG4gICAgYnJpZ2h0bmVzcz86IG51bWJlcjtcbiAgICBodWU/OiBudW1iZXI7XG4gICAgc2F0dXJhdGlvbj86IG51bWJlcjtcbiAgfSB8IHRydWU7XG4gIHBhcnRpYWxfcGl4ZWxhdGU/OiB7XG4gICAgYW1vdW50PzogbnVtYmVyO1xuICAgIGJsdXI/OiBudW1iZXI7XG4gICAgdHlwZT86IEVTaGFwZVR5cGU7XG4gICAgb2JqZWN0cz86IFtbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXV07XG4gIH07XG4gIHBhcnRpYWxfYmx1cj86IHtcbiAgICBhbW91bnQ6IG51bWJlcjtcbiAgICBibHVyPzogbnVtYmVyO1xuICAgIHR5cGU/OiBFU2hhcGVUeXBlO1xuICAgIG9iamVjdHM/OiBbW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1dO1xuICB9O1xuICBjb2xsYWdlPzoge1xuICAgIG1hcmdpbj86IG51bWJlcjtcbiAgICB3aWR0aD86IG51bWJlcjtcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgZml0PzogRUZpdE9wdGlvbnMsXG4gICAgZmlsZXM6IFtzdHJpbmddO1xuICB9O1xuICB1cHNjYWxlPzoge1xuICAgIHVwc2NhbGU/OiBib29sZWFuO1xuICAgIG5vaXNlPzogRU5vaXNlVHlwZTtcbiAgICBzdHlsZT86IEVTdHlsZVR5cGU7XG4gIH0gfCB0cnVlO1xuICBhc2NpaT86IHtcbiAgICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICAgIGZvcmVncm91bmQ/OiBzdHJpbmc7XG4gICAgY29sb3JlZD86IGJvb2xlYW47XG4gICAgc2l6ZT86IG51bWJlcjtcbiAgICByZXZlcnNlPzogYm9vbGVhbjtcbiAgfSB8IHRydWU7XG4gIHF1YWxpdHk/OiB7XG4gICAgdmFsdWU6IG51bWJlcjtcbiAgfTtcbiAgc2VjdXJpdHk/OiB7XG4gICAgcG9saWN5OiBzdHJpbmc7XG4gICAgc2lnbmF0dXJlPzogc3RyaW5nO1xuICB9O1xuICBvdXRwdXQ/OiB7XG4gICAgZm9ybWF0OiBzdHJpbmc7XG4gICAgY29sb3JzcGFjZT86IHN0cmluZztcbiAgICBzdHJpcD86IGJvb2xlYW47XG4gICAgcXVhbGl0eT86IG51bWJlcjtcbiAgICBwYWdlPzogbnVtYmVyO1xuICAgIGNvbXByZXNzPzogYm9vbGVhbjtcbiAgICBkZW5zaXR5PzogbnVtYmVyO1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gICAgc2VjdXJlPzogYm9vbGVhbjtcbiAgICBkb2NpbmZvPzogYm9vbGVhbjtcbiAgICBwYWdlZm9ybWF0Pzogc3RyaW5nO1xuICAgIHBhZ2VvcmllbnRhdGlvbj86IHN0cmluZztcbiAgfTtcbiAgY2FjaGU/OiB7XG4gICAgY2FjaGU/OiBib29sZWFuO1xuICAgIGV4cGlyeTogbnVtYmVyO1xuICB9O1xuICAvLyBhdWRpby92aWRlb1xuICB2aWRlb19jb252ZXJ0Pzoge1xuICAgIGFzcGVjdF9tb2RlOiBFVmlkZW9BY2Nlc3NNb2RlO1xuICAgIHByZXNldD86IEVWaWRlb1R5cGVzO1xuICAgIGZvcmNlPzogYm9vbGVhbjtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBleHRuYW1lPzogc3RyaW5nO1xuICAgIGZpbGVuYW1lPzogc3RyaW5nO1xuICAgIGxvY2F0aW9uPzogRVZpZGVvTG9jYXRpb25zO1xuICAgIHBhdGg/OiBzdHJpbmc7XG4gICAgYWNjZXNzPzogRVZpZGVvQWNjZXNzO1xuICAgIGNvbnRhaW5lcj86IHN0cmluZztcbiAgICBhdWRpb19iaXRyYXRlPzogbnVtYmVyO1xuICAgIGF1ZGlvX2NvZGVjPzogRUF1ZGlvVHlwZXM7XG4gICAgdXBzY2FsZTogYm9vbGVhbjtcbiAgICB2aWRlb19iaXRyYXRlPzogbnVtYmVyO1xuICAgIGF1ZGlvX3NhbXBsZV9yYXRlPzogbnVtYmVyO1xuICAgIGF1ZGlvX2NoYW5uZWxzPzogbnVtYmVyO1xuICAgIGNsaXBfbGVuZ3RoPzogc3RyaW5nO1xuICAgIGNsaXBfb2Zmc2V0Pzogc3RyaW5nO1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICB0d29fcGFzcz86IGJvb2xlYW47XG4gICAgZnBzPzogbnVtYmVyO1xuICAgIGtleWZyYW1lX2ludGVydmFsPzogbnVtYmVyO1xuICAgIHdhdGVybWFya191cmw/OiBzdHJpbmc7XG4gICAgd2F0ZXJtYXJrX3RvcD86IG51bWJlcjtcbiAgICB3YXRlcm1hcmtfYm90dG9tPzogbnVtYmVyO1xuICAgIHdhdGVybWFya19yaWdodD86IG51bWJlcjtcbiAgICB3YXRlcm1hcmtfbGVmdD86IG51bWJlcjtcbiAgICB3YXRlcm1hcmtfd2lkdGg/OiBudW1iZXI7XG4gICAgd2F0ZXJtYXJrX2hlaWdodD86IG51bWJlcjtcbiAgfTtcbiAgdXJsc2NyZWVuc2hvdD86IHtcbiAgICBhZ2VudD86IEVVcmxzY3JlZW5zaG90QWdlbnQ7XG4gICAgd2lkdGg/OiBudW1iZXI7XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgIG1vZGU/OiBFVXJsc2NyZWVuc2hvdE1vZGU7XG4gICAgZGVsYXk/OiBudW1iZXI7XG4gICAgb3JpZW50YXRpb24/OiBFVXJsc2NyZWVuc2hvdE9yaWVudGF0aW9uO1xuICAgIGRldmljZT86IHN0cmluZztcbiAgfSB8IHRydWU7XG4gIHBkZmluZm8/OiB7XG4gICAgY29sb3JpbmZvPzogYm9vbGVhblxuICB9IHwgdHJ1ZTtcbiAgcGRmY29udmVydD86IHtcbiAgICBwYWdlb3JpZW50YXRpb24/OiBzdHJpbmdcbiAgICBwYWdlZm9ybWF0Pzogc3RyaW5nXG4gICAgcGFnZXM/OiAoc3RyaW5nIHwgbnVtYmVyKVtdXG4gIH07XG59XG5cbi8qKlxuICogQ3JlYXRlcyBmaWxlc3RhY2sgdHJhbnNmb3JtIHVybC5cbiAqIFRyYW5zZm9ybSBwYXJhbXMgY2FuIGJlIHByb3ZpZGVkIGluIGNhbWVsQ2FzZSBvciBzbmFrZUNhc2Ugc3R5bGVcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBganNcbiAqIC8vIGNhbWVsQ2FzZVxuICogY29uc29sZS5sb2codHJhbnNmb3JtKHNlc3Npb24sIHtcbiAqICAgIHBhcnRpYWxQaXhlbGF0ZToge1xuICogICAgICBvYmplY3RzOiBbWzEwLCAyMCwgMjAwLCAyNTBdLCBbMjc1LCA5MSwgNTAwLCA1NTddXSxcbiAqICAgIH0sXG4gKiAgfSwgJ3Rlc3RmaWxlJykpO1xuICogYGBgXG4gKiByZXN1bHQgPT4gaHR0cHM6Ly9jZG4uZmlsZXN0YWNrY29udGVudC5jb20vcGFydGlhbF9waXhlbGF0ZT1vYmplY3RzOltbMTAsMjAsMjAwLDI1MF0sWzI3NSw5MSw1MDAsNTU3XV0vdGVzdGZpbGVcbiAqXG4gKiBgYGBqc1xuICogLy8gc25ha2VfY2FzZVxuICogY29uc29sZS5sb2codHJhbnNmb3JtKHNlc3Npb24sIHtcbiAqICAgIHBhcnRpYWxfcGl4ZWxhdGU6IHtcbiAqICAgICAgb2JqZWN0czogW1sxMCwgMjAsIDIwMCwgMjUwXSwgWzI3NSwgOTEsIDUwMCwgNTU3XV0sXG4gKiAgICB9LFxuICogIH0sICd0ZXN0ZmlsZScpKTtcbiAqIGBgYFxuICogcmVzdWx0ID0+IGh0dHBzOi8vY2RuLmZpbGVzdGFja2NvbnRlbnQuY29tL3BhcnRpYWxfcGl4ZWxhdGU9b2JqZWN0czpbWzEwLDIwLDIwMCwyNTBdLFsyNzUsOTEsNTAwLDU1N11dL3Rlc3RmaWxlXG4gKlxuICogQ2xpZW50LnRyYW5zZm9ybSBpcyBkZXByZWNhdGVkLiBVc2UgRmlsZWxpbmsgY2xhc3MgaW5zdGVhZFxuICpcbiAqIEBwcml2YXRlXG4gKiBAdGhyb3dzIEVycm9yXG4gKiBAcGFyYW0gb3B0aW9ucyBUcmFuc2Zvcm1hdGlvbiBvcHRpb25zXG4gKiBAcGFyYW0gdXJsIHVybCwgaGFuZGxlIG9yIGFycmF5IG9mIGVsZW1lbnRzXG4gKi9cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm0gPSAoc2Vzc2lvbjogU2Vzc2lvbiwgdXJsOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3B0aW9uczogVHJhbnNmb3JtT3B0aW9ucyA9IHt9LCBiNjQ6IGJvb2xlYW4gPSBmYWxzZSk6IHN0cmluZyA9PiB7XG4gIG9wdGlvbnMgPSB0b1NuYWtlQ2FzZShvcHRpb25zKTtcblxuICBpZiAoc2Vzc2lvbi5wb2xpY3kgJiYgc2Vzc2lvbi5zaWduYXR1cmUpIHtcbiAgICBvcHRpb25zLnNlY3VyaXR5ID0ge1xuICAgICAgcG9saWN5OiBzZXNzaW9uLnBvbGljeSxcbiAgICAgIHNpZ25hdHVyZTogc2Vzc2lvbi5zaWduYXR1cmUsXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGZpbGVsaW5rID0gbmV3IEZpbGVsaW5rKHVybCwgc2Vzc2lvbi5hcGlrZXkpO1xuICBmaWxlbGluay5zZXRDbmFtZShzZXNzaW9uLmNuYW1lKTtcbiAgZmlsZWxpbmsuc2V0QmFzZTY0KGI2NCk7XG5cbiAgT2JqZWN0LmtleXMob3B0aW9ucykuZm9yRWFjaCgoa2V5OiBrZXlvZiBUcmFuc2Zvcm1PcHRpb25zKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBvcHRpb25zW2tleV0gPT09ICdib29sZWFuJyAmJiAhb3B0aW9uc1trZXldICYmIGtleSAhPT0gJ2NhY2hlJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZpbGVsaW5rLmFkZFRhc2soa2V5LCBvcHRpb25zW2tleV0pO1xuICB9KTtcblxuICByZXR1cm4gZmlsZWxpbmsudG9TdHJpbmcoKTtcbn07XG4iXX0=

@@ -78,3 +78,3 @@ import { __assign } from "tslib";

var testUrl = 'nanana';
spyOn(Filelink.prototype, 'toString').and.callFake(function () { return testUrl; });
jest.spyOn(Filelink.prototype, 'toString').mockImplementation(function () { return testUrl; });
expect(transform(defaultSession, defaultHandle)).toEqual(testUrl);

@@ -93,2 +93,2 @@ });

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3RyYW5zZm9ybS5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFM0IsSUFBTSxhQUFhLEdBQUcsaUJBQWlCLENBQUM7QUFDeEMsSUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7QUFDdkMsSUFBTSxlQUFlLEdBQUc7SUFDdEIsTUFBTSxFQUFFLGVBQWU7SUFDdkIsU0FBUyxFQUFFLGtCQUFrQjtDQUM5QixDQUFDO0FBRUYsSUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztBQUNoQyxJQUFNLGNBQWMsR0FBRztJQUNyQixNQUFNLEVBQUUsYUFBYTtJQUNyQixJQUFJLEVBQUUsV0FBVztDQUNsQixDQUFDO0FBRUYsUUFBUSxDQUFDLGVBQWUsRUFBRTtJQUN4QixFQUFFLENBQUMsc0NBQXNDLEVBQUU7UUFDekMsU0FBUyxDQUNQLGNBQWMsRUFDZCxhQUFhLEVBQ2I7WUFDRSxnQkFBZ0IsRUFBRTtnQkFDaEIsTUFBTSxFQUFFLENBQUM7YUFDVjtTQUNGLENBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixFQUFFO1lBQzFFLE1BQU0sRUFBRSxDQUFDO1NBQ1YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsZ0NBQWdDLEVBQUU7UUFDbkMsU0FBUyx1QkFFRixjQUFjLEdBQ2QsZUFBZSxHQUVwQixhQUFhLEVBQ2I7WUFDRSxnQkFBZ0IsRUFBRTtnQkFDaEIsTUFBTSxFQUFFLENBQUM7YUFDVjtTQUNGLENBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN2RixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywyQ0FBMkMsRUFBRTtRQUM5QyxTQUFTLENBQ1AsY0FBYyxFQUNkLGFBQWEsRUFDYjtZQUNFLGFBQWE7WUFDYixLQUFLLEVBQUUsS0FBSztTQUNiLENBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywrQ0FBK0MsRUFBRTtRQUNsRCxTQUFTLENBQ1AsY0FBYyxFQUNkLGFBQWEsRUFDYjtZQUNFLElBQUksRUFBRSxLQUFLO1NBQ1osQ0FDRixDQUFDO1FBRUYsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3RSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx5REFBeUQsRUFBRTtRQUM1RCxTQUFTLENBQ1AsY0FBYyxFQUNkLGFBQWEsRUFDYjtZQUNFLGFBQWE7WUFDYixlQUFlLEVBQUU7Z0JBQ2YsTUFBTSxFQUFFLENBQUM7YUFDVjtTQUNGLENBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixFQUFFO1lBQzFFLE1BQU0sRUFBRSxDQUFDO1NBQ1YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsd0RBQXdELEVBQUU7UUFDM0QsSUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsY0FBTSxPQUFBLE9BQU8sRUFBUCxDQUFPLENBQUMsQ0FBQztRQUVsRSxNQUFNLENBQUMsU0FBUyxDQUNkLGNBQWMsRUFDZCxhQUFhLENBQ2QsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxrQ0FBa0MsRUFBRTtRQUNyQyxTQUFTLENBQ1AsY0FBYyxFQUNkLGFBQWEsRUFDYjtZQUNFLGFBQWE7WUFDYixlQUFlLEVBQUU7Z0JBQ2YsTUFBTSxFQUFFLENBQUM7YUFDVjtTQUNGLEVBQ0QsSUFBSSxDQUNMLENBQUM7UUFFRixNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9hcGkvdHJhbnNmb3JtLnNwZWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgdHJhbnNmb3JtIH0gZnJvbSAnLi90cmFuc2Zvcm0nO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi8uLi8uLi9jb25maWcnO1xuaW1wb3J0IHsgRmlsZWxpbmsgfSBmcm9tICcuLy4uL2ZpbGVsaW5rJztcblxuamVzdC5tb2NrKCcuLy4uL2ZpbGVsaW5rJyk7XG5cbmNvbnN0IGRlZmF1bHRBcGlrZXkgPSAnRVhBTVBMRV9BUElfS0VZJztcbmNvbnN0IGRlZmF1bHRIYW5kbGUgPSAnRVhBTVBMRV9IQU5ETEUnO1xuY29uc3QgZGVmYXVsdFNlY3VyaXR5ID0ge1xuICBwb2xpY3k6ICdleGFtcGxlUG9saWN5JyxcbiAgc2lnbmF0dXJlOiAnZXhhbXBsZVNpZ25hdHVyZScsXG59O1xuXG5jb25zdCBzZXNzaW9uVVJscyA9IGNvbmZpZy51cmxzO1xuY29uc3QgZGVmYXVsdFNlc3Npb24gPSB7XG4gIGFwaWtleTogZGVmYXVsdEFwaWtleSxcbiAgdXJsczogc2Vzc2lvblVSbHMsXG59O1xuXG5kZXNjcmliZSgnT2xkVHJhbnNmb3JtcycsICgpID0+IHtcbiAgaXQoJ3Nob3VsZCBwYXNzIHBhcmFtcyB0byBGaWxlbGluayBjbGFzcycsICgpID0+IHtcbiAgICB0cmFuc2Zvcm0oXG4gICAgICBkZWZhdWx0U2Vzc2lvbixcbiAgICAgIGRlZmF1bHRIYW5kbGUsXG4gICAgICB7XG4gICAgICAgIHBhcnRpYWxfcGl4ZWxhdGU6IHtcbiAgICAgICAgICBhbW91bnQ6IDIsXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgKTtcblxuICAgIGV4cGVjdChGaWxlbGluay5wcm90b3R5cGUuYWRkVGFzaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ3BhcnRpYWxfcGl4ZWxhdGUnLCB7XG4gICAgICBhbW91bnQ6IDIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmVzcGVjdCBzZWN1cml0eSBwYXJhbXMnLCAoKSA9PiB7XG4gICAgdHJhbnNmb3JtKFxuICAgICAge1xuICAgICAgICAuLi5kZWZhdWx0U2Vzc2lvbixcbiAgICAgICAgLi4uZGVmYXVsdFNlY3VyaXR5LFxuICAgICAgfSxcbiAgICAgIGRlZmF1bHRIYW5kbGUsXG4gICAgICB7XG4gICAgICAgIHBhcnRpYWxfcGl4ZWxhdGU6IHtcbiAgICAgICAgICBhbW91bnQ6IDIsXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgKTtcblxuICAgIGV4cGVjdChGaWxlbGluay5wcm90b3R5cGUuYWRkVGFzaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ3NlY3VyaXR5JywgZGVmYXVsdFNlY3VyaXR5KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXNwZWN0IGNhY2hlPWZhbHNlIHRyYW5zZm9ybWF0aW9uJywgKCkgPT4ge1xuICAgIHRyYW5zZm9ybShcbiAgICAgIGRlZmF1bHRTZXNzaW9uLFxuICAgICAgZGVmYXVsdEhhbmRsZSxcbiAgICAgIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBjYWNoZTogZmFsc2UsXG4gICAgICB9XG4gICAgKTtcblxuICAgIGV4cGVjdChGaWxlbGluay5wcm90b3R5cGUuYWRkVGFzaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ2NhY2hlJywgZmFsc2UpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJlbW92ZSBmYWxzeSBwYXJhbWV0ZXJzIHRyYW5zZm9ybWF0aW9uJywgKCkgPT4ge1xuICAgIHRyYW5zZm9ybShcbiAgICAgIGRlZmF1bHRTZXNzaW9uLFxuICAgICAgZGVmYXVsdEhhbmRsZSxcbiAgICAgIHtcbiAgICAgICAgZmxpcDogZmFsc2UsXG4gICAgICB9XG4gICAgKTtcblxuICAgIGV4cGVjdChGaWxlbGluay5wcm90b3R5cGUuYWRkVGFzaykubm90LnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCdmbGlwJywgZmFsc2UpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGNoYW5nZSBjYW1tZWwgY2FzZSB0byBzbmFrZSBjYXNlIHRyYW5zZm9ybWF0aW9ucycsICgpID0+IHtcbiAgICB0cmFuc2Zvcm0oXG4gICAgICBkZWZhdWx0U2Vzc2lvbixcbiAgICAgIGRlZmF1bHRIYW5kbGUsXG4gICAgICB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgcGFydGlhbFBpeGVsYXRlOiB7XG4gICAgICAgICAgYW1vdW50OiAyLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgICk7XG5cbiAgICBleHBlY3QoRmlsZWxpbmsucHJvdG90eXBlLmFkZFRhc2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCdwYXJ0aWFsX3BpeGVsYXRlJywge1xuICAgICAgYW1vdW50OiAyLFxuICAgIH0pO1xuICB9KTtcblxuICBpdCgncmV0dXJuIGNhbGwgdG9TdHJpbmcgb24gZmlsZWxpbmsgd2hlbiBwYXJhbXMgYXJlIGVtcHR5JywgKCkgPT4ge1xuICAgIGNvbnN0IHRlc3RVcmwgPSAnbmFuYW5hJztcbiAgICBzcHlPbihGaWxlbGluay5wcm90b3R5cGUsICd0b1N0cmluZycpLmFuZC5jYWxsRmFrZSgoKSA9PiB0ZXN0VXJsKTtcblxuICAgIGV4cGVjdCh0cmFuc2Zvcm0oXG4gICAgICBkZWZhdWx0U2Vzc2lvbixcbiAgICAgIGRlZmF1bHRIYW5kbGVcbiAgICApKS50b0VxdWFsKHRlc3RVcmwpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGVuYWJsZSBiYXNlNjQgb24gZmlsZWxpbmsnLCAoKSA9PiB7XG4gICAgdHJhbnNmb3JtKFxuICAgICAgZGVmYXVsdFNlc3Npb24sXG4gICAgICBkZWZhdWx0SGFuZGxlLFxuICAgICAge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHBhcnRpYWxQaXhlbGF0ZToge1xuICAgICAgICAgIGFtb3VudDogMixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB0cnVlXG4gICAgKTtcblxuICAgIGV4cGVjdChGaWxlbGluay5wcm90b3R5cGUuc2V0QmFzZTY0KS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh0cnVlKTtcbiAgfSk7XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3RyYW5zZm9ybS5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFM0IsSUFBTSxhQUFhLEdBQUcsaUJBQWlCLENBQUM7QUFDeEMsSUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7QUFDdkMsSUFBTSxlQUFlLEdBQUc7SUFDdEIsTUFBTSxFQUFFLGVBQWU7SUFDdkIsU0FBUyxFQUFFLGtCQUFrQjtDQUM5QixDQUFDO0FBRUYsSUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztBQUNoQyxJQUFNLGNBQWMsR0FBRztJQUNyQixNQUFNLEVBQUUsYUFBYTtJQUNyQixJQUFJLEVBQUUsV0FBVztDQUNsQixDQUFDO0FBRUYsUUFBUSxDQUFDLGVBQWUsRUFBRTtJQUN4QixFQUFFLENBQUMsc0NBQXNDLEVBQUU7UUFDekMsU0FBUyxDQUNQLGNBQWMsRUFDZCxhQUFhLEVBQ2I7WUFDRSxnQkFBZ0IsRUFBRTtnQkFDaEIsTUFBTSxFQUFFLENBQUM7YUFDVjtTQUNGLENBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixFQUFFO1lBQzFFLE1BQU0sRUFBRSxDQUFDO1NBQ1YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsZ0NBQWdDLEVBQUU7UUFDbkMsU0FBUyx1QkFFRixjQUFjLEdBQ2QsZUFBZSxHQUVwQixhQUFhLEVBQ2I7WUFDRSxnQkFBZ0IsRUFBRTtnQkFDaEIsTUFBTSxFQUFFLENBQUM7YUFDVjtTQUNGLENBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN2RixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywyQ0FBMkMsRUFBRTtRQUM5QyxTQUFTLENBQ1AsY0FBYyxFQUNkLGFBQWEsRUFDYjtZQUNFLGFBQWE7WUFDYixLQUFLLEVBQUUsS0FBSztTQUNiLENBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywrQ0FBK0MsRUFBRTtRQUNsRCxTQUFTLENBQ1AsY0FBYyxFQUNkLGFBQWEsRUFDYjtZQUNFLElBQUksRUFBRSxLQUFLO1NBQ1osQ0FDRixDQUFDO1FBRUYsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3RSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx5REFBeUQsRUFBRTtRQUM1RCxTQUFTLENBQ1AsY0FBYyxFQUNkLGFBQWEsRUFDYjtZQUNFLGFBQWE7WUFDYixlQUFlLEVBQUU7Z0JBQ2YsTUFBTSxFQUFFLENBQUM7YUFDVjtTQUNGLENBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixFQUFFO1lBQzFFLE1BQU0sRUFBRSxDQUFDO1NBQ1YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsd0RBQXdELEVBQUU7UUFDM0QsSUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFNLE9BQUEsT0FBTyxFQUFQLENBQU8sQ0FBQyxDQUFDO1FBRTdFLE1BQU0sQ0FBQyxTQUFTLENBQ2QsY0FBYyxFQUNkLGFBQWEsQ0FDZCxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGtDQUFrQyxFQUFFO1FBQ3JDLFNBQVMsQ0FDUCxjQUFjLEVBQ2QsYUFBYSxFQUNiO1lBQ0UsYUFBYTtZQUNiLGVBQWUsRUFBRTtnQkFDZixNQUFNLEVBQUUsQ0FBQzthQUNWO1NBQ0YsRUFDRCxJQUFJLENBQ0wsQ0FBQztRQUVGLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xFLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS90cmFuc2Zvcm0uc3BlYy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyB0cmFuc2Zvcm0gfSBmcm9tICcuL3RyYW5zZm9ybSc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICcuLy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBGaWxlbGluayB9IGZyb20gJy4vLi4vZmlsZWxpbmsnO1xuXG5qZXN0Lm1vY2soJy4vLi4vZmlsZWxpbmsnKTtcblxuY29uc3QgZGVmYXVsdEFwaWtleSA9ICdFWEFNUExFX0FQSV9LRVknO1xuY29uc3QgZGVmYXVsdEhhbmRsZSA9ICdFWEFNUExFX0hBTkRMRSc7XG5jb25zdCBkZWZhdWx0U2VjdXJpdHkgPSB7XG4gIHBvbGljeTogJ2V4YW1wbGVQb2xpY3knLFxuICBzaWduYXR1cmU6ICdleGFtcGxlU2lnbmF0dXJlJyxcbn07XG5cbmNvbnN0IHNlc3Npb25VUmxzID0gY29uZmlnLnVybHM7XG5jb25zdCBkZWZhdWx0U2Vzc2lvbiA9IHtcbiAgYXBpa2V5OiBkZWZhdWx0QXBpa2V5LFxuICB1cmxzOiBzZXNzaW9uVVJscyxcbn07XG5cbmRlc2NyaWJlKCdPbGRUcmFuc2Zvcm1zJywgKCkgPT4ge1xuICBpdCgnc2hvdWxkIHBhc3MgcGFyYW1zIHRvIEZpbGVsaW5rIGNsYXNzJywgKCkgPT4ge1xuICAgIHRyYW5zZm9ybShcbiAgICAgIGRlZmF1bHRTZXNzaW9uLFxuICAgICAgZGVmYXVsdEhhbmRsZSxcbiAgICAgIHtcbiAgICAgICAgcGFydGlhbF9waXhlbGF0ZToge1xuICAgICAgICAgIGFtb3VudDogMixcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgZXhwZWN0KEZpbGVsaW5rLnByb3RvdHlwZS5hZGRUYXNrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgncGFydGlhbF9waXhlbGF0ZScsIHtcbiAgICAgIGFtb3VudDogMixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXNwZWN0IHNlY3VyaXR5IHBhcmFtcycsICgpID0+IHtcbiAgICB0cmFuc2Zvcm0oXG4gICAgICB7XG4gICAgICAgIC4uLmRlZmF1bHRTZXNzaW9uLFxuICAgICAgICAuLi5kZWZhdWx0U2VjdXJpdHksXG4gICAgICB9LFxuICAgICAgZGVmYXVsdEhhbmRsZSxcbiAgICAgIHtcbiAgICAgICAgcGFydGlhbF9waXhlbGF0ZToge1xuICAgICAgICAgIGFtb3VudDogMixcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgZXhwZWN0KEZpbGVsaW5rLnByb3RvdHlwZS5hZGRUYXNrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnc2VjdXJpdHknLCBkZWZhdWx0U2VjdXJpdHkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJlc3BlY3QgY2FjaGU9ZmFsc2UgdHJhbnNmb3JtYXRpb24nLCAoKSA9PiB7XG4gICAgdHJhbnNmb3JtKFxuICAgICAgZGVmYXVsdFNlc3Npb24sXG4gICAgICBkZWZhdWx0SGFuZGxlLFxuICAgICAge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGNhY2hlOiBmYWxzZSxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgZXhwZWN0KEZpbGVsaW5rLnByb3RvdHlwZS5hZGRUYXNrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnY2FjaGUnLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmVtb3ZlIGZhbHN5IHBhcmFtZXRlcnMgdHJhbnNmb3JtYXRpb24nLCAoKSA9PiB7XG4gICAgdHJhbnNmb3JtKFxuICAgICAgZGVmYXVsdFNlc3Npb24sXG4gICAgICBkZWZhdWx0SGFuZGxlLFxuICAgICAge1xuICAgICAgICBmbGlwOiBmYWxzZSxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgZXhwZWN0KEZpbGVsaW5rLnByb3RvdHlwZS5hZGRUYXNrKS5ub3QudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ2ZsaXAnLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY2hhbmdlIGNhbW1lbCBjYXNlIHRvIHNuYWtlIGNhc2UgdHJhbnNmb3JtYXRpb25zJywgKCkgPT4ge1xuICAgIHRyYW5zZm9ybShcbiAgICAgIGRlZmF1bHRTZXNzaW9uLFxuICAgICAgZGVmYXVsdEhhbmRsZSxcbiAgICAgIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBwYXJ0aWFsUGl4ZWxhdGU6IHtcbiAgICAgICAgICBhbW91bnQ6IDIsXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgKTtcblxuICAgIGV4cGVjdChGaWxlbGluay5wcm90b3R5cGUuYWRkVGFzaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ3BhcnRpYWxfcGl4ZWxhdGUnLCB7XG4gICAgICBhbW91bnQ6IDIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdyZXR1cm4gY2FsbCB0b1N0cmluZyBvbiBmaWxlbGluayB3aGVuIHBhcmFtcyBhcmUgZW1wdHknLCAoKSA9PiB7XG4gICAgY29uc3QgdGVzdFVybCA9ICduYW5hbmEnO1xuICAgIGplc3Quc3B5T24oRmlsZWxpbmsucHJvdG90eXBlLCAndG9TdHJpbmcnKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gdGVzdFVybCk7XG5cbiAgICBleHBlY3QodHJhbnNmb3JtKFxuICAgICAgZGVmYXVsdFNlc3Npb24sXG4gICAgICBkZWZhdWx0SGFuZGxlXG4gICAgKSkudG9FcXVhbCh0ZXN0VXJsKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBlbmFibGUgYmFzZTY0IG9uIGZpbGVsaW5rJywgKCkgPT4ge1xuICAgIHRyYW5zZm9ybShcbiAgICAgIGRlZmF1bHRTZXNzaW9uLFxuICAgICAgZGVmYXVsdEhhbmRsZSxcbiAgICAgIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBwYXJ0aWFsUGl4ZWxhdGU6IHtcbiAgICAgICAgICBhbW91bnQ6IDIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdHJ1ZVxuICAgICk7XG5cbiAgICBleHBlY3QoRmlsZWxpbmsucHJvdG90eXBlLnNldEJhc2U2NCkudG9IYXZlQmVlbkNhbGxlZFdpdGgodHJ1ZSk7XG4gIH0pO1xufSk7XG4iXX0=
/// <reference types="node" />
import { File as FsFile } from './file';
import { SanitizeOptions } from './../../utils';
export declare type RawFile = Blob | Buffer | File | string;
export declare type NamedInputFile = {
export type RawFile = Blob | Buffer | File | string;
export type NamedInputFile = {
name?: string;
file: RawFile;
};
declare type InputFile = RawFile | NamedInputFile;
type InputFile = RawFile | NamedInputFile;
/**

@@ -11,0 +11,0 @@ * Accepts b64string or blob file

/// <reference types="node" />
export declare type RawFile = Blob | Buffer | File | string;
export declare type NamedInputFile = {
export type RawFile = Blob | Buffer | File | string;
export type NamedInputFile = {
name?: string;
file: RawFile;
};
export declare type InputFile = RawFile | NamedInputFile;
export type InputFile = RawFile | NamedInputFile;
export declare const base64Regexp: RegExp;

@@ -9,0 +9,0 @@ /**

@@ -32,3 +32,3 @@ import { __awaiter, __generator } from "tslib";

beforeAll(function () {
spyOn(utils, 'sanitizeName').and.callFake(function (val, opts) {
jest.spyOn(utils, 'sanitizeName').mockImplementation(function (val, opts) {
sanitizeOptions(opts);

@@ -81,3 +81,3 @@ return val;

_a = expect;
return [4 /*yield*/, getFile("data:image/gif;base64," + base64Gif)];
return [4 /*yield*/, getFile("data:image/gif;base64,".concat(base64Gif))];
case 1: return [2 /*return*/, _a.apply(void 0, [(_b.sent()).mimetype]).toEqual('image/gif')];

@@ -158,2 +158,2 @@ }

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9maWxlX3Rvb2xzLnNwZWMuYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEtBQUssS0FBSyxNQUFNLGVBQWUsQ0FBQztBQUV2QyxJQUFNLFVBQVUsR0FBRyxVQUFDLElBQVksRUFBRSxJQUFpQixFQUFFLElBQWtCO0lBQW5ELHFCQUFBLEVBQUEsWUFBWTtJQUFFLHFCQUFBLEVBQUEsaUJBQWlCO0lBQUUscUJBQUEsRUFBQSxrQkFBa0I7SUFBSyxPQUFBLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFBeEQsQ0FBd0QsQ0FBQztBQUVySSxJQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFOUQsSUFBTSxTQUFTLEdBQUcsc09BQXNPLENBQUM7QUFDelAsSUFBTSxTQUFTLEdBQUcsa0dBQWtHLENBQUM7QUFDckgsSUFBTSxTQUFTLEdBQUcsOERBQThELENBQUM7QUFFakYsUUFBUSxDQUFDLHNCQUFzQixFQUFFO0lBQy9CLFNBQVMsQ0FBQztRQUNSLEtBQUssQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFDLEdBQUcsRUFBRSxJQUFJO1lBQ2xELGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsZ0JBQWdCLEVBQUU7UUFFekIsRUFBRSxDQUFDLDJDQUEyQyxFQUFFOzs7Ozt3QkFDdkMs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LEVBQUUsQ0FBQywrQkFBK0IsRUFBRTs7Ozs0QkFDckIscUJBQU0sT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTs0QkFDMUQsSUFBSSxFQUFFLFdBQVc7eUJBQ2xCLENBQUMsQ0FBQyxFQUFBOzt3QkFGRyxJQUFJLEdBQUcsU0FFVjt3QkFFSCxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQzt3QkFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7d0JBQ3JDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDOzs7O2FBQ2hDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS91cGxvYWQvZmlsZV90b29scy5zcGVjLmJyb3dzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE5IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAnTGljZW5zZScpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBnZXRGaWxlIH0gZnJvbSAnLi9maWxlX3Rvb2xzJztcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vLi4vLi4vdXRpbHMnO1xuXG5jb25zdCBjcmVhdGVGaWxlID0gKHNpemUgPSA0NDMyMCwgbmFtZSA9ICd0ZXN0LnBuZycsIHR5cGUgPSAnaW1hZ2UvcG5nJykgPT4gbmV3IEZpbGUoW25ldyBBcnJheUJ1ZmZlcihzaXplKV0sIG5hbWUgLCB7IHR5cGU6IHR5cGUgfSk7XG5cbmNvbnN0IHNhbml0aXplT3B0aW9ucyA9IGplc3QuZm4oKS5tb2NrTmFtZSgnc2FuaXRpemVPcHRpb25zJyk7XG5cbmNvbnN0IGJhc2U2NFN2ZyA9ICdQSE4yWnlCb1pXbG5hSFE5SWpFd01DSWdkMmxrZEdnOUlqRXdNQ0krQ2lBZ1BHTnBjbU5zWlNCamVEMGlOVEFpSUdONVBTSTFNQ0lnY2owaU5EQWlJSE4wY205clpUMGlZbXhoWTJzaUlITjBjbTlyWlMxM2FXUjBhRDBpTXlJZ1ptbHNiRDBpY21Wa0lpQXZQZ29nSUZOdmNuSjVMQ0I1YjNWeUlHSnliM2R6WlhJZ1pHOWxjeUJ1YjNRZ2MzVndjRzl5ZENCcGJteHBibVVnVTFaSExpQWdDand2YzNablBpQT0nO1xuY29uc3QgYmFzZTY0UG5nID0gJ2lWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FZQUFBQWZGY1NKQUFBQURVbEVRVlI0Mm1OaytNOVFEd0FEaGdHQVdqUjlhd0FBQUFCSlJVNUVya0pnZ2c9PSc7XG5jb25zdCBiYXNlNjRHaWYgPSAnUjBsR09EbGhBUUFCQUlBQUFQLy8vd0FBQUNINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQ1JBRUFPdz09JztcblxuZGVzY3JpYmUoJ0FwaS9VcGxvYWQvRmlsZVRvb2xzJywgKCkgPT4ge1xuICBiZWZvcmVBbGwoKCkgPT4ge1xuICAgIHNweU9uKHV0aWxzLCAnc2FuaXRpemVOYW1lJykuYW5kLmNhbGxGYWtlKCh2YWwsIG9wdHMpID0+IHtcbiAgICAgIHNhbml0aXplT3B0aW9ucyhvcHRzKTtcbiAgICAgIHJldHVybiB2YWw7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdnZXRGaWxlQnJvd3NlcicsICgpID0+IHtcblxuICAgIGl0KCdTaG91bGQgaGFuZGxlIGJhc2U2NCBlbmNvZGVkIHN0cmluZyAoc3ZnKScsIGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiBleHBlY3QoKGF3YWl0IGdldEZpbGUoe1xuICAgICAgICBmaWxlOiBiYXNlNjRTdmcsXG4gICAgICAgIG5hbWU6ICd0ZXN0LnN2ZycsXG4gICAgICB9KSkubWltZXR5cGUpLnRvRXF1YWwoJ2ltYWdlL3N2Zyt4bWwnKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGFuZGxlIGJhc2U2NCBlbmNvZGVkIHN0cmluZyAocG5nKScsIGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiBleHBlY3QoKGF3YWl0IGdldEZpbGUoYmFzZTY0UG5nKSkubWltZXR5cGUpLnRvRXF1YWwoJ2ltYWdlL3BuZycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYW5kbGUgYmFzZTY0IGVuY29kZWQgc3RyaW5nIChnaWYpJywgYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIGV4cGVjdCgoYXdhaXQgZ2V0RmlsZShiYXNlNjRHaWYpKS5taW1ldHlwZSkudG9FcXVhbCgnaW1hZ2UvZ2lmJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhbmRsZSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcgd2l0aCBiNjQgcHJlZml4IChnaWYpJywgYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIGV4cGVjdCgoYXdhaXQgZ2V0RmlsZShgZGF0YTppbWFnZS9naWY7YmFzZTY0LCR7YmFzZTY0R2lmfWApKS5taW1ldHlwZSkudG9FcXVhbCgnaW1hZ2UvZ2lmJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIHBhc3Mgc2FuaXRpemUgb3B0aW9ucyB0byBmaWxlIGluc3RhbmNlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3Qgc29wdGlvbnMgPSB7XG4gICAgICAgIHJlcGxhY2VtZW50OiAnPScsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBmaWxlUmVzID0gYXdhaXQgZ2V0RmlsZSh7XG4gICAgICAgIGZpbGU6IGJhc2U2NFBuZyxcbiAgICAgICAgbmFtZTogJ3Rlc3Q8LmpwZycsXG4gICAgICB9LCBzb3B0aW9ucyk7XG5cbiAgICAgIGV4cGVjdChzYW5pdGl6ZU9wdGlvbnMpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHNvcHRpb25zKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgdGhyb3cgZXJyb3Igd2hlbiByYW5kb20gc3RyaW5nIGlzIHByb3ZpZGVkJywgKCkgPT4ge1xuICAgICAgcmV0dXJuIGV4cGVjdChnZXRGaWxlKCdhc2Rhc2RmYXNkZicpKS5yZWplY3RzLnRvRXF1YWwobmV3IEVycm9yKCdVbnN1cHBvcnRlZCBpbnB1dCBmaWxlIHR5cGUnKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhbmRsZSBiYXNlNjQgbmFtZWQgZmlsZSAoZ2lmKScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCBnZXRGaWxlKHtcbiAgICAgICAgZmlsZTogYmFzZTY0R2lmLFxuICAgICAgICBuYW1lOiAndGVzdC5naWYnLFxuICAgICAgfSk7XG4gICAgICBleHBlY3QoZmlsZS5taW1ldHlwZSkudG9FcXVhbCgnaW1hZ2UvZ2lmJyk7XG4gICAgICBleHBlY3QoZmlsZS5uYW1lKS50b0VxdWFsKCd0ZXN0LmdpZicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYW5kbGUgRmlsZSBpbnB1dCB0eXBlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IGdldEZpbGUoY3JlYXRlRmlsZSgpKTtcbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCdpbWFnZS9wbmcnKTtcbiAgICAgIGV4cGVjdChmaWxlLm5hbWUpLnRvRXF1YWwoJ3Rlc3QucG5nJyk7XG4gICAgICBleHBlY3QoZmlsZS5zaXplKS50b0VxdWFsKDQ0MzIwKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGFuZGxlIGJsb2IgaW5wdXQgdHlwZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCBnZXRGaWxlKG5ldyBCbG9iKFtuZXcgQXJyYXlCdWZmZXIoMTAwKV0sIHtcbiAgICAgICAgdHlwZTogJ2ltYWdlL2pwZycsXG4gICAgICB9KSk7XG5cbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCdpbWFnZS9qcGcnKTtcbiAgICAgIGV4cGVjdChmaWxlLm5hbWUpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgICAgIGV4cGVjdChmaWxlLnNpemUpLnRvRXF1YWwoMTAwKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9maWxlX3Rvb2xzLnNwZWMuYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEtBQUssS0FBSyxNQUFNLGVBQWUsQ0FBQztBQUV2QyxJQUFNLFVBQVUsR0FBRyxVQUFDLElBQVksRUFBRSxJQUFpQixFQUFFLElBQWtCO0lBQW5ELHFCQUFBLEVBQUEsWUFBWTtJQUFFLHFCQUFBLEVBQUEsaUJBQWlCO0lBQUUscUJBQUEsRUFBQSxrQkFBa0I7SUFBSyxPQUFBLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFBeEQsQ0FBd0QsQ0FBQztBQUVySSxJQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFOUQsSUFBTSxTQUFTLEdBQUcsc09BQXNPLENBQUM7QUFDelAsSUFBTSxTQUFTLEdBQUcsa0dBQWtHLENBQUM7QUFDckgsSUFBTSxTQUFTLEdBQUcsOERBQThELENBQUM7QUFFakYsUUFBUSxDQUFDLHNCQUFzQixFQUFFO0lBQy9CLFNBQVMsQ0FBQztRQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFVBQUMsR0FBRyxFQUFFLElBQUk7WUFDN0QsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RCLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRTtRQUV6QixFQUFFLENBQUMsMkNBQTJDLEVBQUU7Ozs7O3dCQUN2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QUM7UUFFSCxFQUFFLENBQUMsK0JBQStCLEVBQUU7Ozs7NEJBQ3JCLHFCQUFNLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7NEJBQzFELElBQUksRUFBRSxXQUFXO3lCQUNsQixDQUFDLENBQUMsRUFBQTs7d0JBRkcsSUFBSSxHQUFHLFNBRVY7d0JBRUgsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7d0JBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO3dCQUNyQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzs7OzthQUNoQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9hcGkvdXBsb2FkL2ZpbGVfdG9vbHMuc3BlYy5icm93c2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgJ0xpY2Vuc2UnKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgZ2V0RmlsZSB9IGZyb20gJy4vZmlsZV90b29scyc7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuLy4uLy4uL3V0aWxzJztcblxuY29uc3QgY3JlYXRlRmlsZSA9IChzaXplID0gNDQzMjAsIG5hbWUgPSAndGVzdC5wbmcnLCB0eXBlID0gJ2ltYWdlL3BuZycpID0+IG5ldyBGaWxlKFtuZXcgQXJyYXlCdWZmZXIoc2l6ZSldLCBuYW1lICwgeyB0eXBlOiB0eXBlIH0pO1xuXG5jb25zdCBzYW5pdGl6ZU9wdGlvbnMgPSBqZXN0LmZuKCkubW9ja05hbWUoJ3Nhbml0aXplT3B0aW9ucycpO1xuXG5jb25zdCBiYXNlNjRTdmcgPSAnUEhOMlp5Qm9aV2xuYUhROUlqRXdNQ0lnZDJsa2RHZzlJakV3TUNJK0NpQWdQR05wY21Oc1pTQmplRDBpTlRBaUlHTjVQU0kxTUNJZ2NqMGlOREFpSUhOMGNtOXJaVDBpWW14aFkyc2lJSE4wY205clpTMTNhV1IwYUQwaU15SWdabWxzYkQwaWNtVmtJaUF2UGdvZ0lGTnZjbko1TENCNWIzVnlJR0p5YjNkelpYSWdaRzlsY3lCdWIzUWdjM1Z3Y0c5eWRDQnBibXhwYm1VZ1UxWkhMaUFnQ2p3dmMzWm5QaUE9JztcbmNvbnN0IGJhc2U2NFBuZyA9ICdpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBWUFBQUFmRmNTSkFBQUFEVWxFUVZSNDJtTmsrTTlRRHdBRGhnR0FXalI5YXdBQUFBQkpSVTVFcmtKZ2dnPT0nO1xuY29uc3QgYmFzZTY0R2lmID0gJ1IwbEdPRGxoQVFBQkFJQUFBUC8vL3dBQUFDSDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUNSQUVBT3c9PSc7XG5cbmRlc2NyaWJlKCdBcGkvVXBsb2FkL0ZpbGVUb29scycsICgpID0+IHtcbiAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICBqZXN0LnNweU9uKHV0aWxzLCAnc2FuaXRpemVOYW1lJykubW9ja0ltcGxlbWVudGF0aW9uKCh2YWwsIG9wdHMpID0+IHtcbiAgICAgIHNhbml0aXplT3B0aW9ucyhvcHRzKTtcbiAgICAgIHJldHVybiB2YWw7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdnZXRGaWxlQnJvd3NlcicsICgpID0+IHtcblxuICAgIGl0KCdTaG91bGQgaGFuZGxlIGJhc2U2NCBlbmNvZGVkIHN0cmluZyAoc3ZnKScsIGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiBleHBlY3QoKGF3YWl0IGdldEZpbGUoe1xuICAgICAgICBmaWxlOiBiYXNlNjRTdmcsXG4gICAgICAgIG5hbWU6ICd0ZXN0LnN2ZycsXG4gICAgICB9KSkubWltZXR5cGUpLnRvRXF1YWwoJ2ltYWdlL3N2Zyt4bWwnKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGFuZGxlIGJhc2U2NCBlbmNvZGVkIHN0cmluZyAocG5nKScsIGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiBleHBlY3QoKGF3YWl0IGdldEZpbGUoYmFzZTY0UG5nKSkubWltZXR5cGUpLnRvRXF1YWwoJ2ltYWdlL3BuZycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYW5kbGUgYmFzZTY0IGVuY29kZWQgc3RyaW5nIChnaWYpJywgYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIGV4cGVjdCgoYXdhaXQgZ2V0RmlsZShiYXNlNjRHaWYpKS5taW1ldHlwZSkudG9FcXVhbCgnaW1hZ2UvZ2lmJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhbmRsZSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcgd2l0aCBiNjQgcHJlZml4IChnaWYpJywgYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIGV4cGVjdCgoYXdhaXQgZ2V0RmlsZShgZGF0YTppbWFnZS9naWY7YmFzZTY0LCR7YmFzZTY0R2lmfWApKS5taW1ldHlwZSkudG9FcXVhbCgnaW1hZ2UvZ2lmJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIHBhc3Mgc2FuaXRpemUgb3B0aW9ucyB0byBmaWxlIGluc3RhbmNlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3Qgc29wdGlvbnMgPSB7XG4gICAgICAgIHJlcGxhY2VtZW50OiAnPScsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBmaWxlUmVzID0gYXdhaXQgZ2V0RmlsZSh7XG4gICAgICAgIGZpbGU6IGJhc2U2NFBuZyxcbiAgICAgICAgbmFtZTogJ3Rlc3Q8LmpwZycsXG4gICAgICB9LCBzb3B0aW9ucyk7XG5cbiAgICAgIGV4cGVjdChzYW5pdGl6ZU9wdGlvbnMpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHNvcHRpb25zKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgdGhyb3cgZXJyb3Igd2hlbiByYW5kb20gc3RyaW5nIGlzIHByb3ZpZGVkJywgKCkgPT4ge1xuICAgICAgcmV0dXJuIGV4cGVjdChnZXRGaWxlKCdhc2Rhc2RmYXNkZicpKS5yZWplY3RzLnRvRXF1YWwobmV3IEVycm9yKCdVbnN1cHBvcnRlZCBpbnB1dCBmaWxlIHR5cGUnKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhbmRsZSBiYXNlNjQgbmFtZWQgZmlsZSAoZ2lmKScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCBnZXRGaWxlKHtcbiAgICAgICAgZmlsZTogYmFzZTY0R2lmLFxuICAgICAgICBuYW1lOiAndGVzdC5naWYnLFxuICAgICAgfSk7XG4gICAgICBleHBlY3QoZmlsZS5taW1ldHlwZSkudG9FcXVhbCgnaW1hZ2UvZ2lmJyk7XG4gICAgICBleHBlY3QoZmlsZS5uYW1lKS50b0VxdWFsKCd0ZXN0LmdpZicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYW5kbGUgRmlsZSBpbnB1dCB0eXBlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IGdldEZpbGUoY3JlYXRlRmlsZSgpKTtcbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCdpbWFnZS9wbmcnKTtcbiAgICAgIGV4cGVjdChmaWxlLm5hbWUpLnRvRXF1YWwoJ3Rlc3QucG5nJyk7XG4gICAgICBleHBlY3QoZmlsZS5zaXplKS50b0VxdWFsKDQ0MzIwKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGFuZGxlIGJsb2IgaW5wdXQgdHlwZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCBnZXRGaWxlKG5ldyBCbG9iKFtuZXcgQXJyYXlCdWZmZXIoMTAwKV0sIHtcbiAgICAgICAgdHlwZTogJ2ltYWdlL2pwZycsXG4gICAgICB9KSk7XG5cbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCdpbWFnZS9qcGcnKTtcbiAgICAgIGV4cGVjdChmaWxlLm5hbWUpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgICAgIGV4cGVjdChmaWxlLnNpemUpLnRvRXF1YWwoMTAwKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==

@@ -31,4 +31,4 @@ import { __awaiter, __generator } from "tslib";

case 0:
spyOn(fs, 'existsSync').and.returnValue(true);
spyOn(fs, 'readFile').and.callFake(function (path, cb) {
jest.spyOn(fs, 'existsSync').mockReturnValue(true);
jest.spyOn(fs, 'readFile').mockImplementation(function (path, cb) {
cb(null, mockedTestFile);

@@ -52,7 +52,7 @@ });

it('Should reject if provided file cannot be read', function () {
spyOn(fs, 'existsSync').and.returnValue(true);
spyOn(fs, 'readFile').and.callFake(function (path, cb) {
cb('error');
jest.spyOn(fs, 'existsSync').mockReturnValue(true);
jest.spyOn(fs, 'readFile').mockImplementation(function (path, cb) {
cb(new Error('error'), null);
});
return expect(getFile('/testfile.txt')).rejects.toEqual('error');
return expect(getFile('/testfile.txt')).rejects.toEqual(new Error('error'));
});

@@ -137,3 +137,3 @@ it('Should return correct mimetype', function () { return __awaiter(void 0, void 0, void 0, function () {

_a = expect;
return [4 /*yield*/, getFile("data:image/svg+xml;base64," + base64Svg)];
return [4 /*yield*/, getFile("data:image/svg+xml;base64,".concat(base64Svg))];
case 1:

@@ -239,2 +239,2 @@ // it is hard to detect svg mimetype for now using fallback to application/octet-stream

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9maWxlX3Rvb2xzLnNwZWMubm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUV6QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRWhCLElBQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDaEQsSUFBTSxTQUFTLEdBQUcsc09BQXNPLENBQUM7QUFDelAsSUFBTSxtQkFBbUIsR0FBRyxnUUFBZ1EsQ0FBQztBQUU3UixRQUFRLENBQUMsc0JBQXNCLEVBQUU7SUFDL0IsUUFBUSxDQUFDLGFBQWEsRUFBRTtRQUV0QixFQUFFLENBQUMsOERBQThELEVBQUU7Ozs7O3dCQUNqRSxLQUFLLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQzlDLEtBQUssQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFDLElBQUksRUFBRSxFQUFFOzRCQUMxQyxFQUFFLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO3dCQUMzQixDQUFDLENBQUMsQ0FBQzt3QkFFVSxxQkFBTSxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUE7O3dCQUFyQyxJQUFJLEdBQUcsU0FBOEI7d0JBRTNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO3dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQzt3QkFDNUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJ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RSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQztRQUN2RixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS91cGxvYWQvZmlsZV90b29scy5zcGVjLm5vZGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICdMaWNlbnNlJyk7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGdldEZpbGUgfSBmcm9tICcuL2ZpbGVfdG9vbHMnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuXG5qZXN0Lm1vY2soJ2ZzJyk7XG5cbmNvbnN0IG1vY2tlZFRlc3RGaWxlID0gQnVmZmVyLmZyb20oJ3RleHQgdGV4dCcpO1xuY29uc3QgYmFzZTY0U3ZnID0gJ1BITjJaeUJvWldsbmFIUTlJakV3TUNJZ2QybGtkR2c5SWpFd01DSStDaUFnUEdOcGNtTnNaU0JqZUQwaU5UQWlJR041UFNJMU1DSWdjajBpTkRBaUlITjBjbTlyWlQwaVlteGhZMnNpSUhOMGNtOXJaUzEzYVdSMGFEMGlNeUlnWm1sc2JEMGljbVZrSWlBdlBnb2dJRk52Y25KNUxDQjViM1Z5SUdKeWIzZHpaWElnWkc5bGN5QnViM1FnYzNWd2NHOXlkQ0JwYm14cGJtVWdVMVpITGlBZ0Nqd3ZjM1puUGlBPSc7XG5jb25zdCBiYXNlNjRTdmdXaXRoSGVhZGVyID0gJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5Qm9aV2xuYUhROUlqRXdNQ0lnZDJsa2RHZzlJakV3TUNJK0NpQWdQR05wY21Oc1pTQmplRDBpTlRBaUlHTjVQU0kxTUNJZ2NqMGlOREFpSUhOMGNtOXJaVDBpWW14aFkyc2lJSE4wY205clpTMTNhV1IwYUQwaU15SWdabWxzYkQwaWNtVmtJaUF2UGdvZ0lGTnZjbko1TENCNWIzVnlJR0p5YjNkelpYSWdaRzlsY3lCdWIzUWdjM1Z3Y0c5eWRDQnBibXhwYm1VZ1UxWkhMaUFnQ2p3dmMzWm5QaUE9JztcblxuZGVzY3JpYmUoJ0FwaS9VcGxvYWQvRmlsZVRvb2xzJywgKCkgPT4ge1xuICBkZXNjcmliZSgnZ2V0RmlsZU5vZGUnLCAoKSA9PiB7XG5cbiAgICBpdCgnU2hvdWxkIHJldHVybiBmaWxlIGluc3RhbmNlIGZvciBub2RlanMgbG9hZGVkIGZpbGUgZnJvbSBwYXRoJywgYXN5bmMgKCkgPT4ge1xuICAgICAgc3B5T24oZnMsICdleGlzdHNTeW5jJykuYW5kLnJldHVyblZhbHVlKHRydWUpO1xuICAgICAgc3B5T24oZnMsICdyZWFkRmlsZScpLmFuZC5jYWxsRmFrZSgocGF0aCwgY2IpID0+IHtcbiAgICAgICAgY2IobnVsbCwgbW9ja2VkVGVzdEZpbGUpO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCBnZXRGaWxlKCcvdGVzdGZpbGUudHh0Jyk7XG5cbiAgICAgIGV4cGVjdChmaWxlLm5hbWUpLnRvRXF1YWwoJ3Rlc3RmaWxlLnR4dCcpO1xuICAgICAgZXhwZWN0KGZpbGUubWltZXR5cGUpLnRvRXF1YWwoJ3RleHQvcGxhaW4nKTtcbiAgICAgIGV4cGVjdChmaWxlLnNpemUpLnRvRXF1YWwoOSk7XG5cbiAgICAgIGNvbnN0IG1ldGEgPSBmaWxlLmdldFBhcnRNZXRhZGF0YSgwLCAyKTtcbiAgICAgIGNvbnN0IHNsaWNlID0gYXdhaXQgZmlsZS5nZXRQYXJ0QnlNZXRhZGF0YShtZXRhKTtcblxuICAgICAgZXhwZWN0KHNsaWNlLnNpemUpLnRvRXF1YWwoMik7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIHJlamVjdCBpZiBwcm92aWRlZCBmaWxlIGNhbm5vdCBiZSByZWFkJywgKCkgPT4ge1xuICAgICAgc3B5T24oZnMsICdleGlzdHNTeW5jJykuYW5kLnJldHVyblZhbHVlKHRydWUpO1xuICAgICAgc3B5T24oZnMsICdyZWFkRmlsZScpLmFuZC5jYWxsRmFrZSgocGF0aCwgY2IpID0+IHtcbiAgICAgICAgY2IoJ2Vycm9yJyk7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGV4cGVjdChnZXRGaWxlKCcvdGVzdGZpbGUudHh0JykpLnJlamVjdHMudG9FcXVhbCgnZXJyb3InKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgcmV0dXJuIGNvcnJlY3QgbWltZXR5cGUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBqZXN0LnVubW9jaygnZnMnKTtcblxuICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IGdldEZpbGUoJy4vcGFja2FnZS5qc29uJyk7XG4gICAgICBleHBlY3QoZmlsZS5taW1ldHlwZSkudG9FcXVhbCgnYXBwbGljYXRpb24vanNvbicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCByZXR1cm4gY29ycmVjdCBmaWxlIGluc3RhbmNlIGZyb20gYnVmZmVyJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IGdldEZpbGUobW9ja2VkVGVzdEZpbGUpO1xuICAgICAgZXhwZWN0KGZpbGUuc2l6ZSkudG9FcXVhbCg5KTtcbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCd0ZXh0L3BsYWluJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhbmRsZSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZ2V0RmlsZSh7XG4gICAgICAgIG5hbWU6ICd0ZXN0LnN2ZycsXG4gICAgICAgIGZpbGU6IGJhc2U2NFN2ZyxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QoZmlsZS5taW1ldHlwZSkudG9FcXVhbCgnaW1hZ2Uvc3ZnK3htbCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYW5kbGUgYmFzZTY0IGVuY29kZWQgc3RyaW5nIHdpdGggSGVhZGVyJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IGdldEZpbGUoe1xuICAgICAgICBuYW1lOiAndGVzdC5zdmcnLFxuICAgICAgICBmaWxlOiBiYXNlNjRTdmdXaXRoSGVhZGVyLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCdpbWFnZS9zdmcreG1sJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGRldGVjdCB0ZXh0L3BsYWluIG1pbWV0eXBlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IGdldEZpbGUoe1xuICAgICAgICBuYW1lOiAndGVzdC51bmRlZmluZWQnLFxuICAgICAgICBmaWxlOiBiYXNlNjRTdmcsXG4gICAgICB9KTtcbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCd0ZXh0L3BsYWluJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhbmRsZSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcgd2l0aCBiNjQgcHJlZml4IChzdmcpJywgYXN5bmMgKCkgPT4ge1xuICAgICAgLy8gaXQgaXMgaGFyZCB0byBkZXRlY3Qgc3ZnIG1pbWV0eXBlIGZvciBub3cgdXNpbmcgZmFsbGJhY2sgdG8gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXG4gICAgICByZXR1cm4gZXhwZWN0KChhd2FpdCBnZXRGaWxlKGBkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LCR7YmFzZTY0U3ZnfWApKS5taW1ldHlwZSkudG9FcXVhbCgnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGdldCBwYXJ0IG9mIHRoZSBidWZmZXIgYWZ0ZXIgc2xpY2UnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZ2V0RmlsZShtb2NrZWRUZXN0RmlsZSk7XG5cbiAgICAgIGNvbnN0IG1ldGEgPSBmaWxlLmdldFBhcnRNZXRhZGF0YSgwLCAyKTtcbiAgICAgIGNvbnN0IHNsaWNlID0gYXdhaXQgZmlsZS5nZXRQYXJ0QnlNZXRhZGF0YShtZXRhKTtcblxuICAgICAgZXhwZWN0KHNsaWNlLnNpemUpLnRvRXF1YWwoMik7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhbmRsZSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZ2V0RmlsZSh7XG4gICAgICAgIG5hbWU6ICd0ZXN0LnVuZGVmaW5lZCcsXG4gICAgICAgIGZpbGU6IEJ1ZmZlci5vZigxMiksXG4gICAgICB9KTtcbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCd0ZXh0L3BsYWluJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIHRocm93IGVycm9yIHdoZW4gcmFuZG9tIHN0cmluZyBpcyBwcm92aWRlZCcsIGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiBleHBlY3QoZ2V0RmlsZSgnYXNkYXNkZmFzZGYnKSkucmVqZWN0cy50b0VxdWFsKG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgaW5wdXQgZmlsZSB0eXBlJykpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBwYXNzIHNhbml0aXplIG9wdGlvbnMgdG8gZmlsZSBpbnN0YW5jZSAoYnVmZmVyKScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZpbGVSZXMgPSBhd2FpdCBnZXRGaWxlKHtcbiAgICAgICAgZmlsZTogbW9ja2VkVGVzdEZpbGUsXG4gICAgICAgIG5hbWU6ICd0ZXN0PC5qcGcnLFxuICAgICAgfSwge1xuICAgICAgICByZXBsYWNlbWVudDogJz0nLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChmaWxlUmVzLm5hbWUpLnRvRXF1YWwoJ3Rlc3Q9LmpwZycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBwYXNzIHNhbml0aXplIG9wdGlvbnMgdG8gZmlsZSBpbnN0YW5jZSBwYXRoJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmlsZVJlcyA9IGF3YWl0IGdldEZpbGUoe1xuICAgICAgICBmaWxlOiAnLi9wYWNrYWdlLmpzb24nLFxuICAgICAgICBuYW1lOiAndGVzdDwuanBnJyxcbiAgICAgIH0sIHtcbiAgICAgICAgcmVwbGFjZW1lbnQ6ICc9JyxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QoZmlsZVJlcy5uYW1lKS50b0VxdWFsKCd0ZXN0PS5qcGcnKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGFuZGxlIG5hbWVkIGZpbGUgaW5wdXQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZ2V0RmlsZSh7XG4gICAgICAgIG5hbWU6ICcxMjMuanBnJyxcbiAgICAgICAgZmlsZTogbW9ja2VkVGVzdEZpbGUsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KGZpbGUubmFtZSkudG9FcXVhbCgnMTIzLmpwZycpO1xuICAgICAgZXhwZWN0KGZpbGUuc2l6ZSkudG9FcXVhbCg5KTtcbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCdpbWFnZS9qcGVnJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIHJlamVjdCBvbiB1bnN1cHBvcnRlZCBpbnB1dCBmaWxlIHR5cGUnLCAoKSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICByZXR1cm4gZXhwZWN0KGdldEZpbGUoe30pKS5yZWplY3RzLnRvRXF1YWwobmV3IEVycm9yKCdVbnN1cHBvcnRlZCBpbnB1dCBmaWxlIHR5cGUnKSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9maWxlX3Rvb2xzLnNwZWMubm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUV6QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRWhCLElBQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDaEQsSUFBTSxTQUFTLEdBQUcsc09BQXNPLENBQUM7QUFDelAsSUFBTSxtQkFBbUIsR0FBRyxnUUFBZ1EsQ0FBQztBQUU3UixRQUFRLENBQUMsc0JBQXNCLEVBQUU7SUFDL0IsUUFBUSxDQUFDLGFBQWEsRUFBRTtRQUV0QixFQUFFLENBQUMsOERBQThELEVBQUU7Ozs7O3dCQUNqRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ25ELElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFVBQUMsSUFBSSxFQUFFLEVBQUU7NEJBQ3JELEVBQUUsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7d0JBQzNCLENBQUMsQ0FBQyxDQUFDO3dCQUVVLHFCQUFNLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBQTs7d0JBQXJDLElBQUksR0FBRyxTQUE4Qjt3QkFFM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7d0JBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO3dCQUM1QyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFFdkIsSUFBSSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3dCQUMxQixxQkFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUE7O3dCQUExQyxLQUFLLEdBQUcsU0FBa0M7d0JBRWhELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDOzs7O2FBQy9CLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrQ0FBK0MsRUFBRTtZQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUMsa0JBQWtCLENBQUMsVUFBQyxJQUFJLEVBQUUsRUFBRTtnQkFDckQsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzlFLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGdDQUFnQyxFQUFFOzs7Ozt3QkFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFFTCxxQkFBTSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBQTs7d0JBQXRDLElBQUksR0FBRyxTQUErQjt3QkFDNUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQzs7OzthQUNuRCxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsaURBQWlELEVBQUU7Ozs7NEJBQ3ZDLHFCQUFNLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBQTs7d0JBQXBDLElBQUksR0FBRyxTQUE2Qjt3QkFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDOzs7O2FBQzdDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxxQ0FBcUMsRUFBRTs7Ozs0QkFDM0IscUJBQU0sT0FBTyxDQUFDOzRCQUN6QixJQUFJLEVBQUUsVUFBVTs0QkFDaEIsSUFBSSxFQUFFLFNBQVM7eUJBQ2hCLENBQUMsRUFBQTs7d0JBSEksSUFBSSxHQUFHLFNBR1g7d0JBRUYsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7Ozs7YUFDaEQsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGlEQUFpRCxFQUFFOzs7OzRCQUN2QyxxQkFBTSxPQUFPLENBQUM7NEJBQ3pCLElBQUksRUFBRSxVQUFVOzRCQUNoQixJQUFJLEVBQUUsbUJBQW1CO3lCQUMxQixDQUFDLEVBQUE7O3dCQUhJLElBQUksR0FBRyxTQUdYO3dCQUVGLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDOzs7O2FBQ2hELENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxtQ0FBbUMsRUFBRTs7Ozs0QkFDekIscUJBQU0sT0FBTyxDQUFDOzRCQUN6QixJQUFJLEVBQUUsZ0JBQWdCOzRCQUN0QixJQUFJLEVBQUUsU0FBUzt5QkFDaEIsQ0FBQyxFQUFBOzt3QkFISSxJQUFJLEdBQUcsU0FHWDt3QkFDRixNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQzs7OzthQUM3QyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsMkRBQTJELEVBQUU7Ozs7O3dCQUV2RCxLQUFBLE1BQU0sQ0FBQTt3QkFBRSxxQkFBTSxPQUFPLENBQUMsb0NBQTZCLFNBQVMsQ0FBRSxDQUFDLEVBQUE7O29CQUR0RSx1RkFBdUY7b0JBQ3ZGLHNCQUFPLGtCQUFPLENBQUMsU0FBdUQsQ0FBQyxDQUFDLFFBQVEsRUFBQyxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxFQUFDOzs7YUFDdkgsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDJDQUEyQyxFQUFFOzs7OzRCQUNqQyxxQkFBTSxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUE7O3dCQUFwQyxJQUFJLEdBQUcsU0FBNkI7d0JBRXBDLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzt3QkFDMUIscUJBQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFBOzt3QkFBMUMsS0FBSyxHQUFHLFNBQWtDO3dCQUVoRCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzs7OzthQUMvQixDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMscUNBQXFDLEVBQUU7Ozs7NEJBQzNCLHFCQUFNLE9BQU8sQ0FBQzs0QkFDekIsSUFBSSxFQUFFLGdCQUFnQjs0QkFDdEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO3lCQUNwQixDQUFDLEVBQUE7O3dCQUhJLElBQUksR0FBRyxTQUdYO3dCQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDOzs7O2FBQzdDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxtREFBbUQsRUFBRTs7Z0JBQ3RELHNCQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUMsRUFBQzs7YUFDakcsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHdEQUF3RCxFQUFFOzs7OzRCQUMzQyxxQkFBTSxPQUFPLENBQUM7NEJBQzVCLElBQUksRUFBRSxjQUFjOzRCQUNwQixJQUFJLEVBQUUsV0FBVzt5QkFDbEIsRUFBRTs0QkFDRCxXQUFXLEVBQUUsR0FBRzt5QkFDakIsQ0FBQyxFQUFBOzt3QkFMSSxPQUFPLEdBQUcsU0FLZDt3QkFFRixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQzs7OzthQUMzQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsb0RBQW9ELEVBQUU7Ozs7NEJBQ3ZDLHFCQUFNLE9BQU8sQ0FBQzs0QkFDNUIsSUFBSSxFQUFFLGdCQUFnQjs0QkFDdEIsSUFBSSxFQUFFLFdBQVc7eUJBQ2xCLEVBQUU7NEJBQ0QsV0FBVyxFQUFFLEdBQUc7eUJBQ2pCLENBQUMsRUFBQTs7d0JBTEksT0FBTyxHQUFHLFNBS2Q7d0JBRUYsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7Ozs7YUFDM0MsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGdDQUFnQyxFQUFFOzs7OzRCQUN0QixxQkFBTSxPQUFPLENBQUM7NEJBQ3pCLElBQUksRUFBRSxTQUFTOzRCQUNmLElBQUksRUFBRSxjQUFjO3lCQUNyQixDQUFDLEVBQUE7O3dCQUhJLElBQUksR0FBRyxTQUdYO3dCQUVGLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO3dCQUNyQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7Ozs7YUFDN0MsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDhDQUE4QyxFQUFFO1lBQ2pELGFBQWE7WUFDYixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQztRQUN2RixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS91cGxvYWQvZmlsZV90b29scy5zcGVjLm5vZGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICdMaWNlbnNlJyk7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGdldEZpbGUgfSBmcm9tICcuL2ZpbGVfdG9vbHMnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuXG5qZXN0Lm1vY2soJ2ZzJyk7XG5cbmNvbnN0IG1vY2tlZFRlc3RGaWxlID0gQnVmZmVyLmZyb20oJ3RleHQgdGV4dCcpO1xuY29uc3QgYmFzZTY0U3ZnID0gJ1BITjJaeUJvWldsbmFIUTlJakV3TUNJZ2QybGtkR2c5SWpFd01DSStDaUFnUEdOcGNtTnNaU0JqZUQwaU5UQWlJR041UFNJMU1DSWdjajBpTkRBaUlITjBjbTlyWlQwaVlteGhZMnNpSUhOMGNtOXJaUzEzYVdSMGFEMGlNeUlnWm1sc2JEMGljbVZrSWlBdlBnb2dJRk52Y25KNUxDQjViM1Z5SUdKeWIzZHpaWElnWkc5bGN5QnViM1FnYzNWd2NHOXlkQ0JwYm14cGJtVWdVMVpITGlBZ0Nqd3ZjM1puUGlBPSc7XG5jb25zdCBiYXNlNjRTdmdXaXRoSGVhZGVyID0gJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5Qm9aV2xuYUhROUlqRXdNQ0lnZDJsa2RHZzlJakV3TUNJK0NpQWdQR05wY21Oc1pTQmplRDBpTlRBaUlHTjVQU0kxTUNJZ2NqMGlOREFpSUhOMGNtOXJaVDBpWW14aFkyc2lJSE4wY205clpTMTNhV1IwYUQwaU15SWdabWxzYkQwaWNtVmtJaUF2UGdvZ0lGTnZjbko1TENCNWIzVnlJR0p5YjNkelpYSWdaRzlsY3lCdWIzUWdjM1Z3Y0c5eWRDQnBibXhwYm1VZ1UxWkhMaUFnQ2p3dmMzWm5QaUE9JztcblxuZGVzY3JpYmUoJ0FwaS9VcGxvYWQvRmlsZVRvb2xzJywgKCkgPT4ge1xuICBkZXNjcmliZSgnZ2V0RmlsZU5vZGUnLCAoKSA9PiB7XG5cbiAgICBpdCgnU2hvdWxkIHJldHVybiBmaWxlIGluc3RhbmNlIGZvciBub2RlanMgbG9hZGVkIGZpbGUgZnJvbSBwYXRoJywgYXN5bmMgKCkgPT4ge1xuICAgICAgamVzdC5zcHlPbihmcywgJ2V4aXN0c1N5bmMnKS5tb2NrUmV0dXJuVmFsdWUodHJ1ZSk7XG4gICAgICBqZXN0LnNweU9uKGZzLCAncmVhZEZpbGUnKS5tb2NrSW1wbGVtZW50YXRpb24oKHBhdGgsIGNiKSA9PiB7XG4gICAgICAgIGNiKG51bGwsIG1vY2tlZFRlc3RGaWxlKTtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZ2V0RmlsZSgnL3Rlc3RmaWxlLnR4dCcpO1xuXG4gICAgICBleHBlY3QoZmlsZS5uYW1lKS50b0VxdWFsKCd0ZXN0ZmlsZS50eHQnKTtcbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCd0ZXh0L3BsYWluJyk7XG4gICAgICBleHBlY3QoZmlsZS5zaXplKS50b0VxdWFsKDkpO1xuXG4gICAgICBjb25zdCBtZXRhID0gZmlsZS5nZXRQYXJ0TWV0YWRhdGEoMCwgMik7XG4gICAgICBjb25zdCBzbGljZSA9IGF3YWl0IGZpbGUuZ2V0UGFydEJ5TWV0YWRhdGEobWV0YSk7XG5cbiAgICAgIGV4cGVjdChzbGljZS5zaXplKS50b0VxdWFsKDIpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCByZWplY3QgaWYgcHJvdmlkZWQgZmlsZSBjYW5ub3QgYmUgcmVhZCcsICgpID0+IHtcbiAgICAgIGplc3Quc3B5T24oZnMsICdleGlzdHNTeW5jJykubW9ja1JldHVyblZhbHVlKHRydWUpO1xuICAgICAgamVzdC5zcHlPbihmcywgJ3JlYWRGaWxlJykubW9ja0ltcGxlbWVudGF0aW9uKChwYXRoLCBjYikgPT4ge1xuICAgICAgICBjYihuZXcgRXJyb3IoJ2Vycm9yJyksIG51bGwpO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBleHBlY3QoZ2V0RmlsZSgnL3Rlc3RmaWxlLnR4dCcpKS5yZWplY3RzLnRvRXF1YWwobmV3IEVycm9yKCdlcnJvcicpKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgcmV0dXJuIGNvcnJlY3QgbWltZXR5cGUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBqZXN0LnVubW9jaygnZnMnKTtcblxuICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IGdldEZpbGUoJy4vcGFja2FnZS5qc29uJyk7XG4gICAgICBleHBlY3QoZmlsZS5taW1ldHlwZSkudG9FcXVhbCgnYXBwbGljYXRpb24vanNvbicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCByZXR1cm4gY29ycmVjdCBmaWxlIGluc3RhbmNlIGZyb20gYnVmZmVyJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IGdldEZpbGUobW9ja2VkVGVzdEZpbGUpO1xuICAgICAgZXhwZWN0KGZpbGUuc2l6ZSkudG9FcXVhbCg5KTtcbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCd0ZXh0L3BsYWluJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhbmRsZSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZ2V0RmlsZSh7XG4gICAgICAgIG5hbWU6ICd0ZXN0LnN2ZycsXG4gICAgICAgIGZpbGU6IGJhc2U2NFN2ZyxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QoZmlsZS5taW1ldHlwZSkudG9FcXVhbCgnaW1hZ2Uvc3ZnK3htbCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYW5kbGUgYmFzZTY0IGVuY29kZWQgc3RyaW5nIHdpdGggSGVhZGVyJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IGdldEZpbGUoe1xuICAgICAgICBuYW1lOiAndGVzdC5zdmcnLFxuICAgICAgICBmaWxlOiBiYXNlNjRTdmdXaXRoSGVhZGVyLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCdpbWFnZS9zdmcreG1sJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGRldGVjdCB0ZXh0L3BsYWluIG1pbWV0eXBlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IGdldEZpbGUoe1xuICAgICAgICBuYW1lOiAndGVzdC51bmRlZmluZWQnLFxuICAgICAgICBmaWxlOiBiYXNlNjRTdmcsXG4gICAgICB9KTtcbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCd0ZXh0L3BsYWluJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhbmRsZSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcgd2l0aCBiNjQgcHJlZml4IChzdmcpJywgYXN5bmMgKCkgPT4ge1xuICAgICAgLy8gaXQgaXMgaGFyZCB0byBkZXRlY3Qgc3ZnIG1pbWV0eXBlIGZvciBub3cgdXNpbmcgZmFsbGJhY2sgdG8gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXG4gICAgICByZXR1cm4gZXhwZWN0KChhd2FpdCBnZXRGaWxlKGBkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LCR7YmFzZTY0U3ZnfWApKS5taW1ldHlwZSkudG9FcXVhbCgnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGdldCBwYXJ0IG9mIHRoZSBidWZmZXIgYWZ0ZXIgc2xpY2UnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZ2V0RmlsZShtb2NrZWRUZXN0RmlsZSk7XG5cbiAgICAgIGNvbnN0IG1ldGEgPSBmaWxlLmdldFBhcnRNZXRhZGF0YSgwLCAyKTtcbiAgICAgIGNvbnN0IHNsaWNlID0gYXdhaXQgZmlsZS5nZXRQYXJ0QnlNZXRhZGF0YShtZXRhKTtcblxuICAgICAgZXhwZWN0KHNsaWNlLnNpemUpLnRvRXF1YWwoMik7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhbmRsZSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZ2V0RmlsZSh7XG4gICAgICAgIG5hbWU6ICd0ZXN0LnVuZGVmaW5lZCcsXG4gICAgICAgIGZpbGU6IEJ1ZmZlci5vZigxMiksXG4gICAgICB9KTtcbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCd0ZXh0L3BsYWluJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIHRocm93IGVycm9yIHdoZW4gcmFuZG9tIHN0cmluZyBpcyBwcm92aWRlZCcsIGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiBleHBlY3QoZ2V0RmlsZSgnYXNkYXNkZmFzZGYnKSkucmVqZWN0cy50b0VxdWFsKG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgaW5wdXQgZmlsZSB0eXBlJykpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBwYXNzIHNhbml0aXplIG9wdGlvbnMgdG8gZmlsZSBpbnN0YW5jZSAoYnVmZmVyKScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZpbGVSZXMgPSBhd2FpdCBnZXRGaWxlKHtcbiAgICAgICAgZmlsZTogbW9ja2VkVGVzdEZpbGUsXG4gICAgICAgIG5hbWU6ICd0ZXN0PC5qcGcnLFxuICAgICAgfSwge1xuICAgICAgICByZXBsYWNlbWVudDogJz0nLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChmaWxlUmVzLm5hbWUpLnRvRXF1YWwoJ3Rlc3Q9LmpwZycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBwYXNzIHNhbml0aXplIG9wdGlvbnMgdG8gZmlsZSBpbnN0YW5jZSBwYXRoJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmlsZVJlcyA9IGF3YWl0IGdldEZpbGUoe1xuICAgICAgICBmaWxlOiAnLi9wYWNrYWdlLmpzb24nLFxuICAgICAgICBuYW1lOiAndGVzdDwuanBnJyxcbiAgICAgIH0sIHtcbiAgICAgICAgcmVwbGFjZW1lbnQ6ICc9JyxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QoZmlsZVJlcy5uYW1lKS50b0VxdWFsKCd0ZXN0PS5qcGcnKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGFuZGxlIG5hbWVkIGZpbGUgaW5wdXQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZ2V0RmlsZSh7XG4gICAgICAgIG5hbWU6ICcxMjMuanBnJyxcbiAgICAgICAgZmlsZTogbW9ja2VkVGVzdEZpbGUsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KGZpbGUubmFtZSkudG9FcXVhbCgnMTIzLmpwZycpO1xuICAgICAgZXhwZWN0KGZpbGUuc2l6ZSkudG9FcXVhbCg5KTtcbiAgICAgIGV4cGVjdChmaWxlLm1pbWV0eXBlKS50b0VxdWFsKCdpbWFnZS9qcGVnJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIHJlamVjdCBvbiB1bnN1cHBvcnRlZCBpbnB1dCBmaWxlIHR5cGUnLCAoKSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICByZXR1cm4gZXhwZWN0KGdldEZpbGUoe30pKS5yZWplY3RzLnRvRXF1YWwobmV3IEVycm9yKCdVbnN1cHBvcnRlZCBpbnB1dCBmaWxlIHR5cGUnKSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=

@@ -49,3 +49,3 @@ import { __assign, __awaiter, __generator } from "tslib";

},
enumerable: true,
enumerable: false,
configurable: true

@@ -64,3 +64,3 @@ });

},
enumerable: true,
enumerable: false,
configurable: true

@@ -83,3 +83,3 @@ });

if (typeof newName !== 'string') {
throw new Error("Name function must return a string. Current return type is " + typeof val);
throw new Error("Name function must return a string. Current return type is ".concat(typeof val));
}

@@ -90,3 +90,3 @@ this.name = val(this);

},
enumerable: true,
enumerable: false,
configurable: true

@@ -106,3 +106,3 @@ });

},
enumerable: true,
enumerable: false,
configurable: true

@@ -121,3 +121,3 @@ });

},
enumerable: true,
enumerable: false,
configurable: true

@@ -135,3 +135,3 @@ });

},
enumerable: true,
enumerable: false,
configurable: true

@@ -212,5 +212,3 @@ });

slice = _a.sent();
return [2 /*return*/, Promise.resolve(__assign(__assign({}, meta), { buffer: slice, md5: md5Enabled ? md5(slice) : undefined, size: slice.byteLength, startByte: startByte,
endByte: endByte,
offset: offset }))];
return [2 /*return*/, Promise.resolve(__assign(__assign({}, meta), { buffer: slice, md5: md5Enabled ? md5(slice) : undefined, size: slice.byteLength, startByte: startByte, endByte: endByte, offset: offset }))];
}

@@ -245,2 +243,2 @@ });

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxPQUFPLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFzQ25FOzs7OztHQUtHO0FBQ0g7SUFnQkUsY0FBNkIsS0FBbUIsRUFBbUIsZ0JBQWtDO1FBQXhFLFVBQUssR0FBTCxLQUFLLENBQWM7UUFBbUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNuRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekUsQ0FBQztJQVFELHNCQUFXLHNCQUFJO1FBTmY7Ozs7O1dBS0c7YUFDSDtZQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDekIsQ0FBQztRQWFEOzs7O1dBSUc7YUFDSCxVQUFnQixHQUFXO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDN0QsQ0FBQzs7O09BcEJBO0lBU0Qsc0JBQVcsMEJBQVE7UUFQbkI7Ozs7OztXQU1HO2FBQ0g7WUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkIsQ0FBQzs7O09BQUE7SUFpQkQsc0JBQVcsNEJBQVU7UUFOckI7Ozs7O1dBS0c7YUFDSCxVQUFzQixHQUFzQztZQUMxRCxRQUFRLE9BQU8sR0FBRyxFQUFFO2dCQUNsQixLQUFLLFFBQVE7b0JBQ1gsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7b0JBQ2hCLE1BQU07Z0JBQ1IsS0FBSyxVQUFVO29CQUNiLElBQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDMUIsSUFB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Q0FBQyxDQUFDLENBQUMsU0FBUyxFQUN4QyxJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFDdEIsU0FBUyxXQUFBO2dDQUNULE9BQU8sU0FBQTtnQ0FDUCxNQUFNLFFBQUEsSUFDTixFQUFDOzs7O0tBQ0o7SUFDRDs7OztPQUlHO0lBQ0ksc0JBQU8sR0FBZDtRQUNFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFTSxxQkFBTSxHQUFiO1FBQ0UsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzVCLENBQUM7SUFDSixDQUFDO0lBQ0gsV0FBQztBQUFELENBN01BLEFBNk1DLElBQUEiLCJmaWxlIjoibGliL2FwaS91cGxvYWQvZmlsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBtZDUsIHNhbml0aXplTmFtZSwgU2FuaXRpemVPcHRpb25zIH0gZnJvbSAnLi8uLi8uLi91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkVGFncyB7XG4gIFtrZXk6IHN0cmluZ106IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlSW5zdGFuY2Uge1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgc2l6ZTogbnVtYmVyO1xuICBzbGljZTogKHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKSA9PiBQcm9taXNlPEFycmF5QnVmZmVyPjtcbiAgcmVsZWFzZT86ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIEZpbGVTdGF0ZSB7XG4gIElOSVQgPSAnSW5pdGlhbGl6ZWQnLFxuICBQUk9HUkVTUyA9ICdQcm9ncmVzcycsXG4gIFNUT1JFRCA9ICdTdG9yZWQnLFxuICBJTlRSQU5TSVQgPSAnSW5UcmFuc2l0JyxcbiAgRkFJTEVEID0gJ0ZhaWxlZCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZVBhcnRNZXRhZGF0YSB7XG4gIHN0YXJ0Qnl0ZTogbnVtYmVyO1xuICBlbmRCeXRlOiBudW1iZXI7XG4gIHBhcnROdW1iZXI6IG51bWJlcjtcbiAgc2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVQYXJ0IGV4dGVuZHMgRmlsZVBhcnRNZXRhZGF0YSB7XG4gIGJ1ZmZlcjogQnVmZmVyIHwgQXJyYXlCdWZmZXI7XG4gIG1kNT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlQ2h1bmsgZXh0ZW5kcyBGaWxlUGFydCB7XG4gIG9mZnNldDogbnVtYmVyOyAvLyBvZmZzZXQgZm9yIGNodW5rIC0gZnJvbSBwYXJ0IHN0YXJ0XG59XG5cbi8qKlxuICogRmlsZSByZXByZXNlbnRhdGlvbiB0byB1bmlmeSBmaWxlIG9iamVjdCBpbiBub2RlanMgYW5kIGJyb3dzZXJcbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgRmlsZVxuICovXG5leHBvcnQgY2xhc3MgRmlsZSB7XG5cbiAgcHVibGljIHN0YXR1czogRmlsZVN0YXRlO1xuXG4gIHB1YmxpYyBoYW5kbGU6IHN0cmluZztcblxuICBwdWJsaWMgdXJsOiBzdHJpbmc7XG5cbiAgcHVibGljIGNvbnRhaW5lcjogc3RyaW5nO1xuXG4gIHB1YmxpYyBrZXk6IHN0cmluZztcblxuICBwdWJsaWMgd29ya2Zsb3dzOiBhbnlbXTtcblxuICBwdWJsaWMgdXBsb2FkVGFnczogVXBsb2FkVGFncztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF9maWxlOiBGaWxlSW5zdGFuY2UsIHByaXZhdGUgcmVhZG9ubHkgX3Nhbml0aXplT3B0aW9ucz86IFNhbml0aXplT3B0aW9ucykge1xuICAgIHRoaXMuX2ZpbGUubmFtZSA9IHNhbml0aXplTmFtZSh0aGlzLl9maWxlLm5hbWUsIHRoaXMuX3Nhbml0aXplT3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBmaWxlIG5hbWVcbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9maWxlLm5hbWU7XG4gIH1cblxuICAvKipcbiAgICogQWxpYXMgZm9yIG5hbWUgZ2V0dGVyXG4gICAqXG4gICAqIEByZWFkb25seVxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRmlsZVxuICAgKi9cbiAgcHVibGljIGdldCBmaWxlbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBuZXcgZmlsZSBuYW1lICBhbmQgY2xlYW51cCBleHRyYSBjaGFyc1xuICAgKlxuICAgKiBAbWVtYmVyb2YgRmlsZVxuICAgKi9cbiAgcHVibGljIHNldCBuYW1lKHZhbDogc3RyaW5nKSB7XG4gICAgdGhpcy5fZmlsZS5uYW1lID0gc2FuaXRpemVOYW1lKHZhbCwgdGhpcy5fc2FuaXRpemVPcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGN1c3RvbSBuYW1lIHVzaW5nIHN0cmluZyBvciBmdW5jdGlvblxuICAgKiBOYW1lIHdpbGwgYmUgc2FuaXRpemVkXG4gICAqXG4gICAqIEBtZW1iZXJvZiBGaWxlXG4gICAqL1xuICBwdWJsaWMgc2V0IGN1c3RvbU5hbWUodmFsOiAoKGZpbGU6IHRoaXMpID0+IHN0cmluZykgfCBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHR5cGVvZiB2YWwpIHtcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgIHRoaXMubmFtZSA9IHZhbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdmdW5jdGlvbic6XG4gICAgICAgIGNvbnN0IG5ld05hbWUgPSB2YWwodGhpcyk7XG4gICAgICAgIGlmICh0eXBlb2YgbmV3TmFtZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5hbWUgZnVuY3Rpb24gbXVzdCByZXR1cm4gYSBzdHJpbmcuIEN1cnJlbnQgcmV0dXJuIHR5cGUgaXMgJHt0eXBlb2YgdmFsfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYW1lID0gdmFsKHRoaXMpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBmaWxlIHR5cGVcbiAgICpcbiAgICogQGRlZmF1bHQgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSdcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHRoaXMuX2ZpbGUudHlwZSB8fCAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJztcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGlhcyBmb3IgZmlsZSB0eXBlXG4gICAqXG4gICAqIEByZWFkb25seVxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRmlsZVxuICAgKi9cbiAgcHVibGljIGdldCBtaW1ldHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBmaWxlIHNpemVcbiAgICpcbiAgICogQHJldHVybnMge251bWJlcn1cbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBnZXQgc2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9maWxlLnNpemU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBudW1iZXIgb2YgcGFydHMgYWNjb3JkaW5nIHRvIHBhcnQgc2l6ZVxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gc2l6ZSAtIHBhcnQgc2l6ZSBpbiBieXRlc1xuICAgKiBAcmV0dXJucyB7bnVtYmVyfVxuICAgKiBAbWVtYmVyb2YgRmlsZVxuICAgKi9cbiAgcHVibGljIGdldFBhcnRzQ291bnQgKHNpemU6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLl9maWxlLnNpemUgLyBzaXplKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHBhcnQgbWV0YWRhdGFcbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IFtwYXJ0TnVtPTBdXG4gICAqIEBwYXJhbSB7Kn0gc2l6ZVxuICAgKiBAcmV0dXJucyB7RmlsZVBhcnRNZXRhZGF0YX1cbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBnZXRQYXJ0TWV0YWRhdGEgKHBhcnROdW06IG51bWJlciwgc2l6ZTogbnVtYmVyKTogRmlsZVBhcnRNZXRhZGF0YSB7XG4gICAgY29uc3Qgc3RhcnRCeXRlID0gc2l6ZSAqIHBhcnROdW07XG5cbiAgICBpZiAoc3RhcnRCeXRlID4gdGhpcy5fZmlsZS5zaXplKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFN0YXJ0IGJ5dGUgb2YgdGhlIHBhcnQgaXMgaGlnaGVyIHRoYW4gYnVmZmVyIHNpemVgKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbmRCeXRlID0gTWF0aC5taW4oc3RhcnRCeXRlICsgc2l6ZSwgdGhpcy5fZmlsZS5zaXplKTtcblxuICAgIHJldHVybiB7XG4gICAgICBwYXJ0TnVtYmVyOiBwYXJ0TnVtLFxuICAgICAgc3RhcnRCeXRlLFxuICAgICAgZW5kQnl0ZSxcbiAgICAgIHNpemU6IGVuZEJ5dGUgLSBzdGFydEJ5dGUsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHBhcnQgbWV0YWRhdGEgKyBidWZmZXJcbiAgICpcbiAgICogQHBhcmFtIHtGaWxlUGFydE1ldGFkYXRhfSBtZXRhXG4gICAqIEByZXR1cm5zIHtGaWxlUGFydH1cbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRQYXJ0QnlNZXRhZGF0YShtZXRhOiBGaWxlUGFydE1ldGFkYXRhLCBtZDVFbmFibGVkOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8RmlsZVBhcnQ+IHtcbiAgICBsZXQgc2xpY2UgPSBhd2FpdCB0aGlzLl9maWxlLnNsaWNlKG1ldGEuc3RhcnRCeXRlLCBtZXRhLmVuZEJ5dGUpO1xuXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAuLi5tZXRhLFxuICAgICAgYnVmZmVyOiBzbGljZSxcbiAgICAgIG1kNTogbWQ1RW5hYmxlZCA/IG1kNShzbGljZSkgOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBwYXJ0IGNodW5rXG4gICAqXG4gICAqIEBwYXJhbSB7RmlsZVBhcnRNZXRhZGF0YX0gbWV0YVxuICAgKiBAcGFyYW0ge251bWJlcn0gb2Zmc2V0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBjaHVua1NpemVcbiAgICogQHJldHVybnMge0ZpbGVQYXJ0fVxuICAgKiBAbWVtYmVyb2YgRmlsZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldENodW5rQnlNZXRhZGF0YShtZXRhOiBGaWxlUGFydE1ldGFkYXRhLCBvZmZzZXQ6IG51bWJlciwgY2h1bmtTaXplOiBudW1iZXIsIG1kNUVuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlKTogUHJvbWlzZTxGaWxlQ2h1bms+IHtcbiAgICBjb25zdCBzdGFydEJ5dGUgPSBtZXRhLnN0YXJ0Qnl0ZSArIG9mZnNldDtcbiAgICBjb25zdCBlbmRCeXRlID0gTWF0aC5taW4oc3RhcnRCeXRlICsgY2h1bmtTaXplLCBtZXRhLmVuZEJ5dGUpO1xuXG4gICAgbGV0IHNsaWNlID0gYXdhaXQgdGhpcy5fZmlsZS5zbGljZShzdGFydEJ5dGUsIGVuZEJ5dGUpO1xuXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAuLi5tZXRhLFxuICAgICAgYnVmZmVyOiBzbGljZSxcbiAgICAgIG1kNTogbWQ1RW5hYmxlZCA/IG1kNShzbGljZSkgOiB1bmRlZmluZWQsXG4gICAgICBzaXplOiBzbGljZS5ieXRlTGVuZ3RoLFxuICAgICAgc3RhcnRCeXRlLFxuICAgICAgZW5kQnl0ZSxcbiAgICAgIG9mZnNldCxcbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogQ2xlYW51cCBmaWxlIGJ1ZmZlciB0byByZWxlYXNlIG1lbW9yeVxuICAgKlxuICAgKiBAbWVtYmVyb2YgRmlsZVxuICAgKi9cbiAgcHVibGljIHJlbGVhc2UoKSB7XG4gICAgaWYgKHRoaXMuX2ZpbGUucmVsZWFzZSkge1xuICAgICAgdGhpcy5fZmlsZS5yZWxlYXNlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRvSlNPTigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgc3RhdHVzOiB0aGlzLnN0YXR1cyxcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgIHNpemU6IHRoaXMuc2l6ZSxcbiAgICAgIHVybDogdGhpcy51cmwsXG4gICAgICBoYW5kbGU6IHRoaXMuaGFuZGxlLFxuICAgICAgdXBsb2FkVGFnczogdGhpcy51cGxvYWRUYWdzLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxPQUFPLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFzQ25FOzs7OztHQUtHO0FBQ0g7SUFnQkUsY0FBNkIsS0FBbUIsRUFBbUIsZ0JBQWtDO1FBQXhFLFVBQUssR0FBTCxLQUFLLENBQWM7UUFBbUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNuRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekUsQ0FBQztJQVFELHNCQUFXLHNCQUFJO1FBTmY7Ozs7O1dBS0c7YUFDSDtZQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDekIsQ0FBQztRQWFEOzs7O1dBSUc7YUFDSCxVQUFnQixHQUFXO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDN0QsQ0FBQzs7O09BcEJBO0lBU0Qsc0JBQVcsMEJBQVE7UUFQbkI7Ozs7OztXQU1HO2FBQ0g7WUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkIsQ0FBQzs7O09BQUE7SUFpQkQsc0JBQVcsNEJBQVU7UUFOckI7Ozs7O1dBS0c7YUFDSCxVQUFzQixHQUFzQztZQUMxRCxRQUFRLE9BQU8sR0FBRyxFQUFFO2dCQUNsQixLQUFLLFFBQVE7b0JBQ1gsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7b0JBQ2hCLE1BQU07Z0JBQ1IsS0FBSyxVQUFVO29CQUNiLElBQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDMUIsSUFB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Q0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQ3hDLElBQUksRUFBRSxLQUFLLENBQUMsVUFBVSxFQUN0QixTQUFTLFdBQUEsRUFDVCxPQUFPLFNBQUEsRUFDUCxNQUFNLFFBQUEsSUFDTixFQUFDOzs7O0tBQ0o7SUFDRDs7OztPQUlHO0lBQ0ksc0JBQU8sR0FBZDtRQUNFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFTSxxQkFBTSxHQUFiO1FBQ0UsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzVCLENBQUM7SUFDSixDQUFDO0lBQ0gsV0FBQztBQUFELENBN01BLEFBNk1DLElBQUEiLCJmaWxlIjoibGliL2FwaS91cGxvYWQvZmlsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBtZDUsIHNhbml0aXplTmFtZSwgU2FuaXRpemVPcHRpb25zIH0gZnJvbSAnLi8uLi8uLi91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkVGFncyB7XG4gIFtrZXk6IHN0cmluZ106IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlSW5zdGFuY2Uge1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgc2l6ZTogbnVtYmVyO1xuICBzbGljZTogKHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKSA9PiBQcm9taXNlPEFycmF5QnVmZmVyPjtcbiAgcmVsZWFzZT86ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIEZpbGVTdGF0ZSB7XG4gIElOSVQgPSAnSW5pdGlhbGl6ZWQnLFxuICBQUk9HUkVTUyA9ICdQcm9ncmVzcycsXG4gIFNUT1JFRCA9ICdTdG9yZWQnLFxuICBJTlRSQU5TSVQgPSAnSW5UcmFuc2l0JyxcbiAgRkFJTEVEID0gJ0ZhaWxlZCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZVBhcnRNZXRhZGF0YSB7XG4gIHN0YXJ0Qnl0ZTogbnVtYmVyO1xuICBlbmRCeXRlOiBudW1iZXI7XG4gIHBhcnROdW1iZXI6IG51bWJlcjtcbiAgc2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVQYXJ0IGV4dGVuZHMgRmlsZVBhcnRNZXRhZGF0YSB7XG4gIGJ1ZmZlcjogQnVmZmVyIHwgQXJyYXlCdWZmZXI7XG4gIG1kNT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlQ2h1bmsgZXh0ZW5kcyBGaWxlUGFydCB7XG4gIG9mZnNldDogbnVtYmVyOyAvLyBvZmZzZXQgZm9yIGNodW5rIC0gZnJvbSBwYXJ0IHN0YXJ0XG59XG5cbi8qKlxuICogRmlsZSByZXByZXNlbnRhdGlvbiB0byB1bmlmeSBmaWxlIG9iamVjdCBpbiBub2RlanMgYW5kIGJyb3dzZXJcbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgRmlsZVxuICovXG5leHBvcnQgY2xhc3MgRmlsZSB7XG5cbiAgcHVibGljIHN0YXR1czogRmlsZVN0YXRlO1xuXG4gIHB1YmxpYyBoYW5kbGU6IHN0cmluZztcblxuICBwdWJsaWMgdXJsOiBzdHJpbmc7XG5cbiAgcHVibGljIGNvbnRhaW5lcjogc3RyaW5nO1xuXG4gIHB1YmxpYyBrZXk6IHN0cmluZztcblxuICBwdWJsaWMgd29ya2Zsb3dzOiBhbnlbXTtcblxuICBwdWJsaWMgdXBsb2FkVGFnczogVXBsb2FkVGFncztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF9maWxlOiBGaWxlSW5zdGFuY2UsIHByaXZhdGUgcmVhZG9ubHkgX3Nhbml0aXplT3B0aW9ucz86IFNhbml0aXplT3B0aW9ucykge1xuICAgIHRoaXMuX2ZpbGUubmFtZSA9IHNhbml0aXplTmFtZSh0aGlzLl9maWxlLm5hbWUsIHRoaXMuX3Nhbml0aXplT3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBmaWxlIG5hbWVcbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9maWxlLm5hbWU7XG4gIH1cblxuICAvKipcbiAgICogQWxpYXMgZm9yIG5hbWUgZ2V0dGVyXG4gICAqXG4gICAqIEByZWFkb25seVxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRmlsZVxuICAgKi9cbiAgcHVibGljIGdldCBmaWxlbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBuZXcgZmlsZSBuYW1lICBhbmQgY2xlYW51cCBleHRyYSBjaGFyc1xuICAgKlxuICAgKiBAbWVtYmVyb2YgRmlsZVxuICAgKi9cbiAgcHVibGljIHNldCBuYW1lKHZhbDogc3RyaW5nKSB7XG4gICAgdGhpcy5fZmlsZS5uYW1lID0gc2FuaXRpemVOYW1lKHZhbCwgdGhpcy5fc2FuaXRpemVPcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGN1c3RvbSBuYW1lIHVzaW5nIHN0cmluZyBvciBmdW5jdGlvblxuICAgKiBOYW1lIHdpbGwgYmUgc2FuaXRpemVkXG4gICAqXG4gICAqIEBtZW1iZXJvZiBGaWxlXG4gICAqL1xuICBwdWJsaWMgc2V0IGN1c3RvbU5hbWUodmFsOiAoKGZpbGU6IHRoaXMpID0+IHN0cmluZykgfCBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHR5cGVvZiB2YWwpIHtcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgIHRoaXMubmFtZSA9IHZhbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdmdW5jdGlvbic6XG4gICAgICAgIGNvbnN0IG5ld05hbWUgPSB2YWwodGhpcyk7XG4gICAgICAgIGlmICh0eXBlb2YgbmV3TmFtZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5hbWUgZnVuY3Rpb24gbXVzdCByZXR1cm4gYSBzdHJpbmcuIEN1cnJlbnQgcmV0dXJuIHR5cGUgaXMgJHt0eXBlb2YgdmFsfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYW1lID0gdmFsKHRoaXMpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBmaWxlIHR5cGVcbiAgICpcbiAgICogQGRlZmF1bHQgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSdcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHRoaXMuX2ZpbGUudHlwZSB8fCAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJztcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGlhcyBmb3IgZmlsZSB0eXBlXG4gICAqXG4gICAqIEByZWFkb25seVxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRmlsZVxuICAgKi9cbiAgcHVibGljIGdldCBtaW1ldHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBmaWxlIHNpemVcbiAgICpcbiAgICogQHJldHVybnMge251bWJlcn1cbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBnZXQgc2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9maWxlLnNpemU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBudW1iZXIgb2YgcGFydHMgYWNjb3JkaW5nIHRvIHBhcnQgc2l6ZVxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gc2l6ZSAtIHBhcnQgc2l6ZSBpbiBieXRlc1xuICAgKiBAcmV0dXJucyB7bnVtYmVyfVxuICAgKiBAbWVtYmVyb2YgRmlsZVxuICAgKi9cbiAgcHVibGljIGdldFBhcnRzQ291bnQgKHNpemU6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLl9maWxlLnNpemUgLyBzaXplKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHBhcnQgbWV0YWRhdGFcbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IFtwYXJ0TnVtPTBdXG4gICAqIEBwYXJhbSB7Kn0gc2l6ZVxuICAgKiBAcmV0dXJucyB7RmlsZVBhcnRNZXRhZGF0YX1cbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBnZXRQYXJ0TWV0YWRhdGEgKHBhcnROdW06IG51bWJlciwgc2l6ZTogbnVtYmVyKTogRmlsZVBhcnRNZXRhZGF0YSB7XG4gICAgY29uc3Qgc3RhcnRCeXRlID0gc2l6ZSAqIHBhcnROdW07XG5cbiAgICBpZiAoc3RhcnRCeXRlID4gdGhpcy5fZmlsZS5zaXplKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFN0YXJ0IGJ5dGUgb2YgdGhlIHBhcnQgaXMgaGlnaGVyIHRoYW4gYnVmZmVyIHNpemVgKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbmRCeXRlID0gTWF0aC5taW4oc3RhcnRCeXRlICsgc2l6ZSwgdGhpcy5fZmlsZS5zaXplKTtcblxuICAgIHJldHVybiB7XG4gICAgICBwYXJ0TnVtYmVyOiBwYXJ0TnVtLFxuICAgICAgc3RhcnRCeXRlLFxuICAgICAgZW5kQnl0ZSxcbiAgICAgIHNpemU6IGVuZEJ5dGUgLSBzdGFydEJ5dGUsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHBhcnQgbWV0YWRhdGEgKyBidWZmZXJcbiAgICpcbiAgICogQHBhcmFtIHtGaWxlUGFydE1ldGFkYXRhfSBtZXRhXG4gICAqIEByZXR1cm5zIHtGaWxlUGFydH1cbiAgICogQG1lbWJlcm9mIEZpbGVcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRQYXJ0QnlNZXRhZGF0YShtZXRhOiBGaWxlUGFydE1ldGFkYXRhLCBtZDVFbmFibGVkOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8RmlsZVBhcnQ+IHtcbiAgICBsZXQgc2xpY2UgPSBhd2FpdCB0aGlzLl9maWxlLnNsaWNlKG1ldGEuc3RhcnRCeXRlLCBtZXRhLmVuZEJ5dGUpO1xuXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAuLi5tZXRhLFxuICAgICAgYnVmZmVyOiBzbGljZSxcbiAgICAgIG1kNTogbWQ1RW5hYmxlZCA/IG1kNShzbGljZSkgOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBwYXJ0IGNodW5rXG4gICAqXG4gICAqIEBwYXJhbSB7RmlsZVBhcnRNZXRhZGF0YX0gbWV0YVxuICAgKiBAcGFyYW0ge251bWJlcn0gb2Zmc2V0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBjaHVua1NpemVcbiAgICogQHJldHVybnMge0ZpbGVQYXJ0fVxuICAgKiBAbWVtYmVyb2YgRmlsZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldENodW5rQnlNZXRhZGF0YShtZXRhOiBGaWxlUGFydE1ldGFkYXRhLCBvZmZzZXQ6IG51bWJlciwgY2h1bmtTaXplOiBudW1iZXIsIG1kNUVuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlKTogUHJvbWlzZTxGaWxlQ2h1bms+IHtcbiAgICBjb25zdCBzdGFydEJ5dGUgPSBtZXRhLnN0YXJ0Qnl0ZSArIG9mZnNldDtcbiAgICBjb25zdCBlbmRCeXRlID0gTWF0aC5taW4oc3RhcnRCeXRlICsgY2h1bmtTaXplLCBtZXRhLmVuZEJ5dGUpO1xuXG4gICAgbGV0IHNsaWNlID0gYXdhaXQgdGhpcy5fZmlsZS5zbGljZShzdGFydEJ5dGUsIGVuZEJ5dGUpO1xuXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAuLi5tZXRhLFxuICAgICAgYnVmZmVyOiBzbGljZSxcbiAgICAgIG1kNTogbWQ1RW5hYmxlZCA/IG1kNShzbGljZSkgOiB1bmRlZmluZWQsXG4gICAgICBzaXplOiBzbGljZS5ieXRlTGVuZ3RoLFxuICAgICAgc3RhcnRCeXRlLFxuICAgICAgZW5kQnl0ZSxcbiAgICAgIG9mZnNldCxcbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogQ2xlYW51cCBmaWxlIGJ1ZmZlciB0byByZWxlYXNlIG1lbW9yeVxuICAgKlxuICAgKiBAbWVtYmVyb2YgRmlsZVxuICAgKi9cbiAgcHVibGljIHJlbGVhc2UoKSB7XG4gICAgaWYgKHRoaXMuX2ZpbGUucmVsZWFzZSkge1xuICAgICAgdGhpcy5fZmlsZS5yZWxlYXNlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRvSlNPTigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgc3RhdHVzOiB0aGlzLnN0YXR1cyxcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgIHNpemU6IHRoaXMuc2l6ZSxcbiAgICAgIHVybDogdGhpcy51cmwsXG4gICAgICBoYW5kbGU6IHRoaXMuaGFuZGxlLFxuICAgICAgdXBsb2FkVGFnczogdGhpcy51cGxvYWRUYWdzLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==

@@ -20,3 +20,4 @@ /*

export * from './file';
export * from './types';
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFFBQVEsQ0FBQyIsImZpbGUiOiJsaWIvYXBpL3VwbG9hZC9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vZmlsZV90b29scyc7XG5leHBvcnQgKiBmcm9tICcuL3VwbG9hZCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFNBQVMsQ0FBQyIsImZpbGUiOiJsaWIvYXBpL3VwbG9hZC9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vZmlsZV90b29scyc7XG5leHBvcnQgKiBmcm9tICcuL3VwbG9hZCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG4iXX0=

@@ -65,3 +65,3 @@ import { StoreBaseParams } from './../../filelink';

}
export declare type StoreUploadOptions = StoreBaseParams & {
export type StoreUploadOptions = StoreBaseParams & {
/**

@@ -68,0 +68,0 @@ * Filename or function that returns custom filename for stored file

@@ -17,3 +17,4 @@ /*

*/
export {};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUciLCJmaWxlIjoibGliL2FwaS91cGxvYWQvdHlwZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBTdG9yZUJhc2VQYXJhbXMgfSBmcm9tICcuLy4uLy4uL2ZpbGVsaW5rJztcbmltcG9ydCB7IFVwbG9hZFRhZ3MgfSBmcm9tICcuL2ZpbGUnO1xuaW1wb3J0IHsgU2FuaXRpemVPcHRpb25zIH0gZnJvbSAnLi8uLi8uLi91dGlscy9pbmRleCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBNYXhpbXVtIHNpemUgZm9yIGZpbGUgc2xpY2VzLiBJcyBvdmVycmlkZGVuIHdoZW4gaW50ZWxsaWdlbnQ9dHJ1ZS4gRGVmYXVsdCBpcyBgNiAqIDEwMjQgKiAxMDI0YCAoNk1CKS5cbiAgICovXG4gIHBhcnRTaXplPzogbnVtYmVyO1xuICAvKipcbiAgICogTWF4aW11bSBhbW91bnQgb2YgcGFydCBqb2JzIHRvIHJ1biBjb25jdXJyZW50bHkuIERlZmF1bHQgaXMgMy5cbiAgICovXG4gIGNvbmN1cnJlbmN5PzogbnVtYmVyO1xuICAvKipcbiAgICogQ2FsbGJhY2sgZm9yIHByb2dyZXNzIGV2ZW50cy5cbiAgICovXG4gIG9uUHJvZ3Jlc3M/OiAoZXZ0OiBGU1Byb2dyZXNzRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBIb3cgb2Z0ZW4gdG8gcmVwb3J0IHByb2dyZXNzLiBEZWZhdWx0IGlzIDEwMDAgKGluIG1pbGxpc2Vjb25kcykuXG4gICAqL1xuICBwcm9ncmVzc0ludGVydmFsPzogbnVtYmVyO1xuICAvKipcbiAgICogQ2FsbGJhY2sgZm9yIHJldHJ5IGV2ZW50cy5cbiAgICovXG4gIG9uUmV0cnk/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogUmV0cnkgbGltaXQuIERlZmF1bHQgaXMgMTAuXG4gICAqL1xuICByZXRyeT86IG51bWJlcjsgLy8gUmV0cnkgbGltaXRcbiAgLyoqXG4gICAqIEZhY3RvciBmb3IgZXhwb25lbnRpYWwgYmFja29mZiBvbiBzZXJ2ZXIgZXJyb3JzLiBEZWZhdWx0IGlzIDIuXG4gICAqL1xuICByZXRyeUZhY3Rvcj86IG51bWJlcjtcbiAgLyoqXG4gICAqIFVwcGVyIGJvdW5kIGZvciBleHBvbmVudGlhbCBiYWNrb2ZmLiBEZWZhdWx0IGlzIDE1MDAwLlxuICAgKi9cbiAgcmV0cnlNYXhUaW1lPzogbnVtYmVyO1xuICAvKipcbiAgICogVGltZW91dCBmb3IgbmV0d29yayByZXF1ZXN0cy4gRGVmYXVsdCBpcyAxMjAwMDAuXG4gICAqL1xuICB0aW1lb3V0PzogbnVtYmVyO1xuICAvKipcbiAgICogRW5hYmxlL2Rpc2FibGUgaW50ZWxsaWdlbnQgaW5nZXN0aW9uLlxuICAgKiBJZiB0cnV0aHkgdGhlbiBpbnRlbGxpZ2VudCBpbmdlc3Rpb24gbXVzdCBiZSBlbmFibGVkIGluIHlvdXIgRmlsZXN0YWNrIGFwcGxpY2F0aW9uLlxuICAgKiBQYXNzaW5nIHRydWUvZmFsc2UgdG9nZ2xlcyB0aGUgZ2xvYmFsIGludGVsbGlnZW50IGZsb3cgKGFsbCBwYXJ0cyBhcmUgY2h1bmtlZCBhbmQgY29tbWl0dGVkKS5cbiAgICogUGFzc2luZyBgJ2ZhbGxiYWNrJ2Agd2lsbCBvbmx5IHVzZSBGSUkgd2hlbiBuZXR3b3JrIGNvbmRpdGlvbnMgbWF5IHJlcXVpcmUgaXQgKG9ubHkgZmFpbGluZyBwYXJ0cyB3aWxsIGJlIGNodW5rZWQpLlxuICAgKi9cbiAgaW50ZWxsaWdlbnQ/OiBib29sZWFuIHwgJ2ZhbGxiYWNrJztcbiAgLyoqXG4gICAqIFNldCB0aGUgZGVmYXVsdCBpbnRpaWFsIGNodW5rIHNpemUgZm9yIEludGVsbGlnZW50IEluZ2VzdGlvbi4gRGVmYXVsdHMgdG8gOE1CIG9uIGRlc2t0b3AgYW5kIDFNQiBvbiBtb2JpbGUuXG4gICAqL1xuICBpbnRlbGxpZ2VudENodW5rU2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogRGlzYWJsZSBjaGVja2luZyBpbnRlZ3JpdHkgb2YgdXBsb2FkZWQgZmlsZXMuXG4gICAqIE9uIHNsb3dlciBkZXZpY2VzIGl0IGNhbiBib29zdCB1cGxvYWQgcGVyZm9ybWFuY2UgKGRpc2FibGUgY291bnRpbmcgbWQ1IGZyb20gZmlsZSBwYXJ0cylcbiAgICovXG4gIGRpc2FibGVJbnRlZ3JpdHlDaGVjaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERlZmluZSB1cGxvYWQgdGFncyB0byBiZSBwYXNzZWQgdG8gd2ViaG9va1xuICAgKlxuICAgKiBAdHlwZSB7VGFnc31cbiAgICogQG1lbWJlcm9mIFVwbG9hZE9wdGlvbnNcbiAgICovXG4gIHRhZ3M/OiBVcGxvYWRUYWdzO1xufVxuXG5leHBvcnQgdHlwZSBTdG9yZVVwbG9hZE9wdGlvbnMgPSBTdG9yZUJhc2VQYXJhbXMgJiB7XG4gIC8qKlxuICAgKiBGaWxlbmFtZSBvciBmdW5jdGlvbiB0aGF0IHJldHVybnMgY3VzdG9tIGZpbGVuYW1lIGZvciBzdG9yZWQgZmlsZVxuICAgKi9cbiAgZmlsZW5hbWU/OiAoKGZpbGU6IEZpbGUpID0+IHN0cmluZykgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdvcmtmbG93cyBpZHMgdG8gcnVuIGFmdGVyIHVwbG9hZFxuICAgKi9cbiAgd29ya2Zsb3dzPzogKHN0cmluZyB8IFdvcmtmbG93Q29uZmlnKVtdO1xuXG4gIC8qKlxuICAgKiBGaWVsbmFtZSBzYW5pdGl6ZXIgZm9yIGNsZWFudXAgIGJlZm9yZSB1cGxvYWRcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L2Rldi9Vc2luZ01ldGFkYXRhLmh0bWxcbiAgICogQGRlZmF1bHQge1xuICAgKiAgIGV4Y2x1ZGU6IFsnXFxcXCcsICd7JywgJ30nLCd8JywgJyUnLCAnYCcsICdcIicsIFwiJ1wiLCAnficsICdbJywgJ10nLCAnIycsICd8JywgJ14nLCAnPCcsICc+J11cbiAgICogICByZXBsYWNlbWVudDogJy0nXG4gICAqIH1cbiAgICogQHR5cGUgeygoYm9vbGVhbiB8IHtcbiAgICogICAgIGV4Y2x1ZGU6IHN0cmluZ1tdLFxuICAgKiAgICAgcmVwbGFjZW1lbnQ6IHN0cmluZyxcbiAgICogICB9KSl9XG4gICAqL1xuICBzYW5pdGl6ZXI/OiBTYW5pdGl6ZU9wdGlvbnNcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dDb25maWcge1xuICBpZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZTUHJvZ3Jlc3NFdmVudCB7XG4gIHRvdGFsUGVyY2VudDogbnVtYmVyO1xuICB0b3RhbEJ5dGVzOiBudW1iZXI7XG59XG4iXX0=

@@ -83,3 +83,3 @@ /*

if (options.intelligent) {
_this.uploader.setUploadMode(options.intelligent === 'fallback' ? "fallback" /* FALLBACK */ : "intelligent" /* INTELLIGENT */);
_this.uploader.setUploadMode(options.intelligent === 'fallback' ? "fallback" /* UploadMode.FALLBACK */ : "intelligent" /* UploadMode.INTELLIGENT */);
}

@@ -167,3 +167,3 @@ _this.uploader.setUploadTags(options.tags);

this.uploader.removeAllListeners();
if (res.status === "Failed" /* FAILED */) {
if (res.status === "Failed" /* FileState.FAILED */) {
return [2 /*return*/, Promise.reject(res)];

@@ -185,14 +185,17 @@ }

return __awaiter(this, void 0, void 0, function () {
var _a, _b, _i, i, f, res;
return __generator(this, function (_c) {
switch (_c.label) {
var _a, _b, _c, _i, i, f, res;
return __generator(this, function (_d) {
switch (_d.label) {
case 0:
_a = [];
for (_b in input)
_a.push(_b);
_a = input;
_b = [];
for (_c in _a)
_b.push(_c);
_i = 0;
_c.label = 1;
_d.label = 1;
case 1:
if (!(_i < _a.length)) return [3 /*break*/, 4];
i = _a[_i];
if (!(_i < _b.length)) return [3 /*break*/, 4];
_c = _b[_i];
if (!(_c in _a)) return [3 /*break*/, 3];
i = _c;
/* istanbul ignore next */

@@ -204,6 +207,6 @@ if (!input.hasOwnProperty(i)) {

case 2:
f = _c.sent();
f = _d.sent();
f.customName = this.overrideFileName;
this.uploader.addFile(f);
_c.label = 3;
_d.label = 3;
case 3:

@@ -216,3 +219,3 @@ _i++;

case 5:
res = _c.sent();
res = _d.sent();
this.stopProgressInterval();

@@ -274,2 +277,2 @@ this.uploader.removeAllListeners();

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC91cGxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUVILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUloRixPQUFPLEVBQUUsT0FBTyxFQUFhLE1BQU0sY0FBYyxDQUFDO0FBR2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVF4RixJQUFNLHlCQUF5QixHQUFHLElBQUksQ0FBQztBQUV2QyxJQUFNLGlCQUFpQixHQUFHLFVBQUMsT0FBTyxFQUFFLElBQUk7SUFDdEMsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25FLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUV6RSxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNIO0lBQTRCLDBCQUFZO0lBMkJ0QyxnQkFBNkIsT0FBMkIsRUFBVSxZQUFxQztRQUExRSx3QkFBQSxFQUFBLFlBQTJCO1FBQVUsNkJBQUEsRUFBQSxpQkFBcUM7UUFBdkcsWUFDRSxpQkFBTyxTQTBEUjtRQTNENEIsYUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFBVSxrQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFSL0Ysa0JBQVksR0FBa0I7WUFDcEMsVUFBVSxFQUFFLENBQUM7WUFDYixZQUFZLEVBQUUsQ0FBQztTQUNo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Ozs7T0FLRztJQUNLLHFDQUFvQixHQUE1QjtRQUNFLGFBQWEsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssK0JBQWMsR0FBdEIsVUFBdUIsUUFBdUI7UUFDNUMsa0VBQWtFO1FBQ2xFLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTFELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUU7WUFDM0IsS0FBSyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFO2dCQUM1QixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUM5QixRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDdEY7YUFDRjtTQUNGO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7SUFDL0IsQ0FBQztJQUNILGFBQUM7QUFBRCxDQTNQQSxBQTJQQyxDQTNQMkIsWUFBWSxHQTJQdkMiLCJmaWxlIjoibGliL2FwaS91cGxvYWQvdXBsb2FkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnZXZlbnRlbWl0dGVyMyc7XG5pbXBvcnQgeyBTZXNzaW9uLCBTZWN1cml0eSB9IGZyb20gJy4uLy4uL2NsaWVudCc7XG5pbXBvcnQgeyBTM1VwbG9hZGVyIH0gZnJvbSAnLi91cGxvYWRlcnMvczMnO1xuaW1wb3J0IHsgRmlsZXN0YWNrRXJyb3IsIEZpbGVzdGFja0Vycm9yVHlwZSB9IGZyb20gJy4vLi4vLi4vLi4vZmlsZXN0YWNrX2Vycm9yJztcbmltcG9ydCB7IFNhbml0aXplT3B0aW9ucyB9IGZyb20gJy4vLi4vLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBVcGxvYWRPcHRpb25zLCBTdG9yZVVwbG9hZE9wdGlvbnMgfSBmcm9tICcuLi91cGxvYWQvdHlwZXMnO1xuaW1wb3J0IHsgZ2V0RmlsZSwgSW5wdXRGaWxlIH0gZnJvbSAnLi9maWxlX3Rvb2xzJztcbmltcG9ydCB7IEZpbGVTdGF0ZSwgVXBsb2FkVGFncyB9IGZyb20gJy4vZmlsZSc7XG5pbXBvcnQgeyBVcGxvYWRNb2RlIH0gZnJvbSAnLi91cGxvYWRlcnMvYWJzdHJhY3QnO1xuaW1wb3J0IHsgZ2V0VmFsaWRhdG9yLCBVcGxvYWRQYXJhbXNTY2hlbWEsIFN0b3JlUGFyYW1zU2NoZW1hIH0gZnJvbSAnLi8uLi8uLi8uLi9zY2hlbWEnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb2dyZXNzRXZlbnQge1xuICB0b3RhbFBlcmNlbnQ6IG51bWJlcjtcbiAgdG90YWxCeXRlczogbnVtYmVyO1xuICBmaWxlcz86IHsgKGtleTogc3RyaW5nKTogUHJvZ3Jlc3NFdmVudCB9O1xufVxuXG5jb25zdCBERUZBVUxUX1BST0dSRVNTX0lOVEVSVkFMID0gMTAwMDtcblxuY29uc3Qgbm9ybWFsaXplUHJvZ3Jlc3MgPSAoY3VycmVudCwgbGFzdCkgPT4ge1xuICBjdXJyZW50LnRvdGFsQnl0ZXMgPSBNYXRoLm1heChjdXJyZW50LnRvdGFsQnl0ZXMsIGxhc3QudG90YWxCeXRlcyk7XG4gIGN1cnJlbnQudG90YWxQZXJjZW50ID0gTWF0aC5tYXgoY3VycmVudC50b3RhbFBlcmNlbnQsIGxhc3QudG90YWxQZXJjZW50KTtcblxuICByZXR1cm4gY3VycmVudDtcbn07XG5cbi8qKlxuICogVXBsb2FkZXIgbWFpbiBjbGFzcyBmb3Igbm93IGl0cyBzdXBwb3J0aW5nIG9ubHkgczMgdXBsb2FkIHR5cGVcbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgVXBsb2FkXG4gKi9cbmV4cG9ydCBjbGFzcyBVcGxvYWQgZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xuXG4gIC8qKlxuICAgKiBVcGxvYWRlciBpbnN0YW5jZVxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAdHlwZSB7UzNVcGxvYWRlcn1cbiAgICogQG1lbWJlcm9mIFVwbG9hZFxuICAgKi9cbiAgcHJpdmF0ZSB1cGxvYWRlcjogUzNVcGxvYWRlcjtcblxuICAvKipcbiAgICogU2hvdWxkIHdlIG92ZXJ3cml0ZSBmaWxlIG5hbWVcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQG1lbWJlcm9mIFVwbG9hZFxuICAgKi9cbiAgcHJpdmF0ZSBvdmVycmlkZUZpbGVOYW1lO1xuXG4gIHByaXZhdGUgbGFzdFByb2dyZXNzOiBQcm9ncmVzc0V2ZW50ID0ge1xuICAgIHRvdGFsQnl0ZXM6IDAsXG4gICAgdG90YWxQZXJjZW50OiAwLFxuICB9O1xuXG4gIHByaXZhdGUgcHJvZ3Jlc3NJbnRlcnZhbEhhbmRsZXI7XG4gIHByaXZhdGUgc2FuaXRpemVyT3B0aW9uczogU2FuaXRpemVPcHRpb25zO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVXBsb2FkT3B0aW9ucyA9IHt9LCBwcml2YXRlIHN0b3JlT3B0aW9uczogU3RvcmVVcGxvYWRPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcigpO1xuXG4gICAgLy8gZG8gbm90IGRlbGV0ZSBmaWxlbmFtZSBmcm9tIG9yaWdpbmFsIG9wdGlvbnMgcmVmZXJlbmNlIC0gY29weSBpdCBmaXJzdFxuICAgIHRoaXMuc3RvcmVPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgc3RvcmVPcHRpb25zKTtcblxuICAgIGNvbnN0IHZhbGlkYXRlUmVzID0gZ2V0VmFsaWRhdG9yKFVwbG9hZFBhcmFtc1NjaGVtYSkob3B0aW9ucyk7XG5cbiAgICBpZiAodmFsaWRhdGVSZXMuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKGBJbnZhbGlkIHVwbG9hZCBwYXJhbXNgLCB2YWxpZGF0ZVJlcy5lcnJvcnMsIEZpbGVzdGFja0Vycm9yVHlwZS5WQUxJREFUSU9OKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdG9yZVZhbGlkYXRlUmVzID0gZ2V0VmFsaWRhdG9yKFN0b3JlUGFyYW1zU2NoZW1hKShzdG9yZU9wdGlvbnMpO1xuICAgIGlmIChzdG9yZVZhbGlkYXRlUmVzLmVycm9ycy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcihgSW52YWxpZCBzdG9yZSB1cGxvYWQgcGFyYW1zYCwgc3RvcmVWYWxpZGF0ZVJlcy5lcnJvcnMsIEZpbGVzdGFja0Vycm9yVHlwZS5WQUxJREFUSU9OKTtcbiAgICB9XG5cbiAgICBpZiAoc3RvcmVPcHRpb25zLmZpbGVuYW1lKSB7XG4gICAgICB0aGlzLm92ZXJyaWRlRmlsZU5hbWUgPSBzdG9yZU9wdGlvbnMuZmlsZW5hbWU7XG4gICAgICBkZWxldGUgdGhpcy5zdG9yZU9wdGlvbnMuZmlsZW5hbWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc3RvcmVPcHRpb25zLnNhbml0aXplcikge1xuICAgICAgdGhpcy5zYW5pdGl6ZXJPcHRpb25zID0gdGhpcy5zdG9yZU9wdGlvbnMuc2FuaXRpemVyO1xuICAgICAgZGVsZXRlIHRoaXMuc3RvcmVPcHRpb25zLnNhbml0aXplcjtcbiAgICB9XG5cbiAgICB0aGlzLnVwbG9hZGVyID0gbmV3IFMzVXBsb2FkZXIodGhpcy5zdG9yZU9wdGlvbnMsIG9wdGlvbnMuY29uY3VycmVuY3kpO1xuXG4gICAgdGhpcy51cGxvYWRlci5zZXRSZXRyeUNvbmZpZyh7XG4gICAgICByZXRyeTogb3B0aW9ucy5yZXRyeSB8fCAxMCxcbiAgICAgIG9uUmV0cnk6IG9wdGlvbnMub25SZXRyeSwgLy8gQHRvZG8gYmluZCBmaWxlIHRvIHJldHJ5IGluIHMzIHVwbG9hZGVyXG4gICAgICByZXRyeUZhY3Rvcjogb3B0aW9ucy5yZXRyeUZhY3RvciB8fCAyLFxuICAgICAgcmV0cnlNYXhUaW1lOiBvcHRpb25zLnJldHJ5TWF4VGltZSB8fCAxNTAwMCxcbiAgICB9KTtcblxuICAgIHRoaXMudXBsb2FkZXIuc2V0VGltZW91dChvcHRpb25zLnRpbWVvdXQgfHwgMTIwMDAwKTtcblxuICAgIGlmIChvcHRpb25zLnBhcnRTaXplKSB7XG4gICAgICB0aGlzLnVwbG9hZGVyLnNldFBhcnRTaXplKG9wdGlvbnMucGFydFNpemUpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmludGVsbGlnZW50Q2h1bmtTaXplKSB7XG4gICAgICB0aGlzLnVwbG9hZGVyLnNldEludGVsbGlnZW50Q2h1bmtTaXplKG9wdGlvbnMuaW50ZWxsaWdlbnRDaHVua1NpemUpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmRpc2FibGVJbnRlZ3JpdHlDaGVjaykge1xuICAgICAgdGhpcy51cGxvYWRlci5zZXRJbnRlZ3JpdHlDaGVjayhmYWxzZSk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuaW50ZWxsaWdlbnQpIHtcbiAgICAgIHRoaXMudXBsb2FkZXIuc2V0VXBsb2FkTW9kZShvcHRpb25zLmludGVsbGlnZW50ID09PSAnZmFsbGJhY2snID8gVXBsb2FkTW9kZS5GQUxMQkFDSyA6IFVwbG9hZE1vZGUuSU5URUxMSUdFTlQpO1xuICAgIH1cblxuICAgIHRoaXMudXBsb2FkZXIuc2V0VXBsb2FkVGFncyhvcHRpb25zLnRhZ3MpO1xuXG4gICAgdGhpcy51cGxvYWRlci5vbignc3RhcnQnLCAoKSA9PiB0aGlzLmVtaXQoJ3N0YXJ0JykpO1xuICAgIHRoaXMudXBsb2FkZXIub24oJ2Vycm9yJywgKGUpID0+IHRoaXMuZW1pdCgnZXJyb3InLCBlKSk7XG4gICAgdGhpcy51cGxvYWRlci5vbigncHJvZ3Jlc3MnLCB0aGlzLmhhbmRsZVByb2dyZXNzLmJpbmQodGhpcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBzZXNzaW9uIG9iamVjdCB0byB1cGxvYWRlclxuICAgKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiBAcGFyYW0ge1Nlc3Npb259IHNlc3Npb25cbiAgICogQG1lbWJlcm9mIFVwbG9hZFxuICAgKi9cbiAgc2V0U2Vzc2lvbihzZXNzaW9uOiBTZXNzaW9uKSB7XG4gICAgdGhpcy51cGxvYWRlci5zZXRBcGlrZXkoc2Vzc2lvbi5hcGlrZXkpO1xuXG4gICAgaWYgKHNlc3Npb24ucG9saWN5ICYmIHNlc3Npb24uc2lnbmF0dXJlKSB7XG4gICAgICB0aGlzLnVwbG9hZGVyLnNldFNlY3VyaXR5KHtcbiAgICAgICAgcG9saWN5OiBzZXNzaW9uLnBvbGljeSxcbiAgICAgICAgc2lnbmF0dXJlOiBzZXNzaW9uLnNpZ25hdHVyZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudXBsb2FkZXIuc2V0VXJsKHNlc3Npb24udXJscy51cGxvYWRBcGlVcmwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBjYW5jZWwgdG9rZW4gdG8gY29udHJvbGwgdXBsb2FkIGZsb3dcbiAgICpcbiAgICogQHBhcmFtIHsqfSB0b2tlblxuICAgKiBAcmV0dXJuc1xuICAgKiBAbWVtYmVyb2YgVXBsb2FkXG4gICAqL1xuICBwdWJsaWMgc2V0VG9rZW4odG9rZW46IGFueSkge1xuICAgIGlmICghdG9rZW4gfHwgdG9rZW4gIT09IE9iamVjdCh0b2tlbikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW5jb3JyZWN0IHVwbG9hZCB0b2tlbi4gTXVzdCBiZSBpbnN0YW5jZSBvZiBvYmplY3QnKTtcbiAgICB9XG5cbiAgICB0b2tlbi5wYXVzZSA9ICgpID0+IHRoaXMudXBsb2FkZXIucGF1c2UoKTtcbiAgICB0b2tlbi5yZXN1bWUgPSAoKSA9PiB0aGlzLnVwbG9hZGVyLnJlc3VtZSgpO1xuICAgIHRva2VuLmNhbmNlbCA9ICgpID0+IHRoaXMudXBsb2FkZXIuYWJvcnQoKTtcblxuICAgIHJldHVybiB0b2tlbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHNlY3VyaXR5IHRvIHVwbG9hZGVyIGluc3RhbmNlXG4gICAqXG4gICAqIEBwYXJhbSB7U2VjdXJpdHl9IHNlY3VyaXR5XG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIHB1YmxpYyBzZXRTZWN1cml0eShzZWN1cml0eTogU2VjdXJpdHkpIHtcbiAgICB0aGlzLnVwbG9hZGVyLnNldFNlY3VyaXR5KHNlY3VyaXR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdXBsb2FkIHRhZ3NcbiAgICpcbiAgICogQHBhcmFtIHtUYWdzfSB0YWdzXG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIHB1YmxpYyBzZXRVcGxvYWRUYWdzKHRhZ3M6IFVwbG9hZFRhZ3MpIHtcbiAgICB0aGlzLnVwbG9hZGVyLnNldFVwbG9hZFRhZ3ModGFncyk7XG4gIH1cblxuICAvKipcbiAgICogVXBsb2FkIHNpbmdsZSBmaWxlXG4gICAqXG4gICAqIEBwYXJhbSB7KElucHV0RmlsZSl9IGZpbGVcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICogQG1lbWJlcm9mIFVwbG9hZFxuICAgKi9cbiAgYXN5bmMgdXBsb2FkKGlucHV0OiBJbnB1dEZpbGUpOiBQcm9taXNlPGFueT4ge1xuXG4gICAgY29uc3QgZiA9IGF3YWl0IGdldEZpbGUoaW5wdXQsIHRoaXMuc2FuaXRpemVyT3B0aW9ucyk7XG4gICAgZi5jdXN0b21OYW1lID0gdGhpcy5vdmVycmlkZUZpbGVOYW1lO1xuICAgIHRoaXMudXBsb2FkZXIuYWRkRmlsZShmKTtcblxuICAgIHRoaXMuc3RhcnRQcm9ncmVzc0ludGVydmFsKCk7XG4gICAgY29uc3QgcmVzID0gKGF3YWl0IHRoaXMudXBsb2FkZXIuZXhlY3V0ZSgpKS5zaGlmdCgpO1xuICAgIHRoaXMuc3RvcFByb2dyZXNzSW50ZXJ2YWwoKTtcblxuICAgIHRoaXMudXBsb2FkZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG5cbiAgICBpZiAocmVzLnN0YXR1cyA9PT0gRmlsZVN0YXRlLkZBSUxFRCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHJlcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwbG9hZCBtdWx0aXBsZSBmaWxlcyBhdCBvbmNlXG4gICAqXG4gICAqIEBwYXJhbSB7KElucHV0RmlsZVtdKX0gaW5wdXRcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICogQG1lbWJlcm9mIFVwbG9hZFxuICAgKi9cbiAgYXN5bmMgbXVsdGl1cGxvYWQoaW5wdXQ6IElucHV0RmlsZVtdKTogUHJvbWlzZTxhbnk+IHtcbiAgICBmb3IgKGxldCBpIGluIGlucHV0KSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgaWYgKCFpbnB1dC5oYXNPd25Qcm9wZXJ0eShpKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZiA9IGF3YWl0IGdldEZpbGUoaW5wdXRbaV0sIHRoaXMuc2FuaXRpemVyT3B0aW9ucyk7XG4gICAgICBmLmN1c3RvbU5hbWUgPSB0aGlzLm92ZXJyaWRlRmlsZU5hbWU7XG4gICAgICB0aGlzLnVwbG9hZGVyLmFkZEZpbGUoZik7XG4gICAgfVxuXG4gICAgdGhpcy5zdGFydFByb2dyZXNzSW50ZXJ2YWwoKTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnVwbG9hZGVyLmV4ZWN1dGUoKTtcbiAgICB0aGlzLnN0b3BQcm9ncmVzc0ludGVydmFsKCk7XG5cbiAgICB0aGlzLnVwbG9hZGVyLnJlbW92ZUFsbExpc3RlbmVycygpO1xuXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJVbiBwcm9ncmVzcyB3aXRoIHVzZXJkZWZpbmVkIGludGVydmFsXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIHByaXZhdGUgc3RhcnRQcm9ncmVzc0ludGVydmFsKCkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLm9uUHJvZ3Jlc3MgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnByb2dyZXNzSW50ZXJ2YWxIYW5kbGVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy5vcHRpb25zLm9uUHJvZ3Jlc3ModGhpcy5sYXN0UHJvZ3Jlc3MpO1xuICAgIH0sIHRoaXMub3B0aW9ucy5wcm9ncmVzc0ludGVydmFsIHx8IERFRkFVTFRfUFJPR1JFU1NfSU5URVJWQUwpO1xuXG4gICAgdGhpcy5vcHRpb25zLm9uUHJvZ3Jlc3ModGhpcy5sYXN0UHJvZ3Jlc3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3AgcHJvZ3Jlc3MgaW50ZXJ2YWwgYWZ0ZXIgdXBsb2FkXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIHByaXZhdGUgc3RvcFByb2dyZXNzSW50ZXJ2YWwoKSB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLnByb2dyZXNzSW50ZXJ2YWxIYW5kbGVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgdXBsb2FkIGludGVydmFsIGFuZCBub3JtYWxpemUgdmFsdWVzXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7UHJvZ3Jlc3NFdmVudH0gcHJvZ3Jlc3NcbiAgICogQG1lbWJlcm9mIFVwbG9hZFxuICAgKi9cbiAgcHJpdmF0ZSBoYW5kbGVQcm9ncmVzcyhwcm9ncmVzczogUHJvZ3Jlc3NFdmVudCkge1xuICAgIC8vIGdldCBtYXggcHJvZ3Jlc3MgZGF0YSB0byBhdm9pZCBwcm9ncmVzcyBqdW1wcyBvbiBhbnkgcGFydCBlcnJvclxuICAgIHByb2dyZXNzID0gbm9ybWFsaXplUHJvZ3Jlc3MocHJvZ3Jlc3MsIHRoaXMubGFzdFByb2dyZXNzKTtcblxuICAgIGlmICh0aGlzLmxhc3RQcm9ncmVzcy5maWxlcykge1xuICAgICAgZm9yIChsZXQgaSBpbiBwcm9ncmVzcy5maWxlcykge1xuICAgICAgICBpZiAodGhpcy5sYXN0UHJvZ3Jlc3MuZmlsZXNbaV0pIHtcbiAgICAgICAgICBwcm9ncmVzcy5maWxlc1tpXSA9IG5vcm1hbGl6ZVByb2dyZXNzKHByb2dyZXNzLmZpbGVzW2ldLCB0aGlzLmxhc3RQcm9ncmVzcy5maWxlc1tpXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmxhc3RQcm9ncmVzcyA9IHByb2dyZXNzO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC91cGxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUVILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUloRixPQUFPLEVBQUUsT0FBTyxFQUFhLE1BQU0sY0FBYyxDQUFDO0FBR2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVF4RixJQUFNLHlCQUF5QixHQUFHLElBQUksQ0FBQztBQUV2QyxJQUFNLGlCQUFpQixHQUFHLFVBQUMsT0FBTyxFQUFFLElBQUk7SUFDdEMsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25FLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUV6RSxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNIO0lBQTRCLDBCQUFZO0lBMkJ0QyxnQkFBNkIsT0FBMkIsRUFBVSxZQUFxQztRQUExRSx3QkFBQSxFQUFBLFlBQTJCO1FBQVUsNkJBQUEsRUFBQSxpQkFBcUM7UUFBdkcsWUFDRSxpQkFBTyxTQTBEUjtRQTNENEIsYUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFBVSxrQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFSL0Ysa0JBQVksR0FBa0I7WUFDcEMsVUFBVSxFQUFFLENBQUM7WUFDYixZQUFZLEVBQUUsQ0FBQztTQUNoQixDQUFDO1FBUUEseUVBQXlFO1FBQ3pFLEtBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFcEQsSUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUQsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUM3QixNQUFNLElBQUksY0FBYyxDQUFDLHVCQUF1QixFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDdEc7UUFFRCxJQUFNLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZFLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNsQyxNQUFNLElBQUksY0FBYyxDQUFDLDZCQUE2QixFQUFFLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNqSDtRQUVELElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUN6QixLQUFJLENBQUMsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztZQUM5QyxPQUFPLEtBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO1NBQ25DO1FBRUQsSUFBSSxLQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRTtZQUMvQixLQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7WUFDcEQsT0FBTyxLQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztTQUNwQztRQUVELEtBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxVQUFVLENBQUMsS0FBSSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdkUsS0FBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7WUFDM0IsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRTtZQUMxQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXLElBQUksQ0FBQztZQUNyQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVksSUFBSSxLQUFLO1NBQzVDLENBQUMsQ0FBQztRQUVILEtBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLENBQUM7UUFFcEQsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3BCLEtBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM3QztRQUVELElBQUksT0FBTyxDQUFDLG9CQUFvQixFQUFFO1lBQ2hDLEtBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7U0FDckU7UUFFRCxJQUFJLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRTtZQUNqQyxLQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ3ZCLEtBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEtBQUssVUFBVSxDQUFDLENBQUMsc0NBQXFCLENBQUMsMkNBQXVCLENBQUMsQ0FBQztTQUNoSDtRQUVELEtBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUxQyxLQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsY0FBTSxPQUFBLEtBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQWxCLENBQWtCLENBQUMsQ0FBQztRQUNwRCxLQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBQyxDQUFDLElBQUssT0FBQSxLQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBckIsQ0FBcUIsQ0FBQyxDQUFDO1FBQ3hELEtBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxLQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDOztJQUMvRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsMkJBQVUsR0FBVixVQUFXLE9BQWdCO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV4QyxJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztnQkFDeEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO2dCQUN0QixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7YUFDN0IsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx5QkFBUSxHQUFmLFVBQWdCLEtBQVU7UUFBMUIsaUJBVUM7UUFUQyxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssS0FBSyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1NBQ3ZFO1FBRUQsS0FBSyxDQUFDLEtBQUssR0FBRyxjQUFNLE9BQUEsS0FBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBckIsQ0FBcUIsQ0FBQztRQUMxQyxLQUFLLENBQUMsTUFBTSxHQUFHLGNBQU0sT0FBQSxLQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUF0QixDQUFzQixDQUFDO1FBQzVDLEtBQUssQ0FBQyxNQUFNLEdBQUcsY0FBTSxPQUFBLEtBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQXJCLENBQXFCLENBQUM7UUFFM0MsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSw0QkFBVyxHQUFsQixVQUFtQixRQUFrQjtRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSw4QkFBYSxHQUFwQixVQUFxQixJQUFnQjtRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0csdUJBQU0sR0FBWixVQUFhLEtBQWdCOzs7Ozs0QkFFakIscUJBQU0sT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBQTs7d0JBQS9DLENBQUMsR0FBRyxTQUEyQzt3QkFDckQsQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7d0JBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUV6QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQzt3QkFDaEIscUJBQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBQTs7d0JBQXBDLEdBQUcsR0FBRyxDQUFDLFNBQTZCLENBQUMsQ0FBQyxLQUFLLEVBQUU7d0JBQ25ELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO3dCQUU1QixJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLENBQUM7d0JBRW5DLElBQUksR0FBRyxDQUFDLE1BQU0sb0NBQXFCLEVBQUU7NEJBQ25DLHNCQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUM7eUJBQzVCO3dCQUVELHNCQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUM7Ozs7S0FDN0I7SUFFRDs7Ozs7O09BTUc7SUFDRyw0QkFBVyxHQUFqQixVQUFrQixLQUFrQjs7Ozs7OzZCQUNwQixLQUFLOzs7Ozs7Ozs7Ozt3QkFDakIsMEJBQTBCO3dCQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRTs0QkFDNUIsd0JBQVM7eUJBQ1Y7d0JBRVMscUJBQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBQTs7d0JBQWxELENBQUMsR0FBRyxTQUE4Qzt3QkFDeEQsQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7d0JBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDOzs7Ozs7d0JBRzNCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO3dCQUNqQixxQkFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFBOzt3QkFBbkMsR0FBRyxHQUFHLFNBQTZCO3dCQUN6QyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzt3QkFFNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO3dCQUVuQyxzQkFBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDOzs7O0tBQzdCO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssc0NBQXFCLEdBQTdCO1FBQUEsaUJBVUM7UUFUQyxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFO1lBQ2pELE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxXQUFXLENBQUM7WUFDekMsS0FBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdDLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixJQUFJLHlCQUF5QixDQUFDLENBQUM7UUFFL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLHFDQUFvQixHQUE1QjtRQUNFLGFBQWEsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssK0JBQWMsR0FBdEIsVUFBdUIsUUFBdUI7UUFDNUMsa0VBQWtFO1FBQ2xFLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTFELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUU7WUFDM0IsS0FBSyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFO2dCQUM1QixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUM5QixRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDdEY7YUFDRjtTQUNGO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7SUFDL0IsQ0FBQztJQUNILGFBQUM7QUFBRCxDQTNQQSxBQTJQQyxDQTNQMkIsWUFBWSxHQTJQdkMiLCJmaWxlIjoibGliL2FwaS91cGxvYWQvdXBsb2FkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnZXZlbnRlbWl0dGVyMyc7XG5pbXBvcnQgeyBTZXNzaW9uLCBTZWN1cml0eSB9IGZyb20gJy4uLy4uL2NsaWVudCc7XG5pbXBvcnQgeyBTM1VwbG9hZGVyIH0gZnJvbSAnLi91cGxvYWRlcnMvczMnO1xuaW1wb3J0IHsgRmlsZXN0YWNrRXJyb3IsIEZpbGVzdGFja0Vycm9yVHlwZSB9IGZyb20gJy4vLi4vLi4vLi4vZmlsZXN0YWNrX2Vycm9yJztcbmltcG9ydCB7IFNhbml0aXplT3B0aW9ucyB9IGZyb20gJy4vLi4vLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBVcGxvYWRPcHRpb25zLCBTdG9yZVVwbG9hZE9wdGlvbnMgfSBmcm9tICcuLi91cGxvYWQvdHlwZXMnO1xuaW1wb3J0IHsgZ2V0RmlsZSwgSW5wdXRGaWxlIH0gZnJvbSAnLi9maWxlX3Rvb2xzJztcbmltcG9ydCB7IEZpbGVTdGF0ZSwgVXBsb2FkVGFncyB9IGZyb20gJy4vZmlsZSc7XG5pbXBvcnQgeyBVcGxvYWRNb2RlIH0gZnJvbSAnLi91cGxvYWRlcnMvYWJzdHJhY3QnO1xuaW1wb3J0IHsgZ2V0VmFsaWRhdG9yLCBVcGxvYWRQYXJhbXNTY2hlbWEsIFN0b3JlUGFyYW1zU2NoZW1hIH0gZnJvbSAnLi8uLi8uLi8uLi9zY2hlbWEnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb2dyZXNzRXZlbnQge1xuICB0b3RhbFBlcmNlbnQ6IG51bWJlcjtcbiAgdG90YWxCeXRlczogbnVtYmVyO1xuICBmaWxlcz86IHsgKGtleTogc3RyaW5nKTogUHJvZ3Jlc3NFdmVudCB9O1xufVxuXG5jb25zdCBERUZBVUxUX1BST0dSRVNTX0lOVEVSVkFMID0gMTAwMDtcblxuY29uc3Qgbm9ybWFsaXplUHJvZ3Jlc3MgPSAoY3VycmVudCwgbGFzdCkgPT4ge1xuICBjdXJyZW50LnRvdGFsQnl0ZXMgPSBNYXRoLm1heChjdXJyZW50LnRvdGFsQnl0ZXMsIGxhc3QudG90YWxCeXRlcyk7XG4gIGN1cnJlbnQudG90YWxQZXJjZW50ID0gTWF0aC5tYXgoY3VycmVudC50b3RhbFBlcmNlbnQsIGxhc3QudG90YWxQZXJjZW50KTtcblxuICByZXR1cm4gY3VycmVudDtcbn07XG5cbi8qKlxuICogVXBsb2FkZXIgbWFpbiBjbGFzcyBmb3Igbm93IGl0cyBzdXBwb3J0aW5nIG9ubHkgczMgdXBsb2FkIHR5cGVcbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgVXBsb2FkXG4gKi9cbmV4cG9ydCBjbGFzcyBVcGxvYWQgZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xuXG4gIC8qKlxuICAgKiBVcGxvYWRlciBpbnN0YW5jZVxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAdHlwZSB7UzNVcGxvYWRlcn1cbiAgICogQG1lbWJlcm9mIFVwbG9hZFxuICAgKi9cbiAgcHJpdmF0ZSB1cGxvYWRlcjogUzNVcGxvYWRlcjtcblxuICAvKipcbiAgICogU2hvdWxkIHdlIG92ZXJ3cml0ZSBmaWxlIG5hbWVcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQG1lbWJlcm9mIFVwbG9hZFxuICAgKi9cbiAgcHJpdmF0ZSBvdmVycmlkZUZpbGVOYW1lO1xuXG4gIHByaXZhdGUgbGFzdFByb2dyZXNzOiBQcm9ncmVzc0V2ZW50ID0ge1xuICAgIHRvdGFsQnl0ZXM6IDAsXG4gICAgdG90YWxQZXJjZW50OiAwLFxuICB9O1xuXG4gIHByaXZhdGUgcHJvZ3Jlc3NJbnRlcnZhbEhhbmRsZXI7XG4gIHByaXZhdGUgc2FuaXRpemVyT3B0aW9uczogU2FuaXRpemVPcHRpb25zO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVXBsb2FkT3B0aW9ucyA9IHt9LCBwcml2YXRlIHN0b3JlT3B0aW9uczogU3RvcmVVcGxvYWRPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcigpO1xuXG4gICAgLy8gZG8gbm90IGRlbGV0ZSBmaWxlbmFtZSBmcm9tIG9yaWdpbmFsIG9wdGlvbnMgcmVmZXJlbmNlIC0gY29weSBpdCBmaXJzdFxuICAgIHRoaXMuc3RvcmVPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgc3RvcmVPcHRpb25zKTtcblxuICAgIGNvbnN0IHZhbGlkYXRlUmVzID0gZ2V0VmFsaWRhdG9yKFVwbG9hZFBhcmFtc1NjaGVtYSkob3B0aW9ucyk7XG5cbiAgICBpZiAodmFsaWRhdGVSZXMuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKGBJbnZhbGlkIHVwbG9hZCBwYXJhbXNgLCB2YWxpZGF0ZVJlcy5lcnJvcnMsIEZpbGVzdGFja0Vycm9yVHlwZS5WQUxJREFUSU9OKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdG9yZVZhbGlkYXRlUmVzID0gZ2V0VmFsaWRhdG9yKFN0b3JlUGFyYW1zU2NoZW1hKShzdG9yZU9wdGlvbnMpO1xuICAgIGlmIChzdG9yZVZhbGlkYXRlUmVzLmVycm9ycy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcihgSW52YWxpZCBzdG9yZSB1cGxvYWQgcGFyYW1zYCwgc3RvcmVWYWxpZGF0ZVJlcy5lcnJvcnMsIEZpbGVzdGFja0Vycm9yVHlwZS5WQUxJREFUSU9OKTtcbiAgICB9XG5cbiAgICBpZiAoc3RvcmVPcHRpb25zLmZpbGVuYW1lKSB7XG4gICAgICB0aGlzLm92ZXJyaWRlRmlsZU5hbWUgPSBzdG9yZU9wdGlvbnMuZmlsZW5hbWU7XG4gICAgICBkZWxldGUgdGhpcy5zdG9yZU9wdGlvbnMuZmlsZW5hbWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc3RvcmVPcHRpb25zLnNhbml0aXplcikge1xuICAgICAgdGhpcy5zYW5pdGl6ZXJPcHRpb25zID0gdGhpcy5zdG9yZU9wdGlvbnMuc2FuaXRpemVyO1xuICAgICAgZGVsZXRlIHRoaXMuc3RvcmVPcHRpb25zLnNhbml0aXplcjtcbiAgICB9XG5cbiAgICB0aGlzLnVwbG9hZGVyID0gbmV3IFMzVXBsb2FkZXIodGhpcy5zdG9yZU9wdGlvbnMsIG9wdGlvbnMuY29uY3VycmVuY3kpO1xuXG4gICAgdGhpcy51cGxvYWRlci5zZXRSZXRyeUNvbmZpZyh7XG4gICAgICByZXRyeTogb3B0aW9ucy5yZXRyeSB8fCAxMCxcbiAgICAgIG9uUmV0cnk6IG9wdGlvbnMub25SZXRyeSwgLy8gQHRvZG8gYmluZCBmaWxlIHRvIHJldHJ5IGluIHMzIHVwbG9hZGVyXG4gICAgICByZXRyeUZhY3Rvcjogb3B0aW9ucy5yZXRyeUZhY3RvciB8fCAyLFxuICAgICAgcmV0cnlNYXhUaW1lOiBvcHRpb25zLnJldHJ5TWF4VGltZSB8fCAxNTAwMCxcbiAgICB9KTtcblxuICAgIHRoaXMudXBsb2FkZXIuc2V0VGltZW91dChvcHRpb25zLnRpbWVvdXQgfHwgMTIwMDAwKTtcblxuICAgIGlmIChvcHRpb25zLnBhcnRTaXplKSB7XG4gICAgICB0aGlzLnVwbG9hZGVyLnNldFBhcnRTaXplKG9wdGlvbnMucGFydFNpemUpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmludGVsbGlnZW50Q2h1bmtTaXplKSB7XG4gICAgICB0aGlzLnVwbG9hZGVyLnNldEludGVsbGlnZW50Q2h1bmtTaXplKG9wdGlvbnMuaW50ZWxsaWdlbnRDaHVua1NpemUpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmRpc2FibGVJbnRlZ3JpdHlDaGVjaykge1xuICAgICAgdGhpcy51cGxvYWRlci5zZXRJbnRlZ3JpdHlDaGVjayhmYWxzZSk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuaW50ZWxsaWdlbnQpIHtcbiAgICAgIHRoaXMudXBsb2FkZXIuc2V0VXBsb2FkTW9kZShvcHRpb25zLmludGVsbGlnZW50ID09PSAnZmFsbGJhY2snID8gVXBsb2FkTW9kZS5GQUxMQkFDSyA6IFVwbG9hZE1vZGUuSU5URUxMSUdFTlQpO1xuICAgIH1cblxuICAgIHRoaXMudXBsb2FkZXIuc2V0VXBsb2FkVGFncyhvcHRpb25zLnRhZ3MpO1xuXG4gICAgdGhpcy51cGxvYWRlci5vbignc3RhcnQnLCAoKSA9PiB0aGlzLmVtaXQoJ3N0YXJ0JykpO1xuICAgIHRoaXMudXBsb2FkZXIub24oJ2Vycm9yJywgKGUpID0+IHRoaXMuZW1pdCgnZXJyb3InLCBlKSk7XG4gICAgdGhpcy51cGxvYWRlci5vbigncHJvZ3Jlc3MnLCB0aGlzLmhhbmRsZVByb2dyZXNzLmJpbmQodGhpcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBzZXNzaW9uIG9iamVjdCB0byB1cGxvYWRlclxuICAgKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiBAcGFyYW0ge1Nlc3Npb259IHNlc3Npb25cbiAgICogQG1lbWJlcm9mIFVwbG9hZFxuICAgKi9cbiAgc2V0U2Vzc2lvbihzZXNzaW9uOiBTZXNzaW9uKSB7XG4gICAgdGhpcy51cGxvYWRlci5zZXRBcGlrZXkoc2Vzc2lvbi5hcGlrZXkpO1xuXG4gICAgaWYgKHNlc3Npb24ucG9saWN5ICYmIHNlc3Npb24uc2lnbmF0dXJlKSB7XG4gICAgICB0aGlzLnVwbG9hZGVyLnNldFNlY3VyaXR5KHtcbiAgICAgICAgcG9saWN5OiBzZXNzaW9uLnBvbGljeSxcbiAgICAgICAgc2lnbmF0dXJlOiBzZXNzaW9uLnNpZ25hdHVyZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudXBsb2FkZXIuc2V0VXJsKHNlc3Npb24udXJscy51cGxvYWRBcGlVcmwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBjYW5jZWwgdG9rZW4gdG8gY29udHJvbGwgdXBsb2FkIGZsb3dcbiAgICpcbiAgICogQHBhcmFtIHsqfSB0b2tlblxuICAgKiBAcmV0dXJuc1xuICAgKiBAbWVtYmVyb2YgVXBsb2FkXG4gICAqL1xuICBwdWJsaWMgc2V0VG9rZW4odG9rZW46IGFueSkge1xuICAgIGlmICghdG9rZW4gfHwgdG9rZW4gIT09IE9iamVjdCh0b2tlbikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW5jb3JyZWN0IHVwbG9hZCB0b2tlbi4gTXVzdCBiZSBpbnN0YW5jZSBvZiBvYmplY3QnKTtcbiAgICB9XG5cbiAgICB0b2tlbi5wYXVzZSA9ICgpID0+IHRoaXMudXBsb2FkZXIucGF1c2UoKTtcbiAgICB0b2tlbi5yZXN1bWUgPSAoKSA9PiB0aGlzLnVwbG9hZGVyLnJlc3VtZSgpO1xuICAgIHRva2VuLmNhbmNlbCA9ICgpID0+IHRoaXMudXBsb2FkZXIuYWJvcnQoKTtcblxuICAgIHJldHVybiB0b2tlbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHNlY3VyaXR5IHRvIHVwbG9hZGVyIGluc3RhbmNlXG4gICAqXG4gICAqIEBwYXJhbSB7U2VjdXJpdHl9IHNlY3VyaXR5XG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIHB1YmxpYyBzZXRTZWN1cml0eShzZWN1cml0eTogU2VjdXJpdHkpIHtcbiAgICB0aGlzLnVwbG9hZGVyLnNldFNlY3VyaXR5KHNlY3VyaXR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdXBsb2FkIHRhZ3NcbiAgICpcbiAgICogQHBhcmFtIHtUYWdzfSB0YWdzXG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIHB1YmxpYyBzZXRVcGxvYWRUYWdzKHRhZ3M6IFVwbG9hZFRhZ3MpIHtcbiAgICB0aGlzLnVwbG9hZGVyLnNldFVwbG9hZFRhZ3ModGFncyk7XG4gIH1cblxuICAvKipcbiAgICogVXBsb2FkIHNpbmdsZSBmaWxlXG4gICAqXG4gICAqIEBwYXJhbSB7KElucHV0RmlsZSl9IGZpbGVcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICogQG1lbWJlcm9mIFVwbG9hZFxuICAgKi9cbiAgYXN5bmMgdXBsb2FkKGlucHV0OiBJbnB1dEZpbGUpOiBQcm9taXNlPGFueT4ge1xuXG4gICAgY29uc3QgZiA9IGF3YWl0IGdldEZpbGUoaW5wdXQsIHRoaXMuc2FuaXRpemVyT3B0aW9ucyk7XG4gICAgZi5jdXN0b21OYW1lID0gdGhpcy5vdmVycmlkZUZpbGVOYW1lO1xuICAgIHRoaXMudXBsb2FkZXIuYWRkRmlsZShmKTtcblxuICAgIHRoaXMuc3RhcnRQcm9ncmVzc0ludGVydmFsKCk7XG4gICAgY29uc3QgcmVzID0gKGF3YWl0IHRoaXMudXBsb2FkZXIuZXhlY3V0ZSgpKS5zaGlmdCgpO1xuICAgIHRoaXMuc3RvcFByb2dyZXNzSW50ZXJ2YWwoKTtcblxuICAgIHRoaXMudXBsb2FkZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG5cbiAgICBpZiAocmVzLnN0YXR1cyA9PT0gRmlsZVN0YXRlLkZBSUxFRCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHJlcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwbG9hZCBtdWx0aXBsZSBmaWxlcyBhdCBvbmNlXG4gICAqXG4gICAqIEBwYXJhbSB7KElucHV0RmlsZVtdKX0gaW5wdXRcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICogQG1lbWJlcm9mIFVwbG9hZFxuICAgKi9cbiAgYXN5bmMgbXVsdGl1cGxvYWQoaW5wdXQ6IElucHV0RmlsZVtdKTogUHJvbWlzZTxhbnk+IHtcbiAgICBmb3IgKGxldCBpIGluIGlucHV0KSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgaWYgKCFpbnB1dC5oYXNPd25Qcm9wZXJ0eShpKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZiA9IGF3YWl0IGdldEZpbGUoaW5wdXRbaV0sIHRoaXMuc2FuaXRpemVyT3B0aW9ucyk7XG4gICAgICBmLmN1c3RvbU5hbWUgPSB0aGlzLm92ZXJyaWRlRmlsZU5hbWU7XG4gICAgICB0aGlzLnVwbG9hZGVyLmFkZEZpbGUoZik7XG4gICAgfVxuXG4gICAgdGhpcy5zdGFydFByb2dyZXNzSW50ZXJ2YWwoKTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnVwbG9hZGVyLmV4ZWN1dGUoKTtcbiAgICB0aGlzLnN0b3BQcm9ncmVzc0ludGVydmFsKCk7XG5cbiAgICB0aGlzLnVwbG9hZGVyLnJlbW92ZUFsbExpc3RlbmVycygpO1xuXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJVbiBwcm9ncmVzcyB3aXRoIHVzZXJkZWZpbmVkIGludGVydmFsXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIHByaXZhdGUgc3RhcnRQcm9ncmVzc0ludGVydmFsKCkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLm9uUHJvZ3Jlc3MgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnByb2dyZXNzSW50ZXJ2YWxIYW5kbGVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy5vcHRpb25zLm9uUHJvZ3Jlc3ModGhpcy5sYXN0UHJvZ3Jlc3MpO1xuICAgIH0sIHRoaXMub3B0aW9ucy5wcm9ncmVzc0ludGVydmFsIHx8IERFRkFVTFRfUFJPR1JFU1NfSU5URVJWQUwpO1xuXG4gICAgdGhpcy5vcHRpb25zLm9uUHJvZ3Jlc3ModGhpcy5sYXN0UHJvZ3Jlc3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3AgcHJvZ3Jlc3MgaW50ZXJ2YWwgYWZ0ZXIgdXBsb2FkXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBtZW1iZXJvZiBVcGxvYWRcbiAgICovXG4gIHByaXZhdGUgc3RvcFByb2dyZXNzSW50ZXJ2YWwoKSB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLnByb2dyZXNzSW50ZXJ2YWxIYW5kbGVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgdXBsb2FkIGludGVydmFsIGFuZCBub3JtYWxpemUgdmFsdWVzXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7UHJvZ3Jlc3NFdmVudH0gcHJvZ3Jlc3NcbiAgICogQG1lbWJlcm9mIFVwbG9hZFxuICAgKi9cbiAgcHJpdmF0ZSBoYW5kbGVQcm9ncmVzcyhwcm9ncmVzczogUHJvZ3Jlc3NFdmVudCkge1xuICAgIC8vIGdldCBtYXggcHJvZ3Jlc3MgZGF0YSB0byBhdm9pZCBwcm9ncmVzcyBqdW1wcyBvbiBhbnkgcGFydCBlcnJvclxuICAgIHByb2dyZXNzID0gbm9ybWFsaXplUHJvZ3Jlc3MocHJvZ3Jlc3MsIHRoaXMubGFzdFByb2dyZXNzKTtcblxuICAgIGlmICh0aGlzLmxhc3RQcm9ncmVzcy5maWxlcykge1xuICAgICAgZm9yIChsZXQgaSBpbiBwcm9ncmVzcy5maWxlcykge1xuICAgICAgICBpZiAodGhpcy5sYXN0UHJvZ3Jlc3MuZmlsZXNbaV0pIHtcbiAgICAgICAgICBwcm9ncmVzcy5maWxlc1tpXSA9IG5vcm1hbGl6ZVByb2dyZXNzKHByb2dyZXNzLmZpbGVzW2ldLCB0aGlzLmxhc3RQcm9ncmVzcy5maWxlc1tpXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmxhc3RQcm9ncmVzcyA9IHByb2dyZXNzO1xuICB9XG59XG4iXX0=

@@ -45,3 +45,3 @@ /*

beforeAll(function () {
spyOn(S3Uploader.prototype, 'execute').and.callFake(mockExecute);
jest.spyOn(S3Uploader.prototype, 'execute').mockImplementation(mockExecute);
});

@@ -80,3 +80,3 @@ describe('Settings', function () {

var u = new Upload({ intelligent: true });
expect(S3Uploader.prototype.setUploadMode).toHaveBeenCalledWith("intelligent" /* INTELLIGENT */);
expect(S3Uploader.prototype.setUploadMode).toHaveBeenCalledWith("intelligent" /* UploadMode.INTELLIGENT */);
});

@@ -89,3 +89,3 @@ it('should set respect disableIntegrityCheck param', function () {

var u = new Upload({ intelligent: 'fallback' });
expect(S3Uploader.prototype.setUploadMode).toHaveBeenCalledWith("fallback" /* FALLBACK */);
expect(S3Uploader.prototype.setUploadMode).toHaveBeenCalledWith("fallback" /* UploadMode.FALLBACK */);
});

@@ -197,7 +197,7 @@ it('should set upload tasks to uploader', function () {

{
status: "Failed" /* FAILED */,
status: "Failed" /* FileState.FAILED */,
},
]));
return expect(u.upload(testBuffer)).rejects.toEqual({
status: "Failed" /* FAILED */,
status: "Failed" /* FileState.FAILED */,
});

@@ -253,8 +253,10 @@ });

var progressMock, u;
var _this = this;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
spyOn(S3Uploader.prototype, 'on').and.callFake(function (ev, cb) {
jest.spyOn(S3Uploader.prototype, 'on').mockImplementation(function (ev, cb) {
cb(progress1);
cb(progress100);
return _this;
});

@@ -276,2 +278,3 @@ progressMock = jest.fn();

var progressCb, progressMock, u;
var _this = this;
return __generator(this, function (_a) {

@@ -289,4 +292,5 @@ switch (_a.label) {

});
spyOn(S3Uploader.prototype, 'on').and.callFake(function (ev, cb) {
jest.spyOn(S3Uploader.prototype, 'on').mockImplementation(function (ev, cb) {
progressCb = cb;
return _this;
});

@@ -310,2 +314,3 @@ progressMock = jest.fn();

var progressCb, progressMock, u;
var _this = this;
return __generator(this, function (_a) {

@@ -323,4 +328,5 @@ switch (_a.label) {

});
spyOn(S3Uploader.prototype, 'on').and.callFake(function (ev, cb) {
jest.spyOn(S3Uploader.prototype, 'on').mockImplementation(function (ev, cb) {
progressCb = cb;
return _this;
});

@@ -345,2 +351,2 @@ progressMock = jest.fn();

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC91cGxvYWQuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7O0FBRUgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSTNDLElBQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUVqRCxJQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUVuQyxJQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFO0lBQ2hELEdBQUcsRUFBRSxnQkFBZ0I7Q0FDdEIsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0FBRXJCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxjQUFNLE9BQUEsQ0FBQztJQUMvQixPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGNBQU0sT0FBQSxZQUFZLEVBQVosQ0FBWSxDQUFDO0NBQzFELENBQUMsRUFGOEIsQ0FFOUIsQ0FBQyxDQUFDO0FBRUosSUFBTSxrQkFBa0IsR0FBRztJQUN6QixNQUFNLEVBQUUsUUFBUTtDQUNqQixDQUFDO0FBRUYsSUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztBQUNoQyxJQUFNLGNBQWMsR0FBRztJQUNyQixNQUFNLEVBQUUsTUFBTTtJQUNkLE1BQU0sRUFBRSxHQUFHO0lBQ1gsU0FBUyxFQUFFLEdBQUc7SUFDZCxJQUFJLEVBQUUsV0FBVztD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Q0FBQzs7OzthQUN4RCxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9hcGkvdXBsb2FkL3VwbG9hZC5zcGVjLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgVXBsb2FkIH0gZnJvbSAnLi91cGxvYWQnO1xuaW1wb3J0IHsgRmlsZVN0YXRlIH0gZnJvbSAnLi9maWxlJztcbmltcG9ydCB7IFMzVXBsb2FkZXIgfSBmcm9tICcuL3VwbG9hZGVycy9zMyc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICcuLy4uLy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBTdG9yZVVwbG9hZE9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFVwbG9hZE1vZGUgfSBmcm9tICcuL3VwbG9hZGVycy9hYnN0cmFjdCc7XG5cbmNvbnN0IHRlc3RCdWZmZXIgPSBCdWZmZXIuZnJvbSgndGVzdCB0ZXN0IHRlc3QnKTtcblxuY29uc3QgY3VzdG9tTmFtZU1vY2tlZCA9IGplc3QuZm4oKTtcblxuY29uc3QgbW9ja2VkRnNGaWxlID0ge307XG5PYmplY3QuZGVmaW5lUHJvcGVydHkobW9ja2VkRnNGaWxlLCAnY3VzdG9tTmFtZScsIHtcbiAgc2V0OiBjdXN0b21OYW1lTW9ja2VkLFxufSk7XG5cbmplc3QudXNlRmFrZVRpbWVycygpO1xuXG5qZXN0Lm1vY2soJy4vdXBsb2FkZXJzL3MzJyk7XG5qZXN0Lm1vY2soJy4vZmlsZV90b29scycsICgpID0+ICh7XG4gIGdldEZpbGU6IGplc3QuZm4oKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gbW9ja2VkRnNGaWxlKSxcbn0pKTtcblxuY29uc3QgbW9ja2VkRmlsZVJlc3BvbnNlID0ge1xuICBzdGF0dXM6ICdzdG9yZWQnLFxufTtcblxuY29uc3Qgc2Vzc2lvblVSbHMgPSBjb25maWcudXJscztcbmNvbnN0IGRlZmF1bHRTZXNzaW9uID0ge1xuICBhcGlrZXk6ICd0ZXN0JyxcbiAgcG9saWN5OiAncCcsXG4gIHNpZ25hdHVyZTogJ3MnLFxuICB1cmxzOiBzZXNzaW9uVVJscyxcbn07XG5cbmNvbnN0IG1vY2tFeGVjdXRlID0gamVzdC5mbigpO1xuXG5kZXNjcmliZSgnQXBpL1VwbG9hZC91cGxvYWQnLCAoKSA9PiB7XG4gIGJlZm9yZUFsbCgoKSA9PiB7XG4gICAgc3B5T24oUzNVcGxvYWRlci5wcm90b3R5cGUsICdleGVjdXRlJykuYW5kLmNhbGxGYWtlKG1vY2tFeGVjdXRlKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1NldHRpbmdzJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgaGFuZGxlIGNvbnN0cnVjdG9yIG9wdGlvbnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCh7XG4gICAgICAgIHBhcnRTaXplOiA1ICogMTAyNCAqIDEwMjQsXG4gICAgICAgIGludGVsbGlnZW50Q2h1bmtTaXplOiA1ICogMTAyNCAqIDEwMjQsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KFMzVXBsb2FkZXIucHJvdG90eXBlLnNldFBhcnRTaXplKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCg1ICogMTAyNCAqIDEwMjQpO1xuICAgICAgZXhwZWN0KFMzVXBsb2FkZXIucHJvdG90eXBlLnNldEludGVsbGlnZW50Q2h1bmtTaXplKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCg1ICogMTAyNCAqIDEwMjQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciBvbiB3cm9uZyB1cGxvYWQgb3B0aW9ucycsICgpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGV4cGVjdCgoKSA9PiBuZXcgVXBsb2FkKHsgaW50ZWxsaWdlbnQxOiB0cnVlIH0pKS50b1Rocm93RXJyb3IoJ0ludmFsaWQgdXBsb2FkIHBhcmFtcycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBhY2NlcHQgc2FuaXRpemVyIHNldHRpbmdzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KCgpID0+IG5ldyBVcGxvYWQoe30sIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBzYW5pdGl6ZXI6IGZhbHNlLFxuICAgICAgfSkpLm5vdC50b1Rocm93RXJyb3IoJ0ludmFsaWQgdXBsb2FkIHBhcmFtcycpO1xuXG4gICAgICBleHBlY3QoKCkgPT4gbmV3IFVwbG9hZCh7fSwge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHNhbml0aXplcjoge1xuICAgICAgICAgIGV4Y2x1ZGU6IFsnMSddLFxuICAgICAgICAgIHJlcGxhY2VtZW50OiAnLScsXG4gICAgICAgIH0sXG4gICAgICB9KSkubm90LnRvVGhyb3dFcnJvcignSW52YWxpZCB1cGxvYWQgcGFyYW1zJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGVycm9yIG9uIHdyb25nIHN0b3JlIG9wdGlvbnMnLCAoKSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3QoKCkgPT4gbmV3IFVwbG9hZCh7IGludGVsbGlnZW50OiB0cnVlIH0sIHsgdGVzdDogMTIzIH0pKS50b1Rocm93RXJyb3IoJ0ludmFsaWQgc3RvcmUgdXBsb2FkIHBhcmFtcycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzZXQgaW50ZWxsaWdlbnQgdXBsb2FkIG1vZGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCh7IGludGVsbGlnZW50OiB0cnVlIH0pO1xuICAgICAgZXhwZWN0KFMzVXBsb2FkZXIucHJvdG90eXBlLnNldFVwbG9hZE1vZGUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFVwbG9hZE1vZGUuSU5URUxMSUdFTlQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzZXQgcmVzcGVjdCBkaXNhYmxlSW50ZWdyaXR5Q2hlY2sgcGFyYW0nLCAoKSA9PiB7XG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCh7IGRpc2FibGVJbnRlZ3JpdHlDaGVjazogdHJ1ZSB9KTtcbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5zZXRJbnRlZ3JpdHlDaGVjaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWxsYmFjayB1cGxvYWQgbW9kZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKHsgaW50ZWxsaWdlbnQ6ICdmYWxsYmFjaycgfSk7XG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUuc2V0VXBsb2FkTW9kZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoVXBsb2FkTW9kZS5GQUxMQkFDSyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNldCB1cGxvYWQgdGFza3MgdG8gdXBsb2FkZXInLCAoKSA9PiB7XG4gICAgICBjb25zdCB0YWdzID0geyB0ZXN0OiAnMTIzJyB9O1xuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoeyB0YWdzOiB0YWdzIH0pO1xuICAgICAgZXhwZWN0KFMzVXBsb2FkZXIucHJvdG90eXBlLnNldFVwbG9hZFRhZ3MpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHRhZ3MpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBwYXNzIHN0b3JlIG9wdGlvbnMgdG8gdXBsb2FkZXIgY2xhc3MnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzdG9yZU9wdGlvbnM6IFN0b3JlVXBsb2FkT3B0aW9ucyA9IHtcbiAgICAgICAgbG9jYXRpb246ICdzMycsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCh7fSwgc3RvcmVPcHRpb25zKTtcbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikudG9IYXZlQmVlbkNhbGxlZFdpdGgoc3RvcmVPcHRpb25zLCB1bmRlZmluZWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXNwZWN0IGNvbmN1cnJlbmN5IHBhcmFtIGluIHVwbG9hZCBvcHRpb25zJywgKCkgPT4ge1xuICAgICAgY29uc3QgdXBsb2FkT3B0aW9ucyA9IHtcbiAgICAgICAgY29uY3VycmVuY3k6IDQsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCh1cGxvYWRPcHRpb25zKTtcbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikudG9IYXZlQmVlbkNhbGxlZFdpdGgoe30sIDQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzZXQgY29ycmVjdCBzZWN1cml0eSB0byB1cGxvYWRlcicsICgpID0+IHtcbiAgICAgIGNvbnN0IHNlY3VyaXR5ID0ge1xuICAgICAgICBwb2xpY3k6ICdwJyxcbiAgICAgICAgc2lnbmF0dXJlOiAncycsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCgpO1xuICAgICAgdS5zZXRTZWN1cml0eShzZWN1cml0eSk7XG5cbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5zZXRTZWN1cml0eSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoc2VjdXJpdHkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBwYXNzIHNlc3Npb24gdmFyaWFibGUgdG8gdXBsb2FkZXInLCAoKSA9PiB7XG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCgpO1xuICAgICAgdS5zZXRTZXNzaW9uKGRlZmF1bHRTZXNzaW9uKTtcblxuICAgICAgZXhwZWN0KFMzVXBsb2FkZXIucHJvdG90eXBlLnNldFVybCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZGVmYXVsdFNlc3Npb24udXJscy51cGxvYWRBcGlVcmwpO1xuICAgICAgZXhwZWN0KFMzVXBsb2FkZXIucHJvdG90eXBlLnNldEFwaWtleSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZGVmYXVsdFNlc3Npb24uYXBpa2V5KTtcbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5zZXRTZWN1cml0eSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoeyBwb2xpY3k6IGRlZmF1bHRTZXNzaW9uLnBvbGljeSwgc2lnbmF0dXJlOiBkZWZhdWx0U2Vzc2lvbi5zaWduYXR1cmUgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNldCBzdG9yZU9wdGlvbiBmaWxlbmFtZSB0byBjbGFzcycsIGFzeW5jICgpID0+IHtcbiAgICAgIG1vY2tFeGVjdXRlLm1vY2tSZXR1cm5WYWx1ZShQcm9taXNlLnJlc29sdmUoW21vY2tlZEZpbGVSZXNwb25zZV0pKTtcbiAgICAgIGNvbnN0IGZpbGVuYW1lRm4gPSAoKSA9PiAndGVzdCc7XG5cbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKFxuICAgICAgICB7fSxcbiAgICAgICAge1xuICAgICAgICAgIGZpbGVuYW1lOiBmaWxlbmFtZUZuLFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBhd2FpdCB1LnVwbG9hZCh0ZXN0QnVmZmVyKTtcbiAgICAgIGV4cGVjdChjdXN0b21OYW1lTW9ja2VkKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChmaWxlbmFtZUZuKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgYXNzaWduIG1ldGhvZHMgdG8gdXNlciBwcm92aWRlZCB0b2tlbicsICgpID0+IHtcbiAgICAgIGxldCB0b2tlbiA9IHt9O1xuXG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCgpO1xuICAgICAgdS5zZXRUb2tlbih0b2tlbik7XG5cbiAgICAgIGV4cGVjdCh0b2tlblsnY2FuY2VsJ10pLnRvQmVUcnV0aHkoKTtcbiAgICAgIGV4cGVjdCh0b2tlblsncmVzdW1lJ10pLnRvQmVUcnV0aHkoKTtcbiAgICAgIGV4cGVjdCh0b2tlblsncGF1c2UnXSkudG9CZVRydXRoeSgpO1xuXG4gICAgICB0b2tlblsnY2FuY2VsJ10oKTtcbiAgICAgIHRva2VuWydwYXVzZSddKCk7XG4gICAgICB0b2tlblsncmVzdW1lJ10oKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc2V0IHRva2VuIHdpdGggbWV0aG9kcyB0aGF0IHBhdXNlLGNhbmNlbCBvciByZXN1bWUgdXBsb2FkcycsICgpID0+IHtcbiAgICAgIGxldCB0b2tlbiA9IHt9O1xuXG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCgpO1xuICAgICAgdS5zZXRUb2tlbih0b2tlbik7XG5cbiAgICAgIHRva2VuWydjYW5jZWwnXSgpO1xuICAgICAgdG9rZW5bJ3BhdXNlJ10oKTtcbiAgICAgIHRva2VuWydyZXN1bWUnXSgpO1xuXG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUuYWJvcnQpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5wYXVzZSkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgZXhwZWN0KFMzVXBsb2FkZXIucHJvdG90eXBlLnJlc3VtZSkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBpZiB0b2tlbiBpcyBub3QgYW4gb2JqZWN0JywgKCkgPT4ge1xuICAgICAgY29uc3QgdG9rZW4gPSAnMTIzMTIzJztcblxuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoKTtcbiAgICAgIGV4cGVjdCgoKSA9PiB7XG4gICAgICAgIHUuc2V0VG9rZW4odG9rZW4pO1xuICAgICAgfSkudG9UaHJvd0Vycm9yKCk7XG4gICAgfSk7XG5cbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1VwbG9hZCcsICgpID0+IHtcbiAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgIG1vY2tFeGVjdXRlLm1vY2tSZXR1cm5WYWx1ZShQcm9taXNlLnJlc29sdmUoW21vY2tlZEZpbGVSZXNwb25zZSwgbW9ja2VkRmlsZVJlc3BvbnNlXSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBleGVjdXRlIG5vcm1hbCB1cGxvYWQgd2l0aG91dCBlcnJvcnMgYW5kIHJldHVybiBzaW5nbGUgZmlsZSByZXNwb25zZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKCk7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCB1LnVwbG9hZCh0ZXN0QnVmZmVyKTtcbiAgICAgIGV4cGVjdChyZXMpLnRvRXF1YWwobW9ja2VkRmlsZVJlc3BvbnNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZXhlY3V0ZSBub3JtYWwgdXBsb2FkIHdpdGggZXJyb3JzIGFuZCByZXR1cm4gcmVqZWN0ZWQgcHJvbWlzZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKCk7XG5cbiAgICAgIG1vY2tFeGVjdXRlLm1vY2tSZXR1cm5WYWx1ZShcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBzdGF0dXM6IEZpbGVTdGF0ZS5GQUlMRUQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSlcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBleHBlY3QodS51cGxvYWQodGVzdEJ1ZmZlcikpLnJlamVjdHMudG9FcXVhbCh7XG4gICAgICAgIHN0YXR1czogRmlsZVN0YXRlLkZBSUxFRCxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBleGVjdXRlIG11bHRpdXBsb2FkIHdpdGhvdXQgZXJyb3JzIGFuZCByZXR1cm4gc2luZ2xlIGZpbGUgcmVzcG9uc2UnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCgpO1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdS5tdWx0aXVwbG9hZChbdGVzdEJ1ZmZlciwgdGVzdEJ1ZmZlcl0pO1xuICAgICAgZXhwZWN0KHJlcykudG9FcXVhbChbbW9ja2VkRmlsZVJlc3BvbnNlLCBtb2NrZWRGaWxlUmVzcG9uc2VdKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1Byb2dyZXNzJywgKCkgPT4ge1xuICAgIGNvbnN0IHByb2dyZXNzMSA9IHtcbiAgICAgIHRvdGFsQnl0ZXM6IDEsXG4gICAgICB0b3RhbFBlcmNlbnQ6IDEsXG4gICAgICBmaWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgdG90YWxCeXRlczogMSxcbiAgICAgICAgICB0b3RhbFBlcmNlbnQ6IDEsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG5cbiAgICBjb25zdCBwcm9ncmVzczUwID0ge1xuICAgICAgdG90YWxCeXRlczogNSxcbiAgICAgIHRvdGFsUGVyY2VudDogNTAsXG4gICAgICBmaWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgdG90YWxCeXRlczogNTAsXG4gICAgICAgICAgdG90YWxQZXJjZW50OiA1MCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcblxuICAgIGNvbnN0IHByb2dyZXNzMTAwID0ge1xuICAgICAgdG90YWxCeXRlczogMTAwLFxuICAgICAgdG90YWxQZXJjZW50OiAxMDAsXG4gICAgICBmaWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgdG90YWxCeXRlczogMTAwLFxuICAgICAgICAgIHRvdGFsUGVyY2VudDogMTAwLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgY29ycmVjdCBwcm9ncmVzcyBldmVudCcsIGFzeW5jICgpID0+IHtcbiAgICAgIHNweU9uKFMzVXBsb2FkZXIucHJvdG90eXBlLCAnb24nKS5hbmQuY2FsbEZha2UoKGV2LCBjYikgPT4ge1xuICAgICAgICBjYihwcm9ncmVzczEpO1xuICAgICAgICBjYihwcm9ncmVzczEwMCk7XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgcHJvZ3Jlc3NNb2NrID0gamVzdC5mbigpO1xuXG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCh7XG4gICAgICAgIG9uUHJvZ3Jlc3M6IHByb2dyZXNzTW9jayxcbiAgICAgIH0pO1xuXG4gICAgICBhd2FpdCB1LnVwbG9hZCh0ZXN0QnVmZmVyKTtcblxuICAgICAgZXhwZWN0KHByb2dyZXNzTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgocHJvZ3Jlc3MxMDApO1xuICAgICAgZXhwZWN0KHByb2dyZXNzTW9jaykudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBjYWxsIHByb2dyZXNzIGV2ZW50IG9uIGdpdmVuIGludGVydmFsJywgYXN5bmMgKCkgPT4ge1xuICAgICAgbGV0IHByb2dyZXNzQ2I7XG5cbiAgICAgIG1vY2tFeGVjdXRlLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHByb2dyZXNzQ2IocHJvZ3Jlc3MxKSwgMSk7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBwcm9ncmVzc0NiKHByb2dyZXNzNTApLCAyKTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHByb2dyZXNzQ2IocHJvZ3Jlc3MxMDApLCAzKTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHJlc29sdmUoW10pLCA0KTtcblxuICAgICAgICAgIGplc3QuYWR2YW5jZVRpbWVyc0J5VGltZSg0KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgc3B5T24oUzNVcGxvYWRlci5wcm90b3R5cGUsICdvbicpLmFuZC5jYWxsRmFrZSgoZXYsIGNiKSA9PiB7XG4gICAgICAgIHByb2dyZXNzQ2IgPSBjYjtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBwcm9ncmVzc01vY2sgPSBqZXN0LmZuKCk7XG5cbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKHtcbiAgICAgICAgcHJvZ3Jlc3NJbnRlcnZhbDogMSxcbiAgICAgICAgb25Qcm9ncmVzczogcHJvZ3Jlc3NNb2NrLFxuICAgICAgfSk7XG5cbiAgICAgIGF3YWl0IHUubXVsdGl1cGxvYWQoW3Rlc3RCdWZmZXJdKTtcblxuICAgICAgZXhwZWN0KHByb2dyZXNzTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgocHJvZ3Jlc3MxKTtcbiAgICAgIGV4cGVjdChwcm9ncmVzc01vY2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHByb2dyZXNzNTApO1xuICAgICAgZXhwZWN0KHByb2dyZXNzTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgocHJvZ3Jlc3MxMDApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzdGF5IGF0IHRoZSBzYW1lIHByb2dyZXNzIHdoZW4gdXBsb2FkZXIgZ29lcyBiYWNrIHdpdGggZmlsZSBwcm9ncmVzcycsIGFzeW5jICgpID0+IHtcbiAgICAgIGxldCBwcm9ncmVzc0NiO1xuXG4gICAgICBtb2NrRXhlY3V0ZS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBwcm9ncmVzc0NiKHByb2dyZXNzNTApLCAxKTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHByb2dyZXNzQ2IocHJvZ3Jlc3MxKSwgMik7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBwcm9ncmVzc0NiKHByb2dyZXNzMTAwKSwgMyk7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiByZXNvbHZlKFtdKSwgNCk7XG5cbiAgICAgICAgICBqZXN0LmFkdmFuY2VUaW1lcnNCeVRpbWUoNCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHNweU9uKFMzVXBsb2FkZXIucHJvdG90eXBlLCAnb24nKS5hbmQuY2FsbEZha2UoKGV2LCBjYikgPT4ge1xuICAgICAgICBwcm9ncmVzc0NiID0gY2I7XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgcHJvZ3Jlc3NNb2NrID0gamVzdC5mbigpO1xuXG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCh7XG4gICAgICAgIHByb2dyZXNzSW50ZXJ2YWw6IDEsXG4gICAgICAgIG9uUHJvZ3Jlc3M6IHByb2dyZXNzTW9jayxcbiAgICAgIH0pO1xuXG4gICAgICBhd2FpdCB1Lm11bHRpdXBsb2FkKFt0ZXN0QnVmZmVyXSk7XG5cbiAgICAgIGV4cGVjdChwcm9ncmVzc01vY2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHByb2dyZXNzNTApO1xuICAgICAgZXhwZWN0KHByb2dyZXNzTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgocHJvZ3Jlc3M1MCk7XG4gICAgICBleHBlY3QocHJvZ3Jlc3NNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChwcm9ncmVzczEwMCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC91cGxvYWQuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7O0FBRUgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSTNDLElBQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUVqRCxJQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUVuQyxJQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFO0lBQ2hELEdBQUcsRUFBRSxnQkFBZ0I7Q0FDdEIsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0FBRXJCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxjQUFNLE9BQUEsQ0FBQztJQUMvQixPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGNBQU0sT0FBQSxZQUFZLEVBQVosQ0FBWSxDQUFDO0NBQzFELENBQUMsRUFGOEIsQ0FFOUIsQ0FBQyxDQUFDO0FBRUosSUFBTSxrQkFBa0IsR0FBRztJQUN6QixNQUFNLEVBQUUsUUFBUTtDQUNqQixDQUFDO0FBRUYsSUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztBQUNoQyxJQUFNLGNBQWMsR0FBRztJQUNyQixNQUFNLEVBQUUsTUFBTTtJQUNkLE1BQU0sRUFBRSxHQUFHO0lBQ1gsU0FBUyxFQUFFLEdBQUc7SUFDZCxJQUFJLEVBQUUsV0FBVztD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Q0FBQyxVQUFVLENBQUMsQ0FBQzt3QkFDdEQsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDOzs7O2FBQ3hELENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL2FwaS91cGxvYWQvdXBsb2FkLnNwZWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE5IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBVcGxvYWQgfSBmcm9tICcuL3VwbG9hZCc7XG5pbXBvcnQgeyBGaWxlU3RhdGUgfSBmcm9tICcuL2ZpbGUnO1xuaW1wb3J0IHsgUzNVcGxvYWRlciB9IGZyb20gJy4vdXBsb2FkZXJzL3MzJztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJy4vLi4vLi4vLi4vY29uZmlnJztcbmltcG9ydCB7IFN0b3JlVXBsb2FkT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgVXBsb2FkTW9kZSB9IGZyb20gJy4vdXBsb2FkZXJzL2Fic3RyYWN0JztcblxuY29uc3QgdGVzdEJ1ZmZlciA9IEJ1ZmZlci5mcm9tKCd0ZXN0IHRlc3QgdGVzdCcpO1xuXG5jb25zdCBjdXN0b21OYW1lTW9ja2VkID0gamVzdC5mbigpO1xuXG5jb25zdCBtb2NrZWRGc0ZpbGUgPSB7fTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShtb2NrZWRGc0ZpbGUsICdjdXN0b21OYW1lJywge1xuICBzZXQ6IGN1c3RvbU5hbWVNb2NrZWQsXG59KTtcblxuamVzdC51c2VGYWtlVGltZXJzKCk7XG5cbmplc3QubW9jaygnLi91cGxvYWRlcnMvczMnKTtcbmplc3QubW9jaygnLi9maWxlX3Rvb2xzJywgKCkgPT4gKHtcbiAgZ2V0RmlsZTogamVzdC5mbigpLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBtb2NrZWRGc0ZpbGUpLFxufSkpO1xuXG5jb25zdCBtb2NrZWRGaWxlUmVzcG9uc2UgPSB7XG4gIHN0YXR1czogJ3N0b3JlZCcsXG59O1xuXG5jb25zdCBzZXNzaW9uVVJscyA9IGNvbmZpZy51cmxzO1xuY29uc3QgZGVmYXVsdFNlc3Npb24gPSB7XG4gIGFwaWtleTogJ3Rlc3QnLFxuICBwb2xpY3k6ICdwJyxcbiAgc2lnbmF0dXJlOiAncycsXG4gIHVybHM6IHNlc3Npb25VUmxzLFxufTtcblxuY29uc3QgbW9ja0V4ZWN1dGUgPSBqZXN0LmZuKCk7XG5cbmRlc2NyaWJlKCdBcGkvVXBsb2FkL3VwbG9hZCcsICgpID0+IHtcbiAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICBqZXN0LnNweU9uKFMzVXBsb2FkZXIucHJvdG90eXBlLCAnZXhlY3V0ZScpLm1vY2tJbXBsZW1lbnRhdGlvbihtb2NrRXhlY3V0ZSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdTZXR0aW5ncycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGhhbmRsZSBjb25zdHJ1Y3RvciBvcHRpb25zJywgKCkgPT4ge1xuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoe1xuICAgICAgICBwYXJ0U2l6ZTogNSAqIDEwMjQgKiAxMDI0LFxuICAgICAgICBpbnRlbGxpZ2VudENodW5rU2l6ZTogNSAqIDEwMjQgKiAxMDI0LFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5zZXRQYXJ0U2l6ZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoNSAqIDEwMjQgKiAxMDI0KTtcbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5zZXRJbnRlbGxpZ2VudENodW5rU2l6ZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoNSAqIDEwMjQgKiAxMDI0KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgZXJyb3Igb24gd3JvbmcgdXBsb2FkIG9wdGlvbnMnLCAoKSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3QoKCkgPT4gbmV3IFVwbG9hZCh7IGludGVsbGlnZW50MTogdHJ1ZSB9KSkudG9UaHJvd0Vycm9yKCdJbnZhbGlkIHVwbG9hZCBwYXJhbXMnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgYWNjZXB0IHNhbml0aXplciBzZXR0aW5ncycsICgpID0+IHtcbiAgICAgIGV4cGVjdCgoKSA9PiBuZXcgVXBsb2FkKHt9LCB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgc2FuaXRpemVyOiBmYWxzZSxcbiAgICAgIH0pKS5ub3QudG9UaHJvd0Vycm9yKCdJbnZhbGlkIHVwbG9hZCBwYXJhbXMnKTtcblxuICAgICAgZXhwZWN0KCgpID0+IG5ldyBVcGxvYWQoe30sIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBzYW5pdGl6ZXI6IHtcbiAgICAgICAgICBleGNsdWRlOiBbJzEnXSxcbiAgICAgICAgICByZXBsYWNlbWVudDogJy0nLFxuICAgICAgICB9LFxuICAgICAgfSkpLm5vdC50b1Rocm93RXJyb3IoJ0ludmFsaWQgdXBsb2FkIHBhcmFtcycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciBvbiB3cm9uZyBzdG9yZSBvcHRpb25zJywgKCkgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KCgpID0+IG5ldyBVcGxvYWQoeyBpbnRlbGxpZ2VudDogdHJ1ZSB9LCB7IHRlc3Q6IDEyMyB9KSkudG9UaHJvd0Vycm9yKCdJbnZhbGlkIHN0b3JlIHVwbG9hZCBwYXJhbXMnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc2V0IGludGVsbGlnZW50IHVwbG9hZCBtb2RlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoeyBpbnRlbGxpZ2VudDogdHJ1ZSB9KTtcbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5zZXRVcGxvYWRNb2RlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChVcGxvYWRNb2RlLklOVEVMTElHRU5UKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc2V0IHJlc3BlY3QgZGlzYWJsZUludGVncml0eUNoZWNrIHBhcmFtJywgKCkgPT4ge1xuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoeyBkaXNhYmxlSW50ZWdyaXR5Q2hlY2s6IHRydWUgfSk7XG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUuc2V0SW50ZWdyaXR5Q2hlY2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFsbGJhY2sgdXBsb2FkIG1vZGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCh7IGludGVsbGlnZW50OiAnZmFsbGJhY2snIH0pO1xuICAgICAgZXhwZWN0KFMzVXBsb2FkZXIucHJvdG90eXBlLnNldFVwbG9hZE1vZGUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFVwbG9hZE1vZGUuRkFMTEJBQ0spO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzZXQgdXBsb2FkIHRhc2tzIHRvIHVwbG9hZGVyJywgKCkgPT4ge1xuICAgICAgY29uc3QgdGFncyA9IHsgdGVzdDogJzEyMycgfTtcbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKHsgdGFnczogdGFncyB9KTtcbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5zZXRVcGxvYWRUYWdzKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh0YWdzKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcGFzcyBzdG9yZSBvcHRpb25zIHRvIHVwbG9hZGVyIGNsYXNzJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc3RvcmVPcHRpb25zOiBTdG9yZVVwbG9hZE9wdGlvbnMgPSB7XG4gICAgICAgIGxvY2F0aW9uOiAnczMnLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoe30sIHN0b3JlT3B0aW9ucyk7XG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUuY29uc3RydWN0b3IpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHN0b3JlT3B0aW9ucywgdW5kZWZpbmVkKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVzcGVjdCBjb25jdXJyZW5jeSBwYXJhbSBpbiB1cGxvYWQgb3B0aW9ucycsICgpID0+IHtcbiAgICAgIGNvbnN0IHVwbG9hZE9wdGlvbnMgPSB7XG4gICAgICAgIGNvbmN1cnJlbmN5OiA0LFxuICAgICAgfTtcblxuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQodXBsb2FkT3B0aW9ucyk7XG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUuY29uc3RydWN0b3IpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHt9LCA0KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc2V0IGNvcnJlY3Qgc2VjdXJpdHkgdG8gdXBsb2FkZXInLCAoKSA9PiB7XG4gICAgICBjb25zdCBzZWN1cml0eSA9IHtcbiAgICAgICAgcG9saWN5OiAncCcsXG4gICAgICAgIHNpZ25hdHVyZTogJ3MnLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoKTtcbiAgICAgIHUuc2V0U2VjdXJpdHkoc2VjdXJpdHkpO1xuXG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUuc2V0U2VjdXJpdHkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHNlY3VyaXR5KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcGFzcyBzZXNzaW9uIHZhcmlhYmxlIHRvIHVwbG9hZGVyJywgKCkgPT4ge1xuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoKTtcbiAgICAgIHUuc2V0U2Vzc2lvbihkZWZhdWx0U2Vzc2lvbik7XG5cbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5zZXRVcmwpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLnVybHMudXBsb2FkQXBpVXJsKTtcbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5zZXRBcGlrZXkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLmFwaWtleSk7XG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUuc2V0U2VjdXJpdHkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHsgcG9saWN5OiBkZWZhdWx0U2Vzc2lvbi5wb2xpY3ksIHNpZ25hdHVyZTogZGVmYXVsdFNlc3Npb24uc2lnbmF0dXJlIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzZXQgc3RvcmVPcHRpb24gZmlsZW5hbWUgdG8gY2xhc3MnLCBhc3luYyAoKSA9PiB7XG4gICAgICBtb2NrRXhlY3V0ZS5tb2NrUmV0dXJuVmFsdWUoUHJvbWlzZS5yZXNvbHZlKFttb2NrZWRGaWxlUmVzcG9uc2VdKSk7XG4gICAgICBjb25zdCBmaWxlbmFtZUZuID0gKCkgPT4gJ3Rlc3QnO1xuXG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZChcbiAgICAgICAge30sXG4gICAgICAgIHtcbiAgICAgICAgICBmaWxlbmFtZTogZmlsZW5hbWVGbixcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgYXdhaXQgdS51cGxvYWQodGVzdEJ1ZmZlcik7XG4gICAgICBleHBlY3QoY3VzdG9tTmFtZU1vY2tlZCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZmlsZW5hbWVGbik7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGFzc2lnbiBtZXRob2RzIHRvIHVzZXIgcHJvdmlkZWQgdG9rZW4nLCAoKSA9PiB7XG4gICAgICBsZXQgdG9rZW4gPSB7fTtcblxuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoKTtcbiAgICAgIHUuc2V0VG9rZW4odG9rZW4pO1xuXG4gICAgICBleHBlY3QodG9rZW5bJ2NhbmNlbCddKS50b0JlVHJ1dGh5KCk7XG4gICAgICBleHBlY3QodG9rZW5bJ3Jlc3VtZSddKS50b0JlVHJ1dGh5KCk7XG4gICAgICBleHBlY3QodG9rZW5bJ3BhdXNlJ10pLnRvQmVUcnV0aHkoKTtcblxuICAgICAgdG9rZW5bJ2NhbmNlbCddKCk7XG4gICAgICB0b2tlblsncGF1c2UnXSgpO1xuICAgICAgdG9rZW5bJ3Jlc3VtZSddKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNldCB0b2tlbiB3aXRoIG1ldGhvZHMgdGhhdCBwYXVzZSxjYW5jZWwgb3IgcmVzdW1lIHVwbG9hZHMnLCAoKSA9PiB7XG4gICAgICBsZXQgdG9rZW4gPSB7fTtcblxuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoKTtcbiAgICAgIHUuc2V0VG9rZW4odG9rZW4pO1xuXG4gICAgICB0b2tlblsnY2FuY2VsJ10oKTtcbiAgICAgIHRva2VuWydwYXVzZSddKCk7XG4gICAgICB0b2tlblsncmVzdW1lJ10oKTtcblxuICAgICAgZXhwZWN0KFMzVXBsb2FkZXIucHJvdG90eXBlLmFib3J0KS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgICBleHBlY3QoUzNVcGxvYWRlci5wcm90b3R5cGUucGF1c2UpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICAgIGV4cGVjdChTM1VwbG9hZGVyLnByb3RvdHlwZS5yZXN1bWUpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3IgaWYgdG9rZW4gaXMgbm90IGFuIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHRva2VuID0gJzEyMzEyMyc7XG5cbiAgICAgIGNvbnN0IHUgPSBuZXcgVXBsb2FkKCk7XG4gICAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgICB1LnNldFRva2VuKHRva2VuKTtcbiAgICAgIH0pLnRvVGhyb3dFcnJvcigpO1xuICAgIH0pO1xuXG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdVcGxvYWQnLCAoKSA9PiB7XG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBtb2NrRXhlY3V0ZS5tb2NrUmV0dXJuVmFsdWUoUHJvbWlzZS5yZXNvbHZlKFttb2NrZWRGaWxlUmVzcG9uc2UsIG1vY2tlZEZpbGVSZXNwb25zZV0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZXhlY3V0ZSBub3JtYWwgdXBsb2FkIHdpdGhvdXQgZXJyb3JzIGFuZCByZXR1cm4gc2luZ2xlIGZpbGUgcmVzcG9uc2UnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCgpO1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdS51cGxvYWQodGVzdEJ1ZmZlcik7XG4gICAgICBleHBlY3QocmVzKS50b0VxdWFsKG1vY2tlZEZpbGVSZXNwb25zZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGV4ZWN1dGUgbm9ybWFsIHVwbG9hZCB3aXRoIGVycm9ycyBhbmQgcmV0dXJuIHJlamVjdGVkIHByb21pc2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCgpO1xuXG4gICAgICBtb2NrRXhlY3V0ZS5tb2NrUmV0dXJuVmFsdWUoXG4gICAgICAgIFByb21pc2UucmVzb2x2ZShbXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RhdHVzOiBGaWxlU3RhdGUuRkFJTEVELFxuICAgICAgICAgIH0sXG4gICAgICAgIF0pXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gZXhwZWN0KHUudXBsb2FkKHRlc3RCdWZmZXIpKS5yZWplY3RzLnRvRXF1YWwoe1xuICAgICAgICBzdGF0dXM6IEZpbGVTdGF0ZS5GQUlMRUQsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZXhlY3V0ZSBtdWx0aXVwbG9hZCB3aXRob3V0IGVycm9ycyBhbmQgcmV0dXJuIHNpbmdsZSBmaWxlIHJlc3BvbnNlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoKTtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHUubXVsdGl1cGxvYWQoW3Rlc3RCdWZmZXIsIHRlc3RCdWZmZXJdKTtcbiAgICAgIGV4cGVjdChyZXMpLnRvRXF1YWwoW21vY2tlZEZpbGVSZXNwb25zZSwgbW9ja2VkRmlsZVJlc3BvbnNlXSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdQcm9ncmVzcycsICgpID0+IHtcbiAgICBjb25zdCBwcm9ncmVzczEgPSB7XG4gICAgICB0b3RhbEJ5dGVzOiAxLFxuICAgICAgdG90YWxQZXJjZW50OiAxLFxuICAgICAgZmlsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRvdGFsQnl0ZXM6IDEsXG4gICAgICAgICAgdG90YWxQZXJjZW50OiAxLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuXG4gICAgY29uc3QgcHJvZ3Jlc3M1MCA9IHtcbiAgICAgIHRvdGFsQnl0ZXM6IDUsXG4gICAgICB0b3RhbFBlcmNlbnQ6IDUwLFxuICAgICAgZmlsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRvdGFsQnl0ZXM6IDUwLFxuICAgICAgICAgIHRvdGFsUGVyY2VudDogNTAsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG5cbiAgICBjb25zdCBwcm9ncmVzczEwMCA9IHtcbiAgICAgIHRvdGFsQnl0ZXM6IDEwMCxcbiAgICAgIHRvdGFsUGVyY2VudDogMTAwLFxuICAgICAgZmlsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRvdGFsQnl0ZXM6IDEwMCxcbiAgICAgICAgICB0b3RhbFBlcmNlbnQ6IDEwMCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcblxuICAgIGl0KCdzaG91bGQgaGFuZGxlIGNvcnJlY3QgcHJvZ3Jlc3MgZXZlbnQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBqZXN0LnNweU9uKFMzVXBsb2FkZXIucHJvdG90eXBlLCAnb24nKS5tb2NrSW1wbGVtZW50YXRpb24oKGV2LCBjYikgPT4ge1xuICAgICAgICBjYihwcm9ncmVzczEpO1xuICAgICAgICBjYihwcm9ncmVzczEwMCk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHByb2dyZXNzTW9jayA9IGplc3QuZm4oKTtcblxuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoe1xuICAgICAgICBvblByb2dyZXNzOiBwcm9ncmVzc01vY2ssXG4gICAgICB9KTtcblxuICAgICAgYXdhaXQgdS51cGxvYWQodGVzdEJ1ZmZlcik7XG5cbiAgICAgIGV4cGVjdChwcm9ncmVzc01vY2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHByb2dyZXNzMTAwKTtcbiAgICAgIGV4cGVjdChwcm9ncmVzc01vY2spLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgY2FsbCBwcm9ncmVzcyBldmVudCBvbiBnaXZlbiBpbnRlcnZhbCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGxldCBwcm9ncmVzc0NiO1xuXG4gICAgICBtb2NrRXhlY3V0ZS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBwcm9ncmVzc0NiKHByb2dyZXNzMSksIDEpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcHJvZ3Jlc3NDYihwcm9ncmVzczUwKSwgMik7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBwcm9ncmVzc0NiKHByb2dyZXNzMTAwKSwgMyk7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiByZXNvbHZlKFtdKSwgNCk7XG5cbiAgICAgICAgICBqZXN0LmFkdmFuY2VUaW1lcnNCeVRpbWUoNCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIGplc3Quc3B5T24oUzNVcGxvYWRlci5wcm90b3R5cGUsICdvbicpLm1vY2tJbXBsZW1lbnRhdGlvbigoZXYsIGNiKSA9PiB7XG4gICAgICAgIHByb2dyZXNzQ2IgPSBjYjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgcHJvZ3Jlc3NNb2NrID0gamVzdC5mbigpO1xuXG4gICAgICBjb25zdCB1ID0gbmV3IFVwbG9hZCh7XG4gICAgICAgIHByb2dyZXNzSW50ZXJ2YWw6IDEsXG4gICAgICAgIG9uUHJvZ3Jlc3M6IHByb2dyZXNzTW9jayxcbiAgICAgIH0pO1xuXG4gICAgICBhd2FpdCB1Lm11bHRpdXBsb2FkKFt0ZXN0QnVmZmVyXSk7XG5cbiAgICAgIGV4cGVjdChwcm9ncmVzc01vY2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHByb2dyZXNzMSk7XG4gICAgICBleHBlY3QocHJvZ3Jlc3NNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChwcm9ncmVzczUwKTtcbiAgICAgIGV4cGVjdChwcm9ncmVzc01vY2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHByb2dyZXNzMTAwKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc3RheSBhdCB0aGUgc2FtZSBwcm9ncmVzcyB3aGVuIHVwbG9hZGVyIGdvZXMgYmFjayB3aXRoIGZpbGUgcHJvZ3Jlc3MnLCBhc3luYyAoKSA9PiB7XG4gICAgICBsZXQgcHJvZ3Jlc3NDYjtcblxuICAgICAgbW9ja0V4ZWN1dGUubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcHJvZ3Jlc3NDYihwcm9ncmVzczUwKSwgMSk7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBwcm9ncmVzc0NiKHByb2dyZXNzMSksIDIpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcHJvZ3Jlc3NDYihwcm9ncmVzczEwMCksIDMpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVzb2x2ZShbXSksIDQpO1xuXG4gICAgICAgICAgamVzdC5hZHZhbmNlVGltZXJzQnlUaW1lKDQpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICBqZXN0LnNweU9uKFMzVXBsb2FkZXIucHJvdG90eXBlLCAnb24nKS5tb2NrSW1wbGVtZW50YXRpb24oKGV2LCBjYikgPT4ge1xuICAgICAgICBwcm9ncmVzc0NiID0gY2I7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHByb2dyZXNzTW9jayA9IGplc3QuZm4oKTtcblxuICAgICAgY29uc3QgdSA9IG5ldyBVcGxvYWQoe1xuICAgICAgICBwcm9ncmVzc0ludGVydmFsOiAxLFxuICAgICAgICBvblByb2dyZXNzOiBwcm9ncmVzc01vY2ssXG4gICAgICB9KTtcblxuICAgICAgYXdhaXQgdS5tdWx0aXVwbG9hZChbdGVzdEJ1ZmZlcl0pO1xuXG4gICAgICBleHBlY3QocHJvZ3Jlc3NNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChwcm9ncmVzczUwKTtcbiAgICAgIGV4cGVjdChwcm9ncmVzc01vY2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHByb2dyZXNzNTApO1xuICAgICAgZXhwZWN0KHByb2dyZXNzTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgocHJvZ3Jlc3MxMDApO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19

@@ -1,2 +0,2 @@

import * as EventEmitter from 'eventemitter3';
import EventEmitter from 'eventemitter3';
import { File, UploadTags } from './../file';

@@ -3,0 +3,0 @@ import { StoreUploadOptions } from './../types';

@@ -19,3 +19,3 @@ import { __extends } from "tslib";

import Debug from 'debug';
import * as EventEmitter from 'eventemitter3';
import EventEmitter from 'eventemitter3';
import { isMobile } from './../../../utils';

@@ -47,3 +47,3 @@ import { FilestackError } from './../../../../filestack_error';

_this.timeout = 30 * 1000;
_this.uploadMode = "default" /* DEFAULT */;
_this.uploadMode = "default" /* UploadMode.DEFAULT */;
_this.isModeLocked = false; // if account does not support ii in fallback mode we should abort

@@ -59,15 +59,15 @@ _this.integrityCheck = true;

UploaderAbstract.prototype.setApikey = function (apikey) {
debug("Set apikey to " + apikey);
debug("Set apikey to ".concat(apikey));
this.apikey = apikey;
};
UploaderAbstract.prototype.setTimeout = function (timeout) {
debug("Set request timeout to " + timeout);
debug("Set request timeout to ".concat(timeout));
this.timeout = timeout;
};
UploaderAbstract.prototype.setRetryConfig = function (cfg) {
debug("Set retry config to " + cfg);
debug("Set retry config to ".concat(cfg));
this.retryConfig = cfg;
};
UploaderAbstract.prototype.setUrl = function (url) {
debug("Set upload url to " + url);
debug("Set upload url to ".concat(url));
this.url = url;

@@ -99,7 +99,7 @@ };

if (this.isModeLocked === true) {
debug("Cannot switch mode to " + mode + ". Locked! Probably mode is not supported at this apikey");
debug("Cannot switch mode to ".concat(mode, ". Locked! Probably mode is not supported at this apikey"));
return;
}
this.isModeLocked = lock;
debug("Set upload mode to " + mode);
debug("Set upload mode to ".concat(mode));
this.uploadMode = mode;

@@ -116,7 +116,7 @@ };

UploaderAbstract.prototype.setPartSize = function (size) {
if (this.uploadMode !== "default" /* DEFAULT */) {
if (this.uploadMode !== "default" /* UploadMode.DEFAULT */) {
debug('Cannot set part size because upload mode is other than default. ');
return;
}
debug("Set part size to " + size);
debug("Set part size to ".concat(size));
if (size < MIN_PART_SIZE) {

@@ -140,5 +140,5 @@ throw new FilestackError('Minimum part size is 5MB');

UploaderAbstract.prototype.setIntelligentChunkSize = function (size) {
debug("Set inteligent chunk size to " + size);
debug("Set inteligent chunk size to ".concat(size));
if (size < MIN_CHUNK_SIZE) {
throw new FilestackError("Minimum intelligent chunk size is " + MIN_CHUNK_SIZE);
throw new FilestackError("Minimum intelligent chunk size is ".concat(MIN_CHUNK_SIZE));
}

@@ -170,2 +170,2 @@ this.intelligentChunkSize = size;

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC91cGxvYWRlcnMvYWJzdHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEtBQUssWUFBWSxNQUFNLGVBQWUsQ0FBQztBQU05QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRS9ELG9CQUFvQjtBQUNwQixNQUFNLENBQUMsSUFBTSxpQkFBaUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUVqRCw0Q0FBNEM7QUFDNUMsTUFBTSxDQUFDLElBQU0sYUFBYSxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBRTdDLDBFQUEwRTtBQUMxRSxNQUFNLENBQUMsSUFBTSxzQkFBc0IsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUV0RCwyQkFBMkI7QUFDM0IsTUFBTSxDQUFDLElBQU0sNkJBQTZCLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUV6RCxpQ0FBaUM7QUFDakMsTUFBTSxDQUFDLElBQU0sY0FBYyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFFeEMsTUFBTSxDQUFDLElBQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDO0FBRTNDLElBQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBUTFDO0lBQStDLG9DQUFZO0lBc0J6RCwwQkFBK0IsWUFBZ0MsRUFBcUIsV0FBdUI7UUFBdkIsNEJBQUEsRUFBQSxlQUF1QjtRQUEzRyxZQUNFLGlCQUFPLFNBQ1I7UUFGOEIsa0JBQVksR0FBWixZQUFZLENBQW9CO1FBQXFCLGlCQUFXLEdBQVgsV0FBVyxDQUFZO1FBckIzRyxxQkFBcUI7UUFDWCxjQUFRLEdBQVcs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Q0FBQyxDQUFDO1FBQzlDLElBQUksSUFBSSxHQUFHLGNBQWMsRUFBRTtZQUN6QixNQUFNLElBQUksY0FBYyxDQUFDLHVDQUFxQyxjQUFnQixDQUFDLENBQUM7U0FDakY7UUFDRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNJLGtEQUF1QixHQUE5QjtRQUNFLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxpQ0FBTSxHQUFiO1FBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDYixNQUFNLElBQUksY0FBYyxDQUFDLG9CQUFvQixDQUFDLENBQUM7U0FDaEQ7UUFFRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQXlCSCx1QkFBQztBQUFELENBaExBLEFBZ0xDLENBaEw4QyxZQUFZLEdBZ0wxRCIsImZpbGUiOiJsaWIvYXBpL3VwbG9hZC91cGxvYWRlcnMvYWJzdHJhY3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE5IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IERlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCAqIGFzIEV2ZW50RW1pdHRlciBmcm9tICdldmVudGVtaXR0ZXIzJztcblxuaW1wb3J0IHsgRmlsZSwgVXBsb2FkVGFncyB9IGZyb20gJy4vLi4vZmlsZSc7XG5pbXBvcnQgeyBTdG9yZVVwbG9hZE9wdGlvbnMgfSBmcm9tICcuLy4uL3R5cGVzJztcbmltcG9ydCB7IFNlY3VyaXR5IH0gZnJvbSAnLi8uLi8uLi8uLi9jbGllbnQnO1xuaW1wb3J0IHsgRnNSZXRyeUNvbmZpZyB9IGZyb20gJy4vLi4vLi4vLi4vcmVxdWVzdCc7XG5pbXBvcnQgeyBpc01vYmlsZSB9IGZyb20gJy4vLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgRmlsZXN0YWNrRXJyb3IgfSBmcm9tICcuLy4uLy4uLy4uLy4uL2ZpbGVzdGFja19lcnJvcic7XG5cbi8vIHJlZ3VsYXIgcGFydCBzaXplXG5leHBvcnQgY29uc3QgREVGQVVMVF9QQVJUX1NJWkUgPSA2ICogMTAyNCAqIDEwMjQ7XG5cbi8vIE1pbmltdW0gcGFydCBzaXplIGZvciB1cGxvYWQgYnkgbXVsdGlwYXJ0XG5leHBvcnQgY29uc3QgTUlOX1BBUlRfU0laRSA9IDUgKiAxMDI0ICogMTAyNDtcblxuLy8gd2hlbiBtb2RlIGlzIHNldCB0byBmYWxsYmFjayBvciBpbnRlbGxpZ2VudCwgdGhpcyBwYXJ0IHNpemUgaXMgcmVxdWlyZWRcbmV4cG9ydCBjb25zdCBJTlRFTExJR0VOVF9DSFVOS19TSVpFID0gOCAqIDEwMjQgKiAxMDI0O1xuXG4vLyBNb2JpbGUgQ2h1bmsgc2l6ZSBmb3IgaWlcbmV4cG9ydCBjb25zdCBJTlRFTExJR0VOVF9NT0JJTEVfQ0hVTktfU0laRSA9IDEwMjQgKiAxMDI0O1xuXG4vLyBtaW5pbXVtIGludGVsbGlnZW50IGNodW5rIHNpemVcbmV4cG9ydCBjb25zdCBNSU5fQ0hVTktfU0laRSA9IDMyICogMTAyNDtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfU1RPUkVfTE9DQVRJT04gPSAnczMnO1xuXG5jb25zdCBkZWJ1ZyA9IERlYnVnKCdmczp1cGxvYWQ6YWJzdHJhY3QnKTtcblxuZXhwb3J0IGNvbnN0IGVudW0gVXBsb2FkTW9kZSB7XG4gIERFRkFVTFQgPSAnZGVmYXVsdCcsXG4gIElOVEVMTElHRU5UID0gJ2ludGVsbGlnZW50JyxcbiAgRkFMTEJBQ0sgPSAnZmFsbGJhY2snLFxufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVXBsb2FkZXJBYnN0cmFjdCBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG4gIC8vIFBhcnRzIHNpemUgb3B0aW9uc1xuICBwcm90ZWN0ZWQgcGFydFNpemU6IG51bWJlciA9IERFRkFVTFRfUEFSVF9TSVpFO1xuXG4gIC8vIGNodW5rIHNpemUgZm9yIGlpIHVwbG9hZHNcbiAgcHJvdGVjdGVkIGludGVsbGlnZW50Q2h1bmtTaXplOiBudW1iZXIgPSBpc01vYmlsZSgpID8gSU5URUxMSUdFTlRfTU9CSUxFX0NIVU5LX1NJWkUgOiBJTlRFTExJR0VOVF9DSFVOS19TSVpFO1xuXG4gIC8vIHVwbG9hZCBvcHRpb25zXG4gIHByb3RlY3RlZCB1cmw6IHN0cmluZztcbiAgcHJvdGVjdGVkIHRpbWVvdXQ6IG51bWJlciA9IDMwICogMTAwMDtcbiAgcHJvdGVjdGVkIHVwbG9hZE1vZGU6IFVwbG9hZE1vZGUgPSBVcGxvYWRNb2RlLkRFRkFVTFQ7XG5cbiAgLy8gYXBwbGljYXRpb24gc2V0dGluZ3NcbiAgcHJvdGVjdGVkIGFwaWtleTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgc2VjdXJpdHk6IFNlY3VyaXR5O1xuXG4gIHByb3RlY3RlZCBpc01vZGVMb2NrZWQ6IGJvb2xlYW4gPSBmYWxzZTsgLy8gaWYgYWNjb3VudCBkb2VzIG5vdCBzdXBwb3J0IGlpIGluIGZhbGxiYWNrIG1vZGUgd2Ugc2hvdWxkIGFib3J0XG4gIHByb3RlY3RlZCByZXRyeUNvbmZpZzogRnNSZXRyeUNvbmZpZztcbiAgcHJvdGVjdGVkIGludGVncml0eUNoZWNrOiBib29sZWFuID0gdHJ1ZTtcblxuICBwcm90ZWN0ZWQgdXBsb2FkVGFnczogVXBsb2FkVGFncyA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JlT3B0aW9uczogU3RvcmVVcGxvYWRPcHRpb25zLCBwcm90ZWN0ZWQgcmVhZG9ubHkgY29uY3VycmVuY3k6IG51bWJlciA9IDMpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIHNldFNlY3VyaXR5KHNlY3VyaXR5OiBTZWN1cml0eSk6IHZvaWQge1xuICAgIGRlYnVnKCdTZXQgc2VjdXJpdHkgJU8nLCBzZWN1cml0eSk7XG4gICAgdGhpcy5zZWN1cml0eSA9IHNlY3VyaXR5O1xuICB9XG5cbiAgcHVibGljIHNldEFwaWtleShhcGlrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIGRlYnVnKGBTZXQgYXBpa2V5IHRvICR7YXBpa2V5fWApO1xuICAgIHRoaXMuYXBpa2V5ID0gYXBpa2V5O1xuICB9XG5cbiAgcHVibGljIHNldFRpbWVvdXQodGltZW91dDogbnVtYmVyKTogdm9pZCB7XG4gICAgZGVidWcoYFNldCByZXF1ZXN0IHRpbWVvdXQgdG8gJHt0aW1lb3V0fWApO1xuICAgIHRoaXMudGltZW91dCA9IHRpbWVvdXQ7XG4gIH1cblxuICBwdWJsaWMgc2V0UmV0cnlDb25maWcoY2ZnOiBGc1JldHJ5Q29uZmlnKSB7XG4gICAgZGVidWcoYFNldCByZXRyeSBjb25maWcgdG8gJHtjZmd9YCk7XG4gICAgdGhpcy5yZXRyeUNvbmZpZyA9IGNmZztcbiAgfVxuXG4gIHB1YmxpYyBzZXRVcmwodXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBkZWJ1ZyhgU2V0IHVwbG9hZCB1cmwgdG8gJHt1cmx9YCk7XG4gICAgdGhpcy51cmwgPSB1cmw7XG4gIH1cblxuICBwdWJsaWMgc2V0VXBsb2FkVGFncyh0YWdzOiBVcGxvYWRUYWdzKSB7XG4gICAgZGVidWcoYFNldCB0YWdzIHRvICVPYCwgdGFncyk7XG4gICAgdGhpcy51cGxvYWRUYWdzID0gdGFncztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgc3RhdGUgb2YgY2hlY2tpbmcgZmlsZSBpbnRlZ3JpdHlcbiAgICogQHBhcmFtIHN0YXRlXG4gICAqL1xuICBwdWJsaWMgc2V0SW50ZWdyaXR5Q2hlY2soc3RhdGUpIHtcbiAgICB0aGlzLmludGVncml0eUNoZWNrID0gc3RhdGU7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB1cGxvYWQgbW9kZVxuICAgKlxuICAgKiBAcGFyYW0ge1VwbG9hZE1vZGV9IG1vZGVcbiAgICogQHBhcmFtIHtib29sZWFufSBbbG9jaz1mYWxzZV1cbiAgICogQHJldHVybnNcbiAgICogQG1lbWJlcm9mIE11bHRpcGFydFVwbG9hZGVyXG4gICAqL1xuICBwdWJsaWMgc2V0VXBsb2FkTW9kZShtb2RlOiBVcGxvYWRNb2RlLCBsb2NrOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAvLyB0aGlzIHNob3VsZG50IGhhcHBlbmQgYnV0IGZvciBzYWZldHkgcmVhc29ucyBpZiB3aWxsIHN0YXlcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmICh0aGlzLmlzTW9kZUxvY2tlZCA9PT0gdHJ1ZSkge1xuICAgICAgZGVidWcoYENhbm5vdCBzd2l0Y2ggbW9kZSB0byAke21vZGV9LiBMb2NrZWQhIFByb2JhYmx5IG1vZGUgaXMgbm90IHN1cHBvcnRlZCBhdCB0aGlzIGFwaWtleWApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNNb2RlTG9ja2VkID0gbG9jaztcblxuICAgIGRlYnVnKGBTZXQgdXBsb2FkIG1vZGUgdG8gJHttb2RlfWApO1xuXG4gICAgdGhpcy51cGxvYWRNb2RlID0gbW9kZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdXBsb2FkIHBhcnQgc2l6ZVxuICAgKiBpZiBwYXJ0IHNpemUgaXMgc21hbGxlciB0aGFuIG1pbmltdW0gNW1iIGl0IHdpbGwgdGhyb3cgZXJyb3JcbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHNpemVcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqIEBtZW1iZXJvZiBTM1VwbG9hZGVyXG4gICAqL1xuICBwdWJsaWMgc2V0UGFydFNpemUoc2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudXBsb2FkTW9kZSAhPT0gVXBsb2FkTW9kZS5ERUZBVUxUKSB7XG4gICAgICBkZWJ1ZygnQ2Fubm90IHNldCBwYXJ0IHNpemUgYmVjYXVzZSB1cGxvYWQgbW9kZSBpcyBvdGhlciB0aGFuIGRlZmF1bHQuICcpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGRlYnVnKGBTZXQgcGFydCBzaXplIHRvICR7c2l6ZX1gKTtcblxuICAgIGlmIChzaXplIDwgTUlOX1BBUlRfU0laRSkge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdNaW5pbXVtIHBhcnQgc2l6ZSBpcyA1TUInKTtcbiAgICB9XG5cbiAgICB0aGlzLnBhcnRTaXplID0gc2l6ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGN1cnJlbnQgcGFydCBzaXplXG4gICAqL1xuICBwdWJsaWMgZ2V0UGFydFNpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFydFNpemU7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHN0YXJ0IHBhcnQgc2l6ZSBmb3IgaWlcbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHNpemVcbiAgICogQG1lbWJlcm9mIFMzVXBsb2FkZXJcbiAgICovXG4gIHB1YmxpYyBzZXRJbnRlbGxpZ2VudENodW5rU2l6ZShzaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICBkZWJ1ZyhgU2V0IGludGVsaWdlbnQgY2h1bmsgc2l6ZSB0byAke3NpemV9YCk7XG4gICAgaWYgKHNpemUgPCBNSU5fQ0hVTktfU0laRSkge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKGBNaW5pbXVtIGludGVsbGlnZW50IGNodW5rIHNpemUgaXMgJHtNSU5fQ0hVTktfU0laRX1gKTtcbiAgICB9XG4gICAgdGhpcy5pbnRlbGxpZ2VudENodW5rU2l6ZSA9IHNpemU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBpbnRlbGxpZ2VudCBjaHVuayBzaXplXG4gICAqL1xuICBwdWJsaWMgZ2V0SW50ZWxsaWdlbnRDaHVua1NpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlbGxpZ2VudENodW5rU2l6ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGZpbGVzdGFjayB1cGxvYWQgdXJsXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBNdWx0aXBhcnRVcGxvYWRlclxuICAgKi9cbiAgcHVibGljIGdldFVybCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy51cmwpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcignVXBsb2FkIHVybCBub3Qgc2V0Jyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIFBhdXNlIHVwbG9hZCBxdWV1ZVxuICAgKlxuICAgKiBAbWVtYmVyb2YgTXVsdGlwYXJ0VXBsb2FkZXJcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBwYXVzZSgpOiB2b2lkO1xuICAvKipcbiAgICogcmVzdW1lIHVwbG9hZCBxdWV1ZSBpZiBpdHMgcGF1c2VkXG4gICAqXG4gICAqIEBtZW1iZXJvZiBNdWx0aXBhcnRVcGxvYWRlclxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlc3VtZSgpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBYm9ydHMgcXVldWUgKGFsbCBwZW5kaW5nIHJlcXVlc3RzIHdpdGggd2lsbCBiZSBhYm9ydGVkKVxuICAgKlxuICAgKiBAbWVtYmVyb2YgTXVsdGlwYXJ0VXBsb2FkZXJcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBhYm9ydChtc2c/OiBzdHJpbmcpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBhZGRGaWxlKGZpbGU6IEZpbGUpOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGFzeW5jIGV4ZWN1dGUoKTogUHJvbWlzZTxhbnk+O1xufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3VwbG9hZC91cGxvYWRlcnMvYWJzdHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLFlBQVksTUFBTSxlQUFlLENBQUM7QUFNekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUvRCxvQkFBb0I7QUFDcEIsTUFBTSxDQUFDLElBQU0saUJBQWlCLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFFakQsNENBQTRDO0FBQzVDLE1BQU0sQ0FBQyxJQUFNLGFBQWEsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUU3QywwRUFBMEU7QUFDMUUsTUFBTSxDQUFDLElBQU0sc0JBQXNCLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFFdEQsMkJBQTJCO0FBQzNCLE1BQU0sQ0FBQyxJQUFNLDZCQUE2QixHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFFekQsaUNBQWlDO0FBQ2pDLE1BQU0sQ0FBQyxJQUFNLGNBQWMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO0FBRXhDLE1BQU0sQ0FBQyxJQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQztBQUUzQyxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQVExQztJQUErQyxvQ0FBWTtJQXNCekQsMEJBQStCLFlBQWdDLEVBQXFCLFdBQXVCO1FBQXZCLDRCQUFBLEVBQUEsZUFBdUI7UUFBM0csWUFDRSxpQkFBTyxTQUNSO1FBRjhCLGtCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUFxQixpQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQXJCM0cscUJBQXFCO1FBQ1gsY0FBUSxHQUFXLGlCQUFp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ekMsS0FBSyxDQUFDLHVDQUFnQyxJQUFJLENBQUUsQ0FBQyxDQUFDO1FBQzlDLElBQUksSUFBSSxHQUFHLGNBQWMsRUFBRTtZQUN6QixNQUFNLElBQUksY0FBYyxDQUFDLDRDQUFxQyxjQUFjLENBQUUsQ0FBQyxDQUFDO1NBQ2pGO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxrREFBdUIsR0FBOUI7UUFDRSxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksaUNBQU0sR0FBYjtRQUNFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ2IsTUFBTSxJQUFJLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ2hEO1FBRUQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUF5QkgsdUJBQUM7QUFBRCxDQWhMQSxBQWdMQyxDQWhMOEMsWUFBWSxHQWdMMUQiLCJmaWxlIjoibGliL2FwaS91cGxvYWQvdXBsb2FkZXJzL2Fic3RyYWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCBEZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgRXZlbnRFbWl0dGVyIGZyb20gJ2V2ZW50ZW1pdHRlcjMnO1xuXG5pbXBvcnQgeyBGaWxlLCBVcGxvYWRUYWdzIH0gZnJvbSAnLi8uLi9maWxlJztcbmltcG9ydCB7IFN0b3JlVXBsb2FkT3B0aW9ucyB9IGZyb20gJy4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgU2VjdXJpdHkgfSBmcm9tICcuLy4uLy4uLy4uL2NsaWVudCc7XG5pbXBvcnQgeyBGc1JldHJ5Q29uZmlnIH0gZnJvbSAnLi8uLi8uLi8uLi9yZXF1ZXN0JztcbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAnLi8uLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBGaWxlc3RhY2tFcnJvciB9IGZyb20gJy4vLi4vLi4vLi4vLi4vZmlsZXN0YWNrX2Vycm9yJztcblxuLy8gcmVndWxhciBwYXJ0IHNpemVcbmV4cG9ydCBjb25zdCBERUZBVUxUX1BBUlRfU0laRSA9IDYgKiAxMDI0ICogMTAyNDtcblxuLy8gTWluaW11bSBwYXJ0IHNpemUgZm9yIHVwbG9hZCBieSBtdWx0aXBhcnRcbmV4cG9ydCBjb25zdCBNSU5fUEFSVF9TSVpFID0gNSAqIDEwMjQgKiAxMDI0O1xuXG4vLyB3aGVuIG1vZGUgaXMgc2V0IHRvIGZhbGxiYWNrIG9yIGludGVsbGlnZW50LCB0aGlzIHBhcnQgc2l6ZSBpcyByZXF1aXJlZFxuZXhwb3J0IGNvbnN0IElOVEVMTElHRU5UX0NIVU5LX1NJWkUgPSA4ICogMTAyNCAqIDEwMjQ7XG5cbi8vIE1vYmlsZSBDaHVuayBzaXplIGZvciBpaVxuZXhwb3J0IGNvbnN0IElOVEVMTElHRU5UX01PQklMRV9DSFVOS19TSVpFID0gMTAyNCAqIDEwMjQ7XG5cbi8vIG1pbmltdW0gaW50ZWxsaWdlbnQgY2h1bmsgc2l6ZVxuZXhwb3J0IGNvbnN0IE1JTl9DSFVOS19TSVpFID0gMzIgKiAxMDI0O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9TVE9SRV9MT0NBVElPTiA9ICdzMyc7XG5cbmNvbnN0IGRlYnVnID0gRGVidWcoJ2ZzOnVwbG9hZDphYnN0cmFjdCcpO1xuXG5leHBvcnQgY29uc3QgZW51bSBVcGxvYWRNb2RlIHtcbiAgREVGQVVMVCA9ICdkZWZhdWx0JyxcbiAgSU5URUxMSUdFTlQgPSAnaW50ZWxsaWdlbnQnLFxuICBGQUxMQkFDSyA9ICdmYWxsYmFjaycsXG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBVcGxvYWRlckFic3RyYWN0IGV4dGVuZHMgRXZlbnRFbWl0dGVyIHtcbiAgLy8gUGFydHMgc2l6ZSBvcHRpb25zXG4gIHByb3RlY3RlZCBwYXJ0U2l6ZTogbnVtYmVyID0gREVGQVVMVF9QQVJUX1NJWkU7XG5cbiAgLy8gY2h1bmsgc2l6ZSBmb3IgaWkgdXBsb2Fkc1xuICBwcm90ZWN0ZWQgaW50ZWxsaWdlbnRDaHVua1NpemU6IG51bWJlciA9IGlzTW9iaWxlKCkgPyBJTlRFTExJR0VOVF9NT0JJTEVfQ0hVTktfU0laRSA6IElOVEVMTElHRU5UX0NIVU5LX1NJWkU7XG5cbiAgLy8gdXBsb2FkIG9wdGlvbnNcbiAgcHJvdGVjdGVkIHVybDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgdGltZW91dDogbnVtYmVyID0gMzAgKiAxMDAwO1xuICBwcm90ZWN0ZWQgdXBsb2FkTW9kZTogVXBsb2FkTW9kZSA9IFVwbG9hZE1vZGUuREVGQVVMVDtcblxuICAvLyBhcHBsaWNhdGlvbiBzZXR0aW5nc1xuICBwcm90ZWN0ZWQgYXBpa2V5OiBzdHJpbmc7XG4gIHByb3RlY3RlZCBzZWN1cml0eTogU2VjdXJpdHk7XG5cbiAgcHJvdGVjdGVkIGlzTW9kZUxvY2tlZDogYm9vbGVhbiA9IGZhbHNlOyAvLyBpZiBhY2NvdW50IGRvZXMgbm90IHN1cHBvcnQgaWkgaW4gZmFsbGJhY2sgbW9kZSB3ZSBzaG91bGQgYWJvcnRcbiAgcHJvdGVjdGVkIHJldHJ5Q29uZmlnOiBGc1JldHJ5Q29uZmlnO1xuICBwcm90ZWN0ZWQgaW50ZWdyaXR5Q2hlY2s6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHByb3RlY3RlZCB1cGxvYWRUYWdzOiBVcGxvYWRUYWdzID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVhZG9ubHkgc3RvcmVPcHRpb25zOiBTdG9yZVVwbG9hZE9wdGlvbnMsIHByb3RlY3RlZCByZWFkb25seSBjb25jdXJyZW5jeTogbnVtYmVyID0gMykge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0U2VjdXJpdHkoc2VjdXJpdHk6IFNlY3VyaXR5KTogdm9pZCB7XG4gICAgZGVidWcoJ1NldCBzZWN1cml0eSAlTycsIHNlY3VyaXR5KTtcbiAgICB0aGlzLnNlY3VyaXR5ID0gc2VjdXJpdHk7XG4gIH1cblxuICBwdWJsaWMgc2V0QXBpa2V5KGFwaWtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgZGVidWcoYFNldCBhcGlrZXkgdG8gJHthcGlrZXl9YCk7XG4gICAgdGhpcy5hcGlrZXkgPSBhcGlrZXk7XG4gIH1cblxuICBwdWJsaWMgc2V0VGltZW91dCh0aW1lb3V0OiBudW1iZXIpOiB2b2lkIHtcbiAgICBkZWJ1ZyhgU2V0IHJlcXVlc3QgdGltZW91dCB0byAke3RpbWVvdXR9YCk7XG4gICAgdGhpcy50aW1lb3V0ID0gdGltZW91dDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRSZXRyeUNvbmZpZyhjZmc6IEZzUmV0cnlDb25maWcpIHtcbiAgICBkZWJ1ZyhgU2V0IHJldHJ5IGNvbmZpZyB0byAke2NmZ31gKTtcbiAgICB0aGlzLnJldHJ5Q29uZmlnID0gY2ZnO1xuICB9XG5cbiAgcHVibGljIHNldFVybCh1cmw6IHN0cmluZyk6IHZvaWQge1xuICAgIGRlYnVnKGBTZXQgdXBsb2FkIHVybCB0byAke3VybH1gKTtcbiAgICB0aGlzLnVybCA9IHVybDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRVcGxvYWRUYWdzKHRhZ3M6IFVwbG9hZFRhZ3MpIHtcbiAgICBkZWJ1ZyhgU2V0IHRhZ3MgdG8gJU9gLCB0YWdzKTtcbiAgICB0aGlzLnVwbG9hZFRhZ3MgPSB0YWdzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBzdGF0ZSBvZiBjaGVja2luZyBmaWxlIGludGVncml0eVxuICAgKiBAcGFyYW0gc3RhdGVcbiAgICovXG4gIHB1YmxpYyBzZXRJbnRlZ3JpdHlDaGVjayhzdGF0ZSkge1xuICAgIHRoaXMuaW50ZWdyaXR5Q2hlY2sgPSBzdGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHVwbG9hZCBtb2RlXG4gICAqXG4gICAqIEBwYXJhbSB7VXBsb2FkTW9kZX0gbW9kZVxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtsb2NrPWZhbHNlXVxuICAgKiBAcmV0dXJuc1xuICAgKiBAbWVtYmVyb2YgTXVsdGlwYXJ0VXBsb2FkZXJcbiAgICovXG4gIHB1YmxpYyBzZXRVcGxvYWRNb2RlKG1vZGU6IFVwbG9hZE1vZGUsIGxvY2s6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgIC8vIHRoaXMgc2hvdWxkbnQgaGFwcGVuZCBidXQgZm9yIHNhZmV0eSByZWFzb25zIGlmIHdpbGwgc3RheVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKHRoaXMuaXNNb2RlTG9ja2VkID09PSB0cnVlKSB7XG4gICAgICBkZWJ1ZyhgQ2Fubm90IHN3aXRjaCBtb2RlIHRvICR7bW9kZX0uIExvY2tlZCEgUHJvYmFibHkgbW9kZSBpcyBub3Qgc3VwcG9ydGVkIGF0IHRoaXMgYXBpa2V5YCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc01vZGVMb2NrZWQgPSBsb2NrO1xuXG4gICAgZGVidWcoYFNldCB1cGxvYWQgbW9kZSB0byAke21vZGV9YCk7XG5cbiAgICB0aGlzLnVwbG9hZE1vZGUgPSBtb2RlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB1cGxvYWQgcGFydCBzaXplXG4gICAqIGlmIHBhcnQgc2l6ZSBpcyBzbWFsbGVyIHRoYW4gbWluaW11bSA1bWIgaXQgd2lsbCB0aHJvdyBlcnJvclxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gc2l6ZVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICogQG1lbWJlcm9mIFMzVXBsb2FkZXJcbiAgICovXG4gIHB1YmxpYyBzZXRQYXJ0U2l6ZShzaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy51cGxvYWRNb2RlICE9PSBVcGxvYWRNb2RlLkRFRkFVTFQpIHtcbiAgICAgIGRlYnVnKCdDYW5ub3Qgc2V0IHBhcnQgc2l6ZSBiZWNhdXNlIHVwbG9hZCBtb2RlIGlzIG90aGVyIHRoYW4gZGVmYXVsdC4gJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGVidWcoYFNldCBwYXJ0IHNpemUgdG8gJHtzaXplfWApO1xuXG4gICAgaWYgKHNpemUgPCBNSU5fUEFSVF9TSVpFKSB7XG4gICAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoJ01pbmltdW0gcGFydCBzaXplIGlzIDVNQicpO1xuICAgIH1cblxuICAgIHRoaXMucGFydFNpemUgPSBzaXplO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgY3VycmVudCBwYXJ0IHNpemVcbiAgICovXG4gIHB1YmxpYyBnZXRQYXJ0U2l6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJ0U2l6ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgc3RhcnQgcGFydCBzaXplIGZvciBpaVxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gc2l6ZVxuICAgKiBAbWVtYmVyb2YgUzNVcGxvYWRlclxuICAgKi9cbiAgcHVibGljIHNldEludGVsbGlnZW50Q2h1bmtTaXplKHNpemU6IG51bWJlcik6IHZvaWQge1xuICAgIGRlYnVnKGBTZXQgaW50ZWxpZ2VudCBjaHVuayBzaXplIHRvICR7c2l6ZX1gKTtcbiAgICBpZiAoc2l6ZSA8IE1JTl9DSFVOS19TSVpFKSB7XG4gICAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoYE1pbmltdW0gaW50ZWxsaWdlbnQgY2h1bmsgc2l6ZSBpcyAke01JTl9DSFVOS19TSVpFfWApO1xuICAgIH1cbiAgICB0aGlzLmludGVsbGlnZW50Q2h1bmtTaXplID0gc2l6ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGludGVsbGlnZW50IGNodW5rIHNpemVcbiAgICovXG4gIHB1YmxpYyBnZXRJbnRlbGxpZ2VudENodW5rU2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmludGVsbGlnZW50Q2h1bmtTaXplO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgZmlsZXN0YWNrIHVwbG9hZCB1cmxcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHJldHVybnNcbiAgICogQG1lbWJlcm9mIE11bHRpcGFydFVwbG9hZGVyXG4gICAqL1xuICBwdWJsaWMgZ2V0VXJsKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnVybCkge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKCdVcGxvYWQgdXJsIG5vdCBzZXQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy51cmw7XG4gIH1cblxuICAvKipcbiAgICogUGF1c2UgdXBsb2FkIHF1ZXVlXG4gICAqXG4gICAqIEBtZW1iZXJvZiBNdWx0aXBhcnRVcGxvYWRlclxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHBhdXNlKCk6IHZvaWQ7XG4gIC8qKlxuICAgKiByZXN1bWUgdXBsb2FkIHF1ZXVlIGlmIGl0cyBwYXVzZWRcbiAgICpcbiAgICogQG1lbWJlcm9mIE11bHRpcGFydFVwbG9hZGVyXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVzdW1lKCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEFib3J0cyBxdWV1ZSAoYWxsIHBlbmRpbmcgcmVxdWVzdHMgd2l0aCB3aWxsIGJlIGFib3J0ZWQpXG4gICAqXG4gICAqIEBtZW1iZXJvZiBNdWx0aXBhcnRVcGxvYWRlclxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGFib3J0KG1zZz86IHN0cmluZyk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGFkZEZpbGUoZmlsZTogRmlsZSk6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZXhlY3V0ZSgpOiBQcm9taXNlPGFueT47XG59XG4iXX0=

@@ -83,3 +83,3 @@ /*

},
enumerable: true,
enumerable: false,
configurable: true

@@ -407,3 +407,3 @@ });

scope.setExtras({ uploadOptions: options, storeOptions: storeOptions, details: e.details });
e.message = "FS-" + e.message;
e.message = "FS-".concat(e.message);
Sentry.captureException(e);

@@ -477,2 +477,2 @@ });

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBUyxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBbUIsTUFBTSxFQUFFLFFBQVEsRUFBbUIsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEtBQUssS0FBSyxNQUFNLFNBQVMsQ0FBQztBQUNqQyxPQUFPLEVBQUUsTUFBTSxFQUE0RCxNQUFNLGNBQWMsQ0FBQztBQUNoRyxPQUFPLEVBQUUsT0FBTyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQXFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJN0UsT0FBTyxFQUFFLE1BQU0sRUFBaUMsTUFBTSxVQUFVLENBQUM7QUFFakUsMEJBQTBCO0FBQzFCLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxDQUFDLENBQUM7QUE2QzdFOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNIO0lBQTRCLDBCQUFZO0lBaUJ0QyxnQkFBWSxNQUFjLEVBQVUsT0FBdUI7UUFBM0QsWUFDRSxpQkFBTyxTQXNCUjtRQXZCbUMsYUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFabkQsbUJBQWEsR0FB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QztJQUNsQyxDQUFDO0lBQ0gsYUFBQztBQUFELENBOWJBLEFBOGJDLENBOWIyQixZQUFZLEdBOGJ2QyIsImZpbGUiOiJsaWIvY2xpZW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdldmVudGVtaXR0ZXIzJztcbmltcG9ydCAqIGFzIFNlbnRyeSBmcm9tICdAc2VudHJ5L21pbmltYWwnO1xuaW1wb3J0IHsgY29uZmlnLCBIb3N0cyB9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBGaWxlc3RhY2tFcnJvciB9IGZyb20gJy4vLi4vZmlsZXN0YWNrX2Vycm9yJztcbmltcG9ydCB7IG1ldGFkYXRhLCBNZXRhZGF0YU9wdGlvbnMsIHJlbW92ZSwgcmV0cmlldmUsIFJldHJpZXZlT3B0aW9ucywgZG93bmxvYWQgfSBmcm9tICcuL2FwaS9maWxlJztcbmltcG9ydCB7IHRyYW5zZm9ybSwgVHJhbnNmb3JtT3B0aW9ucyB9IGZyb20gJy4vYXBpL3RyYW5zZm9ybSc7XG5pbXBvcnQgeyBzdG9yZVVSTCB9IGZyb20gJy4vYXBpL3N0b3JlJztcbmltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgVXBsb2FkLCBJbnB1dEZpbGUsIFVwbG9hZE9wdGlvbnMsIFN0b3JlVXBsb2FkT3B0aW9ucywgVXBsb2FkVGFncyB9IGZyb20gJy4vYXBpL3VwbG9hZCc7XG5pbXBvcnQgeyBwcmV2aWV3LCBQcmV2aWV3T3B0aW9ucyB9IGZyb20gJy4vYXBpL3ByZXZpZXcnO1xuaW1wb3J0IHsgQ2xvdWRDbGllbnQgfSBmcm9tICcuL2FwaS9jbG91ZCc7XG5pbXBvcnQgeyBQcmVmZXRjaCwgUHJlZmV0Y2hSZXNwb25zZSwgUHJlZmV0Y2hPcHRpb25zIH0gZnJvbSAnLi9hcGkvcHJlZmV0Y2gnO1xuaW1wb3J0IHsgRnNSZXNwb25zZSB9IGZyb20gJy4vcmVxdWVzdC90eXBlcyc7XG5pbXBvcnQgeyBTdG9yZVBhcmFtcyB9IGZyb20gJy4vZmlsZWxpbmsnO1xuXG5pbXBvcnQgeyBwaWNrZXIsIFBpY2tlckluc3RhbmNlLCBQaWNrZXJPcHRpb25zIH0gZnJvbSAnLi9waWNrZXInO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuU2VudHJ5LmFkZEJyZWFkY3J1bWIoeyBjYXRlZ29yeTogJ3NkaycsIG1lc3NhZ2U6ICdmaWxlc3RhY2stanMtc2RrIHNjb3BlJyB9KTtcblxuZXhwb3J0IGludGVyZmFjZSBTZXNzaW9uIHtcbiAgYXBpa2V5OiBzdHJpbmc7XG4gIHVybHM6IEhvc3RzO1xuICBjbmFtZT86IHN0cmluZztcbiAgcG9saWN5Pzogc3RyaW5nO1xuICBzaWduYXR1cmU/OiBzdHJpbmc7XG4gIHByZWZldGNoPzogUHJlZmV0Y2hSZXNwb25zZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eSB7XG4gIHBvbGljeTogc3RyaW5nO1xuICBzaWduYXR1cmU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGllbnRPcHRpb25zIHtcbiAgW29wdGlvbjogc3RyaW5nXTogYW55O1xuICAvKipcbiAgICogU2VjdXJpdHkgb2JqZWN0IHdpdGggcG9saWN5IGFuZCBzaWduYXR1cmUga2V5cy5cbiAgICogQ2FuIGJlIHVzZWQgdG8gbGltaXQgY2xpZW50IGNhcGFiaWxpdGllcyBhbmQgcHJvdGVjdCBwdWJsaWMgVVJMcy5cbiAgICogSXQgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCB3aXRoIHNlcnZlci1zaWRlIHBvbGljeSBhbmQgc2lnbmF0dXJlIGdlbmVyYXRpb24uXG4gICAqIFJlYWQgYWJvdXQgW3NlY3VyaXR5IHBvbGljaWVzXShodHRwczovL3d3dy5maWxlc3RhY2suY29tL2RvY3MvY29uY2VwdHMvc2VjdXJpdHkpLlxuICAgKi9cbiAgc2VjdXJpdHk/OiBTZWN1cml0eTtcbiAgLyoqXG4gICAqIERvbWFpbiB0byB1c2UgZm9yIGFsbCBVUkxzLiBfX1JlcXVpcmVzIHRoZSBjdXN0b20gQ05BTUUgYWRkb25fXy5cbiAgICogSWYgdGhpcyBpcyBlbmFibGVkIHRoZW4geW91IG11c3QgYWxzbyBzZXQgdXAgeW91ciBvd24gT0F1dGggYXBwbGljYXRpb25zXG4gICAqIGZvciBlYWNoIGNsb3VkIHNvdXJjZSB5b3Ugd2lzaCB0byB1c2UgaW4gdGhlIHBpY2tlci5cbiAgICovXG4gIGNuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogRW5hYmxlL2Rpc2FibGUgY2FjaGluZyBvZiB0aGUgY2xvdWQgc2Vzc2lvbiB0b2tlbi4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICogVGhpcyBlbnN1cmVzIHRoYXQgdXNlcnMgd2lsbCBiZSByZW1lbWJlcmVkIG9uIHlvdXIgZG9tYWluIHdoZW4gY2FsbGluZyB0aGUgY2xvdWQgQVBJIGZyb20gdGhlIGJyb3dzZXIuXG4gICAqIFBsZWFzZSBiZSBhd2FyZSB0aGF0IHRva2VucyBzdG9yZWQgaW4gbG9jYWxTdG9yYWdlIGFyZSBhY2Nlc3NpYmxlIGJ5IG90aGVyIHNjcmlwdHMgb24gdGhlIHNhbWUgZG9tYWluLlxuICAgKi9cbiAgc2Vzc2lvbkNhY2hlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlIGZvcndhcmRpbmcgZXJyb3IgbG9ncyB0byBzZW50cnlcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGZvcndhcmRFcnJvcnM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoZSBGaWxlc3RhY2sgY2xpZW50LCB0aGUgZW50cnkgcG9pbnQgZm9yIGFsbCBwdWJsaWMgbWV0aG9kcy4gRW5jYXBzdWxhdGVzIHNlc3Npb24gaW5mb3JtYXRpb24uXG4gKlxuICogIyMjIEV4YW1wbGVcbiAqIGBgYGpzXG4gKiAvLyBFUyBtb2R1bGVcbiAqIGltcG9ydCAqIGFzIGZpbGVzdGFjayBmcm9tICdmaWxlc3RhY2stanMnO1xuICogY29uc3QgY2xpZW50ID0gZmlsZXN0YWNrLmluaXQoJ2FwaWtleScpO1xuICogYGBgXG4gKlxuICogYGBganNcbiAqIC8vIFVNRCBtb2R1bGUgaW4gYnJvd3NlclxuICogPHNjcmlwdCBzcmM9XCJodHRwczovL3N0YXRpYy5maWxlc3RhY2thcGkuY29tL2ZpbGVzdGFjay1qcy8zLngueC9maWxlc3RhY2subWluLmpzXCI+PC9zY3JpcHQ+XG4gKiBjb25zdCBjbGllbnQgPSBmaWxlc3RhY2suaW5pdCgnYXBpa2V5Jyk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIENsaWVudCBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG4gIHB1YmxpYyBzZXNzaW9uOiBTZXNzaW9uO1xuICBwcml2YXRlIGNsb3VkOiBDbG91ZENsaWVudDtcbiAgcHJpdmF0ZSBwcmVmZXRjaEluc3RhbmNlOiBQcmVmZXRjaDtcblxuICBwcml2YXRlIGZvcndhcmRFcnJvcnM6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGZpbGVzdGFjayB1dGlsc1xuICAgKlxuICAgKiBAcmVhZG9ubHlcbiAgICogQG1lbWJlcm9mIENsaWVudFxuICAgKi9cbiAgZ2V0IHV0aWxzKCkge1xuICAgIHJldHVybiBVdGlscztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGFwaWtleTogc3RyaW5nLCBwcml2YXRlIG9wdGlvbnM/OiBDbGllbnRPcHRpb25zKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuZm9yd2FyZEVycm9ycykge1xuICAgICAgdGhpcy5mb3J3YXJkRXJyb3JzID0gb3B0aW9ucy5mb3J3YXJkRXJyb3JzO1xuICAgIH1cblxuICAgIGlmICghYXBpa2V5IHx8IHR5cGVvZiBhcGlrZXkgIT09ICdzdHJpbmcnIHx8IGFwaWtleS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQW4gYXBpa2V5IGlzIHJlcXVpcmVkIHRvIGluaXRpYWxpemUgdGhlIEZpbGVzdGFjayBjbGllbnQnKTtcbiAgICB9XG4gICAgY29uc3QgeyB1cmxzIH0gPSBjb25maWc7XG4gICAgdGhpcy5zZXNzaW9uID0geyBhcGlrZXksIHVybHMgfTtcblxuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICBjb25zdCB7IGNuYW1lLCBzZWN1cml0eSB9ID0gb3B0aW9ucztcblxuICAgICAgdGhpcy5zZXRTZWN1cml0eShzZWN1cml0eSk7XG4gICAgICB0aGlzLnNldENuYW1lKGNuYW1lKTtcbiAgICB9XG5cbiAgICB0aGlzLnByZWZldGNoSW5zdGFuY2UgPSBuZXcgUHJlZmV0Y2godGhpcy5zZXNzaW9uKTtcbiAgICB0aGlzLmNsb3VkID0gbmV3IENsb3VkQ2xpZW50KHRoaXMuc2Vzc2lvbiwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogTWFrZSBiYXNpYyBwcmVmZXRjaCByZXF1ZXN0IHRvIGNoZWNrIHBlcm1pc3Npb25zXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICovXG4gIHByZWZldGNoKHBhcmFtczogUHJlZmV0Y2hPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucHJlZmV0Y2hJbnN0YW5jZS5nZXRDb25maWcocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgc2VjdXJpdHkgb2JqZWN0XG4gICAqXG4gICAqIEBwYXJhbSB7U2VjdXJpdHl9IHNlY3VyaXR5XG4gICAqIEBtZW1iZXJvZiBDbGllbnRcbiAgICovXG4gIHNldFNlY3VyaXR5KHNlY3VyaXR5OiBTZWN1cml0eSkge1xuICAgIGlmIChzZWN1cml0eSAmJiAhKHNlY3VyaXR5LnBvbGljeSAmJiBzZWN1cml0eS5zaWduYXR1cmUpKSB7XG4gICAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoJ0JvdGggcG9saWN5IGFuZCBzaWduYXR1cmUgYXJlIHJlcXVpcmVkIGZvciBjbGllbnQgc2VjdXJpdHknKTtcbiAgICB9XG5cbiAgICBpZiAoc2VjdXJpdHkgJiYgc2VjdXJpdHkucG9saWN5ICYmIHNlY3VyaXR5LnNpZ25hdHVyZSkge1xuICAgICAgdGhpcy5zZXNzaW9uLnBvbGljeSA9IHNlY3VyaXR5LnBvbGljeTtcbiAgICAgIHRoaXMuc2Vzc2lvbi5zaWduYXR1cmUgPSBzZWN1cml0eS5zaWduYXR1cmU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCBjdXN0b20gY25hbWVcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNuYW1lXG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBDbGllbnRcbiAgICovXG4gIHNldENuYW1lKGNuYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoIWNuYW1lIHx8IGNuYW1lLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2Vzc2lvbi5jbmFtZSA9IGNuYW1lO1xuICAgIHRoaXMuc2Vzc2lvbi51cmxzID0gVXRpbHMucmVzb2x2ZUhvc3QodGhpcy5zZXNzaW9uLnVybHMsIGNuYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhciBhbGwgY3VycmVudCBjbG91ZCBzZXNzaW9ucyBpbiB0aGUgcGlja2VyLlxuICAgKiBPcHRpb25hbGx5IHBhc3MgYSBjbG91ZCBzb3VyY2UgbmFtZSB0byBvbmx5IGxvZyBvdXQgb2YgdGhhdCBjbG91ZCBzb3VyY2UuXG4gICAqIFRoaXMgZXNzZW50aWFsbHkgY2xlYXJzIHRoZSBPQXV0aCBhdXRob3JpemF0aW9uIGNvZGVzIGZyb20gdGhlIEZpbGVzdGFjayBzZXNzaW9uLlxuICAgKiBAcGFyYW0gbmFtZSBPcHRpb25hbCBjbG91ZCBzb3VyY2UgbmFtZS5cbiAgICovXG4gIGxvZ291dChuYW1lPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xvdWQubG9nb3V0KG5hbWUpO1xuICB9XG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBkZXRhaWxlZCBkYXRhIG9mIHN0b3JlZCBmaWxlcy5cbiAgICpcbiAgICogIyMjIEV4YW1wbGVcbiAgICpcbiAgICogYGBganNcbiAgICogY2xpZW50XG4gICAqICAgLm1ldGFkYXRhKCdEQ0w1SzQ2RlMzT0l4YjVpdUtieScpXG4gICAqICAgLnRoZW4oKHJlcykgPT4ge1xuICAgKiAgICAgY29uc29sZS5sb2cocmVzKTtcbiAgICogICB9KVxuICAgKiAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAqICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgKiAgIH0pKTtcbiAgICogYGBgXG4gICAqIEBzZWUgW0ZpbGUgQVBJIC0gTWV0YWRhdGFdKGh0dHBzOi8vd3d3LmZpbGVzdGFjay5jb20vZG9jcy9hcGkvZmlsZSNtZXRhZGF0YSkuXG4gICAqIEBwYXJhbSBoYW5kbGUgVmFsaWQgRmlsZXN0YWNrIGhhbmRsZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgTWV0YWRhdGEgZmllbGRzIHRvIGVuYWJsZSBvbiByZXNwb25zZS5cbiAgICogQHBhcmFtIHNlY3VyaXR5IE9wdGlvbmFsIHNlY3VyaXR5IG92ZXJyaWRlLlxuICAgKi9cbiAgbWV0YWRhdGEoaGFuZGxlOiBzdHJpbmcsIG9wdGlvbnM/OiBNZXRhZGF0YU9wdGlvbnMsIHNlY3VyaXR5PzogU2VjdXJpdHkpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiBtZXRhZGF0YSh0aGlzLnNlc3Npb24sIGhhbmRsZSwgb3B0aW9ucywgc2VjdXJpdHkpO1xuICB9XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgYSBuZXcgcGlja2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcGlja2VyKG9wdGlvbnM/OiBQaWNrZXJPcHRpb25zKTogUGlja2VySW5zdGFuY2Uge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHBpY2tlcih0aGlzLCBvcHRpb25zKTtcbiAgfVxuICAvKipcbiAgICogVXNlZCBmb3Igdmlld2luZyBmaWxlcyB2aWEgRmlsZXN0YWNrIGhhbmRsZXMgb3Igc3RvcmFnZSBhbGlhc2VzLCBfX3JlcXVpcmVzIERvY3VtZW50IFZpZXdlciBhZGRvbiB0byB5b3VyIEZpbGVzdGFjayBhcHBsaWNhdGlvbl9fLlxuICAgKiBPcGVucyBkb2N1bWVudCB2aWV3ZXIgaW4gbmV3IHdpbmRvdyBpZiBpZCBvcHRpb24gaXMgbm90IHByb3ZpZGVkLlxuICAgKlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiAvLyA8ZGl2IGlkPVwicHJldmlld1wiPjwvZGl2PlxuICAgKlxuICAgKiBjbGllbnQucHJldmlldygnRENMNUs0NkZTM09JeGI1aXVLYnknLCB7IGlkOiAncHJldmlldycgfSk7XG4gICAqIGBgYFxuICAgKiBAcGFyYW0gaGFuZGxlIFZhbGlkIEZpbGVzdGFjayBoYW5kbGUuXG4gICAqIEBwYXJhbSBvcHRpb25zIFByZXZpZXcgb3B0aW9uc1xuICAgKi9cbiAgcHJldmlldyhoYW5kbGU6IHN0cmluZywgb3B0aW9ucz86IFByZXZpZXdPcHRpb25zKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gcHJldmlldyh0aGlzLnNlc3Npb24sIGhhbmRsZSwgb3B0aW9ucyk7XG4gIH1cbiAgLyoqXG4gICAqIFJlbW92ZSBhIGZpbGUgZnJvbSBzdG9yYWdlIGFuZCB0aGUgRmlsZXN0YWNrIHN5c3RlbS5cbiAgICpcbiAgICogX19SZXF1aXJlcyBhIHZhbGlkIHNlY3VyaXR5IHBvbGljeSBhbmQgc2lnbmF0dXJlX18uIFRoZSBwb2xpY3kgYW5kIHNpZ25hdHVyZSB3aWxsIGJlIHB1bGxlZCBmcm9tIHRoZSBjbGllbnQgc2Vzc2lvbiwgb3IgaXQgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCB0aGUgc2VjdXJpdHkgcGFyYW1ldGVyLlxuICAgKlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBjbGllbnRcbiAgICogICAucmVtb3ZlKCdEQ0w1SzQ2RlMzT0l4YjVpdUtieScpXG4gICAqICAgLnRoZW4oKHJlcykgPT4ge1xuICAgKiAgICAgY29uc29sZS5sb2cocmVzKTtcbiAgICogICB9KVxuICAgKiAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAqICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgKiAgIH0pKTtcbiAgICogYGBgXG4gICAqIEBzZWUgW0ZpbGUgQVBJIC0gRGVsZXRlXShodHRwczovL3d3dy5maWxlc3RhY2suY29tL2RvY3MvYXBpL2ZpbGUjZGVsZXRlKVxuICAgKiBAcGFyYW0gaGFuZGxlIFZhbGlkIEZpbGVzdGFjayBoYW5kbGUuXG4gICAqIEBwYXJhbSBzZWN1cml0eSBPcHRpb25hbCBzZWN1cml0eSBvdmVycmlkZS5cbiAgICovXG4gIHJlbW92ZShoYW5kbGU6IHN0cmluZywgc2VjdXJpdHk/OiBTZWN1cml0eSk6IFByb21pc2U8YW55PiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gcmVtb3ZlKHRoaXMuc2Vzc2lvbiwgaGFuZGxlLCBmYWxzZSwgc2VjdXJpdHkpO1xuICB9XG4gIC8qKlxuICAgKiBSZW1vdmUgYSBmaWxlICoqb25seSoqIGZyb20gdGhlIEZpbGVzdGFjayBzeXN0ZW0uIFRoZSBmaWxlIHJlbWFpbnMgaW4gc3RvcmFnZS5cbiAgICpcbiAgICogX19SZXF1aXJlcyBhIHZhbGlkIHNlY3VyaXR5IHBvbGljeSBhbmQgc2lnbmF0dXJlX18uIFRoZSBwb2xpY3kgYW5kIHNpZ25hdHVyZSB3aWxsIGJlIHB1bGxlZCBmcm9tIHRoZSBjbGllbnQgc2Vzc2lvbiwgb3IgaXQgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCB0aGUgc2VjdXJpdHkgcGFyYW1ldGVyLlxuICAgKlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBjbGllbnRcbiAgICogICAucmVtb3ZlTWV0YWRhdGEoJ0RDTDVLNDZGUzNPSXhiNWl1S2J5JylcbiAgICogICAudGhlbigocmVzKSA9PiB7XG4gICAqICAgICBjb25zb2xlLmxvZyhyZXMpO1xuICAgKiAgIH0pXG4gICAqICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICogICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAqICAgfSkpO1xuICAgKiBgYGBcbiAgICogQHNlZSBbRmlsZSBBUEkgLSBEZWxldGVdKGh0dHBzOi8vd3d3LmZpbGVzdGFjay5jb20vZG9jcy9hcGkvZmlsZSNkZWxldGUpXG4gICAqIEBwYXJhbSBoYW5kbGUgVmFsaWQgRmlsZXN0YWNrIGhhbmRsZS5cbiAgICogQHBhcmFtIHNlY3VyaXR5IE9wdGlvbmFsIHNlY3VyaXR5IG92ZXJyaWRlLlxuICAgKi9cbiAgcmVtb3ZlTWV0YWRhdGEoaGFuZGxlOiBzdHJpbmcsIHNlY3VyaXR5PzogU2VjdXJpdHkpOiBQcm9taXNlPGFueT4ge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHJlbW92ZSh0aGlzLnNlc3Npb24sIGhhbmRsZSwgdHJ1ZSwgc2VjdXJpdHkpO1xuICB9XG4gIC8qKlxuICAgKiBTdG9yZSBhIGZpbGUgZnJvbSBpdHMgVVJMLlxuICAgKlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBjbGllbnRcbiAgICogICAuc3RvcmVVUkwoJ2h0dHBzOi8vZDF3dHFhZmZhYWo2M3ouY2xvdWRmcm9udC5uZXQvaW1hZ2VzL05ZXzE5OV9FX29mX0hhbW1lcnRvd25fMjAxNC5qcGcnKVxuICAgKiAgIC50aGVuKHJlcyA9PiBjb25zb2xlLmxvZyhyZXMpKTtcbiAgICogYGBgXG4gICAqIEBzZWUgW0ZpbGUgQVBJIC0gU3RvcmVdKGh0dHBzOi8vd3d3LmZpbGVzdGFjay5jb20vZG9jcy9hcGkvZmlsZSNzdG9yZSlcbiAgICogQHBhcmFtIHVybCAgICAgICBWYWxpZCBVUkwgdG8gYSBmaWxlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAgIENvbmZpZ3VyZSBmaWxlIHN0b3JhZ2UuXG4gICAqIEBwYXJhbSB0b2tlbiAgICAgT3B0aW9uYWwgY29udHJvbCB0b2tlbiB0byBjYWxsIC5jYW5jZWwoKVxuICAgKiBAcGFyYW0gc2VjdXJpdHkgIE9wdGlvbmFsIHNlY3VyaXR5IG92ZXJyaWRlLlxuICAgKiBAcGFyYW0gdXBsb2FkVGFncyBPcHRpb25hbCB0YWdzIHZpc2libGUgaW4gd2ViaG9va3MuXG4gICAqIEBwYXJhbSBoZWFkZXJzICAgIE9wdGlvbmFsIGhlYWRlcnMgdG8gc2VuZFxuICAgKiBAcGFyYW0gd29ya2Zsb3dJZHMgICAgT3B0aW9uYWwgd29ya2Zsb3dJZHMgdG8gc2VuZFxuICAgKi9cbiAgc3RvcmVVUkwodXJsOiBzdHJpbmcsIHN0b3JlUGFyYW1zPzogU3RvcmVQYXJhbXMsIHRva2VuPzogYW55LCBzZWN1cml0eT86IFNlY3VyaXR5LCB1cGxvYWRUYWdzPzogVXBsb2FkVGFncywgaGVhZGVycz86IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9LCB3b3JrZmxvd0lkcz86IHN0cmluZ1tdKTogUHJvbWlzZTxPYmplY3Q+IHtcbiAgICByZXR1cm4gc3RvcmVVUkwoe1xuICAgICAgc2Vzc2lvbjogdGhpcy5zZXNzaW9uLFxuICAgICAgdXJsLFxuICAgICAgc3RvcmVQYXJhbXMsXG4gICAgICB0b2tlbixcbiAgICAgIHNlY3VyaXR5LFxuICAgICAgdXBsb2FkVGFncyxcbiAgICAgIGhlYWRlcnMsXG4gICAgICB3b3JrZmxvd0lkcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY2Nlc3MgZmlsZXMgdmlhIHRoZWlyIEZpbGVzdGFjayBoYW5kbGVzLlxuICAgKlxuICAgKiBJZiBoZWFkIG9wdGlvbiBpcyBwcm92aWRlZCAtIHJlcXVlc3QgaGVhZGVycyBhcmUgcmV0dXJuZWQgaW4gcHJvbWlzZVxuICAgKiBJZiBtZXRhZGF0YSBvcHRpb24gaXMgcHJvdmlkZWQgLSBtZXRhZGF0YSBvYmplY3QgaXMgcmV0dXJuZWQgaW4gcHJvbWlzZVxuICAgKiBPdGhlcndpc2UgZmlsZSBibG9iIGlzIHJldHVybmVkXG4gICAqIE1ldGFkYXRhIGFuZCBoZWFkIG9wdGlvbnMgY2Fubm90IGJlIG1peGVkXG4gICAqXG4gICAqICMjIyBFeGFtcGxlXG4gICAqXG4gICAqIGBgYGpzXG4gICAqIGNsaWVudC5yZXRyaWV2ZSgnZmlsZUhhbmRsZScsIHtcbiAgICogIG1ldGFkYXRhOiB0cnVlLFxuICAgKiB9KS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgKiAgY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgKiB9KS5jYXRjaCgoZXJyKSA9PiB7XG4gICAqICBjb25zb2xlLmVycm9yKGVycik7XG4gICAqIH0pXG4gICAqIGBgYFxuICAgKlxuICAgKiBAc2VlIFtGaWxlIEFQSSAtIERvd25sb2FkXShodHRwczovL3d3dy5maWxlc3RhY2suY29tL2RvY3MvYXBpL2ZpbGUjZG93bmxvYWQpXG4gICAqIEBkZXByZWNhdGVkIHVzZSBtZXRhZGF0YSBvciBkb3dubG9hZCBtZXRob2RzIGluc3RlYWRcbiAgICogQHBhcmFtIGhhbmRsZSAgICBWYWxpZCBmaWxlIGhhbmRsZVxuICAgKiBAcGFyYW0gb3B0aW9ucyAgIFJldHJpZXZlT3B0aW9uc1xuICAgKiBAcGFyYW0gc2VjdXJpdHkgIE9wdGlvbmFsIHNlY3VyaXR5IG92ZXJyaWRlLlxuICAgKiBAdGhyb3dzICAgICAgICAgIEVycm9yXG4gICAqL1xuICByZXRyaWV2ZShoYW5kbGU6IHN0cmluZywgb3B0aW9ucz86IFJldHJpZXZlT3B0aW9ucywgc2VjdXJpdHk/OiBTZWN1cml0eSk6IFByb21pc2U8T2JqZWN0IHwgQmxvYj4ge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHJldHJpZXZlKHRoaXMuc2Vzc2lvbiwgaGFuZGxlLCBvcHRpb25zLCBzZWN1cml0eSk7XG4gIH1cblxuICAvKipcbiAgICogRG93bmxvYWQgZmlsZSBieSBoYW5kbGVcbiAgICpcbiAgICpcbiAgICogIyMjIEJyb3dzZXIgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBjbGllbnQuZG93bmxvYWQoJ2ZpbGVIYW5kbGUnKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgKiBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcbiAgICogaW1nLnNyYyA9IFVSTC5jcmVhdGVPYmplY3RVUkwocmVzLmRhdGEpXG4gICAqIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW1nKTtcbiAgICogfSkuY2F0Y2goKGVycikgPT4ge1xuICAgKiAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgKiB9KVxuICAgKiBgYGBcbiAgICpcbiAgICogQHNlZSBbRmlsZSBBUEkgLSBEb3dubG9hZF0oaHR0cHM6Ly93d3cuZmlsZXN0YWNrLmNvbS9kb2NzL2FwaS9maWxlI2Rvd25sb2FkKVxuICAgKiBAcGFyYW0gaGFuZGxlICAgIFZhbGlkIGZpbGUgaGFuZGxlXG4gICAqIEB0aHJvd3MgICAgICAgICAgRXJyb3JcbiAgICovXG4gIGRvd25sb2FkKGhhbmRsZTogc3RyaW5nLCBzZWN1cml0eT86IFNlY3VyaXR5KTogUHJvbWlzZTxGc1Jlc3BvbnNlPiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gZG93bmxvYWQodGhpcy5zZXNzaW9uLCBoYW5kbGUsIHNlY3VyaXR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnRlcmZhY2UgdG8gdGhlIEZpbGVzdGFjayBbUHJvY2Vzc2luZyBBUEldKGh0dHBzOi8vd3d3LmZpbGVzdGFjay5jb20vZG9jcy9hcGkvcHJvY2Vzc2luZykuXG4gICAqIENvbnZlcnQgYSBVUkwsIGhhbmRsZSwgb3Igc3RvcmFnZSBhbGlhcyB0byBhbm90aGVyIFVSTCB3aGljaCBsaW5rcyB0byB0aGUgdHJhbnNmb3JtZWQgZmlsZS5cbiAgICogWW91IGNhbiBvcHRpb25hbGx5IHN0b3JlIHRoZSByZXR1cm5lZCBVUkwgd2l0aCBjbGllbnQuc3RvcmVVUkwuXG4gICAqXG4gICAqIFRyYW5zZm9ybSBwYXJhbXMgY2FuIGJlIHByb3ZpZGVkIGluIGNhbWVsQ2FzZSBvciBzbmFrZUNhc2Ugc3R5bGUgaWU6IHBhcnRpYWxfcGl4ZWxhdGUgb3IgcGFydGlhbFBpeGVsYXRlXG4gICAqXG4gICAqICMjIyBFeGFtcGxlXG4gICAqXG4gICAqIGBgYGpzXG4gICAqIGNvbnN0IHRyYW5zZm9ybWVkVXJsID0gY2xpZW50LnRyYW5zZm9ybSh1cmwsIHtcbiAgICogICBjcm9wOiB7XG4gICAqICAgICBkaW06IFt4LCB5LCB3aWR0aCwgaGVpZ2h0XSxcbiAgICogICB9LFxuICAgKiAgIHZpZ25ldHRlOiB7XG4gICAqICAgICBibHVybW9kZTogJ2dhdXNzaWFuJyxcbiAgICogICAgIGFtb3VudDogNTAsXG4gICAqICAgfSxcbiAgICogICBmbGlwOiB0cnVlLFxuICAgKiAgIHBhcnRpYWxfcGl4ZWxhdGU6IHtcbiAgICogICAgIG9iamVjdHM6IFtbMTAsIDIwLCAyMDAsIDI1MF0sIFsyNzUsIDkxLCA1MDAsIDU1N11dLFxuICAgKiAgIH0sXG4gICAqIH07XG4gICAqXG4gICAqIC8vIG9wdGlvbmFsbHkgc3RvcmUgdGhlIG5ldyBVUkxcbiAgICogY2xpZW50LnN0b3JlVVJMKHRyYW5zZm9ybWVkVXJsKS50aGVuKHJlcyA9PiBjb25zb2xlLmxvZyhyZXMpKTtcbiAgICogYGBgXG4gICAqIEBzZWUgW0ZpbGVzdGFjayBQcm9jZXNzaW5nIEFQSV0oaHR0cHM6Ly93d3cuZmlsZXN0YWNrLmNvbS9kb2NzL2FwaS9wcm9jZXNzaW5nKVxuICAgKiBAcGFyYW0gdXJsICAgICBTaW5nbGUgb3IgbXVsdGlwbGUgdmFsaWQgVVJMcyAoaHR0cChzKTovLyksIGZpbGUgaGFuZGxlcywgb3Igc3RvcmFnZSBhbGlhc2VzIChzcmM6Ly8pIHRvIGFuIGltYWdlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHNwZWNpZmllZCBieSB0aGlzIG9iamVjdC5cbiAgICogQHBhcmFtIGI2NCAgICAgVXNlIG5ldyBtb3JlIHNhZmUgZm9ybWF0IGZvciBnZW5lcmF0aW5nIHRyYW5zZm9ybXMgdXJsIChkZWZhdWx0PWZhbHNlKSBOb3RlOiBJZiB0aGVyZSB3aWxsIGJlIGFueSBpc3N1ZXMgd2l0aCB1cmwgcGxlYXNlIHRlc3QgaXQgd2l0aCBlbmFibGVkIGI2NCBzdXBwb3J0XG4gICAqIEByZXR1cm5zICAgICAgIEEgbmV3IFVSTCB0aGF0IHBvaW50cyB0byB0aGUgdHJhbnNmb3JtZWQgcmVzb3VyY2UuXG4gICAqL1xuICB0cmFuc2Zvcm0odXJsOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3B0aW9uczogVHJhbnNmb3JtT3B0aW9ucywgYjY0OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiB0cmFuc2Zvcm0odGhpcy5zZXNzaW9uLCB1cmwsIG9wdGlvbnMsIGI2NCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhdGVzIGEgbXVsdGktcGFydCB1cGxvYWQgZmxvdy4gVXNlIHRoaXMgZm9yIEZpbGVzdGFjayBDSU4gYW5kIEZJSSB1cGxvYWRzLlxuICAgKlxuICAgKiBJbiBOb2RlIHJ1bnRpbWVzIHRoZSBmaWxlIGFyZ3VtZW50IGlzIHRyZWF0ZWQgYXMgYSBmaWxlIHBhdGguXG4gICAqIFVwbG9hZGluZyBmcm9tIGEgTm9kZSBidWZmZXIgaXMgbm90IHlldCBpbXBsZW1lbnRlZC5cbiAgICpcbiAgICogIyMjIEV4YW1wbGVcbiAgICpcbiAgICogYGBganNcbiAgICogY29uc3QgdG9rZW4gPSB7fTtcbiAgICogY29uc3Qgb25SZXRyeSA9IChvYmopID0+IHtcbiAgICogICBjb25zb2xlLmxvZyhgUmV0cnlpbmcgJHtvYmoubG9jYXRpb259IGZvciAke29iai5maWxlbmFtZX0uIEF0dGVtcHQgJHtvYmouYXR0ZW1wdH0gb2YgMTAuYCk7XG4gICAqIH07XG4gICAqXG4gICAqIGNsaWVudC51cGxvYWQoZmlsZSwgeyBvblJldHJ5IH0sIHsgZmlsZW5hbWU6ICdmb29iYXIuanBnJyB9LCB0b2tlbilcbiAgICogICAudGhlbihyZXMgPT4gY29uc29sZS5sb2cocmVzKSk7XG4gICAqXG4gICAqIGNsaWVudC51cGxvYWQoe2ZpbGUsIG5hbWV9LCB7IG9uUmV0cnkgfSwgeyBmaWxlbmFtZTogJ2Zvb2Jhci5qcGcnIH0sIHRva2VuKVxuICAgKiAgIC50aGVuKHJlcyA9PiBjb25zb2xlLmxvZyhyZXMpKTtcbiAgICpcbiAgICogdG9rZW4ucGF1c2UoKTsgIC8vIFBhdXNlIGZsb3dcbiAgICogdG9rZW4ucmVzdW1lKCk7IC8vIFJlc3VtZSBmbG93XG4gICAqIHRva2VuLmNhbmNlbCgpOyAvLyBDYW5jZWwgZmxvdyAocmVqZWN0cylcbiAgICogYGBgXG4gICAqIEBwYXJhbSB7SW5wdXRGaWxlfSAgICBmaWxlICAgICAgICAgICBNdXN0IGJlIGEgdmFsaWQgW0ZpbGUgfCBCbG9iIHwgQnVmZmVyIHwgc3RyaW5nXVxuICAgKiBAcGFyYW0gdXBsb2FkT3B0aW9ucyAgVXBsb2FkZXIgb3B0aW9ucy5cbiAgICogQHBhcmFtIHN0b3JlT3B0aW9ucyAgIFN0b3JhZ2Ugb3B0aW9ucy5cbiAgICogQHBhcmFtIHRva2VuICAgICAgICAgIEEgY29udHJvbCB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIGNhbGwgY2FuY2VsKCksIHBhdXNlKCksIGFuZCByZXN1bWUoKS5cbiAgICogQHBhcmFtIHNlY3VyaXR5ICAgICAgIE9wdGlvbmFsIHNlY3VyaXR5IHBvbGljeSBhbmQgc2lnbmF0dXJlIG92ZXJyaWRlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZX1cbiAgICovXG4gIHVwbG9hZChmaWxlOiBJbnB1dEZpbGUsIG9wdGlvbnM/OiBVcGxvYWRPcHRpb25zLCBzdG9yZU9wdGlvbnM/OiBTdG9yZVVwbG9hZE9wdGlvbnMsIHRva2VuPzogYW55LCBzZWN1cml0eT86IFNlY3VyaXR5KSB7XG4gICAgbGV0IHVwbG9hZCA9IG5ldyBVcGxvYWQob3B0aW9ucywgc3RvcmVPcHRpb25zKTtcbiAgICB1cGxvYWQuc2V0U2Vzc2lvbih0aGlzLnNlc3Npb24pO1xuXG4gICAgaWYgKHRva2VuKSB7XG4gICAgICB1cGxvYWQuc2V0VG9rZW4odG9rZW4pO1xuICAgIH1cblxuICAgIGlmIChzZWN1cml0eSkge1xuICAgICAgdXBsb2FkLnNldFNlY3VyaXR5KHNlY3VyaXR5KTtcbiAgICB9XG5cbiAgICB1cGxvYWQub24oJ3N0YXJ0JywgKCkgPT4gdGhpcy5lbWl0KCd1cGxvYWQuc3RhcnQnKSk7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB1cGxvYWQub24oJ2Vycm9yJywgZSA9PiB7XG4gICAgICBpZiAodGhpcy5mb3J3YXJkRXJyb3JzKSB7XG4gICAgICAgIFNlbnRyeS53aXRoU2NvcGUoc2NvcGUgPT4ge1xuICAgICAgICAgIHNjb3BlLnNldFRhZygnZmlsZXN0YWNrLWFwaWtleScsIHRoaXMuc2Vzc2lvbi5hcGlrZXkpO1xuICAgICAgICAgIHNjb3BlLnNldFRhZygnZmlsZXN0YWNrLXZlcnNpb24nLCBVdGlscy5nZXRWZXJzaW9uKCkpO1xuICAgICAgICAgIHNjb3BlLnNldEV4dHJhKCdmaWxlc3RhY2stb3B0aW9ucycsIHRoaXMub3B0aW9ucyk7XG4gICAgICAgICAgc2NvcGUuc2V0RXh0cmFzKHsgdXBsb2FkT3B0aW9uczogb3B0aW9ucywgc3RvcmVPcHRpb25zLCBkZXRhaWxzOiBlLmRldGFpbHMgfSk7XG4gICAgICAgICAgZS5tZXNzYWdlID0gYEZTLSR7ZS5tZXNzYWdlfWA7XG5cbiAgICAgICAgICBTZW50cnkuY2FwdHVyZUV4Y2VwdGlvbihlKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZW1pdCgndXBsb2FkLmVycm9yJywgZSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdXBsb2FkLnVwbG9hZChmaWxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWF0ZXMgYSBtdWx0aS1wYXJ0IHVwbG9hZCBmbG93LiBVc2UgdGhpcyBmb3IgRmlsZXN0YWNrIENJTiBhbmQgRklJIHVwbG9hZHMuXG4gICAqXG4gICAqIEluIE5vZGUgcnVudGltZXMgdGhlIGZpbGUgYXJndW1lbnQgaXMgdHJlYXRlZCBhcyBhIGZpbGUgcGF0aC5cbiAgICogVXBsb2FkaW5nIGZyb20gYSBOb2RlIGJ1ZmZlciBpcyBub3QgeWV0IGltcGxlbWVudGVkLlxuICAgKlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBjb25zdCB0b2tlbiA9IHt9O1xuICAgKiBjb25zdCBvblJldHJ5ID0gKG9iaikgPT4ge1xuICAgKiAgIGNvbnNvbGUubG9nKGBSZXRyeWluZyAke29iai5sb2NhdGlvbn0gZm9yICR7b2JqLmZpbGVuYW1lfS4gQXR0ZW1wdCAke29iai5hdHRlbXB0fSBvZiAxMC5gKTtcbiAgICogfTtcbiAgICpcbiAgICogY2xpZW50Lm11bHRpdXBsb2FkKFtmaWxlXSwgeyBvblJldHJ5IH0sIHRva2VuKVxuICAgKiAgIC50aGVuKHJlcyA9PiBjb25zb2xlLmxvZyhyZXMpKTtcbiAgICpcbiAgICogY2xpZW50Lm11bHRpdXBsb2FkKFt7ZmlsZSwgbmFtZX1dLCB7IG9uUmV0cnkgfSwgdG9rZW4pXG4gICAqICAgLnRoZW4ocmVzID0+IGNvbnNvbGUubG9nKHJlcykpO1xuICAgKlxuICAgKiB0b2tlbi5wYXVzZSgpOyAgLy8gUGF1c2UgZmxvd1xuICAgKiB0b2tlbi5yZXN1bWUoKTsgLy8gUmVzdW1lIGZsb3dcbiAgICogdG9rZW4uY2FuY2VsKCk7IC8vIENhbmNlbCBmbG93IChyZWplY3RzKVxuICAgKiBgYGBcbiAgICogQHBhcmFtIHtJbnB1dEZpbGVbXX0gIGZpbGUgICAgICAgICAgIE11c3QgYmUgYSB2YWxpZCBbRmlsZSB8IEJsb2IgfCBCdWZmZXIgfCBzdHJpbmcgKGJhc2U2NCldXG4gICAqIEBwYXJhbSB1cGxvYWRPcHRpb25zICBVcGxvYWQgb3B0aW9ucy5cbiAgICogQHBhcmFtIHN0b3JlT3B0aW9ucyAgIFN0b3JhZ2Ugb3B0aW9ucy5cbiAgICogQHBhcmFtIHRva2VuICAgICAgICAgIEEgY29udHJvbCB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIGNhbGwgY2FuY2VsKCksIHBhdXNlKCksIGFuZCByZXN1bWUoKS5cbiAgICogQHBhcmFtIHNlY3VyaXR5ICAgICAgIE9wdGlvbmFsIHNlY3VyaXR5IHBvbGljeSBhbmQgc2lnbmF0dXJlIG92ZXJyaWRlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZX1cbiAgICovXG4gIG11bHRpdXBsb2FkKGZpbGU6IElucHV0RmlsZVtdLCBvcHRpb25zPzogVXBsb2FkT3B0aW9ucywgc3RvcmVPcHRpb25zPzogU3RvcmVVcGxvYWRPcHRpb25zLCB0b2tlbj86IGFueSwgc2VjdXJpdHk/OiBTZWN1cml0eSkge1xuICAgIGxldCB1cGxvYWQgPSBuZXcgVXBsb2FkKG9wdGlvbnMsIHN0b3JlT3B0aW9ucyk7XG5cbiAgICB1cGxvYWQuc2V0U2Vzc2lvbih0aGlzLnNlc3Npb24pO1xuXG4gICAgaWYgKHRva2VuKSB7XG4gICAgICB1cGxvYWQuc2V0VG9rZW4odG9rZW4pO1xuICAgIH1cblxuICAgIGlmIChzZWN1cml0eSkge1xuICAgICAgdXBsb2FkLnNldFNlY3VyaXR5KHNlY3VyaXR5KTtcbiAgICB9XG5cbiAgICB1cGxvYWQub24oJ3N0YXJ0JywgKCkgPT4gdGhpcy5lbWl0KCd1cGxvYWQuc3RhcnQnKSk7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB1cGxvYWQub24oJ2Vycm9yJywgZSA9PiB7XG4gICAgICBTZW50cnkud2l0aFNjb3BlKHNjb3BlID0+IHtcbiAgICAgICAgc2NvcGUuc2V0VGFnKCdmaWxlc3RhY2stYXBpa2V5JywgdGhpcy5zZXNzaW9uLmFwaWtleSk7XG4gICAgICAgIHNjb3BlLnNldFRhZygnZmlsZXN0YWNrLXZlcnNpb24nLCBVdGlscy5nZXRWZXJzaW9uKCkpO1xuICAgICAgICBzY29wZS5zZXRFeHRyYSgnZmlsZXN0YWNrLW9wdGlvbnMnLCB0aGlzLm9wdGlvbnMpO1xuICAgICAgICBzY29wZS5zZXRFeHRyYXMoZS5kZXRhaWxzKTtcbiAgICAgICAgc2NvcGUuc2V0RXh0cmFzKHsgdXBsb2FkT3B0aW9uczogb3B0aW9ucywgc3RvcmVPcHRpb25zIH0pO1xuICAgICAgICBTZW50cnkuY2FwdHVyZUV4Y2VwdGlvbihlKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmVtaXQoJ3VwbG9hZC5lcnJvcicsIGUpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHVwbG9hZC5tdWx0aXVwbG9hZChmaWxlKTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBUyxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBbUIsTUFBTSxFQUFFLFFBQVEsRUFBbUIsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEtBQUssS0FBSyxNQUFNLFNBQVMsQ0FBQztBQUNqQyxPQUFPLEVBQUUsTUFBTSxFQUE0RCxNQUFNLGNBQWMsQ0FBQztBQUNoRyxPQUFPLEVBQUUsT0FBTyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQXFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJN0UsT0FBTyxFQUFFLE1BQU0sRUFBaUMsTUFBTSxVQUFVLENBQUM7QUFFakUsMEJBQTBCO0FBQzFCLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxDQUFDLENBQUM7QUE2QzdFOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNIO0lBQTRCLDBCQUFZO0lBaUJ0QyxnQkFBWSxNQUFjLEVBQVUsT0FBdUI7UUFBM0QsWUFDRSxpQkFBTyxTQXNCUjtRQXZCbUMsYUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFabkQsbUJBQWEsR0FB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Q0FBQztRQUVILE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ0gsYUFBQztBQUFELENBOWJBLEFBOGJDLENBOWIyQixZQUFZLEdBOGJ2QyIsImZpbGUiOiJsaWIvY2xpZW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdldmVudGVtaXR0ZXIzJztcbmltcG9ydCAqIGFzIFNlbnRyeSBmcm9tICdAc2VudHJ5L21pbmltYWwnO1xuaW1wb3J0IHsgY29uZmlnLCBIb3N0cyB9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBGaWxlc3RhY2tFcnJvciB9IGZyb20gJy4vLi4vZmlsZXN0YWNrX2Vycm9yJztcbmltcG9ydCB7IG1ldGFkYXRhLCBNZXRhZGF0YU9wdGlvbnMsIHJlbW92ZSwgcmV0cmlldmUsIFJldHJpZXZlT3B0aW9ucywgZG93bmxvYWQgfSBmcm9tICcuL2FwaS9maWxlJztcbmltcG9ydCB7IHRyYW5zZm9ybSwgVHJhbnNmb3JtT3B0aW9ucyB9IGZyb20gJy4vYXBpL3RyYW5zZm9ybSc7XG5pbXBvcnQgeyBzdG9yZVVSTCB9IGZyb20gJy4vYXBpL3N0b3JlJztcbmltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgVXBsb2FkLCBJbnB1dEZpbGUsIFVwbG9hZE9wdGlvbnMsIFN0b3JlVXBsb2FkT3B0aW9ucywgVXBsb2FkVGFncyB9IGZyb20gJy4vYXBpL3VwbG9hZCc7XG5pbXBvcnQgeyBwcmV2aWV3LCBQcmV2aWV3T3B0aW9ucyB9IGZyb20gJy4vYXBpL3ByZXZpZXcnO1xuaW1wb3J0IHsgQ2xvdWRDbGllbnQgfSBmcm9tICcuL2FwaS9jbG91ZCc7XG5pbXBvcnQgeyBQcmVmZXRjaCwgUHJlZmV0Y2hSZXNwb25zZSwgUHJlZmV0Y2hPcHRpb25zIH0gZnJvbSAnLi9hcGkvcHJlZmV0Y2gnO1xuaW1wb3J0IHsgRnNSZXNwb25zZSB9IGZyb20gJy4vcmVxdWVzdC90eXBlcyc7XG5pbXBvcnQgeyBTdG9yZVBhcmFtcyB9IGZyb20gJy4vZmlsZWxpbmsnO1xuXG5pbXBvcnQgeyBwaWNrZXIsIFBpY2tlckluc3RhbmNlLCBQaWNrZXJPcHRpb25zIH0gZnJvbSAnLi9waWNrZXInO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuU2VudHJ5LmFkZEJyZWFkY3J1bWIoeyBjYXRlZ29yeTogJ3NkaycsIG1lc3NhZ2U6ICdmaWxlc3RhY2stanMtc2RrIHNjb3BlJyB9KTtcblxuZXhwb3J0IGludGVyZmFjZSBTZXNzaW9uIHtcbiAgYXBpa2V5OiBzdHJpbmc7XG4gIHVybHM6IEhvc3RzO1xuICBjbmFtZT86IHN0cmluZztcbiAgcG9saWN5Pzogc3RyaW5nO1xuICBzaWduYXR1cmU/OiBzdHJpbmc7XG4gIHByZWZldGNoPzogUHJlZmV0Y2hSZXNwb25zZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eSB7XG4gIHBvbGljeTogc3RyaW5nO1xuICBzaWduYXR1cmU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGllbnRPcHRpb25zIHtcbiAgW29wdGlvbjogc3RyaW5nXTogYW55O1xuICAvKipcbiAgICogU2VjdXJpdHkgb2JqZWN0IHdpdGggcG9saWN5IGFuZCBzaWduYXR1cmUga2V5cy5cbiAgICogQ2FuIGJlIHVzZWQgdG8gbGltaXQgY2xpZW50IGNhcGFiaWxpdGllcyBhbmQgcHJvdGVjdCBwdWJsaWMgVVJMcy5cbiAgICogSXQgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCB3aXRoIHNlcnZlci1zaWRlIHBvbGljeSBhbmQgc2lnbmF0dXJlIGdlbmVyYXRpb24uXG4gICAqIFJlYWQgYWJvdXQgW3NlY3VyaXR5IHBvbGljaWVzXShodHRwczovL3d3dy5maWxlc3RhY2suY29tL2RvY3MvY29uY2VwdHMvc2VjdXJpdHkpLlxuICAgKi9cbiAgc2VjdXJpdHk/OiBTZWN1cml0eTtcbiAgLyoqXG4gICAqIERvbWFpbiB0byB1c2UgZm9yIGFsbCBVUkxzLiBfX1JlcXVpcmVzIHRoZSBjdXN0b20gQ05BTUUgYWRkb25fXy5cbiAgICogSWYgdGhpcyBpcyBlbmFibGVkIHRoZW4geW91IG11c3QgYWxzbyBzZXQgdXAgeW91ciBvd24gT0F1dGggYXBwbGljYXRpb25zXG4gICAqIGZvciBlYWNoIGNsb3VkIHNvdXJjZSB5b3Ugd2lzaCB0byB1c2UgaW4gdGhlIHBpY2tlci5cbiAgICovXG4gIGNuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogRW5hYmxlL2Rpc2FibGUgY2FjaGluZyBvZiB0aGUgY2xvdWQgc2Vzc2lvbiB0b2tlbi4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICogVGhpcyBlbnN1cmVzIHRoYXQgdXNlcnMgd2lsbCBiZSByZW1lbWJlcmVkIG9uIHlvdXIgZG9tYWluIHdoZW4gY2FsbGluZyB0aGUgY2xvdWQgQVBJIGZyb20gdGhlIGJyb3dzZXIuXG4gICAqIFBsZWFzZSBiZSBhd2FyZSB0aGF0IHRva2VucyBzdG9yZWQgaW4gbG9jYWxTdG9yYWdlIGFyZSBhY2Nlc3NpYmxlIGJ5IG90aGVyIHNjcmlwdHMgb24gdGhlIHNhbWUgZG9tYWluLlxuICAgKi9cbiAgc2Vzc2lvbkNhY2hlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlIGZvcndhcmRpbmcgZXJyb3IgbG9ncyB0byBzZW50cnlcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGZvcndhcmRFcnJvcnM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoZSBGaWxlc3RhY2sgY2xpZW50LCB0aGUgZW50cnkgcG9pbnQgZm9yIGFsbCBwdWJsaWMgbWV0aG9kcy4gRW5jYXBzdWxhdGVzIHNlc3Npb24gaW5mb3JtYXRpb24uXG4gKlxuICogIyMjIEV4YW1wbGVcbiAqIGBgYGpzXG4gKiAvLyBFUyBtb2R1bGVcbiAqIGltcG9ydCAqIGFzIGZpbGVzdGFjayBmcm9tICdmaWxlc3RhY2stanMnO1xuICogY29uc3QgY2xpZW50ID0gZmlsZXN0YWNrLmluaXQoJ2FwaWtleScpO1xuICogYGBgXG4gKlxuICogYGBganNcbiAqIC8vIFVNRCBtb2R1bGUgaW4gYnJvd3NlclxuICogPHNjcmlwdCBzcmM9XCJodHRwczovL3N0YXRpYy5maWxlc3RhY2thcGkuY29tL2ZpbGVzdGFjay1qcy8zLngueC9maWxlc3RhY2subWluLmpzXCI+PC9zY3JpcHQ+XG4gKiBjb25zdCBjbGllbnQgPSBmaWxlc3RhY2suaW5pdCgnYXBpa2V5Jyk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIENsaWVudCBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG4gIHB1YmxpYyBzZXNzaW9uOiBTZXNzaW9uO1xuICBwcml2YXRlIGNsb3VkOiBDbG91ZENsaWVudDtcbiAgcHJpdmF0ZSBwcmVmZXRjaEluc3RhbmNlOiBQcmVmZXRjaDtcblxuICBwcml2YXRlIGZvcndhcmRFcnJvcnM6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGZpbGVzdGFjayB1dGlsc1xuICAgKlxuICAgKiBAcmVhZG9ubHlcbiAgICogQG1lbWJlcm9mIENsaWVudFxuICAgKi9cbiAgZ2V0IHV0aWxzKCkge1xuICAgIHJldHVybiBVdGlscztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGFwaWtleTogc3RyaW5nLCBwcml2YXRlIG9wdGlvbnM/OiBDbGllbnRPcHRpb25zKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuZm9yd2FyZEVycm9ycykge1xuICAgICAgdGhpcy5mb3J3YXJkRXJyb3JzID0gb3B0aW9ucy5mb3J3YXJkRXJyb3JzO1xuICAgIH1cblxuICAgIGlmICghYXBpa2V5IHx8IHR5cGVvZiBhcGlrZXkgIT09ICdzdHJpbmcnIHx8IGFwaWtleS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQW4gYXBpa2V5IGlzIHJlcXVpcmVkIHRvIGluaXRpYWxpemUgdGhlIEZpbGVzdGFjayBjbGllbnQnKTtcbiAgICB9XG4gICAgY29uc3QgeyB1cmxzIH0gPSBjb25maWc7XG4gICAgdGhpcy5zZXNzaW9uID0geyBhcGlrZXksIHVybHMgfTtcblxuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICBjb25zdCB7IGNuYW1lLCBzZWN1cml0eSB9ID0gb3B0aW9ucztcblxuICAgICAgdGhpcy5zZXRTZWN1cml0eShzZWN1cml0eSk7XG4gICAgICB0aGlzLnNldENuYW1lKGNuYW1lKTtcbiAgICB9XG5cbiAgICB0aGlzLnByZWZldGNoSW5zdGFuY2UgPSBuZXcgUHJlZmV0Y2godGhpcy5zZXNzaW9uKTtcbiAgICB0aGlzLmNsb3VkID0gbmV3IENsb3VkQ2xpZW50KHRoaXMuc2Vzc2lvbiwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogTWFrZSBiYXNpYyBwcmVmZXRjaCByZXF1ZXN0IHRvIGNoZWNrIHBlcm1pc3Npb25zXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICovXG4gIHByZWZldGNoKHBhcmFtczogUHJlZmV0Y2hPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucHJlZmV0Y2hJbnN0YW5jZS5nZXRDb25maWcocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgc2VjdXJpdHkgb2JqZWN0XG4gICAqXG4gICAqIEBwYXJhbSB7U2VjdXJpdHl9IHNlY3VyaXR5XG4gICAqIEBtZW1iZXJvZiBDbGllbnRcbiAgICovXG4gIHNldFNlY3VyaXR5KHNlY3VyaXR5OiBTZWN1cml0eSkge1xuICAgIGlmIChzZWN1cml0eSAmJiAhKHNlY3VyaXR5LnBvbGljeSAmJiBzZWN1cml0eS5zaWduYXR1cmUpKSB7XG4gICAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoJ0JvdGggcG9saWN5IGFuZCBzaWduYXR1cmUgYXJlIHJlcXVpcmVkIGZvciBjbGllbnQgc2VjdXJpdHknKTtcbiAgICB9XG5cbiAgICBpZiAoc2VjdXJpdHkgJiYgc2VjdXJpdHkucG9saWN5ICYmIHNlY3VyaXR5LnNpZ25hdHVyZSkge1xuICAgICAgdGhpcy5zZXNzaW9uLnBvbGljeSA9IHNlY3VyaXR5LnBvbGljeTtcbiAgICAgIHRoaXMuc2Vzc2lvbi5zaWduYXR1cmUgPSBzZWN1cml0eS5zaWduYXR1cmU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCBjdXN0b20gY25hbWVcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNuYW1lXG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBDbGllbnRcbiAgICovXG4gIHNldENuYW1lKGNuYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoIWNuYW1lIHx8IGNuYW1lLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2Vzc2lvbi5jbmFtZSA9IGNuYW1lO1xuICAgIHRoaXMuc2Vzc2lvbi51cmxzID0gVXRpbHMucmVzb2x2ZUhvc3QodGhpcy5zZXNzaW9uLnVybHMsIGNuYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhciBhbGwgY3VycmVudCBjbG91ZCBzZXNzaW9ucyBpbiB0aGUgcGlja2VyLlxuICAgKiBPcHRpb25hbGx5IHBhc3MgYSBjbG91ZCBzb3VyY2UgbmFtZSB0byBvbmx5IGxvZyBvdXQgb2YgdGhhdCBjbG91ZCBzb3VyY2UuXG4gICAqIFRoaXMgZXNzZW50aWFsbHkgY2xlYXJzIHRoZSBPQXV0aCBhdXRob3JpemF0aW9uIGNvZGVzIGZyb20gdGhlIEZpbGVzdGFjayBzZXNzaW9uLlxuICAgKiBAcGFyYW0gbmFtZSBPcHRpb25hbCBjbG91ZCBzb3VyY2UgbmFtZS5cbiAgICovXG4gIGxvZ291dChuYW1lPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xvdWQubG9nb3V0KG5hbWUpO1xuICB9XG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBkZXRhaWxlZCBkYXRhIG9mIHN0b3JlZCBmaWxlcy5cbiAgICpcbiAgICogIyMjIEV4YW1wbGVcbiAgICpcbiAgICogYGBganNcbiAgICogY2xpZW50XG4gICAqICAgLm1ldGFkYXRhKCdEQ0w1SzQ2RlMzT0l4YjVpdUtieScpXG4gICAqICAgLnRoZW4oKHJlcykgPT4ge1xuICAgKiAgICAgY29uc29sZS5sb2cocmVzKTtcbiAgICogICB9KVxuICAgKiAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAqICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgKiAgIH0pKTtcbiAgICogYGBgXG4gICAqIEBzZWUgW0ZpbGUgQVBJIC0gTWV0YWRhdGFdKGh0dHBzOi8vd3d3LmZpbGVzdGFjay5jb20vZG9jcy9hcGkvZmlsZSNtZXRhZGF0YSkuXG4gICAqIEBwYXJhbSBoYW5kbGUgVmFsaWQgRmlsZXN0YWNrIGhhbmRsZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgTWV0YWRhdGEgZmllbGRzIHRvIGVuYWJsZSBvbiByZXNwb25zZS5cbiAgICogQHBhcmFtIHNlY3VyaXR5IE9wdGlvbmFsIHNlY3VyaXR5IG92ZXJyaWRlLlxuICAgKi9cbiAgbWV0YWRhdGEoaGFuZGxlOiBzdHJpbmcsIG9wdGlvbnM/OiBNZXRhZGF0YU9wdGlvbnMsIHNlY3VyaXR5PzogU2VjdXJpdHkpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiBtZXRhZGF0YSh0aGlzLnNlc3Npb24sIGhhbmRsZSwgb3B0aW9ucywgc2VjdXJpdHkpO1xuICB9XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgYSBuZXcgcGlja2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcGlja2VyKG9wdGlvbnM/OiBQaWNrZXJPcHRpb25zKTogUGlja2VySW5zdGFuY2Uge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHBpY2tlcih0aGlzLCBvcHRpb25zKTtcbiAgfVxuICAvKipcbiAgICogVXNlZCBmb3Igdmlld2luZyBmaWxlcyB2aWEgRmlsZXN0YWNrIGhhbmRsZXMgb3Igc3RvcmFnZSBhbGlhc2VzLCBfX3JlcXVpcmVzIERvY3VtZW50IFZpZXdlciBhZGRvbiB0byB5b3VyIEZpbGVzdGFjayBhcHBsaWNhdGlvbl9fLlxuICAgKiBPcGVucyBkb2N1bWVudCB2aWV3ZXIgaW4gbmV3IHdpbmRvdyBpZiBpZCBvcHRpb24gaXMgbm90IHByb3ZpZGVkLlxuICAgKlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiAvLyA8ZGl2IGlkPVwicHJldmlld1wiPjwvZGl2PlxuICAgKlxuICAgKiBjbGllbnQucHJldmlldygnRENMNUs0NkZTM09JeGI1aXVLYnknLCB7IGlkOiAncHJldmlldycgfSk7XG4gICAqIGBgYFxuICAgKiBAcGFyYW0gaGFuZGxlIFZhbGlkIEZpbGVzdGFjayBoYW5kbGUuXG4gICAqIEBwYXJhbSBvcHRpb25zIFByZXZpZXcgb3B0aW9uc1xuICAgKi9cbiAgcHJldmlldyhoYW5kbGU6IHN0cmluZywgb3B0aW9ucz86IFByZXZpZXdPcHRpb25zKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gcHJldmlldyh0aGlzLnNlc3Npb24sIGhhbmRsZSwgb3B0aW9ucyk7XG4gIH1cbiAgLyoqXG4gICAqIFJlbW92ZSBhIGZpbGUgZnJvbSBzdG9yYWdlIGFuZCB0aGUgRmlsZXN0YWNrIHN5c3RlbS5cbiAgICpcbiAgICogX19SZXF1aXJlcyBhIHZhbGlkIHNlY3VyaXR5IHBvbGljeSBhbmQgc2lnbmF0dXJlX18uIFRoZSBwb2xpY3kgYW5kIHNpZ25hdHVyZSB3aWxsIGJlIHB1bGxlZCBmcm9tIHRoZSBjbGllbnQgc2Vzc2lvbiwgb3IgaXQgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCB0aGUgc2VjdXJpdHkgcGFyYW1ldGVyLlxuICAgKlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBjbGllbnRcbiAgICogICAucmVtb3ZlKCdEQ0w1SzQ2RlMzT0l4YjVpdUtieScpXG4gICAqICAgLnRoZW4oKHJlcykgPT4ge1xuICAgKiAgICAgY29uc29sZS5sb2cocmVzKTtcbiAgICogICB9KVxuICAgKiAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAqICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgKiAgIH0pKTtcbiAgICogYGBgXG4gICAqIEBzZWUgW0ZpbGUgQVBJIC0gRGVsZXRlXShodHRwczovL3d3dy5maWxlc3RhY2suY29tL2RvY3MvYXBpL2ZpbGUjZGVsZXRlKVxuICAgKiBAcGFyYW0gaGFuZGxlIFZhbGlkIEZpbGVzdGFjayBoYW5kbGUuXG4gICAqIEBwYXJhbSBzZWN1cml0eSBPcHRpb25hbCBzZWN1cml0eSBvdmVycmlkZS5cbiAgICovXG4gIHJlbW92ZShoYW5kbGU6IHN0cmluZywgc2VjdXJpdHk/OiBTZWN1cml0eSk6IFByb21pc2U8YW55PiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gcmVtb3ZlKHRoaXMuc2Vzc2lvbiwgaGFuZGxlLCBmYWxzZSwgc2VjdXJpdHkpO1xuICB9XG4gIC8qKlxuICAgKiBSZW1vdmUgYSBmaWxlICoqb25seSoqIGZyb20gdGhlIEZpbGVzdGFjayBzeXN0ZW0uIFRoZSBmaWxlIHJlbWFpbnMgaW4gc3RvcmFnZS5cbiAgICpcbiAgICogX19SZXF1aXJlcyBhIHZhbGlkIHNlY3VyaXR5IHBvbGljeSBhbmQgc2lnbmF0dXJlX18uIFRoZSBwb2xpY3kgYW5kIHNpZ25hdHVyZSB3aWxsIGJlIHB1bGxlZCBmcm9tIHRoZSBjbGllbnQgc2Vzc2lvbiwgb3IgaXQgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCB0aGUgc2VjdXJpdHkgcGFyYW1ldGVyLlxuICAgKlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBjbGllbnRcbiAgICogICAucmVtb3ZlTWV0YWRhdGEoJ0RDTDVLNDZGUzNPSXhiNWl1S2J5JylcbiAgICogICAudGhlbigocmVzKSA9PiB7XG4gICAqICAgICBjb25zb2xlLmxvZyhyZXMpO1xuICAgKiAgIH0pXG4gICAqICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICogICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAqICAgfSkpO1xuICAgKiBgYGBcbiAgICogQHNlZSBbRmlsZSBBUEkgLSBEZWxldGVdKGh0dHBzOi8vd3d3LmZpbGVzdGFjay5jb20vZG9jcy9hcGkvZmlsZSNkZWxldGUpXG4gICAqIEBwYXJhbSBoYW5kbGUgVmFsaWQgRmlsZXN0YWNrIGhhbmRsZS5cbiAgICogQHBhcmFtIHNlY3VyaXR5IE9wdGlvbmFsIHNlY3VyaXR5IG92ZXJyaWRlLlxuICAgKi9cbiAgcmVtb3ZlTWV0YWRhdGEoaGFuZGxlOiBzdHJpbmcsIHNlY3VyaXR5PzogU2VjdXJpdHkpOiBQcm9taXNlPGFueT4ge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHJlbW92ZSh0aGlzLnNlc3Npb24sIGhhbmRsZSwgdHJ1ZSwgc2VjdXJpdHkpO1xuICB9XG4gIC8qKlxuICAgKiBTdG9yZSBhIGZpbGUgZnJvbSBpdHMgVVJMLlxuICAgKlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBjbGllbnRcbiAgICogICAuc3RvcmVVUkwoJ2h0dHBzOi8vZDF3dHFhZmZhYWo2M3ouY2xvdWRmcm9udC5uZXQvaW1hZ2VzL05ZXzE5OV9FX29mX0hhbW1lcnRvd25fMjAxNC5qcGcnKVxuICAgKiAgIC50aGVuKHJlcyA9PiBjb25zb2xlLmxvZyhyZXMpKTtcbiAgICogYGBgXG4gICAqIEBzZWUgW0ZpbGUgQVBJIC0gU3RvcmVdKGh0dHBzOi8vd3d3LmZpbGVzdGFjay5jb20vZG9jcy9hcGkvZmlsZSNzdG9yZSlcbiAgICogQHBhcmFtIHVybCAgICAgICBWYWxpZCBVUkwgdG8gYSBmaWxlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAgIENvbmZpZ3VyZSBmaWxlIHN0b3JhZ2UuXG4gICAqIEBwYXJhbSB0b2tlbiAgICAgT3B0aW9uYWwgY29udHJvbCB0b2tlbiB0byBjYWxsIC5jYW5jZWwoKVxuICAgKiBAcGFyYW0gc2VjdXJpdHkgIE9wdGlvbmFsIHNlY3VyaXR5IG92ZXJyaWRlLlxuICAgKiBAcGFyYW0gdXBsb2FkVGFncyBPcHRpb25hbCB0YWdzIHZpc2libGUgaW4gd2ViaG9va3MuXG4gICAqIEBwYXJhbSBoZWFkZXJzICAgIE9wdGlvbmFsIGhlYWRlcnMgdG8gc2VuZFxuICAgKiBAcGFyYW0gd29ya2Zsb3dJZHMgICAgT3B0aW9uYWwgd29ya2Zsb3dJZHMgdG8gc2VuZFxuICAgKi9cbiAgc3RvcmVVUkwodXJsOiBzdHJpbmcsIHN0b3JlUGFyYW1zPzogU3RvcmVQYXJhbXMsIHRva2VuPzogYW55LCBzZWN1cml0eT86IFNlY3VyaXR5LCB1cGxvYWRUYWdzPzogVXBsb2FkVGFncywgaGVhZGVycz86IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9LCB3b3JrZmxvd0lkcz86IHN0cmluZ1tdKTogUHJvbWlzZTxPYmplY3Q+IHtcbiAgICByZXR1cm4gc3RvcmVVUkwoe1xuICAgICAgc2Vzc2lvbjogdGhpcy5zZXNzaW9uLFxuICAgICAgdXJsLFxuICAgICAgc3RvcmVQYXJhbXMsXG4gICAgICB0b2tlbixcbiAgICAgIHNlY3VyaXR5LFxuICAgICAgdXBsb2FkVGFncyxcbiAgICAgIGhlYWRlcnMsXG4gICAgICB3b3JrZmxvd0lkcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY2Nlc3MgZmlsZXMgdmlhIHRoZWlyIEZpbGVzdGFjayBoYW5kbGVzLlxuICAgKlxuICAgKiBJZiBoZWFkIG9wdGlvbiBpcyBwcm92aWRlZCAtIHJlcXVlc3QgaGVhZGVycyBhcmUgcmV0dXJuZWQgaW4gcHJvbWlzZVxuICAgKiBJZiBtZXRhZGF0YSBvcHRpb24gaXMgcHJvdmlkZWQgLSBtZXRhZGF0YSBvYmplY3QgaXMgcmV0dXJuZWQgaW4gcHJvbWlzZVxuICAgKiBPdGhlcndpc2UgZmlsZSBibG9iIGlzIHJldHVybmVkXG4gICAqIE1ldGFkYXRhIGFuZCBoZWFkIG9wdGlvbnMgY2Fubm90IGJlIG1peGVkXG4gICAqXG4gICAqICMjIyBFeGFtcGxlXG4gICAqXG4gICAqIGBgYGpzXG4gICAqIGNsaWVudC5yZXRyaWV2ZSgnZmlsZUhhbmRsZScsIHtcbiAgICogIG1ldGFkYXRhOiB0cnVlLFxuICAgKiB9KS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgKiAgY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgKiB9KS5jYXRjaCgoZXJyKSA9PiB7XG4gICAqICBjb25zb2xlLmVycm9yKGVycik7XG4gICAqIH0pXG4gICAqIGBgYFxuICAgKlxuICAgKiBAc2VlIFtGaWxlIEFQSSAtIERvd25sb2FkXShodHRwczovL3d3dy5maWxlc3RhY2suY29tL2RvY3MvYXBpL2ZpbGUjZG93bmxvYWQpXG4gICAqIEBkZXByZWNhdGVkIHVzZSBtZXRhZGF0YSBvciBkb3dubG9hZCBtZXRob2RzIGluc3RlYWRcbiAgICogQHBhcmFtIGhhbmRsZSAgICBWYWxpZCBmaWxlIGhhbmRsZVxuICAgKiBAcGFyYW0gb3B0aW9ucyAgIFJldHJpZXZlT3B0aW9uc1xuICAgKiBAcGFyYW0gc2VjdXJpdHkgIE9wdGlvbmFsIHNlY3VyaXR5IG92ZXJyaWRlLlxuICAgKiBAdGhyb3dzICAgICAgICAgIEVycm9yXG4gICAqL1xuICByZXRyaWV2ZShoYW5kbGU6IHN0cmluZywgb3B0aW9ucz86IFJldHJpZXZlT3B0aW9ucywgc2VjdXJpdHk/OiBTZWN1cml0eSk6IFByb21pc2U8T2JqZWN0IHwgQmxvYj4ge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHJldHJpZXZlKHRoaXMuc2Vzc2lvbiwgaGFuZGxlLCBvcHRpb25zLCBzZWN1cml0eSk7XG4gIH1cblxuICAvKipcbiAgICogRG93bmxvYWQgZmlsZSBieSBoYW5kbGVcbiAgICpcbiAgICpcbiAgICogIyMjIEJyb3dzZXIgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBjbGllbnQuZG93bmxvYWQoJ2ZpbGVIYW5kbGUnKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgKiBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcbiAgICogaW1nLnNyYyA9IFVSTC5jcmVhdGVPYmplY3RVUkwocmVzLmRhdGEpXG4gICAqIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW1nKTtcbiAgICogfSkuY2F0Y2goKGVycikgPT4ge1xuICAgKiAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgKiB9KVxuICAgKiBgYGBcbiAgICpcbiAgICogQHNlZSBbRmlsZSBBUEkgLSBEb3dubG9hZF0oaHR0cHM6Ly93d3cuZmlsZXN0YWNrLmNvbS9kb2NzL2FwaS9maWxlI2Rvd25sb2FkKVxuICAgKiBAcGFyYW0gaGFuZGxlICAgIFZhbGlkIGZpbGUgaGFuZGxlXG4gICAqIEB0aHJvd3MgICAgICAgICAgRXJyb3JcbiAgICovXG4gIGRvd25sb2FkKGhhbmRsZTogc3RyaW5nLCBzZWN1cml0eT86IFNlY3VyaXR5KTogUHJvbWlzZTxGc1Jlc3BvbnNlPiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gZG93bmxvYWQodGhpcy5zZXNzaW9uLCBoYW5kbGUsIHNlY3VyaXR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnRlcmZhY2UgdG8gdGhlIEZpbGVzdGFjayBbUHJvY2Vzc2luZyBBUEldKGh0dHBzOi8vd3d3LmZpbGVzdGFjay5jb20vZG9jcy9hcGkvcHJvY2Vzc2luZykuXG4gICAqIENvbnZlcnQgYSBVUkwsIGhhbmRsZSwgb3Igc3RvcmFnZSBhbGlhcyB0byBhbm90aGVyIFVSTCB3aGljaCBsaW5rcyB0byB0aGUgdHJhbnNmb3JtZWQgZmlsZS5cbiAgICogWW91IGNhbiBvcHRpb25hbGx5IHN0b3JlIHRoZSByZXR1cm5lZCBVUkwgd2l0aCBjbGllbnQuc3RvcmVVUkwuXG4gICAqXG4gICAqIFRyYW5zZm9ybSBwYXJhbXMgY2FuIGJlIHByb3ZpZGVkIGluIGNhbWVsQ2FzZSBvciBzbmFrZUNhc2Ugc3R5bGUgaWU6IHBhcnRpYWxfcGl4ZWxhdGUgb3IgcGFydGlhbFBpeGVsYXRlXG4gICAqXG4gICAqICMjIyBFeGFtcGxlXG4gICAqXG4gICAqIGBgYGpzXG4gICAqIGNvbnN0IHRyYW5zZm9ybWVkVXJsID0gY2xpZW50LnRyYW5zZm9ybSh1cmwsIHtcbiAgICogICBjcm9wOiB7XG4gICAqICAgICBkaW06IFt4LCB5LCB3aWR0aCwgaGVpZ2h0XSxcbiAgICogICB9LFxuICAgKiAgIHZpZ25ldHRlOiB7XG4gICAqICAgICBibHVybW9kZTogJ2dhdXNzaWFuJyxcbiAgICogICAgIGFtb3VudDogNTAsXG4gICAqICAgfSxcbiAgICogICBmbGlwOiB0cnVlLFxuICAgKiAgIHBhcnRpYWxfcGl4ZWxhdGU6IHtcbiAgICogICAgIG9iamVjdHM6IFtbMTAsIDIwLCAyMDAsIDI1MF0sIFsyNzUsIDkxLCA1MDAsIDU1N11dLFxuICAgKiAgIH0sXG4gICAqIH07XG4gICAqXG4gICAqIC8vIG9wdGlvbmFsbHkgc3RvcmUgdGhlIG5ldyBVUkxcbiAgICogY2xpZW50LnN0b3JlVVJMKHRyYW5zZm9ybWVkVXJsKS50aGVuKHJlcyA9PiBjb25zb2xlLmxvZyhyZXMpKTtcbiAgICogYGBgXG4gICAqIEBzZWUgW0ZpbGVzdGFjayBQcm9jZXNzaW5nIEFQSV0oaHR0cHM6Ly93d3cuZmlsZXN0YWNrLmNvbS9kb2NzL2FwaS9wcm9jZXNzaW5nKVxuICAgKiBAcGFyYW0gdXJsICAgICBTaW5nbGUgb3IgbXVsdGlwbGUgdmFsaWQgVVJMcyAoaHR0cChzKTovLyksIGZpbGUgaGFuZGxlcywgb3Igc3RvcmFnZSBhbGlhc2VzIChzcmM6Ly8pIHRvIGFuIGltYWdlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHNwZWNpZmllZCBieSB0aGlzIG9iamVjdC5cbiAgICogQHBhcmFtIGI2NCAgICAgVXNlIG5ldyBtb3JlIHNhZmUgZm9ybWF0IGZvciBnZW5lcmF0aW5nIHRyYW5zZm9ybXMgdXJsIChkZWZhdWx0PWZhbHNlKSBOb3RlOiBJZiB0aGVyZSB3aWxsIGJlIGFueSBpc3N1ZXMgd2l0aCB1cmwgcGxlYXNlIHRlc3QgaXQgd2l0aCBlbmFibGVkIGI2NCBzdXBwb3J0XG4gICAqIEByZXR1cm5zICAgICAgIEEgbmV3IFVSTCB0aGF0IHBvaW50cyB0byB0aGUgdHJhbnNmb3JtZWQgcmVzb3VyY2UuXG4gICAqL1xuICB0cmFuc2Zvcm0odXJsOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3B0aW9uczogVHJhbnNmb3JtT3B0aW9ucywgYjY0OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiB0cmFuc2Zvcm0odGhpcy5zZXNzaW9uLCB1cmwsIG9wdGlvbnMsIGI2NCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhdGVzIGEgbXVsdGktcGFydCB1cGxvYWQgZmxvdy4gVXNlIHRoaXMgZm9yIEZpbGVzdGFjayBDSU4gYW5kIEZJSSB1cGxvYWRzLlxuICAgKlxuICAgKiBJbiBOb2RlIHJ1bnRpbWVzIHRoZSBmaWxlIGFyZ3VtZW50IGlzIHRyZWF0ZWQgYXMgYSBmaWxlIHBhdGguXG4gICAqIFVwbG9hZGluZyBmcm9tIGEgTm9kZSBidWZmZXIgaXMgbm90IHlldCBpbXBsZW1lbnRlZC5cbiAgICpcbiAgICogIyMjIEV4YW1wbGVcbiAgICpcbiAgICogYGBganNcbiAgICogY29uc3QgdG9rZW4gPSB7fTtcbiAgICogY29uc3Qgb25SZXRyeSA9IChvYmopID0+IHtcbiAgICogICBjb25zb2xlLmxvZyhgUmV0cnlpbmcgJHtvYmoubG9jYXRpb259IGZvciAke29iai5maWxlbmFtZX0uIEF0dGVtcHQgJHtvYmouYXR0ZW1wdH0gb2YgMTAuYCk7XG4gICAqIH07XG4gICAqXG4gICAqIGNsaWVudC51cGxvYWQoZmlsZSwgeyBvblJldHJ5IH0sIHsgZmlsZW5hbWU6ICdmb29iYXIuanBnJyB9LCB0b2tlbilcbiAgICogICAudGhlbihyZXMgPT4gY29uc29sZS5sb2cocmVzKSk7XG4gICAqXG4gICAqIGNsaWVudC51cGxvYWQoe2ZpbGUsIG5hbWV9LCB7IG9uUmV0cnkgfSwgeyBmaWxlbmFtZTogJ2Zvb2Jhci5qcGcnIH0sIHRva2VuKVxuICAgKiAgIC50aGVuKHJlcyA9PiBjb25zb2xlLmxvZyhyZXMpKTtcbiAgICpcbiAgICogdG9rZW4ucGF1c2UoKTsgIC8vIFBhdXNlIGZsb3dcbiAgICogdG9rZW4ucmVzdW1lKCk7IC8vIFJlc3VtZSBmbG93XG4gICAqIHRva2VuLmNhbmNlbCgpOyAvLyBDYW5jZWwgZmxvdyAocmVqZWN0cylcbiAgICogYGBgXG4gICAqIEBwYXJhbSB7SW5wdXRGaWxlfSAgICBmaWxlICAgICAgICAgICBNdXN0IGJlIGEgdmFsaWQgW0ZpbGUgfCBCbG9iIHwgQnVmZmVyIHwgc3RyaW5nXVxuICAgKiBAcGFyYW0gdXBsb2FkT3B0aW9ucyAgVXBsb2FkZXIgb3B0aW9ucy5cbiAgICogQHBhcmFtIHN0b3JlT3B0aW9ucyAgIFN0b3JhZ2Ugb3B0aW9ucy5cbiAgICogQHBhcmFtIHRva2VuICAgICAgICAgIEEgY29udHJvbCB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIGNhbGwgY2FuY2VsKCksIHBhdXNlKCksIGFuZCByZXN1bWUoKS5cbiAgICogQHBhcmFtIHNlY3VyaXR5ICAgICAgIE9wdGlvbmFsIHNlY3VyaXR5IHBvbGljeSBhbmQgc2lnbmF0dXJlIG92ZXJyaWRlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZX1cbiAgICovXG4gIHVwbG9hZChmaWxlOiBJbnB1dEZpbGUsIG9wdGlvbnM/OiBVcGxvYWRPcHRpb25zLCBzdG9yZU9wdGlvbnM/OiBTdG9yZVVwbG9hZE9wdGlvbnMsIHRva2VuPzogYW55LCBzZWN1cml0eT86IFNlY3VyaXR5KSB7XG4gICAgbGV0IHVwbG9hZCA9IG5ldyBVcGxvYWQob3B0aW9ucywgc3RvcmVPcHRpb25zKTtcbiAgICB1cGxvYWQuc2V0U2Vzc2lvbih0aGlzLnNlc3Npb24pO1xuXG4gICAgaWYgKHRva2VuKSB7XG4gICAgICB1cGxvYWQuc2V0VG9rZW4odG9rZW4pO1xuICAgIH1cblxuICAgIGlmIChzZWN1cml0eSkge1xuICAgICAgdXBsb2FkLnNldFNlY3VyaXR5KHNlY3VyaXR5KTtcbiAgICB9XG5cbiAgICB1cGxvYWQub24oJ3N0YXJ0JywgKCkgPT4gdGhpcy5lbWl0KCd1cGxvYWQuc3RhcnQnKSk7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB1cGxvYWQub24oJ2Vycm9yJywgZSA9PiB7XG4gICAgICBpZiAodGhpcy5mb3J3YXJkRXJyb3JzKSB7XG4gICAgICAgIFNlbnRyeS53aXRoU2NvcGUoc2NvcGUgPT4ge1xuICAgICAgICAgIHNjb3BlLnNldFRhZygnZmlsZXN0YWNrLWFwaWtleScsIHRoaXMuc2Vzc2lvbi5hcGlrZXkpO1xuICAgICAgICAgIHNjb3BlLnNldFRhZygnZmlsZXN0YWNrLXZlcnNpb24nLCBVdGlscy5nZXRWZXJzaW9uKCkpO1xuICAgICAgICAgIHNjb3BlLnNldEV4dHJhKCdmaWxlc3RhY2stb3B0aW9ucycsIHRoaXMub3B0aW9ucyk7XG4gICAgICAgICAgc2NvcGUuc2V0RXh0cmFzKHsgdXBsb2FkT3B0aW9uczogb3B0aW9ucywgc3RvcmVPcHRpb25zLCBkZXRhaWxzOiBlLmRldGFpbHMgfSk7XG4gICAgICAgICAgZS5tZXNzYWdlID0gYEZTLSR7ZS5tZXNzYWdlfWA7XG5cbiAgICAgICAgICBTZW50cnkuY2FwdHVyZUV4Y2VwdGlvbihlKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZW1pdCgndXBsb2FkLmVycm9yJywgZSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdXBsb2FkLnVwbG9hZChmaWxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWF0ZXMgYSBtdWx0aS1wYXJ0IHVwbG9hZCBmbG93LiBVc2UgdGhpcyBmb3IgRmlsZXN0YWNrIENJTiBhbmQgRklJIHVwbG9hZHMuXG4gICAqXG4gICAqIEluIE5vZGUgcnVudGltZXMgdGhlIGZpbGUgYXJndW1lbnQgaXMgdHJlYXRlZCBhcyBhIGZpbGUgcGF0aC5cbiAgICogVXBsb2FkaW5nIGZyb20gYSBOb2RlIGJ1ZmZlciBpcyBub3QgeWV0IGltcGxlbWVudGVkLlxuICAgKlxuICAgKiAjIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBjb25zdCB0b2tlbiA9IHt9O1xuICAgKiBjb25zdCBvblJldHJ5ID0gKG9iaikgPT4ge1xuICAgKiAgIGNvbnNvbGUubG9nKGBSZXRyeWluZyAke29iai5sb2NhdGlvbn0gZm9yICR7b2JqLmZpbGVuYW1lfS4gQXR0ZW1wdCAke29iai5hdHRlbXB0fSBvZiAxMC5gKTtcbiAgICogfTtcbiAgICpcbiAgICogY2xpZW50Lm11bHRpdXBsb2FkKFtmaWxlXSwgeyBvblJldHJ5IH0sIHRva2VuKVxuICAgKiAgIC50aGVuKHJlcyA9PiBjb25zb2xlLmxvZyhyZXMpKTtcbiAgICpcbiAgICogY2xpZW50Lm11bHRpdXBsb2FkKFt7ZmlsZSwgbmFtZX1dLCB7IG9uUmV0cnkgfSwgdG9rZW4pXG4gICAqICAgLnRoZW4ocmVzID0+IGNvbnNvbGUubG9nKHJlcykpO1xuICAgKlxuICAgKiB0b2tlbi5wYXVzZSgpOyAgLy8gUGF1c2UgZmxvd1xuICAgKiB0b2tlbi5yZXN1bWUoKTsgLy8gUmVzdW1lIGZsb3dcbiAgICogdG9rZW4uY2FuY2VsKCk7IC8vIENhbmNlbCBmbG93IChyZWplY3RzKVxuICAgKiBgYGBcbiAgICogQHBhcmFtIHtJbnB1dEZpbGVbXX0gIGZpbGUgICAgICAgICAgIE11c3QgYmUgYSB2YWxpZCBbRmlsZSB8IEJsb2IgfCBCdWZmZXIgfCBzdHJpbmcgKGJhc2U2NCldXG4gICAqIEBwYXJhbSB1cGxvYWRPcHRpb25zICBVcGxvYWQgb3B0aW9ucy5cbiAgICogQHBhcmFtIHN0b3JlT3B0aW9ucyAgIFN0b3JhZ2Ugb3B0aW9ucy5cbiAgICogQHBhcmFtIHRva2VuICAgICAgICAgIEEgY29udHJvbCB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIGNhbGwgY2FuY2VsKCksIHBhdXNlKCksIGFuZCByZXN1bWUoKS5cbiAgICogQHBhcmFtIHNlY3VyaXR5ICAgICAgIE9wdGlvbmFsIHNlY3VyaXR5IHBvbGljeSBhbmQgc2lnbmF0dXJlIG92ZXJyaWRlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZX1cbiAgICovXG4gIG11bHRpdXBsb2FkKGZpbGU6IElucHV0RmlsZVtdLCBvcHRpb25zPzogVXBsb2FkT3B0aW9ucywgc3RvcmVPcHRpb25zPzogU3RvcmVVcGxvYWRPcHRpb25zLCB0b2tlbj86IGFueSwgc2VjdXJpdHk/OiBTZWN1cml0eSkge1xuICAgIGxldCB1cGxvYWQgPSBuZXcgVXBsb2FkKG9wdGlvbnMsIHN0b3JlT3B0aW9ucyk7XG5cbiAgICB1cGxvYWQuc2V0U2Vzc2lvbih0aGlzLnNlc3Npb24pO1xuXG4gICAgaWYgKHRva2VuKSB7XG4gICAgICB1cGxvYWQuc2V0VG9rZW4odG9rZW4pO1xuICAgIH1cblxuICAgIGlmIChzZWN1cml0eSkge1xuICAgICAgdXBsb2FkLnNldFNlY3VyaXR5KHNlY3VyaXR5KTtcbiAgICB9XG5cbiAgICB1cGxvYWQub24oJ3N0YXJ0JywgKCkgPT4gdGhpcy5lbWl0KCd1cGxvYWQuc3RhcnQnKSk7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB1cGxvYWQub24oJ2Vycm9yJywgZSA9PiB7XG4gICAgICBTZW50cnkud2l0aFNjb3BlKHNjb3BlID0+IHtcbiAgICAgICAgc2NvcGUuc2V0VGFnKCdmaWxlc3RhY2stYXBpa2V5JywgdGhpcy5zZXNzaW9uLmFwaWtleSk7XG4gICAgICAgIHNjb3BlLnNldFRhZygnZmlsZXN0YWNrLXZlcnNpb24nLCBVdGlscy5nZXRWZXJzaW9uKCkpO1xuICAgICAgICBzY29wZS5zZXRFeHRyYSgnZmlsZXN0YWNrLW9wdGlvbnMnLCB0aGlzLm9wdGlvbnMpO1xuICAgICAgICBzY29wZS5zZXRFeHRyYXMoZS5kZXRhaWxzKTtcbiAgICAgICAgc2NvcGUuc2V0RXh0cmFzKHsgdXBsb2FkT3B0aW9uczogb3B0aW9ucywgc3RvcmVPcHRpb25zIH0pO1xuICAgICAgICBTZW50cnkuY2FwdHVyZUV4Y2VwdGlvbihlKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmVtaXQoJ3VwbG9hZC5lcnJvcicsIGUpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHVwbG9hZC5tdWx0aXVwbG9hZChmaWxlKTtcbiAgfVxufVxuIl19

@@ -234,3 +234,3 @@ import { __awaiter, __generator } from "tslib";

token = {};
spyOn(Upload.prototype, 'upload').and.returnValue(Promise.resolve());
jest.spyOn(Upload.prototype, 'upload').mockImplementation(function () { return Promise.resolve(); });
return [4 /*yield*/, client.upload(file, uploadOptions, storeOptions, token, defaultSecurity)];

@@ -259,3 +259,3 @@ case 1:

storeOptions = {};
spyOn(Upload.prototype, 'upload').and.returnValue(Promise.resolve());
jest.spyOn(Upload.prototype, 'upload').mockImplementation(function () { return Promise.resolve(); });
return [4 /*yield*/, client.upload(file, uploadOptions, storeOptions)];

@@ -305,3 +305,3 @@ case 1:

token = {};
spyOn(Upload.prototype, 'multiupload').and.returnValue(Promise.resolve());
jest.spyOn(Upload.prototype, 'multiupload').mockImplementation(function () { return Promise.resolve(); });
return [4 /*yield*/, client.multiupload(files, uploadOptions, storeOptions, token, defaultSecurity)];

@@ -330,3 +330,3 @@ case 1:

storeOptions = {};
spyOn(Upload.prototype, 'multiupload').and.returnValue(Promise.resolve());
jest.spyOn(Upload.prototype, 'multiupload').mockImplementation(function () { return Promise.resolve(); });
return [4 /*yield*/, client.multiupload(files, uploadOptions, storeOptions)];

@@ -354,3 +354,3 @@ case 1:

token = {};
spyOn(Upload.prototype, 'multiupload').and.returnValue(Promise.resolve());
jest.spyOn(Upload.prototype, 'multiupload').mockImplementation(function () { return Promise.resolve(); });
mockOnError = jest.fn().mockName('mockOnError');

@@ -370,2 +370,2 @@ test = new FilestackError('test');

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY2xpZW50LnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUU3QixRQUFRLENBQUMsUUFBUSxFQUFFO0lBQ2pCLElBQU0sYUFBYSxHQUFHLGlCQUFpQixDQUFDO0lBQ3hDLElBQU0s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QUVILEVBQUUsQ0FBQyxtQ0FBbUMsRUFBRTs7Ozs7b0JBQ2hDLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDbkMsS0FBSyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQ3BCLGFBQWEsR0FBRyxFQUFFLENBQUM7b0JBQ25CLFlBQVksR0FBRyxFQUFFLENBQUM7b0JBQ2xCLEtBQUssR0FBRyxFQUFFLENBQUM7b0JBRWpCLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7b0JBRXBFLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO29CQUVoRCxJQUFJLEdBQUcsSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBRXhDLE1BQU0sQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQyxDQUFDO29CQUV2QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsa0JBQWtCLENBQUMsVUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBVSxPQUFBLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBUixDQUFRLENBQUMsQ0FBQztvQkFFeEYscUJBQU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsZUFBZSxDQUFDLEVBQUE7O29CQUFwRixTQUFvRixDQUFDO29CQUVyRixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7Ozs7U0FDaEQsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL2NsaWVudC5zcGVjLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yIH0gZnJvbSAnLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi8uLi9jb25maWcnO1xuaW1wb3J0IHsgQ2xpZW50IH0gZnJvbSAnLi9jbGllbnQnO1xuaW1wb3J0IHsgQ2xvdWRDbGllbnQgfSBmcm9tICcuL2FwaS9jbG91ZCc7XG5pbXBvcnQgeyBVcGxvYWQgfSBmcm9tICcuL2FwaS91cGxvYWQvdXBsb2FkJztcbmltcG9ydCB7IHBpY2tlciB9IGZyb20gJy4vcGlja2VyJztcbmltcG9ydCB7IHByZXZpZXcgfSBmcm9tICcuL2FwaS9wcmV2aWV3JztcbmltcG9ydCB7IG1ldGFkYXRhLCByZW1vdmUsIHJldHJpZXZlIH0gZnJvbSAnLi9hcGkvZmlsZSc7XG5pbXBvcnQgeyBzdG9yZVVSTCB9IGZyb20gJy4vYXBpL3N0b3JlJztcbmltcG9ydCB7IHRyYW5zZm9ybSB9IGZyb20gJy4vYXBpL3RyYW5zZm9ybSc7XG5cbmplc3QubW9jaygnLi9hcGkvdXBsb2FkL3VwbG9hZCcpO1xuamVzdC5tb2NrKCcuL2FwaS9jbG91ZCcpO1xuamVzdC5tb2NrKCcuL2FwaS9maWxlJyk7XG5qZXN0Lm1vY2soJy4vYXBpL3N0b3JlJyk7XG5qZXN0Lm1vY2soJy4vcGlja2VyJyk7XG5qZXN0Lm1vY2soJy4vYXBpL3ByZXZpZXcnKTtcbmplc3QubW9jaygnLi9hcGkvdHJhbnNmb3JtJyk7XG5cbmRlc2NyaWJlKCdjbGllbnQnLCAoKSA9PiB7XG4gIGNvbnN0IGRlZmF1bHRBcGlrZXkgPSAnRVhBTVBMRV9BUElfS0VZJztcbiAgY29uc3QgZGVmYXVsdEhhbmRsZSA9ICdFWEFNUExFX0hBTkRMRSc7XG4gIGNvbnN0IGRlZmF1bHRTZWN1cml0eSA9IHtcbiAgICBwb2xpY3k6ICdleGFtcGxlUG9saWN5JyxcbiAgICBzaWduYXR1cmU6ICdleGFtcGxlU2lnbmF0dXJlJyxcbiAgfTtcblxuICBjb25zdCBzZXNzaW9uVVJscyA9IGNvbmZpZy51cmxzO1xuICBjb25zdCBkZWZhdWx0U2Vzc2lvbiA9IHtcbiAgICBhcGlrZXk6IGRlZmF1bHRBcGlrZXksXG4gICAgdXJsczogc2Vzc2lvblVSbHMsXG4gIH07XG5cbiAgaXQoJ3Nob3VsZCBwcm9wZXJseSBpbnN0YW50aWF0ZSBDbGllbnQnLCAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBleHBlY3QoY2xpZW50KS50b0JlRGVmaW5lZCgpO1xuICAgIGV4cGVjdChjbGllbnQpLnRvQmVJbnN0YW5jZU9mKENsaWVudCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3IgaWYgYXBpIGtleSBub3QgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgZXhwZWN0KCgpID0+IHtcbiAgICAgIHJldHVybiBuZXcgQ2xpZW50KCcnKTtcbiAgICB9KS50b1Rocm93KCdBbiBhcGlrZXkgaXMgcmVxdWlyZWQgdG8gaW5pdGlhbGl6ZSB0aGUgRmlsZXN0YWNrIGNsaWVudCcpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIGlmIHByb3ZpZGVkIHNlY3VyaXR5IHdpdGhvdXQgc2lnbmF0dXJlJywgKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBzZWN1cml0eToge1xuICAgICAgICBwb2xpY3k6ICdleGFtcGxlUG9saWN5JyxcbiAgICAgICAgc2lnbmF0dXJlOiAnJyxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSwgb3B0aW9ucyk7XG4gICAgfSkudG9UaHJvdygnQm90aCBwb2xpY3kgYW5kIHNpZ25hdHVyZSBhcmUgcmVxdWlyZWQgZm9yIGNsaWVudCBzZWN1cml0eScpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHBhc3MgcG9saWN5ICYgc2lnbmF0dXJlIHRvIHRoZSBzZXNzaW9uJywgKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBzZWN1cml0eTogZGVmYXVsdFNlY3VyaXR5LFxuICAgIH07XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5LCBvcHRpb25zKTtcbiAgICBleHBlY3QoY2xpZW50LnNlc3Npb24ucG9saWN5KS50b0JlKG9wdGlvbnMuc2VjdXJpdHkucG9saWN5KTtcbiAgICBleHBlY3QoY2xpZW50LnNlc3Npb24uc2lnbmF0dXJlKS50b0JlKG9wdGlvbnMuc2VjdXJpdHkuc2lnbmF0dXJlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBwYXNzIGNuYW1lIHRvIHRoZSBzZXNzaW9uJywgKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBjbmFtZTogJ3Rlc3RDbmFtZS5jb20nLFxuICAgIH07XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5LCBvcHRpb25zKTtcbiAgICBleHBlY3QoY2xpZW50LnNlc3Npb24uY25hbWUpLnRvQmUob3B0aW9ucy5jbmFtZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byBsb2dvdXQgZm9yIHByb3ZpZWQgY2xvdWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCBjbG91ZE5hbWUgPSAnZHJvcGJveCc7XG4gICAgYXdhaXQgY2xpZW50LmxvZ291dChjbG91ZE5hbWUpO1xuXG4gICAgZXhwZWN0KENsb3VkQ2xpZW50LnByb3RvdHlwZS5sb2dvdXQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGNsb3VkTmFtZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZ2V0IG1ldGFkYXRhIGZvciBhIHByb3ZpZGVkIGhhbmRsZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBzaGEyMjQ6IHRydWUsXG4gICAgfTtcblxuICAgIGF3YWl0IGNsaWVudC5tZXRhZGF0YShkZWZhdWx0SGFuZGxlLCBvcHRpb25zLCBkZWZhdWx0U2VjdXJpdHkpO1xuICAgIGV4cGVjdChtZXRhZGF0YSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZGVmYXVsdFNlc3Npb24sIGRlZmF1bHRIYW5kbGUsIG9wdGlvbnMsIGRlZmF1bHRTZWN1cml0eSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byBvcGVuIHBpY2tlcicsICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IHBpY2tlck9wdGlvbnMgPSB7XG4gICAgICBsYW5nOiAnZGUnLFxuICAgIH07XG4gICAgY2xpZW50LnBpY2tlcihwaWNrZXJPcHRpb25zKTtcblxuICAgIGV4cGVjdChwaWNrZXIpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGNsaWVudCwgcGlja2VyT3B0aW9ucyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byBvcGVuIHByZXZpZXcnLCAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCBwcmV2aWV3T3B0aW9ucyA9IHtcbiAgICAgIGlkOiAndGVzdEVsZW1lbnQnLFxuICAgIH07XG4gICAgY2xpZW50LnByZXZpZXcoZGVmYXVsdEhhbmRsZSwgcHJldmlld09wdGlvbnMpO1xuXG4gICAgZXhwZWN0KHByZXZpZXcpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCBwcmV2aWV3T3B0aW9ucyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byByZW1vdmUgaGFuZGxlJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSk7XG4gICAgYXdhaXQgY2xpZW50LnJlbW92ZShkZWZhdWx0SGFuZGxlLCBkZWZhdWx0U2VjdXJpdHkpO1xuICAgIGV4cGVjdChyZW1vdmUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCBmYWxzZSwgZGVmYXVsdFNlY3VyaXR5KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBiZSBhYmxlIHRvIHJlbW92ZSBtZXRhZGF0YScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGF3YWl0IGNsaWVudC5yZW1vdmVNZXRhZGF0YShkZWZhdWx0SGFuZGxlLCBkZWZhdWx0U2VjdXJpdHkpO1xuXG4gICAgZXhwZWN0KHJlbW92ZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZGVmYXVsdFNlc3Npb24sIGRlZmF1bHRIYW5kbGUsIHRydWUsIGRlZmF1bHRTZWN1cml0eSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byBzdG9yZSB1cmwnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCB1cmwgPSAnaHR0cDovL2V4YW1wbGUuY29tL2ltZzMuanBnJztcbiAgICBjb25zdCBvcHRpb25zID0ge307XG4gICAgY29uc3QgdG9rZW4gPSB7fTtcbiAgICBjb25zdCB1cGxvYWRUYWdzID0geyB0ZXN0OiAnMTIzJyB9O1xuICAgIGNvbnN0IGhlYWRlcnMgPSB7ICd0ZXN0JzogJzEyMycgfTtcbiAgICBjb25zdCB3b3JrZmxvd0lkcyA9IFsnMTIzJywgJzMyMSddO1xuICAgIGF3YWl0IGNsaWVudC5zdG9yZVVSTCh1cmwsIG9wdGlvbnMsIHRva2VuLCBkZWZhdWx0U2VjdXJpdHksIHVwbG9hZFRhZ3MsaGVhZGVycywgd29ya2Zsb3dJZHMpO1xuXG4gICAgZXhwZWN0KHN0b3JlVVJMKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7XG4gICAgICBzZXNzaW9uOiBkZWZhdWx0U2Vzc2lvbixcbiAgICAgIHVybCxcbiAgICAgIHN0b3JlUGFyYW1zOiBvcHRpb25zLFxuICAgICAgdG9rZW4sXG4gICAgICBzZWN1cml0eTogZGVmYXVsdFNlY3VyaXR5LFxuICAgICAgdXBsb2FkVGFncyxcbiAgICAgIGhlYWRlcnMsXG4gICAgICB3b3JrZmxvd0lkcyxcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBiZSBhYmxlIHRvIHJldHJpZXZlIGhhbmRsZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IHJldHJpZXZlT3B0aW9ucyA9IHt9O1xuXG4gICAgYXdhaXQgY2xpZW50LnJldHJpZXZlKGRlZmF1bHRIYW5kbGUsIHJldHJpZXZlT3B0aW9ucywgZGVmYXVsdFNlY3VyaXR5KTtcbiAgICBleHBlY3QocmV0cmlldmUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCByZXRyaWV2ZU9wdGlvbnMsIGRlZmF1bHRTZWN1cml0eSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byB0cmFuc2Zvcm0gdXJsIHdpdGggYjY0JywgKCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSk7XG4gICAgY29uc3QgdHJhbnNmb3JtT3B0aW9ucyA9IHtcbiAgICAgIGJsdXI6IHtcbiAgICAgICAgYW1vdW50OiA1LFxuICAgICAgfSxcbiAgICB9O1xuICAgIGNvbnN0IGI2NCA9IHRydWU7XG4gICAgY2xpZW50LnRyYW5zZm9ybShkZWZhdWx0SGFuZGxlLCB0cmFuc2Zvcm1PcHRpb25zLCBiNjQpO1xuICAgIGV4cGVjdCh0cmFuc2Zvcm0pLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCB0cmFuc2Zvcm1PcHRpb25zLCBiNjQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGJlIGFibGUgdG8gdHJhbnNmb3JtIHVybCB3aXRob3V0IGI2NCcsICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IHRyYW5zZm9ybU9wdGlvbnMgPSB7XG4gICAgICBibHVyOiB7XG4gICAgICAgIGFtb3VudDogNSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBjbGllbnQudHJhbnNmb3JtKGRlZmF1bHRIYW5kbGUsIHRyYW5zZm9ybU9wdGlvbnMpO1xuICAgIGV4cGVjdCh0cmFuc2Zvcm0pLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCB0cmFuc2Zvcm1PcHRpb25zLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byB1cGxvYWQgZmlsZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IGZpbGUgPSAnYW55RmlsZSc7XG4gICAgY29uc3QgdXBsb2FkT3B0aW9ucyA9IHt9O1xuICAgIGNvbnN0IHN0b3JlT3B0aW9ucyA9IHt9O1xuICAgIGNvbnN0IHRva2VuID0ge307XG5cbiAgICBzcHlPbihVcGxvYWQucHJvdG90eXBlLCAndXBsb2FkJykuYW5kLnJldHVyblZhbHVlKFByb21pc2UucmVzb2x2ZSgpKTtcblxuICAgIGF3YWl0IGNsaWVudC51cGxvYWQoZmlsZSwgdXBsb2FkT3B0aW9ucywgc3RvcmVPcHRpb25zLCB0b2tlbiwgZGVmYXVsdFNlY3VyaXR5KTtcblxuICAgIGV4cGVjdChVcGxvYWQucHJvdG90eXBlLnNldFNlc3Npb24pLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHtcbiAgICAgIGFwaWtleTogZGVmYXVsdEFwaWtleSxcbiAgICAgIHVybHM6IHNlc3Npb25VUmxzLFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KFVwbG9hZC5wcm90b3R5cGUuc2V0VG9rZW4pLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHRva2VuKTtcbiAgICBleHBlY3QoVXBsb2FkLnByb3RvdHlwZS5zZXRTZWN1cml0eSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZGVmYXVsdFNlY3VyaXR5KTtcbiAgICBleHBlY3QoVXBsb2FkLnByb3RvdHlwZS51cGxvYWQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGZpbGUpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGJlIGFibGUgdG8gdXBsb2FkIGZpbGUgd2l0aG91dCB0b2tlbiBhbmQgc2VjdXJpdHknLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCBmaWxlID0gJ2FueUZpbGUnO1xuICAgIGNvbnN0IHVwbG9hZE9wdGlvbnMgPSB7fTtcbiAgICBjb25zdCBzdG9yZU9wdGlvbnMgPSB7fTtcblxuICAgIHNweU9uKFVwbG9hZC5wcm90b3R5cGUsICd1cGxvYWQnKS5hbmQucmV0dXJuVmFsdWUoUHJvbWlzZS5yZXNvbHZlKCkpO1xuXG4gICAgYXdhaXQgY2xpZW50LnVwbG9hZChmaWxlLCB1cGxvYWRPcHRpb25zLCBzdG9yZU9wdGlvbnMpO1xuXG4gICAgZXhwZWN0KFVwbG9hZC5wcm90b3R5cGUuc2V0U2Vzc2lvbikudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgYXBpa2V5OiBkZWZhdWx0QXBpa2V5LFxuICAgICAgdXJsczogc2Vzc2lvblVSbHMsXG4gICAgfSk7XG5cbiAgICBleHBlY3QoVXBsb2FkLnByb3RvdHlwZS51cGxvYWQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGZpbGUpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGVtaXQgZXJyb3InLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCBmaWxlID0gJ2FueUZpbGUnO1xuICAgIGNvbnN0IHVwbG9hZE9wdGlvbnMgPSB7fTtcbiAgICBjb25zdCBzdG9yZU9wdGlvbnMgPSB7fTtcbiAgICBjb25zdCB0b2tlbiA9IHt9O1xuICAgIGNvbnN0IG1vY2tPbkVycm9yID0gamVzdC5mbigpLm1vY2tOYW1lKCdtb2NrT25FcnJvcicpO1xuXG4gICAgY29uc3QgdGVzdCA9IG5ldyBGaWxlc3RhY2tFcnJvcigndGVzdCcpO1xuXG4gICAgY2xpZW50Lm9uKCd1cGxvYWQuZXJyb3InLCBtb2NrT25FcnJvcik7XG5cbiAgICBqZXN0LnNweU9uKFVwbG9hZC5wcm90b3R5cGUsICdvbicpLm1vY2tJbXBsZW1lbnRhdGlvbigobmFtZSwgY2IsIGN0eCk6IGFueSA9PiBjYih0ZXN0KSk7XG5cbiAgICBhd2FpdCBjbGllbnQudXBsb2FkKGZpbGUsIHVwbG9hZE9wdGlvbnMsIHN0b3JlT3B0aW9ucywgdG9rZW4sIGRlZmF1bHRTZWN1cml0eSk7XG5cbiAgICBleHBlY3QobW9ja09uRXJyb3IpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHRlc3QpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGJlIGFibGUgdG8gbXVsdGl1cGxvYWQgZmlsZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IGZpbGVzID0gWydhbnlGaWxlJ107XG4gICAgY29uc3QgdXBsb2FkT3B0aW9ucyA9IHt9O1xuICAgIGNvbnN0IHN0b3JlT3B0aW9ucyA9IHt9O1xuICAgIGNvbnN0IHRva2VuID0ge307XG5cbiAgICBzcHlPbihVcGxvYWQucHJvdG90eXBlLCAnbXVsdGl1cGxvYWQnKS5hbmQucmV0dXJuVmFsdWUoUHJvbWlzZS5yZXNvbHZlKCkpO1xuXG4gICAgYXdhaXQgY2xpZW50Lm11bHRpdXBsb2FkKGZpbGVzLCB1cGxvYWRPcHRpb25zLCBzdG9yZU9wdGlvbnMsIHRva2VuLCBkZWZhdWx0U2VjdXJpdHkpO1xuXG4gICAgZXhwZWN0KFVwbG9hZC5wcm90b3R5cGUuc2V0U2Vzc2lvbikudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgYXBpa2V5OiBkZWZhdWx0QXBpa2V5LFxuICAgICAgdXJsczogc2Vzc2lvblVSbHMsXG4gICAgfSk7XG5cbiAgICBleHBlY3QoVXBsb2FkLnByb3RvdHlwZS5zZXRUb2tlbikudG9IYXZlQmVlbkNhbGxlZFdpdGgodG9rZW4pO1xuICAgIGV4cGVjdChVcGxvYWQucHJvdG90eXBlLnNldFNlY3VyaXR5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChkZWZhdWx0U2VjdXJpdHkpO1xuICAgIGV4cGVjdChVcGxvYWQucHJvdG90eXBlLm11bHRpdXBsb2FkKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChmaWxlcyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY2FsbCBtdWx0aXVwbG9hZCB3aXRob3V0IHNlY3VyaXR5IG9yIHRva2VuJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSk7XG4gICAgY29uc3QgZmlsZXMgPSBbJ2FueUZpbGUnXTtcbiAgICBjb25zdCB1cGxvYWRPcHRpb25zID0ge307XG4gICAgY29uc3Qgc3RvcmVPcHRpb25zID0ge307XG5cbiAgICBzcHlPbihVcGxvYWQucHJvdG90eXBlLCAnbXVsdGl1cGxvYWQnKS5hbmQucmV0dXJuVmFsdWUoUHJvbWlzZS5yZXNvbHZlKCkpO1xuXG4gICAgYXdhaXQgY2xpZW50Lm11bHRpdXBsb2FkKGZpbGVzLCB1cGxvYWRPcHRpb25zLCBzdG9yZU9wdGlvbnMpO1xuXG4gICAgZXhwZWN0KFVwbG9hZC5wcm90b3R5cGUuc2V0U2Vzc2lvbikudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgYXBpa2V5OiBkZWZhdWx0QXBpa2V5LFxuICAgICAgdXJsczogc2Vzc2lvblVSbHMsXG4gICAgfSk7XG5cbiAgICBleHBlY3QoVXBsb2FkLnByb3RvdHlwZS5tdWx0aXVwbG9hZCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZmlsZXMpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGVtaXQgZXJyb3IgZm9yIG11bHRpdXBsb2FkJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSk7XG4gICAgY29uc3QgZmlsZXMgPSBbJ2FueUZpbGUnXTtcbiAgICBjb25zdCB1cGxvYWRPcHRpb25zID0ge307XG4gICAgY29uc3Qgc3RvcmVPcHRpb25zID0ge307XG4gICAgY29uc3QgdG9rZW4gPSB7fTtcblxuICAgIHNweU9uKFVwbG9hZC5wcm90b3R5cGUsICdtdWx0aXVwbG9hZCcpLmFuZC5yZXR1cm5WYWx1ZShQcm9taXNlLnJlc29sdmUoKSk7XG5cbiAgICBjb25zdCBtb2NrT25FcnJvciA9IGplc3QuZm4oKS5tb2NrTmFtZSgnbW9ja09uRXJyb3InKTtcblxuICAgIGNvbnN0IHRlc3QgPSBuZXcgRmlsZXN0YWNrRXJyb3IoJ3Rlc3QnKTtcblxuICAgIGNsaWVudC5vbigndXBsb2FkLmVycm9yJywgbW9ja09uRXJyb3IpO1xuXG4gICAgamVzdC5zcHlPbihVcGxvYWQucHJvdG90eXBlLCAnb24nKS5tb2NrSW1wbGVtZW50YXRpb24oKG5hbWUsIGNiLCBjdHgpOiBhbnkgPT4gY2IodGVzdCkpO1xuXG4gICAgYXdhaXQgY2xpZW50Lm11bHRpdXBsb2FkKGZpbGVzLCB1cGxvYWRPcHRpb25zLCBzdG9yZU9wdGlvbnMsIHRva2VuLCBkZWZhdWx0U2VjdXJpdHkpO1xuXG4gICAgZXhwZWN0KG1vY2tPbkVycm9yKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh0ZXN0KTtcbiAgfSk7XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY2xpZW50LnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUU3QixRQUFRLENBQUMsUUFBUSxFQUFFO0lBQ2pCLElBQU0sYUFBYSxHQUFHLGlCQUFpQixDQUFDO0lBQ3hDLElBQU0s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QUM7Ozs7U0FDaEQsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL2NsaWVudC5zcGVjLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yIH0gZnJvbSAnLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi8uLi9jb25maWcnO1xuaW1wb3J0IHsgQ2xpZW50IH0gZnJvbSAnLi9jbGllbnQnO1xuaW1wb3J0IHsgQ2xvdWRDbGllbnQgfSBmcm9tICcuL2FwaS9jbG91ZCc7XG5pbXBvcnQgeyBVcGxvYWQgfSBmcm9tICcuL2FwaS91cGxvYWQvdXBsb2FkJztcbmltcG9ydCB7IHBpY2tlciB9IGZyb20gJy4vcGlja2VyJztcbmltcG9ydCB7IHByZXZpZXcgfSBmcm9tICcuL2FwaS9wcmV2aWV3JztcbmltcG9ydCB7IG1ldGFkYXRhLCByZW1vdmUsIHJldHJpZXZlIH0gZnJvbSAnLi9hcGkvZmlsZSc7XG5pbXBvcnQgeyBzdG9yZVVSTCB9IGZyb20gJy4vYXBpL3N0b3JlJztcbmltcG9ydCB7IHRyYW5zZm9ybSB9IGZyb20gJy4vYXBpL3RyYW5zZm9ybSc7XG5cbmplc3QubW9jaygnLi9hcGkvdXBsb2FkL3VwbG9hZCcpO1xuamVzdC5tb2NrKCcuL2FwaS9jbG91ZCcpO1xuamVzdC5tb2NrKCcuL2FwaS9maWxlJyk7XG5qZXN0Lm1vY2soJy4vYXBpL3N0b3JlJyk7XG5qZXN0Lm1vY2soJy4vcGlja2VyJyk7XG5qZXN0Lm1vY2soJy4vYXBpL3ByZXZpZXcnKTtcbmplc3QubW9jaygnLi9hcGkvdHJhbnNmb3JtJyk7XG5cbmRlc2NyaWJlKCdjbGllbnQnLCAoKSA9PiB7XG4gIGNvbnN0IGRlZmF1bHRBcGlrZXkgPSAnRVhBTVBMRV9BUElfS0VZJztcbiAgY29uc3QgZGVmYXVsdEhhbmRsZSA9ICdFWEFNUExFX0hBTkRMRSc7XG4gIGNvbnN0IGRlZmF1bHRTZWN1cml0eSA9IHtcbiAgICBwb2xpY3k6ICdleGFtcGxlUG9saWN5JyxcbiAgICBzaWduYXR1cmU6ICdleGFtcGxlU2lnbmF0dXJlJyxcbiAgfTtcblxuICBjb25zdCBzZXNzaW9uVVJscyA9IGNvbmZpZy51cmxzO1xuICBjb25zdCBkZWZhdWx0U2Vzc2lvbiA9IHtcbiAgICBhcGlrZXk6IGRlZmF1bHRBcGlrZXksXG4gICAgdXJsczogc2Vzc2lvblVSbHMsXG4gIH07XG5cbiAgaXQoJ3Nob3VsZCBwcm9wZXJseSBpbnN0YW50aWF0ZSBDbGllbnQnLCAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBleHBlY3QoY2xpZW50KS50b0JlRGVmaW5lZCgpO1xuICAgIGV4cGVjdChjbGllbnQpLnRvQmVJbnN0YW5jZU9mKENsaWVudCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3IgaWYgYXBpIGtleSBub3QgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgZXhwZWN0KCgpID0+IHtcbiAgICAgIHJldHVybiBuZXcgQ2xpZW50KCcnKTtcbiAgICB9KS50b1Rocm93KCdBbiBhcGlrZXkgaXMgcmVxdWlyZWQgdG8gaW5pdGlhbGl6ZSB0aGUgRmlsZXN0YWNrIGNsaWVudCcpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIGlmIHByb3ZpZGVkIHNlY3VyaXR5IHdpdGhvdXQgc2lnbmF0dXJlJywgKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBzZWN1cml0eToge1xuICAgICAgICBwb2xpY3k6ICdleGFtcGxlUG9saWN5JyxcbiAgICAgICAgc2lnbmF0dXJlOiAnJyxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSwgb3B0aW9ucyk7XG4gICAgfSkudG9UaHJvdygnQm90aCBwb2xpY3kgYW5kIHNpZ25hdHVyZSBhcmUgcmVxdWlyZWQgZm9yIGNsaWVudCBzZWN1cml0eScpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHBhc3MgcG9saWN5ICYgc2lnbmF0dXJlIHRvIHRoZSBzZXNzaW9uJywgKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBzZWN1cml0eTogZGVmYXVsdFNlY3VyaXR5LFxuICAgIH07XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5LCBvcHRpb25zKTtcbiAgICBleHBlY3QoY2xpZW50LnNlc3Npb24ucG9saWN5KS50b0JlKG9wdGlvbnMuc2VjdXJpdHkucG9saWN5KTtcbiAgICBleHBlY3QoY2xpZW50LnNlc3Npb24uc2lnbmF0dXJlKS50b0JlKG9wdGlvbnMuc2VjdXJpdHkuc2lnbmF0dXJlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBwYXNzIGNuYW1lIHRvIHRoZSBzZXNzaW9uJywgKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBjbmFtZTogJ3Rlc3RDbmFtZS5jb20nLFxuICAgIH07XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5LCBvcHRpb25zKTtcbiAgICBleHBlY3QoY2xpZW50LnNlc3Npb24uY25hbWUpLnRvQmUob3B0aW9ucy5jbmFtZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byBsb2dvdXQgZm9yIHByb3ZpZWQgY2xvdWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCBjbG91ZE5hbWUgPSAnZHJvcGJveCc7XG4gICAgYXdhaXQgY2xpZW50LmxvZ291dChjbG91ZE5hbWUpO1xuXG4gICAgZXhwZWN0KENsb3VkQ2xpZW50LnByb3RvdHlwZS5sb2dvdXQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGNsb3VkTmFtZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZ2V0IG1ldGFkYXRhIGZvciBhIHByb3ZpZGVkIGhhbmRsZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBzaGEyMjQ6IHRydWUsXG4gICAgfTtcblxuICAgIGF3YWl0IGNsaWVudC5tZXRhZGF0YShkZWZhdWx0SGFuZGxlLCBvcHRpb25zLCBkZWZhdWx0U2VjdXJpdHkpO1xuICAgIGV4cGVjdChtZXRhZGF0YSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZGVmYXVsdFNlc3Npb24sIGRlZmF1bHRIYW5kbGUsIG9wdGlvbnMsIGRlZmF1bHRTZWN1cml0eSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byBvcGVuIHBpY2tlcicsICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IHBpY2tlck9wdGlvbnMgPSB7XG4gICAgICBsYW5nOiAnZGUnLFxuICAgIH07XG4gICAgY2xpZW50LnBpY2tlcihwaWNrZXJPcHRpb25zKTtcblxuICAgIGV4cGVjdChwaWNrZXIpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGNsaWVudCwgcGlja2VyT3B0aW9ucyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byBvcGVuIHByZXZpZXcnLCAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCBwcmV2aWV3T3B0aW9ucyA9IHtcbiAgICAgIGlkOiAndGVzdEVsZW1lbnQnLFxuICAgIH07XG4gICAgY2xpZW50LnByZXZpZXcoZGVmYXVsdEhhbmRsZSwgcHJldmlld09wdGlvbnMpO1xuXG4gICAgZXhwZWN0KHByZXZpZXcpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCBwcmV2aWV3T3B0aW9ucyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byByZW1vdmUgaGFuZGxlJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSk7XG4gICAgYXdhaXQgY2xpZW50LnJlbW92ZShkZWZhdWx0SGFuZGxlLCBkZWZhdWx0U2VjdXJpdHkpO1xuICAgIGV4cGVjdChyZW1vdmUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCBmYWxzZSwgZGVmYXVsdFNlY3VyaXR5KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBiZSBhYmxlIHRvIHJlbW92ZSBtZXRhZGF0YScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGF3YWl0IGNsaWVudC5yZW1vdmVNZXRhZGF0YShkZWZhdWx0SGFuZGxlLCBkZWZhdWx0U2VjdXJpdHkpO1xuXG4gICAgZXhwZWN0KHJlbW92ZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZGVmYXVsdFNlc3Npb24sIGRlZmF1bHRIYW5kbGUsIHRydWUsIGRlZmF1bHRTZWN1cml0eSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byBzdG9yZSB1cmwnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCB1cmwgPSAnaHR0cDovL2V4YW1wbGUuY29tL2ltZzMuanBnJztcbiAgICBjb25zdCBvcHRpb25zID0ge307XG4gICAgY29uc3QgdG9rZW4gPSB7fTtcbiAgICBjb25zdCB1cGxvYWRUYWdzID0geyB0ZXN0OiAnMTIzJyB9O1xuICAgIGNvbnN0IGhlYWRlcnMgPSB7ICd0ZXN0JzogJzEyMycgfTtcbiAgICBjb25zdCB3b3JrZmxvd0lkcyA9IFsnMTIzJywgJzMyMSddO1xuICAgIGF3YWl0IGNsaWVudC5zdG9yZVVSTCh1cmwsIG9wdGlvbnMsIHRva2VuLCBkZWZhdWx0U2VjdXJpdHksIHVwbG9hZFRhZ3MsaGVhZGVycywgd29ya2Zsb3dJZHMpO1xuXG4gICAgZXhwZWN0KHN0b3JlVVJMKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7XG4gICAgICBzZXNzaW9uOiBkZWZhdWx0U2Vzc2lvbixcbiAgICAgIHVybCxcbiAgICAgIHN0b3JlUGFyYW1zOiBvcHRpb25zLFxuICAgICAgdG9rZW4sXG4gICAgICBzZWN1cml0eTogZGVmYXVsdFNlY3VyaXR5LFxuICAgICAgdXBsb2FkVGFncyxcbiAgICAgIGhlYWRlcnMsXG4gICAgICB3b3JrZmxvd0lkcyxcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBiZSBhYmxlIHRvIHJldHJpZXZlIGhhbmRsZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IHJldHJpZXZlT3B0aW9ucyA9IHt9O1xuXG4gICAgYXdhaXQgY2xpZW50LnJldHJpZXZlKGRlZmF1bHRIYW5kbGUsIHJldHJpZXZlT3B0aW9ucywgZGVmYXVsdFNlY3VyaXR5KTtcbiAgICBleHBlY3QocmV0cmlldmUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCByZXRyaWV2ZU9wdGlvbnMsIGRlZmF1bHRTZWN1cml0eSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byB0cmFuc2Zvcm0gdXJsIHdpdGggYjY0JywgKCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSk7XG4gICAgY29uc3QgdHJhbnNmb3JtT3B0aW9ucyA9IHtcbiAgICAgIGJsdXI6IHtcbiAgICAgICAgYW1vdW50OiA1LFxuICAgICAgfSxcbiAgICB9O1xuICAgIGNvbnN0IGI2NCA9IHRydWU7XG4gICAgY2xpZW50LnRyYW5zZm9ybShkZWZhdWx0SGFuZGxlLCB0cmFuc2Zvcm1PcHRpb25zLCBiNjQpO1xuICAgIGV4cGVjdCh0cmFuc2Zvcm0pLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCB0cmFuc2Zvcm1PcHRpb25zLCBiNjQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGJlIGFibGUgdG8gdHJhbnNmb3JtIHVybCB3aXRob3V0IGI2NCcsICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IHRyYW5zZm9ybU9wdGlvbnMgPSB7XG4gICAgICBibHVyOiB7XG4gICAgICAgIGFtb3VudDogNSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBjbGllbnQudHJhbnNmb3JtKGRlZmF1bHRIYW5kbGUsIHRyYW5zZm9ybU9wdGlvbnMpO1xuICAgIGV4cGVjdCh0cmFuc2Zvcm0pLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlZmF1bHRTZXNzaW9uLCBkZWZhdWx0SGFuZGxlLCB0cmFuc2Zvcm1PcHRpb25zLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byB1cGxvYWQgZmlsZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IGZpbGUgPSAnYW55RmlsZSc7XG4gICAgY29uc3QgdXBsb2FkT3B0aW9ucyA9IHt9O1xuICAgIGNvbnN0IHN0b3JlT3B0aW9ucyA9IHt9O1xuICAgIGNvbnN0IHRva2VuID0ge307XG5cbiAgICBqZXN0LnNweU9uKFVwbG9hZC5wcm90b3R5cGUsICd1cGxvYWQnKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCkpO1xuXG4gICAgYXdhaXQgY2xpZW50LnVwbG9hZChmaWxlLCB1cGxvYWRPcHRpb25zLCBzdG9yZU9wdGlvbnMsIHRva2VuLCBkZWZhdWx0U2VjdXJpdHkpO1xuXG4gICAgZXhwZWN0KFVwbG9hZC5wcm90b3R5cGUuc2V0U2Vzc2lvbikudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgYXBpa2V5OiBkZWZhdWx0QXBpa2V5LFxuICAgICAgdXJsczogc2Vzc2lvblVSbHMsXG4gICAgfSk7XG5cbiAgICBleHBlY3QoVXBsb2FkLnByb3RvdHlwZS5zZXRUb2tlbikudG9IYXZlQmVlbkNhbGxlZFdpdGgodG9rZW4pO1xuICAgIGV4cGVjdChVcGxvYWQucHJvdG90eXBlLnNldFNlY3VyaXR5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChkZWZhdWx0U2VjdXJpdHkpO1xuICAgIGV4cGVjdChVcGxvYWQucHJvdG90eXBlLnVwbG9hZCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZmlsZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgYWJsZSB0byB1cGxvYWQgZmlsZSB3aXRob3V0IHRva2VuIGFuZCBzZWN1cml0eScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KGRlZmF1bHRBcGlrZXkpO1xuICAgIGNvbnN0IGZpbGUgPSAnYW55RmlsZSc7XG4gICAgY29uc3QgdXBsb2FkT3B0aW9ucyA9IHt9O1xuICAgIGNvbnN0IHN0b3JlT3B0aW9ucyA9IHt9O1xuXG4gICAgamVzdC5zcHlPbihVcGxvYWQucHJvdG90eXBlLCAndXBsb2FkJykubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IFByb21pc2UucmVzb2x2ZSgpKTtcblxuICAgIGF3YWl0IGNsaWVudC51cGxvYWQoZmlsZSwgdXBsb2FkT3B0aW9ucywgc3RvcmVPcHRpb25zKTtcblxuICAgIGV4cGVjdChVcGxvYWQucHJvdG90eXBlLnNldFNlc3Npb24pLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHtcbiAgICAgIGFwaWtleTogZGVmYXVsdEFwaWtleSxcbiAgICAgIHVybHM6IHNlc3Npb25VUmxzLFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KFVwbG9hZC5wcm90b3R5cGUudXBsb2FkKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChmaWxlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBlbWl0IGVycm9yJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSk7XG4gICAgY29uc3QgZmlsZSA9ICdhbnlGaWxlJztcbiAgICBjb25zdCB1cGxvYWRPcHRpb25zID0ge307XG4gICAgY29uc3Qgc3RvcmVPcHRpb25zID0ge307XG4gICAgY29uc3QgdG9rZW4gPSB7fTtcbiAgICBjb25zdCBtb2NrT25FcnJvciA9IGplc3QuZm4oKS5tb2NrTmFtZSgnbW9ja09uRXJyb3InKTtcblxuICAgIGNvbnN0IHRlc3QgPSBuZXcgRmlsZXN0YWNrRXJyb3IoJ3Rlc3QnKTtcblxuICAgIGNsaWVudC5vbigndXBsb2FkLmVycm9yJywgbW9ja09uRXJyb3IpO1xuXG4gICAgamVzdC5zcHlPbihVcGxvYWQucHJvdG90eXBlLCAnb24nKS5tb2NrSW1wbGVtZW50YXRpb24oKG5hbWUsIGNiLCBjdHgpOiBhbnkgPT4gY2IodGVzdCkpO1xuXG4gICAgYXdhaXQgY2xpZW50LnVwbG9hZChmaWxlLCB1cGxvYWRPcHRpb25zLCBzdG9yZU9wdGlvbnMsIHRva2VuLCBkZWZhdWx0U2VjdXJpdHkpO1xuXG4gICAgZXhwZWN0KG1vY2tPbkVycm9yKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh0ZXN0KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBiZSBhYmxlIHRvIG11bHRpdXBsb2FkIGZpbGUnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCBmaWxlcyA9IFsnYW55RmlsZSddO1xuICAgIGNvbnN0IHVwbG9hZE9wdGlvbnMgPSB7fTtcbiAgICBjb25zdCBzdG9yZU9wdGlvbnMgPSB7fTtcbiAgICBjb25zdCB0b2tlbiA9IHt9O1xuXG4gICAgamVzdC5zcHlPbihVcGxvYWQucHJvdG90eXBlLCAnbXVsdGl1cGxvYWQnKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCkpO1xuXG4gICAgYXdhaXQgY2xpZW50Lm11bHRpdXBsb2FkKGZpbGVzLCB1cGxvYWRPcHRpb25zLCBzdG9yZU9wdGlvbnMsIHRva2VuLCBkZWZhdWx0U2VjdXJpdHkpO1xuXG4gICAgZXhwZWN0KFVwbG9hZC5wcm90b3R5cGUuc2V0U2Vzc2lvbikudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgYXBpa2V5OiBkZWZhdWx0QXBpa2V5LFxuICAgICAgdXJsczogc2Vzc2lvblVSbHMsXG4gICAgfSk7XG5cbiAgICBleHBlY3QoVXBsb2FkLnByb3RvdHlwZS5zZXRUb2tlbikudG9IYXZlQmVlbkNhbGxlZFdpdGgodG9rZW4pO1xuICAgIGV4cGVjdChVcGxvYWQucHJvdG90eXBlLnNldFNlY3VyaXR5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChkZWZhdWx0U2VjdXJpdHkpO1xuICAgIGV4cGVjdChVcGxvYWQucHJvdG90eXBlLm11bHRpdXBsb2FkKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChmaWxlcyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY2FsbCBtdWx0aXVwbG9hZCB3aXRob3V0IHNlY3VyaXR5IG9yIHRva2VuJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDbGllbnQoZGVmYXVsdEFwaWtleSk7XG4gICAgY29uc3QgZmlsZXMgPSBbJ2FueUZpbGUnXTtcbiAgICBjb25zdCB1cGxvYWRPcHRpb25zID0ge307XG4gICAgY29uc3Qgc3RvcmVPcHRpb25zID0ge307XG5cbiAgICBqZXN0LnNweU9uKFVwbG9hZC5wcm90b3R5cGUsICdtdWx0aXVwbG9hZCcpLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBQcm9taXNlLnJlc29sdmUoKSk7XG5cbiAgICBhd2FpdCBjbGllbnQubXVsdGl1cGxvYWQoZmlsZXMsIHVwbG9hZE9wdGlvbnMsIHN0b3JlT3B0aW9ucyk7XG5cbiAgICBleHBlY3QoVXBsb2FkLnByb3RvdHlwZS5zZXRTZXNzaW9uKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7XG4gICAgICBhcGlrZXk6IGRlZmF1bHRBcGlrZXksXG4gICAgICB1cmxzOiBzZXNzaW9uVVJscyxcbiAgICB9KTtcblxuICAgIGV4cGVjdChVcGxvYWQucHJvdG90eXBlLm11bHRpdXBsb2FkKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChmaWxlcyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZW1pdCBlcnJvciBmb3IgbXVsdGl1cGxvYWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChkZWZhdWx0QXBpa2V5KTtcbiAgICBjb25zdCBmaWxlcyA9IFsnYW55RmlsZSddO1xuICAgIGNvbnN0IHVwbG9hZE9wdGlvbnMgPSB7fTtcbiAgICBjb25zdCBzdG9yZU9wdGlvbnMgPSB7fTtcbiAgICBjb25zdCB0b2tlbiA9IHt9O1xuXG4gICAgamVzdC5zcHlPbihVcGxvYWQucHJvdG90eXBlLCAnbXVsdGl1cGxvYWQnKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCkpO1xuXG4gICAgY29uc3QgbW9ja09uRXJyb3IgPSBqZXN0LmZuKCkubW9ja05hbWUoJ21vY2tPbkVycm9yJyk7XG5cbiAgICBjb25zdCB0ZXN0ID0gbmV3IEZpbGVzdGFja0Vycm9yKCd0ZXN0Jyk7XG5cbiAgICBjbGllbnQub24oJ3VwbG9hZC5lcnJvcicsIG1vY2tPbkVycm9yKTtcblxuICAgIGplc3Quc3B5T24oVXBsb2FkLnByb3RvdHlwZSwgJ29uJykubW9ja0ltcGxlbWVudGF0aW9uKChuYW1lLCBjYiwgY3R4KTogYW55ID0+IGNiKHRlc3QpKTtcblxuICAgIGF3YWl0IGNsaWVudC5tdWx0aXVwbG9hZChmaWxlcywgdXBsb2FkT3B0aW9ucywgc3RvcmVPcHRpb25zLCB0b2tlbiwgZGVmYXVsdFNlY3VyaXR5KTtcblxuICAgIGV4cGVjdChtb2NrT25FcnJvcikudG9IYXZlQmVlbkNhbGxlZFdpdGgodGVzdCk7XG4gIH0pO1xufSk7XG4iXX0=

@@ -375,3 +375,3 @@ import { Client } from './client';

* Customize the text on the cloud authentication screen in Picker.
* Use a cloud source name (see [[PickerOptions.fromSources]])
* Use a cloud source name (see {@link PickerOptions.fromSources})
* or a 'default' as a key, then put your custom notice or consent

@@ -378,0 +378,0 @@ * to the 'top' or the 'bottom' key to show it respectivly above or under 'Connect button'.

@@ -138,2 +138,2 @@ /*

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcGlja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUErRC9ELE1BQU0sQ0FBTixJQUFZLGVBR1g7QUFIRCxXQUFZLGVBQWU7SUFDekIsNEJBQVMsQ0FBQTtJQUNULDhCQUFVLENBQUE7QUFDWixDQUFDLEVBSFcsZUFBZSxLQUFmLGVBQWUsUUFHMUI7QUErR0QsTUFBTSxDQUFOLElBQVksaUJBSVg7QUFKRCxXQUFZLGlCQUFpQjtJQUMzQixzQ0FBaUIsQ0FBQTtJQUNqQix3Q0FBbUIsQ0FBQTtJQUNuQiwwQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUk1QjtBQTZpQkQ7Ozs7O0dBS0c7QUFDSDtJQUdFLHNCQUFZLE1BQWMsRUFBRSxPQUF1QjtRQUNqRCxJQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5RCxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQzdCLE1BQU0sSUFBSSxjQUFjLENBQUMsdUJBQXVCLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN0RztRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVLLDJCQUFJLEdBQVY7Ozs7OzRCQUNpQixxQkFBTSxJQUFJLENBQUMsWUFBWSxFQUFBOzt3QkFBaEMsTUFBTSxHQUFHLFNBQXVCO3dCQUN0QyxxQkFBTSxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUE7O3dCQUFuQixTQUFtQixDQUFDOzs7OztLQUNyQjtJQUVLLDJCQUFJLEdBQVYsVUFBVyxLQUFZOzs7Ozs0QkFDTixxQkFBTSxJQUFJLENBQUMsWUFBWSxFQUFBOzt3QkFBaEMsTUFBTSxHQUFHLFNBQXVCO3dCQUN0QyxxQkFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFBOzt3QkFBeEIsU0FBd0IsQ0FBQzs7Ozs7S0FDMUI7SUFFSyw0QkFBSyxHQUFYOzs7Ozs0QkFDaUIscUJBQU0sSUFBSSxDQUFDLFlBQVksRUFBQTs7d0JBQWhDLE1BQU0sR0FBRyxTQUF1Qjt3QkFDdEMscUJBQU0sTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFBOzt3QkFBcEIsU0FBb0IsQ0FBQzs7Ozs7S0FDdEI7SUFFSyw2QkFBTSxHQUFaOzs7Ozs0QkFDaUIscUJBQU0sSUFBSSxDQUFDLFlBQVksRUFBQTs7d0JBQWhDLE1BQU0sR0FBRyxTQUF1Qjt3QkFDdEMscUJBQU0sTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFBOzt3QkFBckIsU0FBcUIsQ0FBQzs7Ozs7S0FDdkI7SUFFYSxpQ0FBVSxHQUF4QixVQUF5QixNQUFjLEVBQUUsT0FBdUI7Ozs7Ozt3QkFDeEIsR0FBRyxHQUFTLE1BQU0sdUJBQWYsQ0FBZ0I7d0JBQzFDLHFCQUFNLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUE7O3dCQUF4RCxNQUFNLEdBQUcsU0FBK0M7d0JBQzlELHNCQUFPLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBQzs7OztLQUNwQztJQUNILG1CQUFDO0FBQUQsQ0F0Q0EsQUFzQ0MsSUFBQTtBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxJQUFNLE1BQU0sR0FBRyxVQUFDLE1BQWMsRUFBRSxPQUF1QjtJQUM1RCxPQUFPLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL3BpY2tlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgbG9hZE1vZHVsZSwgRklMRVNUQUNLX01PRFVMRVMgfSBmcm9tICdAZmlsZXN0YWNrL2xvYWRlcic7XG5pbXBvcnQgeyBGaWxlc3RhY2tFcnJvciwgRmlsZXN0YWNrRXJyb3JUeXBlIH0gZnJvbSAnLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuaW1wb3J0IHsgQ2xpZW50IH0gZnJvbSAnLi9jbGllbnQnO1xuaW1wb3J0IHsgRlNQcm9ncmVzc0V2ZW50LCBVcGxvYWRPcHRpb25zLCBXb3JrZmxvd0NvbmZpZyB9IGZyb20gJy4vYXBpL3VwbG9hZC90eXBlcyc7XG5pbXBvcnQgeyBnZXRWYWxpZGF0b3IsIFBpY2tlclBhcmFtc1NjaGVtYSB9IGZyb20gJy4vLi4vc2NoZW1hJztcblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJJbnN0YW5jZSB7XG4gIC8qKlxuICAgKiBDbG9zZSBwaWNrZXIuIFRoaXMgb3BlcmF0aW9uIGlzIGlkZW1wb3RlbnQuXG4gICAqL1xuICBjbG9zZTogKCkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogQ2FuY2VsIHBpY2tlciB1cGxvYWRzLiBUaGlzIG9wZXJhdGlvbiBpcyBpZGVtcG90ZW50LlxuICAgKi9cbiAgY2FuY2VsOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBPcGVuIHBpY2tlci4gVGhpcyBvcGVyYXRpb24gaXMgaWRlbXBvdGVudC5cbiAgICovXG4gIG9wZW46ICgpID0+IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgYSBsaXN0IG9mIGZpbGVzIHRvIG9wZW4gaW4gdGhlIHBpY2tlciBmb3IgY3JvcHBpbmdcbiAgICpcbiAgICogIyMjIEV4YW1wbGVcbiAgICpcbiAgICogYGBganNcbiAgICogLy8gPGlucHV0IGlkPVwiZmlsZVNlbGVjdFwiIHR5cGU9XCJmaWxlXCI+XG4gICAqXG4gICAqIGNvbnN0IGlucHV0RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmlsZVNlbGVjdCcpO1xuICAgKiBjb25zdCBwaWNrZXIgPSBjbGllbnQucGlja2VyKHtcbiAgICogICBvblVwbG9hZERvbmU6IHJlcyA9PiBjb25zb2xlLmxvZyhyZXMpLFxuICAgKiB9KTtcbiAgICpcbiAgICogaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAoZSkgPT4ge1xuICAgKiAgIHBpY2tlci5jcm9wKGUudGFyZ2V0LmZpbGVzKTtcbiAgICogfSk7XG4gICAqXG4gICAqIC8vIE9yIHBhc3MgYW4gYXJyYXkgb2YgVVJMIHN0cmluZ3NcbiAgICogY29uc3QgdXJscyA9IFtcbiAgICogICAnaHR0cHM6Ly9kMXd0cWFmZmFhajYzei5jbG91ZGZyb250Lm5ldC9pbWFnZXMvZm94X2luX2ZvcmVzdDEuanBnJyxcbiAgICogICAnaHR0cHM6Ly9kMXd0cWFmZmFhajYzei5jbG91ZGZyb250Lm5ldC9pbWFnZXMvc2FpbC5qcGcnLFxuICAgKiBdO1xuICAgKiBwaWNrZXIuY3JvcCh1cmxzKTtcbiAgICogYGBgXG4gICAqL1xuICBjcm9wOiAoZmlsZXM6IGFueVtdKSA9PiBQcm9taXNlPHZvaWQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlckNyb3BwZWREYXRhIHtcbiAgY3JvcEFyZWE6IHtcbiAgICAvKipcbiAgICAgKiBbeCwgeV1cbiAgICAgKi9cbiAgICBwb3NpdGlvbjogW251bWJlciwgbnVtYmVyXTtcbiAgICAvKipcbiAgICAgKiBbd2lkdGgsIGhlaWdodF1cbiAgICAgKi9cbiAgICBzaXplOiBbbnVtYmVyLCBudW1iZXJdO1xuICB9O1xuICAgIC8qKlxuICAgICAqIFt3aWR0aCwgaGVpZ2h0XVxuICAgICAqL1xuICBvcmlnaW5hbEltYWdlU2l6ZTogW251bWJlciwgbnVtYmVyXTtcbn1cblxuZXhwb3J0IGVudW0gUm90YXRlRGlyZWN0aW9uIHtcbiAgY3cgPSAnQ1cnLFxuICBjY3c9ICdDQ1cnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlclJvdGF0ZWREYXRhIHtcbiAgLyoqXG4gICAqIEFtb3VudCByb3RhdGVkIGluIGRlZ3JlZXMuXG4gICAqL1xuICB2YWx1ZTogbnVtYmVyO1xuICAvKipcbiAgICogQ2FuIGJlIENXIG9yIENDVyAoY2xvY2t3aXNlIC8gY291bnRlci1jbG9ja3dpc2UpXG4gICAqL1xuICBkaXJlY3Rpb246IFJvdGF0ZURpcmVjdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJGaWxlTWV0YWRhdGEge1xuICAvKipcbiAgICogVGhlIGNsb3VkIGNvbnRhaW5lciBmb3IgdGhlIHVwbG9hZGVkIGZpbGUuXG4gICAqL1xuICBjb250YWluZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQb3NpdGlvbiBhbmQgc2l6ZSBpbmZvcm1hdGlvbiBmb3IgY3JvcHBlZCBpbWFnZXMuXG4gICAqL1xuICBjcm9wcGVkPzogUGlja2VyQ3JvcHBlZERhdGE7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBmaWxlLlxuICAgKi9cbiAgZmlsZW5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIEZpbGVzdGFjayBoYW5kbGUgZm9yIHRoZSB1cGxvYWRlZCBmaWxlLlxuICAgKi9cbiAgaGFuZGxlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgaGFzaC1wcmVmaXhlZCBjbG91ZCBzdG9yYWdlIHBhdGguXG4gICAqL1xuICBrZXk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgTUlNRSB0eXBlIG9mIHRoZSBmaWxlLlxuICAgKi9cbiAgbWltZXR5cGU6IHN0cmluZztcbiAgLyoqXG4gICAqIFByb3BlcnRpZXMgb2YgdGhlIGxvY2FsIGJpbmFyeSBmaWxlLiBBbHNvIHNlZSB0aGUgcGljayBvcHRpb24gYGV4cG9zZU9yaWdpbmFsRmlsZWAgaWYgeW91IHdhbnQgdGhlIHVuZGVybHlpbmcgYEZpbGVgIG9iamVjdC5cbiAgICovXG4gIG9yaWdpbmFsRmlsZT86IG9iamVjdCB8IEZpbGU7XG4gIC8qKlxuICAgKiBUaGUgb3JpZ2luIG9mIHRoZSBmaWxlLCBlLmcuIC9Gb2xkZXIvZmlsZS5qcGcuXG4gICAqL1xuICBvcmlnaW5hbFBhdGg6IHN0cmluZztcbiAgLyoqXG4gICAqIERpcmVjdGlvbiBhbmQgdmFsdWUgaW5mb3JtYXRpb24gZm9yIHJvdGF0ZWQgaW1hZ2VzLlxuICAgKi9cbiAgcm90YXRlZD86IFBpY2tlclJvdGF0ZWREYXRhO1xuICAvKipcbiAgICogU2l6ZSBpbiBieXRlcyBvZiB0aGUgdXBsb2FkZWQgZmlsZS5cbiAgICovXG4gIHNpemU6IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgZnJvbSB3aGVyZSB0aGUgZmlsZSB3YXMgcGlja2VkLlxuICAgKi9cbiAgc291cmNlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgRmlsZXN0YWNrIHRyYW5zaXQgc3RhdHVzLlxuICAgKi9cbiAgc3RhdHVzPzogc3RyaW5nO1xuICAvKipcbiAgICogQSB1dWlkIGZvciB0cmFja2luZyB0aGlzIGZpbGUgaW4gY2FsbGJhY2tzLlxuICAgKi9cbiAgdXBsb2FkSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBGaWxlc3RhY2sgQ0ROIFVSTCBmb3IgdGhlIHVwbG9hZGVkIGZpbGUuXG4gICAqL1xuICB1cmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21BdXRoVGV4dE9wdGlvbnMge1xuICBba2V5OiBzdHJpbmddOiB7XG4gICAgdG9wPzogc3RyaW5nW10sXG4gICAgYm90dG9tPzogc3RyaW5nW11cbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJSZXNwb25zZSB7XG4gIGZpbGVzVXBsb2FkZWQ6IFBpY2tlckZpbGVNZXRhZGF0YVtdO1xuICBmaWxlc0ZhaWxlZDogUGlja2VyRmlsZU1ldGFkYXRhW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyRmlsZUNhbGxiYWNrIHtcbiAgKGZpbGU6IFBpY2tlckZpbGVNZXRhZGF0YSk6IHZvaWQgfCBQcm9taXNlPGFueT47XG59XG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlckZpbGVXaXRoVG9rZW5DYWxsYmFjayB7XG4gIChmaWxlOiBQaWNrZXJGaWxlTWV0YWRhdGEsIHRva2VuPzoge3BhdXNlPzogKCkgPT4gdm9pZCwgcmVzdW1lPzogKCkgPT4gdm9pZCwgY2FuY2VsPzogKCkgPT4gdm9pZH0pOiB2b2lkIHwgUHJvbWlzZTxhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlckZpbGVDYW5jZWxDYWxsYmFjayB7XG4gIChmaWxlOiBQaWNrZXJGaWxlTWV0YWRhdGEpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlckZpbGVFcnJvckNhbGxiYWNrIHtcbiAgKGZpbGU6IFBpY2tlckZpbGVNZXRhZGF0YSwgZXJyb3I6IEVycm9yKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJGaWxlUHJvZ3Jlc3NDYWxsYmFjayB7XG4gIChmaWxlOiBQaWNrZXJGaWxlTWV0YWRhdGEsIGV2ZW50OiBGU1Byb2dyZXNzRXZlbnQpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlclVwbG9hZFN0YXJ0ZWRDYWxsYmFjayB7XG4gIChmaWxlczogUGlja2VyRmlsZU1ldGFkYXRhW10pOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlclVwbG9hZERvbmVDYWxsYmFjayB7XG4gIChmaWxlczogUGlja2VyUmVzcG9uc2UpOiB2b2lkO1xufVxuXG5leHBvcnQgZW51bSBQaWNrZXJEaXNwbGF5TW9kZSB7XG4gIGlubGluZSA9ICdpbmxpbmUnLFxuICBvdmVybGF5ID0gJ292ZXJsYXknLFxuICBkcm9wUGFuZSA9ICdkcm9wUGFuZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyRHJvcFBhbmVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgY3JvcCBVSSBmb3IgZHJvcHBlZCBmaWxlcy5cbiAgICovXG4gIGNyb3BGaWxlcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDdXN0b21pemUgdGhlIHRleHQgY29udGVudCBpbiB0aGUgZHJvcCBwYW5lLlxuICAgKi9cbiAgY3VzdG9tVGV4dD86IHN0cmluZztcbiAgLyoqXG4gICAqIERpc2FibGUgdGhlIGZpbGUgaW5wdXQgb24gY2xpY2suIFRoaXMgZG9lcyBub3QgZGlzYWJsZSB0aGUgYG9uQ2xpY2tgIGNhbGxiYWNrLlxuICAgKi9cbiAgZGlzYWJsZUNsaWNrPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgZnVsbC1wYWdlIGRyb3Agem9uZSBvdmVybGF5LlxuICAgKi9cbiAgb3ZlcmxheT86IGJvb2xlYW47XG4gIG9uRHJhZ0VudGVyPzogKGV2dDogRHJhZ0V2ZW50KSA9PiB2b2lkO1xuICBvbkRyYWdMZWF2ZT86ICgpID0+IHZvaWQ7XG4gIG9uRHJhZ092ZXI/OiAoZXZ0OiBEcmFnRXZlbnQpID0+IHZvaWQ7XG4gIG9uRHJvcD86IChldnQ6IERyYWdFdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIGBvblN1Y2Nlc3NgIG11c3QgYmUgdXNlZCBpbnN0ZWFkIG9mIGBvblVwbG9hZERvbmVgLiBUaGUgZHJvcCBwYW5lIHVzZXMgaXRzIG93biBjYWxsYmFja3MgZm9yIGNvbXBhdGliaWxpdHkgcHVycG9zZXMuIFRoaXMgbWlnaHQgZXZlbnR1YWxseSBjaGFuZ2UuXG4gICAqL1xuICBvblN1Y2Nlc3M/OiAoZmlsZXM6IFBpY2tlckZpbGVNZXRhZGF0YVtdKSA9PiB2b2lkO1xuICBvbkVycm9yPzogKGZpbGVzOiBQaWNrZXJGaWxlTWV0YWRhdGFbXSkgPT4gdm9pZDtcbiAgb25Qcm9ncmVzcz86IChwZXJjZW50OiBudW1iZXIpID0+IHZvaWQ7XG4gIG9uQ2xpY2s/OiAoZXZ0OiBhbnkpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBUb2dnbGUgaWNvbiBlbGVtZW50IGluIGRyb3AgcGFuZS5cbiAgICovXG4gIHNob3dJY29uPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRvZ2dsZSB1cGxvYWQgcHJvZ3Jlc3MgZGlzcGxheS5cbiAgICovXG4gIHNob3dQcm9ncmVzcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyU3RvcmVPcHRpb25zIHtcbiAgLyoqXG4gICAqIExvY2F0aW9uIGZvciBzdG9yZWQgZmlsZS4gT25lIG9mICdzMycsICdnY3MnLCAnYXp1cmUnLCAncmFja3NwYWNlJywgb3IgJ2Ryb3Bib3gnLlxuICAgKi9cbiAgbG9jYXRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTcGVjaWZ5IHN0b3JhZ2UgY29udGFpbmVyLlxuICAgKi9cbiAgY29udGFpbmVyPzogc3RyaW5nO1xuICAvKipcbiAgICogU2V0IGNvbnRhaW5lciBwYXRoLiBJbmRpY2F0ZSBhIGZvbGRlciBieSBhZGRpbmcgYSB0cmFpbGluZyBzbGFzaC4gV2l0aG91dCBhIHRyYWlsaW5nIHNsYXNoIGFsbCBmaWxlcyB3aWxsIGJlIHN0b3JlZCB0byB0aGUgc2FtZSBvYmplY3QuXG4gICAqL1xuICBwYXRoPzogc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmeSBTMyByZWdpb24uXG4gICAqL1xuICByZWdpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTMyBjb250YWluZXIgYWNjZXNzLiAncHVibGljJyBvciAncHJpdmF0ZScuXG4gICAqL1xuICBhY2Nlc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdvcmtmbG93cyBpZHMgdG8gcnVuIGFmdGVyIHVwbG9hZFxuICAgKi9cbiAgd29ya2Zsb3dzPzogc3RyaW5nW10gfCBXb3JrZmxvd0NvbmZpZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlckN1c3RvbVRleHQge1xuICAvLyBBY3Rpb25zXG4gIFVwbG9hZD86IHN0cmluZztcbiAgJ1VwbG9hZCBtb3JlJz86IHN0cmluZztcbiAgJ0Rlc2VsZWN0IEFsbCc/OiBzdHJpbmc7XG4gICdWaWV3L0VkaXQgU2VsZWN0ZWQnPzogc3RyaW5nO1xuICAnU2lnbiBPdXQnPzogc3RyaW5nO1xuXG4gIC8vIFNvdXJjZSBMYWJlbHNcbiAgJ015IERldmljZSc/OiBzdHJpbmc7XG4gICdXZWIgU2VhcmNoJz86IHN0cmluZztcbiAgJ1Rha2UgUGhvdG8nPzogc3RyaW5nO1xuICAnTGluayAoVVJMKSc/OiBzdHJpbmc7XG4gICdSZWNvcmQgVmlkZW8nPzogc3RyaW5nO1xuICAnUmVjb3JkIEF1ZGlvJz86IHN0cmluZztcblxuICAvLyBDdXN0b20gU291cmNlXG4gICdDdXN0b20gU291cmNlJz86IHN0cmluZztcblxuICAvLyBGb290ZXIgVGV4dFxuICBBZGQ/OiBzdHJpbmc7XG4gICdtb3JlIGZpbGUnPzogc3RyaW5nO1xuICAnbW9yZSBmaWxlcyc/OiBzdHJpbmc7XG5cbiAgLy8gQ2xvdWRcbiAgJ0Nvbm5lY3Qge3Byb3ZpZGVyTmFtZX0nPzogc3RyaW5nO1xuICAnU2VsZWN0IEZpbGVzIGZyb20ge3Byb3ZpZGVyTmFtZX0nPzogc3RyaW5nO1xuICAnWW91IG5lZWQgdG8gYXV0aGVudGljYXRlIHdpdGgge3Byb3ZpZGVyTmFtZX0uJz86IHN0cmluZztcbiAgJ0EgbmV3IHBhZ2Ugd2lsbCBvcGVuIHRvIGNvbm5lY3QgeW91ciBhY2NvdW50Lic/OiBzdHJpbmc7XG4gICdXZSBvbmx5IGV4dHJhY3QgaW1hZ2VzIGFuZCBuZXZlciBtb2RpZnkgb3IgZGVsZXRlIHRoZW0uJz86IHN0cmluZztcbiAgJ1RvIGRpc2Nvbm5lY3QgZnJvbSB7cHJvdmlkZXJOYW1lfSBjbGljayBcIlNpZ24gb3V0XCIgYnV0dG9uIGluIHRoZSBtZW51Lic/OiBzdHJpbmc7XG4gICdTaWduIGluIHdpdGggR29vZ2xlJz86IHN0cmluZztcbiAgJ0dvIGJhY2snPzogc3RyaW5nO1xuICAnVGhpcyBmb2xkZXIgaXMgZW1wdHkuJz86IHN0cmluZztcblxuICAvLyBTdW1tYXJ5XG4gIEZpbGVzPzogc3RyaW5nO1xuICBJbWFnZXM/OiBzdHJpbmc7XG4gIFVwbG9hZGVkPzogc3RyaW5nO1xuICBVcGxvYWRpbmc/OiBzdHJpbmc7XG4gIENvbXBsZXRlZD86IHN0cmluZztcbiAgRmlsdGVyPzogc3RyaW5nO1xuICAnQ3JvcHBlZCBJbWFnZXMnPzogc3RyaW5nO1xuICAnRWRpdGVkIEltYWdlcyc/OiBzdHJpbmc7XG4gICdTZWxlY3RlZCBGaWxlcyc/OiBzdHJpbmc7XG4gICdDcm9wIGlzIHJlcXVpcmVkIG9uIGltYWdlcyc/OiBzdHJpbmc7XG5cbiAgLy8gVHJhbnNmb3JtXG4gIENyb3A/OiBzdHJpbmc7XG4gIENpcmNsZT86IHN0cmluZztcbiAgUm90YXRlPzogc3RyaW5nO1xuICBNYXNrPzogc3RyaW5nO1xuICBSZXZlcnQ/OiBzdHJpbmc7XG4gIEVkaXQ/OiBzdHJpbmc7XG4gIFJlc2V0Pzogc3RyaW5nO1xuICBEb25lPzogc3RyaW5nO1xuICBTYXZlPzogc3RyaW5nO1xuICBOZXh0Pzogc3RyaW5nO1xuICAnRWRpdCBJbWFnZSc/OiBzdHJpbmc7XG4gICdUaGlzIGltYWdlIGNhbm5vdCBiZSBlZGl0ZWQnPzogc3RyaW5nO1xuXG4gIC8vIFJldHJ5IG1lc3NhZ2luZ1xuICAnQ29ubmVjdGlvbiBMb3N0Jz86IHN0cmluZztcbiAgJ0ZhaWxlZCBXaGlsZSBVcGxvYWRpbmcnPzogc3RyaW5nO1xuICAnUmV0cnlpbmcgaW4nPzogc3RyaW5nO1xuICAnVHJ5IGFnYWluJz86IHN0cmluZztcbiAgJ1RyeSBub3cnPzogc3RyaW5nO1xuXG4gIC8vIExvY2FsIEZpbGUgU291cmNlXG4gICdEcmFnIGFuZCBEcm9wLCBDb3B5IGFuZCBQYXN0ZSBGaWxlcyc/OiBzdHJpbmc7XG4gICdvciBEcmFnIGFuZCBEcm9wLCBDb3B5IGFuZCBQYXN0ZSBGaWxlcyc/OiBzdHJpbmc7XG4gICdTZWxlY3QgRmlsZXMgdG8gVXBsb2FkJz86IHN0cmluZztcbiAgJ1NlbGVjdCBGcm9tJz86IHN0cmluZztcbiAgJ0Ryb3AgeW91ciBmaWxlcyBhbnl3aGVyZSc/OiBzdHJpbmc7XG5cbiAgLy8gSW5wdXQgcGxhY2Vob2xkZXJzXG4gICdFbnRlciBhIFVSTCc/OiBzdHJpbmc7XG4gICdTZWFyY2ggaW1hZ2VzJz86IHN0cmluZztcblxuICAvLyBXZWJjYW0gU291cmNlXG4gICdXZWJjYW0gRGlzYWJsZWQnPzogc3RyaW5nO1xuICAnV2ViY2FtIE5vdCBTdXBwb3J0ZWQnPzogc3RyaW5nO1xuICAnUGxlYXNlIGVuYWJsZSB5b3VyIHdlYmNhbSB0byB0YWtlIGEgcGhvdG8uJz86IHN0cmluZztcbiAgJ1lvdXIgY3VycmVudCBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgd2ViY2FtIGZ1bmN0aW9uYWxpdHkuJz86IHN0cmluZztcbiAgJ1dlIHN1Z2dlc3QgdXNpbmcgQ2hyb21lIG9yIEZpcmVmb3guJz86IHN0cmluZztcblxuICAvLyBFcnJvciBOb3RpZmljYXRpb25zXG4gICdGaWxlIHtkaXNwbGF5TmFtZX0gaXMgbm90IGFuIGFjY2VwdGVkIGZpbGUgdHlwZS4gVGhlIGFjY2VwdGVkIGZpbGUgdHlwZXMgYXJlIHt0eXBlc30nPzogc3RyaW5nO1xuICAnRmlsZSB7ZGlzcGxheU5hbWV9IGlzIHRvbyBiaWcuIFRoZSBhY2NlcHRlZCBmaWxlIHNpemUgaXMgbGVzcyB0aGFuIHtyb3VuZEZpbGVTaXplfSc/OiBzdHJpbmc7XG4gICdPdXIgZmlsZSB1cGxvYWQgbGltaXQgaXMge21heEZpbGVzfSB7ZmlsZXNUZXh0fSc/OiBzdHJpbmc7XG4gICdObyBzZWFyY2ggcmVzdWx0cyBmb3VuZCBmb3IgXCJ7c2VhcmNofVwiJz86IHN0cmluZztcbiAgJ0FuIGVycm9yIG9jY3VycmVkLiBQbGVhc2UgdHJ5IGFnYWluLic/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBSZXN0cmljdCBmaWxlIHR5cGVzIHRoYXQgYXJlIGFsbG93ZWQgdG8gYmUgcGlja2VkLiBGb3JtYXRzIGFjY2VwdGVkOlxuICAgKiAgLSAucGRmIDwtIGFueSBmaWxlIGV4dGVuc2lvblxuICAgKiAgLSBpbWFnZS9qcGVnIDwtIGFueSBtaW1lIHR5cGUgY29tbW9ubHkga25vd24gYnkgYnJvd3NlcnNcbiAgICogIC0gaW1hZ2UvKiA8LSBhY2NlcHQgYWxsIHR5cGVzIG9mIGltYWdlc1xuICAgKiAgLSB2aWRlby8qIDwtIGFjY2VwdCBhbGwgdHlwZXMgb2YgdmlkZW8gZmlsZXNcbiAgICogIC0gYXVkaW8vKiA8LSBhY2NlcHQgYWxsIHR5cGVzIG9mIGF1ZGlvIGZpbGVzXG4gICAqICAtIGFwcGxpY2F0aW9uLyogPC0gYWNjZXB0IGFsbCB0eXBlcyBvZiBhcHBsaWNhdGlvbiBmaWxlc1xuICAgKiAgLSB0ZXh0LyogPC0gYWNjZXB0IGFsbCB0eXBlcyBvZiB0ZXh0IGZpbGVzXG4gICAqL1xuICBhY2NlcHQ/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIEN1c3RvbSBhY2NlcHQgY2hlY2sgZnVuY3Rpb25cbiAgICogYGBgamF2YXNjcmlwdFxuICAgKiBhY2NlcHRGbjogKGZpbGUsIG9wdGlvbnMpID0+IHtcbiAgICogIHJldHVybiBvcHRpb25zLm1pbWVGcm9tTWFnaWNCeXRlcyhmaWxlLm9yaWdpbmFsRmlsZSkudGhlbigocmVzKSA9PiB7IC8vIHdlIGNhbiBjaGVjayBtaW1ldHlwZSBmcm9tIG1hZ2ljIGJ5dGVzXG4gICAqICAgIC8vY29uc29sZS5sb2cob3B0aW9ucy5taW1lRnJvbUV4dGVuc2lvbihmaWxlLm9yaWdpbmFsRmlsZS5uYW1lKSk7IC8vIG9yIGNoZWNrIGV4dGVuc2lvbiBmcm9tIGZpbGVzdGFjayBleHRlbnNpb25zIGRhdGFiYXNlXG4gICAqICAgIC8vIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGFjY2VwdCB0aGF0IGZpbGUnKSAvLyB3ZSBjYW4gdGhyb3cgZXhjZXB0aW9uIHRvIGJsb2NrIGZpbGUgdXBsb2FkXG4gICAqICAgIC8vIHJldHVybiBQcm9taXNlLnJlamVjdCgnQ2Fubm90IGFjY2VwdCB0aGF0IGZpbGUnJykgLy8gb3IgcmVqZWN0IGEgcHJvbWlzZVxuICAgKiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAqICB9KTtcbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGFjY2VwdEZuPzogKFBpY2tlckZpbGVNZXRhZGF0YSwgUGlja2VyQWNjZXB0Rm5PcHRpb25zKSA9PiBQcm9taXNlPHN0cmluZz47XG4gIC8qKlxuICAgKiBQcmV2ZW50IG1vZGFsIGNsb3NlIG9uIHVwbG9hZCBmYWlsdXJlIGFuZCBhbGxvdyB1c2VycyB0byByZXRyeS5cbiAgICovXG4gIGFsbG93TWFudWFsUmV0cnk/OiBib29sZWFuO1xuICAvKipcbiAgICogIFZhbGlkIHNvdXJjZXMgYXJlOlxuICAgKiAgLSBsb2NhbF9maWxlX3N5c3RlbSAtIERlZmF1bHRcbiAgICogIC0gdXJsIC0gRGVmYXVsdFxuICAgKiAgLSBpbWFnZXNlYXJjaCAtIERlZmF1bHRcbiAgICogIC0gZmFjZWJvb2sgLSBEZWZhdWx0XG4gICAqICAtIGluc3RhZ3JhbSAtIERlZmF1bHRcbiAgICogIC0gZ29vZ2xlZHJpdmUgLSBEZWZhdWx0XG4gICAqICAtIGRyb3Bib3ggLSBEZWZhdWx0XG4gICAqICAtIHdlYmNhbSAtIFVzZXMgZGV2aWNlIG1lbnUgb24gbW9iaWxlLiBOb3QgY3VycmVudGx5IHN1cHBvcnRlZCBpbiBTYWZhcmkgYW5kIElFLlxuICAgKiAgLSB2aWRlbyAtIFVzZXMgZGV2aWNlIG1lbnUgb24gbW9iaWxlLiBOb3QgY3VycmVudGx5IHN1cHBvcnRlZCBpbiBTYWZhcmkgYW5kIElFLlxuICAgKiAgLSBhdWRpbyAtIFVzZXMgZGV2aWNlIG1lbnUgb24gbW9iaWxlLiBOb3QgY3VycmVudGx5IHN1cHBvcnRlZCBpbiBTYWZhcmkgYW5kIElFLlxuICAgKiAgLSBib3hcbiAgICogIC0gZ2l0aHViXG4gICAqICAtIGdtYWlsXG4gICAqICAtIGdvb2dsZXBob3Rvc1xuICAgKiAgLSBvbmVkcml2ZVxuICAgKiAgLSBvbmVkcml2ZWZvcmJ1c2luZXNzXG4gICAqICAtIGN1c3RvbXNvdXJjZSAtIENvbmZpZ3VyZSB0aGlzIGluIHlvdXIgRmlsZXN0YWNrIERldiBQb3J0YWwuXG4gICAqICAtIHVuc3BsYXNoXG4gICAqL1xuICBmcm9tU291cmNlcz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogQ29udGFpbmVyIHdoZXJlIHBpY2tlciBzaG91bGQgYmUgYXBwZW5kZWQuIE9ubHkgcmVsZXZhbnQgZm9yIGBpbmxpbmVgIGFuZCBgZHJvcFBhbmVgIGRpc3BsYXkgbW9kZXMuXG4gICAqL1xuICBjb250YWluZXI/OiBzdHJpbmcgfCBOb2RlO1xuXG4gIC8qKlxuICAgKiBUdXJuIG9uIGNsZWFuaW5nIEpQRUcgaW1hZ2UgZXhpZi4gTWV0aG9kIGNhbiBrZWVwIGltYWdlIG9yaWVudGF0aW9uIG9yIGNvbG9yIHByb2ZpbGVzXG4gICAqIGBgYGphdmFzY3JpcHRcbiAgICogY2xlYW51cEltYWdlRXhpZjoge1xuICAgKiAgIGtlZXBPcmllbnRhdGlvbjogdHJ1ZVxuICAgKiAgIGtlZXBJQ0NhbmRBUFA6IHRydWVcbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGNsZWFudXBJbWFnZUV4aWY/OiBib29sZWFuIHwge1xuICAgIGtlZXBPcmllbnRhdGlvbj86IGJvb2xlYW4sXG4gICAga2VlcElDQ2FuZEFQUD86IGJvb2xlYW5cbiAgfTtcbiAgLyoqXG4gICAqIEN1c3RvbWl6ZSB0aGUgdGV4dCBvbiB0aGUgY2xvdWQgYXV0aGVudGljYXRpb24gc2NyZWVuIGluIFBpY2tlci5cbiAgICogVXNlIGEgY2xvdWQgc291cmNlIG5hbWUgKHNlZSBbW1BpY2tlck9wdGlvbnMuZnJvbVNvdXJjZXNdXSlcbiAgICogb3IgYSAnZGVmYXVsdCcgYXMgYSBrZXksIHRoZW4gcHV0IHlvdXIgY3VzdG9tIG5vdGljZSBvciBjb25zZW50XG4gICAqIHRvIHRoZSAndG9wJyBvciB0aGUgJ2JvdHRvbScga2V5IHRvIHNob3cgaXQgcmVzcGVjdGl2bHkgYWJvdmUgb3IgdW5kZXIgJ0Nvbm5lY3QgYnV0dG9uJy5cbiAgICpcbiAgICogYGBgamF2YXNjcmlwdFxuICAgKiBjdXN0b21BdXRoVGV4dDoge1xuICAgKiAgIC8vIHVzZSBpdCBmb3IgZXZlcnkgY2xvdWQgYXV0aGVudGljYXRpb24gc2NyZWVuXG4gICAqICAgZGVmYXVsdDoge1xuICAgKiAgICAgdG9wOiBbXG4gICAqICAgICAgICdkZWZhdWx0IHRvcCBmaXJzdCBsaW5lJyxcbiAgICogICAgICAgJ2RlZmF1bHQgdG9wIHNlY29uZCBsaW5lJ1xuICAgKiAgICAgXSxcbiAgICogICAgIGJvdHRvbTogW1xuICAgKiAgICAgICAnZGVmYXVsdCBib3R0b20gZmlyc3QgbGluZScsXG4gICAqICAgICAgICdkZWZhdWx0IGJvdHRvbSBzZWNvbmQgbGluZSdcbiAgICogICAgIF1cbiAgICogICB9LFxuICAgKiAgIC8vIG92ZXJyaWRlIGEgZGVmYXVsdCBib3R0b20gdGV4dCBmb3Igb25seSBnbWFpbFxuICAgKiAgIGdtYWlsOiB7XG4gICAqICAgICBib3R0b206IFtcbiAgICogICAgICAgJ1dlIG5lZWQgeW91ciBwZXJtaXNzaW9uIHRvIGFjY2VzcyB5b3VyIGRhdGEgYW5kJyxcbiAgICogICAgICAgJ3Byb2Nlc3MgaXQgd2l0aCBvdXIgbWFjaGluZSBsZWFybmluZyBzeXN0ZW0uJ1xuICAgKiAgICAgXVxuICAgKiAgIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGN1c3RvbUF1dGhUZXh0PzogQ3VzdG9tQXV0aFRleHRPcHRpb25zO1xuICAvKipcbiAgICogUGlja2VyIGRpc3BsYXkgbW9kZSwgb25lIG9mIGAnaW5saW5lJ2AsIGAnb3ZlcmxheSdgLCBgJ2Ryb3BQYW5lJ2AgLSBkZWZhdWx0IGlzIGAnb3ZlcmxheSdgLlxuICAgKi9cbiAgZGlzcGxheU1vZGU/OiBQaWNrZXJEaXNwbGF5TW9kZTtcbiAgLyoqXG4gICAqIE1heCBudW1iZXIgb2YgZmlsZXMgdG8gdXBsb2FkIGNvbmN1cnJlbnRseS4gRGVmYXVsdCBpcyA0LlxuICAgKi9cbiAgY29uY3VycmVuY3k/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlZmF1bHQgY29udGFpbmVyIGZvciB5b3VyIGN1c3RvbSBzb3VyY2UuXG4gICAqL1xuICBjdXN0b21Tb3VyY2VDb250YWluZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlZmF1bHQgcGF0aCBmb3IgeW91ciBjdXN0b20gc291cmNlIGNvbnRhaW5lci5cbiAgICovXG4gIGN1c3RvbVNvdXJjZVBhdGg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTZXQgdGhlIGRpc3BsYXkgbmFtZSBmb3IgdGhlIGN1c3RvbSBzb3VyY2UuXG4gICAqL1xuICBjdXN0b21Tb3VyY2VOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogUHJvdmlkZSBhbiBvYmplY3QgZm9yIG1hcHBpbmcgcGlja2VyIHN0cmluZ3MgdG8geW91ciBvd24gc3RyaW5ncy5cbiAgICogU3RyaW5ncyBzdXJyb3VuZGVkIGJ5IGJyYWNrZXRzLCBgeyBmb29iYXIgfWAsIGFyZSBpbnRlcnBvbGF0ZWQgd2l0aCBydW50aW1lIHZhbHVlcy5cbiAgICogU291cmNlIGxhYmVscyBhcmUgYWxzbyBhdmFpbGFibGUgdG8gb3ZlcnJpZGUsIGUuZy4gRmFjZWJvb2ssIEluc3RhZ3JhbSwgRHJvcGJveCwgZXRjLlxuICAgKi9cbiAgY3VzdG9tVGV4dD86IFBpY2tlckN1c3RvbVRleHQ7XG4gIC8qKlxuICAgKiBzZXQgc3VwcG9ydCBlbWFpbCB0byBkaXNwbGF5IGluIGNhc2Ugb2YgZXJyb3JcbiAgICovXG4gIHN1cHBvcnRFbWFpbD86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZW4gdHJ1ZSByZW1vdmVzIHRoZSBoYXNoIHByZWZpeCBvbiBzdG9yZWQgZmlsZXMuXG4gICAqL1xuICBkaXNhYmxlU3RvcmFnZUtleT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGVuIHRydWUgcmVtb3ZlcyBhYmlsaXR5IHRvIGVkaXQgaW1hZ2VzLlxuICAgKi9cbiAgZGlzYWJsZVRyYW5zZm9ybWVyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERpc2FibGVzIGxvY2FsIGltYWdlIHRodW1ibmFpbCBwcmV2aWV3cyBpbiB0aGUgc3VtbWFyeSBzY3JlZW4uXG4gICAqL1xuICBkaXNhYmxlVGh1bWJuYWlscz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb25maWd1cmUgdGhlIGRyb3AgcGFuZSBiZWhhdmlvciwgaS5lLiB3aGVuIGBkaXNwbGF5TW9kZWAgaXMgYGRyb3BQYW5lYC5cbiAgICovXG4gIGRyb3BQYW5lPzogUGlja2VyRHJvcFBhbmVPcHRpb25zO1xuICAvKipcbiAgICogV2hlbiB0cnVlIHRoZSBgb3JpZ2luYWxGaWxlYCBtZXRhZGF0YSB3aWxsIGJlIHRoZSBhY3R1YWwgYEZpbGVgIG9iamVjdCBpbnN0ZWFkIG9mIGEgUE9KT1xuICAgKi9cbiAgZXhwb3NlT3JpZ2luYWxGaWxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgZHJvcCB6b25lIHRvIGJlIGFjdGl2ZSBvbiBhbGwgdmlld3MuIERlZmF1bHQgaXMgYWN0aXZlIG9ubHkgb24gbG9jYWwgZmlsZSBzb3VyY2UuXG4gICAqL1xuICBnbG9iYWxEcm9wWm9uZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBIaWRlIHRoZSBwaWNrZXIgbW9kYWwgVUkgb25jZSB1cGxvYWRpbmcgYmVnaW5zLiBEZWZhdWx0cyB0byBgZmFsc2VgLlxuICAgKi9cbiAgaGlkZU1vZGFsV2hlblVwbG9hZGluZz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgaW1hZ2UgZGltZW5zaW9ucy4gZS5nLiBbODAwLCA2MDBdLiBPbmx5IGZvciBKUEVHLCBQTkcsIGFuZCBCTVAgZmlsZXMuXG4gICAqIExvY2FsIGFuZCBjcm9wcGVkIGltYWdlcyB3aWxsIGJlIHJlc2l6ZWQgKHVwc2NhbGVkIG9yIGRvd25zY2FsZWQpIHRvIHRoZSBzcGVjaWZpZWQgZGltZW5zaW9ucyBiZWZvcmUgdXBsb2FkaW5nLlxuICAgKiBUaGUgb3JpZ2luYWwgaGVpZ2h0IHRvIHdpZHRoIHJhdGlvIGlzIG1haW50YWluZWQuIFRvIHJlc2l6ZSBhbGwgaW1hZ2VzIGJhc2VkIG9uIHRoZSB3aWR0aCwgc2V0IFt3aWR0aCwgbnVsbF0sIGUuZy4gWzgwMCwgbnVsbF0uXG4gICAqIEZvciB0aGUgaGVpZ2h0IHNldCBbbnVsbCwgaGVpZ2h0XSwgZS5nLiBbbnVsbCwgNjAwXS5cbiAgICovXG4gIGltYWdlRGltPzogW251bWJlciwgbnVtYmVyXTtcbiAgLyoqXG4gICAqIFNwZWNpZnkgbWF4aW11bSBpbWFnZSBkaW1lbnNpb25zLiBlLmcuIFs4MDAsIDYwMF0uIE9ubHkgZm9yIEpQRUcsIFBORywgYW5kIEJNUCBmaWxlcy5cbiAgICogSW1hZ2VzIGJpZ2dlciB0aGFuIHRoZSBzcGVjaWZpZWQgZGltZW5zaW9ucyB3aWxsIGJlIHJlc2l6ZWQgdG8gdGhlIG1heGltdW0gc2l6ZSB3aGlsZSBtYWludGFpbmluZyB0aGUgb3JpZ2luYWwgYXNwZWN0IHJhdGlvLlxuICAgKiBUaGUgb3V0cHV0IHdpbGwgbm90IGJlIGV4YWN0bHkgODAweDYwMCB1bmxlc3MgdGhlIGltYWdlTWF4IG1hdGNoZXMgdGhlIGFzcGVjdCByYXRpbyBvZiB0aGUgb3JpZ2luYWwgaW1hZ2UuXG4gICAqL1xuICBpbWFnZU1heD86IFtudW1iZXIsIG51bWJlcl07XG4gIC8qKlxuICAgKiBTcGVjaWZ5IG1pbmltdW0gaW1hZ2UgZGltZW5zaW9ucy4gZS5nLiBbODAwLCA2MDBdLiBPbmx5IGZvciBKUEVHLCBQTkcsIGFuZCBCTVAgZmlsZXMuXG4gICAqIEltYWdlcyBzbWFsbGVyIHRoYW4gdGhlIHNwZWNpZmllZCBkaW1lbnNpb25zIHdpbGwgYmUgdXBzY2FsZWQgdG8gdGhlIG1pbmltdW0gc2l6ZSB3aGlsZSBtYWludGFpbmluZyB0aGUgb3JpZ2luYWwgYXNwZWN0IHJhdGlvLlxuICAgKiBUaGUgb3V0cHV0IHdpbGwgbm90IGJlIGV4YWN0bHkgODAweDYwMCB1bmxlc3MgdGhlIGltYWdlTWluIG1hdGNoZXMgdGhlIGFzcGVjdCByYXRpbyBvZiB0aGUgb3JpZ2luYWwgaW1hZ2UuXG4gICAqL1xuICBpbWFnZU1pbj86IFtudW1iZXIsIG51bWJlcl07XG4gIC8qKlxuICAgKiBTZXRzIGxvY2FsZS4gQWNjZXB0czogY2EsIGRhLCBkZSwgZW4sIGVzLCBmciwgaGUsIGl0LCBqYSwga28sIG5sLCBubywgcGwsIHB0LCBzdiwgcnUsIHZpLCB6aCwgdHJcbiAgICovXG4gIGxhbmc/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBNaW5pbXVtIG51bWJlciBvZiBmaWxlcyByZXF1aXJlZCB0byBzdGFydCB1cGxvYWRpbmcuIERlZmF1bHRzIHRvIDEuXG4gICAqL1xuICBtaW5GaWxlcz86IG51bWJlcjtcbiAgLyoqXG4gICAqIE1heGltdW0gbnVtYmVyIG9mIGZpbGVzIGFsbG93ZWQgdG8gdXBsb2FkLiBEZWZhdWx0cyB0byAxLlxuICAgKi9cbiAgbWF4RmlsZXM/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBSZXN0cmljdCBzZWxlY3RlZCBmaWxlcyB0byBhIG1heGltdW0gbnVtYmVyIG9mIGJ5dGVzLiAoZS5nLiAxMCBcXCogMTAyNCBcXCogMTAyNCBmb3IgMTBNQiBsaW1pdCkuXG4gICAqL1xuICBtYXhTaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IHZpZXcgdHlwZSBvcHRpb24gZm9yIGZpbGUgYnJvd3NlclxuICAgKi9cbiAgdmlld1R5cGU/OiAnZ3JpZCcgfCAnbGlzdCc7XG5cbiAgLyoqXG4gICAqIFRpbWVvdXQgZm9yIGVycm9yIG1lc3NhZ2VzXG4gICAqL1xuICBlcnJvcnNUaW1lb3V0PzogbnVtYmVyO1xuICAvKipcbiAgICogU3BlY2lmeSBbd2lkdGgsIGhlaWdodF0gaW4gcGl4ZWxzIG9mIHRoZSBkZXNrdG9wIG1vZGFsLlxuICAgKi9cbiAgbW9kYWxTaXplPzogW251bWJlciwgbnVtYmVyXTtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGFsbCB1cGxvYWRzIGluIGEgcGljayBhcmUgY2FuY2VsbGVkLlxuICAgKi9cbiAgb25DYW5jZWw/OiBQaWNrZXJVcGxvYWREb25lQ2FsbGJhY2s7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgVUkgaXMgZXhpdGVkLlxuICAgKi9cbiAgb25DbG9zZT86ICgpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgVUkgaXMgbW91bnRlZC5cbiAgICogQHBhcmFtIFBpY2tlckluc3RhbmNlIGFwcGxpY2F0aW9uIGhhbmRsZVxuICAgKi9cbiAgb25PcGVuPzogKGhhbmRsZTogUGlja2VySW5zdGFuY2UpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbmV2ZXIgdXNlciBzZWxlY3RzIGEgZmlsZS5cbiAgICogIyMjIEV4YW1wbGVcbiAgICpcbiAgICogYGBganNcbiAgICogLy8gVXNpbmcgdG8gdmV0byBmaWxlIHNlbGVjdGlvblxuICAgKiAvLyBJZiB5b3UgdGhyb3cgYW55IGVycm9yIGluIHRoaXMgZnVuY3Rpb24gaXQgd2lsbCByZWplY3QgdGhlIGZpbGUgc2VsZWN0aW9uLlxuICAgKiAvLyBUaGUgZXJyb3IgbWVzc2FnZSB3aWxsIGJlIGRpc3BsYXllZCB0byB0aGUgdXNlciBhcyBhbiBhbGVydC5cbiAgICogb25GaWxlU2VsZWN0ZWQoZmlsZSkge1xuICAgKiAgIGlmIChmaWxlLnNpemUgPiAxMDAwICogMTAwMCkge1xuICAgKiAgICAgdGhyb3cgbmV3IEVycm9yKCdGaWxlIHRvbyBiaWcsIHNlbGVjdCBzb21ldGhpbmcgc21hbGxlciB0aGFuIDFNQicpO1xuICAgKiAgIH1cbiAgICogfVxuICAgKlxuICAgKiAvLyBVc2luZyB0byBjaGFuZ2Ugc2VsZWN0ZWQgZmlsZSBuYW1lXG4gICAqIC8vIE5PVEU6IFRoaXMgY3VycmVudGx5IG9ubHkgd29ya3MgZm9yIGxvY2FsIHVwbG9hZHNcbiAgICogb25GaWxlU2VsZWN0ZWQoZmlsZSkge1xuICAgKiAgIC8vIEl0J3MgaW1wb3J0YW50IHRvIHJldHVybiBhIG5ldyBmaWxlIGJ5IHRoZSBlbmQgb2YgdGhpcyBmdW5jdGlvbi5cbiAgICogICByZXR1cm4geyAuLi5maWxlLCBuYW1lOiAnZm9vJyB9O1xuICAgKiB9XG4gICAqIGBgYFxuICAgKlxuICAgKiBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gY2FuIGFsc28gcmV0dXJuIGEgUHJvbWlzZSB0byBhbGxvdyBhc3luY2hyb25vdXMgdmFsaWRhdGlvbiBsb2dpYy5cbiAgICogWW91IGNhbiBwYXNzIGEgZmlsZSBvYmplY3QgdG8gYHJlc29sdmVgIGZvciBjaGFuZ2luZyB0aGUgZmlsZSBuYW1lLCBpdCB3aWxsIGJlaGF2ZSB0aGUgc2FtZSBhcyB3aGVuXG4gICAqIHRoZSBmaWxlIGlzIHJldHVybmVkIGZyb20gdGhlIG5vbi1hc3luYyBjYWxsYmFjay5cbiAgICpcbiAgICogYGBganNcbiAgICogb25GaWxlU2VsZWN0ZWQoZmlsZSkge1xuICAgKiAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAqICAgICAvLyBEbyBzb21ldGhpbmcgYXN5bmNcbiAgICogICAgIHJlc29sdmUoKTtcbiAgICogICAgIC8vIE9yIHJlamVjdCB0aGUgc2VsZWN0aW9uIHdpdGggcmVqZWN0KClcbiAgICogICB9KTtcbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIG9uRmlsZVNlbGVjdGVkPzogUGlja2VyRmlsZUNhbGxiYWNrO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gYSBmaWxlIHVwbG9hZCBoYXMgYmVlbiBjYW5jZWxlZC5cbiAgICovXG4gIG9uRmlsZVVwbG9hZENhbmNlbD86IFBpY2tlckZpbGVDYW5jZWxDYWxsYmFjaztcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGEgZmlsZSBiZWdpbnMgdXBsb2FkaW5nLlxuICAgKi9cbiAgb25GaWxlVXBsb2FkU3RhcnRlZD86IFBpY2tlckZpbGVXaXRoVG9rZW5DYWxsYmFjaztcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGEgZmlsZSBpcyBkb25lIHVwbG9hZGluZy5cbiAgICovXG4gIG9uRmlsZVVwbG9hZEZpbmlzaGVkPzogUGlja2VyRmlsZUNhbGxiYWNrO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdXBsb2FkaW5nIGEgZmlsZSBmYWlscy5cbiAgICovXG4gIG9uRmlsZVVwbG9hZEZhaWxlZD86IFBpY2tlckZpbGVFcnJvckNhbGxiYWNrO1xuICAvKipcbiAgICogQ2FsbGVkIGR1cmluZyBtdWx0aS1wYXJ0IHVwbG9hZCBwcm9ncmVzcyBldmVudHMuIExvY2FsIGZpbGVzIG9ubHkuXG4gICAqL1xuICBvbkZpbGVVcGxvYWRQcm9ncmVzcz86IFBpY2tlckZpbGVQcm9ncmVzc0NhbGxiYWNrO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gZmlsZSBpcyBjcm9wcGVkIGluIHBpY2tlclxuICAgKi9cbiAgb25GaWxlQ3JvcHBlZD86IFBpY2tlckZpbGVDYWxsYmFjaztcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHVwbG9hZGluZyBzdGFydHMgKHVzZXIgaW5pdGlhdGVzIHVwbG9hZGluZykuXG4gICAqL1xuICBvblVwbG9hZFN0YXJ0ZWQ/OiBQaWNrZXJVcGxvYWRTdGFydGVkQ2FsbGJhY2s7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhbGwgZmlsZXMgaGF2ZSBiZWVuIHVwbG9hZGVkLlxuICAgKi9cbiAgb25VcGxvYWREb25lPzogUGlja2VyVXBsb2FkRG9uZUNhbGxiYWNrO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgYSB1bmlxdWUgaWQgZm9yIHRoZSBhcHBsaWNhdGlvbiBtb3VudCBwb2ludC5cbiAgICogTWF5IGJlIHVzZWZ1bCBmb3IgbW9yZSBhZHZhbmNlZCB1c2UgY2FzZXMuXG4gICAqIEZvciBleGFtcGxlLCBpZiB5b3Ugd2lzaCB0byBoYXZlIG1vcmUgdGhhbiBvbmUgcGlja2VyIGluc3RhbmNlIG9wZW4gYXQgb25jZSxcbiAgICogdGhlbiBlYWNoIHdpbGwgbmVlZCB0aGVpciBvd24gdW5pcXVlIHJvb3RJZC5cbiAgICpcbiAgICogKipOb3RlOioqIFRoaXMgb3B0aW9uIGlzIGlnbm9yZWQgd2hlbiBgZGlzcGxheU1vZGVgIGlzIGBkcm9wUGFuZWAuXG4gICAqL1xuICByb290SWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHN0YXJ0IHVwbG9hZGluZyBhdXRvbWF0aWNhbGx5IHdoZW4gbWF4RmlsZXMgaXMgaGl0LiBEZWZhdWx0cyB0byBgZmFsc2VgLlxuICAgKi9cbiAgc3RhcnRVcGxvYWRpbmdXaGVuTWF4RmlsZXNSZWFjaGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIGZpbGUgc3RvcmFnZS5cbiAgICovXG4gIHN0b3JlVG8/OiBQaWNrZXJTdG9yZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBTcGVjaWZ5IG9wdGlvbnMgZm9yIGltYWdlcyBwYXNzZWQgdG8gdGhlIGNyb3AgVUkuXG4gICAqL1xuICB0cmFuc2Zvcm1hdGlvbnM/OiBQaWNrZXJUcmFuc2Zvcm1hdGlvbk9wdGlvbnM7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBsb2NhbCBmaWxlIHVwbG9hZHMuXG4gICAqL1xuICB1cGxvYWRDb25maWc/OiBVcGxvYWRPcHRpb25zO1xuICAvKipcbiAgICogU3RhcnQgdXBsb2FkaW5nIGltbWVkaWF0ZWx5IG9uIGZpbGUgc2VsZWN0aW9uLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqIEBpbXBvcnRhbnQgVGhlIGZlYXR1cmUgaXMgY2FuIGJlIGVuYWJsZWQgb25seSBpZiBjcm9wIGlzIGRpc2FibGVkIC0gZGlzYWJsZVRyYW5zZm9ybWVyOiB0cnVlXG4gICAqL1xuICB1cGxvYWRJbkJhY2tncm91bmQ/OiBib29sZWFuO1xuICAvKipcbiAgICogU2V0cyB0aGUgcmVzb2x1dGlvbiBvZiByZWNvcmRlZCB2aWRlby4gT25lIG9mIFwiMzIweDI0MFwiLCBcIjY0MHg0ODBcIiBvciBcIjEyODB4NzIwXCIuIERlZmF1bHQgaXMgYFwiNjQweDQ4MFwiYC5cbiAgICovXG4gIHZpZGVvUmVzb2x1dGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZSBTZW50cnkgQnJlYWRjcnVtYnMgbWVjaGFuaXNtIHRvIGxvZyBpbmZvcm1hdGlvbiBhYm91dCBvY2N1cmVkIGVycm9ycy5cbiAgICogSXQgY2FuIG92ZXJyaWRlIGdsb2JhbCBvYmplY3RzIGxpa2UgY29uc29sZSwgZXJyb3IgZXRjLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqL1xuICB1c2VTZW50cnlCcmVhZGNydW1icz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTcGVjaWZ5IHdoaWNoIFBpY2tlciBpbnN0YW5jZSBzaG91bGQgcmVzcG9uZCB0byBwYXN0ZSBldmVudC5cbiAgICogQnkgZGVmYXVsdCBvbmx5IGhvdmVyZWQgaW5zdGFuY2UgcmVzcG9uZHMgdG8gZXZlbnQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbiA9IGZhbHNlfSBwYXN0ZVRvRmlyc3RJblZpZXdQb3J0IElmIG5vbmUgaW5zdGFuY2UgaXMgaG92ZXJlZCB0YWtlIGZpcnN0IHBpY2tlciBpbnN0YW5jZSBmdWxseSB2aXNpYmxlIGluIHZpZXdwb3J0XG4gICAqIEBwYXJhbSB7Ym9vbGVhbiA9IGZhbHNlfSBwYXN0ZVRvRmlyc3RJbnN0YW5jZSBJZiBub25lIGluc3RhbmNlIGlzIGhvdmVyZWQgdGFrZSBmaXJzdCBwaWNrZXIgaW5zdGFuY2UgdGhhdCBpcyBpbml0aWFsaXplZFxuICAgKiBAcGFzdGVUb0ZpcnN0SW5WaWV3UG9ydCBpcyBjaGVja2VkIGZpcnN0XG4gICAqL1xuICBwYXN0ZU1vZGU/OiB7XG4gICAgcGFzdGVUb0ZpcnN0SW5WaWV3UG9ydD86IGJvb2xlYW4sXG4gICAgcGFzdGVUb0ZpcnN0SW5zdGFuY2U/OiBib29sZWFuXG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyQ3JvcE9wdGlvbnMge1xuICAvKipcbiAgICogTWFpbnRhaW4gYXNwZWN0IHJhdGlvIGZvciBjcm9wIHNlbGVjdGlvbi4gKGUuZy4gMTYvOSwgODAwLzYwMCkuXG4gICAqL1xuICBhc3BlY3RSYXRpbz86IG51bWJlcjtcbiAgLyoqXG4gICAqIEZvcmNlIGFsbCBpbWFnZXMgdG8gYmUgY3JvcHBlZCBiZWZvcmUgdXBsb2FkaW5nLlxuICAgKi9cbiAgZm9yY2U/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlclRyYW5zZm9ybWF0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBFbmFibGUgY3JvcC4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKi9cbiAgY3JvcD86IGJvb2xlYW4gfCBQaWNrZXJDcm9wT3B0aW9ucztcbiAgLyoqXG4gICAqIEVuYWJsZSBjaXJjbGUgY3JvcC4gRGlzYWJsZWQgaWYgY3JvcC5hc3BlY3RSYXRpbyBpcyBkZWZpbmVkIGFuZCBub3QgMS4gQ29udmVydHMgdG8gUE5HLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqL1xuICBjaXJjbGU/OiBib29sZWFuO1xuICAvKipcbiAgICogRW5hYmxlIGltYWdlIHJvdGF0aW9uLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqL1xuICByb3RhdGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBHbG9iYWwgZm9yY2UgY3JvcCBvcHRpb24uIENhbiBiZSB1c2UgaWUgd2l0aCBjaXJjbGVcbiAgICovXG4gIGZvcmNlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJBY2NlcHRGbk9wdGlvbnMge1xuICAvKipcbiAgICogUHJvdmlkZWQgYWNjZXB0IHN0cmluZ1xuICAgKi9cbiAgYWNjZXB0OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIEFjY2VwdCBzdHJpbmcgY29udmVydGVkIHRvIG1pbWV0eXBlXG4gICAqL1xuICBhY2NlcHRNaW1lOiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIE1pbWV0eXBlIGJhc2VkIG1hZ2ljIGJ5dGVzXG4gICAqIHtAbGluayBodHRwczovL2ZpbGVzdGFjay5naXRodWIuaW8vZmlsZXN0YWNrLWpzL2dsb2JhbHMuaHRtbCNnZXRtaW1ldHlwZX1cbiAgICovXG4gIG1pbWVGcm9tTWFnaWNCeXRlczogUHJvbWlzZTxzdHJpbmc+O1xuICAvKipcbiAgICogTWltZXR5cGUgYmFzZWQgb24gZmlsZSBleHRlbnNpb25cbiAgICoge0BsaW5rIGh0dHBzOi8vZmlsZXN0YWNrLmdpdGh1Yi5pby9maWxlc3RhY2stanMvZ2xvYmFscy5odG1sI2V4dGVuc2lvbnRvbWltZX1cbiAgICovXG4gIG1pbWVGcm9tRXh0ZW5zaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQHByaXZhdGVcbiAqIEEgc3luY2hyb25vdXMtbG9va2luZyB3cmFwcGVyIGZvciBsb2FkaW5nIHRoZSBwaWNrZXIgYW5kIGNhbGxpbmcgaXRzIG1ldGhvZHMuXG4gKiBUaGlzIGlzIGN1cnJlbnRseSBuZWVkZWQgYmVjYXVzZSB0aGUgcGlja2VyIG1vZHVsZSBpcyBsb2FkZWQgYXN5bmNocm9ub3VzbHkuXG4gKiBFdmVudHVhbGx5IHdlIHNob3VsZCBvZmZlciBhIGJ1bmRsZSB3aXRoIHRoZSBwaWNrZXIgbW9kdWxlIGluY2x1ZGVkLlxuICovXG5jbGFzcyBQaWNrZXJMb2FkZXIge1xuXG4gIHByaXZhdGUgX2luaXRpYWxpemVkOiBQcm9taXNlPFBpY2tlckluc3RhbmNlPjtcbiAgY29uc3RydWN0b3IoY2xpZW50OiBDbGllbnQsIG9wdGlvbnM/OiBQaWNrZXJPcHRpb25zKSB7XG4gICAgY29uc3QgdmFsaWRhdGVSZXMgPSBnZXRWYWxpZGF0b3IoUGlja2VyUGFyYW1zU2NoZW1hKShvcHRpb25zKTtcblxuICAgIGlmICh2YWxpZGF0ZVJlcy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRmlsZXN0YWNrRXJyb3IoYEludmFsaWQgcGlja2VyIHBhcmFtc2AsIHZhbGlkYXRlUmVzLmVycm9ycywgRmlsZXN0YWNrRXJyb3JUeXBlLlZBTElEQVRJT04pO1xuICAgIH1cblxuICAgIHRoaXMuX2luaXRpYWxpemVkID0gdGhpcy5sb2FkTW9kdWxlKGNsaWVudCwgb3B0aW9ucyk7XG4gIH1cblxuICBhc3luYyBvcGVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHBpY2tlciA9IGF3YWl0IHRoaXMuX2luaXRpYWxpemVkO1xuICAgIGF3YWl0IHBpY2tlci5vcGVuKCk7XG4gIH1cblxuICBhc3luYyBjcm9wKGZpbGVzOiBhbnlbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHBpY2tlciA9IGF3YWl0IHRoaXMuX2luaXRpYWxpemVkO1xuICAgIGF3YWl0IHBpY2tlci5jcm9wKGZpbGVzKTtcbiAgfVxuXG4gIGFzeW5jIGNsb3NlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHBpY2tlciA9IGF3YWl0IHRoaXMuX2luaXRpYWxpemVkO1xuICAgIGF3YWl0IHBpY2tlci5jbG9zZSgpO1xuICB9XG5cbiAgYXN5bmMgY2FuY2VsKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHBpY2tlciA9IGF3YWl0IHRoaXMuX2luaXRpYWxpemVkO1xuICAgIGF3YWl0IHBpY2tlci5jYW5jZWwoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZE1vZHVsZShjbGllbnQ6IENsaWVudCwgb3B0aW9ucz86IFBpY2tlck9wdGlvbnMpOiBQcm9taXNlPFBpY2tlckluc3RhbmNlPiB7XG4gICAgY29uc3QgeyBzZXNzaW9uOiB7IHVybHM6IHsgcGlja2VyVXJsOiB1cmwgfSB9IH0gPSBjbGllbnQ7XG4gICAgY29uc3QgUGlja2VyID0gYXdhaXQgbG9hZE1vZHVsZShGSUxFU1RBQ0tfTU9EVUxFUy5QSUNLRVIsIHVybCk7XG4gICAgcmV0dXJuIG5ldyBQaWNrZXIoY2xpZW50LCBvcHRpb25zKTtcbiAgfVxufVxuXG4vKipcbiAqIExvYWRzIGFuZCBjcmVhdGVzIHBpY2tlciBpbnN0YW5jZVxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gY2xpZW50XG4gKiBAcGFyYW0gb3B0aW9uc1xuICovXG5leHBvcnQgY29uc3QgcGlja2VyID0gKGNsaWVudDogQ2xpZW50LCBvcHRpb25zPzogUGlja2VyT3B0aW9ucyk6IFBpY2tlckluc3RhbmNlID0+IHtcbiAgcmV0dXJuIG5ldyBQaWNrZXJMb2FkZXIoY2xpZW50LCBvcHRpb25zKTtcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcGlja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUErRC9ELE1BQU0sQ0FBTixJQUFZLGVBR1g7QUFIRCxXQUFZLGVBQWU7SUFDekIsNEJBQVMsQ0FBQTtJQUNULDhCQUFVLENBQUE7QUFDWixDQUFDLEVBSFcsZUFBZSxLQUFmLGVBQWUsUUFHMUI7QUErR0QsTUFBTSxDQUFOLElBQVksaUJBSVg7QUFKRCxXQUFZLGlCQUFpQjtJQUMzQixzQ0FBaUIsQ0FBQTtJQUNqQix3Q0FBbUIsQ0FBQTtJQUNuQiwwQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUk1QjtBQTZpQkQ7Ozs7O0dBS0c7QUFDSDtJQUdFLHNCQUFZLE1BQWMsRUFBRSxPQUF1QjtRQUNqRCxJQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5RCxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQzdCLE1BQU0sSUFBSSxjQUFjLENBQUMsdUJBQXVCLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN0RztRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVLLDJCQUFJLEdBQVY7Ozs7OzRCQUNpQixxQkFBTSxJQUFJLENBQUMsWUFBWSxFQUFBOzt3QkFBaEMsTUFBTSxHQUFHLFNBQXVCO3dCQUN0QyxxQkFBTSxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUE7O3dCQUFuQixTQUFtQixDQUFDOzs7OztLQUNyQjtJQUVLLDJCQUFJLEdBQVYsVUFBVyxLQUFZOzs7Ozs0QkFDTixxQkFBTSxJQUFJLENBQUMsWUFBWSxFQUFBOzt3QkFBaEMsTUFBTSxHQUFHLFNBQXVCO3dCQUN0QyxxQkFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFBOzt3QkFBeEIsU0FBd0IsQ0FBQzs7Ozs7S0FDMUI7SUFFSyw0QkFBSyxHQUFYOzs7Ozs0QkFDaUIscUJBQU0sSUFBSSxDQUFDLFlBQVksRUFBQTs7d0JBQWhDLE1BQU0sR0FBRyxTQUF1Qjt3QkFDdEMscUJBQU0sTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFBOzt3QkFBcEIsU0FBb0IsQ0FBQzs7Ozs7S0FDdEI7SUFFSyw2QkFBTSxHQUFaOzs7Ozs0QkFDaUIscUJBQU0sSUFBSSxDQUFDLFlBQVksRUFBQTs7d0JBQWhDLE1BQU0sR0FBRyxTQUF1Qjt3QkFDdEMscUJBQU0sTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFBOzt3QkFBckIsU0FBcUIsQ0FBQzs7Ozs7S0FDdkI7SUFFYSxpQ0FBVSxHQUF4QixVQUF5QixNQUFjLEVBQUUsT0FBdUI7Ozs7Ozt3QkFDeEIsR0FBRyxHQUFTLE1BQU0sdUJBQWYsQ0FBZ0I7d0JBQzFDLHFCQUFNLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUE7O3dCQUF4RCxNQUFNLEdBQUcsU0FBK0M7d0JBQzlELHNCQUFPLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBQzs7OztLQUNwQztJQUNILG1CQUFDO0FBQUQsQ0F0Q0EsQUFzQ0MsSUFBQTtBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxJQUFNLE1BQU0sR0FBRyxVQUFDLE1BQWMsRUFBRSxPQUF1QjtJQUM1RCxPQUFPLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL3BpY2tlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgbG9hZE1vZHVsZSwgRklMRVNUQUNLX01PRFVMRVMgfSBmcm9tICdAZmlsZXN0YWNrL2xvYWRlcic7XG5pbXBvcnQgeyBGaWxlc3RhY2tFcnJvciwgRmlsZXN0YWNrRXJyb3JUeXBlIH0gZnJvbSAnLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuaW1wb3J0IHsgQ2xpZW50IH0gZnJvbSAnLi9jbGllbnQnO1xuaW1wb3J0IHsgRlNQcm9ncmVzc0V2ZW50LCBVcGxvYWRPcHRpb25zLCBXb3JrZmxvd0NvbmZpZyB9IGZyb20gJy4vYXBpL3VwbG9hZC90eXBlcyc7XG5pbXBvcnQgeyBnZXRWYWxpZGF0b3IsIFBpY2tlclBhcmFtc1NjaGVtYSB9IGZyb20gJy4vLi4vc2NoZW1hJztcblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJJbnN0YW5jZSB7XG4gIC8qKlxuICAgKiBDbG9zZSBwaWNrZXIuIFRoaXMgb3BlcmF0aW9uIGlzIGlkZW1wb3RlbnQuXG4gICAqL1xuICBjbG9zZTogKCkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogQ2FuY2VsIHBpY2tlciB1cGxvYWRzLiBUaGlzIG9wZXJhdGlvbiBpcyBpZGVtcG90ZW50LlxuICAgKi9cbiAgY2FuY2VsOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBPcGVuIHBpY2tlci4gVGhpcyBvcGVyYXRpb24gaXMgaWRlbXBvdGVudC5cbiAgICovXG4gIG9wZW46ICgpID0+IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgYSBsaXN0IG9mIGZpbGVzIHRvIG9wZW4gaW4gdGhlIHBpY2tlciBmb3IgY3JvcHBpbmdcbiAgICpcbiAgICogIyMjIEV4YW1wbGVcbiAgICpcbiAgICogYGBganNcbiAgICogLy8gPGlucHV0IGlkPVwiZmlsZVNlbGVjdFwiIHR5cGU9XCJmaWxlXCI+XG4gICAqXG4gICAqIGNvbnN0IGlucHV0RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmlsZVNlbGVjdCcpO1xuICAgKiBjb25zdCBwaWNrZXIgPSBjbGllbnQucGlja2VyKHtcbiAgICogICBvblVwbG9hZERvbmU6IHJlcyA9PiBjb25zb2xlLmxvZyhyZXMpLFxuICAgKiB9KTtcbiAgICpcbiAgICogaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAoZSkgPT4ge1xuICAgKiAgIHBpY2tlci5jcm9wKGUudGFyZ2V0LmZpbGVzKTtcbiAgICogfSk7XG4gICAqXG4gICAqIC8vIE9yIHBhc3MgYW4gYXJyYXkgb2YgVVJMIHN0cmluZ3NcbiAgICogY29uc3QgdXJscyA9IFtcbiAgICogICAnaHR0cHM6Ly9kMXd0cWFmZmFhajYzei5jbG91ZGZyb250Lm5ldC9pbWFnZXMvZm94X2luX2ZvcmVzdDEuanBnJyxcbiAgICogICAnaHR0cHM6Ly9kMXd0cWFmZmFhajYzei5jbG91ZGZyb250Lm5ldC9pbWFnZXMvc2FpbC5qcGcnLFxuICAgKiBdO1xuICAgKiBwaWNrZXIuY3JvcCh1cmxzKTtcbiAgICogYGBgXG4gICAqL1xuICBjcm9wOiAoZmlsZXM6IGFueVtdKSA9PiBQcm9taXNlPHZvaWQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlckNyb3BwZWREYXRhIHtcbiAgY3JvcEFyZWE6IHtcbiAgICAvKipcbiAgICAgKiBbeCwgeV1cbiAgICAgKi9cbiAgICBwb3NpdGlvbjogW251bWJlciwgbnVtYmVyXTtcbiAgICAvKipcbiAgICAgKiBbd2lkdGgsIGhlaWdodF1cbiAgICAgKi9cbiAgICBzaXplOiBbbnVtYmVyLCBudW1iZXJdO1xuICB9O1xuICAgIC8qKlxuICAgICAqIFt3aWR0aCwgaGVpZ2h0XVxuICAgICAqL1xuICBvcmlnaW5hbEltYWdlU2l6ZTogW251bWJlciwgbnVtYmVyXTtcbn1cblxuZXhwb3J0IGVudW0gUm90YXRlRGlyZWN0aW9uIHtcbiAgY3cgPSAnQ1cnLFxuICBjY3c9ICdDQ1cnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlclJvdGF0ZWREYXRhIHtcbiAgLyoqXG4gICAqIEFtb3VudCByb3RhdGVkIGluIGRlZ3JlZXMuXG4gICAqL1xuICB2YWx1ZTogbnVtYmVyO1xuICAvKipcbiAgICogQ2FuIGJlIENXIG9yIENDVyAoY2xvY2t3aXNlIC8gY291bnRlci1jbG9ja3dpc2UpXG4gICAqL1xuICBkaXJlY3Rpb246IFJvdGF0ZURpcmVjdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJGaWxlTWV0YWRhdGEge1xuICAvKipcbiAgICogVGhlIGNsb3VkIGNvbnRhaW5lciBmb3IgdGhlIHVwbG9hZGVkIGZpbGUuXG4gICAqL1xuICBjb250YWluZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQb3NpdGlvbiBhbmQgc2l6ZSBpbmZvcm1hdGlvbiBmb3IgY3JvcHBlZCBpbWFnZXMuXG4gICAqL1xuICBjcm9wcGVkPzogUGlja2VyQ3JvcHBlZERhdGE7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBmaWxlLlxuICAgKi9cbiAgZmlsZW5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIEZpbGVzdGFjayBoYW5kbGUgZm9yIHRoZSB1cGxvYWRlZCBmaWxlLlxuICAgKi9cbiAgaGFuZGxlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgaGFzaC1wcmVmaXhlZCBjbG91ZCBzdG9yYWdlIHBhdGguXG4gICAqL1xuICBrZXk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgTUlNRSB0eXBlIG9mIHRoZSBmaWxlLlxuICAgKi9cbiAgbWltZXR5cGU6IHN0cmluZztcbiAgLyoqXG4gICAqIFByb3BlcnRpZXMgb2YgdGhlIGxvY2FsIGJpbmFyeSBmaWxlLiBBbHNvIHNlZSB0aGUgcGljayBvcHRpb24gYGV4cG9zZU9yaWdpbmFsRmlsZWAgaWYgeW91IHdhbnQgdGhlIHVuZGVybHlpbmcgYEZpbGVgIG9iamVjdC5cbiAgICovXG4gIG9yaWdpbmFsRmlsZT86IG9iamVjdCB8IEZpbGU7XG4gIC8qKlxuICAgKiBUaGUgb3JpZ2luIG9mIHRoZSBmaWxlLCBlLmcuIC9Gb2xkZXIvZmlsZS5qcGcuXG4gICAqL1xuICBvcmlnaW5hbFBhdGg6IHN0cmluZztcbiAgLyoqXG4gICAqIERpcmVjdGlvbiBhbmQgdmFsdWUgaW5mb3JtYXRpb24gZm9yIHJvdGF0ZWQgaW1hZ2VzLlxuICAgKi9cbiAgcm90YXRlZD86IFBpY2tlclJvdGF0ZWREYXRhO1xuICAvKipcbiAgICogU2l6ZSBpbiBieXRlcyBvZiB0aGUgdXBsb2FkZWQgZmlsZS5cbiAgICovXG4gIHNpemU6IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgZnJvbSB3aGVyZSB0aGUgZmlsZSB3YXMgcGlja2VkLlxuICAgKi9cbiAgc291cmNlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgRmlsZXN0YWNrIHRyYW5zaXQgc3RhdHVzLlxuICAgKi9cbiAgc3RhdHVzPzogc3RyaW5nO1xuICAvKipcbiAgICogQSB1dWlkIGZvciB0cmFja2luZyB0aGlzIGZpbGUgaW4gY2FsbGJhY2tzLlxuICAgKi9cbiAgdXBsb2FkSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBGaWxlc3RhY2sgQ0ROIFVSTCBmb3IgdGhlIHVwbG9hZGVkIGZpbGUuXG4gICAqL1xuICB1cmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21BdXRoVGV4dE9wdGlvbnMge1xuICBba2V5OiBzdHJpbmddOiB7XG4gICAgdG9wPzogc3RyaW5nW10sXG4gICAgYm90dG9tPzogc3RyaW5nW11cbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJSZXNwb25zZSB7XG4gIGZpbGVzVXBsb2FkZWQ6IFBpY2tlckZpbGVNZXRhZGF0YVtdO1xuICBmaWxlc0ZhaWxlZDogUGlja2VyRmlsZU1ldGFkYXRhW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyRmlsZUNhbGxiYWNrIHtcbiAgKGZpbGU6IFBpY2tlckZpbGVNZXRhZGF0YSk6IHZvaWQgfCBQcm9taXNlPGFueT47XG59XG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlckZpbGVXaXRoVG9rZW5DYWxsYmFjayB7XG4gIChmaWxlOiBQaWNrZXJGaWxlTWV0YWRhdGEsIHRva2VuPzoge3BhdXNlPzogKCkgPT4gdm9pZCwgcmVzdW1lPzogKCkgPT4gdm9pZCwgY2FuY2VsPzogKCkgPT4gdm9pZH0pOiB2b2lkIHwgUHJvbWlzZTxhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlckZpbGVDYW5jZWxDYWxsYmFjayB7XG4gIChmaWxlOiBQaWNrZXJGaWxlTWV0YWRhdGEpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlckZpbGVFcnJvckNhbGxiYWNrIHtcbiAgKGZpbGU6IFBpY2tlckZpbGVNZXRhZGF0YSwgZXJyb3I6IEVycm9yKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJGaWxlUHJvZ3Jlc3NDYWxsYmFjayB7XG4gIChmaWxlOiBQaWNrZXJGaWxlTWV0YWRhdGEsIGV2ZW50OiBGU1Byb2dyZXNzRXZlbnQpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlclVwbG9hZFN0YXJ0ZWRDYWxsYmFjayB7XG4gIChmaWxlczogUGlja2VyRmlsZU1ldGFkYXRhW10pOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlclVwbG9hZERvbmVDYWxsYmFjayB7XG4gIChmaWxlczogUGlja2VyUmVzcG9uc2UpOiB2b2lkO1xufVxuXG5leHBvcnQgZW51bSBQaWNrZXJEaXNwbGF5TW9kZSB7XG4gIGlubGluZSA9ICdpbmxpbmUnLFxuICBvdmVybGF5ID0gJ292ZXJsYXknLFxuICBkcm9wUGFuZSA9ICdkcm9wUGFuZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyRHJvcFBhbmVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgY3JvcCBVSSBmb3IgZHJvcHBlZCBmaWxlcy5cbiAgICovXG4gIGNyb3BGaWxlcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDdXN0b21pemUgdGhlIHRleHQgY29udGVudCBpbiB0aGUgZHJvcCBwYW5lLlxuICAgKi9cbiAgY3VzdG9tVGV4dD86IHN0cmluZztcbiAgLyoqXG4gICAqIERpc2FibGUgdGhlIGZpbGUgaW5wdXQgb24gY2xpY2suIFRoaXMgZG9lcyBub3QgZGlzYWJsZSB0aGUgYG9uQ2xpY2tgIGNhbGxiYWNrLlxuICAgKi9cbiAgZGlzYWJsZUNsaWNrPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgZnVsbC1wYWdlIGRyb3Agem9uZSBvdmVybGF5LlxuICAgKi9cbiAgb3ZlcmxheT86IGJvb2xlYW47XG4gIG9uRHJhZ0VudGVyPzogKGV2dDogRHJhZ0V2ZW50KSA9PiB2b2lkO1xuICBvbkRyYWdMZWF2ZT86ICgpID0+IHZvaWQ7XG4gIG9uRHJhZ092ZXI/OiAoZXZ0OiBEcmFnRXZlbnQpID0+IHZvaWQ7XG4gIG9uRHJvcD86IChldnQ6IERyYWdFdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIGBvblN1Y2Nlc3NgIG11c3QgYmUgdXNlZCBpbnN0ZWFkIG9mIGBvblVwbG9hZERvbmVgLiBUaGUgZHJvcCBwYW5lIHVzZXMgaXRzIG93biBjYWxsYmFja3MgZm9yIGNvbXBhdGliaWxpdHkgcHVycG9zZXMuIFRoaXMgbWlnaHQgZXZlbnR1YWxseSBjaGFuZ2UuXG4gICAqL1xuICBvblN1Y2Nlc3M/OiAoZmlsZXM6IFBpY2tlckZpbGVNZXRhZGF0YVtdKSA9PiB2b2lkO1xuICBvbkVycm9yPzogKGZpbGVzOiBQaWNrZXJGaWxlTWV0YWRhdGFbXSkgPT4gdm9pZDtcbiAgb25Qcm9ncmVzcz86IChwZXJjZW50OiBudW1iZXIpID0+IHZvaWQ7XG4gIG9uQ2xpY2s/OiAoZXZ0OiBhbnkpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBUb2dnbGUgaWNvbiBlbGVtZW50IGluIGRyb3AgcGFuZS5cbiAgICovXG4gIHNob3dJY29uPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRvZ2dsZSB1cGxvYWQgcHJvZ3Jlc3MgZGlzcGxheS5cbiAgICovXG4gIHNob3dQcm9ncmVzcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyU3RvcmVPcHRpb25zIHtcbiAgLyoqXG4gICAqIExvY2F0aW9uIGZvciBzdG9yZWQgZmlsZS4gT25lIG9mICdzMycsICdnY3MnLCAnYXp1cmUnLCAncmFja3NwYWNlJywgb3IgJ2Ryb3Bib3gnLlxuICAgKi9cbiAgbG9jYXRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTcGVjaWZ5IHN0b3JhZ2UgY29udGFpbmVyLlxuICAgKi9cbiAgY29udGFpbmVyPzogc3RyaW5nO1xuICAvKipcbiAgICogU2V0IGNvbnRhaW5lciBwYXRoLiBJbmRpY2F0ZSBhIGZvbGRlciBieSBhZGRpbmcgYSB0cmFpbGluZyBzbGFzaC4gV2l0aG91dCBhIHRyYWlsaW5nIHNsYXNoIGFsbCBmaWxlcyB3aWxsIGJlIHN0b3JlZCB0byB0aGUgc2FtZSBvYmplY3QuXG4gICAqL1xuICBwYXRoPzogc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmeSBTMyByZWdpb24uXG4gICAqL1xuICByZWdpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTMyBjb250YWluZXIgYWNjZXNzLiAncHVibGljJyBvciAncHJpdmF0ZScuXG4gICAqL1xuICBhY2Nlc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdvcmtmbG93cyBpZHMgdG8gcnVuIGFmdGVyIHVwbG9hZFxuICAgKi9cbiAgd29ya2Zsb3dzPzogc3RyaW5nW10gfCBXb3JrZmxvd0NvbmZpZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlckN1c3RvbVRleHQge1xuICAvLyBBY3Rpb25zXG4gIFVwbG9hZD86IHN0cmluZztcbiAgJ1VwbG9hZCBtb3JlJz86IHN0cmluZztcbiAgJ0Rlc2VsZWN0IEFsbCc/OiBzdHJpbmc7XG4gICdWaWV3L0VkaXQgU2VsZWN0ZWQnPzogc3RyaW5nO1xuICAnU2lnbiBPdXQnPzogc3RyaW5nO1xuXG4gIC8vIFNvdXJjZSBMYWJlbHNcbiAgJ015IERldmljZSc/OiBzdHJpbmc7XG4gICdXZWIgU2VhcmNoJz86IHN0cmluZztcbiAgJ1Rha2UgUGhvdG8nPzogc3RyaW5nO1xuICAnTGluayAoVVJMKSc/OiBzdHJpbmc7XG4gICdSZWNvcmQgVmlkZW8nPzogc3RyaW5nO1xuICAnUmVjb3JkIEF1ZGlvJz86IHN0cmluZztcblxuICAvLyBDdXN0b20gU291cmNlXG4gICdDdXN0b20gU291cmNlJz86IHN0cmluZztcblxuICAvLyBGb290ZXIgVGV4dFxuICBBZGQ/OiBzdHJpbmc7XG4gICdtb3JlIGZpbGUnPzogc3RyaW5nO1xuICAnbW9yZSBmaWxlcyc/OiBzdHJpbmc7XG5cbiAgLy8gQ2xvdWRcbiAgJ0Nvbm5lY3Qge3Byb3ZpZGVyTmFtZX0nPzogc3RyaW5nO1xuICAnU2VsZWN0IEZpbGVzIGZyb20ge3Byb3ZpZGVyTmFtZX0nPzogc3RyaW5nO1xuICAnWW91IG5lZWQgdG8gYXV0aGVudGljYXRlIHdpdGgge3Byb3ZpZGVyTmFtZX0uJz86IHN0cmluZztcbiAgJ0EgbmV3IHBhZ2Ugd2lsbCBvcGVuIHRvIGNvbm5lY3QgeW91ciBhY2NvdW50Lic/OiBzdHJpbmc7XG4gICdXZSBvbmx5IGV4dHJhY3QgaW1hZ2VzIGFuZCBuZXZlciBtb2RpZnkgb3IgZGVsZXRlIHRoZW0uJz86IHN0cmluZztcbiAgJ1RvIGRpc2Nvbm5lY3QgZnJvbSB7cHJvdmlkZXJOYW1lfSBjbGljayBcIlNpZ24gb3V0XCIgYnV0dG9uIGluIHRoZSBtZW51Lic/OiBzdHJpbmc7XG4gICdTaWduIGluIHdpdGggR29vZ2xlJz86IHN0cmluZztcbiAgJ0dvIGJhY2snPzogc3RyaW5nO1xuICAnVGhpcyBmb2xkZXIgaXMgZW1wdHkuJz86IHN0cmluZztcblxuICAvLyBTdW1tYXJ5XG4gIEZpbGVzPzogc3RyaW5nO1xuICBJbWFnZXM/OiBzdHJpbmc7XG4gIFVwbG9hZGVkPzogc3RyaW5nO1xuICBVcGxvYWRpbmc/OiBzdHJpbmc7XG4gIENvbXBsZXRlZD86IHN0cmluZztcbiAgRmlsdGVyPzogc3RyaW5nO1xuICAnQ3JvcHBlZCBJbWFnZXMnPzogc3RyaW5nO1xuICAnRWRpdGVkIEltYWdlcyc/OiBzdHJpbmc7XG4gICdTZWxlY3RlZCBGaWxlcyc/OiBzdHJpbmc7XG4gICdDcm9wIGlzIHJlcXVpcmVkIG9uIGltYWdlcyc/OiBzdHJpbmc7XG5cbiAgLy8gVHJhbnNmb3JtXG4gIENyb3A/OiBzdHJpbmc7XG4gIENpcmNsZT86IHN0cmluZztcbiAgUm90YXRlPzogc3RyaW5nO1xuICBNYXNrPzogc3RyaW5nO1xuICBSZXZlcnQ/OiBzdHJpbmc7XG4gIEVkaXQ/OiBzdHJpbmc7XG4gIFJlc2V0Pzogc3RyaW5nO1xuICBEb25lPzogc3RyaW5nO1xuICBTYXZlPzogc3RyaW5nO1xuICBOZXh0Pzogc3RyaW5nO1xuICAnRWRpdCBJbWFnZSc/OiBzdHJpbmc7XG4gICdUaGlzIGltYWdlIGNhbm5vdCBiZSBlZGl0ZWQnPzogc3RyaW5nO1xuXG4gIC8vIFJldHJ5IG1lc3NhZ2luZ1xuICAnQ29ubmVjdGlvbiBMb3N0Jz86IHN0cmluZztcbiAgJ0ZhaWxlZCBXaGlsZSBVcGxvYWRpbmcnPzogc3RyaW5nO1xuICAnUmV0cnlpbmcgaW4nPzogc3RyaW5nO1xuICAnVHJ5IGFnYWluJz86IHN0cmluZztcbiAgJ1RyeSBub3cnPzogc3RyaW5nO1xuXG4gIC8vIExvY2FsIEZpbGUgU291cmNlXG4gICdEcmFnIGFuZCBEcm9wLCBDb3B5IGFuZCBQYXN0ZSBGaWxlcyc/OiBzdHJpbmc7XG4gICdvciBEcmFnIGFuZCBEcm9wLCBDb3B5IGFuZCBQYXN0ZSBGaWxlcyc/OiBzdHJpbmc7XG4gICdTZWxlY3QgRmlsZXMgdG8gVXBsb2FkJz86IHN0cmluZztcbiAgJ1NlbGVjdCBGcm9tJz86IHN0cmluZztcbiAgJ0Ryb3AgeW91ciBmaWxlcyBhbnl3aGVyZSc/OiBzdHJpbmc7XG5cbiAgLy8gSW5wdXQgcGxhY2Vob2xkZXJzXG4gICdFbnRlciBhIFVSTCc/OiBzdHJpbmc7XG4gICdTZWFyY2ggaW1hZ2VzJz86IHN0cmluZztcblxuICAvLyBXZWJjYW0gU291cmNlXG4gICdXZWJjYW0gRGlzYWJsZWQnPzogc3RyaW5nO1xuICAnV2ViY2FtIE5vdCBTdXBwb3J0ZWQnPzogc3RyaW5nO1xuICAnUGxlYXNlIGVuYWJsZSB5b3VyIHdlYmNhbSB0byB0YWtlIGEgcGhvdG8uJz86IHN0cmluZztcbiAgJ1lvdXIgY3VycmVudCBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgd2ViY2FtIGZ1bmN0aW9uYWxpdHkuJz86IHN0cmluZztcbiAgJ1dlIHN1Z2dlc3QgdXNpbmcgQ2hyb21lIG9yIEZpcmVmb3guJz86IHN0cmluZztcblxuICAvLyBFcnJvciBOb3RpZmljYXRpb25zXG4gICdGaWxlIHtkaXNwbGF5TmFtZX0gaXMgbm90IGFuIGFjY2VwdGVkIGZpbGUgdHlwZS4gVGhlIGFjY2VwdGVkIGZpbGUgdHlwZXMgYXJlIHt0eXBlc30nPzogc3RyaW5nO1xuICAnRmlsZSB7ZGlzcGxheU5hbWV9IGlzIHRvbyBiaWcuIFRoZSBhY2NlcHRlZCBmaWxlIHNpemUgaXMgbGVzcyB0aGFuIHtyb3VuZEZpbGVTaXplfSc/OiBzdHJpbmc7XG4gICdPdXIgZmlsZSB1cGxvYWQgbGltaXQgaXMge21heEZpbGVzfSB7ZmlsZXNUZXh0fSc/OiBzdHJpbmc7XG4gICdObyBzZWFyY2ggcmVzdWx0cyBmb3VuZCBmb3IgXCJ7c2VhcmNofVwiJz86IHN0cmluZztcbiAgJ0FuIGVycm9yIG9jY3VycmVkLiBQbGVhc2UgdHJ5IGFnYWluLic/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBSZXN0cmljdCBmaWxlIHR5cGVzIHRoYXQgYXJlIGFsbG93ZWQgdG8gYmUgcGlja2VkLiBGb3JtYXRzIGFjY2VwdGVkOlxuICAgKiAgLSAucGRmIDwtIGFueSBmaWxlIGV4dGVuc2lvblxuICAgKiAgLSBpbWFnZS9qcGVnIDwtIGFueSBtaW1lIHR5cGUgY29tbW9ubHkga25vd24gYnkgYnJvd3NlcnNcbiAgICogIC0gaW1hZ2UvKiA8LSBhY2NlcHQgYWxsIHR5cGVzIG9mIGltYWdlc1xuICAgKiAgLSB2aWRlby8qIDwtIGFjY2VwdCBhbGwgdHlwZXMgb2YgdmlkZW8gZmlsZXNcbiAgICogIC0gYXVkaW8vKiA8LSBhY2NlcHQgYWxsIHR5cGVzIG9mIGF1ZGlvIGZpbGVzXG4gICAqICAtIGFwcGxpY2F0aW9uLyogPC0gYWNjZXB0IGFsbCB0eXBlcyBvZiBhcHBsaWNhdGlvbiBmaWxlc1xuICAgKiAgLSB0ZXh0LyogPC0gYWNjZXB0IGFsbCB0eXBlcyBvZiB0ZXh0IGZpbGVzXG4gICAqL1xuICBhY2NlcHQ/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIEN1c3RvbSBhY2NlcHQgY2hlY2sgZnVuY3Rpb25cbiAgICogYGBgamF2YXNjcmlwdFxuICAgKiBhY2NlcHRGbjogKGZpbGUsIG9wdGlvbnMpID0+IHtcbiAgICogIHJldHVybiBvcHRpb25zLm1pbWVGcm9tTWFnaWNCeXRlcyhmaWxlLm9yaWdpbmFsRmlsZSkudGhlbigocmVzKSA9PiB7IC8vIHdlIGNhbiBjaGVjayBtaW1ldHlwZSBmcm9tIG1hZ2ljIGJ5dGVzXG4gICAqICAgIC8vY29uc29sZS5sb2cob3B0aW9ucy5taW1lRnJvbUV4dGVuc2lvbihmaWxlLm9yaWdpbmFsRmlsZS5uYW1lKSk7IC8vIG9yIGNoZWNrIGV4dGVuc2lvbiBmcm9tIGZpbGVzdGFjayBleHRlbnNpb25zIGRhdGFiYXNlXG4gICAqICAgIC8vIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGFjY2VwdCB0aGF0IGZpbGUnKSAvLyB3ZSBjYW4gdGhyb3cgZXhjZXB0aW9uIHRvIGJsb2NrIGZpbGUgdXBsb2FkXG4gICAqICAgIC8vIHJldHVybiBQcm9taXNlLnJlamVjdCgnQ2Fubm90IGFjY2VwdCB0aGF0IGZpbGUnJykgLy8gb3IgcmVqZWN0IGEgcHJvbWlzZVxuICAgKiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAqICB9KTtcbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGFjY2VwdEZuPzogKFBpY2tlckZpbGVNZXRhZGF0YSwgUGlja2VyQWNjZXB0Rm5PcHRpb25zKSA9PiBQcm9taXNlPHN0cmluZz47XG4gIC8qKlxuICAgKiBQcmV2ZW50IG1vZGFsIGNsb3NlIG9uIHVwbG9hZCBmYWlsdXJlIGFuZCBhbGxvdyB1c2VycyB0byByZXRyeS5cbiAgICovXG4gIGFsbG93TWFudWFsUmV0cnk/OiBib29sZWFuO1xuICAvKipcbiAgICogIFZhbGlkIHNvdXJjZXMgYXJlOlxuICAgKiAgLSBsb2NhbF9maWxlX3N5c3RlbSAtIERlZmF1bHRcbiAgICogIC0gdXJsIC0gRGVmYXVsdFxuICAgKiAgLSBpbWFnZXNlYXJjaCAtIERlZmF1bHRcbiAgICogIC0gZmFjZWJvb2sgLSBEZWZhdWx0XG4gICAqICAtIGluc3RhZ3JhbSAtIERlZmF1bHRcbiAgICogIC0gZ29vZ2xlZHJpdmUgLSBEZWZhdWx0XG4gICAqICAtIGRyb3Bib3ggLSBEZWZhdWx0XG4gICAqICAtIHdlYmNhbSAtIFVzZXMgZGV2aWNlIG1lbnUgb24gbW9iaWxlLiBOb3QgY3VycmVudGx5IHN1cHBvcnRlZCBpbiBTYWZhcmkgYW5kIElFLlxuICAgKiAgLSB2aWRlbyAtIFVzZXMgZGV2aWNlIG1lbnUgb24gbW9iaWxlLiBOb3QgY3VycmVudGx5IHN1cHBvcnRlZCBpbiBTYWZhcmkgYW5kIElFLlxuICAgKiAgLSBhdWRpbyAtIFVzZXMgZGV2aWNlIG1lbnUgb24gbW9iaWxlLiBOb3QgY3VycmVudGx5IHN1cHBvcnRlZCBpbiBTYWZhcmkgYW5kIElFLlxuICAgKiAgLSBib3hcbiAgICogIC0gZ2l0aHViXG4gICAqICAtIGdtYWlsXG4gICAqICAtIGdvb2dsZXBob3Rvc1xuICAgKiAgLSBvbmVkcml2ZVxuICAgKiAgLSBvbmVkcml2ZWZvcmJ1c2luZXNzXG4gICAqICAtIGN1c3RvbXNvdXJjZSAtIENvbmZpZ3VyZSB0aGlzIGluIHlvdXIgRmlsZXN0YWNrIERldiBQb3J0YWwuXG4gICAqICAtIHVuc3BsYXNoXG4gICAqL1xuICBmcm9tU291cmNlcz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogQ29udGFpbmVyIHdoZXJlIHBpY2tlciBzaG91bGQgYmUgYXBwZW5kZWQuIE9ubHkgcmVsZXZhbnQgZm9yIGBpbmxpbmVgIGFuZCBgZHJvcFBhbmVgIGRpc3BsYXkgbW9kZXMuXG4gICAqL1xuICBjb250YWluZXI/OiBzdHJpbmcgfCBOb2RlO1xuXG4gIC8qKlxuICAgKiBUdXJuIG9uIGNsZWFuaW5nIEpQRUcgaW1hZ2UgZXhpZi4gTWV0aG9kIGNhbiBrZWVwIGltYWdlIG9yaWVudGF0aW9uIG9yIGNvbG9yIHByb2ZpbGVzXG4gICAqIGBgYGphdmFzY3JpcHRcbiAgICogY2xlYW51cEltYWdlRXhpZjoge1xuICAgKiAgIGtlZXBPcmllbnRhdGlvbjogdHJ1ZVxuICAgKiAgIGtlZXBJQ0NhbmRBUFA6IHRydWVcbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGNsZWFudXBJbWFnZUV4aWY/OiBib29sZWFuIHwge1xuICAgIGtlZXBPcmllbnRhdGlvbj86IGJvb2xlYW4sXG4gICAga2VlcElDQ2FuZEFQUD86IGJvb2xlYW5cbiAgfTtcbiAgLyoqXG4gICAqIEN1c3RvbWl6ZSB0aGUgdGV4dCBvbiB0aGUgY2xvdWQgYXV0aGVudGljYXRpb24gc2NyZWVuIGluIFBpY2tlci5cbiAgICogVXNlIGEgY2xvdWQgc291cmNlIG5hbWUgKHNlZSB7QGxpbmsgUGlja2VyT3B0aW9ucy5mcm9tU291cmNlc30pXG4gICAqIG9yIGEgJ2RlZmF1bHQnIGFzIGEga2V5LCB0aGVuIHB1dCB5b3VyIGN1c3RvbSBub3RpY2Ugb3IgY29uc2VudFxuICAgKiB0byB0aGUgJ3RvcCcgb3IgdGhlICdib3R0b20nIGtleSB0byBzaG93IGl0IHJlc3BlY3Rpdmx5IGFib3ZlIG9yIHVuZGVyICdDb25uZWN0IGJ1dHRvbicuXG4gICAqXG4gICAqIGBgYGphdmFzY3JpcHRcbiAgICogY3VzdG9tQXV0aFRleHQ6IHtcbiAgICogICAvLyB1c2UgaXQgZm9yIGV2ZXJ5IGNsb3VkIGF1dGhlbnRpY2F0aW9uIHNjcmVlblxuICAgKiAgIGRlZmF1bHQ6IHtcbiAgICogICAgIHRvcDogW1xuICAgKiAgICAgICAnZGVmYXVsdCB0b3AgZmlyc3QgbGluZScsXG4gICAqICAgICAgICdkZWZhdWx0IHRvcCBzZWNvbmQgbGluZSdcbiAgICogICAgIF0sXG4gICAqICAgICBib3R0b206IFtcbiAgICogICAgICAgJ2RlZmF1bHQgYm90dG9tIGZpcnN0IGxpbmUnLFxuICAgKiAgICAgICAnZGVmYXVsdCBib3R0b20gc2Vjb25kIGxpbmUnXG4gICAqICAgICBdXG4gICAqICAgfSxcbiAgICogICAvLyBvdmVycmlkZSBhIGRlZmF1bHQgYm90dG9tIHRleHQgZm9yIG9ubHkgZ21haWxcbiAgICogICBnbWFpbDoge1xuICAgKiAgICAgYm90dG9tOiBbXG4gICAqICAgICAgICdXZSBuZWVkIHlvdXIgcGVybWlzc2lvbiB0byBhY2Nlc3MgeW91ciBkYXRhIGFuZCcsXG4gICAqICAgICAgICdwcm9jZXNzIGl0IHdpdGggb3VyIG1hY2hpbmUgbGVhcm5pbmcgc3lzdGVtLidcbiAgICogICAgIF1cbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBjdXN0b21BdXRoVGV4dD86IEN1c3RvbUF1dGhUZXh0T3B0aW9ucztcbiAgLyoqXG4gICAqIFBpY2tlciBkaXNwbGF5IG1vZGUsIG9uZSBvZiBgJ2lubGluZSdgLCBgJ292ZXJsYXknYCwgYCdkcm9wUGFuZSdgIC0gZGVmYXVsdCBpcyBgJ292ZXJsYXknYC5cbiAgICovXG4gIGRpc3BsYXlNb2RlPzogUGlja2VyRGlzcGxheU1vZGU7XG4gIC8qKlxuICAgKiBNYXggbnVtYmVyIG9mIGZpbGVzIHRvIHVwbG9hZCBjb25jdXJyZW50bHkuIERlZmF1bHQgaXMgNC5cbiAgICovXG4gIGNvbmN1cnJlbmN5PzogbnVtYmVyO1xuICAvKipcbiAgICogU2V0IHRoZSBkZWZhdWx0IGNvbnRhaW5lciBmb3IgeW91ciBjdXN0b20gc291cmNlLlxuICAgKi9cbiAgY3VzdG9tU291cmNlQ29udGFpbmVyPzogc3RyaW5nO1xuICAvKipcbiAgICogU2V0IHRoZSBkZWZhdWx0IHBhdGggZm9yIHlvdXIgY3VzdG9tIHNvdXJjZSBjb250YWluZXIuXG4gICAqL1xuICBjdXN0b21Tb3VyY2VQYXRoPzogc3RyaW5nO1xuICAvKipcbiAgICogU2V0IHRoZSBkaXNwbGF5IG5hbWUgZm9yIHRoZSBjdXN0b20gc291cmNlLlxuICAgKi9cbiAgY3VzdG9tU291cmNlTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFByb3ZpZGUgYW4gb2JqZWN0IGZvciBtYXBwaW5nIHBpY2tlciBzdHJpbmdzIHRvIHlvdXIgb3duIHN0cmluZ3MuXG4gICAqIFN0cmluZ3Mgc3Vycm91bmRlZCBieSBicmFja2V0cywgYHsgZm9vYmFyIH1gLCBhcmUgaW50ZXJwb2xhdGVkIHdpdGggcnVudGltZSB2YWx1ZXMuXG4gICAqIFNvdXJjZSBsYWJlbHMgYXJlIGFsc28gYXZhaWxhYmxlIHRvIG92ZXJyaWRlLCBlLmcuIEZhY2Vib29rLCBJbnN0YWdyYW0sIERyb3Bib3gsIGV0Yy5cbiAgICovXG4gIGN1c3RvbVRleHQ/OiBQaWNrZXJDdXN0b21UZXh0O1xuICAvKipcbiAgICogc2V0IHN1cHBvcnQgZW1haWwgdG8gZGlzcGxheSBpbiBjYXNlIG9mIGVycm9yXG4gICAqL1xuICBzdXBwb3J0RW1haWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXaGVuIHRydWUgcmVtb3ZlcyB0aGUgaGFzaCBwcmVmaXggb24gc3RvcmVkIGZpbGVzLlxuICAgKi9cbiAgZGlzYWJsZVN0b3JhZ2VLZXk/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hlbiB0cnVlIHJlbW92ZXMgYWJpbGl0eSB0byBlZGl0IGltYWdlcy5cbiAgICovXG4gIGRpc2FibGVUcmFuc2Zvcm1lcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEaXNhYmxlcyBsb2NhbCBpbWFnZSB0aHVtYm5haWwgcHJldmlld3MgaW4gdGhlIHN1bW1hcnkgc2NyZWVuLlxuICAgKi9cbiAgZGlzYWJsZVRodW1ibmFpbHM/OiBib29sZWFuO1xuICAvKipcbiAgICogQ29uZmlndXJlIHRoZSBkcm9wIHBhbmUgYmVoYXZpb3IsIGkuZS4gd2hlbiBgZGlzcGxheU1vZGVgIGlzIGBkcm9wUGFuZWAuXG4gICAqL1xuICBkcm9wUGFuZT86IFBpY2tlckRyb3BQYW5lT3B0aW9ucztcbiAgLyoqXG4gICAqIFdoZW4gdHJ1ZSB0aGUgYG9yaWdpbmFsRmlsZWAgbWV0YWRhdGEgd2lsbCBiZSB0aGUgYWN0dWFsIGBGaWxlYCBvYmplY3QgaW5zdGVhZCBvZiBhIFBPSk9cbiAgICovXG4gIGV4cG9zZU9yaWdpbmFsRmlsZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIGRyb3Agem9uZSB0byBiZSBhY3RpdmUgb24gYWxsIHZpZXdzLiBEZWZhdWx0IGlzIGFjdGl2ZSBvbmx5IG9uIGxvY2FsIGZpbGUgc291cmNlLlxuICAgKi9cbiAgZ2xvYmFsRHJvcFpvbmU/OiBib29sZWFuO1xuICAvKipcbiAgICogSGlkZSB0aGUgcGlja2VyIG1vZGFsIFVJIG9uY2UgdXBsb2FkaW5nIGJlZ2lucy4gRGVmYXVsdHMgdG8gYGZhbHNlYC5cbiAgICovXG4gIGhpZGVNb2RhbFdoZW5VcGxvYWRpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IGltYWdlIGRpbWVuc2lvbnMuIGUuZy4gWzgwMCwgNjAwXS4gT25seSBmb3IgSlBFRywgUE5HLCBhbmQgQk1QIGZpbGVzLlxuICAgKiBMb2NhbCBhbmQgY3JvcHBlZCBpbWFnZXMgd2lsbCBiZSByZXNpemVkICh1cHNjYWxlZCBvciBkb3duc2NhbGVkKSB0byB0aGUgc3BlY2lmaWVkIGRpbWVuc2lvbnMgYmVmb3JlIHVwbG9hZGluZy5cbiAgICogVGhlIG9yaWdpbmFsIGhlaWdodCB0byB3aWR0aCByYXRpbyBpcyBtYWludGFpbmVkLiBUbyByZXNpemUgYWxsIGltYWdlcyBiYXNlZCBvbiB0aGUgd2lkdGgsIHNldCBbd2lkdGgsIG51bGxdLCBlLmcuIFs4MDAsIG51bGxdLlxuICAgKiBGb3IgdGhlIGhlaWdodCBzZXQgW251bGwsIGhlaWdodF0sIGUuZy4gW251bGwsIDYwMF0uXG4gICAqL1xuICBpbWFnZURpbT86IFtudW1iZXIsIG51bWJlcl07XG4gIC8qKlxuICAgKiBTcGVjaWZ5IG1heGltdW0gaW1hZ2UgZGltZW5zaW9ucy4gZS5nLiBbODAwLCA2MDBdLiBPbmx5IGZvciBKUEVHLCBQTkcsIGFuZCBCTVAgZmlsZXMuXG4gICAqIEltYWdlcyBiaWdnZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGRpbWVuc2lvbnMgd2lsbCBiZSByZXNpemVkIHRvIHRoZSBtYXhpbXVtIHNpemUgd2hpbGUgbWFpbnRhaW5pbmcgdGhlIG9yaWdpbmFsIGFzcGVjdCByYXRpby5cbiAgICogVGhlIG91dHB1dCB3aWxsIG5vdCBiZSBleGFjdGx5IDgwMHg2MDAgdW5sZXNzIHRoZSBpbWFnZU1heCBtYXRjaGVzIHRoZSBhc3BlY3QgcmF0aW8gb2YgdGhlIG9yaWdpbmFsIGltYWdlLlxuICAgKi9cbiAgaW1hZ2VNYXg/OiBbbnVtYmVyLCBudW1iZXJdO1xuICAvKipcbiAgICogU3BlY2lmeSBtaW5pbXVtIGltYWdlIGRpbWVuc2lvbnMuIGUuZy4gWzgwMCwgNjAwXS4gT25seSBmb3IgSlBFRywgUE5HLCBhbmQgQk1QIGZpbGVzLlxuICAgKiBJbWFnZXMgc21hbGxlciB0aGFuIHRoZSBzcGVjaWZpZWQgZGltZW5zaW9ucyB3aWxsIGJlIHVwc2NhbGVkIHRvIHRoZSBtaW5pbXVtIHNpemUgd2hpbGUgbWFpbnRhaW5pbmcgdGhlIG9yaWdpbmFsIGFzcGVjdCByYXRpby5cbiAgICogVGhlIG91dHB1dCB3aWxsIG5vdCBiZSBleGFjdGx5IDgwMHg2MDAgdW5sZXNzIHRoZSBpbWFnZU1pbiBtYXRjaGVzIHRoZSBhc3BlY3QgcmF0aW8gb2YgdGhlIG9yaWdpbmFsIGltYWdlLlxuICAgKi9cbiAgaW1hZ2VNaW4/OiBbbnVtYmVyLCBudW1iZXJdO1xuICAvKipcbiAgICogU2V0cyBsb2NhbGUuIEFjY2VwdHM6IGNhLCBkYSwgZGUsIGVuLCBlcywgZnIsIGhlLCBpdCwgamEsIGtvLCBubCwgbm8sIHBsLCBwdCwgc3YsIHJ1LCB2aSwgemgsIHRyXG4gICAqL1xuICBsYW5nPzogc3RyaW5nO1xuICAvKipcbiAgICogTWluaW11bSBudW1iZXIgb2YgZmlsZXMgcmVxdWlyZWQgdG8gc3RhcnQgdXBsb2FkaW5nLiBEZWZhdWx0cyB0byAxLlxuICAgKi9cbiAgbWluRmlsZXM/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBNYXhpbXVtIG51bWJlciBvZiBmaWxlcyBhbGxvd2VkIHRvIHVwbG9hZC4gRGVmYXVsdHMgdG8gMS5cbiAgICovXG4gIG1heEZpbGVzPzogbnVtYmVyO1xuICAvKipcbiAgICogUmVzdHJpY3Qgc2VsZWN0ZWQgZmlsZXMgdG8gYSBtYXhpbXVtIG51bWJlciBvZiBieXRlcy4gKGUuZy4gMTAgXFwqIDEwMjQgXFwqIDEwMjQgZm9yIDEwTUIgbGltaXQpLlxuICAgKi9cbiAgbWF4U2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogRGVmYXVsdCB2aWV3IHR5cGUgb3B0aW9uIGZvciBmaWxlIGJyb3dzZXJcbiAgICovXG4gIHZpZXdUeXBlPzogJ2dyaWQnIHwgJ2xpc3QnO1xuXG4gIC8qKlxuICAgKiBUaW1lb3V0IGZvciBlcnJvciBtZXNzYWdlc1xuICAgKi9cbiAgZXJyb3JzVGltZW91dD86IG51bWJlcjtcbiAgLyoqXG4gICAqIFNwZWNpZnkgW3dpZHRoLCBoZWlnaHRdIGluIHBpeGVscyBvZiB0aGUgZGVza3RvcCBtb2RhbC5cbiAgICovXG4gIG1vZGFsU2l6ZT86IFtudW1iZXIsIG51bWJlcl07XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhbGwgdXBsb2FkcyBpbiBhIHBpY2sgYXJlIGNhbmNlbGxlZC5cbiAgICovXG4gIG9uQ2FuY2VsPzogUGlja2VyVXBsb2FkRG9uZUNhbGxiYWNrO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIFVJIGlzIGV4aXRlZC5cbiAgICovXG4gIG9uQ2xvc2U/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIFVJIGlzIG1vdW50ZWQuXG4gICAqIEBwYXJhbSBQaWNrZXJJbnN0YW5jZSBhcHBsaWNhdGlvbiBoYW5kbGVcbiAgICovXG4gIG9uT3Blbj86IChoYW5kbGU6IFBpY2tlckluc3RhbmNlKSA9PiB2b2lkO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW5ldmVyIHVzZXIgc2VsZWN0cyBhIGZpbGUuXG4gICAqICMjIyBFeGFtcGxlXG4gICAqXG4gICAqIGBgYGpzXG4gICAqIC8vIFVzaW5nIHRvIHZldG8gZmlsZSBzZWxlY3Rpb25cbiAgICogLy8gSWYgeW91IHRocm93IGFueSBlcnJvciBpbiB0aGlzIGZ1bmN0aW9uIGl0IHdpbGwgcmVqZWN0IHRoZSBmaWxlIHNlbGVjdGlvbi5cbiAgICogLy8gVGhlIGVycm9yIG1lc3NhZ2Ugd2lsbCBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIgYXMgYW4gYWxlcnQuXG4gICAqIG9uRmlsZVNlbGVjdGVkKGZpbGUpIHtcbiAgICogICBpZiAoZmlsZS5zaXplID4gMTAwMCAqIDEwMDApIHtcbiAgICogICAgIHRocm93IG5ldyBFcnJvcignRmlsZSB0b28gYmlnLCBzZWxlY3Qgc29tZXRoaW5nIHNtYWxsZXIgdGhhbiAxTUInKTtcbiAgICogICB9XG4gICAqIH1cbiAgICpcbiAgICogLy8gVXNpbmcgdG8gY2hhbmdlIHNlbGVjdGVkIGZpbGUgbmFtZVxuICAgKiAvLyBOT1RFOiBUaGlzIGN1cnJlbnRseSBvbmx5IHdvcmtzIGZvciBsb2NhbCB1cGxvYWRzXG4gICAqIG9uRmlsZVNlbGVjdGVkKGZpbGUpIHtcbiAgICogICAvLyBJdCdzIGltcG9ydGFudCB0byByZXR1cm4gYSBuZXcgZmlsZSBieSB0aGUgZW5kIG9mIHRoaXMgZnVuY3Rpb24uXG4gICAqICAgcmV0dXJuIHsgLi4uZmlsZSwgbmFtZTogJ2ZvbycgfTtcbiAgICogfVxuICAgKiBgYGBcbiAgICpcbiAgICogVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGNhbiBhbHNvIHJldHVybiBhIFByb21pc2UgdG8gYWxsb3cgYXN5bmNocm9ub3VzIHZhbGlkYXRpb24gbG9naWMuXG4gICAqIFlvdSBjYW4gcGFzcyBhIGZpbGUgb2JqZWN0IHRvIGByZXNvbHZlYCBmb3IgY2hhbmdpbmcgdGhlIGZpbGUgbmFtZSwgaXQgd2lsbCBiZWhhdmUgdGhlIHNhbWUgYXMgd2hlblxuICAgKiB0aGUgZmlsZSBpcyByZXR1cm5lZCBmcm9tIHRoZSBub24tYXN5bmMgY2FsbGJhY2suXG4gICAqXG4gICAqIGBgYGpzXG4gICAqIG9uRmlsZVNlbGVjdGVkKGZpbGUpIHtcbiAgICogICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgKiAgICAgLy8gRG8gc29tZXRoaW5nIGFzeW5jXG4gICAqICAgICByZXNvbHZlKCk7XG4gICAqICAgICAvLyBPciByZWplY3QgdGhlIHNlbGVjdGlvbiB3aXRoIHJlamVjdCgpXG4gICAqICAgfSk7XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBvbkZpbGVTZWxlY3RlZD86IFBpY2tlckZpbGVDYWxsYmFjaztcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGEgZmlsZSB1cGxvYWQgaGFzIGJlZW4gY2FuY2VsZWQuXG4gICAqL1xuICBvbkZpbGVVcGxvYWRDYW5jZWw/OiBQaWNrZXJGaWxlQ2FuY2VsQ2FsbGJhY2s7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhIGZpbGUgYmVnaW5zIHVwbG9hZGluZy5cbiAgICovXG4gIG9uRmlsZVVwbG9hZFN0YXJ0ZWQ/OiBQaWNrZXJGaWxlV2l0aFRva2VuQ2FsbGJhY2s7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhIGZpbGUgaXMgZG9uZSB1cGxvYWRpbmcuXG4gICAqL1xuICBvbkZpbGVVcGxvYWRGaW5pc2hlZD86IFBpY2tlckZpbGVDYWxsYmFjaztcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHVwbG9hZGluZyBhIGZpbGUgZmFpbHMuXG4gICAqL1xuICBvbkZpbGVVcGxvYWRGYWlsZWQ/OiBQaWNrZXJGaWxlRXJyb3JDYWxsYmFjaztcbiAgLyoqXG4gICAqIENhbGxlZCBkdXJpbmcgbXVsdGktcGFydCB1cGxvYWQgcHJvZ3Jlc3MgZXZlbnRzLiBMb2NhbCBmaWxlcyBvbmx5LlxuICAgKi9cbiAgb25GaWxlVXBsb2FkUHJvZ3Jlc3M/OiBQaWNrZXJGaWxlUHJvZ3Jlc3NDYWxsYmFjaztcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGZpbGUgaXMgY3JvcHBlZCBpbiBwaWNrZXJcbiAgICovXG4gIG9uRmlsZUNyb3BwZWQ/OiBQaWNrZXJGaWxlQ2FsbGJhY2s7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB1cGxvYWRpbmcgc3RhcnRzICh1c2VyIGluaXRpYXRlcyB1cGxvYWRpbmcpLlxuICAgKi9cbiAgb25VcGxvYWRTdGFydGVkPzogUGlja2VyVXBsb2FkU3RhcnRlZENhbGxiYWNrO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gYWxsIGZpbGVzIGhhdmUgYmVlbiB1cGxvYWRlZC5cbiAgICovXG4gIG9uVXBsb2FkRG9uZT86IFBpY2tlclVwbG9hZERvbmVDYWxsYmFjaztcblxuICAvKipcbiAgICogRGVmaW5lIGEgdW5pcXVlIGlkIGZvciB0aGUgYXBwbGljYXRpb24gbW91bnQgcG9pbnQuXG4gICAqIE1heSBiZSB1c2VmdWwgZm9yIG1vcmUgYWR2YW5jZWQgdXNlIGNhc2VzLlxuICAgKiBGb3IgZXhhbXBsZSwgaWYgeW91IHdpc2ggdG8gaGF2ZSBtb3JlIHRoYW4gb25lIHBpY2tlciBpbnN0YW5jZSBvcGVuIGF0IG9uY2UsXG4gICAqIHRoZW4gZWFjaCB3aWxsIG5lZWQgdGhlaXIgb3duIHVuaXF1ZSByb290SWQuXG4gICAqXG4gICAqICoqTm90ZToqKiBUaGlzIG9wdGlvbiBpcyBpZ25vcmVkIHdoZW4gYGRpc3BsYXlNb2RlYCBpcyBgZHJvcFBhbmVgLlxuICAgKi9cbiAgcm9vdElkPzogc3RyaW5nO1xuICAvKipcbiAgICogV2hldGhlciB0byBzdGFydCB1cGxvYWRpbmcgYXV0b21hdGljYWxseSB3aGVuIG1heEZpbGVzIGlzIGhpdC4gRGVmYXVsdHMgdG8gYGZhbHNlYC5cbiAgICovXG4gIHN0YXJ0VXBsb2FkaW5nV2hlbk1heEZpbGVzUmVhY2hlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBmaWxlIHN0b3JhZ2UuXG4gICAqL1xuICBzdG9yZVRvPzogUGlja2VyU3RvcmVPcHRpb25zO1xuICAvKipcbiAgICogU3BlY2lmeSBvcHRpb25zIGZvciBpbWFnZXMgcGFzc2VkIHRvIHRoZSBjcm9wIFVJLlxuICAgKi9cbiAgdHJhbnNmb3JtYXRpb25zPzogUGlja2VyVHJhbnNmb3JtYXRpb25PcHRpb25zO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgbG9jYWwgZmlsZSB1cGxvYWRzLlxuICAgKi9cbiAgdXBsb2FkQ29uZmlnPzogVXBsb2FkT3B0aW9ucztcbiAgLyoqXG4gICAqIFN0YXJ0IHVwbG9hZGluZyBpbW1lZGlhdGVseSBvbiBmaWxlIHNlbGVjdGlvbi4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKiBAaW1wb3J0YW50IFRoZSBmZWF0dXJlIGlzIGNhbiBiZSBlbmFibGVkIG9ubHkgaWYgY3JvcCBpcyBkaXNhYmxlZCAtIGRpc2FibGVUcmFuc2Zvcm1lcjogdHJ1ZVxuICAgKi9cbiAgdXBsb2FkSW5CYWNrZ3JvdW5kPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNldHMgdGhlIHJlc29sdXRpb24gb2YgcmVjb3JkZWQgdmlkZW8uIE9uZSBvZiBcIjMyMHgyNDBcIiwgXCI2NDB4NDgwXCIgb3IgXCIxMjgweDcyMFwiLiBEZWZhdWx0IGlzIGBcIjY0MHg0ODBcImAuXG4gICAqL1xuICB2aWRlb1Jlc29sdXRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVc2UgU2VudHJ5IEJyZWFkY3J1bWJzIG1lY2hhbmlzbSB0byBsb2cgaW5mb3JtYXRpb24gYWJvdXQgb2NjdXJlZCBlcnJvcnMuXG4gICAqIEl0IGNhbiBvdmVycmlkZSBnbG9iYWwgb2JqZWN0cyBsaWtlIGNvbnNvbGUsIGVycm9yIGV0Yy4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKi9cbiAgdXNlU2VudHJ5QnJlYWRjcnVtYnM/OiBib29sZWFuO1xuICAvKipcbiAgICogU3BlY2lmeSB3aGljaCBQaWNrZXIgaW5zdGFuY2Ugc2hvdWxkIHJlc3BvbmQgdG8gcGFzdGUgZXZlbnQuXG4gICAqIEJ5IGRlZmF1bHQgb25seSBob3ZlcmVkIGluc3RhbmNlIHJlc3BvbmRzIHRvIGV2ZW50LlxuICAgKiBAcGFyYW0ge2Jvb2xlYW4gPSBmYWxzZX0gcGFzdGVUb0ZpcnN0SW5WaWV3UG9ydCBJZiBub25lIGluc3RhbmNlIGlzIGhvdmVyZWQgdGFrZSBmaXJzdCBwaWNrZXIgaW5zdGFuY2UgZnVsbHkgdmlzaWJsZSBpbiB2aWV3cG9ydFxuICAgKiBAcGFyYW0ge2Jvb2xlYW4gPSBmYWxzZX0gcGFzdGVUb0ZpcnN0SW5zdGFuY2UgSWYgbm9uZSBpbnN0YW5jZSBpcyBob3ZlcmVkIHRha2UgZmlyc3QgcGlja2VyIGluc3RhbmNlIHRoYXQgaXMgaW5pdGlhbGl6ZWRcbiAgICogQHBhc3RlVG9GaXJzdEluVmlld1BvcnQgaXMgY2hlY2tlZCBmaXJzdFxuICAgKi9cbiAgcGFzdGVNb2RlPzoge1xuICAgIHBhc3RlVG9GaXJzdEluVmlld1BvcnQ/OiBib29sZWFuLFxuICAgIHBhc3RlVG9GaXJzdEluc3RhbmNlPzogYm9vbGVhblxuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlckNyb3BPcHRpb25zIHtcbiAgLyoqXG4gICAqIE1haW50YWluIGFzcGVjdCByYXRpbyBmb3IgY3JvcCBzZWxlY3Rpb24uIChlLmcuIDE2LzksIDgwMC82MDApLlxuICAgKi9cbiAgYXNwZWN0UmF0aW8/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBGb3JjZSBhbGwgaW1hZ2VzIHRvIGJlIGNyb3BwZWQgYmVmb3JlIHVwbG9hZGluZy5cbiAgICovXG4gIGZvcmNlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJUcmFuc2Zvcm1hdGlvbk9wdGlvbnMge1xuICAvKipcbiAgICogRW5hYmxlIGNyb3AuIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIGNyb3A/OiBib29sZWFuIHwgUGlja2VyQ3JvcE9wdGlvbnM7XG4gIC8qKlxuICAgKiBFbmFibGUgY2lyY2xlIGNyb3AuIERpc2FibGVkIGlmIGNyb3AuYXNwZWN0UmF0aW8gaXMgZGVmaW5lZCBhbmQgbm90IDEuIENvbnZlcnRzIHRvIFBORy4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKi9cbiAgY2lyY2xlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVuYWJsZSBpbWFnZSByb3RhdGlvbi4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKi9cbiAgcm90YXRlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogR2xvYmFsIGZvcmNlIGNyb3Agb3B0aW9uLiBDYW4gYmUgdXNlIGllIHdpdGggY2lyY2xlXG4gICAqL1xuICBmb3JjZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyQWNjZXB0Rm5PcHRpb25zIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVkIGFjY2VwdCBzdHJpbmdcbiAgICovXG4gIGFjY2VwdDogc3RyaW5nW107XG4gIC8qKlxuICAgKiBBY2NlcHQgc3RyaW5nIGNvbnZlcnRlZCB0byBtaW1ldHlwZVxuICAgKi9cbiAgYWNjZXB0TWltZTogc3RyaW5nW107XG4gIC8qKlxuICAgKiBNaW1ldHlwZSBiYXNlZCBtYWdpYyBieXRlc1xuICAgKiB7QGxpbmsgaHR0cHM6Ly9maWxlc3RhY2suZ2l0aHViLmlvL2ZpbGVzdGFjay1qcy9nbG9iYWxzLmh0bWwjZ2V0bWltZXR5cGV9XG4gICAqL1xuICBtaW1lRnJvbU1hZ2ljQnl0ZXM6IFByb21pc2U8c3RyaW5nPjtcbiAgLyoqXG4gICAqIE1pbWV0eXBlIGJhc2VkIG9uIGZpbGUgZXh0ZW5zaW9uXG4gICAqIHtAbGluayBodHRwczovL2ZpbGVzdGFjay5naXRodWIuaW8vZmlsZXN0YWNrLWpzL2dsb2JhbHMuaHRtbCNleHRlbnNpb250b21pbWV9XG4gICAqL1xuICBtaW1lRnJvbUV4dGVuc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBwcml2YXRlXG4gKiBBIHN5bmNocm9ub3VzLWxvb2tpbmcgd3JhcHBlciBmb3IgbG9hZGluZyB0aGUgcGlja2VyIGFuZCBjYWxsaW5nIGl0cyBtZXRob2RzLlxuICogVGhpcyBpcyBjdXJyZW50bHkgbmVlZGVkIGJlY2F1c2UgdGhlIHBpY2tlciBtb2R1bGUgaXMgbG9hZGVkIGFzeW5jaHJvbm91c2x5LlxuICogRXZlbnR1YWxseSB3ZSBzaG91bGQgb2ZmZXIgYSBidW5kbGUgd2l0aCB0aGUgcGlja2VyIG1vZHVsZSBpbmNsdWRlZC5cbiAqL1xuY2xhc3MgUGlja2VyTG9hZGVyIHtcblxuICBwcml2YXRlIF9pbml0aWFsaXplZDogUHJvbWlzZTxQaWNrZXJJbnN0YW5jZT47XG4gIGNvbnN0cnVjdG9yKGNsaWVudDogQ2xpZW50LCBvcHRpb25zPzogUGlja2VyT3B0aW9ucykge1xuICAgIGNvbnN0IHZhbGlkYXRlUmVzID0gZ2V0VmFsaWRhdG9yKFBpY2tlclBhcmFtc1NjaGVtYSkob3B0aW9ucyk7XG5cbiAgICBpZiAodmFsaWRhdGVSZXMuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEZpbGVzdGFja0Vycm9yKGBJbnZhbGlkIHBpY2tlciBwYXJhbXNgLCB2YWxpZGF0ZVJlcy5lcnJvcnMsIEZpbGVzdGFja0Vycm9yVHlwZS5WQUxJREFUSU9OKTtcbiAgICB9XG5cbiAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRoaXMubG9hZE1vZHVsZShjbGllbnQsIG9wdGlvbnMpO1xuICB9XG5cbiAgYXN5bmMgb3BlbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwaWNrZXIgPSBhd2FpdCB0aGlzLl9pbml0aWFsaXplZDtcbiAgICBhd2FpdCBwaWNrZXIub3BlbigpO1xuICB9XG5cbiAgYXN5bmMgY3JvcChmaWxlczogYW55W10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwaWNrZXIgPSBhd2FpdCB0aGlzLl9pbml0aWFsaXplZDtcbiAgICBhd2FpdCBwaWNrZXIuY3JvcChmaWxlcyk7XG4gIH1cblxuICBhc3luYyBjbG9zZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwaWNrZXIgPSBhd2FpdCB0aGlzLl9pbml0aWFsaXplZDtcbiAgICBhd2FpdCBwaWNrZXIuY2xvc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGNhbmNlbCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwaWNrZXIgPSBhd2FpdCB0aGlzLl9pbml0aWFsaXplZDtcbiAgICBhd2FpdCBwaWNrZXIuY2FuY2VsKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRNb2R1bGUoY2xpZW50OiBDbGllbnQsIG9wdGlvbnM/OiBQaWNrZXJPcHRpb25zKTogUHJvbWlzZTxQaWNrZXJJbnN0YW5jZT4ge1xuICAgIGNvbnN0IHsgc2Vzc2lvbjogeyB1cmxzOiB7IHBpY2tlclVybDogdXJsIH0gfSB9ID0gY2xpZW50O1xuICAgIGNvbnN0IFBpY2tlciA9IGF3YWl0IGxvYWRNb2R1bGUoRklMRVNUQUNLX01PRFVMRVMuUElDS0VSLCB1cmwpO1xuICAgIHJldHVybiBuZXcgUGlja2VyKGNsaWVudCwgb3B0aW9ucyk7XG4gIH1cbn1cblxuLyoqXG4gKiBMb2FkcyBhbmQgY3JlYXRlcyBwaWNrZXIgaW5zdGFuY2VcbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIGNsaWVudFxuICogQHBhcmFtIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGNvbnN0IHBpY2tlciA9IChjbGllbnQ6IENsaWVudCwgb3B0aW9ucz86IFBpY2tlck9wdGlvbnMpOiBQaWNrZXJJbnN0YW5jZSA9PiB7XG4gIHJldHVybiBuZXcgUGlja2VyTG9hZGVyKGNsaWVudCwgb3B0aW9ucyk7XG59O1xuIl19

@@ -55,2 +55,3 @@ /*

this.request.end();
return this;
};

@@ -108,3 +109,3 @@ return HttpWritableStream;

var _a = prepareData(config), data = _a.data, headers = _a.headers;
headers = setHeader(headers, 'user-agent', "filestack-request/" + getVersion());
headers = setHeader(headers, 'user-agent', "filestack-request/".concat(getVersion()));
// for now we are not using streams

@@ -125,5 +126,5 @@ if (data) {

if (!config.auth.username || config.auth.username.length === 0) {
return Promise.reject(new FsRequestError("Basic auth: username is required " + config.auth, config));
return Promise.reject(new FsRequestError("Basic auth: username is required ".concat(config.auth), config));
}
auth = config.auth.username + ":" + config.auth.password;
auth = "".concat(config.auth.username, ":").concat(config.auth.password);
}

@@ -134,7 +135,7 @@ // Parse url

if (!parsed.protocol) {
parsed = url.parse("https://" + config.url);
parsed = url.parse("https://".concat(config.url));
}
/* istanbul ignore next: just be sure that the host is parsed correctly, not needed to test */
if (!parsed.host) {
return Promise.reject(new FsRequestError("Cannot parse provided url " + config.url, config));
return Promise.reject(new FsRequestError("Cannot parse provided url ".concat(config.url), config));
}

@@ -175,3 +176,3 @@ // normalize auth header

debug('Request canceled by user %s, config: %O', reason, config);
return reject(new FsRequestError("Request aborted. Reason: " + reason, config, null, FsRequestErrorCode.ABORTED));
return reject(new FsRequestError("Request aborted. Reason: ".concat(reason), config, null, FsRequestErrorCode.ABORTED));
});

@@ -204,3 +205,3 @@ }

if (_this.redirectHoops >= MAX_REDIRECTS) {
return reject(new FsRequestError("Max redirects (" + _this.redirectHoops + ") reached. Exiting", config, response, FsRequestErrorCode.REDIRECT));
return reject(new FsRequestError("Max redirects (".concat(_this.redirectHoops, ") reached. Exiting"), config, response, FsRequestErrorCode.REDIRECT));
}

@@ -212,3 +213,3 @@ var url_1 = res.headers['location'];

if (_this.redirectPaths.indexOf(url_1) > -1) {
return reject(new FsRequestError("Redirect loop detected at url " + url_1, config, response, FsRequestErrorCode.REDIRECT));
return reject(new FsRequestError("Redirect loop detected at url ".concat(url_1), config, response, FsRequestErrorCode.REDIRECT));
}

@@ -266,7 +267,7 @@ _this.redirectPaths.push(url_1);

debug('Server error(5xx) - %O', response);
return [2 /*return*/, reject(new FsRequestError("Server error " + url, config, response, FsRequestErrorCode.SERVER))];
return [2 /*return*/, reject(new FsRequestError("Server error ".concat(url), config, response, FsRequestErrorCode.SERVER))];
}
else if (400 <= response.status && response.status <= 499) {
debug('Request error(4xx) - %O', response);
return [2 /*return*/, reject(new FsRequestError("Request error " + url, config, response, FsRequestErrorCode.REQUEST))];
return [2 /*return*/, reject(new FsRequestError("Request error ".concat(url), config, response, FsRequestErrorCode.REQUEST))];
}

@@ -296,3 +297,3 @@ debug('Request ends: %O', response);

debug('Request error: %s - %O', err, err.code);
return reject(new FsRequestError("Request error: " + err.code, config, null, FsRequestErrorCode.NETWORK));
return reject(new FsRequestError("Request error: ".concat(err.code), config, null, FsRequestErrorCode.NETWORK));
});

@@ -333,2 +334,2 @@ if (Buffer.isBuffer(data) && ['POST', 'PUT'].indexOf(config.method) > -1) {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9hZGFwdGVycy9odHRwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFFSCxPQUFPLEtBQUssR0FBRyxNQUFNLEtBQUssQ0FBQztBQUMzQixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFHMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUVqQyxPQUFPLEtBQUssS0FBSyxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUFJLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFMUMsSUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDO0FBQy9CLElBQU0sZUFBZSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFDbEMsSUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBQ3pCLElBQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQztBQUNyQyxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUV2Qzs7Ozs7R0FLRztBQUNIO0lBQWlDLHNDQUFlO0lBRzlDLDRCQUFZLEdBQUcsRUFBRSxJQUFTO1FBQVQscUJBQUEsRUFBQSxTQUFTO1FBQTFCLFlBQ0Usa0JBQU0sSUFBSSxDQUFDLFNBSVo7UUFGQyxLQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUNuQixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFNLE9BQUEsS0FBSSxDQUFD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UUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUNoQztRQUVELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUNILGtCQUFDO0FBQUQsQ0FsVEEsQUFrVEMsSUFBQSIsImZpbGUiOiJsaWIvcmVxdWVzdC9hZGFwdGVycy9odHRwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyB1cmwgZnJvbSAndXJsJztcbmltcG9ydCAqIGFzIHpsaWIgZnJvbSAnemxpYic7XG5pbXBvcnQgRGVidWcgZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgeyBBZGFwdGVySW50ZXJmYWNlIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZ2V0VmVyc2lvbiB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCAqIGFzIFN0cmVhbSBmcm9tICdzdHJlYW0nO1xuaW1wb3J0IHsgRnNSZXF1ZXN0T3B0aW9ucywgRnNSZXNwb25zZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IHByZXBhcmVEYXRhLCBwYXJzZVJlc3BvbnNlLCBjb21iaW5lVVJMLCBzZXQgYXMgc2V0SGVhZGVyLCBub3JtYWxpemVIZWFkZXJzIH0gZnJvbSAnLi8uLi9oZWxwZXJzJztcbmltcG9ydCB7IEZzUmVxdWVzdEVycm9yQ29kZSwgRnNSZXF1ZXN0RXJyb3IgfSBmcm9tICcuLi9lcnJvcic7XG5pbXBvcnQgeyBGc0h0dHBNZXRob2QgfSBmcm9tICcuLy4uL3R5cGVzJztcblxuY29uc3QgSFRUUFNfUkVHRVhQID0gL2h0dHBzOj8vO1xuY29uc3QgSFRUUF9DSFVOS19TSVpFID0gMTYgKiAxMDI0O1xuY29uc3QgTUFYX1JFRElSRUNUUyA9IDEwO1xuY29uc3QgQ0FOQ0VMX0NMRUFSID0gYEZzQ2xlYW5NZW1vcnlgO1xuY29uc3QgZGVidWcgPSBEZWJ1ZygnZnM6cmVxdWVzdDpodHRwJyk7XG5cbi8qKlxuICogV3JpdGFibGUgc3RyZWFtIHRoYXRzIG92ZXJ3cmFwIGh0dHAgcmVxdWVzdCBmb3IgcHJvZ3Jlc3MgZXZlbnRcbiAqXG4gKiBAY2xhc3MgSHR0cFdyaXRhYmxlU3RyZWFtXG4gKiBAZXh0ZW5kcyB7U3RyZWFtLldyaXRhYmxlfVxuICovXG5jbGFzcyBIdHRwV3JpdGFibGVTdHJlYW0gZXh0ZW5kcyBTdHJlYW0uV3JpdGFibGUge1xuICBwcml2YXRlIHJlcXVlc3Q7XG5cbiAgY29uc3RydWN0b3IocmVxLCBvcHRzID0ge30pIHtcbiAgICBzdXBlcihvcHRzKTtcblxuICAgIHRoaXMucmVxdWVzdCA9IHJlcTtcbiAgICByZXEub25jZSgnZHJhaW4nLCAoKSA9PiB0aGlzLmVtaXQoJ2RyYWluJykpO1xuICB9XG5cbiAgX3dyaXRlKGNodW5rOiBhbnksIGVuY29kaW5nPzogc3RyaW5nLCBjYj86IChlcnJvcjogRXJyb3IgfCBudWxsIHwgdW5kZWZpbmVkKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5yZXF1ZXN0LndyaXRlKGNodW5rLCBlbmNvZGluZywgY2IpO1xuICB9XG5cbiAgZW5kKGNodW5rKSB7XG4gICAgaWYgKGNodW5rKSB7XG4gICAgICB0aGlzLnJlcXVlc3Qud3JpdGUoY2h1bmspO1xuICAgIH1cblxuICAgIHRoaXMucmVxdWVzdC5lbmQoKTtcbiAgfVxufVxuXG4vKipcbiAqIE5vZGUgaHR0cCByZXF1ZXN0IGNsYXNzXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIEh0dHBBZGFwdGVyXG4gKiBAaW1wbGVtZW50cyB7QWRhcHRlckludGVyZmFjZX1cbiAqL1xuZXhwb3J0IGNsYXNzIEh0dHBBZGFwdGVyIGltcGxlbWVudHMgQWRhcHRlckludGVyZmFjZSB7XG4gIHByaXZhdGUgcmVkaXJlY3RIb29wcyA9IDA7XG4gIHByaXZhdGUgcmVkaXJlY3RQYXRocyA9IFtdO1xuXG4gIC8qKlxuICAgKiBkbyByZXF1ZXN0IGJhc2VkIG9uIGNvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogQHBhcmFtIHtGc1JlcXVlc3RPcHRpb25zfSBjb25maWdcbiAgICogQHJldHVybnNcbiAgICogQG1lbWJlcm9mIEh0dHBBZGFwdGVyXG4gICAqL1xuICByZXF1ZXN0KGNvbmZpZzogRnNSZXF1ZXN0T3B0aW9ucykge1xuICAgIC8vIGlmIHRoaXMgb3B0aW9uIGlzIHVuc3BlY2lmaWVkIHNldCBpdCBieSBkZWZhdWx0XG4gICAgaWYgKHR5cGVvZiBjb25maWcuZmlsZXN0YWNrSGVhZGVycyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbmZpZy5maWxlc3RhY2tIZWFkZXJzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25maWcuaGVhZGVycyA9IG5vcm1hbGl6ZUhlYWRlcnMoY29uZmlnLmhlYWRlcnMpO1xuXG4gICAgbGV0IHsgZGF0YSwgaGVhZGVycyB9ID0gcHJlcGFyZURhdGEoY29uZmlnKTtcblxuICAgIGhlYWRlcnMgPSBzZXRIZWFkZXIoaGVhZGVycywgJ3VzZXItYWdlbnQnLCBgZmlsZXN0YWNrLXJlcXVlc3QvJHtnZXRWZXJzaW9uKCl9YCk7XG5cbiAgICAvLyBmb3Igbm93IHdlIGFyZSBub3QgdXNpbmcgc3RyZWFtc1xuICAgIGlmIChkYXRhKSB7XG4gICAgICBkZWJ1ZygnUmVxdWVzdCBkYXRhICVPJywgZGF0YSk7XG5cbiAgICAgIGlmICghQnVmZmVyLmlzQnVmZmVyKGRhdGEpKSB7XG4gICAgICAgIGlmICghdXRpbHMuaXNTdHJpbmcoZGF0YSkpIHtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKCdEYXRhIG11c3QgYmUgYSBzdHJpbmcsIEpTT04gb3IgYSBCdWZmZXInLCBjb25maWcpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRhdGEgPSBCdWZmZXIuZnJvbShkYXRhLCAndXRmLTgnKTtcbiAgICAgIH1cblxuICAgICAgaGVhZGVycyA9IHNldEhlYWRlcihoZWFkZXJzLCAnY29udGVudC1sZW5ndGgnLCBkYXRhLmxlbmd0aCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gSFRUUCBiYXNpYyBhdXRoZW50aWNhdGlvblxuICAgIGxldCBhdXRoO1xuICAgIGlmIChjb25maWcuYXV0aCkge1xuICAgICAgaWYgKCFjb25maWcuYXV0aC51c2VybmFtZSB8fCBjb25maWcuYXV0aC51c2VybmFtZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcihgQmFzaWMgYXV0aDogdXNlcm5hbWUgaXMgcmVxdWlyZWQgJHtjb25maWcuYXV0aH1gLCBjb25maWcpKTtcbiAgICAgIH1cblxuICAgICAgYXV0aCA9IGAke2NvbmZpZy5hdXRoLnVzZXJuYW1lfToke2NvbmZpZy5hdXRoLnBhc3N3b3JkfWA7XG4gICAgfVxuXG4gICAgLy8gUGFyc2UgdXJsXG4gICAgbGV0IHBhcnNlZCA9IHVybC5wYXJzZShjb25maWcudXJsKTtcblxuICAgIC8vIHRyeSB0byBhZGQgZGVmYXVsdCBodHRwcyBwcm90b2NvbFxuICAgIGlmICghcGFyc2VkLnByb3RvY29sKSB7XG4gICAgICBwYXJzZWQgPSB1cmwucGFyc2UoYGh0dHBzOi8vJHtjb25maWcudXJsfWApO1xuICAgIH1cblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBqdXN0IGJlIHN1cmUgdGhhdCB0aGUgaG9zdCBpcyBwYXJzZWQgY29ycmVjdGx5LCBub3QgbmVlZGVkIHRvIHRlc3QgKi9cbiAgICBpZiAoIXBhcnNlZC5ob3N0KSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKGBDYW5ub3QgcGFyc2UgcHJvdmlkZWQgdXJsICR7Y29uZmlnLnVybH1gLCBjb25maWcpKTtcbiAgICB9XG5cbiAgICAvLyBub3JtYWxpemUgYXV0aCBoZWFkZXJcbiAgICBpZiAoYXV0aCAmJiBoZWFkZXJzLkF1dGhvcml6YXRpb24pIHtcbiAgICAgIGRlbGV0ZSBoZWFkZXJzLkF1dGhvcml6YXRpb247XG4gICAgfVxuXG4gICAgY29uc3QgaXNIdHRwc1JlcXVlc3QgPSBIVFRQU19SRUdFWFAudGVzdChwYXJzZWQucHJvdG9jb2wpO1xuICAgIGNvbnN0IGFnZW50ID0gaXNIdHRwc1JlcXVlc3QgPyByZXF1aXJlKCdodHRwcycpIDogcmVxdWlyZSgnaHR0cCcpO1xuXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIHBhdGg6IGNvbWJpbmVVUkwocGFyc2VkLnBhdGgsIGNvbmZpZy5wYXJhbXMpLFxuICAgICAgaG9zdDogcGFyc2VkLmhvc3QsXG4gICAgICBwb3J0OiBwYXJzZWQucG9ydCxcbiAgICAgIHByb3RvY29sOiBwYXJzZWQucHJvdG9jb2wsXG4gICAgICBtZXRob2Q6IGNvbmZpZy5tZXRob2QudG9VcHBlckNhc2UoKSxcbiAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICBhZ2VudDogbmV3IGFnZW50LkFnZW50KCksXG4gICAgICBhdXRoOiBhdXRoLFxuICAgIH07XG5cbiAgICBkZWJ1ZygnU3RhcnRpbmcgJXMgcmVxdWVzdCB3aXRoIG9wdGlvbnMgJU8nLCBpc0h0dHBzUmVxdWVzdCA/ICdodHRwcycgOiAnaHR0cCcsIG9wdGlvbnMpO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPEZzUmVzcG9uc2U+KChyZXNvbHZlLCByZWplY3QpOiBhbnkgPT4ge1xuICAgICAgbGV0IHJlcTtcbiAgICAgIGxldCBjYW5jZWxMaXN0ZW5lcjtcblxuICAgICAgaWYgKGNvbmZpZy5jYW5jZWxUb2tlbikge1xuICAgICAgICBjYW5jZWxMaXN0ZW5lciA9IGNvbmZpZy5jYW5jZWxUb2tlbi5vbignY2FuY2VsJywgKHJlYXNvbikgPT4ge1xuICAgICAgICAgIC8vIGNsZWFudXAgaGFuZGxlclxuICAgICAgICAgIGNhbmNlbExpc3RlbmVyID0gbnVsbDtcblxuICAgICAgICAgIC8vIGRvIG5vdGhpbmcgaWYgcHJvbWlzZSBpcyByZXNvbHZlZCBieSBzeXN0ZW1cbiAgICAgICAgICBpZiAocmVhc29uICYmIHJlYXNvbi5tZXNzYWdlID09PSBDQU5DRUxfQ0xFQVIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogaWYgcmVxdWVzdCBpcyBkb25lIGNhbmNlbCB0b2tlbiBzaG91bGQgbm90IHRocm93IGFueSBlcnJvciAqL1xuICAgICAgICAgIGlmIChyZXEpIHtcbiAgICAgICAgICAgIHJlcS5hYm9ydCgpO1xuICAgICAgICAgICAgcmVxID0gbnVsbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkZWJ1ZygnUmVxdWVzdCBjYW5jZWxlZCBieSB1c2VyICVzLCBjb25maWc6ICVPJywgcmVhc29uLCBjb25maWcpO1xuICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKGBSZXF1ZXN0IGFib3J0ZWQuIFJlYXNvbjogJHtyZWFzb259YCwgY29uZmlnLCBudWxsLCBGc1JlcXVlc3RFcnJvckNvZGUuQUJPUlRFRCkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmVxID0gYWdlbnQucmVxdWVzdChvcHRpb25zLCByZXMgPT4ge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDoganVzdCBiZSBzdXJlIHRoYXQgcmVzcG9uc2Ugd2lsbCBub3QgYmUgY2FsbGVkIGFmdGVyIHJlcXVlc3QgaXMgYWJvcnRlZCAqL1xuICAgICAgICBpZiAoIXJlcSB8fCByZXEuYWJvcnRlZCkge1xuICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKCdSZXF1ZXN0IGFib3J0ZWQnLCBjb25maWcpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBzdHJlYW0gPSByZXM7XG4gICAgICAgIGRlYnVnKCdSZXNwb25zZSBzdGF0dXNDb2RlOiAlZCwgUmVzcG9uc2UgSGVhZGVyczogJU8nLCByZXMuc3RhdHVzQ29kZSwgcmVzLmhlYWRlcnMpO1xuXG4gICAgICAgIGNvbnN0IGNvbXByZXNzSGVhZGVycyA9IHJlcy5oZWFkZXJzWydjb250ZW50LWVuY29kaW5nJ107XG5cbiAgICAgICAgaWYgKGNvbXByZXNzSGVhZGVycyAmJiBjb21wcmVzc0hlYWRlcnMubGVuZ3RoICYmIFsnZ3ppcCcsICdjb21wcmVzcycsICdkZWZsYXRlJ10uc29tZSgodikgPT4gY29tcHJlc3NIZWFkZXJzLmluZGV4T2YodikgPiAtMSkpIHtcbiAgICAgICAgICAvLyBhZGQgdGhlIHVuemlwcGVyIHRvIHRoZSBib2R5IHN0cmVhbSBwcm9jZXNzaW5nIHBpcGVsaW5lXG4gICAgICAgICAgc3RyZWFtID0gcmVzLnN0YXR1c0NvZGUgPT09IDIwNCA/IHN0cmVhbSA6IHN0cmVhbS5waXBlKHpsaWIuY3JlYXRlVW56aXAoKSk7XG4gICAgICAgICAgLy8gcmVtb3ZlIHRoZSBjb250ZW50LWVuY29kaW5nIGluIG9yZGVyIHRvIG5vdCBjb25mdXNlIGRvd25zdHJlYW0gb3BlcmF0aW9uc1xuICAgICAgICAgIGRlbGV0ZSByZXMuaGVhZGVyc1snY29udGVudC1lbmNvZGluZyddO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHJlc3BvbnNlOiBGc1Jlc3BvbnNlID0ge1xuICAgICAgICAgIHN0YXR1czogcmVzLnN0YXR1c0NvZGUsXG4gICAgICAgICAgc3RhdHVzVGV4dDogcmVzLnN0YXR1c01lc3NhZ2UsXG4gICAgICAgICAgaGVhZGVyczogcmVzLmhlYWRlcnMsXG4gICAgICAgICAgY29uZmlnLFxuICAgICAgICAgIGRhdGE6IHt9LFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIHdlIG5lZWQgdG8gZm9sbG93IHJlZGlyZWN0IHNvIG1ha2Ugc2FtZSByZXF1ZXN0IHdpdGggbmV3IGxvY2F0aW9uXG4gICAgICAgIGlmIChbMzAxLCAzMDJdLmluZGV4T2YocmVzLnN0YXR1c0NvZGUpID4gLTEpIHtcbiAgICAgICAgICBkZWJ1ZygnUmVkaXJlY3QgcmVjZWl2ZWQgJXMnLCByZXMuc3RhdHVzQ29kZSk7XG5cbiAgICAgICAgICBpZiAodGhpcy5yZWRpcmVjdEhvb3BzID49IE1BWF9SRURJUkVDVFMpIHtcbiAgICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKGBNYXggcmVkaXJlY3RzICgke3RoaXMucmVkaXJlY3RIb29wc30pIHJlYWNoZWQuIEV4aXRpbmdgLCBjb25maWcsIHJlc3BvbnNlLCBGc1JlcXVlc3RFcnJvckNvZGUuUkVESVJFQ1QpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCB1cmwgPSByZXMuaGVhZGVyc1snbG9jYXRpb24nXTtcblxuICAgICAgICAgIGlmICghdXJsIHx8IHVybC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKGBSZWRpcmVjdCBoZWFkZXIgbG9jYXRpb24gbm90IGZvdW5kYCwgY29uZmlnLCByZXNwb25zZSwgRnNSZXF1ZXN0RXJyb3JDb2RlLlJFRElSRUNUKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHRoaXMucmVkaXJlY3RQYXRocy5pbmRleE9mKHVybCkgPiAtMSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoYFJlZGlyZWN0IGxvb3AgZGV0ZWN0ZWQgYXQgdXJsICR7dXJsfWAsIGNvbmZpZywgcmVzcG9uc2UsIEZzUmVxdWVzdEVycm9yQ29kZS5SRURJUkVDVCkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMucmVkaXJlY3RQYXRocy5wdXNoKHVybCk7XG4gICAgICAgICAgdGhpcy5yZWRpcmVjdEhvb3BzKys7XG5cbiAgICAgICAgICAvLyBmcmVlIHJlc291cmNlc1xuICAgICAgICAgIHJlcyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICByZXEgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgICBkZWJ1ZygnUmVkaXJlY3RpbmcgcmVxdWVzdCB0byAlcyAoaG9vcC1jb3VudDogJWQpJywgdXJsLCB0aGlzLnJlZGlyZWN0SG9vcHMpO1xuXG4gICAgICAgICAgcmV0dXJuIHJlc29sdmUodGhpcy5yZXF1ZXN0KE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZywgeyB1cmwgfSkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZXNwb25zZUJ1ZmZlciA9IFtdO1xuICAgICAgICBzdHJlYW0ub24oJ2RhdGEnLCBjaHVuayA9PiByZXNwb25zZUJ1ZmZlci5wdXNoKGNodW5rKSk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGl0cyBoYXJkIHRvIHRlc3Qgc29ja2V0IGV2ZW50cyB3aXRoIGplc3QgYW5kIG5vY2sgLSB0ZXN0ZWQgbWFudWFsbHkgKi9cbiAgICAgICAgc3RyZWFtLm9uKCdlcnJvcicsIGVyciA9PiB7XG4gICAgICAgICAgcmVzID0gdW5kZWZpbmVkO1xuICAgICAgICAgIHJlcSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICByZXNwb25zZUJ1ZmZlciA9IHVuZGVmaW5lZDtcbiAgICAgICAgICBkZWJ1ZygnUmVxdWVzdCBlcnJvcjogQWJvcnRlZCAlTycsIGVycik7XG5cbiAgICAgICAgICBpZiAocmVxLmFib3J0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBjbGVhciBjYW5jZWwgdG9rZW4gdG8gYXZvaWQgbWVtb3J5IGxlYWtcbiAgICAgICAgICBpZiAoY2FuY2VsTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIGNvbmZpZy5jYW5jZWxUb2tlbi5yZW1vdmVMaXN0ZW5lcihjYW5jZWxMaXN0ZW5lcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoZXJyLm1lc3NhZ2UsIGNvbmZpZywgbnVsbCwgRnNSZXF1ZXN0RXJyb3JDb2RlLk5FVFdPUkspKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgc3RyZWFtLm9uKCdlbmQnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgLy8gY2xlYXIgY2FuY2VsIHRva2VuIHRvIGF2b2lkIG1lbW9yeSBsZWFrXG4gICAgICAgICAgaWYgKGNhbmNlbExpc3RlbmVyKSB7XG4gICAgICAgICAgICBjb25maWcuY2FuY2VsVG9rZW4ucmVtb3ZlTGlzdGVuZXIoY2FuY2VsTGlzdGVuZXIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIGNoZWNrIGlmIHRoZXJlIGlzIGFueSByZXNwb25zZSBkYXRhIGluc2lkZVxuICAgICAgICAgIGlmIChyZXMuc3RhdHVzQ29kZSAhPT0gMjA0KSB7XG4gICAgICAgICAgICAvLyBwcmVwYXJlIHJlc3BvbnNlXG4gICAgICAgICAgICByZXNwb25zZS5kYXRhID0gQnVmZmVyLmNvbmNhdChyZXNwb25zZUJ1ZmZlcik7XG4gICAgICAgICAgICByZXNwb25zZSA9IGF3YWl0IHBhcnNlUmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXNwb25zZS5kYXRhID0gbnVsbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBmcmVlIHJlc291cmNlc1xuICAgICAgICAgIHJlcyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICByZXEgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgICByZXNwb25zZUJ1ZmZlciA9IHVuZGVmaW5lZDtcblxuICAgICAgICAgIGlmICg1MDAgPD0gcmVzcG9uc2Uuc3RhdHVzICYmIHJlc3BvbnNlLnN0YXR1cyA8PSA1OTkpIHtcbiAgICAgICAgICAgIC8vIHNlcnZlciBlcnJvciB0aHJvd1xuICAgICAgICAgICAgZGVidWcoJ1NlcnZlciBlcnJvcig1eHgpIC0gJU8nLCByZXNwb25zZSk7XG4gICAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcihgU2VydmVyIGVycm9yICR7dXJsfWAsIGNvbmZpZywgcmVzcG9uc2UsIEZzUmVxdWVzdEVycm9yQ29kZS5TRVJWRVIpKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKDQwMCA8PSByZXNwb25zZS5zdGF0dXMgJiYgcmVzcG9uc2Uuc3RhdHVzIDw9IDQ5OSkge1xuICAgICAgICAgICAgZGVidWcoJ1JlcXVlc3QgZXJyb3IoNHh4KSAtICVPJywgcmVzcG9uc2UpO1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoYFJlcXVlc3QgZXJyb3IgJHt1cmx9YCwgY29uZmlnLCByZXNwb25zZSwgRnNSZXF1ZXN0RXJyb3JDb2RlLlJFUVVFU1QpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkZWJ1ZygnUmVxdWVzdCBlbmRzOiAlTycsIHJlc3BvbnNlKTtcbiAgICAgICAgICByZXR1cm4gcmVzb2x2ZShyZXNwb25zZSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChjb25maWcudGltZW91dCkge1xuICAgICAgICByZXEuc2V0VGltZW91dChjb25maWcudGltZW91dCwgKCkgPT4ge1xuICAgICAgICAgIHJlcS5hYm9ydCgpO1xuXG4gICAgICAgICAgaWYgKGNhbmNlbExpc3RlbmVyKSB7XG4gICAgICAgICAgICBjb25maWcuY2FuY2VsVG9rZW4ucmVtb3ZlTGlzdGVuZXIoY2FuY2VsTGlzdGVuZXIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKCdSZXF1ZXN0IHRpbWVvdXQnLCBjb25maWcsIG51bGwsIEZzUmVxdWVzdEVycm9yQ29kZS5USU1FT1VUKSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICByZXEub24oJ2Vycm9yJywgZXJyID0+IHtcbiAgICAgICAgaWYgKGNhbmNlbExpc3RlbmVyKSB7XG4gICAgICAgICAgY29uZmlnLmNhbmNlbFRva2VuLnJlbW92ZUxpc3RlbmVyKGNhbmNlbExpc3RlbmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcmVxIHx8IHJlcS5hYm9ydGVkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVidWcoJ1JlcXVlc3QgZXJyb3I6ICVzIC0gJU8nLCBlcnIsIGVyci5jb2RlKTtcbiAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoYFJlcXVlc3QgZXJyb3I6ICR7ZXJyLmNvZGV9YCwgY29uZmlnLCBudWxsLCBGc1JlcXVlc3RFcnJvckNvZGUuTkVUV09SSykpO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChCdWZmZXIuaXNCdWZmZXIoZGF0YSkgJiYgWydQT1NUJywgJ1BVVCddLmluZGV4T2YoY29uZmlnLm1ldGhvZCkgPiAtMSkge1xuICAgICAgICByZXR1cm4gdGhpcy5idWZmZXJUb0NodW5rcyhkYXRhKS5waXBlKHRoaXMuZ2V0UHJvZ3Jlc3NNb25pdG9yKGNvbmZpZywgZGF0YS5sZW5ndGgpKS5waXBlKG5ldyBIdHRwV3JpdGFibGVTdHJlYW0ocmVxKSk7XG4gICAgICB9XG5cbiAgICAgIHJlcS5lbmQoZGF0YSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTW9uaXRvciBhbmQgZW1pdCBwcm9ncmVzcyBldmVudCBpZiBuZWVkZWRcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQG1lbWJlcm9mIEh0dHBBZGFwdGVyXG4gICAqL1xuICBwcml2YXRlIGdldFByb2dyZXNzTW9uaXRvciA9IChjb25maWcsIHRvdGFsKSA9PiB7XG4gICAgbGV0IGxvYWRlZCA9IDA7XG5cbiAgICBjb25zdCBwcm9ncmVzcyA9IG5ldyBTdHJlYW0uVHJhbnNmb3JtKCk7XG4gICAgcHJvZ3Jlc3MuX3RyYW5zZm9ybSA9IChjaHVuaywgZW5jb2RpbmcsIGNiKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGNvbmZpZy5vblByb2dyZXNzID09PSAnZnVuY3Rpb24nICYmIFtGc0h0dHBNZXRob2QuUE9TVCwgRnNIdHRwTWV0aG9kLlBVVF0uaW5kZXhPZihjb25maWcubWV0aG9kKSA+IC0xKSB7XG4gICAgICAgIGxvYWRlZCArPSBjaHVuay5sZW5ndGg7XG4gICAgICAgIGNvbmZpZy5vblByb2dyZXNzKHtcbiAgICAgICAgICBsZW5ndGhDb21wdXRhYmxlOiB0cnVlLFxuICAgICAgICAgIGxvYWRlZCxcbiAgICAgICAgICB0b3RhbCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBjYihudWxsLCBjaHVuayk7XG4gICAgfTtcblxuICAgIHJldHVybiBwcm9ncmVzcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IGJ1ZmZlciB0byBzdHJlYW1cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHsqfSBidWZmZXJcbiAgICogQHJldHVybnMge1N0cmVhbS5SZWFkYWJsZX1cbiAgICogQG1lbWJlcm9mIEh0dHBBZGFwdGVyXG4gICAqL1xuICBwcml2YXRlIGJ1ZmZlclRvQ2h1bmtzKGJ1ZmZlcik6IFN0cmVhbS5SZWFkYWJsZSB7XG4gICAgY29uc3QgY2h1bmtpbmcgPSBuZXcgU3RyZWFtLlJlYWRhYmxlKCk7XG4gICAgY29uc3QgdG90YWxMZW5ndGggPSBidWZmZXIubGVuZ3RoO1xuICAgIGNvbnN0IHJlbWFpbmRlciA9IHRvdGFsTGVuZ3RoICUgSFRUUF9DSFVOS19TSVpFO1xuICAgIGNvbnN0IGN1dG9mZiA9IHRvdGFsTGVuZ3RoIC0gcmVtYWluZGVyO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjdXRvZmY7IGkgKz0gSFRUUF9DSFVOS19TSVpFKSB7XG4gICAgICBjb25zdCBjaHVuayA9IGJ1ZmZlci5zbGljZShpLCBpICsgSFRUUF9DSFVOS19TSVpFKTtcbiAgICAgIGNodW5raW5nLnB1c2goY2h1bmspO1xuICAgIH1cblxuICAgIGlmIChyZW1haW5kZXIgPiAwKSB7XG4gICAgICBjb25zdCByZW1haW5kZXJCdWZmZXIgPSBidWZmZXIuc2xpY2UoLXJlbWFpbmRlcik7XG4gICAgICBjaHVua2luZy5wdXNoKHJlbWFpbmRlckJ1ZmZlcik7XG4gICAgfVxuXG4gICAgY2h1bmtpbmcucHVzaChudWxsKTtcblxuICAgIHJldHVybiBjaHVua2luZztcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9hZGFwdGVycy9odHRwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFFSCxPQUFPLEtBQUssR0FBRyxNQUFNLEtBQUssQ0FBQztBQUMzQixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFHMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUVqQyxPQUFPLEtBQUssS0FBSyxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUFJLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFMUMsSUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDO0FBQy9CLElBQU0sZUFBZSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFDbEMsSUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBQ3pCLElBQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQztBQUNyQyxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUV2Qzs7Ozs7R0FLRztBQUNIO0lBQWlDLHNDQUFlO0lBRzlDLDRCQUFZLEdBQUcsRUFBRSxJQUFTO1FBQVQscUJBQUEsRUFBQSxTQUFTO1FBQTFCLFlBQ0Usa0JBQU0sSUFBSSxDQUFDLFNBSVo7UUFGQyxLQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUNuQixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFNLE9BQUEsS0FBSSxDQUFD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O1NBQ3RCO1FBRUQsSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFO1lBQ2pCLElBQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqRCxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwQixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBQ0gsa0JBQUM7QUFBRCxDQWxUQSxBQWtUQyxJQUFBIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2FkYXB0ZXJzL2h0dHAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuaW1wb3J0ICogYXMgemxpYiBmcm9tICd6bGliJztcbmltcG9ydCBEZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5cbmltcG9ydCB7IEFkYXB0ZXJJbnRlcmZhY2UgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBnZXRWZXJzaW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0ICogYXMgU3RyZWFtIGZyb20gJ3N0cmVhbSc7XG5pbXBvcnQgeyBGc1JlcXVlc3RPcHRpb25zLCBGc1Jlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgcHJlcGFyZURhdGEsIHBhcnNlUmVzcG9uc2UsIGNvbWJpbmVVUkwsIHNldCBhcyBzZXRIZWFkZXIsIG5vcm1hbGl6ZUhlYWRlcnMgfSBmcm9tICcuLy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgRnNSZXF1ZXN0RXJyb3JDb2RlLCBGc1JlcXVlc3RFcnJvciB9IGZyb20gJy4uL2Vycm9yJztcbmltcG9ydCB7IEZzSHR0cE1ldGhvZCB9IGZyb20gJy4vLi4vdHlwZXMnO1xuXG5jb25zdCBIVFRQU19SRUdFWFAgPSAvaHR0cHM6Py87XG5jb25zdCBIVFRQX0NIVU5LX1NJWkUgPSAxNiAqIDEwMjQ7XG5jb25zdCBNQVhfUkVESVJFQ1RTID0gMTA7XG5jb25zdCBDQU5DRUxfQ0xFQVIgPSBgRnNDbGVhbk1lbW9yeWA7XG5jb25zdCBkZWJ1ZyA9IERlYnVnKCdmczpyZXF1ZXN0Omh0dHAnKTtcblxuLyoqXG4gKiBXcml0YWJsZSBzdHJlYW0gdGhhdHMgb3ZlcndyYXAgaHR0cCByZXF1ZXN0IGZvciBwcm9ncmVzcyBldmVudFxuICpcbiAqIEBjbGFzcyBIdHRwV3JpdGFibGVTdHJlYW1cbiAqIEBleHRlbmRzIHtTdHJlYW0uV3JpdGFibGV9XG4gKi9cbmNsYXNzIEh0dHBXcml0YWJsZVN0cmVhbSBleHRlbmRzIFN0cmVhbS5Xcml0YWJsZSB7XG4gIHByaXZhdGUgcmVxdWVzdDtcblxuICBjb25zdHJ1Y3RvcihyZXEsIG9wdHMgPSB7fSkge1xuICAgIHN1cGVyKG9wdHMpO1xuXG4gICAgdGhpcy5yZXF1ZXN0ID0gcmVxO1xuICAgIHJlcS5vbmNlKCdkcmFpbicsICgpID0+IHRoaXMuZW1pdCgnZHJhaW4nKSk7XG4gIH1cblxuICBfd3JpdGUoY2h1bms6IGFueSwgZW5jb2Rpbmc/OiBzdHJpbmcsIGNiPzogKGVycm9yOiBFcnJvciB8IG51bGwgfCB1bmRlZmluZWQpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLnJlcXVlc3Qud3JpdGUoY2h1bmssIGVuY29kaW5nLCBjYik7XG4gIH1cblxuICBlbmQoY2h1bmspIHtcbiAgICBpZiAoY2h1bmspIHtcbiAgICAgIHRoaXMucmVxdWVzdC53cml0ZShjaHVuayk7XG4gICAgfVxuXG4gICAgdGhpcy5yZXF1ZXN0LmVuZCgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG5cbi8qKlxuICogTm9kZSBodHRwIHJlcXVlc3QgY2xhc3NcbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgSHR0cEFkYXB0ZXJcbiAqIEBpbXBsZW1lbnRzIHtBZGFwdGVySW50ZXJmYWNlfVxuICovXG5leHBvcnQgY2xhc3MgSHR0cEFkYXB0ZXIgaW1wbGVtZW50cyBBZGFwdGVySW50ZXJmYWNlIHtcbiAgcHJpdmF0ZSByZWRpcmVjdEhvb3BzID0gMDtcbiAgcHJpdmF0ZSByZWRpcmVjdFBhdGhzID0gW107XG5cbiAgLyoqXG4gICAqIGRvIHJlcXVlc3QgYmFzZWQgb24gY29uZmlndXJhdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge0ZzUmVxdWVzdE9wdGlvbnN9IGNvbmZpZ1xuICAgKiBAcmV0dXJuc1xuICAgKiBAbWVtYmVyb2YgSHR0cEFkYXB0ZXJcbiAgICovXG4gIHJlcXVlc3QoY29uZmlnOiBGc1JlcXVlc3RPcHRpb25zKSB7XG4gICAgLy8gaWYgdGhpcyBvcHRpb24gaXMgdW5zcGVjaWZpZWQgc2V0IGl0IGJ5IGRlZmF1bHRcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5maWxlc3RhY2tIZWFkZXJzID09PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uZmlnLmZpbGVzdGFja0hlYWRlcnMgPSB0cnVlO1xuICAgIH1cblxuICAgIGNvbmZpZy5oZWFkZXJzID0gbm9ybWFsaXplSGVhZGVycyhjb25maWcuaGVhZGVycyk7XG5cbiAgICBsZXQgeyBkYXRhLCBoZWFkZXJzIH0gPSBwcmVwYXJlRGF0YShjb25maWcpO1xuXG4gICAgaGVhZGVycyA9IHNldEhlYWRlcihoZWFkZXJzLCAndXNlci1hZ2VudCcsIGBmaWxlc3RhY2stcmVxdWVzdC8ke2dldFZlcnNpb24oKX1gKTtcblxuICAgIC8vIGZvciBub3cgd2UgYXJlIG5vdCB1c2luZyBzdHJlYW1zXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGRlYnVnKCdSZXF1ZXN0IGRhdGEgJU8nLCBkYXRhKTtcblxuICAgICAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoZGF0YSkpIHtcbiAgICAgICAgaWYgKCF1dGlscy5pc1N0cmluZyhkYXRhKSkge1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoJ0RhdGEgbXVzdCBiZSBhIHN0cmluZywgSlNPTiBvciBhIEJ1ZmZlcicsIGNvbmZpZykpO1xuICAgICAgICB9XG5cbiAgICAgICAgZGF0YSA9IEJ1ZmZlci5mcm9tKGRhdGEsICd1dGYtOCcpO1xuICAgICAgfVxuXG4gICAgICBoZWFkZXJzID0gc2V0SGVhZGVyKGhlYWRlcnMsICdjb250ZW50LWxlbmd0aCcsIGRhdGEubGVuZ3RoLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBIVFRQIGJhc2ljIGF1dGhlbnRpY2F0aW9uXG4gICAgbGV0IGF1dGg7XG4gICAgaWYgKGNvbmZpZy5hdXRoKSB7XG4gICAgICBpZiAoIWNvbmZpZy5hdXRoLnVzZXJuYW1lIHx8IGNvbmZpZy5hdXRoLnVzZXJuYW1lLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKGBCYXNpYyBhdXRoOiB1c2VybmFtZSBpcyByZXF1aXJlZCAke2NvbmZpZy5hdXRofWAsIGNvbmZpZykpO1xuICAgICAgfVxuXG4gICAgICBhdXRoID0gYCR7Y29uZmlnLmF1dGgudXNlcm5hbWV9OiR7Y29uZmlnLmF1dGgucGFzc3dvcmR9YDtcbiAgICB9XG5cbiAgICAvLyBQYXJzZSB1cmxcbiAgICBsZXQgcGFyc2VkID0gdXJsLnBhcnNlKGNvbmZpZy51cmwpO1xuXG4gICAgLy8gdHJ5IHRvIGFkZCBkZWZhdWx0IGh0dHBzIHByb3RvY29sXG4gICAgaWYgKCFwYXJzZWQucHJvdG9jb2wpIHtcbiAgICAgIHBhcnNlZCA9IHVybC5wYXJzZShgaHR0cHM6Ly8ke2NvbmZpZy51cmx9YCk7XG4gICAgfVxuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGp1c3QgYmUgc3VyZSB0aGF0IHRoZSBob3N0IGlzIHBhcnNlZCBjb3JyZWN0bHksIG5vdCBuZWVkZWQgdG8gdGVzdCAqL1xuICAgIGlmICghcGFyc2VkLmhvc3QpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoYENhbm5vdCBwYXJzZSBwcm92aWRlZCB1cmwgJHtjb25maWcudXJsfWAsIGNvbmZpZykpO1xuICAgIH1cblxuICAgIC8vIG5vcm1hbGl6ZSBhdXRoIGhlYWRlclxuICAgIGlmIChhdXRoICYmIGhlYWRlcnMuQXV0aG9yaXphdGlvbikge1xuICAgICAgZGVsZXRlIGhlYWRlcnMuQXV0aG9yaXphdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBpc0h0dHBzUmVxdWVzdCA9IEhUVFBTX1JFR0VYUC50ZXN0KHBhcnNlZC5wcm90b2NvbCk7XG4gICAgY29uc3QgYWdlbnQgPSBpc0h0dHBzUmVxdWVzdCA/IHJlcXVpcmUoJ2h0dHBzJykgOiByZXF1aXJlKCdodHRwJyk7XG5cbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgcGF0aDogY29tYmluZVVSTChwYXJzZWQucGF0aCwgY29uZmlnLnBhcmFtcyksXG4gICAgICBob3N0OiBwYXJzZWQuaG9zdCxcbiAgICAgIHBvcnQ6IHBhcnNlZC5wb3J0LFxuICAgICAgcHJvdG9jb2w6IHBhcnNlZC5wcm90b2NvbCxcbiAgICAgIG1ldGhvZDogY29uZmlnLm1ldGhvZC50b1VwcGVyQ2FzZSgpLFxuICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgIGFnZW50OiBuZXcgYWdlbnQuQWdlbnQoKSxcbiAgICAgIGF1dGg6IGF1dGgsXG4gICAgfTtcblxuICAgIGRlYnVnKCdTdGFydGluZyAlcyByZXF1ZXN0IHdpdGggb3B0aW9ucyAlTycsIGlzSHR0cHNSZXF1ZXN0ID8gJ2h0dHBzJyA6ICdodHRwJywgb3B0aW9ucyk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2U8RnNSZXNwb25zZT4oKHJlc29sdmUsIHJlamVjdCk6IGFueSA9PiB7XG4gICAgICBsZXQgcmVxO1xuICAgICAgbGV0IGNhbmNlbExpc3RlbmVyO1xuXG4gICAgICBpZiAoY29uZmlnLmNhbmNlbFRva2VuKSB7XG4gICAgICAgIGNhbmNlbExpc3RlbmVyID0gY29uZmlnLmNhbmNlbFRva2VuLm9uKCdjYW5jZWwnLCAocmVhc29uKSA9PiB7XG4gICAgICAgICAgLy8gY2xlYW51cCBoYW5kbGVyXG4gICAgICAgICAgY2FuY2VsTGlzdGVuZXIgPSBudWxsO1xuXG4gICAgICAgICAgLy8gZG8gbm90aGluZyBpZiBwcm9taXNlIGlzIHJlc29sdmVkIGJ5IHN5c3RlbVxuICAgICAgICAgIGlmIChyZWFzb24gJiYgcmVhc29uLm1lc3NhZ2UgPT09IENBTkNFTF9DTEVBUikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBpZiByZXF1ZXN0IGlzIGRvbmUgY2FuY2VsIHRva2VuIHNob3VsZCBub3QgdGhyb3cgYW55IGVycm9yICovXG4gICAgICAgICAgaWYgKHJlcSkge1xuICAgICAgICAgICAgcmVxLmFib3J0KCk7XG4gICAgICAgICAgICByZXEgPSBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRlYnVnKCdSZXF1ZXN0IGNhbmNlbGVkIGJ5IHVzZXIgJXMsIGNvbmZpZzogJU8nLCByZWFzb24sIGNvbmZpZyk7XG4gICAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoYFJlcXVlc3QgYWJvcnRlZC4gUmVhc29uOiAke3JlYXNvbn1gLCBjb25maWcsIG51bGwsIEZzUmVxdWVzdEVycm9yQ29kZS5BQk9SVEVEKSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICByZXEgPSBhZ2VudC5yZXF1ZXN0KG9wdGlvbnMsIHJlcyA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBqdXN0IGJlIHN1cmUgdGhhdCByZXNwb25zZSB3aWxsIG5vdCBiZSBjYWxsZWQgYWZ0ZXIgcmVxdWVzdCBpcyBhYm9ydGVkICovXG4gICAgICAgIGlmICghcmVxIHx8IHJlcS5hYm9ydGVkKSB7XG4gICAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoJ1JlcXVlc3QgYWJvcnRlZCcsIGNvbmZpZykpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHN0cmVhbSA9IHJlcztcbiAgICAgICAgZGVidWcoJ1Jlc3BvbnNlIHN0YXR1c0NvZGU6ICVkLCBSZXNwb25zZSBIZWFkZXJzOiAlTycsIHJlcy5zdGF0dXNDb2RlLCByZXMuaGVhZGVycyk7XG5cbiAgICAgICAgY29uc3QgY29tcHJlc3NIZWFkZXJzID0gcmVzLmhlYWRlcnNbJ2NvbnRlbnQtZW5jb2RpbmcnXTtcblxuICAgICAgICBpZiAoY29tcHJlc3NIZWFkZXJzICYmIGNvbXByZXNzSGVhZGVycy5sZW5ndGggJiYgWydnemlwJywgJ2NvbXByZXNzJywgJ2RlZmxhdGUnXS5zb21lKCh2KSA9PiBjb21wcmVzc0hlYWRlcnMuaW5kZXhPZih2KSA+IC0xKSkge1xuICAgICAgICAgIC8vIGFkZCB0aGUgdW56aXBwZXIgdG8gdGhlIGJvZHkgc3RyZWFtIHByb2Nlc3NpbmcgcGlwZWxpbmVcbiAgICAgICAgICBzdHJlYW0gPSByZXMuc3RhdHVzQ29kZSA9PT0gMjA0ID8gc3RyZWFtIDogc3RyZWFtLnBpcGUoemxpYi5jcmVhdGVVbnppcCgpKTtcbiAgICAgICAgICAvLyByZW1vdmUgdGhlIGNvbnRlbnQtZW5jb2RpbmcgaW4gb3JkZXIgdG8gbm90IGNvbmZ1c2UgZG93bnN0cmVhbSBvcGVyYXRpb25zXG4gICAgICAgICAgZGVsZXRlIHJlcy5oZWFkZXJzWydjb250ZW50LWVuY29kaW5nJ107XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcmVzcG9uc2U6IEZzUmVzcG9uc2UgPSB7XG4gICAgICAgICAgc3RhdHVzOiByZXMuc3RhdHVzQ29kZSxcbiAgICAgICAgICBzdGF0dXNUZXh0OiByZXMuc3RhdHVzTWVzc2FnZSxcbiAgICAgICAgICBoZWFkZXJzOiByZXMuaGVhZGVycyxcbiAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgZGF0YToge30sXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gd2UgbmVlZCB0byBmb2xsb3cgcmVkaXJlY3Qgc28gbWFrZSBzYW1lIHJlcXVlc3Qgd2l0aCBuZXcgbG9jYXRpb25cbiAgICAgICAgaWYgKFszMDEsIDMwMl0uaW5kZXhPZihyZXMuc3RhdHVzQ29kZSkgPiAtMSkge1xuICAgICAgICAgIGRlYnVnKCdSZWRpcmVjdCByZWNlaXZlZCAlcycsIHJlcy5zdGF0dXNDb2RlKTtcblxuICAgICAgICAgIGlmICh0aGlzLnJlZGlyZWN0SG9vcHMgPj0gTUFYX1JFRElSRUNUUykge1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoYE1heCByZWRpcmVjdHMgKCR7dGhpcy5yZWRpcmVjdEhvb3BzfSkgcmVhY2hlZC4gRXhpdGluZ2AsIGNvbmZpZywgcmVzcG9uc2UsIEZzUmVxdWVzdEVycm9yQ29kZS5SRURJUkVDVCkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHVybCA9IHJlcy5oZWFkZXJzWydsb2NhdGlvbiddO1xuXG4gICAgICAgICAgaWYgKCF1cmwgfHwgdXJsLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoYFJlZGlyZWN0IGhlYWRlciBsb2NhdGlvbiBub3QgZm91bmRgLCBjb25maWcsIHJlc3BvbnNlLCBGc1JlcXVlc3RFcnJvckNvZGUuUkVESVJFQ1QpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodGhpcy5yZWRpcmVjdFBhdGhzLmluZGV4T2YodXJsKSA+IC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcihgUmVkaXJlY3QgbG9vcCBkZXRlY3RlZCBhdCB1cmwgJHt1cmx9YCwgY29uZmlnLCByZXNwb25zZSwgRnNSZXF1ZXN0RXJyb3JDb2RlLlJFRElSRUNUKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5yZWRpcmVjdFBhdGhzLnB1c2godXJsKTtcbiAgICAgICAgICB0aGlzLnJlZGlyZWN0SG9vcHMrKztcblxuICAgICAgICAgIC8vIGZyZWUgcmVzb3VyY2VzXG4gICAgICAgICAgcmVzID0gdW5kZWZpbmVkO1xuICAgICAgICAgIHJlcSA9IHVuZGVmaW5lZDtcblxuICAgICAgICAgIGRlYnVnKCdSZWRpcmVjdGluZyByZXF1ZXN0IHRvICVzIChob29wLWNvdW50OiAlZCknLCB1cmwsIHRoaXMucmVkaXJlY3RIb29wcyk7XG5cbiAgICAgICAgICByZXR1cm4gcmVzb2x2ZSh0aGlzLnJlcXVlc3QoT2JqZWN0LmFzc2lnbih7fSwgY29uZmlnLCB7IHVybCB9KSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHJlc3BvbnNlQnVmZmVyID0gW107XG4gICAgICAgIHN0cmVhbS5vbignZGF0YScsIGNodW5rID0+IHJlc3BvbnNlQnVmZmVyLnB1c2goY2h1bmspKTtcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogaXRzIGhhcmQgdG8gdGVzdCBzb2NrZXQgZXZlbnRzIHdpdGggamVzdCBhbmQgbm9jayAtIHRlc3RlZCBtYW51YWxseSAqL1xuICAgICAgICBzdHJlYW0ub24oJ2Vycm9yJywgZXJyID0+IHtcbiAgICAgICAgICByZXMgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgcmVxID0gdW5kZWZpbmVkO1xuICAgICAgICAgIHJlc3BvbnNlQnVmZmVyID0gdW5kZWZpbmVkO1xuICAgICAgICAgIGRlYnVnKCdSZXF1ZXN0IGVycm9yOiBBYm9ydGVkICVPJywgZXJyKTtcblxuICAgICAgICAgIGlmIChyZXEuYWJvcnRlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIGNsZWFyIGNhbmNlbCB0b2tlbiB0byBhdm9pZCBtZW1vcnkgbGVha1xuICAgICAgICAgIGlmIChjYW5jZWxMaXN0ZW5lcikge1xuICAgICAgICAgICAgY29uZmlnLmNhbmNlbFRva2VuLnJlbW92ZUxpc3RlbmVyKGNhbmNlbExpc3RlbmVyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcihlcnIubWVzc2FnZSwgY29uZmlnLCBudWxsLCBGc1JlcXVlc3RFcnJvckNvZGUuTkVUV09SSykpO1xuICAgICAgICB9KTtcblxuICAgICAgICBzdHJlYW0ub24oJ2VuZCcsIGFzeW5jICgpID0+IHtcbiAgICAgICAgICAvLyBjbGVhciBjYW5jZWwgdG9rZW4gdG8gYXZvaWQgbWVtb3J5IGxlYWtcbiAgICAgICAgICBpZiAoY2FuY2VsTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIGNvbmZpZy5jYW5jZWxUb2tlbi5yZW1vdmVMaXN0ZW5lcihjYW5jZWxMaXN0ZW5lcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gY2hlY2sgaWYgdGhlcmUgaXMgYW55IHJlc3BvbnNlIGRhdGEgaW5zaWRlXG4gICAgICAgICAgaWYgKHJlcy5zdGF0dXNDb2RlICE9PSAyMDQpIHtcbiAgICAgICAgICAgIC8vIHByZXBhcmUgcmVzcG9uc2VcbiAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEgPSBCdWZmZXIuY29uY2F0KHJlc3BvbnNlQnVmZmVyKTtcbiAgICAgICAgICAgIHJlc3BvbnNlID0gYXdhaXQgcGFyc2VSZXNwb25zZShyZXNwb25zZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEgPSBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIGZyZWUgcmVzb3VyY2VzXG4gICAgICAgICAgcmVzID0gdW5kZWZpbmVkO1xuICAgICAgICAgIHJlcSA9IHVuZGVmaW5lZDtcblxuICAgICAgICAgIHJlc3BvbnNlQnVmZmVyID0gdW5kZWZpbmVkO1xuXG4gICAgICAgICAgaWYgKDUwMCA8PSByZXNwb25zZS5zdGF0dXMgJiYgcmVzcG9uc2Uuc3RhdHVzIDw9IDU5OSkge1xuICAgICAgICAgICAgLy8gc2VydmVyIGVycm9yIHRocm93XG4gICAgICAgICAgICBkZWJ1ZygnU2VydmVyIGVycm9yKDV4eCkgLSAlTycsIHJlc3BvbnNlKTtcbiAgICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKGBTZXJ2ZXIgZXJyb3IgJHt1cmx9YCwgY29uZmlnLCByZXNwb25zZSwgRnNSZXF1ZXN0RXJyb3JDb2RlLlNFUlZFUikpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoNDAwIDw9IHJlc3BvbnNlLnN0YXR1cyAmJiByZXNwb25zZS5zdGF0dXMgPD0gNDk5KSB7XG4gICAgICAgICAgICBkZWJ1ZygnUmVxdWVzdCBlcnJvcig0eHgpIC0gJU8nLCByZXNwb25zZSk7XG4gICAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcihgUmVxdWVzdCBlcnJvciAke3VybH1gLCBjb25maWcsIHJlc3BvbnNlLCBGc1JlcXVlc3RFcnJvckNvZGUuUkVRVUVTVCkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRlYnVnKCdSZXF1ZXN0IGVuZHM6ICVPJywgcmVzcG9uc2UpO1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKHJlc3BvbnNlKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgaWYgKGNvbmZpZy50aW1lb3V0KSB7XG4gICAgICAgIHJlcS5zZXRUaW1lb3V0KGNvbmZpZy50aW1lb3V0LCAoKSA9PiB7XG4gICAgICAgICAgcmVxLmFib3J0KCk7XG5cbiAgICAgICAgICBpZiAoY2FuY2VsTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIGNvbmZpZy5jYW5jZWxUb2tlbi5yZW1vdmVMaXN0ZW5lcihjYW5jZWxMaXN0ZW5lcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoJ1JlcXVlc3QgdGltZW91dCcsIGNvbmZpZywgbnVsbCwgRnNSZXF1ZXN0RXJyb3JDb2RlLlRJTUVPVVQpKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJlcS5vbignZXJyb3InLCBlcnIgPT4ge1xuICAgICAgICBpZiAoY2FuY2VsTGlzdGVuZXIpIHtcbiAgICAgICAgICBjb25maWcuY2FuY2VsVG9rZW4ucmVtb3ZlTGlzdGVuZXIoY2FuY2VsTGlzdGVuZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFyZXEgfHwgcmVxLmFib3J0ZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBkZWJ1ZygnUmVxdWVzdCBlcnJvcjogJXMgLSAlTycsIGVyciwgZXJyLmNvZGUpO1xuICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcihgUmVxdWVzdCBlcnJvcjogJHtlcnIuY29kZX1gLCBjb25maWcsIG51bGwsIEZzUmVxdWVzdEVycm9yQ29kZS5ORVRXT1JLKSk7XG4gICAgICB9KTtcblxuICAgICAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihkYXRhKSAmJiBbJ1BPU1QnLCAnUFVUJ10uaW5kZXhPZihjb25maWcubWV0aG9kKSA+IC0xKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1ZmZlclRvQ2h1bmtzKGRhdGEpLnBpcGUodGhpcy5nZXRQcm9ncmVzc01vbml0b3IoY29uZmlnLCBkYXRhLmxlbmd0aCkpLnBpcGUobmV3IEh0dHBXcml0YWJsZVN0cmVhbShyZXEpKTtcbiAgICAgIH1cblxuICAgICAgcmVxLmVuZChkYXRhKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb25pdG9yIGFuZCBlbWl0IHByb2dyZXNzIGV2ZW50IGlmIG5lZWRlZFxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAbWVtYmVyb2YgSHR0cEFkYXB0ZXJcbiAgICovXG4gIHByaXZhdGUgZ2V0UHJvZ3Jlc3NNb25pdG9yID0gKGNvbmZpZywgdG90YWwpID0+IHtcbiAgICBsZXQgbG9hZGVkID0gMDtcblxuICAgIGNvbnN0IHByb2dyZXNzID0gbmV3IFN0cmVhbS5UcmFuc2Zvcm0oKTtcbiAgICBwcm9ncmVzcy5fdHJhbnNmb3JtID0gKGNodW5rLCBlbmNvZGluZywgY2IpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgY29uZmlnLm9uUHJvZ3Jlc3MgPT09ICdmdW5jdGlvbicgJiYgW0ZzSHR0cE1ldGhvZC5QT1NULCBGc0h0dHBNZXRob2QuUFVUXS5pbmRleE9mKGNvbmZpZy5tZXRob2QpID4gLTEpIHtcbiAgICAgICAgbG9hZGVkICs9IGNodW5rLmxlbmd0aDtcbiAgICAgICAgY29uZmlnLm9uUHJvZ3Jlc3Moe1xuICAgICAgICAgIGxlbmd0aENvbXB1dGFibGU6IHRydWUsXG4gICAgICAgICAgbG9hZGVkLFxuICAgICAgICAgIHRvdGFsLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGNiKG51bGwsIGNodW5rKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHByb2dyZXNzO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgYnVmZmVyIHRvIHN0cmVhbVxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0geyp9IGJ1ZmZlclxuICAgKiBAcmV0dXJucyB7U3RyZWFtLlJlYWRhYmxlfVxuICAgKiBAbWVtYmVyb2YgSHR0cEFkYXB0ZXJcbiAgICovXG4gIHByaXZhdGUgYnVmZmVyVG9DaHVua3MoYnVmZmVyKTogU3RyZWFtLlJlYWRhYmxlIHtcbiAgICBjb25zdCBjaHVua2luZyA9IG5ldyBTdHJlYW0uUmVhZGFibGUoKTtcbiAgICBjb25zdCB0b3RhbExlbmd0aCA9IGJ1ZmZlci5sZW5ndGg7XG4gICAgY29uc3QgcmVtYWluZGVyID0gdG90YWxMZW5ndGggJSBIVFRQX0NIVU5LX1NJWkU7XG4gICAgY29uc3QgY3V0b2ZmID0gdG90YWxMZW5ndGggLSByZW1haW5kZXI7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGN1dG9mZjsgaSArPSBIVFRQX0NIVU5LX1NJWkUpIHtcbiAgICAgIGNvbnN0IGNodW5rID0gYnVmZmVyLnNsaWNlKGksIGkgKyBIVFRQX0NIVU5LX1NJWkUpO1xuICAgICAgY2h1bmtpbmcucHVzaChjaHVuayk7XG4gICAgfVxuXG4gICAgaWYgKHJlbWFpbmRlciA+IDApIHtcbiAgICAgIGNvbnN0IHJlbWFpbmRlckJ1ZmZlciA9IGJ1ZmZlci5zbGljZSgtcmVtYWluZGVyKTtcbiAgICAgIGNodW5raW5nLnB1c2gocmVtYWluZGVyQnVmZmVyKTtcbiAgICB9XG5cbiAgICBjaHVua2luZy5wdXNoKG51bGwpO1xuXG4gICAgcmV0dXJuIGNodW5raW5nO1xuICB9XG59XG4iXX0=

@@ -19,3 +19,4 @@ /*

export * from './xhr';
export * from './interface';
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9hZGFwdGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLE9BQU8sQ0FBQyIsImZpbGUiOiJsaWIvcmVxdWVzdC9hZGFwdGVycy9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9odHRwJztcbmV4cG9ydCAqIGZyb20gJy4veGhyJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlJztcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9hZGFwdGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLGFBQWEsQ0FBQyIsImZpbGUiOiJsaWIvcmVxdWVzdC9hZGFwdGVycy9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9odHRwJztcbmV4cG9ydCAqIGZyb20gJy4veGhyJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlJztcbiJdfQ==

@@ -0,3 +1,3 @@

export {};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9hZGFwdGVycy9pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJsaWIvcmVxdWVzdC9hZGFwdGVycy9pbnRlcmZhY2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBGc1JlcXVlc3RPcHRpb25zLCBGc1Jlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFkYXB0ZXJJbnRlcmZhY2Uge1xuICByZXF1ZXN0KG9wdGlvbnM6IEZzUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPEZzUmVzcG9uc2U+O1xufVxuIl19

@@ -48,5 +48,5 @@ import { __awaiter, __generator } from "tslib";

if (!config.auth.username || config.auth.username.length === 0 || !config.auth.password || config.auth.password.length === 0) {
return Promise.reject(new FsRequestError("Basic auth: username and password are required " + config.auth, config));
return Promise.reject(new FsRequestError("Basic auth: username and password are required ".concat(config.auth), config));
}
headers.Authorization = 'Basic ' + btoa(unescape(encodeURIComponent(config.auth.username + ":" + config.auth.password)));
headers.Authorization = 'Basic ' + btoa(unescape(encodeURIComponent("".concat(config.auth.username, ":").concat(config.auth.password))));
debug('Set request authorization to %s', config.auth.username + config.auth.password);

@@ -56,3 +56,3 @@ }

if (!/^http(s)?:\/\//.test(url)) {
url = "https://" + url;
url = "https://".concat(url);
}

@@ -73,3 +73,3 @@ url = combineURL(url, config.params);

debug('Request canceled by user %s, config: %O', reason, config);
return reject(new FsRequestError("Request aborted. Reason: " + reason, config, null, FsRequestErrorCode.ABORTED));
return reject(new FsRequestError("Request aborted. Reason: ".concat(reason), config, null, FsRequestErrorCode.ABORTED));
};

@@ -105,7 +105,7 @@ config.cancelToken.once('cancel', cancelListener);

debug('Server error(5xx) - %O', response);
return [2 /*return*/, reject(new FsRequestError("Server error " + url, config, response, FsRequestErrorCode.SERVER))];
return [2 /*return*/, reject(new FsRequestError("Server error ".concat(url), config, response, FsRequestErrorCode.SERVER))];
}
else if (400 <= response.status && response.status <= 499) {
debug('Request error(4xx) - %O', response);
return [2 /*return*/, reject(new FsRequestError("Request error " + url, config, response, FsRequestErrorCode.REQUEST))];
return [2 /*return*/, reject(new FsRequestError("Request error ".concat(url), config, response, FsRequestErrorCode.REQUEST))];
}

@@ -173,2 +173,2 @@ // clear cancel token to avoid memory leak

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9hZGFwdGVycy94aHIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEtBQUssS0FBSyxNQUFNLFVBQVUsQ0FBQztBQUVsQyxPQUFPLEVBQWdDLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLEtBQUssSUFBSSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdGLElBQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3RDLElBQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQztBQUVyQztJQUFBO0lBbUtBLENBQUM7SUFqS0MsNEJBQU8sR0FBUCxVQUFRLE1BQXdCO1FBQWhDLGlCQWdLQztRQS9KQyxrREFBa0Q7UUFDbEQsSUFBSSxPQUFPLE1BQU0sQ0FBQyxnQkFBZ0IsS0FBSyxXQUFXLEVBQUU7WUFDbEQsTUFBTSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztTQUNoQztRQUVELE1BQU0sR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUVoQyxJQUFBLGtCQUFJLEVBQUUsd0JBQU8sQ0FBWTtRQUUvQixpRUFBaUU7UUFDakUsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzFCLE9BQU8sT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsSUFBSSxPQUFPLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUVuQyxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDdkIsT0FBTyxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUM7U0FDL0I7UUFFRCw0QkFBNEI7UUFDNUIsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUM1SCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxjQUFjLENBQUMsb0RBQWtELE1BQU0sQ0FBQyxJQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQzthQUNwSDtZQUVELE9BQU8sQ0FBQyxhQUFhLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLFNBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekgsS0FBSyxDQUFDLGlDQUFpQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdkY7UUFFRCxJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDL0IsR0FBRyxHQUFHLGFBQVcsR0FBSyxDQUFDO1NBQ3hCO1FBRUQsR0FBRyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXJDLEtBQUssQ0FBQyx3Q0FBd0MsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFN0QsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVyRCxPQUFPLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFFakMsT0FBTyxJQUFJLE9BQU8sQ0FBYSxVQUFDLE9BQU8sRUFBRSxNQUFNO1lBQzdDLElBQUksY0FBYyxDQUFDO1lBRW5CLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRTtnQkFDdEIsY0FBYyxHQUFHLFVBQUMsTUFBTTtvQkFDdEIsc0ZBQXNGO29CQUN0RixJQUFJLE9BQU8sRUFBRTt3QkFDWCxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7d0JBQ2hCLE9BQU8sR0FBRyxJQUFJLENBQUM7cUJBQ2hCO29CQUVELEtBQUssQ0FBQyx5Q0FBeUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7b0JBQ2pFLE9BQU8sTUFBTSxDQUFDLElBQUksY0FBYyxDQUFDLDhCQUE0QixNQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNwSCxDQUFDLENBQUM7Z0JBRUYsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDO2FBQ25EO1lBRUQsT0FBTyxDQUFDLGtCQUFrQixHQUFHOzs7Ozs0QkFDM0IsSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBVSxLQUFLLENBQUMsRUFBRTtnQ0FDeEMsc0JBQU87NkJBQ1I7NEJBRUQsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7Z0NBQ2hELHNCQUFPOzZCQUNSOzRCQUdLLGVBQWUsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQzs0QkFDaEUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7NEJBRWxDLFFBQVEsR0FBZTtnQ0FDekIsSUFBSSxFQUFFLFlBQVk7Z0NBQ2xCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtnQ0FDdEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO2dDQUM5QixPQUFPLEVBQUUsZUFBZTtnQ0FDeEIsTUFBTSxFQUFFLE1BQU07NkJBQ2YsQ0FBQzs0QkFFRixPQUFPLEdBQUcsSUFBSSxDQUFDOzRCQUNKLHFCQUFNLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBQTs7NEJBQXhDLFFBQVEsR0FBRyxTQUE2QixDQUFDOzRCQUV6QyxJQUFJLEdBQUcsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxNQUFNLElBQUksR0FBRyxFQUFFO2dDQUNwRCxxQkFBcUI7Z0NBQ3JCLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxRQUFRLENBQUMsQ0FBQztnQ0FDMUMsc0JBQU8sTUFBTSxDQUFDLElBQUksY0FBYyxDQUFDLGtCQUFnQixHQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFDOzZCQUN2RztpQ0FBTSxJQUFJLEdBQUcsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxNQUFNLElBQUksR0FBRyxFQUFFO2dDQUMzRCxLQUFLLENBQUMseUJBQXlCLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0NBQzNDLHNCQUFPLE1BQU0sQ0FBQyxJQUFJLGNBQWMsQ0FBQyxtQkFBaUIsR0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQzs2QkFDekc7NEJBRUQsMENBQTBDOzRCQUMxQyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUU7Z0NBQ3RCLE1BQU0sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQztnQ0FDNUQsY0FBYyxHQUFHLElBQUksQ0FBQzs2QkFDdkI7NEJBRUQsc0JBQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFDOzs7aUJBQzFCLENBQUM7WUFFRiw0RUFBNEU7WUFDNUUsT0FBTyxDQUFDLE9BQU8sR0FBRyxTQUFTLFdBQVc7Z0JBQ3BDLDJFQUEyRTtnQkFDM0UsSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDWixPQUFPO2lCQUNSO2dCQUVELE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ2YsTUFBTSxDQUFDLElBQUksY0FBYyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUMxRixDQUFDLENBQUM7WUFFRixrQ0FBa0M7WUFDbEMsT0FBTyxDQUFDLE9BQU8sR0FBRyxTQUFTLFdBQVcsQ0FBQyxHQUFHO2dCQUN4QyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNmLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDaEMsTUFBTSxDQUFDLElBQUksY0FBYyxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDeEYsQ0FBQyxDQUFDO1lBRUYsaUJBQWlCO1lBQ2pCLE9BQU8sQ0FBQyxTQUFTLEdBQUcsU0FBUyxhQUFhO2dCQUN4QyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNmLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDdkMsTUFBTSxDQUFDLElBQUksY0FBYyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUMxRixDQUFDLENBQUM7WUFFRiw2QkFBNkI7WUFDN0IsSUFBSSxrQkFBa0IsSUFBSSxPQUFPLElBQUksT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFO2dCQUMzRSxLQUFLLElBQUksR0FBRyxJQUFJLE9BQU8sRUFBRTtvQkFDdkIsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUyxFQUFFO3dCQUM5QixTQUFTO3FCQUNWO29CQUVELEtBQUssQ0FBQyw2QkFBNkIsRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3hELE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQzdDO2FBQ0Y7WUFFRCxJQUFJLE9BQU8sTUFBTSxDQUFDLFVBQVUsS0FBSyxVQUFVLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUNoSCwrRUFBK0U7Z0JBQy9FLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtvQkFDbEIsS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7b0JBQ3ZDLE9BQU8sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDaEU7cUJBQU07b0JBQ0wsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7b0JBQ2hDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUN6RDthQUNGO1lBRUQsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO2dCQUN0QixJQUFJLEdBQUcsSUFBSSxDQUFDO2FBQ2I7WUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNILGlCQUFDO0FBQUQsQ0FuS0EsQUFtS0MsSUFBQSIsImZpbGUiOiJsaWIvcmVxdWVzdC9hZGFwdGVycy94aHIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFja1xuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgRGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgQWRhcHRlckludGVyZmFjZSB9IGZyb20gJy4vaW50ZXJmYWNlJztcbmltcG9ydCB7IEZzUmVxdWVzdE9wdGlvbnMsIEZzUmVzcG9uc2UsIEZzSHR0cE1ldGhvZCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEZzUmVxdWVzdEVycm9yLCBGc1JlcXVlc3RFcnJvckNvZGUgfSBmcm9tICcuLi9lcnJvcic7XG5pbXBvcnQgeyBwcmVwYXJlRGF0YSwgcGFyc2VSZXNwb25zZSwgcGFyc2UgYXMgcGFyc2VIZWFkZXJzLCBjb21iaW5lVVJMIH0gZnJvbSAnLi8uLi9oZWxwZXJzJztcblxuY29uc3QgZGVidWcgPSBEZWJ1ZygnZnM6cmVxdWVzdDp4aHInKTtcbmNvbnN0IENBTkNFTF9DTEVBUiA9IGBGc0NsZWFuTWVtb3J5YDtcblxuZXhwb3J0IGNsYXNzIFhockFkYXB0ZXIgaW1wbGVtZW50cyBBZGFwdGVySW50ZXJmYWNlIHtcblxuICByZXF1ZXN0KGNvbmZpZzogRnNSZXF1ZXN0T3B0aW9ucykge1xuICAgIC8vIGlmIHRoaXMgb3B0aW9uIGlzIHVuc3BlY2lmaWVkIHNldCBpdCBieSBkZWZhdWx0XG4gICAgaWYgKHR5cGVvZiBjb25maWcuZmlsZXN0YWNrSGVhZGVycyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbmZpZy5maWxlc3RhY2tIZWFkZXJzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25maWcgPSBwcmVwYXJlRGF0YShjb25maWcpO1xuICAgIGNvbmZpZy5oZWFkZXJzID0gY29uZmlnLmhlYWRlcnMgfHwge307XG5cbiAgICBsZXQgeyBkYXRhLCBoZWFkZXJzIH0gPSBjb25maWc7XG5cbiAgICAvLyBpZiBkYXRhIGlzIHR5cGUgb2YgZm9ybSBsZXQgYnJvd3NlciB0byBzZXQgcHJvcGVyIGNvbnRlbnQgdHlwZVxuICAgIGlmICh1dGlscy5pc0Zvcm1EYXRhKGRhdGEpKSB7XG4gICAgICBkZWxldGUgaGVhZGVyc1snQ29udGVudC1UeXBlJ107XG4gICAgfVxuXG4gICAgbGV0IHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcblxuICAgIGlmIChjb25maWcuYmxvYlJlc3BvbnNlKSB7XG4gICAgICByZXF1ZXN0LnJlc3BvbnNlVHlwZSA9ICdibG9iJztcbiAgICB9XG5cbiAgICAvLyBIVFRQIGJhc2ljIGF1dGhlbnRpY2F0aW9uXG4gICAgaWYgKGNvbmZpZy5hdXRoKSB7XG4gICAgICBpZiAoIWNvbmZpZy5hdXRoLnVzZXJuYW1lIHx8IGNvbmZpZy5hdXRoLnVzZXJuYW1lLmxlbmd0aCA9PT0gMCB8fCAhY29uZmlnLmF1dGgucGFzc3dvcmQgfHwgY29uZmlnLmF1dGgucGFzc3dvcmQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoYEJhc2ljIGF1dGg6IHVzZXJuYW1lIGFuZCBwYXNzd29yZCBhcmUgcmVxdWlyZWQgJHtjb25maWcuYXV0aH1gLCBjb25maWcpKTtcbiAgICAgIH1cblxuICAgICAgaGVhZGVycy5BdXRob3JpemF0aW9uID0gJ0Jhc2ljICcgKyBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChgJHtjb25maWcuYXV0aC51c2VybmFtZX06JHtjb25maWcuYXV0aC5wYXNzd29yZH1gKSkpO1xuICAgICAgZGVidWcoJ1NldCByZXF1ZXN0IGF1dGhvcml6YXRpb24gdG8gJXMnLCBjb25maWcuYXV0aC51c2VybmFtZSArIGNvbmZpZy5hdXRoLnBhc3N3b3JkKTtcbiAgICB9XG5cbiAgICBsZXQgdXJsID0gY29uZmlnLnVybC50cmltKCk7XG5cbiAgICBpZiAoIS9eaHR0cChzKT86XFwvXFwvLy50ZXN0KHVybCkpIHtcbiAgICAgIHVybCA9IGBodHRwczovLyR7dXJsfWA7XG4gICAgfVxuXG4gICAgdXJsID0gY29tYmluZVVSTCh1cmwsIGNvbmZpZy5wYXJhbXMpO1xuXG4gICAgZGVidWcoJ1N0YXJ0aW5nIHJlcXVlc3QgdG8gJXMgd2l0aCBvcHRpb25zICVPJywgdXJsLCBjb25maWcpO1xuXG4gICAgcmVxdWVzdC5vcGVuKGNvbmZpZy5tZXRob2QudG9VcHBlckNhc2UoKSwgdXJsLCB0cnVlKTtcblxuICAgIHJlcXVlc3QudGltZW91dCA9IGNvbmZpZy50aW1lb3V0O1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPEZzUmVzcG9uc2U+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGxldCBjYW5jZWxMaXN0ZW5lcjtcblxuICAgICAgaWYgKGNvbmZpZy5jYW5jZWxUb2tlbikge1xuICAgICAgICBjYW5jZWxMaXN0ZW5lciA9IChyZWFzb24pID0+IHtcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogaWYgcmVxdWVzdCBpcyBkb25lIGNhbmNlbCB0b2tlbiBzaG91bGQgbm90IHRocm93IGFueSBlcnJvciAqL1xuICAgICAgICAgIGlmIChyZXF1ZXN0KSB7XG4gICAgICAgICAgICByZXF1ZXN0LmFib3J0KCk7XG4gICAgICAgICAgICByZXF1ZXN0ID0gbnVsbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkZWJ1ZygnUmVxdWVzdCBjYW5jZWxlZCBieSB1c2VyICVzLCBjb25maWc6ICVPJywgcmVhc29uLCBjb25maWcpO1xuICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKGBSZXF1ZXN0IGFib3J0ZWQuIFJlYXNvbjogJHtyZWFzb259YCwgY29uZmlnLCBudWxsLCBGc1JlcXVlc3RFcnJvckNvZGUuQUJPUlRFRCkpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbmZpZy5jYW5jZWxUb2tlbi5vbmNlKCdjYW5jZWwnLCBjYW5jZWxMaXN0ZW5lcik7XG4gICAgICB9XG5cbiAgICAgIHJlcXVlc3Qub25yZWFkeXN0YXRlY2hhbmdlID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBpZiAoIXJlcXVlc3QgfHwgcmVxdWVzdC5yZWFkeVN0YXRlICE9PSA0KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlcXVlc3Quc3RhdHVzID09PSAwICYmICFyZXF1ZXN0LnJlc3BvbnNlVVJMKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUHJlcGFyZSB0aGUgcmVzcG9uc2VcbiAgICAgICAgY29uc3QgcmVzcG9uc2VIZWFkZXJzID0gcGFyc2VIZWFkZXJzKHJlcXVlc3QuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpO1xuICAgICAgICBjb25zdCByZXNwb25zZURhdGEgPSByZXF1ZXN0LnJlc3BvbnNlO1xuXG4gICAgICAgIGxldCByZXNwb25zZTogRnNSZXNwb25zZSA9IHtcbiAgICAgICAgICBkYXRhOiByZXNwb25zZURhdGEsXG4gICAgICAgICAgc3RhdHVzOiByZXF1ZXN0LnN0YXR1cyxcbiAgICAgICAgICBzdGF0dXNUZXh0OiByZXF1ZXN0LnN0YXR1c1RleHQsXG4gICAgICAgICAgaGVhZGVyczogcmVzcG9uc2VIZWFkZXJzLFxuICAgICAgICAgIGNvbmZpZzogY29uZmlnLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJlcXVlc3QgPSBudWxsO1xuICAgICAgICByZXNwb25zZSA9IGF3YWl0IHBhcnNlUmVzcG9uc2UocmVzcG9uc2UpO1xuXG4gICAgICAgIGlmICg1MDAgPD0gcmVzcG9uc2Uuc3RhdHVzICYmIHJlc3BvbnNlLnN0YXR1cyA8PSA1OTkpIHtcbiAgICAgICAgICAvLyBzZXJ2ZXIgZXJyb3IgdGhyb3dcbiAgICAgICAgICBkZWJ1ZygnU2VydmVyIGVycm9yKDV4eCkgLSAlTycsIHJlc3BvbnNlKTtcbiAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcihgU2VydmVyIGVycm9yICR7dXJsfWAsIGNvbmZpZywgcmVzcG9uc2UsIEZzUmVxdWVzdEVycm9yQ29kZS5TRVJWRVIpKTtcbiAgICAgICAgfSBlbHNlIGlmICg0MDAgPD0gcmVzcG9uc2Uuc3RhdHVzICYmIHJlc3BvbnNlLnN0YXR1cyA8PSA0OTkpIHtcbiAgICAgICAgICBkZWJ1ZygnUmVxdWVzdCBlcnJvcig0eHgpIC0gJU8nLCByZXNwb25zZSk7XG4gICAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoYFJlcXVlc3QgZXJyb3IgJHt1cmx9YCwgY29uZmlnLCByZXNwb25zZSwgRnNSZXF1ZXN0RXJyb3JDb2RlLlJFUVVFU1QpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNsZWFyIGNhbmNlbCB0b2tlbiB0byBhdm9pZCBtZW1vcnkgbGVha1xuICAgICAgICBpZiAoY29uZmlnLmNhbmNlbFRva2VuKSB7XG4gICAgICAgICAgY29uZmlnLmNhbmNlbFRva2VuLnJlbW92ZUxpc3RlbmVyKCdjYW5jZWwnLCBjYW5jZWxMaXN0ZW5lcik7XG4gICAgICAgICAgY2FuY2VsTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc29sdmUocmVzcG9uc2UpO1xuICAgICAgfTtcblxuICAgICAgLy8gSGFuZGxlIGJyb3dzZXIgcmVxdWVzdCBjYW5jZWxsYXRpb24gKGFzIG9wcG9zZWQgdG8gYSBtYW51YWwgY2FuY2VsbGF0aW9uKVxuICAgICAgcmVxdWVzdC5vbmFib3J0ID0gZnVuY3Rpb24gaGFuZGxlQWJvcnQoKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBqdXN0IHRvIGJlIHN1cmUgdGhhdCBhYm9ydCB3YXMgbm90IGNhbGxlZCB0d2ljZSAqL1xuICAgICAgICBpZiAoIXJlcXVlc3QpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICByZXF1ZXN0ID0gbnVsbDtcbiAgICAgICAgcmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcignUmVxdWVzdCBhYm9ydGVkJywgY29uZmlnLCBudWxsLCBGc1JlcXVlc3RFcnJvckNvZGUuQUJPUlRFRCkpO1xuICAgICAgfTtcblxuICAgICAgLy8gSGFuZGxlIGxvdyBsZXZlbCBuZXR3b3JrIGVycm9yc1xuICAgICAgcmVxdWVzdC5vbmVycm9yID0gZnVuY3Rpb24gaGFuZGxlRXJyb3IoZXJyKSB7XG4gICAgICAgIHJlcXVlc3QgPSBudWxsO1xuICAgICAgICBkZWJ1ZygnUmVxdWVzdCBlcnJvciEgJU8nLCBlcnIpO1xuICAgICAgICByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKCdOZXR3b3JrIEVycm9yJywgY29uZmlnLCBudWxsLCBGc1JlcXVlc3RFcnJvckNvZGUuTkVUV09SSykpO1xuICAgICAgfTtcblxuICAgICAgLy8gSGFuZGxlIHRpbWVvdXRcbiAgICAgIHJlcXVlc3Qub250aW1lb3V0ID0gZnVuY3Rpb24gaGFuZGxlVGltZW91dCgpIHtcbiAgICAgICAgcmVxdWVzdCA9IG51bGw7XG4gICAgICAgIGRlYnVnKCdSZXF1ZXN0IHRpbWVkIG91dC4gJU8nLCBjb25maWcpO1xuICAgICAgICByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKCdSZXF1ZXN0IHRpbWVvdXQnLCBjb25maWcsIG51bGwsIEZzUmVxdWVzdEVycm9yQ29kZS5USU1FT1VUKSk7XG4gICAgICB9O1xuXG4gICAgICAvLyBBZGQgaGVhZGVycyB0byB0aGUgcmVxdWVzdFxuICAgICAgaWYgKCdzZXRSZXF1ZXN0SGVhZGVyJyBpbiByZXF1ZXN0ICYmIGhlYWRlcnMgJiYgT2JqZWN0LmtleXMoaGVhZGVycykubGVuZ3RoKSB7XG4gICAgICAgIGZvciAobGV0IGtleSBpbiBoZWFkZXJzKSB7XG4gICAgICAgICAgaWYgKGhlYWRlcnNba2V5XSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkZWJ1ZygnU2V0IHJlcXVlc3QgaGVhZGVyICVzIHRvICVzJywga2V5LCBoZWFkZXJzW2tleV0pO1xuICAgICAgICAgIHJlcXVlc3Quc2V0UmVxdWVzdEhlYWRlcihrZXksIGhlYWRlcnNba2V5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBjb25maWcub25Qcm9ncmVzcyA9PT0gJ2Z1bmN0aW9uJyAmJiBbRnNIdHRwTWV0aG9kLlBPU1QsIEZzSHR0cE1ldGhvZC5QVVRdLmluZGV4T2YoY29uZmlnLm1ldGhvZCkgPiAtMSkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZTogZWxzZSBwYXRoIGlzIGp1c3QgZmFsbGJhY2sgdG8gbm9ybWFsIHByb2dyZXNzIGV2ZW50ICovXG4gICAgICAgIGlmIChyZXF1ZXN0LnVwbG9hZCkge1xuICAgICAgICAgIGRlYnVnKCdCaW5kIHRvIHVwbG9hZCBwcm9ncmVzcyBldmVudCcpO1xuICAgICAgICAgIHJlcXVlc3QudXBsb2FkLmFkZEV2ZW50TGlzdGVuZXIoJ3Byb2dyZXNzJywgY29uZmlnLm9uUHJvZ3Jlc3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRlYnVnKCdCaW5kIHRvIHByb2dyZXNzIGV2ZW50Jyk7XG4gICAgICAgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCdwcm9ncmVzcycsIGNvbmZpZy5vblByb2dyZXNzKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZGF0YSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRhdGEgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICByZXF1ZXN0LnNlbmQoZGF0YSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9hZGFwdGVycy94aHIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEtBQUssS0FBSyxNQUFNLFVBQVUsQ0FBQztBQUVsQyxPQUFPLEVBQWdDLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLEtBQUssSUFBSSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdGLElBQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3RDLElBQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQztBQUVyQztJQUFBO0lBbUtBLENBQUM7SUFqS0MsNEJBQU8sR0FBUCxVQUFRLE1BQXdCO1FBQWhDLGlCQWdLQztRQS9KQyxrREFBa0Q7UUFDbEQsSUFBSSxPQUFPLE1BQU0sQ0FBQyxnQkFBZ0IsS0FBSyxXQUFXLEVBQUU7WUFDbEQsTUFBTSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztTQUNoQztRQUVELE1BQU0sR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUVoQyxJQUFBLElBQUksR0FBYyxNQUFNLEtBQXBCLEVBQUUsT0FBTyxHQUFLLE1BQU0sUUFBWCxDQUFZO1FBRS9CLGlFQUFpRTtRQUNqRSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDMUIsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDaEM7UUFFRCxJQUFJLE9BQU8sR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFD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Q0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLEVBQUU7d0JBQzlCLFNBQVM7cUJBQ1Y7b0JBRUQsS0FBSyxDQUFDLDZCQUE2QixFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDeEQsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztpQkFDN0M7YUFDRjtZQUVELElBQUksT0FBTyxNQUFNLENBQUMsVUFBVSxLQUFLLFVBQVUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2hILCtFQUErRTtnQkFDL0UsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO29CQUNsQixLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztvQkFDdkMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUNoRTtxQkFBTTtvQkFDTCxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztvQkFDaEMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ3pEO2FBQ0Y7WUFFRCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7Z0JBQ3RCLElBQUksR0FBRyxJQUFJLENBQUM7YUFDYjtZQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0gsaUJBQUM7QUFBRCxDQW5LQSxBQW1LQyxJQUFBIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2FkYXB0ZXJzL3hoci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCBEZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBBZGFwdGVySW50ZXJmYWNlIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRnNSZXF1ZXN0T3B0aW9ucywgRnNSZXNwb25zZSwgRnNIdHRwTWV0aG9kIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRnNSZXF1ZXN0RXJyb3IsIEZzUmVxdWVzdEVycm9yQ29kZSB9IGZyb20gJy4uL2Vycm9yJztcbmltcG9ydCB7IHByZXBhcmVEYXRhLCBwYXJzZVJlc3BvbnNlLCBwYXJzZSBhcyBwYXJzZUhlYWRlcnMsIGNvbWJpbmVVUkwgfSBmcm9tICcuLy4uL2hlbHBlcnMnO1xuXG5jb25zdCBkZWJ1ZyA9IERlYnVnKCdmczpyZXF1ZXN0OnhocicpO1xuY29uc3QgQ0FOQ0VMX0NMRUFSID0gYEZzQ2xlYW5NZW1vcnlgO1xuXG5leHBvcnQgY2xhc3MgWGhyQWRhcHRlciBpbXBsZW1lbnRzIEFkYXB0ZXJJbnRlcmZhY2Uge1xuXG4gIHJlcXVlc3QoY29uZmlnOiBGc1JlcXVlc3RPcHRpb25zKSB7XG4gICAgLy8gaWYgdGhpcyBvcHRpb24gaXMgdW5zcGVjaWZpZWQgc2V0IGl0IGJ5IGRlZmF1bHRcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5maWxlc3RhY2tIZWFkZXJzID09PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uZmlnLmZpbGVzdGFja0hlYWRlcnMgPSB0cnVlO1xuICAgIH1cblxuICAgIGNvbmZpZyA9IHByZXBhcmVEYXRhKGNvbmZpZyk7XG4gICAgY29uZmlnLmhlYWRlcnMgPSBjb25maWcuaGVhZGVycyB8fCB7fTtcblxuICAgIGxldCB7IGRhdGEsIGhlYWRlcnMgfSA9IGNvbmZpZztcblxuICAgIC8vIGlmIGRhdGEgaXMgdHlwZSBvZiBmb3JtIGxldCBicm93c2VyIHRvIHNldCBwcm9wZXIgY29udGVudCB0eXBlXG4gICAgaWYgKHV0aWxzLmlzRm9ybURhdGEoZGF0YSkpIHtcbiAgICAgIGRlbGV0ZSBoZWFkZXJzWydDb250ZW50LVR5cGUnXTtcbiAgICB9XG5cbiAgICBsZXQgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuXG4gICAgaWYgKGNvbmZpZy5ibG9iUmVzcG9uc2UpIHtcbiAgICAgIHJlcXVlc3QucmVzcG9uc2VUeXBlID0gJ2Jsb2InO1xuICAgIH1cblxuICAgIC8vIEhUVFAgYmFzaWMgYXV0aGVudGljYXRpb25cbiAgICBpZiAoY29uZmlnLmF1dGgpIHtcbiAgICAgIGlmICghY29uZmlnLmF1dGgudXNlcm5hbWUgfHwgY29uZmlnLmF1dGgudXNlcm5hbWUubGVuZ3RoID09PSAwIHx8ICFjb25maWcuYXV0aC5wYXNzd29yZCB8fCBjb25maWcuYXV0aC5wYXNzd29yZC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcihgQmFzaWMgYXV0aDogdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGFyZSByZXF1aXJlZCAke2NvbmZpZy5hdXRofWAsIGNvbmZpZykpO1xuICAgICAgfVxuXG4gICAgICBoZWFkZXJzLkF1dGhvcml6YXRpb24gPSAnQmFzaWMgJyArIGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KGAke2NvbmZpZy5hdXRoLnVzZXJuYW1lfToke2NvbmZpZy5hdXRoLnBhc3N3b3JkfWApKSk7XG4gICAgICBkZWJ1ZygnU2V0IHJlcXVlc3QgYXV0aG9yaXphdGlvbiB0byAlcycsIGNvbmZpZy5hdXRoLnVzZXJuYW1lICsgY29uZmlnLmF1dGgucGFzc3dvcmQpO1xuICAgIH1cblxuICAgIGxldCB1cmwgPSBjb25maWcudXJsLnRyaW0oKTtcblxuICAgIGlmICghL15odHRwKHMpPzpcXC9cXC8vLnRlc3QodXJsKSkge1xuICAgICAgdXJsID0gYGh0dHBzOi8vJHt1cmx9YDtcbiAgICB9XG5cbiAgICB1cmwgPSBjb21iaW5lVVJMKHVybCwgY29uZmlnLnBhcmFtcyk7XG5cbiAgICBkZWJ1ZygnU3RhcnRpbmcgcmVxdWVzdCB0byAlcyB3aXRoIG9wdGlvbnMgJU8nLCB1cmwsIGNvbmZpZyk7XG5cbiAgICByZXF1ZXN0Lm9wZW4oY29uZmlnLm1ldGhvZC50b1VwcGVyQ2FzZSgpLCB1cmwsIHRydWUpO1xuXG4gICAgcmVxdWVzdC50aW1lb3V0ID0gY29uZmlnLnRpbWVvdXQ7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2U8RnNSZXNwb25zZT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgbGV0IGNhbmNlbExpc3RlbmVyO1xuXG4gICAgICBpZiAoY29uZmlnLmNhbmNlbFRva2VuKSB7XG4gICAgICAgIGNhbmNlbExpc3RlbmVyID0gKHJlYXNvbikgPT4ge1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBpZiByZXF1ZXN0IGlzIGRvbmUgY2FuY2VsIHRva2VuIHNob3VsZCBub3QgdGhyb3cgYW55IGVycm9yICovXG4gICAgICAgICAgaWYgKHJlcXVlc3QpIHtcbiAgICAgICAgICAgIHJlcXVlc3QuYWJvcnQoKTtcbiAgICAgICAgICAgIHJlcXVlc3QgPSBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRlYnVnKCdSZXF1ZXN0IGNhbmNlbGVkIGJ5IHVzZXIgJXMsIGNvbmZpZzogJU8nLCByZWFzb24sIGNvbmZpZyk7XG4gICAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoYFJlcXVlc3QgYWJvcnRlZC4gUmVhc29uOiAke3JlYXNvbn1gLCBjb25maWcsIG51bGwsIEZzUmVxdWVzdEVycm9yQ29kZS5BQk9SVEVEKSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uZmlnLmNhbmNlbFRva2VuLm9uY2UoJ2NhbmNlbCcsIGNhbmNlbExpc3RlbmVyKTtcbiAgICAgIH1cblxuICAgICAgcmVxdWVzdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgIGlmICghcmVxdWVzdCB8fCByZXF1ZXN0LnJlYWR5U3RhdGUgIT09IDQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVxdWVzdC5zdGF0dXMgPT09IDAgJiYgIXJlcXVlc3QucmVzcG9uc2VVUkwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQcmVwYXJlIHRoZSByZXNwb25zZVxuICAgICAgICBjb25zdCByZXNwb25zZUhlYWRlcnMgPSBwYXJzZUhlYWRlcnMocmVxdWVzdC5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlRGF0YSA9IHJlcXVlc3QucmVzcG9uc2U7XG5cbiAgICAgICAgbGV0IHJlc3BvbnNlOiBGc1Jlc3BvbnNlID0ge1xuICAgICAgICAgIGRhdGE6IHJlc3BvbnNlRGF0YSxcbiAgICAgICAgICBzdGF0dXM6IHJlcXVlc3Quc3RhdHVzLFxuICAgICAgICAgIHN0YXR1c1RleHQ6IHJlcXVlc3Quc3RhdHVzVGV4dCxcbiAgICAgICAgICBoZWFkZXJzOiByZXNwb25zZUhlYWRlcnMsXG4gICAgICAgICAgY29uZmlnOiBjb25maWcsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmVxdWVzdCA9IG51bGw7XG4gICAgICAgIHJlc3BvbnNlID0gYXdhaXQgcGFyc2VSZXNwb25zZShyZXNwb25zZSk7XG5cbiAgICAgICAgaWYgKDUwMCA8PSByZXNwb25zZS5zdGF0dXMgJiYgcmVzcG9uc2Uuc3RhdHVzIDw9IDU5OSkge1xuICAgICAgICAgIC8vIHNlcnZlciBlcnJvciB0aHJvd1xuICAgICAgICAgIGRlYnVnKCdTZXJ2ZXIgZXJyb3IoNXh4KSAtICVPJywgcmVzcG9uc2UpO1xuICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKGBTZXJ2ZXIgZXJyb3IgJHt1cmx9YCwgY29uZmlnLCByZXNwb25zZSwgRnNSZXF1ZXN0RXJyb3JDb2RlLlNFUlZFUikpO1xuICAgICAgICB9IGVsc2UgaWYgKDQwMCA8PSByZXNwb25zZS5zdGF0dXMgJiYgcmVzcG9uc2Uuc3RhdHVzIDw9IDQ5OSkge1xuICAgICAgICAgIGRlYnVnKCdSZXF1ZXN0IGVycm9yKDR4eCkgLSAlTycsIHJlc3BvbnNlKTtcbiAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBGc1JlcXVlc3RFcnJvcihgUmVxdWVzdCBlcnJvciAke3VybH1gLCBjb25maWcsIHJlc3BvbnNlLCBGc1JlcXVlc3RFcnJvckNvZGUuUkVRVUVTVCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gY2xlYXIgY2FuY2VsIHRva2VuIHRvIGF2b2lkIG1lbW9yeSBsZWFrXG4gICAgICAgIGlmIChjb25maWcuY2FuY2VsVG9rZW4pIHtcbiAgICAgICAgICBjb25maWcuY2FuY2VsVG9rZW4ucmVtb3ZlTGlzdGVuZXIoJ2NhbmNlbCcsIGNhbmNlbExpc3RlbmVyKTtcbiAgICAgICAgICBjYW5jZWxMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzb2x2ZShyZXNwb25zZSk7XG4gICAgICB9O1xuXG4gICAgICAvLyBIYW5kbGUgYnJvd3NlciByZXF1ZXN0IGNhbmNlbGxhdGlvbiAoYXMgb3Bwb3NlZCB0byBhIG1hbnVhbCBjYW5jZWxsYXRpb24pXG4gICAgICByZXF1ZXN0Lm9uYWJvcnQgPSBmdW5jdGlvbiBoYW5kbGVBYm9ydCgpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGp1c3QgdG8gYmUgc3VyZSB0aGF0IGFib3J0IHdhcyBub3QgY2FsbGVkIHR3aWNlICovXG4gICAgICAgIGlmICghcmVxdWVzdCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlcXVlc3QgPSBudWxsO1xuICAgICAgICByZWplY3QobmV3IEZzUmVxdWVzdEVycm9yKCdSZXF1ZXN0IGFib3J0ZWQnLCBjb25maWcsIG51bGwsIEZzUmVxdWVzdEVycm9yQ29kZS5BQk9SVEVEKSk7XG4gICAgICB9O1xuXG4gICAgICAvLyBIYW5kbGUgbG93IGxldmVsIG5ldHdvcmsgZXJyb3JzXG4gICAgICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbiBoYW5kbGVFcnJvcihlcnIpIHtcbiAgICAgICAgcmVxdWVzdCA9IG51bGw7XG4gICAgICAgIGRlYnVnKCdSZXF1ZXN0IGVycm9yISAlTycsIGVycik7XG4gICAgICAgIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoJ05ldHdvcmsgRXJyb3InLCBjb25maWcsIG51bGwsIEZzUmVxdWVzdEVycm9yQ29kZS5ORVRXT1JLKSk7XG4gICAgICB9O1xuXG4gICAgICAvLyBIYW5kbGUgdGltZW91dFxuICAgICAgcmVxdWVzdC5vbnRpbWVvdXQgPSBmdW5jdGlvbiBoYW5kbGVUaW1lb3V0KCkge1xuICAgICAgICByZXF1ZXN0ID0gbnVsbDtcbiAgICAgICAgZGVidWcoJ1JlcXVlc3QgdGltZWQgb3V0LiAlTycsIGNvbmZpZyk7XG4gICAgICAgIHJlamVjdChuZXcgRnNSZXF1ZXN0RXJyb3IoJ1JlcXVlc3QgdGltZW91dCcsIGNvbmZpZywgbnVsbCwgRnNSZXF1ZXN0RXJyb3JDb2RlLlRJTUVPVVQpKTtcbiAgICAgIH07XG5cbiAgICAgIC8vIEFkZCBoZWFkZXJzIHRvIHRoZSByZXF1ZXN0XG4gICAgICBpZiAoJ3NldFJlcXVlc3RIZWFkZXInIGluIHJlcXVlc3QgJiYgaGVhZGVycyAmJiBPYmplY3Qua2V5cyhoZWFkZXJzKS5sZW5ndGgpIHtcbiAgICAgICAgZm9yIChsZXQga2V5IGluIGhlYWRlcnMpIHtcbiAgICAgICAgICBpZiAoaGVhZGVyc1trZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRlYnVnKCdTZXQgcmVxdWVzdCBoZWFkZXIgJXMgdG8gJXMnLCBrZXksIGhlYWRlcnNba2V5XSk7XG4gICAgICAgICAgcmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKGtleSwgaGVhZGVyc1trZXldKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIGNvbmZpZy5vblByb2dyZXNzID09PSAnZnVuY3Rpb24nICYmIFtGc0h0dHBNZXRob2QuUE9TVCwgRnNIdHRwTWV0aG9kLlBVVF0uaW5kZXhPZihjb25maWcubWV0aG9kKSA+IC0xKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlOiBlbHNlIHBhdGggaXMganVzdCBmYWxsYmFjayB0byBub3JtYWwgcHJvZ3Jlc3MgZXZlbnQgKi9cbiAgICAgICAgaWYgKHJlcXVlc3QudXBsb2FkKSB7XG4gICAgICAgICAgZGVidWcoJ0JpbmQgdG8gdXBsb2FkIHByb2dyZXNzIGV2ZW50Jyk7XG4gICAgICAgICAgcmVxdWVzdC51cGxvYWQuYWRkRXZlbnRMaXN0ZW5lcigncHJvZ3Jlc3MnLCBjb25maWcub25Qcm9ncmVzcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVidWcoJ0JpbmQgdG8gcHJvZ3Jlc3MgZXZlbnQnKTtcbiAgICAgICAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoJ3Byb2dyZXNzJywgY29uZmlnLm9uUHJvZ3Jlc3MpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChkYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGF0YSA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJlcXVlc3Quc2VuZChkYXRhKTtcbiAgICB9KTtcbiAgfVxufVxuIl19

@@ -65,3 +65,3 @@ import { __assign } from "tslib";

config.runtime = __assign(__assign({}, config.runtime), { retryCount: attempts + 1 });
debug("[Retry] Retrying request to " + config.url + ", count " + attempts + " of " + retryConfig.retry + " - Delay: " + retryDelay);
debug("[Retry] Retrying request to ".concat(config.url, ", count ").concat(attempts, " of ").concat(retryConfig.retry, " - Delay: ").concat(retryDelay));
return new Promise(function (resolve) {

@@ -75,2 +75,2 @@ setTimeout(function () { return resolve(_this.request(config)); }, retryDelay);

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9kaXNwYXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBbUJBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsSUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFFM0M7Ozs7O0dBS0c7QUFDSDtJQUdFOzs7OztPQUtHO0lBQ0gsa0JBQVksT0FBeUI7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSwwQkFBTyxHQUFkLFVBQWUsTUFBd0I7UUFBdkMsaUJBT0M7UUFOQyxNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3RDLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFDLE1BQXNCO1lBQy9ELEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pELE9BQU8sS0FBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssd0JBQUssR0FBYixVQUFjLEdBQW1CO1FBQWpDLGlCQWlDQztRQWhDQyxJQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBRTFCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDckIsS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7WUFDekQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzVCO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDakIsS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7WUFDakQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzVCO1FBRUQsSUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNqQyxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTNGLElBQUksV0FBVyxDQUFDLEtBQUssSUFBSSxXQUFXLENBQUMsS0FBSyxJQUFJLFFBQVEsRUFBRTtZQUN0RCxLQUFLLENBQUMsNENBQTRDLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDOUQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzVCO1FBRUQsSUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsU0FBQSxXQUFXLENBQUMsV0FBVyxFQUFJLFFBQVEsQ0FBQSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRS9HLE1BQU0sQ0FBQyxPQUFPLHlCQUNULE1BQU0sQ0FBQyxPQUFPLEtBQ2pCLFVBQVUsRUFBRSxRQUFRLEdBQUcsQ0FBQyxHQUN6QixDQUFDO1FBRUYsS0FBSyxDQUFDLGlDQUErQixNQUFNLENBQUMsR0FBRyxnQkFBVyxRQUFRLFlBQU8sV0FBVyxDQUFDLEtBQUssa0JBQWEsVUFBWSxDQUFDLENBQUM7UUFFckgsT0FBTyxJQUFJLE9BQU8sQ0FBYSxVQUFBLE9BQU87WUFDcEMsVUFBVSxDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsS0FBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUE3QixDQUE2QixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNILGVBQUM7QUFBRCxDQXhFQSxBQXdFQyxJQUFBIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2Rpc3BhdGNoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgRnNSZXF1ZXN0T3B0aW9ucywgRnNSZXNwb25zZSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgQWRhcHRlckludGVyZmFjZSB9IGZyb20gJy4vYWRhcHRlcnMvaW50ZXJmYWNlJztcbmltcG9ydCB7IEZzUmVxdWVzdEVycm9yIH0gZnJvbSAnLi9lcnJvcic7XG5pbXBvcnQgeyBzaG91bGRSZXRyeSB9IGZyb20gJy4vaGVscGVycy9zaG91bGRSZXRyeSc7XG5pbXBvcnQgRGVidWcgZnJvbSAnZGVidWcnO1xuXG5jb25zdCBkZWJ1ZyA9IERlYnVnKCdmczpyZXF1ZXN0OmRpc3BhdGNoJyk7XG5cbi8qKlxuICogUmVxdWVzdCBkaXNwYXRjaGVyXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIERpc3BhdGNoXG4gKi9cbmV4cG9ydCBjbGFzcyBEaXNwYXRjaCB7XG4gIGFkYXB0ZXI6IEFkYXB0ZXJJbnRlcmZhY2U7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgRGlzcGF0Y2guXG4gICAqXG4gICAqIEBwYXJhbSB7QWRhcHRlckludGVyZmFjZX0gYWRhcHRlciBodHRwIHwgWEhSIGFkYXBhdGVyXG4gICAqIEBtZW1iZXJvZiBEaXNwYXRjaFxuICAgKi9cbiAgY29uc3RydWN0b3IoYWRhcHRlcjogQWRhcHRlckludGVyZmFjZSkge1xuICAgIHRoaXMuYWRhcHRlciA9IGFkYXB0ZXI7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGF0Y2ggcmVxdWVzdCBhZGRpbmcgcmV0cnkgcG9saWN5XG4gICAqIEB0b2RvIGFkZCBkYXRhIHByZXByb2Nlc29yXG4gICAqXG4gICAqIEBwYXJhbSB7RnNSZXF1ZXN0T3B0aW9uc30gY29uZmlnXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEZzUmVzcG9uc2U+fVxuICAgKiBAbWVtYmVyb2YgRGlzcGF0Y2hcbiAgICovXG4gIHB1YmxpYyByZXF1ZXN0KGNvbmZpZzogRnNSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8RnNSZXNwb25zZT4ge1xuICAgIGNvbmZpZy5oZWFkZXJzID0gY29uZmlnLmhlYWRlcnMgfHwge307XG4gICAgZGVidWcoJ0Rpc3BhdGNoaW5nIHJlcXVlc3QgJU8nLCBjb25maWcpO1xuICAgIHJldHVybiB0aGlzLmFkYXB0ZXIucmVxdWVzdChjb25maWcpLmNhdGNoKChyZWFzb246IEZzUmVxdWVzdEVycm9yKSA9PiB7XG4gICAgICBkZWJ1ZygnUmVxdWVzdCBlcnJvciBcIiVzXCI6ICVPJywgcmVhc29uLCByZWFzb24ucmVzcG9uc2UpO1xuICAgICAgcmV0dXJuIHRoaXMucmV0cnkocmVhc29uKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXF1ZXN0IHJldHJpZXJcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtGc1JlcXVlc3RFcnJvcn0gZXJyXG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBEaXNwYXRjaFxuICAgKi9cbiAgcHJpdmF0ZSByZXRyeShlcnI6IEZzUmVxdWVzdEVycm9yKSB7XG4gICAgY29uc3QgY29uZmlnID0gZXJyLmNvbmZpZztcblxuICAgIGlmICghc2hvdWxkUmV0cnkoZXJyKSkge1xuICAgICAgZGVidWcoJ1tSZXRyeV0gUmVxdWVzdCBlcnJvciBpcyBub3QgcmV0cmlhYmxlLiBFeGl0aW5nJyk7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyKTtcbiAgICB9XG5cbiAgICBpZiAoIWNvbmZpZy5yZXRyeSkge1xuICAgICAgZGVidWcoJ1tSZXRyeV0gUmV0cnkgY29uZmlnIG5vdCBmb3VuZC4gRXhpdGluZycpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycik7XG4gICAgfVxuXG4gICAgY29uc3QgcmV0cnlDb25maWcgPSBjb25maWcucmV0cnk7XG4gICAgbGV0IGF0dGVtcHRzID0gY29uZmlnLnJ1bnRpbWUgJiYgY29uZmlnLnJ1bnRpbWUucmV0cnlDb3VudCA/IGNvbmZpZy5ydW50aW1lLnJldHJ5Q291bnQgOiAwO1xuXG4gICAgaWYgKHJldHJ5Q29uZmlnLnJldHJ5ICYmIHJldHJ5Q29uZmlnLnJldHJ5IDw9IGF0dGVtcHRzKSB7XG4gICAgICBkZWJ1ZygnW1JldHJ5XSBSZXRyeSBhdHRlbXB0cyByZWFjaGVkICVkLiBFeGl0aW5nJywgYXR0ZW1wdHMpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycik7XG4gICAgfVxuXG4gICAgY29uc3QgcmV0cnlEZWxheSA9IE1hdGgubWF4KE1hdGgubWluKHJldHJ5Q29uZmlnLnJldHJ5TWF4VGltZSwgcmV0cnlDb25maWcucmV0cnlGYWN0b3IgKiogYXR0ZW1wdHMgKiAxMDAwKSwgMSk7XG5cbiAgICBjb25maWcucnVudGltZSA9IHtcbiAgICAgIC4uLmNvbmZpZy5ydW50aW1lLFxuICAgICAgcmV0cnlDb3VudDogYXR0ZW1wdHMgKyAxLFxuICAgIH07XG5cbiAgICBkZWJ1ZyhgW1JldHJ5XSBSZXRyeWluZyByZXF1ZXN0IHRvICR7Y29uZmlnLnVybH0sIGNvdW50ICR7YXR0ZW1wdHN9IG9mICR7cmV0cnlDb25maWcucmV0cnl9IC0gRGVsYXk6ICR7cmV0cnlEZWxheX1gKTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxGc1Jlc3BvbnNlPihyZXNvbHZlID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVzb2x2ZSh0aGlzLnJlcXVlc3QoY29uZmlnKSksIHJldHJ5RGVsYXkpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9kaXNwYXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBbUJBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsSUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFFM0M7Ozs7O0dBS0c7QUFDSDtJQUdFOzs7OztPQUtHO0lBQ0gsa0JBQVksT0FBeUI7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSwwQkFBTyxHQUFkLFVBQWUsTUFBd0I7UUFBdkMsaUJBT0M7UUFOQyxNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3RDLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFDLE1BQXNCO1lBQy9ELEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pELE9BQU8sS0FBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssd0JBQUssR0FBYixVQUFjLEdBQW1CO1FBQWpDLGlCQWlDQztRQWhDQyxJQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBRTFCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDckIsS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7WUFDekQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzVCO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDakIsS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7WUFDakQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzVCO1FBRUQsSUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNqQyxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTNGLElBQUksV0FBVyxDQUFDLEtBQUssSUFBSSxXQUFXLENBQUMsS0FBSyxJQUFJLFFBQVEsRUFBRTtZQUN0RCxLQUFLLENBQUMsNENBQTRDLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDOUQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzVCO1FBRUQsSUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsU0FBQSxXQUFXLENBQUMsV0FBVyxFQUFJLFFBQVEsQ0FBQSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRS9HLE1BQU0sQ0FBQyxPQUFPLHlCQUNULE1BQU0sQ0FBQyxPQUFPLEtBQ2pCLFVBQVUsRUFBRSxRQUFRLEdBQUcsQ0FBQyxHQUN6QixDQUFDO1FBRUYsS0FBSyxDQUFDLHNDQUErQixNQUFNLENBQUMsR0FBRyxxQkFBVyxRQUFRLGlCQUFPLFdBQVcsQ0FBQyxLQUFLLHVCQUFhLFVBQVUsQ0FBRSxDQUFDLENBQUM7UUFFckgsT0FBTyxJQUFJLE9BQU8sQ0FBYSxVQUFBLE9BQU87WUFDcEMsVUFBVSxDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsS0FBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUE3QixDQUE2QixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNILGVBQUM7QUFBRCxDQXhFQSxBQXdFQyxJQUFBIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2Rpc3BhdGNoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgRnNSZXF1ZXN0T3B0aW9ucywgRnNSZXNwb25zZSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgQWRhcHRlckludGVyZmFjZSB9IGZyb20gJy4vYWRhcHRlcnMvaW50ZXJmYWNlJztcbmltcG9ydCB7IEZzUmVxdWVzdEVycm9yIH0gZnJvbSAnLi9lcnJvcic7XG5pbXBvcnQgeyBzaG91bGRSZXRyeSB9IGZyb20gJy4vaGVscGVycy9zaG91bGRSZXRyeSc7XG5pbXBvcnQgRGVidWcgZnJvbSAnZGVidWcnO1xuXG5jb25zdCBkZWJ1ZyA9IERlYnVnKCdmczpyZXF1ZXN0OmRpc3BhdGNoJyk7XG5cbi8qKlxuICogUmVxdWVzdCBkaXNwYXRjaGVyXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIERpc3BhdGNoXG4gKi9cbmV4cG9ydCBjbGFzcyBEaXNwYXRjaCB7XG4gIGFkYXB0ZXI6IEFkYXB0ZXJJbnRlcmZhY2U7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgRGlzcGF0Y2guXG4gICAqXG4gICAqIEBwYXJhbSB7QWRhcHRlckludGVyZmFjZX0gYWRhcHRlciBodHRwIHwgWEhSIGFkYXBhdGVyXG4gICAqIEBtZW1iZXJvZiBEaXNwYXRjaFxuICAgKi9cbiAgY29uc3RydWN0b3IoYWRhcHRlcjogQWRhcHRlckludGVyZmFjZSkge1xuICAgIHRoaXMuYWRhcHRlciA9IGFkYXB0ZXI7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGF0Y2ggcmVxdWVzdCBhZGRpbmcgcmV0cnkgcG9saWN5XG4gICAqIEB0b2RvIGFkZCBkYXRhIHByZXByb2Nlc29yXG4gICAqXG4gICAqIEBwYXJhbSB7RnNSZXF1ZXN0T3B0aW9uc30gY29uZmlnXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEZzUmVzcG9uc2U+fVxuICAgKiBAbWVtYmVyb2YgRGlzcGF0Y2hcbiAgICovXG4gIHB1YmxpYyByZXF1ZXN0KGNvbmZpZzogRnNSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8RnNSZXNwb25zZT4ge1xuICAgIGNvbmZpZy5oZWFkZXJzID0gY29uZmlnLmhlYWRlcnMgfHwge307XG4gICAgZGVidWcoJ0Rpc3BhdGNoaW5nIHJlcXVlc3QgJU8nLCBjb25maWcpO1xuICAgIHJldHVybiB0aGlzLmFkYXB0ZXIucmVxdWVzdChjb25maWcpLmNhdGNoKChyZWFzb246IEZzUmVxdWVzdEVycm9yKSA9PiB7XG4gICAgICBkZWJ1ZygnUmVxdWVzdCBlcnJvciBcIiVzXCI6ICVPJywgcmVhc29uLCByZWFzb24ucmVzcG9uc2UpO1xuICAgICAgcmV0dXJuIHRoaXMucmV0cnkocmVhc29uKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXF1ZXN0IHJldHJpZXJcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtGc1JlcXVlc3RFcnJvcn0gZXJyXG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBEaXNwYXRjaFxuICAgKi9cbiAgcHJpdmF0ZSByZXRyeShlcnI6IEZzUmVxdWVzdEVycm9yKSB7XG4gICAgY29uc3QgY29uZmlnID0gZXJyLmNvbmZpZztcblxuICAgIGlmICghc2hvdWxkUmV0cnkoZXJyKSkge1xuICAgICAgZGVidWcoJ1tSZXRyeV0gUmVxdWVzdCBlcnJvciBpcyBub3QgcmV0cmlhYmxlLiBFeGl0aW5nJyk7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyKTtcbiAgICB9XG5cbiAgICBpZiAoIWNvbmZpZy5yZXRyeSkge1xuICAgICAgZGVidWcoJ1tSZXRyeV0gUmV0cnkgY29uZmlnIG5vdCBmb3VuZC4gRXhpdGluZycpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycik7XG4gICAgfVxuXG4gICAgY29uc3QgcmV0cnlDb25maWcgPSBjb25maWcucmV0cnk7XG4gICAgbGV0IGF0dGVtcHRzID0gY29uZmlnLnJ1bnRpbWUgJiYgY29uZmlnLnJ1bnRpbWUucmV0cnlDb3VudCA/IGNvbmZpZy5ydW50aW1lLnJldHJ5Q291bnQgOiAwO1xuXG4gICAgaWYgKHJldHJ5Q29uZmlnLnJldHJ5ICYmIHJldHJ5Q29uZmlnLnJldHJ5IDw9IGF0dGVtcHRzKSB7XG4gICAgICBkZWJ1ZygnW1JldHJ5XSBSZXRyeSBhdHRlbXB0cyByZWFjaGVkICVkLiBFeGl0aW5nJywgYXR0ZW1wdHMpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycik7XG4gICAgfVxuXG4gICAgY29uc3QgcmV0cnlEZWxheSA9IE1hdGgubWF4KE1hdGgubWluKHJldHJ5Q29uZmlnLnJldHJ5TWF4VGltZSwgcmV0cnlDb25maWcucmV0cnlGYWN0b3IgKiogYXR0ZW1wdHMgKiAxMDAwKSwgMSk7XG5cbiAgICBjb25maWcucnVudGltZSA9IHtcbiAgICAgIC4uLmNvbmZpZy5ydW50aW1lLFxuICAgICAgcmV0cnlDb3VudDogYXR0ZW1wdHMgKyAxLFxuICAgIH07XG5cbiAgICBkZWJ1ZyhgW1JldHJ5XSBSZXRyeWluZyByZXF1ZXN0IHRvICR7Y29uZmlnLnVybH0sIGNvdW50ICR7YXR0ZW1wdHN9IG9mICR7cmV0cnlDb25maWcucmV0cnl9IC0gRGVsYXk6ICR7cmV0cnlEZWxheX1gKTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxGc1Jlc3BvbnNlPihyZXNvbHZlID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVzb2x2ZSh0aGlzLnJlcXVlc3QoY29uZmlnKSksIHJldHJ5RGVsYXkpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=

@@ -18,3 +18,3 @@ /*

import { __awaiter, __generator } from "tslib";
import * as nock from 'nock';
import nock from 'nock';
import { Dispatch } from './dispatch';

@@ -48,3 +48,9 @@ import { HttpAdapter } from './adapters/http';

case 0:
spyOn(adapter, 'request').and.callFake(function () { return Promise.resolve(); });
jest.spyOn(adapter, 'request').mockImplementation(function () { return Promise.resolve({
status: 200,
headers: {},
data: {},
config: {},
statusText: ''
}); });
dispatch = new Dispatch(adapter);

@@ -63,3 +69,3 @@ req = { url: url, method: FsHttpMethod.GET, headers: {} };

it('should return config base', function () { return __awaiter(void 0, void 0, void 0, function () {
var error, dispatch, request;
var error, dispatch;
return __generator(this, function (_a) {

@@ -69,7 +75,7 @@ switch (_a.label) {

error = new FsRequestError('error msg', configBase, fsResponseBase);
spyOn(adapter, 'request').and.callFake(function () { return Promise.reject(error); });
jest.spyOn(adapter, 'request').mockImplementation(function () { return Promise.reject(error); });
dispatch = new Dispatch(adapter);
return [4 /*yield*/, dispatch.request(configBase).catch(function (err) { return err; })];
case 1:
request = _a.sent();
_a.sent();
expect(adapter.request).toHaveBeenCalledWith(configBase);

@@ -87,3 +93,3 @@ return [2 /*return*/];

error = new FsRequestError('error msg', configBase, fsResponseBase, FsRequestErrorCode.NETWORK);
spyOn(adapter, 'request').and.callFake(function () { return Promise.reject(error); });
jest.spyOn(adapter, 'request').mockImplementation(function () { return Promise.reject(error); });
dispatch = new Dispatch(adapter);

@@ -113,3 +119,3 @@ return [4 /*yield*/, dispatch.request(configBase).catch(function (err) { return err; })];

error = new FsRequestError('error msg', config, fsResponseBase, FsRequestErrorCode.NETWORK);
spyOn(adapter, 'request').and.callFake(function () { return Promise.reject(error); });
jest.spyOn(adapter, 'request').mockImplementation(function () { return Promise.reject(error); });
dispatch = new Dispatch(adapter);

@@ -127,2 +133,2 @@ return [4 /*yield*/, dispatch.request(config).catch(function (err) { return err; })];

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9kaXNwYXRjaC5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFFSCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFN0QsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBRTdCLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtJQUMzQixTQUFTLENBQUM7UUFDUixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLElBQU0sR0FBRyxHQUFHLHVCQUF1QixDQUFDO0lBQ3BDLElBQU0sVUFBVSxHQUFHO1FBQ2pCLEdBQUcsRUFBRSxHQUFHO1FBQ1IsTUFBTSxFQUFFLFlBQVksQ0FBQyxHQUFHO0tBQ3pCLENBQUM7SUFDRixJQUFJLGNBQWMsR0FBRztRQUNuQixNQUFNLEVBQUUsR0FBRztRQUNYLFVBQVUsRUFBRSxPQUFPO1FBQ25CLE9BQU8sRUFBRSxJQUFJO1FBQ2IsSUFBSSxFQUFFLElBQUk7UUFDVixNQUFNLEVBQUUsVUFBVTtLQUNuQixDQUFDO0lBRUYsUUFBUSxDQUFDLGtCQUFrQixFQUFFO1FBQzNCLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRTs7Ozs7d0JBQ3RCLEtBQUssQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxjQUFNLE9BQUEsT0FBTyxDQUFDLE9BQU8s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Q0FBcUIsQ0FBQyxDQUFDO3dCQUM5RCxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQ3ZDLHFCQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQUEsR0FBRyxJQUFJLE9BQUEsR0FBRyxFQUFILENBQUcsQ0FBQyxFQUFBOzt3QkFBaEQsU0FBZ0QsQ0FBQzt3QkFDakQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQzs7OzthQUN0RCxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2Rpc3BhdGNoLnNwZWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBub2NrIGZyb20gJ25vY2snO1xuaW1wb3J0IHsgRGlzcGF0Y2ggfSBmcm9tICcuL2Rpc3BhdGNoJztcbmltcG9ydCB7IEh0dHBBZGFwdGVyIH0gZnJvbSAnLi9hZGFwdGVycy9odHRwJztcbmltcG9ydCB7IEZzSHR0cE1ldGhvZCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgRnNSZXF1ZXN0RXJyb3IsIEZzUmVxdWVzdEVycm9yQ29kZSB9IGZyb20gJy4vZXJyb3InO1xuXG5qZXN0Lm1vY2soJy4vYWRhcHRlcnMvaHR0cCcpO1xuXG5kZXNjcmliZSgnUmVxdWVzdC9EaXNwYXRjaCcsICgpID0+IHtcbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICBub2NrLmNsZWFuQWxsKCk7XG4gIH0pO1xuXG4gIGNvbnN0IGFkYXB0ZXIgPSBuZXcgSHR0cEFkYXB0ZXIoKTtcbiAgY29uc3QgdXJsID0gJ2h0dHBzOi8vZmlsZXN0YWNrLmNvbSc7XG4gIGNvbnN0IGNvbmZpZ0Jhc2UgPSB7XG4gICAgdXJsOiB1cmwsXG4gICAgbWV0aG9kOiBGc0h0dHBNZXRob2QuR0VULFxuICB9O1xuICBsZXQgZnNSZXNwb25zZUJhc2UgPSB7XG4gICAgc3RhdHVzOiA0MDAsXG4gICAgc3RhdHVzVGV4dDogJ2Vycm9yJyxcbiAgICBoZWFkZXJzOiBudWxsLFxuICAgIGRhdGE6IG51bGwsXG4gICAgY29uZmlnOiBjb25maWdCYXNlLFxuICB9O1xuXG4gIGRlc2NyaWJlKCdkaXNwYXRjaCByZXF1ZXN0JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIHJlcScsIGFzeW5jICgpID0+IHtcbiAgICAgIHNweU9uKGFkYXB0ZXIsICdyZXF1ZXN0JykuYW5kLmNhbGxGYWtlKCgpID0+IFByb21pc2UucmVzb2x2ZSgpKTtcbiAgICAgIGNvbnN0IGRpc3BhdGNoID0gbmV3IERpc3BhdGNoKGFkYXB0ZXIpO1xuICAgICAgY29uc3QgcmVxID0geyB1cmwsIG1ldGhvZDogRnNIdHRwTWV0aG9kLkdFVCwgaGVhZGVyczoge30gfTtcbiAgICAgIGF3YWl0IGRpc3BhdGNoLnJlcXVlc3QocmVxKTtcbiAgICAgIGV4cGVjdChhZGFwdGVyLnJlcXVlc3QpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHJlcSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdkaXNwYXRjaCByZXF1ZXN0IGNhdGNoJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIGNvbmZpZyBiYXNlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRnNSZXF1ZXN0RXJyb3IoJ2Vycm9yIG1zZycsIGNvbmZpZ0Jhc2UsIGZzUmVzcG9uc2VCYXNlKTtcbiAgICAgIHNweU9uKGFkYXB0ZXIsICdyZXF1ZXN0JykuYW5kLmNhbGxGYWtlKCgpID0+IFByb21pc2UucmVqZWN0KGVycm9yKSk7XG4gICAgICBjb25zdCBkaXNwYXRjaCA9IG5ldyBEaXNwYXRjaChhZGFwdGVyKTtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCBkaXNwYXRjaC5yZXF1ZXN0KGNvbmZpZ0Jhc2UpLmNhdGNoKGVyciA9PiBlcnIpO1xuICAgICAgZXhwZWN0KGFkYXB0ZXIucmVxdWVzdCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoY29uZmlnQmFzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBjb25maWcgYmFzZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGZzUmVzcG9uc2VCYXNlLnN0YXR1cyA9IDUwMDtcbiAgICAgIGNvbnN0IGVycm9yID0gbmV3IEZzUmVxdWVzdEVycm9yKCdlcnJvciBtc2cnLCBjb25maWdCYXNlLCBmc1Jlc3BvbnNlQmFzZSwgRnNSZXF1ZXN0RXJyb3JDb2RlLk5FVFdPUkspO1xuICAgICAgc3B5T24oYWRhcHRlciwgJ3JlcXVlc3QnKS5hbmQuY2FsbEZha2UoKCkgPT4gUHJvbWlzZS5yZWplY3QoZXJyb3IpKTtcbiAgICAgIGNvbnN0IGRpc3BhdGNoID0gbmV3IERpc3BhdGNoKGFkYXB0ZXIpO1xuICAgICAgYXdhaXQgZGlzcGF0Y2gucmVxdWVzdChjb25maWdCYXNlKS5jYXRjaChlcnIgPT4gZXJyKTtcbiAgICAgIGV4cGVjdChhZGFwdGVyLnJlcXVlc3QpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGNvbmZpZ0Jhc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gY29uZmlnJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgbWV0aG9kOiBGc0h0dHBNZXRob2QuR0VULFxuICAgICAgICBoZWFkZXJzOiB7fSxcbiAgICAgICAgcmV0cnk6IHtcbiAgICAgICAgICByZXRyeTogMyxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBmc1Jlc3BvbnNlQmFzZS5zdGF0dXMgPSA1MDA7XG4gICAgICBjb25zdCBlcnJvciA9IG5ldyBGc1JlcXVlc3RFcnJvcignZXJyb3IgbXNnJywgY29uZmlnLCBmc1Jlc3BvbnNlQmFzZSwgRnNSZXF1ZXN0RXJyb3JDb2RlLk5FVFdPUkspO1xuICAgICAgc3B5T24oYWRhcHRlciwgJ3JlcXVlc3QnKS5hbmQuY2FsbEZha2UoKCkgPT4gUHJvbWlzZS5yZWplY3QoZXJyb3IpKTtcbiAgICAgIGNvbnN0IGRpc3BhdGNoID0gbmV3IERpc3BhdGNoKGFkYXB0ZXIpO1xuICAgICAgYXdhaXQgZGlzcGF0Y2gucmVxdWVzdChjb25maWcpLmNhdGNoKGVyciA9PiBlcnIpO1xuICAgICAgZXhwZWN0KGFkYXB0ZXIucmVxdWVzdCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoY29uZmlnKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9kaXNwYXRjaC5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFFSCxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTdELElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUU3QixRQUFRLENBQUMsa0JBQWtCLEVBQUU7SUFDM0IsU0FBUyxDQUFDO1FBQ1IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUNsQyxJQUFNLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQztJQUNwQyxJQUFNLFVBQVUsR0FBRztRQUNqQixHQUFHLEVBQUUsR0FBRztRQUNSLE1BQU0sRUFBRSxZQUFZLENBQUMsR0FBRztLQUN6QixDQUFDO0lBQ0YsSUFBSSxjQUFjLEdBQUc7UUFDbkIsTUFBTSxFQUFFLEdBQUc7UUFDWCxVQUFVLEVBQUUsT0FBTztRQUNuQixPQUFPLEVBQUUsSUFBSTtRQUNiLElBQUksRUFBRSxJQUFJO1FBQ1YsTUFBTSxFQUFFLFVBQVU7S0FDbkIsQ0FBQztJQUVGLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtRQUMzQixFQUFFLENBQUMsbUJBQW1CLEVBQUU7Ozs7O3dCQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFNLE9BQUEsT0FBTyxDQUFDLE9BQU8sQ0FB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QUFDO3dCQUNsRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFNLE9BQUEsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBckIsQ0FBcUIsQ0FBQyxDQUFDO3dCQUN6RSxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQ3ZDLHFCQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQUEsR0FBRyxJQUFJLE9BQUEsR0FBRyxFQUFILENBQUcsQ0FBQyxFQUFBOzt3QkFBaEQsU0FBZ0QsQ0FBQzt3QkFDakQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQzs7OzthQUN0RCxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2Rpc3BhdGNoLnNwZWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgbm9jayBmcm9tICdub2NrJztcbmltcG9ydCB7IERpc3BhdGNoIH0gZnJvbSAnLi9kaXNwYXRjaCc7XG5pbXBvcnQgeyBIdHRwQWRhcHRlciB9IGZyb20gJy4vYWRhcHRlcnMvaHR0cCc7XG5pbXBvcnQgeyBGc0h0dHBNZXRob2QgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEZzUmVxdWVzdEVycm9yLCBGc1JlcXVlc3RFcnJvckNvZGUgfSBmcm9tICcuL2Vycm9yJztcblxuamVzdC5tb2NrKCcuL2FkYXB0ZXJzL2h0dHAnKTtcblxuZGVzY3JpYmUoJ1JlcXVlc3QvRGlzcGF0Y2gnLCAoKSA9PiB7XG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgbm9jay5jbGVhbkFsbCgpO1xuICB9KTtcblxuICBjb25zdCBhZGFwdGVyID0gbmV3IEh0dHBBZGFwdGVyKCk7XG4gIGNvbnN0IHVybCA9ICdodHRwczovL2ZpbGVzdGFjay5jb20nO1xuICBjb25zdCBjb25maWdCYXNlID0ge1xuICAgIHVybDogdXJsLFxuICAgIG1ldGhvZDogRnNIdHRwTWV0aG9kLkdFVCxcbiAgfTtcbiAgbGV0IGZzUmVzcG9uc2VCYXNlID0ge1xuICAgIHN0YXR1czogNDAwLFxuICAgIHN0YXR1c1RleHQ6ICdlcnJvcicsXG4gICAgaGVhZGVyczogbnVsbCxcbiAgICBkYXRhOiBudWxsLFxuICAgIGNvbmZpZzogY29uZmlnQmFzZSxcbiAgfTtcblxuICBkZXNjcmliZSgnZGlzcGF0Y2ggcmVxdWVzdCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiByZXEnLCBhc3luYyAoKSA9PiB7XG4gICAgICBqZXN0LnNweU9uKGFkYXB0ZXIsICdyZXF1ZXN0JykubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgIHN0YXR1czogMjAwLFxuICAgICAgICBoZWFkZXJzOiB7fSxcbiAgICAgICAgZGF0YToge30sXG4gICAgICAgIGNvbmZpZzoge30sXG4gICAgICAgIHN0YXR1c1RleHQ6ICcnXG4gICAgICB9KSk7XG4gICAgICBjb25zdCBkaXNwYXRjaCA9IG5ldyBEaXNwYXRjaChhZGFwdGVyKTtcbiAgICAgIGNvbnN0IHJlcSA9IHsgdXJsLCBtZXRob2Q6IEZzSHR0cE1ldGhvZC5HRVQsIGhlYWRlcnM6IHt9IH07XG4gICAgICBhd2FpdCBkaXNwYXRjaC5yZXF1ZXN0KHJlcSk7XG4gICAgICBleHBlY3QoYWRhcHRlci5yZXF1ZXN0KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChyZXEpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZGlzcGF0Y2ggcmVxdWVzdCBjYXRjaCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiBjb25maWcgYmFzZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGVycm9yID0gbmV3IEZzUmVxdWVzdEVycm9yKCdlcnJvciBtc2cnLCBjb25maWdCYXNlLCBmc1Jlc3BvbnNlQmFzZSk7XG4gICAgICBqZXN0LnNweU9uKGFkYXB0ZXIsICdyZXF1ZXN0JykubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IFByb21pc2UucmVqZWN0KGVycm9yKSk7XG4gICAgICBjb25zdCBkaXNwYXRjaCA9IG5ldyBEaXNwYXRjaChhZGFwdGVyKTtcbiAgICAgIGF3YWl0IGRpc3BhdGNoLnJlcXVlc3QoY29uZmlnQmFzZSkuY2F0Y2goZXJyID0+IGVycik7XG4gICAgICBleHBlY3QoYWRhcHRlci5yZXF1ZXN0KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChjb25maWdCYXNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGNvbmZpZyBiYXNlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgZnNSZXNwb25zZUJhc2Uuc3RhdHVzID0gNTAwO1xuICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRnNSZXF1ZXN0RXJyb3IoJ2Vycm9yIG1zZycsIGNvbmZpZ0Jhc2UsIGZzUmVzcG9uc2VCYXNlLCBGc1JlcXVlc3RFcnJvckNvZGUuTkVUV09SSyk7XG4gICAgICBqZXN0LnNweU9uKGFkYXB0ZXIsICdyZXF1ZXN0JykubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IFByb21pc2UucmVqZWN0KGVycm9yKSk7XG4gICAgICBjb25zdCBkaXNwYXRjaCA9IG5ldyBEaXNwYXRjaChhZGFwdGVyKTtcbiAgICAgIGF3YWl0IGRpc3BhdGNoLnJlcXVlc3QoY29uZmlnQmFzZSkuY2F0Y2goZXJyID0+IGVycik7XG4gICAgICBleHBlY3QoYWRhcHRlci5yZXF1ZXN0KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChjb25maWdCYXNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGNvbmZpZycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgIG1ldGhvZDogRnNIdHRwTWV0aG9kLkdFVCxcbiAgICAgICAgaGVhZGVyczoge30sXG4gICAgICAgIHJldHJ5OiB7XG4gICAgICAgICAgcmV0cnk6IDMsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgZnNSZXNwb25zZUJhc2Uuc3RhdHVzID0gNTAwO1xuICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRnNSZXF1ZXN0RXJyb3IoJ2Vycm9yIG1zZycsIGNvbmZpZywgZnNSZXNwb25zZUJhc2UsIEZzUmVxdWVzdEVycm9yQ29kZS5ORVRXT1JLKTtcbiAgICAgIGplc3Quc3B5T24oYWRhcHRlciwgJ3JlcXVlc3QnKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gUHJvbWlzZS5yZWplY3QoZXJyb3IpKTtcbiAgICAgIGNvbnN0IGRpc3BhdGNoID0gbmV3IERpc3BhdGNoKGFkYXB0ZXIpO1xuICAgICAgYXdhaXQgZGlzcGF0Y2gucmVxdWVzdChjb25maWcpLmNhdGNoKGVyciA9PiBlcnIpO1xuICAgICAgZXhwZWN0KGFkYXB0ZXIucmVxdWVzdCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoY29uZmlnKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==

@@ -60,4 +60,4 @@ import { __awaiter, __generator } from "tslib";

config.headers = set(config.headers, 'filestack-source', getVersion());
config.headers = set(config.headers, 'filestack-trace-id', Math.floor(Date.now() / 1000) + "-" + uniqueId());
config.headers = set(config.headers, 'filestack-trace-span', "jssdk-" + uniqueId());
config.headers = set(config.headers, 'filestack-trace-id', "".concat(Math.floor(Date.now() / 1000), "-").concat(uniqueId()));
config.headers = set(config.headers, 'filestack-trace-span', "jssdk-".concat(uniqueId()));
return config;

@@ -71,3 +71,3 @@ };

export var parseResponse = function (response) { return __awaiter(void 0, void 0, void 0, function () {
var contentType, data, parser;
var contentType, data;
return __generator(this, function (_a) {

@@ -97,8 +97,7 @@ if (!response.headers || !response.headers['content-type']) {

if (XMLValidator.validate(data) === true) {
parser = new XMLParser({
response.data = new XMLParser({
ignoreDeclaration: true,
ignoreAttributes: true,
trimValues: true,
});
response.data = parser.parse(data);
}).parse(data);
}

@@ -123,2 +122,2 @@ }

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDeEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUV2Qzs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxJQUFNLFdBQVcsR0FBRyxVQUFDLE1BQXdCO0lBQ2xELG9DQUFvQztJQUNwQyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbEMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDM0gsT0FBTyxNQUFNLENBQUM7S0FDZjtJQUVELGtEQUFrRDtJQUNsRCxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDOUIsT0FBTyxNQUFNLENBQUM7S0FDZjtJQUVELElBQUksaUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxF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Q0FBQztvQkFDM0IsaUJBQWlCLEVBQUUsSUFBSTtvQkFDdkIsZ0JBQWdCLEVBQUcsSUFBSTtvQkFDdkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCLENBQUMsQ0FBQztnQkFFSCxRQUFRLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDcEM7U0FDRjtRQUVELHNCQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUM7O0tBQ2xDLENBQUM7QUFFRixTQUFTLGNBQWMsQ0FBQyxNQUFNO0lBQzVCLElBQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFFOUIsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVuQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsSUFBSSxRQUFRLEVBQUU7UUFDekMsSUFBSSxDQUFDLEdBQUcsUUFBUSxHQUFHLE1BQU0sRUFBRTtZQUN6QixRQUFRLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUN2QjtRQUNELE1BQU0sSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7S0FDOUU7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2hlbHBlcnMvZGF0YS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGlzVVJMU2VhcmNoUGFyYW1zLCBpc09iamVjdCwgaXNTdHJlYW0sIGlzRm9ybURhdGEsIGlzQXJyYXlCdWZmZXIsIGlzRmlsZSwgaXNCbG9iLCBpc0J1ZmZlciB9IGZyb20gJy4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0VmVyc2lvbiwgdW5pcXVlSWQgfSBmcm9tICcuLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEZzUmVxdWVzdE9wdGlvbnMsIEZzUmVzcG9uc2UgfSBmcm9tICcuLy4uL3R5cGVzJztcbmltcG9ydCB7IHNldCB9IGZyb20gJy4vaGVhZGVycyc7XG5pbXBvcnQgeyBYTUxQYXJzZXIsIFhNTFZhbGlkYXRvciB9IGZyb20gJ2Zhc3QteG1sLXBhcnNlcic7XG5pbXBvcnQgRGVidWcgZnJvbSAnZGVidWcnO1xuXG5jb25zdCBkZWJ1ZyA9IERlYnVnKCdmczpyZXF1ZXN0OmRhdGEnKTtcblxuLyoqXG4gKiBQcmVwYXJlIHJlcXVlc3QgYW5kIHNldCBjb250ZW50LXR5cGUgaGVhZGVyIGJhc2VkIG9uIGRhdGFcbiAqXG4gKiBAcGFyYW0gaGVhZGVyc1xuICogQHBhcmFtIGRhdGFcbiAqL1xuZXhwb3J0IGNvbnN0IHByZXBhcmVEYXRhID0gKGNvbmZpZzogRnNSZXF1ZXN0T3B0aW9ucykgPT4ge1xuICAvLyBzZXQgZmlsZXN0YWNrIGRlYnVnIGhlYWRlcnMgZmlyc3RcbiAgY29uZmlnID0gZmlsZXN0YWNrSGVhZGVycyhjb25maWcpO1xuXG4gIGlmIChpc0Zvcm1EYXRhKGNvbmZpZy5kYXRhKSB8fCBpc0J1ZmZlcihjb25maWcuZGF0YSkgfHwgaXNTdHJlYW0oY29uZmlnLmRhdGEpIHx8IGlzRmlsZShjb25maWcuZGF0YSkgfHwgaXNCbG9iKGNvbmZpZy5kYXRhKSkge1xuICAgIHJldHVybiBjb25maWc7XG4gIH1cblxuICAvLyBAdG9kbyBjb252ZXJ0IGl0IHRvIEFycmF5QnVmZmVyVmlldyBmb3IgYnJvd3NlclxuICBpZiAoaXNBcnJheUJ1ZmZlcihjb25maWcuZGF0YSkpIHtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG5cbiAgaWYgKGlzVVJMU2VhcmNoUGFyYW1zKGNvbmZpZy5kYXRhKSkge1xuICAgIGNvbmZpZy5oZWFkZXJzID0gc2V0KGNvbmZpZy5oZWFkZXJzLCAnY29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04Jyk7XG4gICAgY29uZmlnLmRhdGEgPSBjb25maWcuZGF0YS50b1N0cmluZygpO1xuICB9IGVsc2UgaWYgKGlzT2JqZWN0KGNvbmZpZy5kYXRhKSkge1xuICAgIGNvbmZpZy5oZWFkZXJzID0gc2V0KGNvbmZpZy5oZWFkZXJzLCAnY29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nLCB0cnVlKTtcbiAgICBjb25maWcuZGF0YSA9IEpTT04uc3RyaW5naWZ5KGNvbmZpZy5kYXRhKTtcbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59O1xuXG4vKipcbiAqIEFkZCBmaWxlc3RhY2sgZGVidWcgaGVhZGVycyB0byByZXF1ZXN0XG4gKlxuICogQHBhcmFtIGNvbmZpZ1xuICovXG5leHBvcnQgY29uc3QgZmlsZXN0YWNrSGVhZGVycyA9IChjb25maWc6IEZzUmVxdWVzdE9wdGlvbnMpID0+IHtcbiAgaWYgKCFjb25maWcuZmlsZXN0YWNrSGVhZGVycykge1xuICAgIHJldHVybiBjb25maWc7XG4gIH1cblxuICBjb25maWcuaGVhZGVycyA9IHNldChjb25maWcuaGVhZGVycywgJ2ZpbGVzdGFjay1zb3VyY2UnLCBnZXRWZXJzaW9uKCkpO1xuICBjb25maWcuaGVhZGVycyA9IHNldChjb25maWcuaGVhZGVycywgJ2ZpbGVzdGFjay10cmFjZS1pZCcsIGAke01hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApfS0ke3VuaXF1ZUlkKCl9YCk7XG4gIGNvbmZpZy5oZWFkZXJzID0gc2V0KGNvbmZpZy5oZWFkZXJzLCAnZmlsZXN0YWNrLXRyYWNlLXNwYW4nLCBganNzZGstJHt1bmlxdWVJZCgpfWApO1xuXG4gIHJldHVybiBjb25maWc7XG59O1xuXG4vKipcbiAqIFByZXBhcmUgcmVzcG9uc2UgZGF0YSBiYXNlZCBvbiBjb250ZW50IHR5cGVcbiAqXG4gKiBAcGFyYW0gcmVzcG9uc2VcbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlUmVzcG9uc2UgPSBhc3luYyAocmVzcG9uc2U6IEZzUmVzcG9uc2UpOiBQcm9taXNlPEZzUmVzcG9uc2U+ID0+IHtcbiAgaWYgKCFyZXNwb25zZS5oZWFkZXJzIHx8ICFyZXNwb25zZS5oZWFkZXJzWydjb250ZW50LXR5cGUnXSkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzcG9uc2UpO1xuICB9XG5cbiAgY29uc3QgY29udGVudFR5cGUgPSByZXNwb25zZS5oZWFkZXJzWydjb250ZW50LXR5cGUnXTtcblxuICBpZiAoL2FwcGxpY2F0aW9uXFwvanNvbi8udGVzdChjb250ZW50VHlwZSkpIHtcbiAgICB0cnkge1xuICAgICAgcmVzcG9uc2UuZGF0YSA9IEpTT04ucGFyc2UocmVzcG9uc2UuZGF0YSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgZGVidWcoJ0Nhbm5vdCBwYXJzZSByZXNwb25zZSAlTyAtICVPJywgcmVzcG9uc2UuZGF0YSwgcmVzcG9uc2UuaGVhZGVycyk7XG4gICAgfVxuICB9IGVsc2UgaWYgKC90ZXh0XFwvKHBsYWlufGh0bWwpLy50ZXN0KGNvbnRlbnRUeXBlKSkge1xuICAgIGlmIChpc0J1ZmZlcihyZXNwb25zZS5kYXRhKSkge1xuICAgICAgcmVzcG9uc2UuZGF0YSA9IGJ1ZmZlclRvU3RyaW5nKHJlc3BvbnNlLmRhdGEpO1xuICAgIH1cbiAgfSBlbHNlIGlmICgvYXBwbGljYXRpb25cXC94bWwvLnRlc3QoY29udGVudFR5cGUpKSB7XG4gICAgbGV0IGRhdGEgPSByZXNwb25zZS5kYXRhO1xuXG4gICAgaWYgKGlzQnVmZmVyKHJlc3BvbnNlLmRhdGEpKSB7XG4gICAgICBkYXRhID0gYnVmZmVyVG9TdHJpbmcocmVzcG9uc2UuZGF0YSk7XG4gICAgfVxuXG4gICAgaWYgKFhNTFZhbGlkYXRvci52YWxpZGF0ZShkYXRhKSA9PT0gdHJ1ZSkge1xuICAgICAgY29uc3QgcGFyc2VyID0gbmV3IFhNTFBhcnNlcih7XG4gICAgICAgIGlnbm9yZURlY2xhcmF0aW9uOiB0cnVlLFxuICAgICAgICBpZ25vcmVBdHRyaWJ1dGVzIDogdHJ1ZSxcbiAgICAgICAgdHJpbVZhbHVlczogdHJ1ZSxcbiAgICAgIH0pO1xuXG4gICAgICByZXNwb25zZS5kYXRhID0gcGFyc2VyLnBhcnNlKGRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzcG9uc2UpO1xufTtcblxuZnVuY3Rpb24gYnVmZmVyVG9TdHJpbmcoYnVmZmVyKSB7XG4gIGNvbnN0IGJ1ZlZpZXcgPSBuZXcgVWludDE2QXJyYXkoYnVmZmVyKTtcbiAgY29uc3QgbGVuZ3RoID0gYnVmVmlldy5sZW5ndGg7XG5cbiAgbGV0IHJlc3VsdCA9ICcnO1xuICBsZXQgYWRkaXRpb24gPSBNYXRoLnBvdygyLCAxNikgLSAxO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpICs9IGFkZGl0aW9uKSB7XG4gICAgaWYgKGkgKyBhZGRpdGlvbiA+IGxlbmd0aCkge1xuICAgICAgYWRkaXRpb24gPSBsZW5ndGggLSBpO1xuICAgIH1cbiAgICByZXN1bHQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLCBidWZWaWV3LnN1YmFycmF5KGksIGkgKyBhZGRpdGlvbikpO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDeEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUV2Qzs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxJQUFNLFdBQVcsR0FBRyxVQUFDLE1BQXdCO0lBQ2xELG9DQUFvQztJQUNwQyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbEMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDM0gsT0FBTyxNQUFNLENBQUM7S0FDZjtJQUVELGtEQUFrRDtJQUNsRCxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDOUIsT0FBTyxNQUFNLENBQUM7S0FDZjtJQUVELElBQUksaUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxF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LENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDO29CQUM1QixpQkFBaUIsRUFBRSxJQUFJO29CQUN2QixnQkFBZ0IsRUFBRyxJQUFJO29CQUN2QixVQUFVLEVBQUUsSUFBSTtpQkFDakIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNoQjtTQUNGO1FBRUQsc0JBQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBQzs7S0FDbEMsQ0FBQztBQUVGLFNBQVMsY0FBYyxDQUFDLE1BQU07SUFDNUIsSUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUU5QixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDaEIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRW5DLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxJQUFJLFFBQVEsRUFBRTtRQUN6QyxJQUFJLENBQUMsR0FBRyxRQUFRLEdBQUcsTUFBTSxFQUFFO1lBQ3pCLFFBQVEsR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZCO1FBQ0QsTUFBTSxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQztLQUM5RTtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJmaWxlIjoibGliL3JlcXVlc3QvaGVscGVycy9kYXRhLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgaXNVUkxTZWFyY2hQYXJhbXMsIGlzT2JqZWN0LCBpc1N0cmVhbSwgaXNGb3JtRGF0YSwgaXNBcnJheUJ1ZmZlciwgaXNGaWxlLCBpc0Jsb2IsIGlzQnVmZmVyIH0gZnJvbSAnLi8uLi91dGlscyc7XG5pbXBvcnQgeyBnZXRWZXJzaW9uLCB1bmlxdWVJZCB9IGZyb20gJy4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgRnNSZXF1ZXN0T3B0aW9ucywgRnNSZXNwb25zZSB9IGZyb20gJy4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgc2V0IH0gZnJvbSAnLi9oZWFkZXJzJztcbmltcG9ydCB7IFhNTFBhcnNlciwgWE1MVmFsaWRhdG9yIH0gZnJvbSAnZmFzdC14bWwtcGFyc2VyJztcbmltcG9ydCBEZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5cbmNvbnN0IGRlYnVnID0gRGVidWcoJ2ZzOnJlcXVlc3Q6ZGF0YScpO1xuXG4vKipcbiAqIFByZXBhcmUgcmVxdWVzdCBhbmQgc2V0IGNvbnRlbnQtdHlwZSBoZWFkZXIgYmFzZWQgb24gZGF0YVxuICpcbiAqIEBwYXJhbSBoZWFkZXJzXG4gKiBAcGFyYW0gZGF0YVxuICovXG5leHBvcnQgY29uc3QgcHJlcGFyZURhdGEgPSAoY29uZmlnOiBGc1JlcXVlc3RPcHRpb25zKSA9PiB7XG4gIC8vIHNldCBmaWxlc3RhY2sgZGVidWcgaGVhZGVycyBmaXJzdFxuICBjb25maWcgPSBmaWxlc3RhY2tIZWFkZXJzKGNvbmZpZyk7XG5cbiAgaWYgKGlzRm9ybURhdGEoY29uZmlnLmRhdGEpIHx8IGlzQnVmZmVyKGNvbmZpZy5kYXRhKSB8fCBpc1N0cmVhbShjb25maWcuZGF0YSkgfHwgaXNGaWxlKGNvbmZpZy5kYXRhKSB8fCBpc0Jsb2IoY29uZmlnLmRhdGEpKSB7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIC8vIEB0b2RvIGNvbnZlcnQgaXQgdG8gQXJyYXlCdWZmZXJWaWV3IGZvciBicm93c2VyXG4gIGlmIChpc0FycmF5QnVmZmVyKGNvbmZpZy5kYXRhKSkge1xuICAgIHJldHVybiBjb25maWc7XG4gIH1cblxuICBpZiAoaXNVUkxTZWFyY2hQYXJhbXMoY29uZmlnLmRhdGEpKSB7XG4gICAgY29uZmlnLmhlYWRlcnMgPSBzZXQoY29uZmlnLmhlYWRlcnMsICdjb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTgnKTtcbiAgICBjb25maWcuZGF0YSA9IGNvbmZpZy5kYXRhLnRvU3RyaW5nKCk7XG4gIH0gZWxzZSBpZiAoaXNPYmplY3QoY29uZmlnLmRhdGEpKSB7XG4gICAgY29uZmlnLmhlYWRlcnMgPSBzZXQoY29uZmlnLmhlYWRlcnMsICdjb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24vanNvbicsIHRydWUpO1xuICAgIGNvbmZpZy5kYXRhID0gSlNPTi5zdHJpbmdpZnkoY29uZmlnLmRhdGEpO1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZztcbn07XG5cbi8qKlxuICogQWRkIGZpbGVzdGFjayBkZWJ1ZyBoZWFkZXJzIHRvIHJlcXVlc3RcbiAqXG4gKiBAcGFyYW0gY29uZmlnXG4gKi9cbmV4cG9ydCBjb25zdCBmaWxlc3RhY2tIZWFkZXJzID0gKGNvbmZpZzogRnNSZXF1ZXN0T3B0aW9ucykgPT4ge1xuICBpZiAoIWNvbmZpZy5maWxlc3RhY2tIZWFkZXJzKSB7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIGNvbmZpZy5oZWFkZXJzID0gc2V0KGNvbmZpZy5oZWFkZXJzLCAnZmlsZXN0YWNrLXNvdXJjZScsIGdldFZlcnNpb24oKSk7XG4gIGNvbmZpZy5oZWFkZXJzID0gc2V0KGNvbmZpZy5oZWFkZXJzLCAnZmlsZXN0YWNrLXRyYWNlLWlkJywgYCR7TWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCl9LSR7dW5pcXVlSWQoKX1gKTtcbiAgY29uZmlnLmhlYWRlcnMgPSBzZXQoY29uZmlnLmhlYWRlcnMsICdmaWxlc3RhY2stdHJhY2Utc3BhbicsIGBqc3Nkay0ke3VuaXF1ZUlkKCl9YCk7XG5cbiAgcmV0dXJuIGNvbmZpZztcbn07XG5cbi8qKlxuICogUHJlcGFyZSByZXNwb25zZSBkYXRhIGJhc2VkIG9uIGNvbnRlbnQgdHlwZVxuICpcbiAqIEBwYXJhbSByZXNwb25zZVxuICovXG5leHBvcnQgY29uc3QgcGFyc2VSZXNwb25zZSA9IGFzeW5jIChyZXNwb25zZTogRnNSZXNwb25zZSk6IFByb21pc2U8RnNSZXNwb25zZT4gPT4ge1xuICBpZiAoIXJlc3BvbnNlLmhlYWRlcnMgfHwgIXJlc3BvbnNlLmhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXNwb25zZSk7XG4gIH1cblxuICBjb25zdCBjb250ZW50VHlwZSA9IHJlc3BvbnNlLmhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddO1xuXG4gIGlmICgvYXBwbGljYXRpb25cXC9qc29uLy50ZXN0KGNvbnRlbnRUeXBlKSkge1xuICAgIHRyeSB7XG4gICAgICByZXNwb25zZS5kYXRhID0gSlNPTi5wYXJzZShyZXNwb25zZS5kYXRhKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBkZWJ1ZygnQ2Fubm90IHBhcnNlIHJlc3BvbnNlICVPIC0gJU8nLCByZXNwb25zZS5kYXRhLCByZXNwb25zZS5oZWFkZXJzKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoL3RleHRcXC8ocGxhaW58aHRtbCkvLnRlc3QoY29udGVudFR5cGUpKSB7XG4gICAgaWYgKGlzQnVmZmVyKHJlc3BvbnNlLmRhdGEpKSB7XG4gICAgICByZXNwb25zZS5kYXRhID0gYnVmZmVyVG9TdHJpbmcocmVzcG9uc2UuZGF0YSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKC9hcHBsaWNhdGlvblxcL3htbC8udGVzdChjb250ZW50VHlwZSkpIHtcbiAgICBsZXQgZGF0YSA9IHJlc3BvbnNlLmRhdGE7XG5cbiAgICBpZiAoaXNCdWZmZXIocmVzcG9uc2UuZGF0YSkpIHtcbiAgICAgIGRhdGEgPSBidWZmZXJUb1N0cmluZyhyZXNwb25zZS5kYXRhKTtcbiAgICB9XG5cbiAgICBpZiAoWE1MVmFsaWRhdG9yLnZhbGlkYXRlKGRhdGEpID09PSB0cnVlKSB7XG4gICAgICByZXNwb25zZS5kYXRhID0gbmV3IFhNTFBhcnNlcih7XG4gICAgICAgIGlnbm9yZURlY2xhcmF0aW9uOiB0cnVlLFxuICAgICAgICBpZ25vcmVBdHRyaWJ1dGVzIDogdHJ1ZSxcbiAgICAgICAgdHJpbVZhbHVlczogdHJ1ZSxcbiAgICAgIH0pLnBhcnNlKGRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzcG9uc2UpO1xufTtcblxuZnVuY3Rpb24gYnVmZmVyVG9TdHJpbmcoYnVmZmVyKSB7XG4gIGNvbnN0IGJ1ZlZpZXcgPSBuZXcgVWludDE2QXJyYXkoYnVmZmVyKTtcbiAgY29uc3QgbGVuZ3RoID0gYnVmVmlldy5sZW5ndGg7XG5cbiAgbGV0IHJlc3VsdCA9ICcnO1xuICBsZXQgYWRkaXRpb24gPSBNYXRoLnBvdygyLCAxNikgLSAxO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpICs9IGFkZGl0aW9uKSB7XG4gICAgaWYgKGkgKyBhZGRpdGlvbiA+IGxlbmd0aCkge1xuICAgICAgYWRkaXRpb24gPSBsZW5ndGggLSBpO1xuICAgIH1cbiAgICByZXN1bHQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLCBidWZWaWV3LnN1YmFycmF5KGksIGkgKyBhZGRpdGlvbikpO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdfQ==

@@ -28,2 +28,2 @@ import { FsRequestHeaders } from './../types';

*/
export declare const normalizeName: (name: string) => any;
export declare const normalizeName: (name: string) => string;

@@ -42,6 +42,6 @@ /*

.filter(function (k) { return k && typeof val[k] !== 'undefined'; })
.map(function (k) { return encodeURIComponent(k) + "=" + encodeURIComponent(val[k]); })
.map(function (k) { return "".concat(encodeURIComponent(k), "=").concat(encodeURIComponent(val[k])); })
.join('&');
};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL3VybC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxJQUFNLFVBQVUsR0FBRyxVQUFDLEdBQUcsRUFBRSxNQUFNO0lBQ3BDLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDWCxPQUFPLEdBQUcsQ0FBQztLQUNaO0lBRUQsSUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLElBQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFbkMsSUFBSSxTQUFTLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDcEIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0tBQy9CO0lBRUQsT0FBTyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQztBQUNsRSxDQUFDLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLElBQU0sS0FBSyxHQUFHLFVBQUEsR0FBRztJQUN0QixPQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ2IsTUFBTSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLFdBQVcsRUFBbEMsQ0FBa0MsQ0FBQztTQUMvQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsU0FBSSxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUcsRUFBeEQsQ0FBd0QsQ0FBQztTQUNsRSxJQUFJLENBQUMsR0FBRyxDQUFDO0FBSFosQ0FHWSxDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2hlbHBlcnMvdXJsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKipcbiAqIENvbWJpbmUgdXJsIHdpdGggcXMgcGFyYW1ldGVyc1xuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSB1cmwgYmFzZSB1cmxcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgUXVlcnkgc3RyaW5nIHBhcmFtcyBvYmplY3RcbiAqL1xuZXhwb3J0IGNvbnN0IGNvbWJpbmVVUkwgPSAodXJsLCBwYXJhbXMpID0+IHtcbiAgaWYgKCFwYXJhbXMpIHtcbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgY29uc3Qgc2VyaWFsaXplZCA9IHVybGZ5KHBhcmFtcyk7XG4gIGNvbnN0IGhhc2hJbmRleCA9IHVybC5pbmRleE9mKCcjJyk7XG5cbiAgaWYgKGhhc2hJbmRleCAhPT0gLTEpIHtcbiAgICB1cmwgPSB1cmwuc2xpY2UoMCwgaGFzaEluZGV4KTtcbiAgfVxuXG4gIHJldHVybiB1cmwgKyAodXJsLmluZGV4T2YoJz8nKSA9PT0gLTEgPyAnPycgOiAnJicpICsgc2VyaWFsaXplZDtcbn07XG5cbi8qKlxuICogQ2hhbmdlIHJlcXVlc3QganNvbiBwYXJhbXMgdG8gdXJsIHNlYXJjaCBvbmVzXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9iaiBPYmplY3QgdG8gdHJhbnNmb3JtXG4gKi9cbmV4cG9ydCBjb25zdCB1cmxmeSA9IHZhbCA9PlxuICBPYmplY3Qua2V5cyh2YWwpXG4gICAgLmZpbHRlcihrID0+IGsgJiYgdHlwZW9mIHZhbFtrXSAhPT0gJ3VuZGVmaW5lZCcpXG4gICAgLm1hcChrID0+IGAke2VuY29kZVVSSUNvbXBvbmVudChrKX09JHtlbmNvZGVVUklDb21wb25lbnQodmFsW2tdKX1gKVxuICAgIC5qb2luKCcmJyk7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL3VybC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxJQUFNLFVBQVUsR0FBRyxVQUFDLEdBQUcsRUFBRSxNQUFNO0lBQ3BDLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDWCxPQUFPLEdBQUcsQ0FBQztLQUNaO0lBRUQsSUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLElBQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFbkMsSUFBSSxTQUFTLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDcEIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0tBQy9CO0lBRUQsT0FBTyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQztBQUNsRSxDQUFDLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLElBQU0sS0FBSyxHQUFHLFVBQUEsR0FBRztJQUN0QixPQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ2IsTUFBTSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLFdBQVcsRUFBbEMsQ0FBa0MsQ0FBQztTQUMvQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxVQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxjQUFJLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFFLEVBQXhELENBQXdELENBQUM7U0FDbEUsSUFBSSxDQUFDLEdBQUcsQ0FBQztBQUhaLENBR1ksQ0FBQyIsImZpbGUiOiJsaWIvcmVxdWVzdC9oZWxwZXJzL3VybC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyoqXG4gKiBDb21iaW5lIHVybCB3aXRoIHFzIHBhcmFtZXRlcnNcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gdXJsIGJhc2UgdXJsXG4gKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zIFF1ZXJ5IHN0cmluZyBwYXJhbXMgb2JqZWN0XG4gKi9cbmV4cG9ydCBjb25zdCBjb21iaW5lVVJMID0gKHVybCwgcGFyYW1zKSA9PiB7XG4gIGlmICghcGFyYW1zKSB7XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIGNvbnN0IHNlcmlhbGl6ZWQgPSB1cmxmeShwYXJhbXMpO1xuICBjb25zdCBoYXNoSW5kZXggPSB1cmwuaW5kZXhPZignIycpO1xuXG4gIGlmIChoYXNoSW5kZXggIT09IC0xKSB7XG4gICAgdXJsID0gdXJsLnNsaWNlKDAsIGhhc2hJbmRleCk7XG4gIH1cblxuICByZXR1cm4gdXJsICsgKHVybC5pbmRleE9mKCc/JykgPT09IC0xID8gJz8nIDogJyYnKSArIHNlcmlhbGl6ZWQ7XG59O1xuXG4vKipcbiAqIENoYW5nZSByZXF1ZXN0IGpzb24gcGFyYW1zIHRvIHVybCBzZWFyY2ggb25lc1xuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmogT2JqZWN0IHRvIHRyYW5zZm9ybVxuICovXG5leHBvcnQgY29uc3QgdXJsZnkgPSB2YWwgPT5cbiAgT2JqZWN0LmtleXModmFsKVxuICAgIC5maWx0ZXIoayA9PiBrICYmIHR5cGVvZiB2YWxba10gIT09ICd1bmRlZmluZWQnKVxuICAgIC5tYXAoayA9PiBgJHtlbmNvZGVVUklDb21wb25lbnQoayl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbFtrXSl9YClcbiAgICAuam9pbignJicpO1xuIl19

@@ -28,3 +28,3 @@ /*

var params = { id: 1 };
expect(combineURL(url, params)).toEqual(url + "?id=1");
expect(combineURL(url, params)).toEqual("".concat(url, "?id=1"));
});

@@ -34,3 +34,3 @@ it('should return url with id=1', function () {

var params = { id: '1' };
expect(combineURL(url + '#', params)).toBe(url + "?id=1");
expect(combineURL(url + '#', params)).toBe("".concat(url, "?id=1"));
});

@@ -40,2 +40,2 @@ });

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL3VybC5zcGVjLmJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVuQyxRQUFRLENBQUMscUJBQXFCLEVBQUU7SUFDOUIsUUFBUSxDQUFDLFlBQVksRUFBRTtRQUNyQixFQUFFLENBQUMsbUJBQW1CLEVBQUU7WUFDdEIsSUFBTSxHQUFHLEdBQUcsdUJBQXVCLENBQUM7WUFDcEMsYUFBYTtZQUNiLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsNkJBQTZCLEVBQUU7WUFDaEMsSUFBTSxHQUFHLEdBQUcsdUJBQXVCLENBQUM7WUFDcEMsSUFBTSxNQUFNLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDekIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUksR0FBRyxVQUFPLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw2QkFBNkIsRUFBRTtZQUNoQyxJQUFNLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQztZQUNwQyxJQUFNLE1BQU0sR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUksR0FBRyxVQUFPLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL3JlcXVlc3QvaGVscGVycy91cmwuc3BlYy5icm93c2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBjb21iaW5lVVJMIH0gZnJvbSAnLi91cmwnO1xuXG5kZXNjcmliZSgnUmVxdWVzdC9IZWxwZXJzL1VybCcsICgpID0+IHtcbiAgZGVzY3JpYmUoJ2NvbWJpbmVVUkwnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdXJsJywgKCkgPT4ge1xuICAgICAgY29uc3QgdXJsID0gJ2h0dHBzOi8vZmlsZXN0YWNrLmNvbSc7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3QoY29tYmluZVVSTCh1cmwpKS50b0JlKHVybCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB1cmwgd2l0aCBpZD0xJywgKCkgPT4ge1xuICAgICAgY29uc3QgdXJsID0gJ2h0dHBzOi8vZmlsZXN0YWNrLmNvbSc7XG4gICAgICBjb25zdCBwYXJhbXMgPSB7IGlkOiAxIH07XG4gICAgICBleHBlY3QoY29tYmluZVVSTCh1cmwsIHBhcmFtcykpLnRvRXF1YWwoYCR7dXJsfT9pZD0xYCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB1cmwgd2l0aCBpZD0xJywgKCkgPT4ge1xuICAgICAgY29uc3QgdXJsID0gJ2h0dHBzOi8vZmlsZXN0YWNrLmNvbSc7XG4gICAgICBjb25zdCBwYXJhbXMgPSB7IGlkOiAnMScgfTtcbiAgICAgIGV4cGVjdChjb21iaW5lVVJMKHVybCArICcjJywgcGFyYW1zKSkudG9CZShgJHt1cmx9P2lkPTFgKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL3VybC5zcGVjLmJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVuQyxRQUFRLENBQUMscUJBQXFCLEVBQUU7SUFDOUIsUUFBUSxDQUFDLFlBQVksRUFBRTtRQUNyQixFQUFFLENBQUMsbUJBQW1CLEVBQUU7WUFDdEIsSUFBTSxHQUFHLEdBQUcsdUJBQXVCLENBQUM7WUFDcEMsYUFBYTtZQUNiLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsNkJBQTZCLEVBQUU7WUFDaEMsSUFBTSxHQUFHLEdBQUcsdUJBQXVCLENBQUM7WUFDcEMsSUFBTSxNQUFNLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDekIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBRyxHQUFHLFVBQU8sQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDZCQUE2QixFQUFFO1lBQ2hDLElBQU0sR0FBRyxHQUFHLHVCQUF1QixDQUFDO1lBQ3BDLElBQU0sTUFBTSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQzNCLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFHLEdBQUcsVUFBTyxDQUFDLENBQUM7UUFDNUQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2hlbHBlcnMvdXJsLnNwZWMuYnJvd3Nlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgY29tYmluZVVSTCB9IGZyb20gJy4vdXJsJztcblxuZGVzY3JpYmUoJ1JlcXVlc3QvSGVscGVycy9VcmwnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdjb21iaW5lVVJMJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIHVybCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHVybCA9ICdodHRwczovL2ZpbGVzdGFjay5jb20nO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KGNvbWJpbmVVUkwodXJsKSkudG9CZSh1cmwpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdXJsIHdpdGggaWQ9MScsICgpID0+IHtcbiAgICAgIGNvbnN0IHVybCA9ICdodHRwczovL2ZpbGVzdGFjay5jb20nO1xuICAgICAgY29uc3QgcGFyYW1zID0geyBpZDogMSB9O1xuICAgICAgZXhwZWN0KGNvbWJpbmVVUkwodXJsLCBwYXJhbXMpKS50b0VxdWFsKGAke3VybH0/aWQ9MWApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdXJsIHdpdGggaWQ9MScsICgpID0+IHtcbiAgICAgIGNvbnN0IHVybCA9ICdodHRwczovL2ZpbGVzdGFjay5jb20nO1xuICAgICAgY29uc3QgcGFyYW1zID0geyBpZDogJzEnIH07XG4gICAgICBleHBlY3QoY29tYmluZVVSTCh1cmwgKyAnIycsIHBhcmFtcykpLnRvQmUoYCR7dXJsfT9pZD0xYCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=

@@ -18,3 +18,3 @@ /*

import * as utils from './utils';
var printLog = function (status, name, value) { return name + " should return " + status + " when value is " + value; };
var printLog = function (status, name, value) { return "".concat(name, " should return ").concat(status, " when value is ").concat(value); };
describe('Request/Utils', function () {

@@ -50,2 +50,2 @@ describe('isBuffer', function () {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC91dGlscy5zcGVjLmJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxLQUFLLEtBQUssTUFBTSxTQUFTLENBQUM7QUFFakMsSUFBTSxRQUFRLEdBQUcsVUFBQyxNQUF3QixFQUFFLElBQVksRUFBRSxLQUFhLElBQWEsT0FBRyxJQUFJLHVCQUFrQixNQUFNLHVCQUFrQixLQUFPLEVBQXhELENBQXdELENBQUM7QUFFN0ksUUFBUSxDQUFDLGVBQWUsRUFBRTtJQUN4QixRQUFRLENBQUMsVUFBVSxFQUFFO1FBQ25CLGFBQWE7UUFDYixFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBcEMsQ0FBb0MsQ0FBQyxDQUFDO0lBQ3BGLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGVBQWUsRUFBRTtRQUN4QixFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUscUJBQXFCLENBQUMsRUFBRTtZQUN6RCxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUN0QyxhQUFhO1lBQ2IsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsUUFBUSxFQUFFO1FBQ2pCLElBQU0sSUFBSSxHQUFTLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDeEUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUF2QyxDQUF1QyxDQUFDLENBQUM7SUFDNUYsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsUUFBUSxFQUFFO1FBQ2pCLElBQU0sS0FBSyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNsQyxJQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUMxRCxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQXZDLENBQXVDLENBQUMsQ0FBQztJQUM1RixDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxZQUFZLEVBQUU7UUFDckIsSUFBTSxRQUFRLEdBQWEsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMxQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQS9DLENBQStDLENBQUMsQ0FBQztJQUNyRyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L3V0aWxzLnNwZWMuYnJvd3Nlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBwcmludExvZyA9IChzdGF0dXM6IGJvb2xlYW4gfCBzdHJpbmcsIG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHN0cmluZyA9PiBgJHtuYW1lfSBzaG91bGQgcmV0dXJuICR7c3RhdHVzfSB3aGVuIHZhbHVlIGlzICR7dmFsdWV9YDtcblxuZGVzY3JpYmUoJ1JlcXVlc3QvVXRpbHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdpc0J1ZmZlcicsICgpID0+IHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaXQocHJpbnRMb2coZmFsc2UsICdpc0J1ZmZlcicsICd7fScpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNCdWZmZXIoKSkudG9CZUZhbHN5KCkpO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNBcnJheUJ1ZmZlcicsICgpID0+IHtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNBcnJheUJ1ZmZlcicsICduZXcgQXJyYXlCdWZmZXIoMTApJyksICgpID0+IHtcbiAgICAgIGV4cGVjdCh1dGlscy5pc0FycmF5QnVmZmVyKEJ1ZmZlci5hbGxvYygxMCkpKS50b0JlRmFsc3koKTtcbiAgICB9KTtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNBcnJheUJ1ZmZlcicsICcnKSwgKCkgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KHV0aWxzLmlzQXJyYXlCdWZmZXIoKSkudG9CZUZhbHN5KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc0ZpbGUnLCAoKSA9PiB7XG4gICAgY29uc3QgZmlsZTogRmlsZSA9IG5ldyBGaWxlKFsnZm9vJ10sICdmb28udHh0JywgeyB0eXBlOiAndGV4dC9wbGFpbicgfSk7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzRmlsZScsICduZXcgRmlsZSgpJyksICgpID0+IGV4cGVjdCh1dGlscy5pc0ZpbGUoZmlsZSkpLnRvQmVUcnV0aHkoKSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc0Jsb2InLCAoKSA9PiB7XG4gICAgY29uc3QgcGFydHMgPSBbJzxhIGlkPVwiaWRcIj48L2E+J107XG4gICAgY29uc3QgYmxvYjogQmxvYiA9IG5ldyBCbG9iKHBhcnRzLCB7IHR5cGU6ICd0ZXh0L2h0bWwnIH0pO1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0Jsb2InLCAnbmV3IEJsb2IoKScpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNCbG9iKGJsb2IpKS50b0JlVHJ1dGh5KCkpO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNGb3JtRGF0YScsICgpID0+IHtcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ25hbWUnLCAndmFsdWUnKTtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNGb3JtRGF0YScsIFwiJ3ZhbHVlJ1wiKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzRm9ybURhdGEoZm9ybURhdGEpKS50b0JlVHJ1dGh5KCkpO1xuICB9KTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC91dGlscy5zcGVjLmJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxLQUFLLEtBQUssTUFBTSxTQUFTLENBQUM7QUFFakMsSUFBTSxRQUFRLEdBQUcsVUFBQyxNQUF3QixFQUFFLElBQVksRUFBRSxLQUFhLElBQWEsT0FBQSxVQUFHLElBQUksNEJBQWtCLE1BQU0sNEJBQWtCLEtBQUssQ0FBRSxFQUF4RCxDQUF3RCxDQUFDO0FBRTdJLFFBQVEsQ0FBQyxlQUFlLEVBQUU7SUFDeEIsUUFBUSxDQUFDLFVBQVUsRUFBRTtRQUNuQixhQUFhO1FBQ2IsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQXBDLENBQW9DLENBQUMsQ0FBQztJQUNwRixDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxlQUFlLEVBQUU7UUFDeEIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixDQUFDLEVBQUU7WUFDekQsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDNUQsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDdEMsYUFBYTtZQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFFBQVEsRUFBRTtRQUNqQixJQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBdkMsQ0FBdUMsQ0FBQyxDQUFDO0lBQzVGLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFFBQVEsRUFBRTtRQUNqQixJQUFNLEtBQUssR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEMsSUFBTSxJQUFJLEdBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDMUQsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUF2QyxDQUF1QyxDQUFDLENBQUM7SUFDNUYsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsWUFBWSxFQUFFO1FBQ3JCLElBQU0sUUFBUSxHQUFhLElBQUksUUFBUSxFQUFFLENBQUM7UUFDMUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDakMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFNBQVMsQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUEvQyxDQUErQyxDQUFDLENBQUM7SUFDckcsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvcmVxdWVzdC91dGlscy5zcGVjLmJyb3dzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE5IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgcHJpbnRMb2cgPSAoc3RhdHVzOiBib29sZWFuIHwgc3RyaW5nLCBuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgPT4gYCR7bmFtZX0gc2hvdWxkIHJldHVybiAke3N0YXR1c30gd2hlbiB2YWx1ZSBpcyAke3ZhbHVlfWA7XG5cbmRlc2NyaWJlKCdSZXF1ZXN0L1V0aWxzJywgKCkgPT4ge1xuICBkZXNjcmliZSgnaXNCdWZmZXInLCAoKSA9PiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGl0KHByaW50TG9nKGZhbHNlLCAnaXNCdWZmZXInLCAne30nKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzQnVmZmVyKCkpLnRvQmVGYWxzeSgpKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzQXJyYXlCdWZmZXInLCAoKSA9PiB7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzQXJyYXlCdWZmZXInLCAnbmV3IEFycmF5QnVmZmVyKDEwKScpLCAoKSA9PiB7XG4gICAgICBleHBlY3QodXRpbHMuaXNBcnJheUJ1ZmZlcihCdWZmZXIuYWxsb2MoMTApKSkudG9CZUZhbHN5KCk7XG4gICAgfSk7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzQXJyYXlCdWZmZXInLCAnJyksICgpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGV4cGVjdCh1dGlscy5pc0FycmF5QnVmZmVyKCkpLnRvQmVGYWxzeSgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNGaWxlJywgKCkgPT4ge1xuICAgIGNvbnN0IGZpbGU6IEZpbGUgPSBuZXcgRmlsZShbJ2ZvbyddLCAnZm9vLnR4dCcsIHsgdHlwZTogJ3RleHQvcGxhaW4nIH0pO1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0ZpbGUnLCAnbmV3IEZpbGUoKScpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNGaWxlKGZpbGUpKS50b0JlVHJ1dGh5KCkpO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNCbG9iJywgKCkgPT4ge1xuICAgIGNvbnN0IHBhcnRzID0gWyc8YSBpZD1cImlkXCI+PC9hPiddO1xuICAgIGNvbnN0IGJsb2I6IEJsb2IgPSBuZXcgQmxvYihwYXJ0cywgeyB0eXBlOiAndGV4dC9odG1sJyB9KTtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNCbG9iJywgJ25ldyBCbG9iKCknKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzQmxvYihibG9iKSkudG9CZVRydXRoeSgpKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzRm9ybURhdGEnLCAoKSA9PiB7XG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCduYW1lJywgJ3ZhbHVlJyk7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzRm9ybURhdGEnLCBcIid2YWx1ZSdcIiksICgpID0+IGV4cGVjdCh1dGlscy5pc0Zvcm1EYXRhKGZvcm1EYXRhKSkudG9CZVRydXRoeSgpKTtcbiAgfSk7XG59KTtcbiJdfQ==

@@ -19,3 +19,3 @@ /*

import { Readable } from 'stream';
var printLog = function (status, name, value) { return name + " should return " + status + " when value is " + value; };
var printLog = function (status, name, value) { return "".concat(name, " should return ").concat(status, " when value is ").concat(value); };
describe('Request/Utils', function () {

@@ -112,2 +112,2 @@ describe('isArray', function () {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC91dGlscy5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFbEMsSUFBTSxRQUFRLEdBQUcsVUFBQyxNQUF3QixFQUFFLElBQVksRUFBRSxLQUFhLElBQWEsT0FBRyxJQUFJLHVCQUFrQixNQUFNLHVCQUFrQixLQUFPLEVBQXhELENBQXdELENBQUM7QUFFN0ksUUFBUSxDQUFDLGVBQWUsRUFBRTtJQUN4QixRQUFRLENBQUMsU0FBUyxFQUFFO1FBQ2xCLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQTdDLENBQTZDLENBQUMsQ0FBQztRQUVoRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQXRDLENBQXNDLENBQUMsQ0FBQztRQUVsRixhQUFhO1FBQ2IsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQW5DLENBQW1DLENBQUMsQ0FBQztRQUU3RSxhQUFhO1FBQ2IsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUF2QyxDQUF1QyxDQUFDLENBQUM7SUFDckYsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsZUFBZSxFQUFFO1FBQ3hCLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQyxFQUFFO1lBQ3pELE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUN0QyxhQUFhO1lBQ2IsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxXQUFXO0lBQ1gsUUFBUSxDQUFDLFVBQVUsRUFBRTtRQUNuQixFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDakMsYUFBYTtZQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDakMsYUFBYTtZQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsbUJBQW1CLEVBQUU7UUFDNUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsbUNBQW1DLENBQUMsRUFBRTtZQUMzRSxNQUFNLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksUUFBUSxDQUFDLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDNUMsYUFBYTtZQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLG1CQUFtQixFQUFFLElBQUksQ0FBQyxFQUFFO1lBQzVDLGFBQWE7WUFDYixNQUFNLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsVUFBVSxFQUFFO1FBQ25CLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQXRELENBQXNELENBQUMsQ0FBQztRQUVoSCxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQTNDLENBQTJDLENBQUMsQ0FBQztRQUU5RixFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQXRDLENBQXNDLENBQUMsQ0FBQztJQUN0RixDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxVQUFVLEVBQUU7UUFDbkIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUE1QyxDQUE0QyxDQUFDLENBQUM7UUFFOUYsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUF0QyxDQUFzQyxDQUFDLENBQUM7UUFFcEYsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUF0QyxDQUFzQyxDQUFDLENBQUM7UUFFcEYsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUF0QyxDQUFzQyxDQUFDLENBQUM7UUFFcEYsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxF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QU8sQ0FBQyxFQUE5QyxDQUE4QyxDQUFDLENBQUM7SUFDekgsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvcmVxdWVzdC91dGlscy5zcGVjLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gJ3N0cmVhbSc7XG5cbmNvbnN0IHByaW50TG9nID0gKHN0YXR1czogYm9vbGVhbiB8IHN0cmluZywgbmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogc3RyaW5nID0+IGAke25hbWV9IHNob3VsZCByZXR1cm4gJHtzdGF0dXN9IHdoZW4gdmFsdWUgaXMgJHt2YWx1ZX1gO1xuXG5kZXNjcmliZSgnUmVxdWVzdC9VdGlscycsICgpID0+IHtcbiAgZGVzY3JpYmUoJ2lzQXJyYXknLCAoKSA9PiB7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzQXJyYXknLCBcIlsndmFsdWUnXVwiKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzQXJyYXkoWyd2YWx1ZSddKSkudG9CZVRydXRoeSgpKTtcblxuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0FycmF5JywgJ1tdJyksICgpID0+IGV4cGVjdCh1dGlscy5pc0FycmF5KFtdKSkudG9CZVRydXRoeSgpKTtcblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNBcnJheScsICcnKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzQXJyYXkoKSkudG9CZUZhbHN5KCkpO1xuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0FycmF5JywgbnVsbCksICgpID0+IGV4cGVjdCh1dGlscy5pc0FycmF5KG51bGwpKS50b0JlRmFsc3koKSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc0FycmF5QnVmZmVyJywgKCkgPT4ge1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0FycmF5QnVmZmVyJywgJ25ldyBBcnJheUJ1ZmZlcigxMCknKSwgKCkgPT4ge1xuICAgICAgZXhwZWN0KHV0aWxzLmlzQXJyYXlCdWZmZXIobmV3IEFycmF5QnVmZmVyKDEwKSkpLnRvQmVUcnV0aHkoKTtcbiAgICB9KTtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNBcnJheUJ1ZmZlcicsICcnKSwgKCkgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KHV0aWxzLmlzQXJyYXlCdWZmZXIoKSkudG9CZUZhbHN5KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vIGlzQnVmZmVyXG4gIGRlc2NyaWJlKCdpc0J1ZmZlcicsICgpID0+IHtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNCdWZmZXInLCAnJyksICgpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGV4cGVjdCh1dGlscy5pc0J1ZmZlcihudWxsKSkudG9CZUZhbHN5KCk7XG4gICAgfSk7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzQnVmZmVyJywgJycpLCAoKSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3QodXRpbHMuaXNCdWZmZXIoQnVmZmVyLmFsbG9jKDEwKSkpLnRvQmVUcnV0aHkoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzQXJyYXlCdWZmZXJWaWV3JywgKCkgPT4ge1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0FycmF5QnVmZmVyVmlldycsICduZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDEwKSknKSwgKCkgPT4ge1xuICAgICAgZXhwZWN0KHV0aWxzLmlzQXJyYXlCdWZmZXJWaWV3KG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMTApKSkpLnRvQmVUcnV0aHkoKTtcbiAgICB9KTtcblxuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0FycmF5QnVmZmVyVmlldycsIG51bGwpLCAoKSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3QodXRpbHMuaXNBcnJheUJ1ZmZlclZpZXcobnVsbCkpLnRvQmVGYWxzeSgpO1xuICAgIH0pO1xuXG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzQXJyYXlCdWZmZXJWaWV3JywgbnVsbCksICgpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGV4cGVjdCh1dGlscy5pc0FycmF5QnVmZmVyVmlldyhCdWZmZXIuYWxsb2MoMTApKSkudG9CZVRydXRoeSgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNPYmplY3QnLCAoKSA9PiB7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzT2JqZWN0JywgXCJ7cHJvcDogJ3ZhbHVlJ31cIiksICgpID0+IGV4cGVjdCh1dGlscy5pc09iamVjdCh7IHByb3A6ICd2YWx1ZScgfSkpLnRvQmVUcnV0aHkoKSk7XG5cbiAgICBpdChwcmludExvZyhmYWxzZSwgJ2lzT2JqZWN0JywgXCIndmFsdWUnXCIpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNPYmplY3QoJ3ZhbHVlJykpLnRvQmVGYWxzeSgpKTtcblxuICAgIGl0KHByaW50TG9nKGZhbHNlLCAnaXNPYmplY3QnLCAnMTAnKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzT2JqZWN0KDEwKSkudG9CZUZhbHN5KCkpO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNTdHJpbmcnLCAoKSA9PiB7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzU3RyaW5nJywgXCIndmFsdWUnXCIpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNTdHJpbmcoJ3ZhbHVlJykpLnRvQmVUcnV0aHkoKSk7XG5cbiAgICBpdChwcmludExvZyhmYWxzZSwgJ2lzU3RyaW5nJywgJzEwJyksICgpID0+IGV4cGVjdCh1dGlscy5pc1N0cmluZygxMCkpLnRvQmVGYWxzeSgpKTtcblxuICAgIGl0KHByaW50TG9nKGZhbHNlLCAnaXNTdHJpbmcnLCAne30nKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzU3RyaW5nKHt9KSkudG9CZUZhbHN5KCkpO1xuXG4gICAgaXQocHJpbnRMb2coZmFsc2UsICdpc1N0cmluZycsICdbXScpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNTdHJpbmcoW10pKS50b0JlRmFsc3koKSk7XG5cbiAgICBpdChwcmludExvZyhmYWxzZSwgJ2lzU3RyaW5nJywgJ2ZhbHNlJyksICgpID0+IGV4cGVjdCh1dGlscy5pc1N0cmluZyhmYWxzZSkpLnRvQmVGYWxzeSgpKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzRmlsZScsICgpID0+IHtcbiAgICBpdChwcmludExvZyhmYWxzZSwgJ2lzRmlsZScsIG51bGwpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNGaWxlKG51bGwpKS50b0JlRmFsc3koKSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc0Jsb2InLCAoKSA9PiB7XG4gICAgaXQocHJpbnRMb2coZmFsc2UsICdpc0Jsb2InLCBudWxsKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzQmxvYihudWxsKSkudG9CZUZhbHN5KCkpO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNTdHJlYW0nLCAoKSA9PiB7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzU3RyZWFtJywgJ1N0cmVhbS5SZWFkYWJsZSgpJyksICgpID0+IHtcbiAgICAgIGNvbnN0IHN0cmVhbSA9IG5ldyBSZWFkYWJsZSgpO1xuICAgICAgc3RyZWFtLl9yZWFkID0gKCkgPT4gJyc7XG4gICAgICBzdHJlYW0ucHVzaCgnYmVlcCcpO1xuICAgICAgZXhwZWN0KHV0aWxzLmlzU3RyZWFtKHN0cmVhbSkpLnRvQmVUcnV0aHkoKTtcbiAgICB9KTtcblxuICAgIGl0KHByaW50TG9nKHRydWUsICdpc1N0cmVhbScsIFwiJ3ZhbHVlJ1wiKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzU3RyZWFtKCd2YWx1ZScpKS50b0JlRmFsc3koKSk7XG5cbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNTdHJlYW0nLCAnMTAnKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzU3RyZWFtKDEwKSkudG9CZUZhbHN5KCkpO1xuXG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzU3RyZWFtJywgJ1tdJyksICgpID0+IGV4cGVjdCh1dGlscy5pc1N0cmVhbShbXSkpLnRvQmVGYWxzeSgpKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzVVJMU2VhcmNoUGFyYW1zJywgKCkgPT4ge1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc1VSTFNlYXJjaFBhcmFtcycsIFwibmV3IFVSTFNlYXJjaFBhcmFtcygncT1maWxlbmFtZT0mc2l6ZT0xMicpXCIpLCAoKSA9PiB7XG4gICAgICBleHBlY3QodXRpbHMuaXNVUkxTZWFyY2hQYXJhbXMobmV3IFVSTFNlYXJjaFBhcmFtcygncT1maWxlbmFtZT0mc2l6ZT0xMicpKSkudG9CZVRydXRoeSgpO1xuICAgIH0pO1xuXG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzVVJMU2VhcmNoUGFyYW1zJywgXCJuZXcgVVJMU2VhcmNoUGFyYW1zKCcnKVwiKSwgKCkgPT4ge1xuICAgICAgZXhwZWN0KHV0aWxzLmlzVVJMU2VhcmNoUGFyYW1zKG5ldyBVUkxTZWFyY2hQYXJhbXMoJycpKSkudG9CZVRydXRoeSgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNGb3JtRGF0YScsICgpID0+IHtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNGb3JtRGF0YScsIFwiJ3ZhbHVlJ1wiKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzRm9ybURhdGEoJ3ZhbHVlJykpLnRvQmVGYWxzeSgpKTtcblxuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0Zvcm1EYXRhJywgJzEwJyksICgpID0+IGV4cGVjdCh1dGlscy5pc0Zvcm1EYXRhKHt9KSkudG9CZUZhbHN5KCkpO1xuXG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzRm9ybURhdGEnLCAnW10nKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzRm9ybURhdGEoW10pKS50b0JlRmFsc3koKSk7XG5cbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNGb3JtRGF0YScsICd7fScpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNGb3JtRGF0YSh7fSkpLnRvQmVGYWxzeSgpKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3RyaW0nLCAoKSA9PiB7XG4gICAgaXQocHJpbnRMb2coXCIndmFsdWUnIHdpdGhvdXQgd2hpdGVzcGFjZVwiLCAndHJpbScsIFwiJyB2YWx1ZSdcIiksICgpID0+IGV4cGVjdCh1dGlscy50cmltKCcgdmFsdWUnKSkudG9FcXVhbCgndmFsdWUnKSk7XG5cbiAgICBpdChwcmludExvZyhcIid2YWx1ZScgd2l0aG91dCB3aGl0ZXNwYWNlIFwiLCAndHJpbScsIFwiJyB2YWx1ZSAnXCIpLCAoKSA9PiBleHBlY3QodXRpbHMudHJpbSgnIHZhbHVlICcpKS50b0VxdWFsKCd2YWx1ZScpKTtcbiAgfSk7XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC91dGlscy5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFbEMsSUFBTSxRQUFRLEdBQUcsVUFBQyxNQUF3QixFQUFFLElBQVksRUFBRSxLQUFhLElBQWEsT0FBQSxVQUFHLElBQUksNEJBQWtCLE1BQU0sNEJBQWtCLEtBQUssQ0FBRSxFQUF4RCxDQUF3RCxDQUFDO0FBRTdJLFFBQVEsQ0FBQyxlQUFlLEVBQUU7SUFDeEIsUUFBUSxDQUFDLFNBQVMsRUFBRTtRQUNsQixFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUE3QyxDQUE2QyxDQUFDLENBQUM7UUFFaEcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUF0QyxDQUFzQyxDQUFDLENBQUM7UUFFbEYsYUFBYTtRQUNiLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFuQyxDQUFtQyxDQUFDLENBQUM7UUFFN0UsYUFBYTtRQUNiLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxjQUFN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Q0FBQyxDQUFDLFNBQVMsRUFBRSxFQUEzQyxDQUEyQyxDQUFDLENBQUM7UUFFOUYsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUF0QyxDQUFzQyxDQUFDLENBQUM7SUFDdEYsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsVUFBVSxFQUFFO1FBQ25CLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBNUMsQ0FBNEMsQ0FBQyxDQUFDO1FBRTlGLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBdEMsQ0FBc0MsQ0FBQyxDQUFDO1FBRXBGLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBdEMsQ0FBc0MsQ0FBQyxDQUFDO1FBRXBGLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBdEMsQ0FBc0MsQ0FBQyxDQUFDO1FBRXBGLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBekMsQ0FBeUMsQ0FBQyxDQUFDO0lBQzVGLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFFBQVEsRUFBRTtRQUNqQixFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQXRDLENBQXNDLENBQUMsQ0FBQztJQUNwRixDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxRQUFRLEVBQUU7UUFDakIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUF0QyxDQUFzQyxDQUFDLENBQUM7SUFDcEYsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsVUFBVSxFQUFFO1FBQ25CLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxFQUFFO1lBQ2xELElBQU0sTUFBTSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7WUFDOUIsTUFBTSxDQUFDLEtBQUssR0FBRyxjQUFNLE9BQUEsRUFBRSxFQUFGLENBQUUsQ0FBQztZQUN4QixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BCLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQTNDLENBQTJDLENBQUMsQ0FBQztRQUU3RixFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQXRDLENBQXNDLENBQUMsQ0FBQztRQUVuRixFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQXRDLENBQXNDLENBQUMsQ0FBQztJQUNyRixDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxtQkFBbUIsRUFBRTtRQUM1QixFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRSw0Q0FBNEMsQ0FBQyxFQUFFO1lBQ3BGLE1BQU0sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxlQUFlLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDM0YsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRSx5QkFBeUIsQ0FBQyxFQUFFO1lBQ2pFLE1BQU0sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsWUFBWSxFQUFFO1FBQ3JCLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxTQUFTLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBN0MsQ0FBNkMsQ0FBQyxDQUFDO1FBRWpHLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBeEMsQ0FBd0MsQ0FBQyxDQUFDO1FBRXZGLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBeEMsQ0FBd0MsQ0FBQyxDQUFDO1FBRXZGLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBeEMsQ0FBd0MsQ0FBQyxDQUFDO0lBQ3pGLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLE1BQU0sRUFBRTtRQUNmLEVBQUUsQ0FBQyxRQUFRLENBQUMsNEJBQTRCLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBN0MsQ0FBNkMsQ0FBQyxDQUFDO1FBRXBILEVBQUUsQ0FBQyxRQUFRLENBQUMsNkJBQTZCLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBOUMsQ0FBOEMsQ0FBQyxDQUFDO0lBQ3pILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL3JlcXVlc3QvdXRpbHMuc3BlYy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgUmVhZGFibGUgfSBmcm9tICdzdHJlYW0nO1xuXG5jb25zdCBwcmludExvZyA9IChzdGF0dXM6IGJvb2xlYW4gfCBzdHJpbmcsIG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHN0cmluZyA9PiBgJHtuYW1lfSBzaG91bGQgcmV0dXJuICR7c3RhdHVzfSB3aGVuIHZhbHVlIGlzICR7dmFsdWV9YDtcblxuZGVzY3JpYmUoJ1JlcXVlc3QvVXRpbHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdpc0FycmF5JywgKCkgPT4ge1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0FycmF5JywgXCJbJ3ZhbHVlJ11cIiksICgpID0+IGV4cGVjdCh1dGlscy5pc0FycmF5KFsndmFsdWUnXSkpLnRvQmVUcnV0aHkoKSk7XG5cbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNBcnJheScsICdbXScpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNBcnJheShbXSkpLnRvQmVUcnV0aHkoKSk7XG5cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzQXJyYXknLCAnJyksICgpID0+IGV4cGVjdCh1dGlscy5pc0FycmF5KCkpLnRvQmVGYWxzeSgpKTtcblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNBcnJheScsIG51bGwpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNBcnJheShudWxsKSkudG9CZUZhbHN5KCkpO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNBcnJheUJ1ZmZlcicsICgpID0+IHtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNBcnJheUJ1ZmZlcicsICduZXcgQXJyYXlCdWZmZXIoMTApJyksICgpID0+IHtcbiAgICAgIGV4cGVjdCh1dGlscy5pc0FycmF5QnVmZmVyKG5ldyBBcnJheUJ1ZmZlcigxMCkpKS50b0JlVHJ1dGh5KCk7XG4gICAgfSk7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzQXJyYXlCdWZmZXInLCAnJyksICgpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGV4cGVjdCh1dGlscy5pc0FycmF5QnVmZmVyKCkpLnRvQmVGYWxzeSgpO1xuICAgIH0pO1xuICB9KTtcblxuICAvLyBpc0J1ZmZlclxuICBkZXNjcmliZSgnaXNCdWZmZXInLCAoKSA9PiB7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzQnVmZmVyJywgJycpLCAoKSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3QodXRpbHMuaXNCdWZmZXIobnVsbCkpLnRvQmVGYWxzeSgpO1xuICAgIH0pO1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0J1ZmZlcicsICcnKSwgKCkgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KHV0aWxzLmlzQnVmZmVyKEJ1ZmZlci5hbGxvYygxMCkpKS50b0JlVHJ1dGh5KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc0FycmF5QnVmZmVyVmlldycsICgpID0+IHtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNBcnJheUJ1ZmZlclZpZXcnLCAnbmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcigxMCkpJyksICgpID0+IHtcbiAgICAgIGV4cGVjdCh1dGlscy5pc0FycmF5QnVmZmVyVmlldyhuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDEwKSkpKS50b0JlVHJ1dGh5KCk7XG4gICAgfSk7XG5cbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNBcnJheUJ1ZmZlclZpZXcnLCBudWxsKSwgKCkgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZXhwZWN0KHV0aWxzLmlzQXJyYXlCdWZmZXJWaWV3KG51bGwpKS50b0JlRmFsc3koKTtcbiAgICB9KTtcblxuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0FycmF5QnVmZmVyVmlldycsIG51bGwpLCAoKSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBleHBlY3QodXRpbHMuaXNBcnJheUJ1ZmZlclZpZXcoQnVmZmVyLmFsbG9jKDEwKSkpLnRvQmVUcnV0aHkoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzT2JqZWN0JywgKCkgPT4ge1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc09iamVjdCcsIFwie3Byb3A6ICd2YWx1ZSd9XCIpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNPYmplY3QoeyBwcm9wOiAndmFsdWUnIH0pKS50b0JlVHJ1dGh5KCkpO1xuXG4gICAgaXQocHJpbnRMb2coZmFsc2UsICdpc09iamVjdCcsIFwiJ3ZhbHVlJ1wiKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzT2JqZWN0KCd2YWx1ZScpKS50b0JlRmFsc3koKSk7XG5cbiAgICBpdChwcmludExvZyhmYWxzZSwgJ2lzT2JqZWN0JywgJzEwJyksICgpID0+IGV4cGVjdCh1dGlscy5pc09iamVjdCgxMCkpLnRvQmVGYWxzeSgpKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzU3RyaW5nJywgKCkgPT4ge1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc1N0cmluZycsIFwiJ3ZhbHVlJ1wiKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzU3RyaW5nKCd2YWx1ZScpKS50b0JlVHJ1dGh5KCkpO1xuXG4gICAgaXQocHJpbnRMb2coZmFsc2UsICdpc1N0cmluZycsICcxMCcpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNTdHJpbmcoMTApKS50b0JlRmFsc3koKSk7XG5cbiAgICBpdChwcmludExvZyhmYWxzZSwgJ2lzU3RyaW5nJywgJ3t9JyksICgpID0+IGV4cGVjdCh1dGlscy5pc1N0cmluZyh7fSkpLnRvQmVGYWxzeSgpKTtcblxuICAgIGl0KHByaW50TG9nKGZhbHNlLCAnaXNTdHJpbmcnLCAnW10nKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzU3RyaW5nKFtdKSkudG9CZUZhbHN5KCkpO1xuXG4gICAgaXQocHJpbnRMb2coZmFsc2UsICdpc1N0cmluZycsICdmYWxzZScpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNTdHJpbmcoZmFsc2UpKS50b0JlRmFsc3koKSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc0ZpbGUnLCAoKSA9PiB7XG4gICAgaXQocHJpbnRMb2coZmFsc2UsICdpc0ZpbGUnLCBudWxsKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzRmlsZShudWxsKSkudG9CZUZhbHN5KCkpO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNCbG9iJywgKCkgPT4ge1xuICAgIGl0KHByaW50TG9nKGZhbHNlLCAnaXNCbG9iJywgbnVsbCksICgpID0+IGV4cGVjdCh1dGlscy5pc0Jsb2IobnVsbCkpLnRvQmVGYWxzeSgpKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzU3RyZWFtJywgKCkgPT4ge1xuICAgIGl0KHByaW50TG9nKHRydWUsICdpc1N0cmVhbScsICdTdHJlYW0uUmVhZGFibGUoKScpLCAoKSA9PiB7XG4gICAgICBjb25zdCBzdHJlYW0gPSBuZXcgUmVhZGFibGUoKTtcbiAgICAgIHN0cmVhbS5fcmVhZCA9ICgpID0+ICcnO1xuICAgICAgc3RyZWFtLnB1c2goJ2JlZXAnKTtcbiAgICAgIGV4cGVjdCh1dGlscy5pc1N0cmVhbShzdHJlYW0pKS50b0JlVHJ1dGh5KCk7XG4gICAgfSk7XG5cbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNTdHJlYW0nLCBcIid2YWx1ZSdcIiksICgpID0+IGV4cGVjdCh1dGlscy5pc1N0cmVhbSgndmFsdWUnKSkudG9CZUZhbHN5KCkpO1xuXG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzU3RyZWFtJywgJzEwJyksICgpID0+IGV4cGVjdCh1dGlscy5pc1N0cmVhbSgxMCkpLnRvQmVGYWxzeSgpKTtcblxuICAgIGl0KHByaW50TG9nKHRydWUsICdpc1N0cmVhbScsICdbXScpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNTdHJlYW0oW10pKS50b0JlRmFsc3koKSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc1VSTFNlYXJjaFBhcmFtcycsICgpID0+IHtcbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNVUkxTZWFyY2hQYXJhbXMnLCBcIm5ldyBVUkxTZWFyY2hQYXJhbXMoJ3E9ZmlsZW5hbWU9JnNpemU9MTInKVwiKSwgKCkgPT4ge1xuICAgICAgZXhwZWN0KHV0aWxzLmlzVVJMU2VhcmNoUGFyYW1zKG5ldyBVUkxTZWFyY2hQYXJhbXMoJ3E9ZmlsZW5hbWU9JnNpemU9MTInKSkpLnRvQmVUcnV0aHkoKTtcbiAgICB9KTtcblxuICAgIGl0KHByaW50TG9nKHRydWUsICdpc1VSTFNlYXJjaFBhcmFtcycsIFwibmV3IFVSTFNlYXJjaFBhcmFtcygnJylcIiksICgpID0+IHtcbiAgICAgIGV4cGVjdCh1dGlscy5pc1VSTFNlYXJjaFBhcmFtcyhuZXcgVVJMU2VhcmNoUGFyYW1zKCcnKSkpLnRvQmVUcnV0aHkoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzRm9ybURhdGEnLCAoKSA9PiB7XG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzRm9ybURhdGEnLCBcIid2YWx1ZSdcIiksICgpID0+IGV4cGVjdCh1dGlscy5pc0Zvcm1EYXRhKCd2YWx1ZScpKS50b0JlRmFsc3koKSk7XG5cbiAgICBpdChwcmludExvZyh0cnVlLCAnaXNGb3JtRGF0YScsICcxMCcpLCAoKSA9PiBleHBlY3QodXRpbHMuaXNGb3JtRGF0YSh7fSkpLnRvQmVGYWxzeSgpKTtcblxuICAgIGl0KHByaW50TG9nKHRydWUsICdpc0Zvcm1EYXRhJywgJ1tdJyksICgpID0+IGV4cGVjdCh1dGlscy5pc0Zvcm1EYXRhKFtdKSkudG9CZUZhbHN5KCkpO1xuXG4gICAgaXQocHJpbnRMb2codHJ1ZSwgJ2lzRm9ybURhdGEnLCAne30nKSwgKCkgPT4gZXhwZWN0KHV0aWxzLmlzRm9ybURhdGEoe30pKS50b0JlRmFsc3koKSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCd0cmltJywgKCkgPT4ge1xuICAgIGl0KHByaW50TG9nKFwiJ3ZhbHVlJyB3aXRob3V0IHdoaXRlc3BhY2VcIiwgJ3RyaW0nLCBcIicgdmFsdWUnXCIpLCAoKSA9PiBleHBlY3QodXRpbHMudHJpbSgnIHZhbHVlJykpLnRvRXF1YWwoJ3ZhbHVlJykpO1xuXG4gICAgaXQocHJpbnRMb2coXCIndmFsdWUnIHdpdGhvdXQgd2hpdGVzcGFjZSBcIiwgJ3RyaW0nLCBcIicgdmFsdWUgJ1wiKSwgKCkgPT4gZXhwZWN0KHV0aWxzLnRyaW0oJyB2YWx1ZSAnKSkudG9FcXVhbCgndmFsdWUnKSk7XG4gIH0pO1xufSk7XG4iXX0=

@@ -46,3 +46,3 @@ /*

export var getVersion = function () {
return 'JS-3.27.0';
return 'JS-3.28.0';
};

@@ -49,0 +49,0 @@ /**

@@ -1,2 +0,1 @@

/// <reference types="node" />
import { Session } from '../client';

@@ -40,3 +39,3 @@ import { Hosts } from './../../config';

*/
export declare const getMimetype: (file: Buffer | Uint8Array, name?: string) => string;
export declare const getMimetype: (file: Uint8Array | Buffer, name?: string) => string;
/**

@@ -52,3 +51,3 @@ * Change extension to according mimetype using ext=>mimetype map

*/
export declare type SanitizeOptions = boolean | {
export type SanitizeOptions = boolean | {
exclude?: string[];

@@ -63,3 +62,3 @@ replacement?: string;

* @param {string} options.replacement - replacement for sanitized chars defaults to "-"
* @param {string[]} options.exclude - array with excluded chars default - ['\', '{', '}','|', '%', '`', '"', "'", '~', '[', ']', '#', '|', '^', '<', '>']
* @param {string[]} options.exclude - array with excluded chars default - `['\', '{', '}','|', '%', '`', '"', "'", '~', '[', ']', '#', '|', '^', '<', '>']`
*/

@@ -66,0 +65,0 @@ export declare const sanitizeName: (name: string, options?: SanitizeOptions) => string;

@@ -20,3 +20,3 @@ /*

import fileType from 'file-type';
import * as isutf8 from 'isutf8';
import isutf8 from 'isutf8';
/**

@@ -36,3 +36,3 @@ * Resolve cdn url based on handle type

// apikey is required for alias or external sources call
return cdnURL + "/" + session.apikey;
return "".concat(cdnURL, "/").concat(session.apikey);
}

@@ -154,3 +154,3 @@ return cdnURL;

* @param {string} options.replacement - replacement for sanitized chars defaults to "-"
* @param {string[]} options.exclude - array with excluded chars default - ['\', '{', '}','|', '%', '`', '"', "'", '~', '[', ']', '#', '|', '^', '<', '>']
* @param {string[]} options.exclude - array with excluded chars default - `['\', '{', '}','|', '%', '`', '"', "'", '~', '[', ']', '#', '|', '^', '<', '>']`
*/

@@ -172,7 +172,7 @@ export var sanitizeName = function (name, options) {

}
return "" + fileParts
return "".concat(fileParts
.join('.')
.split('')
.map(function (char) { return (exclude.indexOf(char) > -1 ? replacement : char); })
.join('') + (ext ? '.' + ext : '');
.join('')).concat(ext ? '.' + ext : '');
};

@@ -220,2 +220,2 @@ /**

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUlILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBQ2pDLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRWpDOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxJQUFNLGFBQWEsR0FBRyxVQUFDLE9BQWdCLEVBQUUsTUFBYztJQUM1RCxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUVuQyxJQUFJLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDNUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1NBQ3ZFO1FBRUQsd0RBQXdEO1FBQ3hELE9BQVUsTUFBTSxTQUFJLE9BQU8sQ0FBQyxNQUFRLENBQUM7S0FDdEM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsSUFBTSxXQUFXLEdBQUcsVUFBQyxJQUFXLEVBQUUsS0FBYTtJQUNwRCxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQU0sS0FBSyxHQUFHLHdDQUF3QyxDQUFDO0lBRXZELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsR0FBRztRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8s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QUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUM7QUFFRixjQUFjLGNBQWMsQ0FBQyIsImZpbGUiOiJsaWIvdXRpbHMvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBTZXNzaW9uIH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IEhvc3RzIH0gZnJvbSAnLi8uLi8uLi9jb25maWcnO1xuaW1wb3J0IHsgRXh0ZW5zaW9uc01hcCB9IGZyb20gJy4vZXh0ZW5zaW9ucyc7XG5pbXBvcnQgZmlsZVR5cGUgZnJvbSAnZmlsZS10eXBlJztcbmltcG9ydCAqIGFzIGlzdXRmOCBmcm9tICdpc3V0ZjgnO1xuXG4vKipcbiAqIFJlc29sdmUgY2RuIHVybCBiYXNlZCBvbiBoYW5kbGUgdHlwZVxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gc2Vzc2lvbiBzZXNzaW9uIG9iamVjdFxuICogQHBhcmFtIGhhbmRsZSBmaWxlIGhhbmRsZSAoaGFzaCwgc3JjOi8vYWxpYXMsIHVybClcbiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVDZG5VcmwgPSAoc2Vzc2lvbjogU2Vzc2lvbiwgaGFuZGxlOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBjZG5VUkwgPSBzZXNzaW9uLnVybHMuY2RuVXJsO1xuXG4gIGlmIChoYW5kbGUgJiYgKGhhbmRsZS5pbmRleE9mKCdzcmM6JykgPT09IDAgfHwgaGFuZGxlLmluZGV4T2YoJ2h0dHAnKSA9PT0gMCkpIHtcbiAgICBpZiAoIXNlc3Npb24uYXBpa2V5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FwaSBrZXkgaXMgcmVxdWlyZWQgd2hlbiBzdG9yYWdlIGFsaWFzIGlzIHByb3ZpZGVkJyk7XG4gICAgfVxuXG4gICAgLy8gYXBpa2V5IGlzIHJlcXVpcmVkIGZvciBhbGlhcyBvciBleHRlcm5hbCBzb3VyY2VzIGNhbGxcbiAgICByZXR1cm4gYCR7Y2RuVVJMfS8ke3Nlc3Npb24uYXBpa2V5fWA7XG4gIH1cblxuICByZXR1cm4gY2RuVVJMO1xufTtcblxuLyoqXG4gKiBSZXNvbHZlIGFsbCB1cmxzIHdpdGggcHJvdmlkZWQgY25hbWVzXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB1cmxzXG4gKiBAcGFyYW0gY25hbWVcbiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVIb3N0ID0gKHVybHM6IEhvc3RzLCBjbmFtZTogc3RyaW5nKTogSG9zdHMgPT4ge1xuICBpZiAoIWNuYW1lKSB7XG4gICAgcmV0dXJuIHVybHM7XG4gIH1cblxuICBjb25zdCBob3N0cyA9IC9maWxlc3RhY2thcGkuY29tfGZpbGVzdGFja2NvbnRlbnQuY29tL2k7XG5cbiAgT2JqZWN0LmtleXModXJscykuZm9yRWFjaChrZXkgPT4ge1xuICAgIHVybHNba2V5XSA9IHVybHNba2V5XS5yZXBsYWNlKGhvc3RzLCBjbmFtZSk7XG4gIH0pO1xuXG4gIHJldHVybiB1cmxzO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIGVtcHR5IG9wdGlvbnMgZnJvbSBvYmplY3RcbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIG9ialxuICovXG5leHBvcnQgY29uc3QgcmVtb3ZlRW1wdHkgPSAob2JqOiBhbnkpID0+IHtcbiAgY29uc3QgbmV3T2JqID0geyAuLi5vYmogfTtcbiAgT2JqZWN0LmtleXMobmV3T2JqKS5mb3JFYWNoKGsgPT4gIW5ld09ialtrXSAmJiB0eXBlb2YgbmV3T2JqW2tdICE9PSAnYm9vbGVhbicgJiYgZGVsZXRlIG5ld09ialtrXSk7XG4gIHJldHVybiBuZXdPYmo7XG59O1xuXG4vKipcbiAqIFJldHVybnMgdW5pcXVlIHRpbWVcbiAqL1xubGV0IGxhc3Q7XG5leHBvcnQgY29uc3QgdW5pcXVlVGltZSA9ICgpID0+IHtcbiAgY29uc3QgdGltZSA9IERhdGUubm93KCk7XG4gIGxhc3QgPSB0aW1lID09PSBsYXN0ID8gdGltZSArIDEgOiB0aW1lO1xuICByZXR1cm4gbGFzdDtcbn07XG5cbi8qKlxuICogR2VuZXJhdGVzIHJhbmRvbSBzdHJpbmcgd2l0aCBwcm92aWRlZCBsZW5ndGhcbiAqXG4gKiBAcGFyYW0gbGVuXG4gKi9cbmV4cG9ydCBjb25zdCB1bmlxdWVJZCA9IChsZW46IG51bWJlciA9IDEwKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIG5ldyBBcnJheShsZW4pLmpvaW4oKS5yZXBsYWNlKC8oLnwkKS9nLCAoKSA9PiAoKE1hdGgucmFuZG9tKCkgKiAzNikgfCAwKS50b1N0cmluZygzNilbTWF0aC5yYW5kb20oKSA8IDAuNSA/ICd0b1N0cmluZycgOiAndG9VcHBlckNhc2UnXSgpKTtcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgaW5wdXQgaXMgYSBzdmdcbiAqXG4gKiBAcGFyYW0ge1VpbnQ4QXJyYXkgfCBCdWZmZXJ9IGZpbGVcbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gbWltZXR5cGVcbiAqL1xuZXhwb3J0IGNvbnN0IGdldE1pbWV0eXBlID0gKGZpbGU6IFVpbnQ4QXJyYXkgfCBCdWZmZXIsIG5hbWU/OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBsZXQgdHlwZSA9IGZpbGVUeXBlKGZpbGUpO1xuXG4gIGNvbnN0IGV4Y2x1ZGVkTWltZXR5cGVzID0gWyd0ZXh0L3BsYWluJywgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsICdhcHBsaWNhdGlvbi94LW1zJywgJ2FwcGxpY2F0aW9uL3gtbXNpJywgJ2FwcGxpY2F0aW9uL3ppcCddO1xuXG4gIGlmICh0eXBlICYmIGV4Y2x1ZGVkTWltZXR5cGVzLmluZGV4T2YodHlwZS5taW1lKSA9PT0gLTEpIHtcbiAgICByZXR1cm4gdHlwZS5taW1lO1xuICB9XG5cbiAgaWYgKG5hbWUgJiYgbmFtZS5pbmRleE9mKCcuJykgPiAtMSkge1xuICAgIGNvbnN0IG1pbWUgPSBleHRlbnNpb25Ub01pbWUobmFtZSk7XG5cbiAgICBpZiAobWltZSkge1xuICAgICAgcmV0dXJuIG1pbWU7XG4gICAgfVxuICB9XG5cbiAgdHJ5IHtcbiAgICBpZiAoaXN1dGY4KGZpbGUpKSB7XG4gICAgICByZXR1cm4gJ3RleHQvcGxhaW4nO1xuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgY29uc29sZS53YXJuKCdBZGRpdGlvbmFsIG1pbWV0eXBlIGNoZWNrcyAodGV4dC9wbGFpbikgYXJlIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIGZvciBicm93c2VycycpO1xuICB9XG4gIC8vIHRoaXMgaXMgb25seSBmYWxsYmFjaywgb21pdCBpdCBpbiBjb3ZlcmFnZVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuXG4gIC8vIGlmIHdlIGNhbnQgZmluZCB0eXBlcyBieSBleHRlbnNpb25zIGFuZCB3ZSBoYXZlIG1hZ2ljIGJ5dGVzIGZhbGxiYWNrIHRvIGl0XG4gIGlmICh0eXBlKSB7XG4gICAgcmV0dXJuIHR5cGUubWltZTtcbiAgfVxuXG4gIHJldHVybiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJztcbn07XG5cbi8qKlxuICogQ2hhbmdlIGV4dGVuc2lvbiB0byBhY2NvcmRpbmcgbWltZXR5cGUgdXNpbmcgZXh0PT5taW1ldHlwZSBtYXBcbiAqXG4gKiBAcGFyYW0gZXh0IC0gc3RyaW5nXG4gKiBAcmV0dXJuIHN0cmluZ3xib29sZWFuXG4gKi9cbmV4cG9ydCBjb25zdCBleHRlbnNpb25Ub01pbWUgPSAoZXh0OiBzdHJpbmcpID0+IHtcbiAgaWYgKCFleHQgfHwgZXh0Lmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChleHQuc3BsaXQoJy8nKS5sZW5ndGggPT09IDIpIHtcbiAgICByZXR1cm4gZXh0O1xuICB9XG5cbiAgaWYgKGV4dC5pbmRleE9mKCcuJykgPiAtMSkge1xuICAgIGV4dCA9IGV4dC5zcGxpdCgnLicpLnBvcCgpO1xuICB9XG5cbiAgZXh0ID0gZXh0LnRvTG9jYWxlTG93ZXJDYXNlKCk7XG5cbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKEV4dGVuc2lvbnNNYXApO1xuICBjb25zdCBtYXBMZW4gPSBrZXlzLmxlbmd0aDtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IG1hcExlbjsgaSsrKSB7XG4gICAgaWYgKEV4dGVuc2lvbnNNYXBba2V5c1tpXV0uaW5kZXhPZihleHQpID4gLTEpIHtcbiAgICAgIHJldHVybiBrZXlzW2ldO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybjtcbn07XG5cbi8qKlxuICogU2FuaXRpemVyIE9wdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgU2FuaXRpemVPcHRpb25zID1cbiAgfCBib29sZWFuXG4gIHwge1xuICAgIGV4Y2x1ZGU/OiBzdHJpbmdbXTtcbiAgICByZXBsYWNlbWVudD86IHN0cmluZztcbiAgfTtcblxuLyoqXG4gKiBTYW5pdGl6ZSBmaWxlIG5hbWVcbiAqXG4gKiBAcGFyYW0gbmFtZVxuICogQHBhcmFtIHtib29sfSBvcHRpb25zICAtIGVuYWJsZSxkaXNhYmxlIHNhbml0aXplciwgZGVmYXVsdCBlbmFibGVkXG4gKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5yZXBsYWNlbWVudCAtIHJlcGxhY2VtZW50IGZvciBzYW5pdGl6ZWQgY2hhcnMgZGVmYXVsdHMgdG8gXCItXCJcbiAqIEBwYXJhbSB7c3RyaW5nW119IG9wdGlvbnMuZXhjbHVkZSAtIGFycmF5IHdpdGggZXhjbHVkZWQgY2hhcnMgZGVmYXVsdCAtIFsnXFwnLCAneycsICd9JywnfCcsICclJywgJ2AnLCAnXCInLCBcIidcIiwgJ34nLCAnWycsICddJywgJyMnLCAnfCcsICdeJywgJzwnLCAnPiddXG4gKi9cbmV4cG9ydCBjb25zdCBzYW5pdGl6ZU5hbWUgPSAobmFtZTogc3RyaW5nLCBvcHRpb25zOiBTYW5pdGl6ZU9wdGlvbnMgPSB0cnVlKTogc3RyaW5nID0+IHtcbiAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnYm9vbGVhbicgJiYgIW9wdGlvbnMpIHtcbiAgICByZXR1cm4gbmFtZTtcbiAgfVxuXG4gIGxldCBleHQ7XG5cbiAgY29uc3QgcmVwbGFjZW1lbnQgPSB0eXBlb2Ygb3B0aW9ucyAhPT0gJ2Jvb2xlYW4nICYmIG9wdGlvbnMucmVwbGFjZW1lbnQgPyBvcHRpb25zLnJlcGxhY2VtZW50IDogJy0nO1xuICBjb25zdCBleGNsdWRlID0gdHlwZW9mIG9wdGlvbnMgIT09ICdib29sZWFuJyAmJiBvcHRpb25zLmV4Y2x1ZGUgPyBvcHRpb25zLmV4Y2x1ZGUgOiBbJ1xcXFwnLCAneycsICd9JywgJ3wnLCAnJScsICdgJywgJ1wiJywgXCInXCIsICd+JywgJ1snLCAnXScsICcjJywgJ3wnLCAnXicsICc8JywgJz4nXTtcblxuICBpZiAoIW5hbWUgfHwgbmFtZS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gJ3VuZGVmaW5lZCc7XG4gIH1cblxuICBjb25zdCBmaWxlUGFydHMgPSBuYW1lLnNwbGl0KCcuJyk7XG5cbiAgaWYgKGZpbGVQYXJ0cy5sZW5ndGggPiAxKSB7XG4gICAgZXh0ID0gZmlsZVBhcnRzLnBvcCgpO1xuICB9XG5cbiAgcmV0dXJuIGAke2ZpbGVQYXJ0c1xuICAgIC5qb2luKCcuJylcbiAgICAuc3BsaXQoJycpXG4gICAgLm1hcChjaGFyID0+IChleGNsdWRlLmluZGV4T2YoY2hhcikgPiAtMSA/IHJlcGxhY2VtZW50IDogY2hhcikpXG4gICAgLmpvaW4oJycpfSR7ZXh0ID8gJy4nICsgZXh0IDogJyd9YDtcbn07XG5cbi8qKlxuICogRmlsdGVyIG9iamVjdCB0byBnaXZlbiBmaWVsZHNcbiAqXG4gKiBAcGFyYW0gdG9GaWx0ZXJcbiAqIEBwYXJhbSByZXF1aXJlZEZpZWxkc1xuICovXG5leHBvcnQgY29uc3QgZmlsdGVyT2JqZWN0ID0gKHRvRmlsdGVyLCByZXF1aXJlZEZpZWxkczogc3RyaW5nW10pID0+IHtcbiAgaWYgKCFyZXF1aXJlZEZpZWxkcyB8fCByZXF1aXJlZEZpZWxkcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdG9GaWx0ZXI7XG4gIH1cblxuICBpZiAoT2JqZWN0LmtleXModG9GaWx0ZXIpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0b0ZpbHRlcjtcbiAgfVxuXG4gIHJldHVybiBPYmplY3Qua2V5cyh0b0ZpbHRlcilcbiAgICAuZmlsdGVyKGYgPT4gcmVxdWlyZWRGaWVsZHMuaW5kZXhPZihmKSA+IC0xKVxuICAgIC5yZWR1Y2UoKG9iaiwga2V5KSA9PiAoeyAuLi5vYmosIFtrZXldOiB0b0ZpbHRlcltrZXldIH0pLCB7fSk7XG59O1xuXG4vKipcbiAqIERlZXAgY2xlYW51cCBvYmplY3QgZnJvbSBmdW5jdGlvbnNcbiAqXG4gKiBAcGFyYW0gb2JqXG4gKi9cbmV4cG9ydCBjb25zdCBjbGVhblVwQ2FsbGJhY2tzID0gKG9iajogYW55KSA9PiB7XG4gIGlmICghb2JqIHx8IE9iamVjdC5rZXlzKG9iaikubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaChrID0+IHtcbiAgICBpZiAodHlwZW9mIG9ialtrXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgb2JqW2tdID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmIChvYmpba10gPT09IE9iamVjdChvYmpba10pKSB7XG4gICAgICBvYmpba10gPSBjbGVhblVwQ2FsbGJhY2tzKG9ialtrXSk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gb2JqO1xufTtcblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleC5ub2RlJztcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUlILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBQ2pDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1Qjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsSUFBTSxhQUFhLEdBQUcsVUFBQyxPQUFnQixFQUFFLE1BQWM7SUFDNUQsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFFbkMsSUFBSSxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQzVFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztTQUN2RTtRQUVELHdEQUF3RDtRQUN4RCxPQUFPLFVBQUcsTUFBTSxjQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUUsQ0FBQztLQUN0QztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxJQUFNLFdBQVcsR0FBRyxVQUFDLElBQVcsRUFBRSxLQUFhO0lBQ3BELElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsSUFBTSxLQUFLLEdBQUcsd0NBQXdDLENBQUM7SUFFdkQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQSxHQUFHO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMs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QUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQztBQUVGLGNBQWMsY0FBYyxDQUFDIiwiZmlsZSI6ImxpYi91dGlscy9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFNlc3Npb24gfSBmcm9tICcuLi9jbGllbnQnO1xuaW1wb3J0IHsgSG9zdHMgfSBmcm9tICcuLy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBFeHRlbnNpb25zTWFwIH0gZnJvbSAnLi9leHRlbnNpb25zJztcbmltcG9ydCBmaWxlVHlwZSBmcm9tICdmaWxlLXR5cGUnO1xuaW1wb3J0IGlzdXRmOCBmcm9tICdpc3V0ZjgnO1xuXG4vKipcbiAqIFJlc29sdmUgY2RuIHVybCBiYXNlZCBvbiBoYW5kbGUgdHlwZVxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gc2Vzc2lvbiBzZXNzaW9uIG9iamVjdFxuICogQHBhcmFtIGhhbmRsZSBmaWxlIGhhbmRsZSAoaGFzaCwgc3JjOi8vYWxpYXMsIHVybClcbiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVDZG5VcmwgPSAoc2Vzc2lvbjogU2Vzc2lvbiwgaGFuZGxlOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBjZG5VUkwgPSBzZXNzaW9uLnVybHMuY2RuVXJsO1xuXG4gIGlmIChoYW5kbGUgJiYgKGhhbmRsZS5pbmRleE9mKCdzcmM6JykgPT09IDAgfHwgaGFuZGxlLmluZGV4T2YoJ2h0dHAnKSA9PT0gMCkpIHtcbiAgICBpZiAoIXNlc3Npb24uYXBpa2V5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FwaSBrZXkgaXMgcmVxdWlyZWQgd2hlbiBzdG9yYWdlIGFsaWFzIGlzIHByb3ZpZGVkJyk7XG4gICAgfVxuXG4gICAgLy8gYXBpa2V5IGlzIHJlcXVpcmVkIGZvciBhbGlhcyBvciBleHRlcm5hbCBzb3VyY2VzIGNhbGxcbiAgICByZXR1cm4gYCR7Y2RuVVJMfS8ke3Nlc3Npb24uYXBpa2V5fWA7XG4gIH1cblxuICByZXR1cm4gY2RuVVJMO1xufTtcblxuLyoqXG4gKiBSZXNvbHZlIGFsbCB1cmxzIHdpdGggcHJvdmlkZWQgY25hbWVzXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB1cmxzXG4gKiBAcGFyYW0gY25hbWVcbiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVIb3N0ID0gKHVybHM6IEhvc3RzLCBjbmFtZTogc3RyaW5nKTogSG9zdHMgPT4ge1xuICBpZiAoIWNuYW1lKSB7XG4gICAgcmV0dXJuIHVybHM7XG4gIH1cblxuICBjb25zdCBob3N0cyA9IC9maWxlc3RhY2thcGkuY29tfGZpbGVzdGFja2NvbnRlbnQuY29tL2k7XG5cbiAgT2JqZWN0LmtleXModXJscykuZm9yRWFjaChrZXkgPT4ge1xuICAgIHVybHNba2V5XSA9IHVybHNba2V5XS5yZXBsYWNlKGhvc3RzLCBjbmFtZSk7XG4gIH0pO1xuXG4gIHJldHVybiB1cmxzO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIGVtcHR5IG9wdGlvbnMgZnJvbSBvYmplY3RcbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIG9ialxuICovXG5leHBvcnQgY29uc3QgcmVtb3ZlRW1wdHkgPSAob2JqOiBhbnkpID0+IHtcbiAgY29uc3QgbmV3T2JqID0geyAuLi5vYmogfTtcbiAgT2JqZWN0LmtleXMobmV3T2JqKS5mb3JFYWNoKGsgPT4gIW5ld09ialtrXSAmJiB0eXBlb2YgbmV3T2JqW2tdICE9PSAnYm9vbGVhbicgJiYgZGVsZXRlIG5ld09ialtrXSk7XG4gIHJldHVybiBuZXdPYmo7XG59O1xuXG4vKipcbiAqIFJldHVybnMgdW5pcXVlIHRpbWVcbiAqL1xubGV0IGxhc3Q7XG5leHBvcnQgY29uc3QgdW5pcXVlVGltZSA9ICgpID0+IHtcbiAgY29uc3QgdGltZSA9IERhdGUubm93KCk7XG4gIGxhc3QgPSB0aW1lID09PSBsYXN0ID8gdGltZSArIDEgOiB0aW1lO1xuICByZXR1cm4gbGFzdDtcbn07XG5cbi8qKlxuICogR2VuZXJhdGVzIHJhbmRvbSBzdHJpbmcgd2l0aCBwcm92aWRlZCBsZW5ndGhcbiAqXG4gKiBAcGFyYW0gbGVuXG4gKi9cbmV4cG9ydCBjb25zdCB1bmlxdWVJZCA9IChsZW46IG51bWJlciA9IDEwKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIG5ldyBBcnJheShsZW4pLmpvaW4oKS5yZXBsYWNlKC8oLnwkKS9nLCAoKSA9PiAoKE1hdGgucmFuZG9tKCkgKiAzNikgfCAwKS50b1N0cmluZygzNilbTWF0aC5yYW5kb20oKSA8IDAuNSA/ICd0b1N0cmluZycgOiAndG9VcHBlckNhc2UnXSgpKTtcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgaW5wdXQgaXMgYSBzdmdcbiAqXG4gKiBAcGFyYW0ge1VpbnQ4QXJyYXkgfCBCdWZmZXJ9IGZpbGVcbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gbWltZXR5cGVcbiAqL1xuZXhwb3J0IGNvbnN0IGdldE1pbWV0eXBlID0gKGZpbGU6IFVpbnQ4QXJyYXkgfCBCdWZmZXIsIG5hbWU/OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBsZXQgdHlwZSA9IGZpbGVUeXBlKGZpbGUpO1xuXG4gIGNvbnN0IGV4Y2x1ZGVkTWltZXR5cGVzID0gWyd0ZXh0L3BsYWluJywgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsICdhcHBsaWNhdGlvbi94LW1zJywgJ2FwcGxpY2F0aW9uL3gtbXNpJywgJ2FwcGxpY2F0aW9uL3ppcCddO1xuXG4gIGlmICh0eXBlICYmIGV4Y2x1ZGVkTWltZXR5cGVzLmluZGV4T2YodHlwZS5taW1lKSA9PT0gLTEpIHtcbiAgICByZXR1cm4gdHlwZS5taW1lO1xuICB9XG5cbiAgaWYgKG5hbWUgJiYgbmFtZS5pbmRleE9mKCcuJykgPiAtMSkge1xuICAgIGNvbnN0IG1pbWUgPSBleHRlbnNpb25Ub01pbWUobmFtZSk7XG5cbiAgICBpZiAobWltZSkge1xuICAgICAgcmV0dXJuIG1pbWU7XG4gICAgfVxuICB9XG5cbiAgdHJ5IHtcbiAgICBpZiAoaXN1dGY4KGZpbGUpKSB7XG4gICAgICByZXR1cm4gJ3RleHQvcGxhaW4nO1xuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgY29uc29sZS53YXJuKCdBZGRpdGlvbmFsIG1pbWV0eXBlIGNoZWNrcyAodGV4dC9wbGFpbikgYXJlIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIGZvciBicm93c2VycycpO1xuICB9XG4gIC8vIHRoaXMgaXMgb25seSBmYWxsYmFjaywgb21pdCBpdCBpbiBjb3ZlcmFnZVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuXG4gIC8vIGlmIHdlIGNhbnQgZmluZCB0eXBlcyBieSBleHRlbnNpb25zIGFuZCB3ZSBoYXZlIG1hZ2ljIGJ5dGVzIGZhbGxiYWNrIHRvIGl0XG4gIGlmICh0eXBlKSB7XG4gICAgcmV0dXJuIHR5cGUubWltZTtcbiAgfVxuXG4gIHJldHVybiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJztcbn07XG5cbi8qKlxuICogQ2hhbmdlIGV4dGVuc2lvbiB0byBhY2NvcmRpbmcgbWltZXR5cGUgdXNpbmcgZXh0PT5taW1ldHlwZSBtYXBcbiAqXG4gKiBAcGFyYW0gZXh0IC0gc3RyaW5nXG4gKiBAcmV0dXJuIHN0cmluZ3xib29sZWFuXG4gKi9cbmV4cG9ydCBjb25zdCBleHRlbnNpb25Ub01pbWUgPSAoZXh0OiBzdHJpbmcpID0+IHtcbiAgaWYgKCFleHQgfHwgZXh0Lmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChleHQuc3BsaXQoJy8nKS5sZW5ndGggPT09IDIpIHtcbiAgICByZXR1cm4gZXh0O1xuICB9XG5cbiAgaWYgKGV4dC5pbmRleE9mKCcuJykgPiAtMSkge1xuICAgIGV4dCA9IGV4dC5zcGxpdCgnLicpLnBvcCgpO1xuICB9XG5cbiAgZXh0ID0gZXh0LnRvTG9jYWxlTG93ZXJDYXNlKCk7XG5cbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKEV4dGVuc2lvbnNNYXApO1xuICBjb25zdCBtYXBMZW4gPSBrZXlzLmxlbmd0aDtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IG1hcExlbjsgaSsrKSB7XG4gICAgaWYgKEV4dGVuc2lvbnNNYXBba2V5c1tpXV0uaW5kZXhPZihleHQpID4gLTEpIHtcbiAgICAgIHJldHVybiBrZXlzW2ldO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybjtcbn07XG5cbi8qKlxuICogU2FuaXRpemVyIE9wdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgU2FuaXRpemVPcHRpb25zID1cbiAgfCBib29sZWFuXG4gIHwge1xuICAgIGV4Y2x1ZGU/OiBzdHJpbmdbXTtcbiAgICByZXBsYWNlbWVudD86IHN0cmluZztcbiAgfTtcblxuLyoqXG4gKiBTYW5pdGl6ZSBmaWxlIG5hbWVcbiAqXG4gKiBAcGFyYW0gbmFtZVxuICogQHBhcmFtIHtib29sfSBvcHRpb25zICAtIGVuYWJsZSxkaXNhYmxlIHNhbml0aXplciwgZGVmYXVsdCBlbmFibGVkXG4gKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5yZXBsYWNlbWVudCAtIHJlcGxhY2VtZW50IGZvciBzYW5pdGl6ZWQgY2hhcnMgZGVmYXVsdHMgdG8gXCItXCJcbiAqIEBwYXJhbSB7c3RyaW5nW119IG9wdGlvbnMuZXhjbHVkZSAtIGFycmF5IHdpdGggZXhjbHVkZWQgY2hhcnMgZGVmYXVsdCAtIGBbJ1xcJywgJ3snLCAnfScsJ3wnLCAnJScsICdgJywgJ1wiJywgXCInXCIsICd+JywgJ1snLCAnXScsICcjJywgJ3wnLCAnXicsICc8JywgJz4nXWBcbiAqL1xuZXhwb3J0IGNvbnN0IHNhbml0aXplTmFtZSA9IChuYW1lOiBzdHJpbmcsIG9wdGlvbnM6IFNhbml0aXplT3B0aW9ucyA9IHRydWUpOiBzdHJpbmcgPT4ge1xuICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdib29sZWFuJyAmJiAhb3B0aW9ucykge1xuICAgIHJldHVybiBuYW1lO1xuICB9XG5cbiAgbGV0IGV4dDtcblxuICBjb25zdCByZXBsYWNlbWVudCA9IHR5cGVvZiBvcHRpb25zICE9PSAnYm9vbGVhbicgJiYgb3B0aW9ucy5yZXBsYWNlbWVudCA/IG9wdGlvbnMucmVwbGFjZW1lbnQgOiAnLSc7XG4gIGNvbnN0IGV4Y2x1ZGUgPSB0eXBlb2Ygb3B0aW9ucyAhPT0gJ2Jvb2xlYW4nICYmIG9wdGlvbnMuZXhjbHVkZSA/IG9wdGlvbnMuZXhjbHVkZSA6IFsnXFxcXCcsICd7JywgJ30nLCAnfCcsICclJywgJ2AnLCAnXCInLCBcIidcIiwgJ34nLCAnWycsICddJywgJyMnLCAnfCcsICdeJywgJzwnLCAnPiddO1xuXG4gIGlmICghbmFtZSB8fCBuYW1lLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiAndW5kZWZpbmVkJztcbiAgfVxuXG4gIGNvbnN0IGZpbGVQYXJ0cyA9IG5hbWUuc3BsaXQoJy4nKTtcblxuICBpZiAoZmlsZVBhcnRzLmxlbmd0aCA+IDEpIHtcbiAgICBleHQgPSBmaWxlUGFydHMucG9wKCk7XG4gIH1cblxuICByZXR1cm4gYCR7ZmlsZVBhcnRzXG4gICAgLmpvaW4oJy4nKVxuICAgIC5zcGxpdCgnJylcbiAgICAubWFwKGNoYXIgPT4gKGV4Y2x1ZGUuaW5kZXhPZihjaGFyKSA+IC0xID8gcmVwbGFjZW1lbnQgOiBjaGFyKSlcbiAgICAuam9pbignJyl9JHtleHQgPyAnLicgKyBleHQgOiAnJ31gO1xufTtcblxuLyoqXG4gKiBGaWx0ZXIgb2JqZWN0IHRvIGdpdmVuIGZpZWxkc1xuICpcbiAqIEBwYXJhbSB0b0ZpbHRlclxuICogQHBhcmFtIHJlcXVpcmVkRmllbGRzXG4gKi9cbmV4cG9ydCBjb25zdCBmaWx0ZXJPYmplY3QgPSAodG9GaWx0ZXIsIHJlcXVpcmVkRmllbGRzOiBzdHJpbmdbXSkgPT4ge1xuICBpZiAoIXJlcXVpcmVkRmllbGRzIHx8IHJlcXVpcmVkRmllbGRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0b0ZpbHRlcjtcbiAgfVxuXG4gIGlmIChPYmplY3Qua2V5cyh0b0ZpbHRlcikubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHRvRmlsdGVyO1xuICB9XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKHRvRmlsdGVyKVxuICAgIC5maWx0ZXIoZiA9PiByZXF1aXJlZEZpZWxkcy5pbmRleE9mKGYpID4gLTEpXG4gICAgLnJlZHVjZSgob2JqLCBrZXkpID0+ICh7IC4uLm9iaiwgW2tleV06IHRvRmlsdGVyW2tleV0gfSksIHt9KTtcbn07XG5cbi8qKlxuICogRGVlcCBjbGVhbnVwIG9iamVjdCBmcm9tIGZ1bmN0aW9uc1xuICpcbiAqIEBwYXJhbSBvYmpcbiAqL1xuZXhwb3J0IGNvbnN0IGNsZWFuVXBDYWxsYmFja3MgPSAob2JqOiBhbnkpID0+IHtcbiAgaWYgKCFvYmogfHwgT2JqZWN0LmtleXMob2JqKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgT2JqZWN0LmtleXMob2JqKS5mb3JFYWNoKGsgPT4ge1xuICAgIGlmICh0eXBlb2Ygb2JqW2tdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBvYmpba10gPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKG9ialtrXSA9PT0gT2JqZWN0KG9ialtrXSkpIHtcbiAgICAgIG9ialtrXSA9IGNsZWFuVXBDYWxsYmFja3Mob2JqW2tdKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBvYmo7XG59O1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4Lm5vZGUnO1xuIl19

@@ -45,3 +45,3 @@ /*

export var getVersion = function () {
return 'JS-3.27.0';
return 'JS-3.28.0';
};

@@ -48,0 +48,0 @@ /**

@@ -21,3 +21,3 @@ /*

it('should return version string to replace', function () {
expect(utils.getVersion()).toEqual("JS-3.27.0");
expect(utils.getVersion()).toEqual("JS-3.28.0");
});

@@ -55,3 +55,3 @@ });

var _loop_1 = function (i) {
it("Should accept: " + agents[i] + " as correct", function () {
it("Should accept: ".concat(agents[i], " as correct"), function () {
defineAgent(agents[i]);

@@ -73,3 +73,3 @@ expect(utils.isFacebook()).toBeTruthy();

var _loop_2 = function (i) {
it("Should accept: " + agents[i] + " as wrong", function () {
it("Should accept: ".concat(agents[i], " as wrong"), function () {
defineAgent(agents[i]);

@@ -102,2 +102,2 @@ expect(utils.isFacebook()).toBeTruthy();

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXguc3BlYy5icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBRWpDLFFBQVEsQ0FBQyxhQUFhLEVBQUU7SUFDdEIsUUFBUSxDQUFDLFlBQVksRUFBRTtRQUNyQixFQUFFLENBQUMseUNBQXlDLEVBQUU7WUFDNUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFlBQVksRUFBRTtRQUNyQixJQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBRTFDLElBQU0sU0FBUyxHQUFHLFVBQUEsTUFBTSxJQUFJLE9BQUEsQ0FBQztZQUMzQixHQUFHLEVBQUUsY0FBTSxPQUFBLE1BQU0sRUFBTixDQUFNO1lBQ2pCLEdBQUcsRUFBRSxVQUFDLENBQUMsSUFBSyxPQUFBLE1BQU0sR0FBRyxDQUFDLEVBQVYsQ0FBVTtTQUN2QixDQUFDLEVBSDBCLENBRzFCLENBQUM7UUFFSCxJQUFNLFdBQVcsR0FBRyxVQUFDLEtBQUs7WUFDeEIsSUFBSTtnQkFDRixNQUFNLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDakU7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7b0JBQ25DLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDO2lCQUM1QixDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQztRQUVGLFVBQVUsQ0FBQztZQUNULFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxxREFBcUQsRUFBRTtZQUM5RCxJQUFNLE1BQU0sR0FBRztnQkFDYix3TEFBd0w7Z0JBQ3hMLDJMQUEyTDtnQkFDM0wsaU1BQWlNO2dCQUNqTSxtUUFBbVE7Z0JBQ25RLDZQQUE2UDtnQkFDN1Asa1FBQWtRO2dCQUNsUSw4TEFBOEw7YUFDL0wsQ0FBQztvQ0FFTyxDQUFDO2dCQUNSLEVBQUUsQ0FBQyxvQkFBa0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxnQkFBYSxFQUFFO29CQUMzQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZCLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDMUMsQ0FBQyxDQUFDLENBQUM7O1lBSkwsS0FBSyxJQUFJLENBQUMsSUFBSSxNQUFNO3dCQUFYLENBQUM7YUFLVDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLDZDQUE2QyxFQUFFO1lBQ3RELElBQU0sTUFBTSxHQUFHO2dCQUNiLGlJQUFpSTtnQkFDakksbUhBQW1IO2dCQUNuSCxzSEFBc0g7Z0JBQ3RILGdGQUFnRjthQUNqRixDQUFDO29DQUVPLENBQUM7Z0JBQ1IsRUFBRSxDQUFDLG9CQUFrQixNQUFNLENBQUMsQ0FBQyxDQUFDLGNBQVcsRUFBRTtvQkFDekMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN2QixNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQzFDLENBQUMsQ0FBQyxDQUFDOztZQUpMLEtBQUssSUFBSSxDQUFDLElBQUksTUFBTTt3QkFBWCxDQUFDO2FBS1Q7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLEtBQUssRUFBRTtRQUNkLEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRTtZQUNwQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM3RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLEtBQUssRUFBRTtRQUNkLEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRTtZQUNwQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxrRUFBa0UsRUFBRTtZQUNyRSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQ2pILENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLCtEQUErRCxFQUFFO1lBQ2xFLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7UUFDaEgsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi91dGlscy9pbmRleC5zcGVjLmJyb3dzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE5IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi9pbmRleCc7XG5cbmRlc2NyaWJlKCd1dGlsczppbmRleCcsICgpID0+IHtcbiAgZGVzY3JpYmUoJ2dldFZlcnNpb24nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdmVyc2lvbiBzdHJpbmcgdG8gcmVwbGFjZScsICgpID0+IHtcbiAgICAgIGV4cGVjdCh1dGlscy5nZXRWZXJzaW9uKCkpLnRvRXF1YWwoYEpTLUB7VkVSU0lPTn1gKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzRmFjZWJvb2snLCAoKSA9PiB7XG4gICAgY29uc3Qgb3JpZ2luYWxBZ2VudCA9IG5hdmlnYXRvci51c2VyQWdlbnQ7XG5cbiAgICBjb25zdCBtb2NrQWdlbnQgPSBfdmFsdWUgPT4gKHtcbiAgICAgIGdldDogKCkgPT4gX3ZhbHVlLFxuICAgICAgc2V0OiAodikgPT4gX3ZhbHVlID0gdixcbiAgICB9KTtcblxuICAgIGNvbnN0IGRlZmluZUFnZW50ID0gKGFnZW50KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobmF2aWdhdG9yLCAndXNlckFnZW50JywgbW9ja0FnZW50KGFnZW50KSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIG5hdmlnYXRvciA9IE9iamVjdC5jcmVhdGUobmF2aWdhdG9yLCB7XG4gICAgICAgICAgdXNlckFnZW50OiBtb2NrQWdlbnQoYWdlbnQpLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBtb2NrQWdlbnQob3JpZ2luYWxBZ2VudCk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnc2hvdWxkIHJlY29nbml6ZSBhbGwgb2YgZmFjZWJvb2sgYnJvd3NlciB1c2VyYWdlbnRzJywgKCkgPT4ge1xuICAgICAgY29uc3QgYWdlbnRzID0gW1xuICAgICAgICAnTW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDcuMS4xOyBCdWlsZC9MTVk0N08uSDE4OyB3dikgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi80LjAgQ2hyb21lLzU4LjAuMzAyOS44MyBNb2JpbGUgU2FmYXJpLzUzNy4zNiBbRkJfSUFCL0ZCNEE7RkJBVi8xMjcuMC4wLjIyLjY5O10nLFxuICAgICAgICAnTW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDcuMDsgU00tRzkzMEYgQnVpbGQvTlJEOTBNOyB3dikgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi80LjAgQ2hyb21lLzU4LjAuMzAyOS44MyBNb2JpbGUgU2FmYXJpLzUzNy4zNiBbRkJfSUFCL0ZCNEE7RkJBVi8xMjcuMC4wLjIyLjY5O10nLFxuICAgICAgICAnTW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDcuMDsgTUhBLUwyOSBCdWlsZC9IVUFXRUlNSEEtTDI5OyB3dikgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi80LjAgQ2hyb21lLzU4LjAuMzAyOS44MyBNb2JpbGUgU2FmYXJpLzUzNy4zNiBbRkJfSUFCL0ZCNEE7RkJBVi8xMjcuMC4wLjIyLjY5O10nLFxuICAgICAgICAnTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxMF8zXzIgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjAzLjIuNCAoS0hUTUwsIGxpa2UgR2Vja28pIE1vYmlsZS8xNEY4OSBbRkJBTi9GQklPUztGQkFWLzk2LjAuMC40NS43MDtGQkJWLzYwNTQ4NTQ1O0ZCRFYvaVBob25lNywyO0ZCTUQvaVBob25lO0ZCU04vaU9TO0ZCU1YvMTAuMy4yO0ZCU1MvMjtGQkNSL0UtUGx1cztGQklEL3Bob25lO0ZCTEMvZGVfREU7RkJPUC81O0ZCUlYvMF0nLFxuICAgICAgICAnTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxMF8yIGxpa2UgTWFjIE9TIFgpIEFwcGxlV2ViS2l0LzYwMi4zLjEyIChLSFRNTCwgbGlrZSBHZWNrbykgTW9iaWxlLzE0QzkyIFtGQkFOL0ZCSU9TO0ZCQVYvOTAuMC4wLjUxLjY5O0ZCQlYvNTYyNTQwMTU7RkJEVi9pUGhvbmU2LDI7RkJNRC9pUGhvbmU7RkJTTi9pT1M7RkJTVi8xMC4yO0ZCU1MvMjtGQkNSLzEmMTtGQklEL3Bob25lO0ZCTEMvZGVfREU7RkJPUC81O0ZCUlYvMF0nLFxuICAgICAgICAnTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxMF8zXzIgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjAzLjIuNCAoS0hUTUwsIGxpa2UgR2Vja28pIE1vYmlsZS8xNEY4OSBbRkJBTi9GQklPUztGQkFWLzk2LjAuMC40NS43MDtGQkJWLzYwNTQ4NTQ1O0ZCRFYvaVBob25lOCwxO0ZCTUQvaVBob25lO0ZCU04vaU9TO0ZCU1YvMTAuMy4yO0ZCU1MvMjtGQkNSL28yLWRlO0ZCSUQvcGhvbmU7RkJMQy9kZV9ERTtGQk9QLzU7RkJSVi8wXScsXG4gICAgICAgICdNb3ppbGxhLzUuMCAoTGludXg7IEFuZHJvaWQgNC40LjQ7IEc3LUwwMSBCdWlsZC9IdWF3ZWlHNy1MMDEpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNC4wIENocm9tZS8zMy4wLjAuMCBNb2JpbGUgU2FmYXJpLzUzNy4zNiBbRkJfSUFCL01FU1NFTkdFUjtGQkFWLzEyMS4wLjAuMTUuNzA7XScsXG4gICAgICBdO1xuXG4gICAgICBmb3IgKGxldCBpIGluIGFnZW50cykge1xuICAgICAgICBpdChgU2hvdWxkIGFjY2VwdDogJHthZ2VudHNbaV19IGFzIGNvcnJlY3RgLCAoKSA9PiB7XG4gICAgICAgICAgZGVmaW5lQWdlbnQoYWdlbnRzW2ldKTtcbiAgICAgICAgICBleHBlY3QodXRpbHMuaXNGYWNlYm9vaygpKS50b0JlVHJ1dGh5KCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3Nob3VsZCBub3QgcmVjb2duaXplIHVzZXIgYWdlbnQgYXMgZmFjZWJvb2snLCAoKSA9PiB7XG4gICAgICBjb25zdCBhZ2VudHMgPSBbXG4gICAgICAgICdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvNDIuMC4yMzExLjEzNSBTYWZhcmkvNTM3LjM2IEVkZ2UvMTIuMjQ2JyxcbiAgICAgICAgJ01vemlsbGEvNS4wIChYMTE7IENyT1MgeDg2XzY0IDgxNzIuNDUuMCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzUxLjAuMjcwNC42NCBTYWZhcmkvNTM3LjM2JyxcbiAgICAgICAgJ01vemlsbGEvNS4wIChNYWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwXzExXzIpIEFwcGxlV2ViS2l0LzYwMS4zLjkgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzkuMC4yIFNhZmFyaS82MDEuMy45JyxcbiAgICAgICAgJ01vemlsbGEvNS4wIChYMTE7IFVidW50dTsgTGludXggeDg2XzY0OyBydjoxNS4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzE1LjAuMScsXG4gICAgICBdO1xuXG4gICAgICBmb3IgKGxldCBpIGluIGFnZW50cykge1xuICAgICAgICBpdChgU2hvdWxkIGFjY2VwdDogJHthZ2VudHNbaV19IGFzIHdyb25nYCwgKCkgPT4ge1xuICAgICAgICAgIGRlZmluZUFnZW50KGFnZW50c1tpXSk7XG4gICAgICAgICAgZXhwZWN0KHV0aWxzLmlzRmFjZWJvb2soKSkudG9CZVRydXRoeSgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ21kNScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiBjb3JyZWN0IG1kNSB2YWx1ZScsICgpID0+IHtcbiAgICAgIGV4cGVjdCh1dGlscy5tZDUoQnVmZmVyLmZyb20oJ3Rlc3QnKSkpLnRvRXF1YWwoJ0NZOXJ6VVloMDNQSzNrNkRKaWUwOWc9PScpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYjY0JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIGNvcnJlY3QgYjY1IHZhbHVlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHV0aWxzLmI2NCgndGVzdHRleHQnKSkudG9FcXVhbCgnZEdWemRIUmxlSFE9Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGVzY2FwZSBjaGFycyB0byBtYWtlIGI2NCB1cmwgd2l0aG91dCBzYWZlIG1vZGUgLSBjaGFyIFwiK1wiJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHV0aWxzLmI2NCgnKjBlaWpBVGgjXCJJJFBSKXM8dVRhfXt0PkVcIkxDOkwnLCBmYWxzZSkpLnRvRXF1YWwoJ0tqQmxhV3BCVkdnaklra2tVRklwY3p4MVZHRjllM1ErUlNKTVF6cE0nKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZXNjYXBlIGNoYXJzIHRvIG1ha2UgYjY0IHVybCB3aXRoIHNhZmUgbW9kZSAtIGNoYXIgXCIrXCInLCAoKSA9PiB7XG4gICAgICBleHBlY3QodXRpbHMuYjY0KCcqMGVpakFUaCNcIkkkUFIpczx1VGF9e3Q+RVwiTEM6TCcsIHRydWUpKS50b0VxdWFsKCdLakJsYVdwQlZHZ2pJa2trVUZJcGN6eDFWR0Y5ZTNRLVJTSk1RenBNJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXguc3BlYy5icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBRWpDLFFBQVEsQ0FBQyxhQUFhLEVBQUU7SUFDdEIsUUFBUSxDQUFDLFlBQVksRUFBRTtRQUNyQixFQUFFLENBQUMseUNBQXlDLEVBQUU7WUFDNUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFlBQVksRUFBRTtRQUNyQixJQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBRTFDLElBQU0sU0FBUyxHQUFHLFVBQUEsTUFBTSxJQUFJLE9BQUEsQ0FBQztZQUMzQixHQUFHLEVBQUUsY0FBTSxPQUFBLE1BQU0sRUFBTixDQUFNO1lBQ2pCLEdBQUcsRUFBRSxVQUFDLENBQUMsSUFBSyxPQUFBLE1BQU0sR0FBRyxDQUFDLEVBQVYsQ0FBVTtTQUN2QixDQUFDLEVBSDBCLENBRzFCLENBQUM7UUFFSCxJQUFNLFdBQVcsR0FBRyxVQUFDLEtBQUs7WUFDeEIsSUFBSTtnQkFDRixNQUFNLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDakU7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7b0JBQ25DLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDO2lCQUM1QixDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQztRQUVGLFVBQVUsQ0FBQztZQUNULFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxxREFBcUQsRUFBRTtZQUM5RCxJQUFNLE1BQU0sR0FBRztnQkFDYix3TEFBd0w7Z0JBQ3hMLDJMQUEyTDtnQkFDM0wsaU1BQWlNO2dCQUNqTSxtUUFBbVE7Z0JBQ25RLDZQQUE2UDtnQkFDN1Asa1FBQWtRO2dCQUNsUSw4TEFBOEw7YUFDL0wsQ0FBQztvQ0FFTyxDQUFDO2dCQUNSLEVBQUUsQ0FBQyx5QkFBa0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxnQkFBYSxFQUFFO29CQUMzQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZCLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDMUMsQ0FBQyxDQUFDLENBQUM7O1lBSkwsS0FBSyxJQUFJLENBQUMsSUFBSSxNQUFNO3dCQUFYLENBQUM7YUFLVDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLDZDQUE2QyxFQUFFO1lBQ3RELElBQU0sTUFBTSxHQUFHO2dCQUNiLGlJQUFpSTtnQkFDakksbUhBQW1IO2dCQUNuSCxzSEFBc0g7Z0JBQ3RILGdGQUFnRjthQUNqRixDQUFDO29DQUVPLENBQUM7Z0JBQ1IsRUFBRSxDQUFDLHlCQUFrQixNQUFNLENBQUMsQ0FBQyxDQUFDLGNBQVcsRUFBRTtvQkFDekMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN2QixNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQzFDLENBQUMsQ0FBQyxDQUFDOztZQUpMLEtBQUssSUFBSSxDQUFDLElBQUksTUFBTTt3QkFBWCxDQUFDO2FBS1Q7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLEtBQUssRUFBRTtRQUNkLEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRTtZQUNwQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM3RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLEtBQUssRUFBRTtRQUNkLEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRTtZQUNwQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxrRUFBa0UsRUFBRTtZQUNyRSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQ2pILENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLCtEQUErRCxFQUFFO1lBQ2xFLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7UUFDaEgsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi91dGlscy9pbmRleC5zcGVjLmJyb3dzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE5IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi9pbmRleCc7XG5cbmRlc2NyaWJlKCd1dGlsczppbmRleCcsICgpID0+IHtcbiAgZGVzY3JpYmUoJ2dldFZlcnNpb24nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdmVyc2lvbiBzdHJpbmcgdG8gcmVwbGFjZScsICgpID0+IHtcbiAgICAgIGV4cGVjdCh1dGlscy5nZXRWZXJzaW9uKCkpLnRvRXF1YWwoYEpTLUB7VkVSU0lPTn1gKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzRmFjZWJvb2snLCAoKSA9PiB7XG4gICAgY29uc3Qgb3JpZ2luYWxBZ2VudCA9IG5hdmlnYXRvci51c2VyQWdlbnQ7XG5cbiAgICBjb25zdCBtb2NrQWdlbnQgPSBfdmFsdWUgPT4gKHtcbiAgICAgIGdldDogKCkgPT4gX3ZhbHVlLFxuICAgICAgc2V0OiAodikgPT4gX3ZhbHVlID0gdixcbiAgICB9KTtcblxuICAgIGNvbnN0IGRlZmluZUFnZW50ID0gKGFnZW50KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobmF2aWdhdG9yLCAndXNlckFnZW50JywgbW9ja0FnZW50KGFnZW50KSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIG5hdmlnYXRvciA9IE9iamVjdC5jcmVhdGUobmF2aWdhdG9yLCB7XG4gICAgICAgICAgdXNlckFnZW50OiBtb2NrQWdlbnQoYWdlbnQpLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBtb2NrQWdlbnQob3JpZ2luYWxBZ2VudCk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnc2hvdWxkIHJlY29nbml6ZSBhbGwgb2YgZmFjZWJvb2sgYnJvd3NlciB1c2VyYWdlbnRzJywgKCkgPT4ge1xuICAgICAgY29uc3QgYWdlbnRzID0gW1xuICAgICAgICAnTW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDcuMS4xOyBCdWlsZC9MTVk0N08uSDE4OyB3dikgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi80LjAgQ2hyb21lLzU4LjAuMzAyOS44MyBNb2JpbGUgU2FmYXJpLzUzNy4zNiBbRkJfSUFCL0ZCNEE7RkJBVi8xMjcuMC4wLjIyLjY5O10nLFxuICAgICAgICAnTW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDcuMDsgU00tRzkzMEYgQnVpbGQvTlJEOTBNOyB3dikgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi80LjAgQ2hyb21lLzU4LjAuMzAyOS44MyBNb2JpbGUgU2FmYXJpLzUzNy4zNiBbRkJfSUFCL0ZCNEE7RkJBVi8xMjcuMC4wLjIyLjY5O10nLFxuICAgICAgICAnTW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDcuMDsgTUhBLUwyOSBCdWlsZC9IVUFXRUlNSEEtTDI5OyB3dikgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi80LjAgQ2hyb21lLzU4LjAuMzAyOS44MyBNb2JpbGUgU2FmYXJpLzUzNy4zNiBbRkJfSUFCL0ZCNEE7RkJBVi8xMjcuMC4wLjIyLjY5O10nLFxuICAgICAgICAnTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxMF8zXzIgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjAzLjIuNCAoS0hUTUwsIGxpa2UgR2Vja28pIE1vYmlsZS8xNEY4OSBbRkJBTi9GQklPUztGQkFWLzk2LjAuMC40NS43MDtGQkJWLzYwNTQ4NTQ1O0ZCRFYvaVBob25lNywyO0ZCTUQvaVBob25lO0ZCU04vaU9TO0ZCU1YvMTAuMy4yO0ZCU1MvMjtGQkNSL0UtUGx1cztGQklEL3Bob25lO0ZCTEMvZGVfREU7RkJPUC81O0ZCUlYvMF0nLFxuICAgICAgICAnTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxMF8yIGxpa2UgTWFjIE9TIFgpIEFwcGxlV2ViS2l0LzYwMi4zLjEyIChLSFRNTCwgbGlrZSBHZWNrbykgTW9iaWxlLzE0QzkyIFtGQkFOL0ZCSU9TO0ZCQVYvOTAuMC4wLjUxLjY5O0ZCQlYvNTYyNTQwMTU7RkJEVi9pUGhvbmU2LDI7RkJNRC9pUGhvbmU7RkJTTi9pT1M7RkJTVi8xMC4yO0ZCU1MvMjtGQkNSLzEmMTtGQklEL3Bob25lO0ZCTEMvZGVfREU7RkJPUC81O0ZCUlYvMF0nLFxuICAgICAgICAnTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxMF8zXzIgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjAzLjIuNCAoS0hUTUwsIGxpa2UgR2Vja28pIE1vYmlsZS8xNEY4OSBbRkJBTi9GQklPUztGQkFWLzk2LjAuMC40NS43MDtGQkJWLzYwNTQ4NTQ1O0ZCRFYvaVBob25lOCwxO0ZCTUQvaVBob25lO0ZCU04vaU9TO0ZCU1YvMTAuMy4yO0ZCU1MvMjtGQkNSL28yLWRlO0ZCSUQvcGhvbmU7RkJMQy9kZV9ERTtGQk9QLzU7RkJSVi8wXScsXG4gICAgICAgICdNb3ppbGxhLzUuMCAoTGludXg7IEFuZHJvaWQgNC40LjQ7IEc3LUwwMSBCdWlsZC9IdWF3ZWlHNy1MMDEpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNC4wIENocm9tZS8zMy4wLjAuMCBNb2JpbGUgU2FmYXJpLzUzNy4zNiBbRkJfSUFCL01FU1NFTkdFUjtGQkFWLzEyMS4wLjAuMTUuNzA7XScsXG4gICAgICBdO1xuXG4gICAgICBmb3IgKGxldCBpIGluIGFnZW50cykge1xuICAgICAgICBpdChgU2hvdWxkIGFjY2VwdDogJHthZ2VudHNbaV19IGFzIGNvcnJlY3RgLCAoKSA9PiB7XG4gICAgICAgICAgZGVmaW5lQWdlbnQoYWdlbnRzW2ldKTtcbiAgICAgICAgICBleHBlY3QodXRpbHMuaXNGYWNlYm9vaygpKS50b0JlVHJ1dGh5KCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3Nob3VsZCBub3QgcmVjb2duaXplIHVzZXIgYWdlbnQgYXMgZmFjZWJvb2snLCAoKSA9PiB7XG4gICAgICBjb25zdCBhZ2VudHMgPSBbXG4gICAgICAgICdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvNDIuMC4yMzExLjEzNSBTYWZhcmkvNTM3LjM2IEVkZ2UvMTIuMjQ2JyxcbiAgICAgICAgJ01vemlsbGEvNS4wIChYMTE7IENyT1MgeDg2XzY0IDgxNzIuNDUuMCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzUxLjAuMjcwNC42NCBTYWZhcmkvNTM3LjM2JyxcbiAgICAgICAgJ01vemlsbGEvNS4wIChNYWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwXzExXzIpIEFwcGxlV2ViS2l0LzYwMS4zLjkgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzkuMC4yIFNhZmFyaS82MDEuMy45JyxcbiAgICAgICAgJ01vemlsbGEvNS4wIChYMTE7IFVidW50dTsgTGludXggeDg2XzY0OyBydjoxNS4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzE1LjAuMScsXG4gICAgICBdO1xuXG4gICAgICBmb3IgKGxldCBpIGluIGFnZW50cykge1xuICAgICAgICBpdChgU2hvdWxkIGFjY2VwdDogJHthZ2VudHNbaV19IGFzIHdyb25nYCwgKCkgPT4ge1xuICAgICAgICAgIGRlZmluZUFnZW50KGFnZW50c1tpXSk7XG4gICAgICAgICAgZXhwZWN0KHV0aWxzLmlzRmFjZWJvb2soKSkudG9CZVRydXRoeSgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ21kNScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiBjb3JyZWN0IG1kNSB2YWx1ZScsICgpID0+IHtcbiAgICAgIGV4cGVjdCh1dGlscy5tZDUoQnVmZmVyLmZyb20oJ3Rlc3QnKSkpLnRvRXF1YWwoJ0NZOXJ6VVloMDNQSzNrNkRKaWUwOWc9PScpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYjY0JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIGNvcnJlY3QgYjY1IHZhbHVlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHV0aWxzLmI2NCgndGVzdHRleHQnKSkudG9FcXVhbCgnZEdWemRIUmxlSFE9Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGVzY2FwZSBjaGFycyB0byBtYWtlIGI2NCB1cmwgd2l0aG91dCBzYWZlIG1vZGUgLSBjaGFyIFwiK1wiJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHV0aWxzLmI2NCgnKjBlaWpBVGgjXCJJJFBSKXM8dVRhfXt0PkVcIkxDOkwnLCBmYWxzZSkpLnRvRXF1YWwoJ0tqQmxhV3BCVkdnaklra2tVRklwY3p4MVZHRjllM1ErUlNKTVF6cE0nKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZXNjYXBlIGNoYXJzIHRvIG1ha2UgYjY0IHVybCB3aXRoIHNhZmUgbW9kZSAtIGNoYXIgXCIrXCInLCAoKSA9PiB7XG4gICAgICBleHBlY3QodXRpbHMuYjY0KCcqMGVpakFUaCNcIkkkUFIpczx1VGF9e3Q+RVwiTEM6TCcsIHRydWUpKS50b0VxdWFsKCdLakJsYVdwQlZHZ2pJa2trVUZJcGN6eDFWR0Y5ZTNRLVJTSk1RenBNJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=

@@ -93,3 +93,3 @@ /*

it('should return correct version from package json', function () {
expect(getVersion()).toEqual("JS-" + v);
expect(getVersion()).toEqual("JS-".concat(v));
});

@@ -205,2 +205,2 @@ });

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXguc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM3SyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLElBQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUV0RCxRQUFRLENBQUMsYUFBYSxFQUFFO0lBQ3RCLFFBQVEsQ0FBQyxlQUFlLEVBQUU7UUFFeEIsSUFBTSxPQUFPLEdBQUc7WUFDZCxNQUFNLEVBQUUsY0FBYztZQUN0QixLQUFLLEVBQUUsYUFBYTtZQUNwQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7U0FDbEIsQ0FBQztRQUVGLEVBQUUsQ0FBQyxvREFBb0QsRUFBRTtZQUN2RCxJQUFNLE1BQU0sR0FBRyxzQkFBc0IsQ0FBQztZQUN0QyxJQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxpREFBaUQsRUFBRTtZQUNwRCxJQUFNLE1BQU0sR0FBRyx3QkFBd0IsQ0FBQztZQUN4QyxJQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsK0NBQStDLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUMs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QyxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtRQUMzQixFQUFFLENBQUMsK0RBQStELEVBQUU7WUFDbEUsSUFBTSxPQUFPLEdBQUc7Z0JBQ2QsRUFBRSxFQUFFLGNBQU0sT0FBQSxDQUFDLEVBQUQsQ0FBQztnQkFDWCxJQUFJLEVBQUU7b0JBQ0osR0FBRyxFQUFFLGNBQU0sT0FBQSxDQUFDLEVBQUQsQ0FBQztpQkFDYjtnQkFDRCxLQUFLLEVBQUUsR0FBRztnQkFDVixLQUFLLEVBQUUsUUFBUTtnQkFDZixPQUFPLEVBQUU7b0JBQ1AsR0FBRyxFQUFFLEdBQUc7aUJBQ1Q7YUFDRixDQUFDO1lBRUYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUN4QyxJQUFJLEVBQUUsRUFBRTtnQkFDUixLQUFLLEVBQUUsR0FBRztnQkFDVixLQUFLLEVBQUUsUUFBUTtnQkFDZixPQUFPLEVBQUU7b0JBQ1AsR0FBRyxFQUFFLEdBQUc7aUJBQ1Q7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL3V0aWxzL2luZGV4LnNwZWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE5IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgcmVzb2x2ZUNkblVybCwgcmVzb2x2ZUhvc3QsIHJlbW92ZUVtcHR5LCB1bmlxdWVUaW1lLCB1bmlxdWVJZCwgbWQ1LCBleHRlbnNpb25Ub01pbWUsIHNhbml0aXplTmFtZSwgZmlsdGVyT2JqZWN0LCBiNjQsIGdldFZlcnNpb24sIGNsZWFuVXBDYWxsYmFja3MgfSBmcm9tICcuL2luZGV4JztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5jb25zdCB2ID0gcmVxdWlyZSgnLi4vLi4vLi4vLi4vcGFja2FnZS5qc29uJykudmVyc2lvbjtcblxuZGVzY3JpYmUoJ3V0aWxzOmluZGV4JywgKCkgPT4ge1xuICBkZXNjcmliZSgncmVzb2x2ZUNkblVybCcsICgpID0+IHtcblxuICAgIGNvbnN0IHNlc3Npb24gPSB7XG4gICAgICBhcGlrZXk6ICdURVNUX0FQSV9LRVknLFxuICAgICAgY25hbWU6ICdleGFtcGxlLmNvbScsXG4gICAgICB1cmxzOiBjb25maWcudXJscyxcbiAgICB9O1xuXG4gICAgaXQoJ3Nob3VsZCBwcm9wZXJseSByZXNvbHZlIGNkbiB1cmwgd2l0aCBoYXNoZWQgaGFuZGxlJywgKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlID0gJzVhWWtFUUpTUUNtWVNoc29DblpOJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHJlc29sdmVDZG5Vcmwoc2Vzc2lvbiwgaGFuZGxlKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoJ2h0dHBzOi8vY2RuLmZpbGVzdGFja2NvbnRlbnQuY29tJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHByb3Blcmx5IHJlc29sdmUgY2RuIHVybCB3aXRoIHNyYyBoYW5kbGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGUgPSAnc3JjOi8vdGVzdDEyMy90ZXN0LmpwZyc7XG4gICAgICBjb25zdCByZXN1bHQgPSByZXNvbHZlQ2RuVXJsKHNlc3Npb24sIGhhbmRsZSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKCdodHRwczovL2Nkbi5maWxlc3RhY2tjb250ZW50LmNvbS9URVNUX0FQSV9LRVknKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcHJvcGVybHkgcmVzb2x2ZSBjZG4gdXJsIHdpdGggaGFzaGVkIGhhbmRsZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZSA9ICdodHRwczovL3N0YXRpYzEuc3F1YXJlc3BhY2UuY29tL3N0YXRpYy81NDRlYjNjY2U0YjBlZjA5MTc3MzYxMWYvdC81OWJhN2NlMWJkMTBmMDBkY2RjODBhNWYvMTUwNTM5NDA4NzM2Ny9EU0NfMDUyNy5qcGcnO1xuICAgICAgY29uc3QgcmVzdWx0ID0gcmVzb2x2ZUNkblVybChzZXNzaW9uLCBoYW5kbGUpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCgnaHR0cHM6Ly9jZG4uZmlsZXN0YWNrY29udGVudC5jb20vVEVTVF9BUElfS0VZJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIHdoZW4gdXNpbmcgc3JjIGhhbmRsZSBvciB1cmwgd2l0aG91dCBhcGlrZXknLCAoKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGUgPSAnc3JjOi8vdGVzdDEyMy90ZXN0LmpwZyc7XG4gICAgICBzZXNzaW9uLmFwaWtleSA9ICcnO1xuICAgICAgZXhwZWN0KCgpID0+IHsgcmVzb2x2ZUNkblVybChzZXNzaW9uLCBoYW5kbGUpOyB9KS50b1Rocm93KCdBcGkga2V5IGlzIHJlcXVpcmVkIHdoZW4gc3RvcmFnZSBhbGlhcyBpcyBwcm92aWRlZCcpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncmVzb2x2ZUhvc3QnLCAoKSA9PiB7XG4gICAgY29uc3QgaG9zdHMgPSBjb25maWcudXJscztcblxuICAgIGNvbnN0IGNoZWNrSG9zdHMgPSAoaG9zdHMsIGV4cGVjdGVkKSA9PiB7XG4gICAgICBPYmplY3Qua2V5cyhob3N0cykuZm9yRWFjaCgoaykgPT4ge1xuICAgICAgICBleHBlY3QoaG9zdHNba10uaW5kZXhPZihleHBlY3RlZCkgPiAtMSkudG9CZVRydXRoeSgpO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHByb3BlciBob3N0JywgKCkgPT4ge1xuICAgICAgY29uc3QgY25hbWUgPSAnZXhhbXBsZS5jb20nO1xuICAgICAgY29uc3QgcmVzdWx0ID0gcmVzb2x2ZUhvc3QoaG9zdHMsIGNuYW1lKTtcbiAgICAgIGNoZWNrSG9zdHMocmVzdWx0LCBjbmFtZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBob3N0cyB3aGVuIGNuYW1lIGlzIGFuIGVtcHR5IHN0cmluZycsICgpID0+IHtcbiAgICAgIGNvbnN0IGNuYW1lID0gJyc7XG4gICAgICBjb25zdCByZXN1bHQgPSByZXNvbHZlSG9zdChob3N0cywgY25hbWUpO1xuICAgICAgY2hlY2tIb3N0cyhyZXN1bHQsIGNuYW1lKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3JlbW92ZUVtcHR5JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmVtb3ZlIGVtcHR5IG9wdGlvbnMgZnJvbSBhbiBvYmplY3QnLCAoKSA9PiB7XG4gICAgICBjb25zdCB0ZXN0T2IgPSB7IHRlc3QxOiB0cnVlLCB0ZXN0MjogdW5kZWZpbmVkLCB0ZXN0MzogZmFsc2UgfTtcbiAgICAgIGV4cGVjdChyZW1vdmVFbXB0eSh0ZXN0T2IpKS50b0VxdWFsKHsgdGVzdDE6IHRydWUsIHRlc3QzOiBmYWxzZSB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3VuaXF1ZVRpbWUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdW5pcXVlIHRpbWVzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHVuaXF1ZVRpbWUoKSkubm90LnRvRXF1YWwodW5pcXVlVGltZSgpKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3VuaXF1ZUlkJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgZ2V0IGRpZmZlcmVudCBpZHMgZWFjaCB0aW1lJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHVuaXF1ZUlkKCkpLm5vdC50b0VxdWFsKHVuaXF1ZUlkKCkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gaWQgd2l0aCBnaXZlbiBsZW5ndGgnLCAoKSA9PiB7XG4gICAgICBleHBlY3QodW5pcXVlSWQoMTIpLmxlbmd0aCkudG9FcXVhbCgxMik7XG4gICAgICBleHBlY3QodW5pcXVlSWQoNCkubGVuZ3RoKS50b0VxdWFsKDQpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnbWQ1JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIGNvcnJlY3QgbWQ1IHZhbHVlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KG1kNShCdWZmZXIuZnJvbSgndGVzdCcpKSkudG9FcXVhbCgnQ1k5cnpVWWgwM1BLM2s2REppZTA5Zz09Jyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdnZXRWZXJzaW9uJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIGNvcnJlY3QgdmVyc2lvbiBmcm9tIHBhY2thZ2UganNvbicsICgpID0+IHtcbiAgICAgIGV4cGVjdChnZXRWZXJzaW9uKCkpLnRvRXF1YWwoYEpTLSR7dn1gKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2I2NCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiBjb3JyZWN0IGI2NSB2YWx1ZScsICgpID0+IHtcbiAgICAgIGV4cGVjdChiNjQoJ3Rlc3R0ZXh0JykpLnRvRXF1YWwoJ2RHVnpkSFJsZUhRPScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBlc2NhcGUgY2hhcnMgdG8gbWFrZSBiNjQgdXJsIHNhZmUgc3RyaW5nIC0gY2hhciBcIi9cIicsICgpID0+IHtcbiAgICAgIGV4cGVjdChiNjQoJyowZWlqQVRoI1wiSSRQUilzPHVUYX17dD5FXCJMQzpMJywgdHJ1ZSkpLnRvRXF1YWwoJ0tqQmxhV3BCVkdnaklra2tVRklwY3p4MVZHRjllM1EtUlNKTVF6cE0nKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZXNjYXBlIGNoYXJzIHRvIG1ha2UgYjY0IHVybCBzYWZlIHN0cmluZyAtIGNoYXIgXCJcIicsICgpID0+IHtcbiAgICAgIGV4cGVjdChiNjQoJ1d7d3BCQGNrWUQwT0AmPyF8fDlQUyk3XitGKkg4TicsIHRydWUpKS50b0VxdWFsKCdWM3QzY0VKQVkydFpSREJQUUNZX0lYeDhPVkJUS1RkZUswWXFTRGhPJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzYW5pdGl6ZU5hbWUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBzYW5pdGl6ZSBmaWxlIG5hbWUgd2l0aCBleHRlbnNpb24nLCAoKSA9PiB7XG4gICAgICBleHBlY3Qoc2FuaXRpemVOYW1lKCdhXFxcXHslYFwifltdI3xePD4xLmpwZycpKS50b0VxdWFsKCdhLS0tLS0tLS0tLS0tLTEuanBnJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNhbml0aXplIGZpbGUgbmFtZSB3aXRob3V0IGV4dGVuc2lvbicsICgpID0+IHtcbiAgICAgIGV4cGVjdChzYW5pdGl6ZU5hbWUoJzEyM3F3ZScpKS50b0VxdWFsKCcxMjNxd2UnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHVuZGVmaW5lZCBvbiBlbXB0eSBzdHJpbmcnLCAoKSA9PiB7XG4gICAgICBleHBlY3Qoc2FuaXRpemVOYW1lKCcnKSkudG9FcXVhbCgndW5kZWZpbmVkJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlc3BlY3Qgc2FuaXRpemUgb3B0aW9ucyBhcyBib29sZWFuJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHNhbml0aXplTmFtZSgnW10jfC5qcGcnLCBmYWxzZSkpLnRvRXF1YWwoJ1tdI3wuanBnJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG5vdCBjaGFuZ2UgZG90cyBpbiBmaWxlbmFtZScsICgpID0+IHtcbiAgICAgIGV4cGVjdChzYW5pdGl6ZU5hbWUoJ1tdI3NvbWUudGFyLmd6JywgZmFsc2UpKS50b0VxdWFsKCdbXSNzb21lLnRhci5neicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXNwZWN0IHNhbml0aXplIG9wdGlvbnMgd2l0aCBwcm92aWRlZCBvcHRpb25zJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHNhbml0aXplTmFtZSgnW10jfC5qcGcnLCB7XG4gICAgICAgIGV4Y2x1ZGU6IFsnWycsICddJ10sXG4gICAgICAgIHJlcGxhY2VtZW50OiAnXycsXG4gICAgICB9KSkudG9FcXVhbCgnX18jfC5qcGcnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2ZpbHRlck9iamVjdCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGZpbHRlciBvYmplY3QnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZmlsdGVyT2JqZWN0KHtcbiAgICAgICAgdGVzdDogMSxcbiAgICAgICAgdGVzdDI6IDIsXG4gICAgICAgIHRlc3QzOiAzLFxuICAgICAgfSwgWyd0ZXN0JywgJ3Rlc3QyJ10pKS50b0VxdWFsKHtcbiAgICAgICAgdGVzdDogMSxcbiAgICAgICAgdGVzdDI6IDIsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVzdWx0IHRoZSBzYW1lIG9iamVjdCBvbiBlbXB0eSByZXF1aXJlbWVudHMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZmlsdGVyT2JqZWN0KHtcbiAgICAgICAgdGVzdDogMSxcbiAgICAgICAgdGVzdDI6IDIsXG4gICAgICAgIHRlc3QzOiAzLFxuICAgICAgfSwgW10pKS50b0VxdWFsKHtcbiAgICAgICAgdGVzdDogMSxcbiAgICAgICAgdGVzdDI6IDIsXG4gICAgICAgIHRlc3QzOiAzLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG5vdCB0aHJvdyBvbiBlbXB0eSBmaWx0ZXJlZCBvYmplY3QnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZmlsdGVyT2JqZWN0KHt9LCBbJ3Rlc3QnXSkpLnRvRXF1YWwoe30pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZXh0ZW5zaW9uVG9NaW1lJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIG1pbWV0eXBlIGlmIG1pbWUgaXMgcGFzc2VkJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGV4dGVuc2lvblRvTWltZSgnJykpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHNhbWUgbWltZSBpcyBwYXNzZWQnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCdpbWFnZS9wbmcnKSkudG9FcXVhbCgnaW1hZ2UvcG5nJyk7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCdpbWFnZS9qcGcnKSkudG9FcXVhbCgnaW1hZ2UvanBnJyk7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCdhcHBsaWNhdGlvbi9wZGYnKSkudG9FcXVhbCgnYXBwbGljYXRpb24vcGRmJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnaXQgc2hvdWxkIHJldHVybiBjb3JyZWN0IG1pbWVzIGZvciBleHQnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCcucG5nJykpLnRvRXF1YWwoJ2ltYWdlL3BuZycpO1xuICAgICAgZXhwZWN0KGV4dGVuc2lvblRvTWltZSgnLmpwZycpKS50b0VxdWFsKCdpbWFnZS9qcGVnJyk7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCcucGRmJykpLnRvRXF1YWwoJ2FwcGxpY2F0aW9uL3BkZicpO1xuXG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCcua2V5JykpLnRvRXF1YWwoJ2FwcGxpY2F0aW9uL3ZuZC5hcHBsZS5rZXlub3RlJyk7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCcuemlwJykpLnRvRXF1YWwoJ2FwcGxpY2F0aW9uL3ppcCcpO1xuICAgICAgZXhwZWN0KGV4dGVuc2lvblRvTWltZSgnLm51bWJlcnMnKSkudG9FcXVhbCgnYXBwbGljYXRpb24vdm5kLmFwcGxlLm51bWJlcnMnKTtcbiAgICB9KTtcblxuICAgIGl0KCdpdCBzaG91bGQgZXh0cmFjdCBleHRlbnNpb25zIGZvcm0gZmlsZW5hbWUgb3IgZXh0IHdpdGggZG90JywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGV4dGVuc2lvblRvTWltZSgndGVzdC5wbmcnKSkudG9FcXVhbCgnaW1hZ2UvcG5nJyk7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCd0ZXN0LmpwZycpKS50b0VxdWFsKCdpbWFnZS9qcGVnJyk7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCd0ZXN0LnBkZicpKS50b0VxdWFsKCdhcHBsaWNhdGlvbi9wZGYnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0NsZWFudXBDYWxsYmFja3MnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBzZXQgY2FsbGJhY2tzIGFzIHVuZGVmaW5lZCBhbmQgcmV0dXJuIHVudG91Y2hlZCBvYmplY3QnLCAoKSA9PiB7XG4gICAgICBjb25zdCB0ZXN0T2JqID0ge1xuICAgICAgICBmbjogKCkgPT4gMSxcbiAgICAgICAgdGVzdDoge1xuICAgICAgICAgIGZuMjogKCkgPT4gMixcbiAgICAgICAgfSxcbiAgICAgICAgdGVzdE46IDEyMyxcbiAgICAgICAgdGVzdHM6ICdzdHJpbmcnLFxuICAgICAgICB0ZXN0T2JqOiB7XG4gICAgICAgICAgdHN0OiAxMjMsXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICBleHBlY3QoY2xlYW5VcENhbGxiYWNrcyh0ZXN0T2JqKSkudG9FcXVhbCh7XG4gICAgICAgIHRlc3Q6IHt9LFxuICAgICAgICB0ZXN0TjogMTIzLFxuICAgICAgICB0ZXN0czogJ3N0cmluZycsXG4gICAgICAgIHRlc3RPYmo6IHtcbiAgICAgICAgICB0c3Q6IDEyMyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXguc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM3SyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLElBQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUV0RCxRQUFRLENBQUMsYUFBYSxFQUFFO0lBQ3RCLFFBQVEsQ0FBQyxlQUFlLEVBQUU7UUFFeEIsSUFBTSxPQUFPLEdBQUc7WUFDZCxNQUFNLEVBQUUsY0FBYztZQUN0QixLQUFLLEVBQUUsYUFBYTtZQUNwQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7U0FDbEIsQ0FBQztRQUVGLEVBQUUsQ0FBQyxvREFBb0QsRUFBRTtZQUN2RCxJQUFNLE1BQU0sR0FBRyxzQkFBc0IsQ0FBQztZQUN0QyxJQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxpREFBaUQsRUFBRTtZQUNwRCxJQUFNLE1BQU0sR0FBRyx3QkFBd0IsQ0FBQztZQUN4QyxJQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsK0NBQStDLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUMs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VSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNqRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGtCQUFrQixFQUFFO1FBQzNCLEVBQUUsQ0FBQywrREFBK0QsRUFBRTtZQUNsRSxJQUFNLE9BQU8sR0FBRztnQkFDZCxFQUFFLEVBQUUsY0FBTSxPQUFBLENBQUMsRUFBRCxDQUFDO2dCQUNYLElBQUksRUFBRTtvQkFDSixHQUFHLEVBQUUsY0FBTSxPQUFBLENBQUMsRUFBRCxDQUFDO2lCQUNiO2dCQUNELEtBQUssRUFBRSxHQUFHO2dCQUNWLEtBQUssRUFBRSxRQUFRO2dCQUNmLE9BQU8sRUFBRTtvQkFDUCxHQUFHLEVBQUUsR0FBRztpQkFDVDthQUNGLENBQUM7WUFFRixNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBQ3hDLElBQUksRUFBRSxFQUFFO2dCQUNSLEtBQUssRUFBRSxHQUFHO2dCQUNWLEtBQUssRUFBRSxRQUFRO2dCQUNmLE9BQU8sRUFBRTtvQkFDUCxHQUFHLEVBQUUsR0FBRztpQkFDVDthQUNGLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJsaWIvdXRpbHMvaW5kZXguc3BlYy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyByZXNvbHZlQ2RuVXJsLCByZXNvbHZlSG9zdCwgcmVtb3ZlRW1wdHksIHVuaXF1ZVRpbWUsIHVuaXF1ZUlkLCBtZDUsIGV4dGVuc2lvblRvTWltZSwgc2FuaXRpemVOYW1lLCBmaWx0ZXJPYmplY3QsIGI2NCwgZ2V0VmVyc2lvbiwgY2xlYW5VcENhbGxiYWNrcyB9IGZyb20gJy4vaW5kZXgnO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcbmNvbnN0IHYgPSByZXF1aXJlKCcuLi8uLi8uLi8uLi9wYWNrYWdlLmpzb24nKS52ZXJzaW9uO1xuXG5kZXNjcmliZSgndXRpbHM6aW5kZXgnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdyZXNvbHZlQ2RuVXJsJywgKCkgPT4ge1xuXG4gICAgY29uc3Qgc2Vzc2lvbiA9IHtcbiAgICAgIGFwaWtleTogJ1RFU1RfQVBJX0tFWScsXG4gICAgICBjbmFtZTogJ2V4YW1wbGUuY29tJyxcbiAgICAgIHVybHM6IGNvbmZpZy51cmxzLFxuICAgIH07XG5cbiAgICBpdCgnc2hvdWxkIHByb3Blcmx5IHJlc29sdmUgY2RuIHVybCB3aXRoIGhhc2hlZCBoYW5kbGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGUgPSAnNWFZa0VRSlNRQ21ZU2hzb0NuWk4nO1xuICAgICAgY29uc3QgcmVzdWx0ID0gcmVzb2x2ZUNkblVybChzZXNzaW9uLCBoYW5kbGUpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCgnaHR0cHM6Ly9jZG4uZmlsZXN0YWNrY29udGVudC5jb20nKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcHJvcGVybHkgcmVzb2x2ZSBjZG4gdXJsIHdpdGggc3JjIGhhbmRsZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZSA9ICdzcmM6Ly90ZXN0MTIzL3Rlc3QuanBnJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHJlc29sdmVDZG5Vcmwoc2Vzc2lvbiwgaGFuZGxlKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoJ2h0dHBzOi8vY2RuLmZpbGVzdGFja2NvbnRlbnQuY29tL1RFU1RfQVBJX0tFWScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBwcm9wZXJseSByZXNvbHZlIGNkbiB1cmwgd2l0aCBoYXNoZWQgaGFuZGxlJywgKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlID0gJ2h0dHBzOi8vc3RhdGljMS5zcXVhcmVzcGFjZS5jb20vc3RhdGljLzU0NGViM2NjZTRiMGVmMDkxNzczNjExZi90LzU5YmE3Y2UxYmQxMGYwMGRjZGM4MGE1Zi8xNTA1Mzk0MDg3MzY3L0RTQ18wNTI3LmpwZyc7XG4gICAgICBjb25zdCByZXN1bHQgPSByZXNvbHZlQ2RuVXJsKHNlc3Npb24sIGhhbmRsZSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKCdodHRwczovL2Nkbi5maWxlc3RhY2tjb250ZW50LmNvbS9URVNUX0FQSV9LRVknKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3Igd2hlbiB1c2luZyBzcmMgaGFuZGxlIG9yIHVybCB3aXRob3V0IGFwaWtleScsICgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZSA9ICdzcmM6Ly90ZXN0MTIzL3Rlc3QuanBnJztcbiAgICAgIHNlc3Npb24uYXBpa2V5ID0gJyc7XG4gICAgICBleHBlY3QoKCkgPT4geyByZXNvbHZlQ2RuVXJsKHNlc3Npb24sIGhhbmRsZSk7IH0pLnRvVGhyb3coJ0FwaSBrZXkgaXMgcmVxdWlyZWQgd2hlbiBzdG9yYWdlIGFsaWFzIGlzIHByb3ZpZGVkJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdyZXNvbHZlSG9zdCcsICgpID0+IHtcbiAgICBjb25zdCBob3N0cyA9IGNvbmZpZy51cmxzO1xuXG4gICAgY29uc3QgY2hlY2tIb3N0cyA9IChob3N0cywgZXhwZWN0ZWQpID0+IHtcbiAgICAgIE9iamVjdC5rZXlzKGhvc3RzKS5mb3JFYWNoKChrKSA9PiB7XG4gICAgICAgIGV4cGVjdChob3N0c1trXS5pbmRleE9mKGV4cGVjdGVkKSA+IC0xKS50b0JlVHJ1dGh5KCk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gcHJvcGVyIGhvc3QnLCAoKSA9PiB7XG4gICAgICBjb25zdCBjbmFtZSA9ICdleGFtcGxlLmNvbSc7XG4gICAgICBjb25zdCByZXN1bHQgPSByZXNvbHZlSG9zdChob3N0cywgY25hbWUpO1xuICAgICAgY2hlY2tIb3N0cyhyZXN1bHQsIGNuYW1lKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGhvc3RzIHdoZW4gY25hbWUgaXMgYW4gZW1wdHkgc3RyaW5nJywgKCkgPT4ge1xuICAgICAgY29uc3QgY25hbWUgPSAnJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHJlc29sdmVIb3N0KGhvc3RzLCBjbmFtZSk7XG4gICAgICBjaGVja0hvc3RzKHJlc3VsdCwgY25hbWUpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncmVtb3ZlRW1wdHknLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZW1vdmUgZW1wdHkgb3B0aW9ucyBmcm9tIGFuIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHRlc3RPYiA9IHsgdGVzdDE6IHRydWUsIHRlc3QyOiB1bmRlZmluZWQsIHRlc3QzOiBmYWxzZSB9O1xuICAgICAgZXhwZWN0KHJlbW92ZUVtcHR5KHRlc3RPYikpLnRvRXF1YWwoeyB0ZXN0MTogdHJ1ZSwgdGVzdDM6IGZhbHNlIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgndW5pcXVlVGltZScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiB1bmlxdWUgdGltZXMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QodW5pcXVlVGltZSgpKS5ub3QudG9FcXVhbCh1bmlxdWVUaW1lKCkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgndW5pcXVlSWQnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBnZXQgZGlmZmVyZW50IGlkcyBlYWNoIHRpbWUnLCAoKSA9PiB7XG4gICAgICBleHBlY3QodW5pcXVlSWQoKSkubm90LnRvRXF1YWwodW5pcXVlSWQoKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBpZCB3aXRoIGdpdmVuIGxlbmd0aCcsICgpID0+IHtcbiAgICAgIGV4cGVjdCh1bmlxdWVJZCgxMikubGVuZ3RoKS50b0VxdWFsKDEyKTtcbiAgICAgIGV4cGVjdCh1bmlxdWVJZCg0KS5sZW5ndGgpLnRvRXF1YWwoNCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdtZDUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gY29ycmVjdCBtZDUgdmFsdWUnLCAoKSA9PiB7XG4gICAgICBleHBlY3QobWQ1KEJ1ZmZlci5mcm9tKCd0ZXN0JykpKS50b0VxdWFsKCdDWTlyelVZaDAzUEszazZESmllMDlnPT0nKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2dldFZlcnNpb24nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gY29ycmVjdCB2ZXJzaW9uIGZyb20gcGFja2FnZSBqc29uJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGdldFZlcnNpb24oKSkudG9FcXVhbChgSlMtJHt2fWApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYjY0JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIGNvcnJlY3QgYjY1IHZhbHVlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGI2NCgndGVzdHRleHQnKSkudG9FcXVhbCgnZEdWemRIUmxlSFE9Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGVzY2FwZSBjaGFycyB0byBtYWtlIGI2NCB1cmwgc2FmZSBzdHJpbmcgLSBjaGFyIFwiL1wiJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGI2NCgnKjBlaWpBVGgjXCJJJFBSKXM8dVRhfXt0PkVcIkxDOkwnLCB0cnVlKSkudG9FcXVhbCgnS2pCbGFXcEJWR2dqSWtra1VGSXBjengxVkdGOWUzUS1SU0pNUXpwTScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBlc2NhcGUgY2hhcnMgdG8gbWFrZSBiNjQgdXJsIHNhZmUgc3RyaW5nIC0gY2hhciBcIlwiJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGI2NCgnV3t3cEJAY2tZRDBPQCY/IXx8OVBTKTdeK0YqSDhOJywgdHJ1ZSkpLnRvRXF1YWwoJ1YzdDNjRUpBWTJ0WlJEQlBRQ1lfSVh4OE9WQlRLVGRlSzBZcVNEaE8nKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3Nhbml0aXplTmFtZScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHNhbml0aXplIGZpbGUgbmFtZSB3aXRoIGV4dGVuc2lvbicsICgpID0+IHtcbiAgICAgIGV4cGVjdChzYW5pdGl6ZU5hbWUoJ2FcXFxceyVgXCJ+W10jfF48PjEuanBnJykpLnRvRXF1YWwoJ2EtLS0tLS0tLS0tLS0tMS5qcGcnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc2FuaXRpemUgZmlsZSBuYW1lIHdpdGhvdXQgZXh0ZW5zaW9uJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHNhbml0aXplTmFtZSgnMTIzcXdlJykpLnRvRXF1YWwoJzEyM3F3ZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdW5kZWZpbmVkIG9uIGVtcHR5IHN0cmluZycsICgpID0+IHtcbiAgICAgIGV4cGVjdChzYW5pdGl6ZU5hbWUoJycpKS50b0VxdWFsKCd1bmRlZmluZWQnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVzcGVjdCBzYW5pdGl6ZSBvcHRpb25zIGFzIGJvb2xlYW4nLCAoKSA9PiB7XG4gICAgICBleHBlY3Qoc2FuaXRpemVOYW1lKCdbXSN8LmpwZycsIGZhbHNlKSkudG9FcXVhbCgnW10jfC5qcGcnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbm90IGNoYW5nZSBkb3RzIGluIGZpbGVuYW1lJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHNhbml0aXplTmFtZSgnW10jc29tZS50YXIuZ3onLCBmYWxzZSkpLnRvRXF1YWwoJ1tdI3NvbWUudGFyLmd6Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlc3BlY3Qgc2FuaXRpemUgb3B0aW9ucyB3aXRoIHByb3ZpZGVkIG9wdGlvbnMnLCAoKSA9PiB7XG4gICAgICBleHBlY3Qoc2FuaXRpemVOYW1lKCdbXSN8LmpwZycsIHtcbiAgICAgICAgZXhjbHVkZTogWydbJywgJ10nXSxcbiAgICAgICAgcmVwbGFjZW1lbnQ6ICdfJyxcbiAgICAgIH0pKS50b0VxdWFsKCdfXyN8LmpwZycpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZmlsdGVyT2JqZWN0JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgZmlsdGVyIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChmaWx0ZXJPYmplY3Qoe1xuICAgICAgICB0ZXN0OiAxLFxuICAgICAgICB0ZXN0MjogMixcbiAgICAgICAgdGVzdDM6IDMsXG4gICAgICB9LCBbJ3Rlc3QnLCAndGVzdDInXSkpLnRvRXF1YWwoe1xuICAgICAgICB0ZXN0OiAxLFxuICAgICAgICB0ZXN0MjogMixcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXN1bHQgdGhlIHNhbWUgb2JqZWN0IG9uIGVtcHR5IHJlcXVpcmVtZW50cycsICgpID0+IHtcbiAgICAgIGV4cGVjdChmaWx0ZXJPYmplY3Qoe1xuICAgICAgICB0ZXN0OiAxLFxuICAgICAgICB0ZXN0MjogMixcbiAgICAgICAgdGVzdDM6IDMsXG4gICAgICB9LCBbXSkpLnRvRXF1YWwoe1xuICAgICAgICB0ZXN0OiAxLFxuICAgICAgICB0ZXN0MjogMixcbiAgICAgICAgdGVzdDM6IDMsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbm90IHRocm93IG9uIGVtcHR5IGZpbHRlcmVkIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChmaWx0ZXJPYmplY3Qoe30sIFsndGVzdCddKSkudG9FcXVhbCh7fSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdleHRlbnNpb25Ub01pbWUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gbWltZXR5cGUgaWYgbWltZSBpcyBwYXNzZWQnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCcnKSkudG9FcXVhbCh1bmRlZmluZWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gc2FtZSBtaW1lIGlzIHBhc3NlZCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJ2ltYWdlL3BuZycpKS50b0VxdWFsKCdpbWFnZS9wbmcnKTtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJ2ltYWdlL2pwZycpKS50b0VxdWFsKCdpbWFnZS9qcGcnKTtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJ2FwcGxpY2F0aW9uL3BkZicpKS50b0VxdWFsKCdhcHBsaWNhdGlvbi9wZGYnKTtcbiAgICB9KTtcblxuICAgIGl0KCdpdCBzaG91bGQgcmV0dXJuIGNvcnJlY3QgbWltZXMgZm9yIGV4dCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJy5wbmcnKSkudG9FcXVhbCgnaW1hZ2UvcG5nJyk7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCcuanBnJykpLnRvRXF1YWwoJ2ltYWdlL2pwZWcnKTtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJy5wZGYnKSkudG9FcXVhbCgnYXBwbGljYXRpb24vcGRmJyk7XG5cbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJy5rZXknKSkudG9FcXVhbCgnYXBwbGljYXRpb24vdm5kLmFwcGxlLmtleW5vdGUnKTtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJy56aXAnKSkudG9FcXVhbCgnYXBwbGljYXRpb24vemlwJyk7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCcubnVtYmVycycpKS50b0VxdWFsKCdhcHBsaWNhdGlvbi92bmQuYXBwbGUubnVtYmVycycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2l0IHNob3VsZCBleHRyYWN0IGV4dGVuc2lvbnMgZm9ybSBmaWxlbmFtZSBvciBleHQgd2l0aCBkb3QnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZXh0ZW5zaW9uVG9NaW1lKCd0ZXN0LnBuZycpKS50b0VxdWFsKCdpbWFnZS9wbmcnKTtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJ3Rlc3QuanBnJykpLnRvRXF1YWwoJ2ltYWdlL2pwZWcnKTtcbiAgICAgIGV4cGVjdChleHRlbnNpb25Ub01pbWUoJ3Rlc3QucGRmJykpLnRvRXF1YWwoJ2FwcGxpY2F0aW9uL3BkZicpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnQ2xlYW51cENhbGxiYWNrcycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHNldCBjYWxsYmFja3MgYXMgdW5kZWZpbmVkIGFuZCByZXR1cm4gdW50b3VjaGVkIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHRlc3RPYmogPSB7XG4gICAgICAgIGZuOiAoKSA9PiAxLFxuICAgICAgICB0ZXN0OiB7XG4gICAgICAgICAgZm4yOiAoKSA9PiAyLFxuICAgICAgICB9LFxuICAgICAgICB0ZXN0TjogMTIzLFxuICAgICAgICB0ZXN0czogJ3N0cmluZycsXG4gICAgICAgIHRlc3RPYmo6IHtcbiAgICAgICAgICB0c3Q6IDEyMyxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGV4cGVjdChjbGVhblVwQ2FsbGJhY2tzKHRlc3RPYmopKS50b0VxdWFsKHtcbiAgICAgICAgdGVzdDoge30sXG4gICAgICAgIHRlc3ROOiAxMjMsXG4gICAgICAgIHRlc3RzOiAnc3RyaW5nJyxcbiAgICAgICAgdGVzdE9iajoge1xuICAgICAgICAgIHRzdDogMTIzLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
export declare const DefinitionsSchema: {
'$schema': string;
$schema: string;
title: string;

@@ -4,0 +4,0 @@ description: string;

@@ -65,2 +65,5 @@ /*

type: 'string',
// for now we decided to remove validation of regions (AWS + Rackspace)
// pattern: '^[a-zA-Z]{2}-[a-zA-z]{1,}-[1-9]$',
// errorMessage: 'AWS Region Param is in invalid format',
},

@@ -76,3 +79,3 @@ locationsDef: {

type: 'string',
pattern: '^([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$',
pattern: '^([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$', // without # at the begining
}, {

@@ -196,2 +199,2 @@ type: 'string',

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvZGVmaW5pdGlvbnMuc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sQ0FBQyxJQUFNLGlCQUFpQixHQUFHO0lBQy9CLFNBQVMsRUFBRSx5Q0FBeUM7SUFDcEQsS0FBSyxFQUFFLFdBQVc7SUFDbEIsV0FBVyxFQUFFLDhCQUE4QjtJQUMzQyxJQUFJLEVBQUUsUUFBUTtJQUNkLG9CQUFvQixFQUFFLEtBQUs7SUFDM0IsV0FBVyxFQUFFO1FBQ1gsWUFBWSxFQUFFO1lBQ1osRUFBRSxFQUFFLGVBQWU7WUFDbkIsSUFBSSxFQUFFLE9BQU87WUFDYixlQUFlLEVBQUUsS0FBSztZQUN0QixRQUFRLEVBQUUsQ0FBQztZQUNYLFFBQVEsRUFBRSxFQUFFO1lBQ1osS0FBSyxFQUFFLENBQUM7b0JBQ04sS0FBSyxFQUFFLENBQUM7NEJBQ04sSUFBSSxFQUFFLFFBQVE7eUJBQ2YsRUFBRTs0QkFDRCxJQUFJLEVBQUUsUUFBUTs0QkFDZCxvQkFBb0IsRUFBRSxLQUFLOzRCQUMzQixVQUFVLEVBQUU7Z0NBQ1YsRUFBRSxFQUFFO29DQUNGLElBQUksRUFBRSxRQUFRO2lDQUNmOzZCQUNGO3lCQUNGLENBQUM7aUJBQ0gsQ0FBQztTQUNIO1FBQ0QsZUFBZSxFQUFFO1lBQ2YsRUFBRSxFQUFFLGtCQUFrQjtZQUN0QixLQUFLLEVBQUUsQ0FBQztvQkFDTixvQkFBb0IsRUFBRSxLQUFLO29CQUMzQixJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUM7aUJBQ3pHLEVBQUU7b0JBQ0QsSUFBSSxFQUFFLE9BQU87b0JBQ2Isb0JBQW9CLEVBQUUsS0FBSztvQkFDM0IsS0FBSyxFQUFFLENBQUM7NEJBQ04sUUFBUSxFQUFFLENBQUM7NEJBQ1gsUUFBUSxFQUFFLEVBQUU7NEJBQ1osSUFBSSxFQUFFLFFBQVE7NEJBQ2Qsb0JBQW9CLEVBQUUsS0FBSzs0QkFDM0IsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFDO3lCQUN6RyxDQUFDO2lCQUNILENBQUM7U0FDSDtRQUNELFVBQVUsRUFBRTtZQUNWLEVBQUUsRUFBRSxhQUFhO1lBQ2pCLElBQUksRUFBRSxRQUFRO1NBSWY7UUFDRCxZQUFZLEVBQUU7WUFDWixFQUFFLEVBQUUsZUFBZTtZQUNuQixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDO1NBQzNEO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsRUFBRSxFQUFFLFVBQVU7WUFDZCxLQUFLLEVBQUUsQ0FBQztvQkFDTixJQUFJLEVBQUUsUUFBUTtvQkFDZCxPQUFPLEVBQUUsbUNBQW1DO2lCQUM3QyxFQUFFO29CQUNELElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFB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QyxRQUFRLEVBQUUsUUFBUSxDQUFDO1lBQzdCLEtBQUssRUFBRTtnQkFDTDtvQkFDRSxJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUU7d0JBQ0osS0FBSzt3QkFDTCxRQUFRO3dCQUNSLFFBQVE7d0JBQ1IsTUFBTTt3QkFDTixRQUFRO3dCQUNSLE9BQU87d0JBQ1AsT0FBTztxQkFDUjtpQkFDRjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsT0FBTztvQkFDYixXQUFXLEVBQUUsSUFBSTtvQkFDakIsZUFBZSxFQUFFLEtBQUs7b0JBQ3RCLFFBQVEsRUFBRSxDQUFDO29CQUNYLFFBQVEsRUFBRSxDQUFDO29CQUNYLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUM7b0JBQzdCLEtBQUssRUFBRTt3QkFDTDs0QkFDRSxJQUFJLEVBQUUsUUFBUTs0QkFDZCxJQUFJLEVBQUU7Z0NBQ0osS0FBSztnQ0FDTCxRQUFRO2dDQUNSLFFBQVE7NkJBQ1Q7eUJBQ0YsRUFBRTs0QkFDRCxJQUFJLEVBQUUsUUFBUTs0QkFDZCxJQUFJLEVBQUU7Z0NBQ0osTUFBTTtnQ0FDTixRQUFRO2dDQUNSLE9BQU87NkJBQ1I7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0Y7Q0FDRixDQUFDIiwiZmlsZSI6InNjaGVtYS9kZWZpbml0aW9ucy5zY2hlbWEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuZXhwb3J0IGNvbnN0IERlZmluaXRpb25zU2NoZW1hID0ge1xuICAnJHNjaGVtYSc6ICdodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMnLFxuICB0aXRsZTogJ0ZpbGVzdGFjaycsXG4gIGRlc2NyaXB0aW9uOiAnRmlsZXN0YWNrIGNvbW1vbiBkZWZpbml0aW9ucycsXG4gIHR5cGU6ICdvYmplY3QnLFxuICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gIGRlZmluaXRpb25zOiB7XG4gICAgd29ya2Zsb3dzRGVmOiB7XG4gICAgICBpZDogJy93b3JrZmxvd3NEZWYnLFxuICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgIGFkZGl0aW9uYWxJdGVtczogZmFsc2UsXG4gICAgICBtaW5JdGVtczogMSxcbiAgICAgIG1heEl0ZW1zOiAyMCxcbiAgICAgIGl0ZW1zOiBbe1xuICAgICAgICBvbmVPZjogW3tcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSwge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICBpZDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfV0sXG4gICAgICB9XSxcbiAgICB9LFxuICAgIHNlY3VyaXR5Q2FsbERlZjoge1xuICAgICAgaWQ6ICcvc2VjdXJpdHlDYWxsRGVmJyxcbiAgICAgIG9uZU9mOiBbe1xuICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBlbnVtOiBbJ3BpY2snLCAncmVhZCcsICdzdGF0JywgJ3dyaXRlJywgJ3dyaXRlVXJsJywgJ3N0b3JlJywgJ2NvbnZlcnQnLCAncmVtb3ZlJywgJ2V4aWYnLCAncnVuV29ya2Zsb3cnXSxcbiAgICAgIH0sIHtcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICBpdGVtczogW3tcbiAgICAgICAgICBtaW5JdGVtczogMSxcbiAgICAgICAgICBtYXhJdGVtczogMTAsXG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgIGVudW06IFsncGljaycsICdyZWFkJywgJ3N0YXQnLCAnd3JpdGUnLCAnd3JpdGVVcmwnLCAnc3RvcmUnLCAnY29udmVydCcsICdyZW1vdmUnLCAnZXhpZicsICdydW5Xb3JrZmxvdyddLFxuICAgICAgICB9XSxcbiAgICAgIH1dLFxuICAgIH0sXG4gICAgcmVnaW9uc0RlZjoge1xuICAgICAgaWQ6ICcvcmVnaW9uc0RlZicsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIC8vIGZvciBub3cgd2UgZGVjaWRlZCB0byByZW1vdmUgdmFsaWRhdGlvbiBvZiByZWdpb25zIChBV1MgKyBSYWNrc3BhY2UpXG4gICAgICAvLyBwYXR0ZXJuOiAnXlthLXpBLVpdezJ9LVthLXpBLXpdezEsfS1bMS05XSQnLFxuICAgICAgLy8gZXJyb3JNZXNzYWdlOiAnQVdTIFJlZ2lvbiBQYXJhbSBpcyBpbiBpbnZhbGlkIGZvcm1hdCcsXG4gICAgfSxcbiAgICBsb2NhdGlvbnNEZWY6IHtcbiAgICAgIGlkOiAnL2xvY2F0aW9uc0RlZicsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIGVudW06IFsnczMnLCAnUzMnLCAncmFja3NwYWNlJywgJ2djcycsICdhenVyZScsICdkcm9wYm94J10sXG4gICAgfSxcbiAgICBjb2xvckRlZjoge1xuICAgICAgaWQ6ICdjb2xvckRlZicsXG4gICAgICBvbmVPZjogW3tcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHBhdHRlcm46ICdeKFtBLUZhLWYwLTldezZ9fFtBLUZhLWYwLTldezN9KSQnLCAvLyB3aXRob3V0ICMgYXQgdGhlIGJlZ2luaW5nXG4gICAgICB9LCB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBlbnVtOiBbJ2FsaWNlYmx1ZScsICdhbnRpcXVld2hpdGUnLCAnYXF1YScsICdhcXVhbWFyaW5lJywgJ2F6dXJlJywgJ2JlaWdlJywgJ2Jpc3F1ZScsICdibGFjaycsICdibGFuY2hlZGFsbW9uZCcsICdibHVlJywgJ2JsdWV2aW9sZXQnLCAnYnJvd24nLCAnYnVybHl3b29kJywgJ2NhZGV0Ymx1ZScsICdjaGFydHJldXNlJywgJ2Nob2NvbGF0ZScsICdjb3JhbCcsICdjb3JuZmxvd2VyYmx1ZScsICdjb3Juc2lsaycsICdjcmltc29uJywgJ2N5YW4nLCAnZGFya2JsdWUnLCAnZGFya2N5YW4nLCAnZGFya2dvbGRlbnJvZCcsICdkYXJrZ3JheScsICdkYXJrZ3JlZW4nLCAnZGFya2dyZXknLCAnZGFya2toYWtpJywgJ2RhcmttYWdlbnRhJywgJ2RhcmtvbGl2ZWdyZWVuJywgJ2RhcmtvcmFuZ2UnLCAnZGFya29yY2hpZCcsICdkYXJrcmVkJywgJ2RhcmtzYWxtb24nLCAnZGFya3NlYWdyZWVuJywgJ2RhcmtzbGF0ZWJsdWUnLCAnZGFya3NsYXRlZ3JheScsICdkYXJrc2xhdGVncmV5JywgJ2Rhcmt0dXJxdW9pc2UnLCAnZGFya3Zpb2xldCcsICdkZWVwcGluaycsICdkZWVwc2t5Ymx1ZScsICdkaW1ncmF5JywgJ2RpbWdyZXknLCAnZG9kZ2VyYmx1ZScsICdmaXJlYnJpY2snLCAnZmxvcmFsd2hpdGUnLCAnZm9yZXN0Z3JlZW4nLCAnZnJhY3RhbCcsICdmdWNoc2lhJywgJ2dhaW5zYm9ybycsICdnaG9zdHdoaXRlJywgJ2dvbGQnLCAnZ29sZGVucm9kJywgJ2dyYXkwJywgJ2dyYXkxJywgJ2dyYXkyJywgJ2dyYXkzJywgJ2dyYXk0JywgJ2dyYXk1JywgJ2dyYXk2JywgJ2dyYXk3JywgJ2dyYXk4JywgJ2dyYXk5JywgJ2dyYXkxMCcsICdncmF5MTEnLCAnZ3JheTEyJywgJ2dyYXkxMycsICdncmF5MTQnLCAnZ3JheTE1JywgJ2dyYXkxNicsICdncmF5MTcnLCAnZ3JheTE4JywgJ2dyYXkxOScsICdncmF5MjAnLCAnZ3JheTIxJywgJ2dyYXkyMicsICdncmF5MjMnLCAnZ3JheTI0JywgJ2dyYXkyNScsICdncmF5MjYnLCAnZ3JheTI3JywgJ2dyYXkyOCcsICdncmF5MjknLCAnZ3JheTMwJywgJ2dyYXkzMScsICdncmF5MzInLCAnZ3JheTMzJywgJ2dyYXkzNCcsICdncmF5MzUnLCAnZ3JheTM2JywgJ2dyYXkzNycsICdncmF5MzgnLCAnZ3JheTM5JywgJ2dyYXk0MCcsICdncmF5NDEnLCAnZ3JheTQyJywgJ2dyYXk0MycsICdncmF5NDQnLCAnZ3JheTQ1JywgJ2dyYXk0NicsICdncmF5NDcnLCAnZ3JheTQ4JywgJ2dyYXk0OScsICdncmF5NTAnLCAnZ3JheTUxJywgJ2dyYXk1MicsICdncmF5NTMnLCAnZ3JheTU0JywgJ2dyYXk1NScsICdncmF5NTYnLCAnZ3JheTU3JywgJ2dyYXk1OCcsICdncmF5NTknLCAnZ3JheTYwJywgJ2dyYXk2MScsICdncmF5NjInLCAnZ3JheTYzJywgJ2dyYXk2NCcsICdncmF5NjUnLCAnZ3JheTY2JywgJ2dyYXk2NycsICdncmF5NjgnLCAnZ3JheTY5JywgJ2dyYXk3MCcsICdncmF5NzEnLCAnZ3JheTcyJywgJ2dyYXk3MycsICdncmF5NzQnLCAnZ3JheTc1JywgJ2dyYXk3NicsICdncmF5NzcnLCAnZ3JheTc4JywgJ2dyYXk3OScsICdncmF5ODAnLCAnZ3JheTgxJywgJ2dyYXk4MicsICdncmF5ODMnLCAnZ3JheTg0JywgJ2dyYXk4NScsICdncmF5ODYnLCAnZ3JheTg3JywgJ2dyYXk4OCcsICdncmF5ODknLCAnZ3JheTkwJywgJ2dyYXk5MScsICdncmF5OTInLCAnZ3JheTkzJywgJ2dyYXk5NCcsICdncmF5OTUnLCAnZ3JheTk2JywgJ2dyYXk5NycsICdncmF5OTgnLCAnZ3JheTk5JywgJ2dyYXkxMDAnLCAnZ3JheScsICdncmVlbicsICdncmVlbnllbGxvdycsICdncmV5JywgJ2hvbmV5ZGV3JywgJ2hvdHBpbmsnLCAnaW5kaWFucmVkJywgJ2luZGlnbycsICdpdm9yeScsICdraGFraScsICdsYXZlbmRlcicsICdsYXZlbmRlcmJsdXNoJywgJ2xhd25ncmVlbicsICdsZW1vbmNoaWZmb24nLCAnbGlnaHRibHVlJywgJ2xpZ2h0Y29yYWwnLCAnbGlnaHRjeWFuJywgJ2xpZ2h0Z29sZGVucm9keWVsbG93JywgJ2xpZ2h0Z3JheScsICdsaWdodGdyZWVuJywgJ2xpZ2h0Z3JleScsICdsaWdodHBpbmsnLCAnbGlnaHRzYWxtb24nLCAnbGlnaHRzZWFncmVlbicsICdsaWdodHNreWJsdWUnLCAnbGlnaHRzbGF0ZWdyYXknLCAnbGlnaHRzbGF0ZWdyZXknLCAnbGlnaHRzdGVlbGJsdWUnLCAnbGlnaHR5ZWxsb3cnLCAnbGltZScsICdsaW1lZ3JlZW4nLCAnbGluZW4nLCAnbWFnZW50YScsICdtYXJvb24nLCAnbWVkaXVtYXF1YW1hcmluZScsICdtZWRpdW1ibHVlJywgJ21lZGl1bW9yY2hpZCcsICdtZWRpdW1wdXJwbGUnLCAnbWVkaXVtc2VhZ3JlZW4nLCAnbWVkaXVtc2xhdGVibHVlJywgJ21lZGl1bXNwcmluZ2dyZWVuJywgJ21lZGl1bXR1cnF1b2lzZScsICdtZWRpdW12aW9sZXRyZWQnLCAnbWlkbmlnaHRibHVlJywgJ21pbnRjcmVhbScsICdtaXN0eXJvc2UnLCAnbW9jY2FzaW4nLCAnbmF2YWpvd2hpdGUnLCAnbmF2eScsICdub25lJywgJ29sZGxhY2UnLCAnb2xpdmUnLCAnb2xpdmVkcmFiJywgJ29yYW5nZScsICdvcmFuZ2VyZWQnLCAnb3JjaGlkJywgJ3BhbGVnb2xkZW5yb2QnLCAncGFsZWdyZWVuJywgJ3BhbGV0dXJxdW9pc2UnLCAncGFsZXZpb2xldHJlZCcsICdwYXBheWF3aGlwJywgJ3BlYWNocHVmZicsICdwZXJ1JywgJ3BpbmsnLCAncGx1bScsICdwb3dkZXJibHVlJywgJ3B1cnBsZScsICdyZWQnLCAncm9zeWJyb3duJywgJ3JveWFsYmx1ZScsICdzYWRkbGVicm93bicsICdzYWxtb24nLCAnc2FuZHlicm93bicsICdzZWFncmVlbicsICdzZWFzaGVsbCcsICdzaWVubmEnLCAnc2lsdmVyJywgJ3NreWJsdWUnLCAnc2xhdGVibHVlJywgJ3NsYXRlZ3JheScsICdzbGF0ZWdyZXknLCAnc25vdycsICdzcHJpbmdncmVlbicsICdzdGVlbGJsdWUnLCAndGFuJywgJ3RlYWwnLCAndGhpc3RsZScsICd0b21hdG8nLCAndHVycXVvaXNlJywgJ3Zpb2xldCcsICd3aGVhdCcsICd3aGl0ZScsICd3aGl0ZXNtb2tlJywgJ3llbGxvdycsICd5ZWxsb3dncmVlbicsICd0cmFuc3BhcmVudCddLFxuICAgICAgfV0sXG4gICAgfSxcbiAgICBwYWdlRm9ybWF0RGVmOiB7XG4gICAgICBpZDogJy9wYWdlRm9ybWF0RGVmJyxcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgZW51bTogWydhMicsICdhMycsICdhNCcsICdhNScsICdiNCcsICdiNScsICdsZXR0ZXInLCAnbGVnYWwnLCAndGFibG9pZCddLFxuICAgIH0sXG4gICAgcGFnZVJhbmdlRGVmOiB7XG4gICAgICBpZDogJy9wYWdlUmFuZ2VEZWYnLFxuICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgIHVuaXF1ZUl0ZW1zOiB0cnVlLFxuICAgICAgaXRlbXM6IFt7XG4gICAgICAgIG9uZU9mOiBbe1xuICAgICAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgICAgICBtaW5pbXVtOiAxLFxuICAgICAgICB9LCB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgcGF0dGVybjogJ14oXFxcXGQrKD86LVxcXFxkKyk/KSR8XigtXFxcXGQrKSR8XihcXFxcZCstKSQnLFxuICAgICAgICAgIGVycm9yTWVzc2FnZTogJ1BhcmFtIHNob3VsZCBiZSBwcm92aWRlZCBpbiBvbmUgb2YgdGhlIGZvbGxvd2luZyBmb3JtYXRzOiBcIjEsMiwzLDVcIiwgXCIxLTNcIiwgXCIxLVwiLCBcIi0yXCIgJyxcbiAgICAgICAgfV0sXG4gICAgICB9XSxcbiAgICB9LFxuICAgIGZhY2VzRGVmOiB7XG4gICAgICBpZDogJy9mYWNlc0RlZicsXG4gICAgICBvbmVPZjogW3tcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGVudW06IFsnYWxsJ10sXG4gICAgICB9LCB7XG4gICAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgICAgbWluaW11bTogMSxcbiAgICAgICAgbWF4aW11bTogMTAwMCxcbiAgICAgIH0sIHtcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgdW5pcXVlSXRlbXM6IHRydWUsXG4gICAgICAgIGl0ZW1zOiBbe1xuICAgICAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgICAgICBtaW5pbXVtOiAxLFxuICAgICAgICAgIG1heGltdW06IDEwMDAsXG4gICAgICAgIH1dLFxuICAgICAgfV0sXG4gICAgfSxcbiAgICBvYmplY3RzRGVmOiB7XG4gICAgICBpZDogJy9vYmplY3RzRGVmJyxcbiAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICBtaW5JdGVtczogMSxcbiAgICAgIG1heEl0ZW1zOiA1MCxcbiAgICAgIGl0ZW1zOiBbe1xuICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICBhZGRpdGlvbmFsSXRlbXM6IGZhbHNlLFxuICAgICAgICBtaW5JdGVtczogNCxcbiAgICAgICAgaXRlbXM6IFt7XG4gICAgICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgICAgIG1pbmltdW06IDAsXG4gICAgICAgICAgbWF4aW11bTogMTAwMDAsXG4gICAgICAgIH0sIHtcbiAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgICAgbWluaW11bTogMCxcbiAgICAgICAgICBtYXhpbXVtOiAxMDAwMCxcbiAgICAgICAgfSwge1xuICAgICAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgICAgICBtaW5pbXVtOiAxLFxuICAgICAgICAgIG1heGltdW06IDEwMDAwLFxuICAgICAgICB9LCB7XG4gICAgICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgICAgIG1pbmltdW06IDEsXG4gICAgICAgICAgbWF4aW11bTogMTAwMDAsXG4gICAgICAgIH1dLFxuICAgICAgfV0sXG4gICAgfSxcbiAgICBwb3NpdGlvbkRlZjoge1xuICAgICAgaWQ6ICcvcG9zaXRpb25EZWYnLFxuICAgICAgZGVmYXVsdDogWydtaWRkbGUnLCAnY2VudGVyJ10sXG4gICAgICBvbmVPZjogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgZW51bTogW1xuICAgICAgICAgICAgJ3RvcCcsXG4gICAgICAgICAgICAnbWlkZGxlJyxcbiAgICAgICAgICAgICdib3R0b20nLFxuICAgICAgICAgICAgJ2xlZnQnLFxuICAgICAgICAgICAgJ2NlbnRlcicsXG4gICAgICAgICAgICAncmlnaHQnLFxuICAgICAgICAgICAgJ2ZhY2VzJyxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICB1bmlxdWVJdGVtczogdHJ1ZSxcbiAgICAgICAgICBhZGRpdGlvbmFsSXRlbXM6IGZhbHNlLFxuICAgICAgICAgIG1pbkl0ZW1zOiAyLFxuICAgICAgICAgIG1heEl0ZW1zOiAyLFxuICAgICAgICAgIGRlZmF1bHQ6IFsnbWlkZGxlJywgJ2NlbnRlciddLFxuICAgICAgICAgIGl0ZW1zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICBlbnVtOiBbXG4gICAgICAgICAgICAgICAgJ3RvcCcsXG4gICAgICAgICAgICAgICAgJ21pZGRsZScsXG4gICAgICAgICAgICAgICAgJ2JvdHRvbScsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICBlbnVtOiBbXG4gICAgICAgICAgICAgICAgJ2xlZnQnLFxuICAgICAgICAgICAgICAgICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICdyaWdodCcsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIH0sXG59O1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvZGVmaW5pdGlvbnMuc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sQ0FBQyxJQUFNLGlCQUFpQixHQUFHO0lBQy9CLFNBQVMsRUFBRSx5Q0FBeUM7SUFDcEQsS0FBSyxFQUFFLFdBQVc7SUFDbEIsV0FBVyxFQUFFLDhCQUE4QjtJQUMzQyxJQUFJLEVBQUUsUUFBUTtJQUNkLG9CQUFvQixFQUFFLEtBQUs7SUFDM0IsV0FBVyxFQUFFO1FBQ1gsWUFBWSxFQUFFO1lBQ1osRUFBRSxFQUFFLGVBQWU7WUFDbkIsSUFBSSxFQUFFLE9BQU87WUFDYixlQUFlLEVBQUUsS0FBSztZQUN0QixRQUFRLEVBQUUsQ0FBQztZQUNYLFFBQVEsRUFBRSxFQUFFO1lBQ1osS0FBSyxFQUFFLENBQUM7b0JBQ04sS0FBSyxFQUFFLENBQUM7NEJBQ04sSUFBSSxFQUFFLFFBQVE7eUJBQ2YsRUFBRTs0QkFDRCxJQUFJLEVBQUUsUUFBUTs0QkFDZCxvQkFBb0IsRUFBRSxLQUFLOzRCQUMzQixVQUFVLEVBQUU7Z0NBQ1YsRUFBRSxFQUFFO29DQUNGLElBQUksRUFBRSxRQUFRO2lDQUNmOzZCQUNGO3lCQUNGLENBQUM7aUJBQ0gsQ0FBQztTQUNIO1FBQ0QsZUFBZSxFQUFFO1lBQ2YsRUFBRSxFQUFFLGtCQUFrQjtZQUN0QixLQUFLLEVBQUUsQ0FBQztvQkFDTixvQkFBb0IsRUFBRSxLQUFLO29CQUMzQixJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUM7aUJBQ3pHLEVBQUU7b0JBQ0QsSUFBSSxFQUFFLE9BQU87b0JBQ2Isb0JBQW9CLEVBQUUsS0FBSztvQkFDM0IsS0FBSyxFQUFFLENBQUM7NEJBQ04sUUFBUSxFQUFFLENBQUM7NEJBQ1gsUUFBUSxFQUFFLEVBQUU7NEJBQ1osSUFBSSxFQUFFLFFBQVE7NEJBQ2Qsb0JBQW9CLEVBQUUsS0FBSzs0QkFDM0IsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFDO3lCQUN6RyxDQUFDO2lCQUNILENBQUM7U0FDSDtRQUNELFVBQVUsRUFBRTtZQUNWLEVBQUUsRUFBRSxhQUFhO1lBQ2pCLElBQUksRUFBRSxRQUFRO1lBQ2QsdUVBQXVFO1lBQ3ZFLCtDQUErQztZQUMvQyx5REFBeUQ7U0FDMUQ7UUFDRCxZQUFZLEVBQUU7WUFDWixFQUFFLEVBQUUsZUFBZTtZQUNuQixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDO1NBQzNEO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsRUFBRSxFQUFFLFVBQVU7WUFDZCxLQUFLLEVBQUUsQ0FBQztvQkFDTixJQUFJLEVBQUUsUUFBUTtvQkFDZCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsNEJBQTRCO2lCQUMzRSxFQUFFO29CQUNELElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxN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RCxXQUFXLEVBQUU7WUFDWCxFQUFFLEVBQUUsY0FBYztZQUNsQixPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO1lBQzdCLEtBQUssRUFBRTtnQkFDTDtvQkFDRSxJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUU7d0JBQ0osS0FBSzt3QkFDTCxRQUFRO3dCQUNSLFFBQVE7d0JBQ1IsTUFBTTt3QkFDTixRQUFRO3dCQUNSLE9BQU87d0JBQ1AsT0FBTztxQkFDUjtpQkFDRjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsT0FBTztvQkFDYixXQUFXLEVBQUUsSUFBSTtvQkFDakIsZUFBZSxFQUFFLEtBQUs7b0JBQ3RCLFFBQVEsRUFBRSxDQUFDO29CQUNYLFFBQVEsRUFBRSxDQUFDO29CQUNYLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUM7b0JBQzdCLEtBQUssRUFBRTt3QkFDTDs0QkFDRSxJQUFJLEVBQUUsUUFBUTs0QkFDZCxJQUFJLEVBQUU7Z0NBQ0osS0FBSztnQ0FDTCxRQUFRO2dDQUNSLFFBQVE7NkJBQ1Q7eUJBQ0YsRUFBRTs0QkFDRCxJQUFJLEVBQUUsUUFBUTs0QkFDZCxJQUFJLEVBQUU7Z0NBQ0osTUFBTTtnQ0FDTixRQUFRO2dDQUNSLE9BQU87NkJBQ1I7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0Y7Q0FDRixDQUFDIiwiZmlsZSI6InNjaGVtYS9kZWZpbml0aW9ucy5zY2hlbWEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuZXhwb3J0IGNvbnN0IERlZmluaXRpb25zU2NoZW1hID0ge1xuICAnJHNjaGVtYSc6ICdodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMnLFxuICB0aXRsZTogJ0ZpbGVzdGFjaycsXG4gIGRlc2NyaXB0aW9uOiAnRmlsZXN0YWNrIGNvbW1vbiBkZWZpbml0aW9ucycsXG4gIHR5cGU6ICdvYmplY3QnLFxuICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gIGRlZmluaXRpb25zOiB7XG4gICAgd29ya2Zsb3dzRGVmOiB7XG4gICAgICBpZDogJy93b3JrZmxvd3NEZWYnLFxuICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgIGFkZGl0aW9uYWxJdGVtczogZmFsc2UsXG4gICAgICBtaW5JdGVtczogMSxcbiAgICAgIG1heEl0ZW1zOiAyMCxcbiAgICAgIGl0ZW1zOiBbe1xuICAgICAgICBvbmVPZjogW3tcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSwge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICBpZDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfV0sXG4gICAgICB9XSxcbiAgICB9LFxuICAgIHNlY3VyaXR5Q2FsbERlZjoge1xuICAgICAgaWQ6ICcvc2VjdXJpdHlDYWxsRGVmJyxcbiAgICAgIG9uZU9mOiBbe1xuICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBlbnVtOiBbJ3BpY2snLCAncmVhZCcsICdzdGF0JywgJ3dyaXRlJywgJ3dyaXRlVXJsJywgJ3N0b3JlJywgJ2NvbnZlcnQnLCAncmVtb3ZlJywgJ2V4aWYnLCAncnVuV29ya2Zsb3cnXSxcbiAgICAgIH0sIHtcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICBpdGVtczogW3tcbiAgICAgICAgICBtaW5JdGVtczogMSxcbiAgICAgICAgICBtYXhJdGVtczogMTAsXG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgIGVudW06IFsncGljaycsICdyZWFkJywgJ3N0YXQnLCAnd3JpdGUnLCAnd3JpdGVVcmwnLCAnc3RvcmUnLCAnY29udmVydCcsICdyZW1vdmUnLCAnZXhpZicsICdydW5Xb3JrZmxvdyddLFxuICAgICAgICB9XSxcbiAgICAgIH1dLFxuICAgIH0sXG4gICAgcmVnaW9uc0RlZjoge1xuICAgICAgaWQ6ICcvcmVnaW9uc0RlZicsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIC8vIGZvciBub3cgd2UgZGVjaWRlZCB0byByZW1vdmUgdmFsaWRhdGlvbiBvZiByZWdpb25zIChBV1MgKyBSYWNrc3BhY2UpXG4gICAgICAvLyBwYXR0ZXJuOiAnXlthLXpBLVpdezJ9LVthLXpBLXpdezEsfS1bMS05XSQnLFxuICAgICAgLy8gZXJyb3JNZXNzYWdlOiAnQVdTIFJlZ2lvbiBQYXJhbSBpcyBpbiBpbnZhbGlkIGZvcm1hdCcsXG4gICAgfSxcbiAgICBsb2NhdGlvbnNEZWY6IHtcbiAgICAgIGlkOiAnL2xvY2F0aW9uc0RlZicsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIGVudW06IFsnczMnLCAnUzMnLCAncmFja3NwYWNlJywgJ2djcycsICdhenVyZScsICdkcm9wYm94J10sXG4gICAgfSxcbiAgICBjb2xvckRlZjoge1xuICAgICAgaWQ6ICdjb2xvckRlZicsXG4gICAgICBvbmVPZjogW3tcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHBhdHRlcm46ICdeKFtBLUZhLWYwLTldezZ9fFtBLUZhLWYwLTldezN9KSQnLCAvLyB3aXRob3V0ICMgYXQgdGhlIGJlZ2luaW5nXG4gICAgICB9LCB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBlbnVtOiBbJ2FsaWNlYmx1ZScsICdhbnRpcXVld2hpdGUnLCAnYXF1YScsICdhcXVhbWFyaW5lJywgJ2F6dXJlJywgJ2JlaWdlJywgJ2Jpc3F1ZScsICdibGFjaycsICdibGFuY2hlZGFsbW9uZCcsICdibHVlJywgJ2JsdWV2aW9sZXQnLCAnYnJvd24nLCAnYnVybHl3b29kJywgJ2NhZGV0Ymx1ZScsICdjaGFydHJldXNlJywgJ2Nob2NvbGF0ZScsICdjb3JhbCcsICdjb3JuZmxvd2VyYmx1ZScsICdjb3Juc2lsaycsICdjcmltc29uJywgJ2N5YW4nLCAnZGFya2JsdWUnLCAnZGFya2N5YW4nLCAnZGFya2dvbGRlbnJvZCcsICdkYXJrZ3JheScsICdkYXJrZ3JlZW4nLCAnZGFya2dyZXknLCAnZGFya2toYWtpJywgJ2RhcmttYWdlbnRhJywgJ2RhcmtvbGl2ZWdyZWVuJywgJ2RhcmtvcmFuZ2UnLCAnZGFya29yY2hpZCcsICdkYXJrcmVkJywgJ2RhcmtzYWxtb24nLCAnZGFya3NlYWdyZWVuJywgJ2RhcmtzbGF0ZWJsdWUnLCAnZGFya3NsYXRlZ3JheScsICdkYXJrc2xhdGVncmV5JywgJ2Rhcmt0dXJxdW9pc2UnLCAnZGFya3Zpb2xldCcsICdkZWVwcGluaycsICdkZWVwc2t5Ymx1ZScsICdkaW1ncmF5JywgJ2RpbWdyZXknLCAnZG9kZ2VyYmx1ZScsICdmaXJlYnJpY2snLCAnZmxvcmFsd2hpdGUnLCAnZm9yZXN0Z3JlZW4nLCAnZnJhY3RhbCcsICdmdWNoc2lhJywgJ2dhaW5zYm9ybycsICdnaG9zdHdoaXRlJywgJ2dvbGQnLCAnZ29sZGVucm9kJywgJ2dyYXkwJywgJ2dyYXkxJywgJ2dyYXkyJywgJ2dyYXkzJywgJ2dyYXk0JywgJ2dyYXk1JywgJ2dyYXk2JywgJ2dyYXk3JywgJ2dyYXk4JywgJ2dyYXk5JywgJ2dyYXkxMCcsICdncmF5MTEnLCAnZ3JheTEyJywgJ2dyYXkxMycsICdncmF5MTQnLCAnZ3JheTE1JywgJ2dyYXkxNicsICdncmF5MTcnLCAnZ3JheTE4JywgJ2dyYXkxOScsICdncmF5MjAnLCAnZ3JheTIxJywgJ2dyYXkyMicsICdncmF5MjMnLCAnZ3JheTI0JywgJ2dyYXkyNScsICdncmF5MjYnLCAnZ3JheTI3JywgJ2dyYXkyOCcsICdncmF5MjknLCAnZ3JheTMwJywgJ2dyYXkzMScsICdncmF5MzInLCAnZ3JheTMzJywgJ2dyYXkzNCcsICdncmF5MzUnLCAnZ3JheTM2JywgJ2dyYXkzNycsICdncmF5MzgnLCAnZ3JheTM5JywgJ2dyYXk0MCcsICdncmF5NDEnLCAnZ3JheTQyJywgJ2dyYXk0MycsICdncmF5NDQnLCAnZ3JheTQ1JywgJ2dyYXk0NicsICdncmF5NDcnLCAnZ3JheTQ4JywgJ2dyYXk0OScsICdncmF5NTAnLCAnZ3JheTUxJywgJ2dyYXk1MicsICdncmF5NTMnLCAnZ3JheTU0JywgJ2dyYXk1NScsICdncmF5NTYnLCAnZ3JheTU3JywgJ2dyYXk1OCcsICdncmF5NTknLCAnZ3JheTYwJywgJ2dyYXk2MScsICdncmF5NjInLCAnZ3JheTYzJywgJ2dyYXk2NCcsICdncmF5NjUnLCAnZ3JheTY2JywgJ2dyYXk2NycsICdncmF5NjgnLCAnZ3JheTY5JywgJ2dyYXk3MCcsICdncmF5NzEnLCAnZ3JheTcyJywgJ2dyYXk3MycsICdncmF5NzQnLCAnZ3JheTc1JywgJ2dyYXk3NicsICdncmF5NzcnLCAnZ3JheTc4JywgJ2dyYXk3OScsICdncmF5ODAnLCAnZ3JheTgxJywgJ2dyYXk4MicsICdncmF5ODMnLCAnZ3JheTg0JywgJ2dyYXk4NScsICdncmF5ODYnLCAnZ3JheTg3JywgJ2dyYXk4OCcsICdncmF5ODknLCAnZ3JheTkwJywgJ2dyYXk5MScsICdncmF5OTInLCAnZ3JheTkzJywgJ2dyYXk5NCcsICdncmF5OTUnLCAnZ3JheTk2JywgJ2dyYXk5NycsICdncmF5OTgnLCAnZ3JheTk5JywgJ2dyYXkxMDAnLCAnZ3JheScsICdncmVlbicsICdncmVlbnllbGxvdycsICdncmV5JywgJ2hvbmV5ZGV3JywgJ2hvdHBpbmsnLCAnaW5kaWFucmVkJywgJ2luZGlnbycsICdpdm9yeScsICdraGFraScsICdsYXZlbmRlcicsICdsYXZlbmRlcmJsdXNoJywgJ2xhd25ncmVlbicsICdsZW1vbmNoaWZmb24nLCAnbGlnaHRibHVlJywgJ2xpZ2h0Y29yYWwnLCAnbGlnaHRjeWFuJywgJ2xpZ2h0Z29sZGVucm9keWVsbG93JywgJ2xpZ2h0Z3JheScsICdsaWdodGdyZWVuJywgJ2xpZ2h0Z3JleScsICdsaWdodHBpbmsnLCAnbGlnaHRzYWxtb24nLCAnbGlnaHRzZWFncmVlbicsICdsaWdodHNreWJsdWUnLCAnbGlnaHRzbGF0ZWdyYXknLCAnbGlnaHRzbGF0ZWdyZXknLCAnbGlnaHRzdGVlbGJsdWUnLCAnbGlnaHR5ZWxsb3cnLCAnbGltZScsICdsaW1lZ3JlZW4nLCAnbGluZW4nLCAnbWFnZW50YScsICdtYXJvb24nLCAnbWVkaXVtYXF1YW1hcmluZScsICdtZWRpdW1ibHVlJywgJ21lZGl1bW9yY2hpZCcsICdtZWRpdW1wdXJwbGUnLCAnbWVkaXVtc2VhZ3JlZW4nLCAnbWVkaXVtc2xhdGVibHVlJywgJ21lZGl1bXNwcmluZ2dyZWVuJywgJ21lZGl1bXR1cnF1b2lzZScsICdtZWRpdW12aW9sZXRyZWQnLCAnbWlkbmlnaHRibHVlJywgJ21pbnRjcmVhbScsICdtaXN0eXJvc2UnLCAnbW9jY2FzaW4nLCAnbmF2YWpvd2hpdGUnLCAnbmF2eScsICdub25lJywgJ29sZGxhY2UnLCAnb2xpdmUnLCAnb2xpdmVkcmFiJywgJ29yYW5nZScsICdvcmFuZ2VyZWQnLCAnb3JjaGlkJywgJ3BhbGVnb2xkZW5yb2QnLCAncGFsZWdyZWVuJywgJ3BhbGV0dXJxdW9pc2UnLCAncGFsZXZpb2xldHJlZCcsICdwYXBheWF3aGlwJywgJ3BlYWNocHVmZicsICdwZXJ1JywgJ3BpbmsnLCAncGx1bScsICdwb3dkZXJibHVlJywgJ3B1cnBsZScsICdyZWQnLCAncm9zeWJyb3duJywgJ3JveWFsYmx1ZScsICdzYWRkbGVicm93bicsICdzYWxtb24nLCAnc2FuZHlicm93bicsICdzZWFncmVlbicsICdzZWFzaGVsbCcsICdzaWVubmEnLCAnc2lsdmVyJywgJ3NreWJsdWUnLCAnc2xhdGVibHVlJywgJ3NsYXRlZ3JheScsICdzbGF0ZWdyZXknLCAnc25vdycsICdzcHJpbmdncmVlbicsICdzdGVlbGJsdWUnLCAndGFuJywgJ3RlYWwnLCAndGhpc3RsZScsICd0b21hdG8nLCAndHVycXVvaXNlJywgJ3Zpb2xldCcsICd3aGVhdCcsICd3aGl0ZScsICd3aGl0ZXNtb2tlJywgJ3llbGxvdycsICd5ZWxsb3dncmVlbicsICd0cmFuc3BhcmVudCddLFxuICAgICAgfV0sXG4gICAgfSxcbiAgICBwYWdlRm9ybWF0RGVmOiB7XG4gICAgICBpZDogJy9wYWdlRm9ybWF0RGVmJyxcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgZW51bTogWydhMicsICdhMycsICdhNCcsICdhNScsICdiNCcsICdiNScsICdsZXR0ZXInLCAnbGVnYWwnLCAndGFibG9pZCddLFxuICAgIH0sXG4gICAgcGFnZVJhbmdlRGVmOiB7XG4gICAgICBpZDogJy9wYWdlUmFuZ2VEZWYnLFxuICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgIHVuaXF1ZUl0ZW1zOiB0cnVlLFxuICAgICAgaXRlbXM6IFt7XG4gICAgICAgIG9uZU9mOiBbe1xuICAgICAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgICAgICBtaW5pbXVtOiAxLFxuICAgICAgICB9LCB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgcGF0dGVybjogJ14oXFxcXGQrKD86LVxcXFxkKyk/KSR8XigtXFxcXGQrKSR8XihcXFxcZCstKSQnLFxuICAgICAgICAgIGVycm9yTWVzc2FnZTogJ1BhcmFtIHNob3VsZCBiZSBwcm92aWRlZCBpbiBvbmUgb2YgdGhlIGZvbGxvd2luZyBmb3JtYXRzOiBcIjEsMiwzLDVcIiwgXCIxLTNcIiwgXCIxLVwiLCBcIi0yXCIgJyxcbiAgICAgICAgfV0sXG4gICAgICB9XSxcbiAgICB9LFxuICAgIGZhY2VzRGVmOiB7XG4gICAgICBpZDogJy9mYWNlc0RlZicsXG4gICAgICBvbmVPZjogW3tcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGVudW06IFsnYWxsJ10sXG4gICAgICB9LCB7XG4gICAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgICAgbWluaW11bTogMSxcbiAgICAgICAgbWF4aW11bTogMTAwMCxcbiAgICAgIH0sIHtcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgdW5pcXVlSXRlbXM6IHRydWUsXG4gICAgICAgIGl0ZW1zOiBbe1xuICAgICAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgICAgICBtaW5pbXVtOiAxLFxuICAgICAgICAgIG1heGltdW06IDEwMDAsXG4gICAgICAgIH1dLFxuICAgICAgfV0sXG4gICAgfSxcbiAgICBvYmplY3RzRGVmOiB7XG4gICAgICBpZDogJy9vYmplY3RzRGVmJyxcbiAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICBtaW5JdGVtczogMSxcbiAgICAgIG1heEl0ZW1zOiA1MCxcbiAgICAgIGl0ZW1zOiBbe1xuICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICBhZGRpdGlvbmFsSXRlbXM6IGZhbHNlLFxuICAgICAgICBtaW5JdGVtczogNCxcbiAgICAgICAgaXRlbXM6IFt7XG4gICAgICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgICAgIG1pbmltdW06IDAsXG4gICAgICAgICAgbWF4aW11bTogMTAwMDAsXG4gICAgICAgIH0sIHtcbiAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgICAgbWluaW11bTogMCxcbiAgICAgICAgICBtYXhpbXVtOiAxMDAwMCxcbiAgICAgICAgfSwge1xuICAgICAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgICAgICBtaW5pbXVtOiAxLFxuICAgICAgICAgIG1heGltdW06IDEwMDAwLFxuICAgICAgICB9LCB7XG4gICAgICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgICAgIG1pbmltdW06IDEsXG4gICAgICAgICAgbWF4aW11bTogMTAwMDAsXG4gICAgICAgIH1dLFxuICAgICAgfV0sXG4gICAgfSxcbiAgICBwb3NpdGlvbkRlZjoge1xuICAgICAgaWQ6ICcvcG9zaXRpb25EZWYnLFxuICAgICAgZGVmYXVsdDogWydtaWRkbGUnLCAnY2VudGVyJ10sXG4gICAgICBvbmVPZjogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgZW51bTogW1xuICAgICAgICAgICAgJ3RvcCcsXG4gICAgICAgICAgICAnbWlkZGxlJyxcbiAgICAgICAgICAgICdib3R0b20nLFxuICAgICAgICAgICAgJ2xlZnQnLFxuICAgICAgICAgICAgJ2NlbnRlcicsXG4gICAgICAgICAgICAncmlnaHQnLFxuICAgICAgICAgICAgJ2ZhY2VzJyxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICB1bmlxdWVJdGVtczogdHJ1ZSxcbiAgICAgICAgICBhZGRpdGlvbmFsSXRlbXM6IGZhbHNlLFxuICAgICAgICAgIG1pbkl0ZW1zOiAyLFxuICAgICAgICAgIG1heEl0ZW1zOiAyLFxuICAgICAgICAgIGRlZmF1bHQ6IFsnbWlkZGxlJywgJ2NlbnRlciddLFxuICAgICAgICAgIGl0ZW1zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICBlbnVtOiBbXG4gICAgICAgICAgICAgICAgJ3RvcCcsXG4gICAgICAgICAgICAgICAgJ21pZGRsZScsXG4gICAgICAgICAgICAgICAgJ2JvdHRvbScsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICBlbnVtOiBbXG4gICAgICAgICAgICAgICAgJ2xlZnQnLFxuICAgICAgICAgICAgICAgICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICdyaWdodCcsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIH0sXG59O1xuIl19
export declare const MetadataParamsSchema: {
'$schema': string;
$schema: string;
title: string;

@@ -4,0 +4,0 @@ description: string;

@@ -196,2 +196,2 @@ /*

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvcGlja2VyLnNjaGVtYS5zcGVjLmJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLElBQUksQ0FBQztBQUV0RCxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUN2QixJQUFBLG1CQUFLLENBQVc7QUFFeEIsUUFBUSxDQUFDLHNCQUFzQixFQUFFO0lBQy9CLElBQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRW5ELElBQU0sUUFBUSxHQUFHLFVBQUEsTUFBTTtRQUNyQixJQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFOUIsMkJBQTJCO1FBQzNCLDZCQUE2QjtRQUM3QixJQUFJO1FBRUosT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hELENBQUMsQ0FBQztJQUVGLElBQU0sVUFBVSxHQUFHLFVBQUEsR0FBRyxJQUFJLE9BQUEsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFmLENBQWUsQ0FBQztJQUUxQyxFQUFFLENBQUMsb0NBQW9DLEVBQUU7UUFDdkMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEQsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4QkFBOEIsRUFBRTtRQUNqQyxNQUFNLENBQUMsRUFBRSxDQUFD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Yy5icm93c2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBnZXRWYWxpZGF0b3IsIFBpY2tlclBhcmFtc1NjaGVtYSB9IGZyb20gJy4vJztcblxuaW1wb3J0ICogYXMganNkb20gZnJvbSAnanNkb20nO1xuY29uc3QgeyBKU0RPTSB9ID0ganNkb207XG5cbmRlc2NyaWJlKCdQaWNrZXIgUGFyYW1zIFNjaGVtYScsICgpID0+IHtcbiAgY29uc3QgdmFsaWRhdG9yID0gZ2V0VmFsaWRhdG9yKFBpY2tlclBhcmFtc1NjaGVtYSk7XG5cbiAgY29uc3QgdmFsaWRhdGUgPSBwYXJhbXMgPT4ge1xuICAgIGNvbnN0IHJlcyA9IHZhbGlkYXRvcihwYXJhbXMpO1xuXG4gICAgLy8gaWYgKHJlcy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgLy8gICBjb25zb2xlLmxvZyhyZXMuZXJyb3JzKTtcbiAgICAvLyB9XG5cbiAgICByZXR1cm4gcmVzLmVycm9ycy5sZW5ndGggPT09IDAgPyB0cnVlIDogZmFsc2U7XG4gIH07XG5cbiAgY29uc3QgYXNzZXJ0RmFpbCA9IHJlcyA9PiBhc3NlcnQub2soIXJlcyk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBhbGxvdyBtYW51YWwgcmV0cnknLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgYWxsb3dNYW51YWxSZXRyeTogdHJ1ZSB9KSk7XG4gICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7IGFsbG93TWFudWFsUmV0cnk6IHt9IH0pKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBhY2NlcHQgcGFyYW0nLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgYWNjZXB0OiAnaW1hZ2UvanBlZycgfSkpO1xuICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7IGFjY2VwdDogWydpbWFnZS9qcGVnJywgJ2ltYWdlL3BuZycsICcqJ10gfSkpO1xuICAgIGFzc2VydEZhaWwodmFsaWRhdGUoeyBhY2NlcHQ6IHt9IH0pKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBmcm9tU291cmNlcyBwYXJhbScsICgpID0+IHtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBmcm9tU291cmNlczogWyd1cmwnLCAnZmFjZWJvb2snXSB9KSk7XG4gICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7IGZyb21Tb3VyY2VzOiBbJ3dyb25nX3NvdXJjZSddIH0pKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBmcm9tU291cmNlcyBwYXJhbSB0eXBlIG9iamVjdCcsICgpID0+IHtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBmcm9tU291cmNlczogWyd1cmwnLCB7IHRlc3Q6IDEyMyB9LCB7IHRlc3Q6ICgpID0+IGNvbnNvbGUubG9nIH1dIH0pKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb250YWluZXIgcGFyYW0nLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgY29udGFpbmVyOiAndGVzdCcgfSkpO1xuXG4gICAgY29uc3Qgbm9kZURpdiA9IEpTRE9NLmZyYWdtZW50KGA8ZGl2PkhlbGxvPC9kaXY+YCkucXVlcnlTZWxlY3RvcignZGl2Jyk7XG4gICAgY29uc3Qgbm9kZVAgPSBKU0RPTS5mcmFnbWVudChgPHA+SGVsbG88L3A+YCkucXVlcnlTZWxlY3RvcigncCcpO1xuICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7IGNvbnRhaW5lcjogbm9kZURpdiB9KSk7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgY29udGFpbmVyOiBub2RlUCB9KSk7XG4gICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7IGNvbnRhaW5lcjoge30gfSkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNsZWFudXBJbWFnZUV4aWYgcGFyYW0nLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgY2xlYW51cEltYWdlRXhpZjogdHJ1ZSB9KSk7XG4gICAgYXNzZXJ0Lm9rKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICBjbGVhbnVwSW1hZ2VFeGlmOiB7XG4gICAgICAgICAga2VlcE9yaWVudGF0aW9uOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuICAgIGFzc2VydEZhaWwoXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIGNsZWFudXBJbWFnZUV4aWY6IHtcbiAgICAgICAgICB0ZXN0OiAxLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGRpc3BsYXlNb2RlIHBhcmFtJywgKCkgPT4ge1xuICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7IGRpc3BsYXlNb2RlOiAnaW5saW5lJyB9KSk7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgZGlzcGxheU1vZGU6ICdvdmVybGF5JyB9KSk7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgZGlzcGxheU1vZGU6ICdkcm9wUGFuZScgfSkpO1xuICAgIGFzc2VydEZhaWwodmFsaWRhdGUoeyBkaXNwbGF5TW9kZTogJ3Rlc3QnIH0pKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBpbWFnZURpbSBwYXJhbScsICgpID0+IHtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBpbWFnZURpbTogWzEwMCwgMTAwXSB9KSk7XG4gICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7IGltYWdlRGltOiBbMCwgMV0gfSkpO1xuICAgIGFzc2VydEZhaWwodmFsaWRhdGUoeyBpbWFnZURpbTogWzEwMCwgMTAwLCAzXSB9KSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgc3RvcmVUbyBQYXJhbXMnLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICBzdG9yZVRvOiB7XG4gICAgICAgICAgZmlsZW5hbWU6ICd0ZXN0JyxcbiAgICAgICAgICBsb2NhdGlvbjogJ3MzJyxcbiAgICAgICAgICBwYXRoOiAnL3Rlc3QvJyxcbiAgICAgICAgICByZWdpb246ICd0ZXN0JyxcbiAgICAgICAgICBhY2Nlc3M6ICdwdWJsaWMnLFxuICAgICAgICAgIHdvcmtmbG93czogWyd0ZXN0J10sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBhc3NlcnQub2soXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIHN0b3JlVG86IHtcbiAgICAgICAgICBmaWxlbmFtZTogJ3Rlc3QnLFxuICAgICAgICAgIGxvY2F0aW9uOiAnczMnLFxuICAgICAgICAgIHBhdGg6ICcvdGVzdC8nLFxuICAgICAgICAgIHJlZ2lvbjogJ3Rlc3QnLFxuICAgICAgICAgIGFjY2VzczogJ3ByaXZhdGUnLFxuICAgICAgICAgIHdvcmtmbG93czogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ3Rlc3QnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgYXNzZXJ0RmFpbChcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgc3RvcmVUbzoge1xuICAgICAgICAgIHdvcmtmbG93czoge30sXG4gICAgICAgICAgYWNjZXNzOiAnbm9uZScsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgdHJhbnNmb3JtYXRpb25zIHBhcmFtJywgKCkgPT4ge1xuICAgIGFzc2VydC5vayhcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgdHJhbnNmb3JtYXRpb25zOiB7XG4gICAgICAgICAgY2lyY2xlOiB0cnVlLFxuICAgICAgICAgIHJvdGF0ZTogdHJ1ZSxcbiAgICAgICAgICBjcm9wOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgYXNzZXJ0Lm9rKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICB0cmFuc2Zvcm1hdGlvbnM6IHtcbiAgICAgICAgICBjaXJjbGU6IGZhbHNlLFxuICAgICAgICAgIHJvdGF0ZTogZmFsc2UsXG4gICAgICAgICAgY3JvcDoge1xuICAgICAgICAgICAgZm9yY2U6IHRydWUsXG4gICAgICAgICAgICBhc3BlY3RSYXRpbzogMSAvIDIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGFzc2VydEZhaWwoXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIHRyYW5zZm9ybWF0aW9uczoge1xuICAgICAgICAgIHRlc3Q6IDEyMyxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjdXN0b21UZXh0IHBhcmFtJywgKCkgPT4ge1xuICAgIGFzc2VydC5vayhcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgY3VzdG9tVGV4dDoge1xuICAgICAgICAgIHNvbWV0ZXN0OiAndGVzdHRleHQnLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuICAgIGFzc2VydEZhaWwodmFsaWRhdGUoeyBjdXN0b21UZXh0OiBbJ3Rlc3QnLCAndHMxJ10gfSkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGN1c3RvbUF1dGhUZXh0IHBhcmFtJywgKCkgPT4ge1xuICAgIGFzc2VydC5vayhcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgY3VzdG9tQXV0aFRleHQ6IHtcbiAgICAgICAgICB0ZXN0OiB7XG4gICAgICAgICAgICB0b3A6ICd0ZXN0JyxcbiAgICAgICAgICAgIGJvdHRvbTogJ3Rlc3QyJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgYXNzZXJ0RmFpbChcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgY3VzdG9tQXV0aFRleHQ6IHtcbiAgICAgICAgICB0ZXN0OiB7XG4gICAgICAgICAgICB0b3A6ICd0ZXN0JyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgYXNzZXJ0RmFpbChcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgY3VzdG9tQXV0aFRleHQ6IHtcbiAgICAgICAgICB0ZXN0OiAnMTIzJyxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSAnLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICB1cGxvYWRDb25maWc6IHtcbiAgICAgICAgICBwYXJ0U2l6ZTogNSAqIDEwMjQgKiAxMDI0LFxuICAgICAgICAgIGludGVsbGlnZW50OiB0cnVlLFxuICAgICAgICAgIG9uUHJvZ3Jlc3M6ICgpID0+IGNvbnNvbGUsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBhc3NlcnQub2soXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIHVwbG9hZENvbmZpZzoge1xuICAgICAgICAgIGludGVsbGlnZW50OiAnZmFsbGJhY2snLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgYXNzZXJ0RmFpbChcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgdXBsb2FkQ29uZmlnOiB7XG4gICAgICAgICAgcGFydFNpemU6IDEwMCxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGFzc2VydEZhaWwoXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIHVwbG9hZENvbmZpZzoge1xuICAgICAgICAgIHByb2dyZXNzSW50ZXJ2YWw6IDAsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBhc3NlcnRGYWlsKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICB1cGxvYWRDb25maWc6IHtcbiAgICAgICAgICBjb25jdXJyZW5jeTogMCxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcbiAgfSk7XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvcGlja2VyLnNjaGVtYS5zcGVjLmJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLElBQUksQ0FBQztBQUV0RCxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUN2QixJQUFBLEtBQUssR0FBSyxLQUFLLE1BQVYsQ0FBVztBQUV4QixRQUFRLENBQUMsc0JBQXNCLEVBQUU7SUFDL0IsSUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFbkQsSUFBTSxRQUFRLEdBQUcsVUFBQSxNQUFNO1FBQ3JCLElBQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5QiwyQkFBMkI7UUFDM0IsNkJBQTZCO1FBQzdCLElBQUk7UUFFSixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDaEQsQ0FBQyxDQUFDO0lBRUYsSUFBTSxVQUFVLEdBQUcsVUFBQSxHQUFHLElBQUksT0FBQSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQWYsQ0FBZSxDQUFDO0lBRTFDLEVBQUUsQ0FBQyxvQ0FBb0MsRUFBRTtRQUN2QyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoRCxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDhCQUE4QixFQUFFO1FBQ2pDLE1BQU0s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a2VyLnNjaGVtYS5zcGVjLmJyb3dzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IGdldFZhbGlkYXRvciwgUGlja2VyUGFyYW1zU2NoZW1hIH0gZnJvbSAnLi8nO1xuXG5pbXBvcnQgKiBhcyBqc2RvbSBmcm9tICdqc2RvbSc7XG5jb25zdCB7IEpTRE9NIH0gPSBqc2RvbTtcblxuZGVzY3JpYmUoJ1BpY2tlciBQYXJhbXMgU2NoZW1hJywgKCkgPT4ge1xuICBjb25zdCB2YWxpZGF0b3IgPSBnZXRWYWxpZGF0b3IoUGlja2VyUGFyYW1zU2NoZW1hKTtcblxuICBjb25zdCB2YWxpZGF0ZSA9IHBhcmFtcyA9PiB7XG4gICAgY29uc3QgcmVzID0gdmFsaWRhdG9yKHBhcmFtcyk7XG5cbiAgICAvLyBpZiAocmVzLmVycm9ycy5sZW5ndGgpIHtcbiAgICAvLyAgIGNvbnNvbGUubG9nKHJlcy5lcnJvcnMpO1xuICAgIC8vIH1cblxuICAgIHJldHVybiByZXMuZXJyb3JzLmxlbmd0aCA9PT0gMCA/IHRydWUgOiBmYWxzZTtcbiAgfTtcblxuICBjb25zdCBhc3NlcnRGYWlsID0gcmVzID0+IGFzc2VydC5vayghcmVzKTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGFsbG93IG1hbnVhbCByZXRyeScsICgpID0+IHtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBhbGxvd01hbnVhbFJldHJ5OiB0cnVlIH0pKTtcbiAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHsgYWxsb3dNYW51YWxSZXRyeToge30gfSkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGFjY2VwdCBwYXJhbScsICgpID0+IHtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBhY2NlcHQ6ICdpbWFnZS9qcGVnJyB9KSk7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgYWNjZXB0OiBbJ2ltYWdlL2pwZWcnLCAnaW1hZ2UvcG5nJywgJyonXSB9KSk7XG4gICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7IGFjY2VwdDoge30gfSkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGZyb21Tb3VyY2VzIHBhcmFtJywgKCkgPT4ge1xuICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7IGZyb21Tb3VyY2VzOiBbJ3VybCcsICdmYWNlYm9vayddIH0pKTtcbiAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHsgZnJvbVNvdXJjZXM6IFsnd3Jvbmdfc291cmNlJ10gfSkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGZyb21Tb3VyY2VzIHBhcmFtIHR5cGUgb2JqZWN0JywgKCkgPT4ge1xuICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7IGZyb21Tb3VyY2VzOiBbJ3VybCcsIHsgdGVzdDogMTIzIH0sIHsgdGVzdDogKCkgPT4gY29uc29sZS5sb2cgfV0gfSkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvbnRhaW5lciBwYXJhbScsICgpID0+IHtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBjb250YWluZXI6ICd0ZXN0JyB9KSk7XG5cbiAgICBjb25zdCBub2RlRGl2ID0gSlNET00uZnJhZ21lbnQoYDxkaXY+SGVsbG88L2Rpdj5gKS5xdWVyeVNlbGVjdG9yKCdkaXYnKTtcbiAgICBjb25zdCBub2RlUCA9IEpTRE9NLmZyYWdtZW50KGA8cD5IZWxsbzwvcD5gKS5xdWVyeVNlbGVjdG9yKCdwJyk7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgY29udGFpbmVyOiBub2RlRGl2IH0pKTtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBjb250YWluZXI6IG5vZGVQIH0pKTtcbiAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHsgY29udGFpbmVyOiB7fSB9KSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgY2xlYW51cEltYWdlRXhpZiBwYXJhbScsICgpID0+IHtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBjbGVhbnVwSW1hZ2VFeGlmOiB0cnVlIH0pKTtcbiAgICBhc3NlcnQub2soXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIGNsZWFudXBJbWFnZUV4aWY6IHtcbiAgICAgICAgICBrZWVwT3JpZW50YXRpb246IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG4gICAgYXNzZXJ0RmFpbChcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgY2xlYW51cEltYWdlRXhpZjoge1xuICAgICAgICAgIHRlc3Q6IDEsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgZGlzcGxheU1vZGUgcGFyYW0nLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHsgZGlzcGxheU1vZGU6ICdpbmxpbmUnIH0pKTtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBkaXNwbGF5TW9kZTogJ292ZXJsYXknIH0pKTtcbiAgICBhc3NlcnQub2sodmFsaWRhdGUoeyBkaXNwbGF5TW9kZTogJ2Ryb3BQYW5lJyB9KSk7XG4gICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7IGRpc3BsYXlNb2RlOiAndGVzdCcgfSkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGltYWdlRGltIHBhcmFtJywgKCkgPT4ge1xuICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7IGltYWdlRGltOiBbMTAwLCAxMDBdIH0pKTtcbiAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHsgaW1hZ2VEaW06IFswLCAxXSB9KSk7XG4gICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7IGltYWdlRGltOiBbMTAwLCAxMDAsIDNdIH0pKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBzdG9yZVRvIFBhcmFtcycsICgpID0+IHtcbiAgICBhc3NlcnQub2soXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIHN0b3JlVG86IHtcbiAgICAgICAgICBmaWxlbmFtZTogJ3Rlc3QnLFxuICAgICAgICAgIGxvY2F0aW9uOiAnczMnLFxuICAgICAgICAgIHBhdGg6ICcvdGVzdC8nLFxuICAgICAgICAgIHJlZ2lvbjogJ3Rlc3QnLFxuICAgICAgICAgIGFjY2VzczogJ3B1YmxpYycsXG4gICAgICAgICAgd29ya2Zsb3dzOiBbJ3Rlc3QnXSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGFzc2VydC5vayhcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgc3RvcmVUbzoge1xuICAgICAgICAgIGZpbGVuYW1lOiAndGVzdCcsXG4gICAgICAgICAgbG9jYXRpb246ICdzMycsXG4gICAgICAgICAgcGF0aDogJy90ZXN0LycsXG4gICAgICAgICAgcmVnaW9uOiAndGVzdCcsXG4gICAgICAgICAgYWNjZXNzOiAncHJpdmF0ZScsXG4gICAgICAgICAgd29ya2Zsb3dzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAndGVzdCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBhc3NlcnRGYWlsKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICBzdG9yZVRvOiB7XG4gICAgICAgICAgd29ya2Zsb3dzOiB7fSxcbiAgICAgICAgICBhY2Nlc3M6ICdub25lJyxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSB0cmFuc2Zvcm1hdGlvbnMgcGFyYW0nLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICB0cmFuc2Zvcm1hdGlvbnM6IHtcbiAgICAgICAgICBjaXJjbGU6IHRydWUsXG4gICAgICAgICAgcm90YXRlOiB0cnVlLFxuICAgICAgICAgIGNyb3A6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBhc3NlcnQub2soXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIHRyYW5zZm9ybWF0aW9uczoge1xuICAgICAgICAgIGNpcmNsZTogZmFsc2UsXG4gICAgICAgICAgcm90YXRlOiBmYWxzZSxcbiAgICAgICAgICBjcm9wOiB7XG4gICAgICAgICAgICBmb3JjZTogdHJ1ZSxcbiAgICAgICAgICAgIGFzcGVjdFJhdGlvOiAxIC8gMixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgYXNzZXJ0RmFpbChcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgdHJhbnNmb3JtYXRpb25zOiB7XG4gICAgICAgICAgdGVzdDogMTIzLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGN1c3RvbVRleHQgcGFyYW0nLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICBjdXN0b21UZXh0OiB7XG4gICAgICAgICAgc29tZXRlc3Q6ICd0ZXN0dGV4dCcsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG4gICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7IGN1c3RvbVRleHQ6IFsndGVzdCcsICd0czEnXSB9KSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgY3VzdG9tQXV0aFRleHQgcGFyYW0nLCAoKSA9PiB7XG4gICAgYXNzZXJ0Lm9rKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICBjdXN0b21BdXRoVGV4dDoge1xuICAgICAgICAgIHRlc3Q6IHtcbiAgICAgICAgICAgIHRvcDogJ3Rlc3QnLFxuICAgICAgICAgICAgYm90dG9tOiAndGVzdDInLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBhc3NlcnRGYWlsKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICBjdXN0b21BdXRoVGV4dDoge1xuICAgICAgICAgIHRlc3Q6IHtcbiAgICAgICAgICAgIHRvcDogJ3Rlc3QnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBhc3NlcnRGYWlsKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICBjdXN0b21BdXRoVGV4dDoge1xuICAgICAgICAgIHRlc3Q6ICcxMjMnLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlICcsICgpID0+IHtcbiAgICBhc3NlcnQub2soXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIHVwbG9hZENvbmZpZzoge1xuICAgICAgICAgIHBhcnRTaXplOiA1ICogMTAyNCAqIDEwMjQsXG4gICAgICAgICAgaW50ZWxsaWdlbnQ6IHRydWUsXG4gICAgICAgICAgb25Qcm9ncmVzczogKCkgPT4gY29uc29sZSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGFzc2VydC5vayhcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgdXBsb2FkQ29uZmlnOiB7XG4gICAgICAgICAgaW50ZWxsaWdlbnQ6ICdmYWxsYmFjaycsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBhc3NlcnRGYWlsKFxuICAgICAgdmFsaWRhdGUoe1xuICAgICAgICB1cGxvYWRDb25maWc6IHtcbiAgICAgICAgICBwYXJ0U2l6ZTogMTAwLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgYXNzZXJ0RmFpbChcbiAgICAgIHZhbGlkYXRlKHtcbiAgICAgICAgdXBsb2FkQ29uZmlnOiB7XG4gICAgICAgICAgcHJvZ3Jlc3NJbnRlcnZhbDogMCxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGFzc2VydEZhaWwoXG4gICAgICB2YWxpZGF0ZSh7XG4gICAgICAgIHVwbG9hZENvbmZpZzoge1xuICAgICAgICAgIGNvbmN1cnJlbmN5OiAwLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuICB9KTtcbn0pO1xuIl19
export declare const PreviewParamsSchema: {
'$schema': string;
$schema: string;
title: string;

@@ -4,0 +4,0 @@ description: string;

export declare const RetrieveParamsSchema: {
'$schema': string;
$schema: string;
title: string;

@@ -4,0 +4,0 @@ description: string;

export declare const SecurityParamsSchema: {
'$schema': string;
$schema: string;
title: string;

@@ -12,3 +12,3 @@ description: string;

call: {
'$ref': string;
$ref: string;
};

@@ -15,0 +15,0 @@ handle: {

export declare const StoreParamsSchema: {
'$schema': string;
$schema: string;
title: string;

@@ -18,3 +18,3 @@ description: string;

location: {
'$ref': string;
$ref: string;
};

@@ -28,3 +28,3 @@ path: {

region: {
'$ref': string;
$ref: string;
};

@@ -40,3 +40,3 @@ access: {

workflows: {
'$ref': string;
$ref: string;
};

@@ -43,0 +43,0 @@ disableStorageKey: {

export declare const TransformSchema: {
'$schema': string;
$schema: string;
title: string;

@@ -128,7 +128,7 @@ description: string;

background: {
'$ref': string;
$ref: string;
default: string;
};
align: {
'$ref': string;
$ref: string;
default: string;

@@ -171,3 +171,3 @@ };

align: {
'$ref': string;
$ref: string;
default: string;

@@ -217,3 +217,3 @@ };

background: {
'$ref': string;
$ref: string;
default: string;

@@ -248,3 +248,3 @@ };

color: {
'$ref': string;
$ref: string;
default: string;

@@ -266,3 +266,3 @@ };

default: number;
'$ref': string;
$ref: string;
};

@@ -314,3 +314,3 @@ width: {

faces: {
'$ref': string;
$ref: string;
default: string;

@@ -365,3 +365,3 @@ };

faces: {
'$ref': string;
$ref: string;
default: string;

@@ -435,3 +435,3 @@ };

background: {
'$ref': string;
$ref: string;
};

@@ -462,3 +462,3 @@ };

background: {
'$ref': string;
$ref: string;
};

@@ -483,7 +483,7 @@ };

color: {
'$ref': string;
$ref: string;
default: string;
};
background: {
'$ref': string;
$ref: string;
};

@@ -514,3 +514,3 @@ };

background: {
'$ref': string;
$ref: string;
};

@@ -553,6 +553,6 @@ };

color: {
'$ref': string;
$ref: string;
};
background: {
'$ref': string;
$ref: string;
};

@@ -572,3 +572,3 @@ };

background: {
'$ref': string;
$ref: string;
};

@@ -588,6 +588,6 @@ };

color: {
'$ref': string;
$ref: string;
};
background: {
'$ref': string;
$ref: string;
};

@@ -750,7 +750,7 @@ width: {

foreground: {
'$ref': string;
$ref: string;
default: string;
};
background: {
'$ref': string;
$ref: string;
default: string;

@@ -803,3 +803,3 @@ };

color: {
'$ref': string;
$ref: string;
default: string;

@@ -948,3 +948,3 @@ };

background: {
'$ref': string;
$ref: string;
};

@@ -1068,2 +1068,5 @@ pageformat: {

};
audio_codec: {
type: string;
};
audio_channels: {

@@ -1115,3 +1118,3 @@ type: string;

location: {
'$ref': string;
$ref: string;
};

@@ -1144,3 +1147,3 @@ path: {

location: {
'$ref': string;
$ref: string;
};

@@ -1154,3 +1157,3 @@ path: {

region: {
'$ref': string;
$ref: string;
};

@@ -1166,3 +1169,3 @@ access: {

workflows: {
'$ref': string;
$ref: string;
};

@@ -1184,3 +1187,3 @@ };

position: {
'$ref': string;
$ref: string;
};

@@ -1195,3 +1198,3 @@ };

objects: {
'$ref': string;
$ref: string;
};

@@ -1219,3 +1222,3 @@ amount: {

objects: {
'$ref': string;
$ref: string;
};

@@ -1274,6 +1277,6 @@ amount: {

pageformat: {
'$ref': string;
$ref: string;
};
pages: {
'$ref': string;
$ref: string;
};

@@ -1280,0 +1283,0 @@ };

@@ -250,3 +250,3 @@ /*

[[1, 2], ['1-', 3], ['-2']].forEach(function (val) {
it("should validate on correct page \"" + val + "\"", function () {
it("should validate on correct page \"".concat(val, "\""), function () {
assert.ok(validate({

@@ -292,3 +292,3 @@ pdfconvert: {

['a2', 'a3', 'a4', 'a5', 'b4', 'b5', 'letter', 'legal', 'tabloid'].forEach(function (val) {
it("should when correct page format is provided " + val, function () {
it("should when correct page format is provided ".concat(val), function () {
assert.ok(validate({

@@ -602,2 +602,2 @@ pdfconvert: {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdHJhbnNmb3Jtcy5zY2hlbWEuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLElBQUksQ0FBQztBQUVuRCxRQUFRLENBQUMsbUJBQW1CLEVBQUU7SUFFNUIsSUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRWhELElBQU0sUUFBUSxHQUFHLFVBQUMsTUFBTTtRQUN0QixJQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hELENBQUMsQ0FBQztJQUVGLElBQU0sVUFBVSxHQUFHLFVBQUMsR0FBRyxJQUFLLE9BQUEsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFmLENBQWUsQ0FBQztJQUU1QyxFQUFFLENBQUMseUJBQXlCLEVBQUU7UUFDNUIsdUJBQXVCO0lBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFdBQVcsRUFBRTtRQUNwQixFQUFFLENBQUMsZ0NBQWdDLEVBQUU7WUFDbkMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ2pCLFNBQVMsRUFBRTtvQkFDVCxJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixJQUFJLEVBQUUsR0FBRztvQkFDVCxRQUFRLEVBQUUsS0FBSztpQkFDaEI7YUFDRixDQUFDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGlEQUFpRCxFQUFFO1lBQ3BELE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNq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QztBQUNoQyxzREFBc0Q7QUFDdEQsaUVBQWlFO0FBQ2pFLGlDQUFpQztBQUNqQyw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLGlCQUFpQjtBQUNqQixpQkFBaUI7QUFDakIsY0FBYztBQUNkLFlBQVk7QUFFWiw0REFBNEQ7QUFDNUQsZ0NBQWdDO0FBQ2hDLDBCQUEwQjtBQUMxQiwyQkFBMkI7QUFDM0IsZUFBZTtBQUNmLGVBQWU7QUFDZixZQUFZO0FBRVosVUFBVTtBQUVWLDJDQUEyQztBQUMzQyxxRUFBcUU7QUFDckUsK0JBQStCO0FBQy9CLDBCQUEwQjtBQUMxQiw0Q0FBNEM7QUFDNUMsZUFBZTtBQUNmLGVBQWU7QUFDZixZQUFZO0FBRVosb0VBQW9FO0FBQ3BFLCtCQUErQjtBQUMvQiwwQkFBMEI7QUFDMUIsMkNBQTJDO0FBQzNDLGVBQWU7QUFDZixlQUFlO0FBQ2YsWUFBWTtBQUVaLG9FQUFvRTtBQUNwRSxnQ0FBZ0M7QUFDaEMsMEJBQTBCO0FBQzFCLDZDQUE2QztBQUM3QyxlQUFlO0FBQ2YsZUFBZTtBQUNmLFlBQVk7QUFDWixVQUFVO0FBRVYsc0NBQXNDO0FBQ3RDLDhGQUE4RjtBQUM5RiwyRUFBMkU7QUFDM0UsaUNBQWlDO0FBQ2pDLDRCQUE0QjtBQUM1Qiw4QkFBOEI7QUFDOUIsaUNBQWlDO0FBQ2pDLGlCQUFpQjtBQUNqQixpQkFBaUI7QUFDakIsY0FBYztBQUNkLFlBQVk7QUFFWiw4REFBOEQ7QUFDOUQsZ0NBQWdDO0FBQ2hDLDBCQUEwQjtBQUMxQixpQ0FBaUM7QUFDakMsZUFBZTtBQUNmLGVBQWU7QUFDZixZQUFZO0FBQ1osVUFBVTtBQUNWLFFBQVE7QUFDUixNQUFNIiwiZmlsZSI6InNjaGVtYS90cmFuc2Zvcm1zLnNjaGVtYS5zcGVjLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBnZXRWYWxpZGF0b3IsIFRyYW5zZm9ybVNjaGVtYSB9IGZyb20gJy4vJztcblxuZGVzY3JpYmUoJ1RyYW5zZm9ybXMgU2NoZW1hJywgKCkgPT4ge1xuXG4gIGNvbnN0IHZhbGlkYXRvciA9IGdldFZhbGlkYXRvcihUcmFuc2Zvcm1TY2hlbWEpO1xuXG4gIGNvbnN0IHZhbGlkYXRlID0gKHBhcmFtcykgPT4ge1xuICAgIGNvbnN0IHJlcyA9IHZhbGlkYXRvcihwYXJhbXMpO1xuICAgIHJldHVybiByZXMuZXJyb3JzLmxlbmd0aCA9PT0gMCA/IHRydWUgOiBmYWxzZTtcbiAgfTtcblxuICBjb25zdCBhc3NlcnRGYWlsID0gKHJlcykgPT4gYXNzZXJ0Lm9rKCFyZXMpO1xuXG4gIGl0KCdzaG91bGQgbG9hZCBqc29uIHNjaGVtYScsICgpID0+IHtcbiAgICAvLyBjb25zb2xlLmxvZyhzY2hlbWEpO1xuICB9KTtcblxuICBkZXNjcmliZSgnV2F0ZXJtYXJrJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICB3YXRlcm1hcms6IHtcbiAgICAgICAgICBmaWxlOiAndGVzdGZpbGVoYW5kbGUnLFxuICAgICAgICAgIHNpemU6IDMwMCxcbiAgICAgICAgICBwb3NpdGlvbjogJ3RvcCcsXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zIChwb3NpdGlvbiBhcnJheSknLCAoKSA9PiB7XG4gICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICB3YXRlcm1hcms6IHtcbiAgICAgICAgICBmaWxlOiAndGVzdGZpbGVoYW5kbGUnLFxuICAgICAgICAgIHNpemU6IDMwMCxcbiAgICAgICAgICBwb3NpdGlvbjogWyd0b3AnLCAnbGVmdCddLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBvc2l0aW9uIHBhcmFtcyBbdG9wLCBib3R0b21dJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4gICAgICAgIHdhdGVybWFyazoge1xuICAgICAgICAgIGZpbGU6ICd0ZXN0ZmlsZWhhbmRsZScsXG4gICAgICAgICAgc2l6ZTogMzAwLFxuICAgICAgICAgIHBvc2l0aW9uOiBbJ3RvcCcsICdib3R0b20nXSxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1BhcnRpYWwgQmx1cicsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgcGFydGlhbF9ibHVyOiB7XG4gICAgICAgICAgb2JqZWN0czogW1xuICAgICAgICAgICAgWzEsIDEsIDIsIDJdLFxuICAgICAgICAgICAgWzEsIDEsIDMyLCAxNV0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBhbW91bnQ6IDE4LjIsXG4gICAgICAgICAgYmx1cjogMTIsXG4gICAgICAgICAgdHlwZTogJ3JlY3QnLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAoYW1vdW50LCBibHVyLCB0eXBlKScsICgpID0+IHtcbiAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuICAgICAgICBwYXJ0aWFsX2JsdXI6IHtcbiAgICAgICAgICBvYmplY3RzOiBbXG4gICAgICAgICAgICBbMSwgMSwgMiwgMl0sXG4gICAgICAgICAgICBbMSwgMSwgMzIsIDE1XSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGFtb3VudDogLTEwLFxuICAgICAgICAgIGJsdXI6IDMwMCxcbiAgICAgICAgICB0eXBlOiAnd3JvbmdfdHlwZScsXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zIChvYmplY3RzKScsICgpID0+IHtcbiAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuICAgICAgICBwYXJ0aWFsX2JsdXI6IHtcbiAgICAgICAgICBvYmplY3RzOiBbXG4gICAgICAgICAgICBbMSwgMSwgMl0sXG4gICAgICAgICAgICBbMSwgMSwgMzIsIDE1LCAzMl0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBhbW91bnQ6IDEwLFxuICAgICAgICAgIGJsdXI6IDIwLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnUGFydGlhbCBQaXhlbGF0ZScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgcGFydGlhbF9waXhlbGF0ZToge1xuICAgICAgICAgIG9iamVjdHM6IFtcbiAgICAgICAgICAgIFsxLCAxLCAyLCAyXSxcbiAgICAgICAgICAgIFsxLCAxLCAzMiwgMTVdLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYW1vdW50OiAxMDAsXG4gICAgICAgICAgYmx1cjogMTIuMixcbiAgICAgICAgICB0eXBlOiAnb3ZhbCcsXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zIChhbW91bnQsIGJsdXIsIHR5cGUpJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4gICAgICAgIHBhcnRpYWxfcGl4ZWxhdGU6IHtcbiAgICAgICAgICBvYmplY3RzOiBbXG4gICAgICAgICAgICBbMSwgMSwgMiwgMl0sXG4gICAgICAgICAgICBbMSwgMSwgMzIsIDE1XSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGFtb3VudDogLTEwLFxuICAgICAgICAgIGJsdXI6IDMwMCxcbiAgICAgICAgICB0eXBlOiAnd3JvbmdfdHlwZScsXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zIChvYmplY3RzKScsICgpID0+IHtcbiAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuICAgICAgICBwYXJ0aWFsX3BpeGVsYXRlOiB7XG4gICAgICAgICAgb2JqZWN0czogW1xuICAgICAgICAgICAgWzEsIDEsIDJdLFxuICAgICAgICAgICAgWzEsIDEsIDMyLCAxNSwgMzJdLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYW1vdW50OiAxMCxcbiAgICAgICAgICBibHVyOiAyMCxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0Nyb3AnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcycsICgpID0+IHtcbiAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgIGNyb3A6IHtcbiAgICAgICAgICBkaW06IFsxLCAxLCAyLCAyXSxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBvbiBlbXB0eSBkaW0gcGFyYW1zJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4gICAgICAgIGNyb3A6IHtcbiAgICAgICAgICBkaW06IFtdLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAobWluaW11bSB2YWx1ZSBmb3IgMiBmaXJzdCBpdGVtcyknLCAoKSA9PiB7XG4gICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbiAgICAgICAgY3JvcDoge1xuICAgICAgICAgIGRpbTogWzIsIDEsIDAsIDJdLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAoNSBpdGVtcyBpbiBhcnJheSknLCAoKSA9PiB7XG4gICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbiAgICAgICAgY3JvcDoge1xuICAgICAgICAgIGRpbTogWzEsIDEsIDIsIDIsIDRdLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnUmVzaXplJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICByZXNpemU6IHtcbiAgICAgICAgICB3aWR0aDogMTAsXG4gICAgICAgICAgaGVpZ2h0OiAyMCxcbiAgICAgICAgICBmaXQ6ICdjcm9wJyxcbiAgICAgICAgICBhbGlnbjogWyd0b3AnLCAnbGVmdCddLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHdoZW4gb25seSBvbmUgd2lkdGggb3IgaGVpZ2h0IGlzIHByb3ZpZGVkJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgcmVzaXplOiB7XG4gICAgICAgICAgd2lkdGg6IDEwLFxuICAgICAgICAgIGZpdDogJ2Nyb3AnLFxuICAgICAgICAgIGFsaWduOiAnbGVmdCcsXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG5cbiAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgIHJlc2l6ZToge1xuICAgICAgICAgIGhlaWdodDogMTAsXG4gICAgICAgICAgZml0OiAnY3JvcCcsXG4gICAgICAgICAgYWxpZ246ICdsZWZ0JyxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKG1pc3Npbmcgd2lkdGggYW5kIGhlaWdodCknLCAoKSA9PiB7XG4gICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbiAgICAgICAgcmVzaXplOiB7XG4gICAgICAgICAgZml0OiAnY3JvcCcsXG4gICAgICAgICAgYWxpZ246ICdsZWZ0JyxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1Jlc2l6ZScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgcm90YXRlOiB7XG4gICAgICAgICAgZGVnOiAnZXhpZicsXG4gICAgICAgICAgZXhpZjogZmFsc2UsXG4gICAgICAgICAgYmFja2dyb3VuZDogJ2ZmZicsXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgcm90YXRlOiB7XG4gICAgICAgICAgZGVnOiAyMDAsXG4gICAgICAgICAgZXhpZjogdHJ1ZSxcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAnZmZmZmZmJyxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKHdyb25nIGV4aWYgcm90YXRpb24pJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4gICAgICAgIHJvdGF0ZToge1xuICAgICAgICAgIGRlZzogMTIzLFxuICAgICAgICAgIGV4aWY6ICd0cnVlJyxcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAnZmZmZmZmJyxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1BkZmluZm8nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcyB3aXRoIGJvb2wgdmFsdWUnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICBwZGZpbmZvOiB0cnVlLFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcyB3aXRoIGNvbG9yIGluZm8nLCAoKSA9PiB7XG4gICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICBwZGZpbmZvOiB7XG4gICAgICAgICAgY29sb3JpbmZvOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnUGRmY29udmVydCcsICgpID0+IHtcbiAgICBkZXNjcmliZSgnUGFnZXMnLCAoKSA9PiB7XG4gICAgICBbWzEsMl0sIFsnMS0nLCAzXSwgWyctMiddXS5mb3JFYWNoKCh2YWwpID0+IHtcbiAgICAgICAgaXQoYHNob3VsZCB2YWxpZGF0ZSBvbiBjb3JyZWN0IHBhZ2UgXCIke3ZhbH1cImAsICgpID0+IHtcbiAgICAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICAgICAgcGRmY29udmVydDoge1xuICAgICAgICAgICAgICBwYWdlczogdmFsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdzaG91bGQgcmV0dXJuIGVycm9yIG9uIGZhaWwgcGFnZSBcIjFhXCInLCAoKSA9PiB7XG4gICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuICAgICAgICAgIHBkZmNvbnZlcnQ6IHtcbiAgICAgICAgICAgIHBhZ2VzOiAnMWEnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pKTtcbiAgICAgIH0pO1xuXG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnUGFnZSBvcmllbnRhdGlvbicsICgpID0+IHtcbiAgICAgIGl0KCdzaG91bGQgcGFzcyBvbiBjb3JyZWN0IG9yaWVudGF0aW9uIFwibGFuZHNjYXBlXCInLCAoKSA9PiB7XG4gICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgICAgcGRmY29udmVydDoge1xuICAgICAgICAgICAgcGFnZW9yaWVudGF0aW9uOiAnbGFuZHNjYXBlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3VsZCBwYXNzIG9uIGNvcnJlY3Qgb3JpZW50YXRpb24gXCJwb3J0cmFpdFwiJywgKCkgPT4ge1xuICAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICAgIHBkZmNvbnZlcnQ6IHtcbiAgICAgICAgICAgIHBhZ2VvcmllbnRhdGlvbjogJ3BvcnRyYWl0JyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIG9yaWVudGF0aW9uIFwibGFuZHNjYXBlMVwiJywgKCkgPT4ge1xuICAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbiAgICAgICAgICBwZGZjb252ZXJ0OiB7XG4gICAgICAgICAgICBwYWdlb3JpZW50YXRpb246ICdsYW5kc2NhcGUxJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdQYWdlIGZvcm1hdCcsICgpID0+IHtcbiAgICAgIFsnYTInLCAnYTMnLCAnYTQnLCAnYTUnLCAnYjQnLCAnYjUnLCAnbGV0dGVyJywgJ2xlZ2FsJywgJ3RhYmxvaWQnXS5mb3JFYWNoKCh2YWwpID0+IHtcbiAgICAgICAgaXQoYHNob3VsZCB3aGVuIGNvcnJlY3QgcGFnZSBmb3JtYXQgaXMgcHJvdmlkZWQgJHt2YWx9YCwgKCkgPT4ge1xuICAgICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgICAgICBwZGZjb252ZXJ0OiB7XG4gICAgICAgICAgICAgIHBhZ2VzOiBbMSwyXSxcbiAgICAgICAgICAgICAgcGFnZWZvcm1hdDogdmFsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYWdlIGZvcm1hdCBpZSBhMjInLCAoKSA9PiB7XG4gICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuICAgICAgICAgIHBkZmNvbnZlcnQ6IHtcbiAgICAgICAgICAgIHBhZ2Vmb3JtYXQ6ICdhMjInLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuXG4vLyBpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0Jztcbi8vIGltcG9ydCB7IGdldFZhbGlkYXRvciwgVHJhbnNmb3JtU2NoZW1hIH0gZnJvbSAnLi8nO1xuXG4vLyBkZXNjcmliZSgnVHJhbnNmb3JtcyBTY2hlbWEnLCAoKSA9PiB7XG5cbi8vICAgY29uc3QgdmFsaWRhdGUgPSBnZXRWYWxpZGF0b3IoVHJhbnNmb3JtU2NoZW1hKTtcblxuLy8gICBjb25zdCBhc3NlcnRGYWlsID0gKHZhbCkgPT4gYXNzZXJ0Lm9rKCF2YWwpO1xuXG4vLyAgIGl0KCdzaG91bGQgbG9hZCBqc29uIHNjaGVtYScsICgpID0+IHtcbi8vICAgICAvLyBjb25zb2xlLmxvZyhzY2hlbWEpO1xuLy8gICB9KTtcblxuLy8gICBkZXNjcmliZSgnV2F0ZXJtYXJrJywgKCkgPT4ge1xuLy8gICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICB3YXRlcm1hcms6IHtcbi8vICAgICAgICAgICBmaWxlOiAndGVzdGZpbGVoYW5kbGUnLFxuLy8gICAgICAgICAgIHNpemU6IDMwMCxcbi8vICAgICAgICAgICBwb3NpdGlvbjogJ3RvcCcsXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zIChwb3NpdGlvbiBhcnJheSknLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICB3YXRlcm1hcms6IHtcbi8vICAgICAgICAgICBmaWxlOiAndGVzdGZpbGVoYW5kbGUnLFxuLy8gICAgICAgICAgIHNpemU6IDMwMCxcbi8vICAgICAgICAgICBwb3NpdGlvbjogWyd0b3AnLCAnbGVmdCddLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuXG4vLyAgICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBvc2l0aW9uIHBhcmFtcyBbdG9wLCBib3R0b21dJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHdhdGVybWFyazoge1xuLy8gICAgICAgICAgIGZpbGU6ICd0ZXN0ZmlsZWhhbmRsZScsXG4vLyAgICAgICAgICAgc2l6ZTogMzAwLFxuLy8gICAgICAgICAgIHBvc2l0aW9uOiBbJ3RvcCcsICdib3R0b20nXSxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcbi8vICAgfSk7XG5cbi8vICAgZGVzY3JpYmUoJ1BhcnRpYWwgQmx1cicsICgpID0+IHtcbi8vICAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgcGFydGlhbF9ibHVyOiB7XG4vLyAgICAgICAgICAgb2JqZWN0czogW1xuLy8gICAgICAgICAgICAgWzEsIDEsIDIsIDJdLFxuLy8gICAgICAgICAgICAgWzEsIDEsIDMyLCAxNV0sXG4vLyAgICAgICAgICAgXSxcbi8vICAgICAgICAgICBhbW91bnQ6IDE4LjIsXG4vLyAgICAgICAgICAgYmx1cjogMTIsXG4vLyAgICAgICAgICAgdHlwZTogJ3JlY3QnLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuXG4vLyAgICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAoYW1vdW50LCBibHVyLCB0eXBlKScsICgpID0+IHtcbi8vICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuLy8gICAgICAgICBwYXJ0aWFsX2JsdXI6IHtcbi8vICAgICAgICAgICBvYmplY3RzOiBbXG4vLyAgICAgICAgICAgICBbMSwgMSwgMiwgMl0sXG4vLyAgICAgICAgICAgICBbMSwgMSwgMzIsIDE1XSxcbi8vICAgICAgICAgICBdLFxuLy8gICAgICAgICAgIGFtb3VudDogLTEwLFxuLy8gICAgICAgICAgIGJsdXI6IDMwMCxcbi8vICAgICAgICAgICB0eXBlOiAnd3JvbmdfdHlwZScsXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zIChvYmplY3RzKScsICgpID0+IHtcbi8vICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuLy8gICAgICAgICBwYXJ0aWFsX2JsdXI6IHtcbi8vICAgICAgICAgICBvYmplY3RzOiBbXG4vLyAgICAgICAgICAgICBbMSwgMSwgMl0sXG4vLyAgICAgICAgICAgICBbMSwgMSwgMzIsIDE1LCAzMl0sXG4vLyAgICAgICAgICAgXSxcbi8vICAgICAgICAgICBhbW91bnQ6IDEwLFxuLy8gICAgICAgICAgIGJsdXI6IDIwLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuLy8gICB9KTtcblxuLy8gICBkZXNjcmliZSgnUGFydGlhbCBQaXhlbGF0ZScsICgpID0+IHtcbi8vICAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgcGFydGlhbF9waXhlbGF0ZToge1xuLy8gICAgICAgICAgIG9iamVjdHM6IFtcbi8vICAgICAgICAgICAgIFsxLCAxLCAyLCAyXSxcbi8vICAgICAgICAgICAgIFsxLCAxLCAzMiwgMTVdLFxuLy8gICAgICAgICAgIF0sXG4vLyAgICAgICAgICAgYW1vdW50OiAxMDAsXG4vLyAgICAgICAgICAgYmx1cjogMTIuMixcbi8vICAgICAgICAgICB0eXBlOiAnb3ZhbCcsXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zIChhbW91bnQsIGJsdXIsIHR5cGUpJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHBhcnRpYWxfcGl4ZWxhdGU6IHtcbi8vICAgICAgICAgICBvYmplY3RzOiBbXG4vLyAgICAgICAgICAgICBbMSwgMSwgMiwgMl0sXG4vLyAgICAgICAgICAgICBbMSwgMSwgMzIsIDE1XSxcbi8vICAgICAgICAgICBdLFxuLy8gICAgICAgICAgIGFtb3VudDogLTEwLFxuLy8gICAgICAgICAgIGJsdXI6IDMwMCxcbi8vICAgICAgICAgICB0eXBlOiAnd3JvbmdfdHlwZScsXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zIChvYmplY3RzKScsICgpID0+IHtcbi8vICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuLy8gICAgICAgICBwYXJ0aWFsX3BpeGVsYXRlOiB7XG4vLyAgICAgICAgICAgb2JqZWN0czogW1xuLy8gICAgICAgICAgICAgWzEsIDEsIDJdLFxuLy8gICAgICAgICAgICAgWzEsIDEsIDMyLCAxNSwgMzJdLFxuLy8gICAgICAgICAgIF0sXG4vLyAgICAgICAgICAgYW1vdW50OiAxMCxcbi8vICAgICAgICAgICBibHVyOiAyMCxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcbi8vICAgfSk7XG5cbi8vICAgZGVzY3JpYmUoJ0Nyb3AnLCAoKSA9PiB7XG4vLyAgICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcycsICgpID0+IHtcbi8vICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIGNyb3A6IHtcbi8vICAgICAgICAgICBkaW06IFsxLCAxLCAyLCAyXSxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcblxuLy8gICAgIGl0KCdzaG91bGQgZmFpbCBvbiBlbXB0eSBkaW0gcGFyYW1zJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIGNyb3A6IHtcbi8vICAgICAgICAgICBkaW06IFtdLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuXG4vLyAgICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAobWluaW11bSB2YWx1ZSBmb3IgMiBmaXJzdCBpdGVtcyknLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbi8vICAgICAgICAgY3JvcDoge1xuLy8gICAgICAgICAgIGRpbTogWzIsIDEsIDAsIDJdLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuXG4vLyAgICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAoNSBpdGVtcyBpbiBhcnJheSknLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbi8vICAgICAgICAgY3JvcDoge1xuLy8gICAgICAgICAgIGRpbTogWzEsIDEsIDIsIDIsIDRdLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuLy8gICB9KTtcblxuLy8gICBkZXNjcmliZSgnUmVzaXplJywgKCkgPT4ge1xuLy8gICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICByZXNpemU6IHtcbi8vICAgICAgICAgICB3aWR0aDogMTAsXG4vLyAgICAgICAgICAgaGVpZ2h0OiAyMCxcbi8vICAgICAgICAgICBmaXQ6ICdjcm9wJyxcbi8vICAgICAgICAgICBhbGlnbjogWyd0b3AnLCAnbGVmdCddLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuXG4vLyAgICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHdoZW4gb25seSBvbmUgd2lkdGggb3IgaGVpZ2h0IGlzIHByb3ZpZGVkJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgcmVzaXplOiB7XG4vLyAgICAgICAgICAgd2lkdGg6IDEwLFxuLy8gICAgICAgICAgIGZpdDogJ2Nyb3AnLFxuLy8gICAgICAgICAgIGFsaWduOiAnbGVmdCcsXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG5cbi8vICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHJlc2l6ZToge1xuLy8gICAgICAgICAgIGhlaWdodDogMTAsXG4vLyAgICAgICAgICAgZml0OiAnY3JvcCcsXG4vLyAgICAgICAgICAgYWxpZ246ICdsZWZ0Jyxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcblxuLy8gICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKG1pc3Npbmcgd2lkdGggYW5kIGhlaWdodCknLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbi8vICAgICAgICAgcmVzaXplOiB7XG4vLyAgICAgICAgICAgZml0OiAnY3JvcCcsXG4vLyAgICAgICAgICAgYWxpZ246ICdsZWZ0Jyxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcbi8vICAgfSk7XG5cbi8vICAgZGVzY3JpYmUoJ1Jlc2l6ZScsICgpID0+IHtcbi8vICAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgcm90YXRlOiB7XG4vLyAgICAgICAgICAgZGVnOiAnZXhpZicsXG4vLyAgICAgICAgICAgZXhpZjogZmFsc2UsXG4vLyAgICAgICAgICAgYmFja2dyb3VuZDogJ2ZmZicsXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgcm90YXRlOiB7XG4vLyAgICAgICAgICAgZGVnOiAyMDAsXG4vLyAgICAgICAgICAgZXhpZjogdHJ1ZSxcbi8vICAgICAgICAgICBiYWNrZ3JvdW5kOiAnZmZmZmZmJyxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcblxuLy8gICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKHdyb25nIGV4aWYgcm90YXRpb24pJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHJvdGF0ZToge1xuLy8gICAgICAgICAgIGRlZzogMTIzLFxuLy8gICAgICAgICAgIGV4aWY6ICd0cnVlJyxcbi8vICAgICAgICAgICBiYWNrZ3JvdW5kOiAnZmZmZmZmJyxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcbi8vICAgfSk7XG5cbi8vICAgZGVzY3JpYmUoJ1BkZmluZm8nLCAoKSA9PiB7XG4vLyAgICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcyB3aXRoIGJvb2wgdmFsdWUnLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICBwZGZpbmZvOiB0cnVlLFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuXG4vLyAgICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcyB3aXRoIGNvbG9yIGluZm8nLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICBwZGZpbmZvOiB7XG4vLyAgICAgICAgICAgY29sb3JpbmZvOiB0cnVlLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuLy8gICB9KTtcblxuLy8gICBkZXNjcmliZSgnUGRmY29udmVydCcsICgpID0+IHtcbi8vICAgICBkZXNjcmliZSgnUGFnZXMnLCAoKSA9PiB7XG4vLyAgICAgICBbWzEsMl0sIFsnMS0nLCAzXSwgWyctMiddXS5mb3JFYWNoKCh2YWwpID0+IHtcbi8vICAgICAgICAgaXQoYHNob3VsZCB2YWxpZGF0ZSBvbiBjb3JyZWN0IHBhZ2UgXCIke3ZhbH1cImAsICgpID0+IHtcbi8vICAgICAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICAgICAgcGRmY29udmVydDoge1xuLy8gICAgICAgICAgICAgICBwYWdlczogdmFsLFxuLy8gICAgICAgICAgICAgfSxcbi8vICAgICAgICAgICB9KSk7XG4vLyAgICAgICAgIH0pO1xuLy8gICAgICAgfSk7XG5cbi8vICAgICAgIGl0KCdzaG91bGQgcmV0dXJuIGVycm9yIG9uIGZhaWwgcGFnZSBcIjFhXCInLCAoKSA9PiB7XG4vLyAgICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuLy8gICAgICAgICAgIHBkZmNvbnZlcnQ6IHtcbi8vICAgICAgICAgICAgIHBhZ2VzOiAnMWEnLFxuLy8gICAgICAgICAgIH0sXG4vLyAgICAgICAgIH0pKTtcbi8vICAgICAgIH0pO1xuXG4vLyAgICAgfSk7XG5cbi8vICAgICBkZXNjcmliZSgnUGFnZSBvcmllbnRhdGlvbicsICgpID0+IHtcbi8vICAgICAgIGl0KCdzaG91bGQgcGFzcyBvbiBjb3JyZWN0IG9yaWVudGF0aW9uIFwibGFuZHNjYXBlXCInLCAoKSA9PiB7XG4vLyAgICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgICAgcGRmY29udmVydDoge1xuLy8gICAgICAgICAgICAgcGFnZW9yaWVudGF0aW9uOiAnbGFuZHNjYXBlJyxcbi8vICAgICAgICAgICB9LFxuLy8gICAgICAgICB9KSk7XG4vLyAgICAgICB9KTtcblxuLy8gICAgICAgaXQoJ3Nob3VsZCBwYXNzIG9uIGNvcnJlY3Qgb3JpZW50YXRpb24gXCJwb3J0cmFpdFwiJywgKCkgPT4ge1xuLy8gICAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICAgIHBkZmNvbnZlcnQ6IHtcbi8vICAgICAgICAgICAgIHBhZ2VvcmllbnRhdGlvbjogJ3BvcnRyYWl0Jyxcbi8vICAgICAgICAgICB9LFxuLy8gICAgICAgICB9KSk7XG4vLyAgICAgICB9KTtcblxuLy8gICAgICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIG9yaWVudGF0aW9uIFwibGFuZHNjYXBlMVwiJywgKCkgPT4ge1xuLy8gICAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbi8vICAgICAgICAgICBwZGZjb252ZXJ0OiB7XG4vLyAgICAgICAgICAgICBwYWdlb3JpZW50YXRpb246ICdsYW5kc2NhcGUxJyxcbi8vICAgICAgICAgICB9LFxuLy8gICAgICAgICB9KSk7XG4vLyAgICAgICB9KTtcbi8vICAgICB9KTtcblxuLy8gICAgIGRlc2NyaWJlKCdQYWdlIGZvcm1hdCcsICgpID0+IHtcbi8vICAgICAgIFsnYTInLCAnYTMnLCAnYTQnLCAnYTUnLCAnYjQnLCAnYjUnLCAnbGV0dGVyJywgJ2xlZ2FsJywgJ3RhYmxvaWQnXS5mb3JFYWNoKCh2YWwpID0+IHtcbi8vICAgICAgICAgaXQoYHNob3VsZCB3aGVuIGNvcnJlY3QgcGFnZSBmb3JtYXQgaXMgcHJvdmlkZWQgJHt2YWx9YCwgKCkgPT4ge1xuLy8gICAgICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgICAgICBwZGZjb252ZXJ0OiB7XG4vLyAgICAgICAgICAgICAgIHBhZ2VzOiBbMSwyXSxcbi8vICAgICAgICAgICAgICAgcGFnZWZvcm1hdDogdmFsLFxuLy8gICAgICAgICAgICAgfSxcbi8vICAgICAgICAgICB9KSk7XG4vLyAgICAgICAgIH0pO1xuLy8gICAgICAgfSk7XG5cbi8vICAgICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYWdlIGZvcm1hdCBpZSBhMjInLCAoKSA9PiB7XG4vLyAgICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuLy8gICAgICAgICAgIHBkZmNvbnZlcnQ6IHtcbi8vICAgICAgICAgICAgIHBhZ2Vmb3JtYXQ6ICdhMjInLFxuLy8gICAgICAgICAgIH0sXG4vLyAgICAgICAgIH0pKTtcbi8vICAgICAgIH0pO1xuLy8gICAgIH0pO1xuLy8gICB9KTtcbi8vIH0pO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdHJhbnNmb3Jtcy5zY2hlbWEuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLElBQUksQ0FBQztBQUVuRCxRQUFRLENBQUMsbUJBQW1CLEVBQUU7SUFFNUIsSUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRWhELElBQU0sUUFBUSxHQUFHLFVBQUMsTUFBTTtRQUN0QixJQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hELENBQUMsQ0FBQztJQUVGLElBQU0sVUFBVSxHQUFHLFVBQUMsR0FBRyxJQUFLLE9BQUEsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFmLENBQWUsQ0FBQztJQUU1QyxFQUFFLENBQUMseUJBQXlCLEVBQUU7UUFDNUIsdUJBQXVCO0lBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFdBQVcsRUFBRTtRQUNwQixFQUFFLENBQUMsZ0NBQWdDLEVBQUU7WUFDbkMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ2pCLFNBQVMsRUFBRTtvQkFDVCxJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixJQUFJLEVBQUUsR0FBRztvQkFDVCxRQUFRLEVBQUUsS0FBSztpQkFDaEI7YUFDRixDQUFDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGlEQUFpRCxFQUFFO1lBQ3BELE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNq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Z0NBQWdDO0FBQ2hDLHNEQUFzRDtBQUN0RCxpRUFBaUU7QUFDakUsaUNBQWlDO0FBQ2pDLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsaUJBQWlCO0FBQ2pCLGlCQUFpQjtBQUNqQixjQUFjO0FBQ2QsWUFBWTtBQUVaLDREQUE0RDtBQUM1RCxnQ0FBZ0M7QUFDaEMsMEJBQTBCO0FBQzFCLDJCQUEyQjtBQUMzQixlQUFlO0FBQ2YsZUFBZTtBQUNmLFlBQVk7QUFFWixVQUFVO0FBRVYsMkNBQTJDO0FBQzNDLHFFQUFxRTtBQUNyRSwrQkFBK0I7QUFDL0IsMEJBQTBCO0FBQzFCLDRDQUE0QztBQUM1QyxlQUFlO0FBQ2YsZUFBZTtBQUNmLFlBQVk7QUFFWixvRUFBb0U7QUFDcEUsK0JBQStCO0FBQy9CLDBCQUEwQjtBQUMxQiwyQ0FBMkM7QUFDM0MsZUFBZTtBQUNmLGVBQWU7QUFDZixZQUFZO0FBRVosb0VBQW9FO0FBQ3BFLGdDQUFnQztBQUNoQywwQkFBMEI7QUFDMUIsNkNBQTZDO0FBQzdDLGVBQWU7QUFDZixlQUFlO0FBQ2YsWUFBWTtBQUNaLFVBQVU7QUFFVixzQ0FBc0M7QUFDdEMsOEZBQThGO0FBQzlGLDJFQUEyRTtBQUMzRSxpQ0FBaUM7QUFDakMsNEJBQTRCO0FBQzVCLDhCQUE4QjtBQUM5QixpQ0FBaUM7QUFDakMsaUJBQWlCO0FBQ2pCLGlCQUFpQjtBQUNqQixjQUFjO0FBQ2QsWUFBWTtBQUVaLDhEQUE4RDtBQUM5RCxnQ0FBZ0M7QUFDaEMsMEJBQTBCO0FBQzFCLGlDQUFpQztBQUNqQyxlQUFlO0FBQ2YsZUFBZTtBQUNmLFlBQVk7QUFDWixVQUFVO0FBQ1YsUUFBUTtBQUNSLE1BQU0iLCJmaWxlIjoic2NoZW1hL3RyYW5zZm9ybXMuc2NoZW1hLnNwZWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IGdldFZhbGlkYXRvciwgVHJhbnNmb3JtU2NoZW1hIH0gZnJvbSAnLi8nO1xuXG5kZXNjcmliZSgnVHJhbnNmb3JtcyBTY2hlbWEnLCAoKSA9PiB7XG5cbiAgY29uc3QgdmFsaWRhdG9yID0gZ2V0VmFsaWRhdG9yKFRyYW5zZm9ybVNjaGVtYSk7XG5cbiAgY29uc3QgdmFsaWRhdGUgPSAocGFyYW1zKSA9PiB7XG4gICAgY29uc3QgcmVzID0gdmFsaWRhdG9yKHBhcmFtcyk7XG4gICAgcmV0dXJuIHJlcy5lcnJvcnMubGVuZ3RoID09PSAwID8gdHJ1ZSA6IGZhbHNlO1xuICB9O1xuXG4gIGNvbnN0IGFzc2VydEZhaWwgPSAocmVzKSA9PiBhc3NlcnQub2soIXJlcyk7XG5cbiAgaXQoJ3Nob3VsZCBsb2FkIGpzb24gc2NoZW1hJywgKCkgPT4ge1xuICAgIC8vIGNvbnNvbGUubG9nKHNjaGVtYSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdXYXRlcm1hcmsnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcycsICgpID0+IHtcbiAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgIHdhdGVybWFyazoge1xuICAgICAgICAgIGZpbGU6ICd0ZXN0ZmlsZWhhbmRsZScsXG4gICAgICAgICAgc2l6ZTogMzAwLFxuICAgICAgICAgIHBvc2l0aW9uOiAndG9wJyxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMgKHBvc2l0aW9uIGFycmF5KScsICgpID0+IHtcbiAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgIHdhdGVybWFyazoge1xuICAgICAgICAgIGZpbGU6ICd0ZXN0ZmlsZWhhbmRsZScsXG4gICAgICAgICAgc2l6ZTogMzAwLFxuICAgICAgICAgIHBvc2l0aW9uOiBbJ3RvcCcsICdsZWZ0J10sXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcG9zaXRpb24gcGFyYW1zIFt0b3AsIGJvdHRvbV0nLCAoKSA9PiB7XG4gICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbiAgICAgICAgd2F0ZXJtYXJrOiB7XG4gICAgICAgICAgZmlsZTogJ3Rlc3RmaWxlaGFuZGxlJyxcbiAgICAgICAgICBzaXplOiAzMDAsXG4gICAgICAgICAgcG9zaXRpb246IFsndG9wJywgJ2JvdHRvbSddLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnUGFydGlhbCBCbHVyJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICBwYXJ0aWFsX2JsdXI6IHtcbiAgICAgICAgICBvYmplY3RzOiBbXG4gICAgICAgICAgICBbMSwgMSwgMiwgMl0sXG4gICAgICAgICAgICBbMSwgMSwgMzIsIDE1XSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGFtb3VudDogMTguMixcbiAgICAgICAgICBibHVyOiAxMixcbiAgICAgICAgICB0eXBlOiAncmVjdCcsXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zIChhbW91bnQsIGJsdXIsIHR5cGUpJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4gICAgICAgIHBhcnRpYWxfYmx1cjoge1xuICAgICAgICAgIG9iamVjdHM6IFtcbiAgICAgICAgICAgIFsxLCAxLCAyLCAyXSxcbiAgICAgICAgICAgIFsxLCAxLCAzMiwgMTVdLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYW1vdW50OiAtMTAsXG4gICAgICAgICAgYmx1cjogMzAwLFxuICAgICAgICAgIHR5cGU6ICd3cm9uZ190eXBlJyxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKG9iamVjdHMpJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4gICAgICAgIHBhcnRpYWxfYmx1cjoge1xuICAgICAgICAgIG9iamVjdHM6IFtcbiAgICAgICAgICAgIFsxLCAxLCAyXSxcbiAgICAgICAgICAgIFsxLCAxLCAzMiwgMTUsIDMyXSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGFtb3VudDogMTAsXG4gICAgICAgICAgYmx1cjogMjAsXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdQYXJ0aWFsIFBpeGVsYXRlJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICBwYXJ0aWFsX3BpeGVsYXRlOiB7XG4gICAgICAgICAgb2JqZWN0czogW1xuICAgICAgICAgICAgWzEsIDEsIDIsIDJdLFxuICAgICAgICAgICAgWzEsIDEsIDMyLCAxNV0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBhbW91bnQ6IDEwMCxcbiAgICAgICAgICBibHVyOiAxMi4yLFxuICAgICAgICAgIHR5cGU6ICdvdmFsJyxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKGFtb3VudCwgYmx1ciwgdHlwZSknLCAoKSA9PiB7XG4gICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbiAgICAgICAgcGFydGlhbF9waXhlbGF0ZToge1xuICAgICAgICAgIG9iamVjdHM6IFtcbiAgICAgICAgICAgIFsxLCAxLCAyLCAyXSxcbiAgICAgICAgICAgIFsxLCAxLCAzMiwgMTVdLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYW1vdW50OiAtMTAsXG4gICAgICAgICAgYmx1cjogMzAwLFxuICAgICAgICAgIHR5cGU6ICd3cm9uZ190eXBlJyxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKG9iamVjdHMpJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4gICAgICAgIHBhcnRpYWxfcGl4ZWxhdGU6IHtcbiAgICAgICAgICBvYmplY3RzOiBbXG4gICAgICAgICAgICBbMSwgMSwgMl0sXG4gICAgICAgICAgICBbMSwgMSwgMzIsIDE1LCAzMl0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBhbW91bnQ6IDEwLFxuICAgICAgICAgIGJsdXI6IDIwLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnQ3JvcCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgY3JvcDoge1xuICAgICAgICAgIGRpbTogWzEsIDEsIDIsIDJdLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIG9uIGVtcHR5IGRpbSBwYXJhbXMnLCAoKSA9PiB7XG4gICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbiAgICAgICAgY3JvcDoge1xuICAgICAgICAgIGRpbTogW10sXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zIChtaW5pbXVtIHZhbHVlIGZvciAyIGZpcnN0IGl0ZW1zKScsICgpID0+IHtcbiAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuICAgICAgICBjcm9wOiB7XG4gICAgICAgICAgZGltOiBbMiwgMSwgMCwgMl0sXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zICg1IGl0ZW1zIGluIGFycmF5KScsICgpID0+IHtcbiAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuICAgICAgICBjcm9wOiB7XG4gICAgICAgICAgZGltOiBbMSwgMSwgMiwgMiwgNF0sXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdSZXNpemUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcycsICgpID0+IHtcbiAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgIHJlc2l6ZToge1xuICAgICAgICAgIHdpZHRoOiAxMCxcbiAgICAgICAgICBoZWlnaHQ6IDIwLFxuICAgICAgICAgIGZpdDogJ2Nyb3AnLFxuICAgICAgICAgIGFsaWduOiBbJ3RvcCcsICdsZWZ0J10sXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3Qgd2hlbiBvbmx5IG9uZSB3aWR0aCBvciBoZWlnaHQgaXMgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICByZXNpemU6IHtcbiAgICAgICAgICB3aWR0aDogMTAsXG4gICAgICAgICAgZml0OiAnY3JvcCcsXG4gICAgICAgICAgYWxpZ246ICdsZWZ0JyxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcblxuICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgcmVzaXplOiB7XG4gICAgICAgICAgaGVpZ2h0OiAxMCxcbiAgICAgICAgICBmaXQ6ICdjcm9wJyxcbiAgICAgICAgICBhbGlnbjogJ2xlZnQnLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAobWlzc2luZyB3aWR0aCBhbmQgaGVpZ2h0KScsICgpID0+IHtcbiAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuICAgICAgICByZXNpemU6IHtcbiAgICAgICAgICBmaXQ6ICdjcm9wJyxcbiAgICAgICAgICBhbGlnbjogJ2xlZnQnLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnUmVzaXplJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICByb3RhdGU6IHtcbiAgICAgICAgICBkZWc6ICdleGlmJyxcbiAgICAgICAgICBleGlmOiBmYWxzZSxcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAnZmZmJyxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuICAgICAgICByb3RhdGU6IHtcbiAgICAgICAgICBkZWc6IDIwMCxcbiAgICAgICAgICBleGlmOiB0cnVlLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICdmZmZmZmYnLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAod3JvbmcgZXhpZiByb3RhdGlvbiknLCAoKSA9PiB7XG4gICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbiAgICAgICAgcm90YXRlOiB7XG4gICAgICAgICAgZGVnOiAxMjMsXG4gICAgICAgICAgZXhpZjogJ3RydWUnLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICdmZmZmZmYnLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnUGRmaW5mbycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zIHdpdGggYm9vbCB2YWx1ZScsICgpID0+IHtcbiAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgIHBkZmluZm86IHRydWUsXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zIHdpdGggY29sb3IgaW5mbycsICgpID0+IHtcbiAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgIHBkZmluZm86IHtcbiAgICAgICAgICBjb2xvcmluZm86IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdQZGZjb252ZXJ0JywgKCkgPT4ge1xuICAgIGRlc2NyaWJlKCdQYWdlcycsICgpID0+IHtcbiAgICAgIFtbMSwyXSwgWycxLScsIDNdLCBbJy0yJ11dLmZvckVhY2goKHZhbCkgPT4ge1xuICAgICAgICBpdChgc2hvdWxkIHZhbGlkYXRlIG9uIGNvcnJlY3QgcGFnZSBcIiR7dmFsfVwiYCwgKCkgPT4ge1xuICAgICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgICAgICBwZGZjb252ZXJ0OiB7XG4gICAgICAgICAgICAgIHBhZ2VzOiB2YWwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3VsZCByZXR1cm4gZXJyb3Igb24gZmFpbCBwYWdlIFwiMWFcIicsICgpID0+IHtcbiAgICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4gICAgICAgICAgcGRmY29udmVydDoge1xuICAgICAgICAgICAgcGFnZXM6ICcxYScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSkpO1xuICAgICAgfSk7XG5cbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdQYWdlIG9yaWVudGF0aW9uJywgKCkgPT4ge1xuICAgICAgaXQoJ3Nob3VsZCBwYXNzIG9uIGNvcnJlY3Qgb3JpZW50YXRpb24gXCJsYW5kc2NhcGVcIicsICgpID0+IHtcbiAgICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgICBwZGZjb252ZXJ0OiB7XG4gICAgICAgICAgICBwYWdlb3JpZW50YXRpb246ICdsYW5kc2NhcGUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIHBhc3Mgb24gY29ycmVjdCBvcmllbnRhdGlvbiBcInBvcnRyYWl0XCInLCAoKSA9PiB7XG4gICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4gICAgICAgICAgcGRmY29udmVydDoge1xuICAgICAgICAgICAgcGFnZW9yaWVudGF0aW9uOiAncG9ydHJhaXQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3Jvbmcgb3JpZW50YXRpb24gXCJsYW5kc2NhcGUxXCInLCAoKSA9PiB7XG4gICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuICAgICAgICAgIHBkZmNvbnZlcnQ6IHtcbiAgICAgICAgICAgIHBhZ2VvcmllbnRhdGlvbjogJ2xhbmRzY2FwZTEnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ1BhZ2UgZm9ybWF0JywgKCkgPT4ge1xuICAgICAgWydhMicsICdhMycsICdhNCcsICdhNScsICdiNCcsICdiNScsICdsZXR0ZXInLCAnbGVnYWwnLCAndGFibG9pZCddLmZvckVhY2goKHZhbCkgPT4ge1xuICAgICAgICBpdChgc2hvdWxkIHdoZW4gY29ycmVjdCBwYWdlIGZvcm1hdCBpcyBwcm92aWRlZCAke3ZhbH1gLCAoKSA9PiB7XG4gICAgICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbiAgICAgICAgICAgIHBkZmNvbnZlcnQ6IHtcbiAgICAgICAgICAgICAgcGFnZXM6IFsxLDJdLFxuICAgICAgICAgICAgICBwYWdlZm9ybWF0OiB2YWwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhZ2UgZm9ybWF0IGllIGEyMicsICgpID0+IHtcbiAgICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4gICAgICAgICAgcGRmY29udmVydDoge1xuICAgICAgICAgICAgcGFnZWZvcm1hdDogJ2EyMicsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSkpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbi8vIGltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuLy8gaW1wb3J0IHsgZ2V0VmFsaWRhdG9yLCBUcmFuc2Zvcm1TY2hlbWEgfSBmcm9tICcuLyc7XG5cbi8vIGRlc2NyaWJlKCdUcmFuc2Zvcm1zIFNjaGVtYScsICgpID0+IHtcblxuLy8gICBjb25zdCB2YWxpZGF0ZSA9IGdldFZhbGlkYXRvcihUcmFuc2Zvcm1TY2hlbWEpO1xuXG4vLyAgIGNvbnN0IGFzc2VydEZhaWwgPSAodmFsKSA9PiBhc3NlcnQub2soIXZhbCk7XG5cbi8vICAgaXQoJ3Nob3VsZCBsb2FkIGpzb24gc2NoZW1hJywgKCkgPT4ge1xuLy8gICAgIC8vIGNvbnNvbGUubG9nKHNjaGVtYSk7XG4vLyAgIH0pO1xuXG4vLyAgIGRlc2NyaWJlKCdXYXRlcm1hcmsnLCAoKSA9PiB7XG4vLyAgICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcycsICgpID0+IHtcbi8vICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHdhdGVybWFyazoge1xuLy8gICAgICAgICAgIGZpbGU6ICd0ZXN0ZmlsZWhhbmRsZScsXG4vLyAgICAgICAgICAgc2l6ZTogMzAwLFxuLy8gICAgICAgICAgIHBvc2l0aW9uOiAndG9wJyxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcblxuLy8gICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMgKHBvc2l0aW9uIGFycmF5KScsICgpID0+IHtcbi8vICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHdhdGVybWFyazoge1xuLy8gICAgICAgICAgIGZpbGU6ICd0ZXN0ZmlsZWhhbmRsZScsXG4vLyAgICAgICAgICAgc2l6ZTogMzAwLFxuLy8gICAgICAgICAgIHBvc2l0aW9uOiBbJ3RvcCcsICdsZWZ0J10sXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcG9zaXRpb24gcGFyYW1zIFt0b3AsIGJvdHRvbV0nLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbi8vICAgICAgICAgd2F0ZXJtYXJrOiB7XG4vLyAgICAgICAgICAgZmlsZTogJ3Rlc3RmaWxlaGFuZGxlJyxcbi8vICAgICAgICAgICBzaXplOiAzMDAsXG4vLyAgICAgICAgICAgcG9zaXRpb246IFsndG9wJywgJ2JvdHRvbSddLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuLy8gICB9KTtcblxuLy8gICBkZXNjcmliZSgnUGFydGlhbCBCbHVyJywgKCkgPT4ge1xuLy8gICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICBwYXJ0aWFsX2JsdXI6IHtcbi8vICAgICAgICAgICBvYmplY3RzOiBbXG4vLyAgICAgICAgICAgICBbMSwgMSwgMiwgMl0sXG4vLyAgICAgICAgICAgICBbMSwgMSwgMzIsIDE1XSxcbi8vICAgICAgICAgICBdLFxuLy8gICAgICAgICAgIGFtb3VudDogMTguMixcbi8vICAgICAgICAgICBibHVyOiAxMixcbi8vICAgICAgICAgICB0eXBlOiAncmVjdCcsXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zIChhbW91bnQsIGJsdXIsIHR5cGUpJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHBhcnRpYWxfYmx1cjoge1xuLy8gICAgICAgICAgIG9iamVjdHM6IFtcbi8vICAgICAgICAgICAgIFsxLCAxLCAyLCAyXSxcbi8vICAgICAgICAgICAgIFsxLCAxLCAzMiwgMTVdLFxuLy8gICAgICAgICAgIF0sXG4vLyAgICAgICAgICAgYW1vdW50OiAtMTAsXG4vLyAgICAgICAgICAgYmx1cjogMzAwLFxuLy8gICAgICAgICAgIHR5cGU6ICd3cm9uZ190eXBlJyxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcblxuLy8gICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKG9iamVjdHMpJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHBhcnRpYWxfYmx1cjoge1xuLy8gICAgICAgICAgIG9iamVjdHM6IFtcbi8vICAgICAgICAgICAgIFsxLCAxLCAyXSxcbi8vICAgICAgICAgICAgIFsxLCAxLCAzMiwgMTUsIDMyXSxcbi8vICAgICAgICAgICBdLFxuLy8gICAgICAgICAgIGFtb3VudDogMTAsXG4vLyAgICAgICAgICAgYmx1cjogMjAsXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG4vLyAgIH0pO1xuXG4vLyAgIGRlc2NyaWJlKCdQYXJ0aWFsIFBpeGVsYXRlJywgKCkgPT4ge1xuLy8gICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICBwYXJ0aWFsX3BpeGVsYXRlOiB7XG4vLyAgICAgICAgICAgb2JqZWN0czogW1xuLy8gICAgICAgICAgICAgWzEsIDEsIDIsIDJdLFxuLy8gICAgICAgICAgICAgWzEsIDEsIDMyLCAxNV0sXG4vLyAgICAgICAgICAgXSxcbi8vICAgICAgICAgICBhbW91bnQ6IDEwMCxcbi8vICAgICAgICAgICBibHVyOiAxMi4yLFxuLy8gICAgICAgICAgIHR5cGU6ICdvdmFsJyxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcblxuLy8gICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKGFtb3VudCwgYmx1ciwgdHlwZSknLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbi8vICAgICAgICAgcGFydGlhbF9waXhlbGF0ZToge1xuLy8gICAgICAgICAgIG9iamVjdHM6IFtcbi8vICAgICAgICAgICAgIFsxLCAxLCAyLCAyXSxcbi8vICAgICAgICAgICAgIFsxLCAxLCAzMiwgMTVdLFxuLy8gICAgICAgICAgIF0sXG4vLyAgICAgICAgICAgYW1vdW50OiAtMTAsXG4vLyAgICAgICAgICAgYmx1cjogMzAwLFxuLy8gICAgICAgICAgIHR5cGU6ICd3cm9uZ190eXBlJyxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcblxuLy8gICAgIGl0KCdzaG91bGQgZmFpbCBvbiB3cm9uZyBwYXJhbXMgKG9iamVjdHMpJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHBhcnRpYWxfcGl4ZWxhdGU6IHtcbi8vICAgICAgICAgICBvYmplY3RzOiBbXG4vLyAgICAgICAgICAgICBbMSwgMSwgMl0sXG4vLyAgICAgICAgICAgICBbMSwgMSwgMzIsIDE1LCAzMl0sXG4vLyAgICAgICAgICAgXSxcbi8vICAgICAgICAgICBhbW91bnQ6IDEwLFxuLy8gICAgICAgICAgIGJsdXI6IDIwLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuLy8gICB9KTtcblxuLy8gICBkZXNjcmliZSgnQ3JvcCcsICgpID0+IHtcbi8vICAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zJywgKCkgPT4ge1xuLy8gICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgY3JvcDoge1xuLy8gICAgICAgICAgIGRpbTogWzEsIDEsIDIsIDJdLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuXG4vLyAgICAgaXQoJ3Nob3VsZCBmYWlsIG9uIGVtcHR5IGRpbSBwYXJhbXMnLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbi8vICAgICAgICAgY3JvcDoge1xuLy8gICAgICAgICAgIGRpbTogW10sXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zIChtaW5pbXVtIHZhbHVlIGZvciAyIGZpcnN0IGl0ZW1zKScsICgpID0+IHtcbi8vICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuLy8gICAgICAgICBjcm9wOiB7XG4vLyAgICAgICAgICAgZGltOiBbMiwgMSwgMCwgMl0sXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3JvbmcgcGFyYW1zICg1IGl0ZW1zIGluIGFycmF5KScsICgpID0+IHtcbi8vICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuLy8gICAgICAgICBjcm9wOiB7XG4vLyAgICAgICAgICAgZGltOiBbMSwgMSwgMiwgMiwgNF0sXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG4vLyAgIH0pO1xuXG4vLyAgIGRlc2NyaWJlKCdSZXNpemUnLCAoKSA9PiB7XG4vLyAgICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBjb3JyZWN0IHBhcmFtcycsICgpID0+IHtcbi8vICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHJlc2l6ZToge1xuLy8gICAgICAgICAgIHdpZHRoOiAxMCxcbi8vICAgICAgICAgICBoZWlnaHQ6IDIwLFxuLy8gICAgICAgICAgIGZpdDogJ2Nyb3AnLFxuLy8gICAgICAgICAgIGFsaWduOiBbJ3RvcCcsICdsZWZ0J10sXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3Qgd2hlbiBvbmx5IG9uZSB3aWR0aCBvciBoZWlnaHQgaXMgcHJvdmlkZWQnLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICByZXNpemU6IHtcbi8vICAgICAgICAgICB3aWR0aDogMTAsXG4vLyAgICAgICAgICAgZml0OiAnY3JvcCcsXG4vLyAgICAgICAgICAgYWxpZ246ICdsZWZ0Jyxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcblxuLy8gICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgcmVzaXplOiB7XG4vLyAgICAgICAgICAgaGVpZ2h0OiAxMCxcbi8vICAgICAgICAgICBmaXQ6ICdjcm9wJyxcbi8vICAgICAgICAgICBhbGlnbjogJ2xlZnQnLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuXG4vLyAgICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAobWlzc2luZyB3aWR0aCBhbmQgaGVpZ2h0KScsICgpID0+IHtcbi8vICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuLy8gICAgICAgICByZXNpemU6IHtcbi8vICAgICAgICAgICBmaXQ6ICdjcm9wJyxcbi8vICAgICAgICAgICBhbGlnbjogJ2xlZnQnLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuLy8gICB9KTtcblxuLy8gICBkZXNjcmliZSgnUmVzaXplJywgKCkgPT4ge1xuLy8gICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICByb3RhdGU6IHtcbi8vICAgICAgICAgICBkZWc6ICdleGlmJyxcbi8vICAgICAgICAgICBleGlmOiBmYWxzZSxcbi8vICAgICAgICAgICBiYWNrZ3JvdW5kOiAnZmZmJyxcbi8vICAgICAgICAgfSxcbi8vICAgICAgIH0pKTtcbi8vICAgICB9KTtcblxuLy8gICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnQub2sodmFsaWRhdGUoe1xuLy8gICAgICAgICByb3RhdGU6IHtcbi8vICAgICAgICAgICBkZWc6IDIwMCxcbi8vICAgICAgICAgICBleGlmOiB0cnVlLFxuLy8gICAgICAgICAgIGJhY2tncm91bmQ6ICdmZmZmZmYnLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuXG4vLyAgICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhcmFtcyAod3JvbmcgZXhpZiByb3RhdGlvbiknLCAoKSA9PiB7XG4vLyAgICAgICBhc3NlcnRGYWlsKHZhbGlkYXRlKHtcbi8vICAgICAgICAgcm90YXRlOiB7XG4vLyAgICAgICAgICAgZGVnOiAxMjMsXG4vLyAgICAgICAgICAgZXhpZjogJ3RydWUnLFxuLy8gICAgICAgICAgIGJhY2tncm91bmQ6ICdmZmZmZmYnLFxuLy8gICAgICAgICB9LFxuLy8gICAgICAgfSkpO1xuLy8gICAgIH0pO1xuLy8gICB9KTtcblxuLy8gICBkZXNjcmliZSgnUGRmaW5mbycsICgpID0+IHtcbi8vICAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zIHdpdGggYm9vbCB2YWx1ZScsICgpID0+IHtcbi8vICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHBkZmluZm86IHRydWUsXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG5cbi8vICAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGNvcnJlY3QgcGFyYW1zIHdpdGggY29sb3IgaW5mbycsICgpID0+IHtcbi8vICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgIHBkZmluZm86IHtcbi8vICAgICAgICAgICBjb2xvcmluZm86IHRydWUsXG4vLyAgICAgICAgIH0sXG4vLyAgICAgICB9KSk7XG4vLyAgICAgfSk7XG4vLyAgIH0pO1xuXG4vLyAgIGRlc2NyaWJlKCdQZGZjb252ZXJ0JywgKCkgPT4ge1xuLy8gICAgIGRlc2NyaWJlKCdQYWdlcycsICgpID0+IHtcbi8vICAgICAgIFtbMSwyXSwgWycxLScsIDNdLCBbJy0yJ11dLmZvckVhY2goKHZhbCkgPT4ge1xuLy8gICAgICAgICBpdChgc2hvdWxkIHZhbGlkYXRlIG9uIGNvcnJlY3QgcGFnZSBcIiR7dmFsfVwiYCwgKCkgPT4ge1xuLy8gICAgICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgICAgICBwZGZjb252ZXJ0OiB7XG4vLyAgICAgICAgICAgICAgIHBhZ2VzOiB2YWwsXG4vLyAgICAgICAgICAgICB9LFxuLy8gICAgICAgICAgIH0pKTtcbi8vICAgICAgICAgfSk7XG4vLyAgICAgICB9KTtcblxuLy8gICAgICAgaXQoJ3Nob3VsZCByZXR1cm4gZXJyb3Igb24gZmFpbCBwYWdlIFwiMWFcIicsICgpID0+IHtcbi8vICAgICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4vLyAgICAgICAgICAgcGRmY29udmVydDoge1xuLy8gICAgICAgICAgICAgcGFnZXM6ICcxYScsXG4vLyAgICAgICAgICAgfSxcbi8vICAgICAgICAgfSkpO1xuLy8gICAgICAgfSk7XG5cbi8vICAgICB9KTtcblxuLy8gICAgIGRlc2NyaWJlKCdQYWdlIG9yaWVudGF0aW9uJywgKCkgPT4ge1xuLy8gICAgICAgaXQoJ3Nob3VsZCBwYXNzIG9uIGNvcnJlY3Qgb3JpZW50YXRpb24gXCJsYW5kc2NhcGVcIicsICgpID0+IHtcbi8vICAgICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgICBwZGZjb252ZXJ0OiB7XG4vLyAgICAgICAgICAgICBwYWdlb3JpZW50YXRpb246ICdsYW5kc2NhcGUnLFxuLy8gICAgICAgICAgIH0sXG4vLyAgICAgICAgIH0pKTtcbi8vICAgICAgIH0pO1xuXG4vLyAgICAgICBpdCgnc2hvdWxkIHBhc3Mgb24gY29ycmVjdCBvcmllbnRhdGlvbiBcInBvcnRyYWl0XCInLCAoKSA9PiB7XG4vLyAgICAgICAgIGFzc2VydC5vayh2YWxpZGF0ZSh7XG4vLyAgICAgICAgICAgcGRmY29udmVydDoge1xuLy8gICAgICAgICAgICAgcGFnZW9yaWVudGF0aW9uOiAncG9ydHJhaXQnLFxuLy8gICAgICAgICAgIH0sXG4vLyAgICAgICAgIH0pKTtcbi8vICAgICAgIH0pO1xuXG4vLyAgICAgICBpdCgnc2hvdWxkIGZhaWwgb24gd3Jvbmcgb3JpZW50YXRpb24gXCJsYW5kc2NhcGUxXCInLCAoKSA9PiB7XG4vLyAgICAgICAgIGFzc2VydEZhaWwodmFsaWRhdGUoe1xuLy8gICAgICAgICAgIHBkZmNvbnZlcnQ6IHtcbi8vICAgICAgICAgICAgIHBhZ2VvcmllbnRhdGlvbjogJ2xhbmRzY2FwZTEnLFxuLy8gICAgICAgICAgIH0sXG4vLyAgICAgICAgIH0pKTtcbi8vICAgICAgIH0pO1xuLy8gICAgIH0pO1xuXG4vLyAgICAgZGVzY3JpYmUoJ1BhZ2UgZm9ybWF0JywgKCkgPT4ge1xuLy8gICAgICAgWydhMicsICdhMycsICdhNCcsICdhNScsICdiNCcsICdiNScsICdsZXR0ZXInLCAnbGVnYWwnLCAndGFibG9pZCddLmZvckVhY2goKHZhbCkgPT4ge1xuLy8gICAgICAgICBpdChgc2hvdWxkIHdoZW4gY29ycmVjdCBwYWdlIGZvcm1hdCBpcyBwcm92aWRlZCAke3ZhbH1gLCAoKSA9PiB7XG4vLyAgICAgICAgICAgYXNzZXJ0Lm9rKHZhbGlkYXRlKHtcbi8vICAgICAgICAgICAgIHBkZmNvbnZlcnQ6IHtcbi8vICAgICAgICAgICAgICAgcGFnZXM6IFsxLDJdLFxuLy8gICAgICAgICAgICAgICBwYWdlZm9ybWF0OiB2YWwsXG4vLyAgICAgICAgICAgICB9LFxuLy8gICAgICAgICAgIH0pKTtcbi8vICAgICAgICAgfSk7XG4vLyAgICAgICB9KTtcblxuLy8gICAgICAgaXQoJ3Nob3VsZCBmYWlsIG9uIHdyb25nIHBhZ2UgZm9ybWF0IGllIGEyMicsICgpID0+IHtcbi8vICAgICAgICAgYXNzZXJ0RmFpbCh2YWxpZGF0ZSh7XG4vLyAgICAgICAgICAgcGRmY29udmVydDoge1xuLy8gICAgICAgICAgICAgcGFnZWZvcm1hdDogJ2EyMicsXG4vLyAgICAgICAgICAgfSxcbi8vICAgICAgICAgfSkpO1xuLy8gICAgICAgfSk7XG4vLyAgICAgfSk7XG4vLyAgIH0pO1xuLy8gfSk7XG4iXX0=

@@ -5,2 +5,7 @@ # Changelog

## [3.28.0](https://github.com/filestack/filestack-js/compare/v3.27.0...v3.28.0) (2023-12-12)
### Updgrade
* **Dependency-upgrade:** Upgraded packages to the latest possible version while maintaining backward compatibility.
## [3.27.0](https://github.com/filestack/filestack-js/compare/v3.26.1...v3.27.0) (2023-08-07)

@@ -7,0 +12,0 @@

{
"name": "filestack-js",
"version": "3.27.0",
"version": "3.28.0",
"description": "Official JavaScript library for Filestack",

@@ -25,3 +25,3 @@ "main": "build/main/index.js",

"webpack:analyze": "npm run webpack:profile && npx webpack-bundle-analyzer .stats.json build/browser/",
"lint": "tslint -p tsconfig.tslint.json",
"lint": "eslint --config .eslintrc.js ./src/**/*.ts",
"test": "npm run lint && npm run build && npx jest",

@@ -45,16 +45,16 @@ "test:watch": "npm t -- --watch",

"@babel/runtime": "^7.8.4",
"@filestack/loader": "^1.0.4",
"abab": "^2.0.3",
"debug": "^4.1.1",
"eventemitter3": "^4.0.0",
"fast-xml-parser": "^4.2.4",
"file-type": "^10.11.0",
"follow-redirects": "^1.10.0",
"isutf8": "^2.1.0",
"jsonschema": "^1.2.5",
"@filestack/loader": "^1.0.9",
"@sentry/minimal": "^6.19.7",
"abab": "^2.0.6",
"debug": "^4.3.4",
"eventemitter3": "^5.0.0",
"fast-xml-parser": "^4.2.3",
"file-type": "^12.4.2",
"follow-redirects": "^1.15.2",
"isutf8": "^4.0.0",
"jsonschema": "^1.4.1",
"lodash.clonedeep": "^4.5.0",
"p-queue": "^4.0.0",
"spark-md5": "^3.0.0",
"ts-node": "^8.10.2",
"@sentry/minimal": "^6.2.1"
"p-queue": "^6.6.2",
"spark-md5": "^3.0.2",
"ts-node": "^10.9.1"
},

@@ -65,42 +65,47 @@ "devDependencies": {

"@babel/preset-env": "^7.8.4",
"@inrupt/jest-jsdom-polyfills": "^1.6.0",
"@purtuga/esm-webpack-plugin": "^1.2.1",
"@types/jest": "^24.9.1",
"@types/mime": "^2.0.1",
"@types/node": "^12.6.2",
"@types/jest": "^29.4.0",
"@types/mime": "^3.0.1",
"@types/node": "^18.15.0",
"@types/spark-md5": "^3.0.2",
"aws-sdk": "^2.614.0",
"@typescript-eslint/eslint-plugin": "^5.54.0",
"@typescript-eslint/parser": "^5.54.0",
"aws-sdk": "^2.1333.0",
"babel-loader": "^8.0.6",
"clean-webpack-plugin": "^3.0.0",
"codecov": "^3.6.5",
"codecov": "^3.8.3",
"compression-webpack-plugin": "^3.1.0",
"del": "^5.1.0",
"dotenv": "^8.2.0",
"del": "^6.1.1",
"dotenv": "^16.0.3",
"envify": "^4.1.0",
"gh-pages": "^2.2.0",
"eslint": "^8.36.0",
"eslint-config-prettier": "^8.7.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-jsdoc": "^40.0.1",
"gh-pages": "^5.0.0",
"git-state": "^4.1.0",
"glob": "^7.1.6",
"glob": "^8.1.0",
"gulp": "^4.0.2",
"gulp-gzip": "^1.4.2",
"gulp-rename": "^2.0.0",
"gulp-replace": "^1.0.0",
"gulp-sourcemaps": "^2.6.5",
"gulp-replace": "^1.1.4",
"gulp-sourcemaps": "^3.0.0",
"gulp-typescript": "^5.0.1",
"jest": "^25.1.0",
"jest-localstorage-mock": "^2.4.0",
"jest-mock": "^25.1.0",
"js-yaml": "^3.13.1",
"jsdom": "^16.2.1",
"jest": "^29.4.3",
"jest-environment-jsdom": "^29.5.0",
"jest-localstorage-mock": "^2.4.26",
"jest-mock": "^29.4.3",
"js-yaml": "^4.1.0",
"jsdom": "^21.1.0",
"lodash.merge": "^4.6.2",
"nock": "^10.0.6",
"nock": "^13.3.0",
"opn-cli": "^5.0.0",
"prettier": "^1.19.1",
"prettier-tslint": "^0.4.2",
"prettier": "^2.8.4",
"request": "^2.88.2",
"standard-version": "^7.1.0",
"trash-cli": "^3.0.0",
"tslib": "^1.11.1",
"tslint": "^6.0.0",
"tslint-config-semistandard": "^8.0.1",
"typedoc": "^0.16.9",
"typescript": "^3.7.5",
"standard-version": "^9.5.0",
"trash-cli": "^5.0.0",
"tslib": "^2.5.0",
"typedoc": "^0.23.25",
"typescript": "^4.9.5",
"validate-commit-msg": "^2.14.0",

@@ -107,0 +112,0 @@ "webpack": "^4.41.5",

@@ -20,4 +20,4 @@ /*

import { CloudClient, PICKER_KEY } from './cloud';
import * as utils from './../utils';
import * as nock from 'nock';
import * as utils from './../utils/index.node';
import nock from 'nock';
import { Store, STORE_TYPE } from '../utils/store';

@@ -45,5 +45,5 @@

scope.defaultReplyHeaders({
'access-control-allow-origin': req => req.headers['origin'],
'access-control-allow-methods': req => req.headers['access-control-request-method'],
'access-control-allow-headers': req => req.headers['access-control-request-headers'],
'access-control-allow-origin': function (req) { return req.getHeader('origin')?.toString(); },
'access-control-allow-methods': function (req) { return req.getHeader('access-control-request-method')?.toString(); },
'access-control-allow-headers': function (req) { return req.getHeader('access-control-request-headers')?.toString(); },
'content-type': 'application/json',

@@ -211,3 +211,3 @@ });

it('should set token to sessionStore when inapp browser is detected', async () => {
spyOn(utils, 'isFacebook').and.returnValue(true);
jest.spyOn(utils, 'isFacebook').mockReturnValue(true);

@@ -233,3 +233,3 @@ const client = new CloudClient(Object.assign({}, testSession, {

it('should get token from sessionStore when inapp browser is detected', async () => {
spyOn(utils, 'isFacebook').and.returnValue(true);
jest.spyOn(utils, 'isFacebook').mockReturnValue(true);

@@ -236,0 +236,0 @@ const client = new CloudClient(Object.assign({}, testSession, {

@@ -19,3 +19,3 @@ /*

// import { config } from './../../config';
import * as nock from 'nock';
import nock from 'nock';
import { Prefetch, PrefetchEvents } from './prefetch';

@@ -49,5 +49,5 @@ import { Session, Security } from './../client';

scope.defaultReplyHeaders({
'access-control-allow-origin': req => req.headers['origin'],
'access-control-allow-methods': req => req.headers['access-control-request-method'],
'access-control-allow-headers': req => req.headers['access-control-request-headers'],
'access-control-allow-origin': function (req) { return req.getHeader('origin')?.toString(); },
'access-control-allow-methods': function (req) { return req.getHeader('access-control-request-method')?.toString(); },
'access-control-allow-headers': function (req) { return req.getHeader('access-control-request-headers')?.toString(); },
'content-type': 'application/json',

@@ -63,3 +63,3 @@ });

it('Should make correct request to prefetch and return new config', async () => {
it('should make correct request to prefetch and return new config', async () => {
const sessionCopy = { ...testSession };

@@ -66,0 +66,0 @@

@@ -24,3 +24,3 @@ /*

import { cleanUpCallbacks } from './../utils';
import * as cloneDeep from 'lodash.clonedeep';
import cloneDeep from 'lodash.clonedeep';

@@ -27,0 +27,0 @@ // const debug = Debug('fs:prefetch');

@@ -30,11 +30,12 @@ /*

beforeEach(() => {
spyOn(window, 'open').and.returnValue(true);
jest.spyOn(window, 'open').mockImplementation();
spyOn(document, 'createElement').and.returnValue({
const createdElement: any = {
src: '',
width: '',
height: '',
});
};
jest.spyOn(document, 'createElement').mockReturnValue(createdElement);
spyOn(document, 'getElementById').and.callFake((id) => {
jest.spyOn(document, 'getElementById').mockImplementation((id) => {
let obj;

@@ -41,0 +42,0 @@

@@ -114,3 +114,3 @@ /*

const testUrl = 'nanana';
spyOn(Filelink.prototype, 'toString').and.callFake(() => testUrl);
jest.spyOn(Filelink.prototype, 'toString').mockImplementation(() => testUrl);

@@ -117,0 +117,0 @@ expect(transform(

@@ -147,2 +147,16 @@ /*

*/
export enum EAudioTypes {
libmp3lame = 'libmp3lame',
libvorbis = 'libvorbis',
libfdk_aac = 'libfdk_aac',
dib_ac3 = 'dib_ac3',
pcm_s16le = 'pcm_s16le',
mp2 = 'mp2',
ac3 = 'ac3',
eac3 = 'eac3',
}
/**
* Convert to format
*/
export enum EVideoTypes {

@@ -412,2 +426,3 @@ h264 = 'h264',

audio_bitrate?: number;
audio_codec?: EAudioTypes;
upscale: boolean;

@@ -414,0 +429,0 @@ video_bitrate?: number;

@@ -30,3 +30,3 @@ /*

beforeAll(() => {
spyOn(utils, 'sanitizeName').and.callFake((val, opts) => {
jest.spyOn(utils, 'sanitizeName').mockImplementation((val, opts) => {
sanitizeOptions(opts);

@@ -33,0 +33,0 @@ return val;

@@ -31,4 +31,4 @@

it('Should return file instance for nodejs loaded file from path', async () => {
spyOn(fs, 'existsSync').and.returnValue(true);
spyOn(fs, 'readFile').and.callFake((path, cb) => {
jest.spyOn(fs, 'existsSync').mockReturnValue(true);
jest.spyOn(fs, 'readFile').mockImplementation((path, cb) => {
cb(null, mockedTestFile);

@@ -50,8 +50,8 @@ });

it('Should reject if provided file cannot be read', () => {
spyOn(fs, 'existsSync').and.returnValue(true);
spyOn(fs, 'readFile').and.callFake((path, cb) => {
cb('error');
jest.spyOn(fs, 'existsSync').mockReturnValue(true);
jest.spyOn(fs, 'readFile').mockImplementation((path, cb) => {
cb(new Error('error'), null);
});
return expect(getFile('/testfile.txt')).rejects.toEqual('error');
return expect(getFile('/testfile.txt')).rejects.toEqual(new Error('error'));
});

@@ -58,0 +58,0 @@

@@ -57,3 +57,3 @@ /*

beforeAll(() => {
spyOn(S3Uploader.prototype, 'execute').and.callFake(mockExecute);
jest.spyOn(S3Uploader.prototype, 'execute').mockImplementation(mockExecute);
});

@@ -282,5 +282,6 @@

it('should handle correct progress event', async () => {
spyOn(S3Uploader.prototype, 'on').and.callFake((ev, cb) => {
jest.spyOn(S3Uploader.prototype, 'on').mockImplementation((ev, cb) => {
cb(progress1);
cb(progress100);
return this;
});

@@ -314,4 +315,5 @@

spyOn(S3Uploader.prototype, 'on').and.callFake((ev, cb) => {
jest.spyOn(S3Uploader.prototype, 'on').mockImplementation((ev, cb) => {
progressCb = cb;
return this;
});

@@ -347,4 +349,5 @@

spyOn(S3Uploader.prototype, 'on').and.callFake((ev, cb) => {
jest.spyOn(S3Uploader.prototype, 'on').mockImplementation((ev, cb) => {
progressCb = cb;
return this;
});

@@ -351,0 +354,0 @@

@@ -18,3 +18,3 @@ /*

import Debug from 'debug';
import * as EventEmitter from 'eventemitter3';
import EventEmitter from 'eventemitter3';

@@ -228,3 +228,3 @@ import { File, UploadTags } from './../file';

public abstract async execute(): Promise<any>;
public abstract execute(): Promise<any>;
}

@@ -20,5 +20,5 @@ /*

import { File } from './../file';
import * as nock from 'nock';
import nock from 'nock';
import { UploadMode, DEFAULT_STORE_LOCATION, INTELLIGENT_CHUNK_SIZE, DEFAULT_PART_SIZE, INTELLIGENT_MOBILE_CHUNK_SIZE } from './abstract';
import * as utils from '../../../utils';
import * as utils from '../../../utils/index.node';

@@ -163,3 +163,3 @@ const testBufferSize = 1024 * 1024 * 9;

it('should set intelligent mobile chunk size on mobile devices', () => {
spyOn(utils, 'isMobile').and.returnValue(true);
jest.spyOn(utils, 'isMobile').mockReturnValue(true);
const u = new S3Uploader({});

@@ -263,3 +263,3 @@ return expect(u.getIntelligentChunkSize()).toEqual(INTELLIGENT_MOBILE_CHUNK_SIZE);

it('should throw error on wrong etag field', async (done) => {
it('should throw error on wrong etag field', async () => {
mockStart.mockReturnValue({

@@ -282,3 +282,2 @@ uri: mockedUri,

expect(err.message).toEqual('Cannot upload file, check S3 bucket settings');
done();
});

@@ -603,3 +602,4 @@

interceptorS3.reply(
nock.removeInterceptor(interceptorS3);
scope.put('/fakes3').reply(
function(url, _, cb) {

@@ -612,7 +612,4 @@ if (!delayApplied) {

} else {
cb(null, mockPut(url, this.req.headers));
cb(null, [201, mockPut(url, this.req.headers), {etag: 'test'}]);
}
},
{
etag: 'test',
}

@@ -626,2 +623,3 @@ );

u.setUploadMode(UploadMode.INTELLIGENT);
u.setIntelligentChunkSize(INTELLIGENT_CHUNK_SIZE);

@@ -692,3 +690,4 @@ u.addFile(getSmallTestFile());

it('should exit when chunk size reaches min chunk size', async () => {
interceptorS3.reply((url, _, cb) => cb('Error'));
nock.removeInterceptor(interceptorS3);
scope.put('/fakes3').reply((url, _, cb) => cb('Error'));

@@ -765,3 +764,4 @@ const u = new S3Uploader({});

let networkFail = true;
interceptorS3.reply(
nock.removeInterceptor(interceptorS3);
scope.put('/fakes3').reply(
function(url, _, cb) {

@@ -773,6 +773,3 @@ if (networkFail) {

cb(null, mockPut(url, this.req.headers));
},
{
etag: 'test',
cb(null, [201, mockPut(url, this.req.headers), { etag: 'test'}]);
}

@@ -785,2 +782,3 @@ );

u.setUploadMode(UploadMode.FALLBACK);
u.setIntelligentChunkSize(INTELLIGENT_CHUNK_SIZE);
u.addFile(getSmallTestFile());

@@ -845,6 +843,3 @@

cb(null, mockPut(url, this.req.headers));
},
{
etag: 'test',
cb(null, [201, mockPut(url, this.req.headers), {etag: 'test'}]);
}

@@ -1037,3 +1032,3 @@ );

it('should repsect retry config', async () => {
it('should respect retry config', async () => {
// simulate first request network fail

@@ -1045,3 +1040,3 @@ let networkFail = true;

interceptorS3.twice().reply(
scope.put('/fakes3').twice().reply(
function(url, _, cb) {

@@ -1053,6 +1048,4 @@ if (networkFail) {

cb(null, mockPut(url, this.req.headers));
},
{ etag: 'test' }
);
cb(null, [201, mockPut(url, this.req.headers), { etag: 'test'}]);
});

@@ -1059,0 +1052,0 @@ const u = new S3Uploader({});

@@ -202,3 +202,3 @@ /*

spyOn(Upload.prototype, 'upload').and.returnValue(Promise.resolve());
jest.spyOn(Upload.prototype, 'upload').mockImplementation(() => Promise.resolve());

@@ -223,3 +223,3 @@ await client.upload(file, uploadOptions, storeOptions, token, defaultSecurity);

spyOn(Upload.prototype, 'upload').and.returnValue(Promise.resolve());
jest.spyOn(Upload.prototype, 'upload').mockImplementation(() => Promise.resolve());

@@ -262,3 +262,3 @@ await client.upload(file, uploadOptions, storeOptions);

spyOn(Upload.prototype, 'multiupload').and.returnValue(Promise.resolve());
jest.spyOn(Upload.prototype, 'multiupload').mockImplementation(() => Promise.resolve());

@@ -283,3 +283,3 @@ await client.multiupload(files, uploadOptions, storeOptions, token, defaultSecurity);

spyOn(Upload.prototype, 'multiupload').and.returnValue(Promise.resolve());
jest.spyOn(Upload.prototype, 'multiupload').mockImplementation(() => Promise.resolve());

@@ -303,3 +303,3 @@ await client.multiupload(files, uploadOptions, storeOptions);

spyOn(Upload.prototype, 'multiupload').and.returnValue(Promise.resolve());
jest.spyOn(Upload.prototype, 'multiupload').mockImplementation(() => Promise.resolve());

@@ -306,0 +306,0 @@ const mockOnError = jest.fn().mockName('mockOnError');

@@ -20,3 +20,3 @@ /*

import { TransformSchema } from './../schema/transforms.schema';
import * as validator from '../schema';
import * as validator from '../schema/validator';

@@ -28,3 +28,3 @@ const defaultSource = '5aYkEQJSQCmYShsoCnZN';

beforeAll(() => {
spyOn(validator, 'getValidator').and.callThrough();
jest.spyOn(validator, 'getValidator').mockImplementation();
});

@@ -31,0 +31,0 @@

@@ -127,2 +127,16 @@ /*

*/
export enum AudioTypes {
libmp3lame = 'libmp3lame',
libvorbis = 'libvorbis',
libfdk_aac = 'libfdk_aac',
dib_ac3 = 'dib_ac3',
pcm_s16le = 'pcm_s16le',
mp2 = 'mp2',
ac3 = 'ac3',
eac3 = 'eac3',
}
/**
* Convert to format
*/
export enum VideoTypes {

@@ -434,2 +448,3 @@ h264 = 'h264',

audio_bitrate?: number;
audio_codec?: AudioTypes;
upscale: boolean;

@@ -436,0 +451,0 @@ video_bitrate?: number;

@@ -437,3 +437,3 @@ /*

* Customize the text on the cloud authentication screen in Picker.
* Use a cloud source name (see [[PickerOptions.fromSources]])
* Use a cloud source name (see {@link PickerOptions.fromSources})
* or a 'default' as a key, then put your custom notice or consent

@@ -440,0 +440,0 @@ * to the 'top' or the 'bottom' key to show it respectivly above or under 'Connect button'.

@@ -19,3 +19,3 @@ /*

/* istanbul ignore file */
import * as nock from 'nock';
import nock from 'nock';
import * as zlib from 'zlib';

@@ -38,5 +38,5 @@ import { FsHttpMethod, FsRequestOptions } from '../types';

scope = nock(url).defaultReplyHeaders({
'access-control-allow-origin': req => req.headers['origin'],
'access-control-allow-methods': req => req.headers['access-control-request-method'],
'access-control-allow-headers': req => req.headers['access-control-request-headers'],
'access-control-allow-origin': function (req) { return req.getHeader('origin')?.toString(); },
'access-control-allow-methods': function (req) { return req.getHeader('access-control-request-method')?.toString(); },
'access-control-allow-headers': function (req) { return req.getHeader('access-control-request-headers')?.toString(); },
});

@@ -69,5 +69,5 @@

const scopeHttp = nock(httpUrl).defaultReplyHeaders({
'access-control-allow-origin': req => req.headers['origin'],
'access-control-allow-methods': req => req.headers['access-control-request-method'],
'access-control-allow-headers': req => req.headers['access-control-request-headers'],
'access-control-allow-origin': function (req) { return req.getHeader('origin')?.toString(); },
'access-control-allow-methods': function (req) { return req.getHeader('access-control-request-method')?.toString(); },
'access-control-allow-headers': function (req) { return req.getHeader('access-control-request-headers')?.toString(); },
});

@@ -74,0 +74,0 @@

@@ -63,2 +63,3 @@ /*

this.request.end();
return this;
}

@@ -65,0 +66,0 @@ }

@@ -18,3 +18,3 @@ /*

import * as nock from 'nock';
import nock from 'nock';
import { Dispatch } from './dispatch';

@@ -48,3 +48,9 @@ import { HttpAdapter } from './adapters/http';

it('should return req', async () => {
spyOn(adapter, 'request').and.callFake(() => Promise.resolve());
jest.spyOn(adapter, 'request').mockImplementation(() => Promise.resolve({
status: 200,
headers: {},
data: {},
config: {},
statusText: ''
}));
const dispatch = new Dispatch(adapter);

@@ -60,5 +66,5 @@ const req = { url, method: FsHttpMethod.GET, headers: {} };

const error = new FsRequestError('error msg', configBase, fsResponseBase);
spyOn(adapter, 'request').and.callFake(() => Promise.reject(error));
jest.spyOn(adapter, 'request').mockImplementation(() => Promise.reject(error));
const dispatch = new Dispatch(adapter);
const request = await dispatch.request(configBase).catch(err => err);
await dispatch.request(configBase).catch(err => err);
expect(adapter.request).toHaveBeenCalledWith(configBase);

@@ -70,3 +76,3 @@ });

const error = new FsRequestError('error msg', configBase, fsResponseBase, FsRequestErrorCode.NETWORK);
spyOn(adapter, 'request').and.callFake(() => Promise.reject(error));
jest.spyOn(adapter, 'request').mockImplementation(() => Promise.reject(error));
const dispatch = new Dispatch(adapter);

@@ -88,3 +94,3 @@ await dispatch.request(configBase).catch(err => err);

const error = new FsRequestError('error msg', config, fsResponseBase, FsRequestErrorCode.NETWORK);
spyOn(adapter, 'request').and.callFake(() => Promise.reject(error));
jest.spyOn(adapter, 'request').mockImplementation(() => Promise.reject(error));
const dispatch = new Dispatch(adapter);

@@ -91,0 +97,0 @@ await dispatch.request(config).catch(err => err);

@@ -103,9 +103,7 @@ /*

if (XMLValidator.validate(data) === true) {
const parser = new XMLParser({
response.data = new XMLParser({
ignoreDeclaration: true,
ignoreAttributes : true,
trimValues: true,
});
response.data = parser.parse(data);
}).parse(data);
}

@@ -112,0 +110,0 @@ }

@@ -22,3 +22,3 @@ /*

import fileType from 'file-type';
import * as isutf8 from 'isutf8';
import isutf8 from 'isutf8';

@@ -190,3 +190,3 @@ /**

* @param {string} options.replacement - replacement for sanitized chars defaults to "-"
* @param {string[]} options.exclude - array with excluded chars default - ['\', '{', '}','|', '%', '`', '"', "'", '~', '[', ']', '#', '|', '^', '<', '>']
* @param {string[]} options.exclude - array with excluded chars default - `['\', '{', '}','|', '%', '`', '"', "'", '~', '[', ']', '#', '|', '^', '<', '>']`
*/

@@ -193,0 +193,0 @@ export const sanitizeName = (name: string, options: SanitizeOptions = true): string => {

@@ -1049,2 +1049,5 @@ /*

},
audio_codec: {
type: 'string',
},
audio_channels: {

@@ -1051,0 +1054,0 @@ type: 'integer',

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

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

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

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc