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

@aws-cdk/cx-api

Package Overview
Dependencies
Maintainers
5
Versions
559
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-cdk/cx-api - npm Package Compare versions

Comparing version 1.19.0 to 1.20.0

node_modules/semver/classes/comparator.js

6

lib/assets.d.ts

@@ -94,4 +94,10 @@ export declare const ASSET_METADATA = "aws:cdk:asset";

readonly target?: string;
/**
* Path to the Dockerfile (relative to the directory).
*
* @default - no file is passed
*/
readonly file?: string;
}
export declare type AssetMetadataEntry = FileAssetMetadataEntry | ContainerImageAssetMetadataEntry;
export {};

2

lib/assets.js

@@ -27,2 +27,2 @@ "use strict";

exports.ASSET_PREFIX_SEPARATOR = '||';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXNzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQWEsUUFBQSxjQUFjLEdBQUcsZUFBZSxDQUFDO0FBRTlDOzs7O0dBSUc7QUFDVSxRQUFBLHVDQUF1QyxHQUFHLCtCQUErQixDQUFDO0FBRXZGOzs7R0FHRztBQUNVLFFBQUEsZ0NBQWdDLEdBQUcsZ0JBQWdCLENBQUM7QUFDcEQsUUFBQSxvQ0FBb0MsR0FBRyxvQkFBb0IsQ0FBQztBQUV6RTs7Ozs7Ozs7O0dBU0c7QUFDVSxRQUFBLHNCQUFzQixHQUFHLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBBU1NFVF9NRVRBREFUQSA9ICdhd3M6Y2RrOmFzc2V0JztcblxuLyoqXG4gKiBJZiB0aGlzIGlzIHNldCBpbiB0aGUgY29udGV4dCwgdGhlIGF3czphc3NldDp4eHggbWV0YWRhdGEgZW50cmllcyB3aWxsIG5vdCBiZVxuICogYWRkZWQgdG8gdGhlIHRlbXBsYXRlLiBUaGlzIGlzIHVzZWQsIGZvciBleGFtcGxlLCB3aGVuIHdlIHJ1biBpbnRlZ3JhdGlvbnRcbiAqIHRlc3RzLlxuICovXG5leHBvcnQgY29uc3QgQVNTRVRfUkVTT1VSQ0VfTUVUQURBVEFfRU5BQkxFRF9DT05URVhUID0gJ2F3czpjZGs6ZW5hYmxlLWFzc2V0LW1ldGFkYXRhJztcblxuLyoqXG4gKiBNZXRhZGF0YSBhZGRlZCB0byB0aGUgQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGUgZW50cmllcyB0aGF0IG1hcCBsb2NhbCBhc3NldHNcbiAqIHRvIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IEFTU0VUX1JFU09VUkNFX01FVEFEQVRBX1BBVEhfS0VZID0gJ2F3czphc3NldDpwYXRoJztcbmV4cG9ydCBjb25zdCBBU1NFVF9SRVNPVVJDRV9NRVRBREFUQV9QUk9QRVJUWV9LRVkgPSAnYXdzOmFzc2V0OnByb3BlcnR5JztcblxuLyoqXG4gKiBTZXBhcmF0b3Igc3RyaW5nIHRoYXQgc2VwYXJhdGVzIHRoZSBwcmVmaXggc2VwYXJhdG9yIGZyb20gdGhlIG9iamVjdCBrZXkgc2VwYXJhdG9yLlxuICpcbiAqIEFzc2V0IGtleXMgd2lsbCBsb29rIGxpa2U6XG4gKlxuICogICAgL2Fzc2V0cy9NeUNvbnN0cnVjdDEyMzQ1Njc4L3x8YWJjZGVmMTIzNDUuemlwXG4gKlxuICogVGhpcyBhbGxvd3MgdXMgdG8gZW5jb2RlIGJvdGggdGhlIHByZWZpeCBhbmQgdGhlIGZ1bGwgbG9jYXRpb24gaW4gYSBzaW5nbGVcbiAqIENsb3VkRm9ybWF0aW9uIFRlbXBsYXRlIFBhcmFtZXRlci5cbiAqL1xuZXhwb3J0IGNvbnN0IEFTU0VUX1BSRUZJWF9TRVBBUkFUT1IgPSAnfHwnO1xuXG5pbnRlcmZhY2UgQmFzZUFzc2V0TWV0YWRhdGFFbnRyeSB7XG4gIC8qKlxuICAgKiBSZXF1ZXN0ZWQgcGFja2FnaW5nIHN0eWxlXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdpbmc6IHN0cmluZztcblxuICAvKipcbiAgICogTG9naWNhbCBpZGVudGlmaWVyIGZvciB0aGUgYXNzZXRcbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBoYXNoIG9mIHRoZSBzb3VyY2UgZGlyZWN0b3J5IHVzZWQgdG8gYnVpbGQgdGhlIGFzc2V0LlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlSGFzaDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIG9uIGRpc2sgdG8gdGhlIGFzc2V0XG4gICAqL1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlQXNzZXRNZXRhZGF0YUVudHJ5IGV4dGVuZHMgQmFzZUFzc2V0TWV0YWRhdGFFbnRyeSB7XG4gIC8qKlxuICAgKiBSZXF1ZXN0ZWQgcGFja2FnaW5nIHN0eWxlXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdpbmc6ICd6aXAnIHwgJ2ZpbGUnO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHBhcmFtZXRlciB3aGVyZSBTMyBidWNrZXQgc2hvdWxkIGJlIHBhc3NlZCBpblxuICAgKi9cbiAgcmVhZG9ubHkgczNCdWNrZXRQYXJhbWV0ZXI6IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiBwYXJhbWV0ZXIgd2hlcmUgUzMga2V5IHNob3VsZCBiZSBwYXNzZWQgaW5cbiAgICovXG4gIHJlYWRvbmx5IHMzS2V5UGFyYW1ldGVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgd2hlcmUgdGhlIGhhc2ggb2YgdGhlIGJ1bmRsZWQgYXNzZXQgc2hvdWxkIGJlIHBhc3NlZCBpbi5cbiAgICovXG4gIHJlYWRvbmx5IGFydGlmYWN0SGFzaFBhcmFtZXRlcjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRhaW5lckltYWdlQXNzZXRNZXRhZGF0YUVudHJ5IGV4dGVuZHMgQmFzZUFzc2V0TWV0YWRhdGFFbnRyeSB7XG4gIC8qKlxuICAgKiBUeXBlIG9mIGFzc2V0XG4gICAqL1xuICByZWFkb25seSBwYWNrYWdpbmc6ICdjb250YWluZXItaW1hZ2UnO1xuXG4gIC8qKlxuICAgKiBFQ1IgUmVwb3NpdG9yeSBuYW1lIGFuZCByZXBvIGRpZ2VzdCAoc2VwYXJhdGVkIGJ5IFwiQHNoYTI1NjpcIikgd2hlcmUgdGhpcyBpbWFnZSBpcyBzdG9yZWQuXG4gICAqL1xuICByZWFkb25seSBpbWFnZU5hbWVQYXJhbWV0ZXI6IHN0cmluZztcblxuICAvKipcbiAgICogRUNSIHJlcG9zaXRvcnkgbmFtZSwgaWYgb21pdHRlZCBhIGRlZmF1bHQgbmFtZSBiYXNlZCBvbiB0aGUgYXNzZXQnc1xuICAgKiBJRCBpcyB1c2VkIGluc3RlYWQuIFNwZWNpZnkgdGhpcyBwcm9wZXJ0eSBpZiB5b3UgbmVlZCB0byBzdGF0aWNhbGx5XG4gICAqIGFkZHJlc3MgdGhlIGltYWdlLCBlLmcuIGZyb20gYSBLdWJlcm5ldGVzIFBvZC5cbiAgICogTm90ZSwgdGhpcyBpcyBvbmx5IHRoZSByZXBvc2l0b3J5IG5hbWUsIHdpdGhvdXQgdGhlIHJlZ2lzdHJ5IGFuZFxuICAgKiB0aGUgdGFnIHBhcnRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBhdXRvbWF0aWNhbGx5IGRlcml2ZWQgZnJvbSB0aGUgYXNzZXQncyBJRC5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG9zaXRvcnlOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCdWlsZCBhcmdzIHRvIHBhc3MgdG8gdGhlIGBkb2NrZXIgYnVpbGRgIGNvbW1hbmRcbiAgICpcbiAgICogQGRlZmF1bHQgbm8gYnVpbGQgYXJncyBhcmUgcGFzc2VkXG4gICAqL1xuICByZWFkb25seSBidWlsZEFyZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBEb2NrZXIgdGFyZ2V0IHRvIGJ1aWxkIHRvXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vIGJ1aWxkIHRhcmdldFxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBBc3NldE1ldGFkYXRhRW50cnkgPSBGaWxlQXNzZXRNZXRhZGF0YUVudHJ5IHwgQ29udGFpbmVySW1hZ2VBc3NldE1ldGFkYXRhRW50cnk7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXNzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQWEsUUFBQSxjQUFjLEdBQUcsZUFBZSxDQUFDO0FBRTlDOzs7O0dBSUc7QUFDVSxRQUFBLHVDQUF1QyxHQUFHLCtCQUErQixDQUFDO0FBRXZGOzs7R0FHRztBQUNVLFFBQUEsZ0NBQWdDLEdBQUcsZ0JBQWdCLENBQUM7QUFDcEQsUUFBQSxvQ0FBb0MsR0FBRyxvQkFBb0IsQ0FBQztBQUV6RTs7Ozs7Ozs7O0dBU0c7QUFDVSxRQUFBLHNCQUFzQixHQUFHLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBBU1NFVF9NRVRBREFUQSA9ICdhd3M6Y2RrOmFzc2V0JztcblxuLyoqXG4gKiBJZiB0aGlzIGlzIHNldCBpbiB0aGUgY29udGV4dCwgdGhlIGF3czphc3NldDp4eHggbWV0YWRhdGEgZW50cmllcyB3aWxsIG5vdCBiZVxuICogYWRkZWQgdG8gdGhlIHRlbXBsYXRlLiBUaGlzIGlzIHVzZWQsIGZvciBleGFtcGxlLCB3aGVuIHdlIHJ1biBpbnRlZ3JhdGlvbnRcbiAqIHRlc3RzLlxuICovXG5leHBvcnQgY29uc3QgQVNTRVRfUkVTT1VSQ0VfTUVUQURBVEFfRU5BQkxFRF9DT05URVhUID0gJ2F3czpjZGs6ZW5hYmxlLWFzc2V0LW1ldGFkYXRhJztcblxuLyoqXG4gKiBNZXRhZGF0YSBhZGRlZCB0byB0aGUgQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGUgZW50cmllcyB0aGF0IG1hcCBsb2NhbCBhc3NldHNcbiAqIHRvIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IEFTU0VUX1JFU09VUkNFX01FVEFEQVRBX1BBVEhfS0VZID0gJ2F3czphc3NldDpwYXRoJztcbmV4cG9ydCBjb25zdCBBU1NFVF9SRVNPVVJDRV9NRVRBREFUQV9QUk9QRVJUWV9LRVkgPSAnYXdzOmFzc2V0OnByb3BlcnR5JztcblxuLyoqXG4gKiBTZXBhcmF0b3Igc3RyaW5nIHRoYXQgc2VwYXJhdGVzIHRoZSBwcmVmaXggc2VwYXJhdG9yIGZyb20gdGhlIG9iamVjdCBrZXkgc2VwYXJhdG9yLlxuICpcbiAqIEFzc2V0IGtleXMgd2lsbCBsb29rIGxpa2U6XG4gKlxuICogICAgL2Fzc2V0cy9NeUNvbnN0cnVjdDEyMzQ1Njc4L3x8YWJjZGVmMTIzNDUuemlwXG4gKlxuICogVGhpcyBhbGxvd3MgdXMgdG8gZW5jb2RlIGJvdGggdGhlIHByZWZpeCBhbmQgdGhlIGZ1bGwgbG9jYXRpb24gaW4gYSBzaW5nbGVcbiAqIENsb3VkRm9ybWF0aW9uIFRlbXBsYXRlIFBhcmFtZXRlci5cbiAqL1xuZXhwb3J0IGNvbnN0IEFTU0VUX1BSRUZJWF9TRVBBUkFUT1IgPSAnfHwnO1xuXG5pbnRlcmZhY2UgQmFzZUFzc2V0TWV0YWRhdGFFbnRyeSB7XG4gIC8qKlxuICAgKiBSZXF1ZXN0ZWQgcGFja2FnaW5nIHN0eWxlXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdpbmc6IHN0cmluZztcblxuICAvKipcbiAgICogTG9naWNhbCBpZGVudGlmaWVyIGZvciB0aGUgYXNzZXRcbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBoYXNoIG9mIHRoZSBzb3VyY2UgZGlyZWN0b3J5IHVzZWQgdG8gYnVpbGQgdGhlIGFzc2V0LlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlSGFzaDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIG9uIGRpc2sgdG8gdGhlIGFzc2V0XG4gICAqL1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlQXNzZXRNZXRhZGF0YUVudHJ5IGV4dGVuZHMgQmFzZUFzc2V0TWV0YWRhdGFFbnRyeSB7XG4gIC8qKlxuICAgKiBSZXF1ZXN0ZWQgcGFja2FnaW5nIHN0eWxlXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdpbmc6ICd6aXAnIHwgJ2ZpbGUnO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHBhcmFtZXRlciB3aGVyZSBTMyBidWNrZXQgc2hvdWxkIGJlIHBhc3NlZCBpblxuICAgKi9cbiAgcmVhZG9ubHkgczNCdWNrZXRQYXJhbWV0ZXI6IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiBwYXJhbWV0ZXIgd2hlcmUgUzMga2V5IHNob3VsZCBiZSBwYXNzZWQgaW5cbiAgICovXG4gIHJlYWRvbmx5IHMzS2V5UGFyYW1ldGVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgd2hlcmUgdGhlIGhhc2ggb2YgdGhlIGJ1bmRsZWQgYXNzZXQgc2hvdWxkIGJlIHBhc3NlZCBpbi5cbiAgICovXG4gIHJlYWRvbmx5IGFydGlmYWN0SGFzaFBhcmFtZXRlcjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRhaW5lckltYWdlQXNzZXRNZXRhZGF0YUVudHJ5IGV4dGVuZHMgQmFzZUFzc2V0TWV0YWRhdGFFbnRyeSB7XG4gIC8qKlxuICAgKiBUeXBlIG9mIGFzc2V0XG4gICAqL1xuICByZWFkb25seSBwYWNrYWdpbmc6ICdjb250YWluZXItaW1hZ2UnO1xuXG4gIC8qKlxuICAgKiBFQ1IgUmVwb3NpdG9yeSBuYW1lIGFuZCByZXBvIGRpZ2VzdCAoc2VwYXJhdGVkIGJ5IFwiQHNoYTI1NjpcIikgd2hlcmUgdGhpcyBpbWFnZSBpcyBzdG9yZWQuXG4gICAqL1xuICByZWFkb25seSBpbWFnZU5hbWVQYXJhbWV0ZXI6IHN0cmluZztcblxuICAvKipcbiAgICogRUNSIHJlcG9zaXRvcnkgbmFtZSwgaWYgb21pdHRlZCBhIGRlZmF1bHQgbmFtZSBiYXNlZCBvbiB0aGUgYXNzZXQnc1xuICAgKiBJRCBpcyB1c2VkIGluc3RlYWQuIFNwZWNpZnkgdGhpcyBwcm9wZXJ0eSBpZiB5b3UgbmVlZCB0byBzdGF0aWNhbGx5XG4gICAqIGFkZHJlc3MgdGhlIGltYWdlLCBlLmcuIGZyb20gYSBLdWJlcm5ldGVzIFBvZC5cbiAgICogTm90ZSwgdGhpcyBpcyBvbmx5IHRoZSByZXBvc2l0b3J5IG5hbWUsIHdpdGhvdXQgdGhlIHJlZ2lzdHJ5IGFuZFxuICAgKiB0aGUgdGFnIHBhcnRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBhdXRvbWF0aWNhbGx5IGRlcml2ZWQgZnJvbSB0aGUgYXNzZXQncyBJRC5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG9zaXRvcnlOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCdWlsZCBhcmdzIHRvIHBhc3MgdG8gdGhlIGBkb2NrZXIgYnVpbGRgIGNvbW1hbmRcbiAgICpcbiAgICogQGRlZmF1bHQgbm8gYnVpbGQgYXJncyBhcmUgcGFzc2VkXG4gICAqL1xuICByZWFkb25seSBidWlsZEFyZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBEb2NrZXIgdGFyZ2V0IHRvIGJ1aWxkIHRvXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vIGJ1aWxkIHRhcmdldFxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBEb2NrZXJmaWxlIChyZWxhdGl2ZSB0byB0aGUgZGlyZWN0b3J5KS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBmaWxlIGlzIHBhc3NlZFxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZT86IHN0cmluZztcblxufVxuXG5leHBvcnQgdHlwZSBBc3NldE1ldGFkYXRhRW50cnkgPSBGaWxlQXNzZXRNZXRhZGF0YUVudHJ5IHwgQ29udGFpbmVySW1hZ2VBc3NldE1ldGFkYXRhRW50cnk7XG4iXX0=

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

if (entry.type === type) {
result.push(Object.assign({ path }, entry));
result.push({ path, ...entry });
}

@@ -107,2 +107,2 @@ }

const tree_cloud_artifact_1 = require("./tree-cloud-artifact");
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtYXJ0aWZhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbG91ZC1hcnRpZmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLHlDQU8yQztBQUUzQzs7R0FFRztBQUNILElBQVksWUFZWDtBQVpELFdBQVksWUFBWTtJQUN0Qiw2QkFBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCxxRUFBcUQsQ0FBQTtJQUVyRDs7T0FFRztJQUNILHFDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFaVyxZQUFZLEdBQVosb0JBQVksS0FBWixvQkFBWSxRQVl2QjtBQXFERDs7R0FFRztBQUNILE1BQWEsYUFBYTtJQXdDeEIsWUFBc0MsUUFBdUIsRUFBa0IsRUFBVSxFQUFFLFFBQTBCO1FBQS9FLGFBQVEsR0FBUixRQUFRLENBQWU7UUFBa0IsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUN2RixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUEzQ0Q7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUF1QixFQUFFLEVBQVUsRUFBRSxRQUEwQjtRQUN4RixRQUFRLFFBQVEsQ0FBQyxJQUFJLEVBQUU7WUFDckIsS0FBSyxZQUFZLENBQUMsd0JBQXdCO2dCQUN4QyxPQUFPLElBQUkscURBQTJCLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNqRSxLQUFLLFlBQVksQ0FBQyxRQUFRO2dCQUN4QixPQUFPLElBQUksdUNBQWlCLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN2RDtnQkFDRSxPQUFPLFNBQVMsQ0FBQztTQUNwQjtJQUNILENBQUM7SUE2QkQ7O09BRUc7SUFDSCxJQUFXLFlBQVk7UUFDckIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQUU7UUFFdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUN4QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ1IsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLElBQUksQ0FBQyxFQUFFLHFDQUFxQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQy9FO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksa0JBQWtCLENBQUMsSUFBWTtRQUNwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBdUIsQ0FBQztRQUNoRCxLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLEVBQUU7WUFDNUQsS0FBSyxNQUFNLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN4RCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFO29CQUN2QixNQUFNLENBQUMsSUFBSSxpQkFBRyxJQUFJLElBQUssS0FBSyxFQUFHLENBQUM7aUJBQ2pDO2FBQ0Y7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLE1BQU0sUUFBUSxHQUFHLElBQUksS0FBSyxFQUFvQixDQUFDO1FBRS9DLEtBQUssTUFBTSxDQUFFLEVBQUUsRUFBRSxRQUFRLENBQUUsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLEVBQUcsQ0FBQyxFQUFFO1lBQzVFLEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFO2dCQUM1QixJQUFJLEtBQTRCLENBQUM7Z0JBQ2pDLFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRTtvQkFDbEIsS0FBSywrQkFBb0I7d0JBQ3ZCLEtBQUssR0FBRyxnQ0FBcUIsQ0FBQyxPQUFPLENBQUM7d0JBQ3RDLE1BQU07b0JBQ1IsS0FBSyw2QkFBa0I7d0JBQ3JCLEtBQUssR0FBRyxnQ0FBcUIsQ0FBQyxLQUFLLENBQUM7d0JBQ3BDLE1BQU07b0JBQ1IsS0FBSyw0QkFBaUI7d0JBQ3BCLEtBQUssR0FBRyxnQ0FBcUIsQ0FBQyxJQUFJLENBQUM7d0JBQ25DLE1BQU07b0JBQ1I7d0JBQ0UsU0FBUztpQkFDWjtnQkFFRCxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ3JDO1NBQ0Y7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0NBQ0Y7QUF6R0Qsc0NBeUdDO0FBRUQsOERBQThEO0FBQzlELHVFQUF3RTtBQUN4RSwrREFBMEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbG91ZEFzc2VtYmx5IH0gZnJvbSAnLi9jbG91ZC1hc3NlbWJseSc7XG5pbXBvcnQge1xuICBFUlJPUl9NRVRBREFUQV9LRVksXG4gIElORk9fTUVUQURBVEFfS0VZLFxuICBNZXRhZGF0YUVudHJ5LFxuICBNZXRhZGF0YUVudHJ5UmVzdWx0LFxuICBTeW50aGVzaXNNZXNzYWdlLFxuICBTeW50aGVzaXNNZXNzYWdlTGV2ZWwsXG4gIFdBUk5JTkdfTUVUQURBVEFfS0VZIH0gZnJvbSAnLi9tZXRhZGF0YSc7XG5cbi8qKlxuICogVHlwZSBvZiBjbG91ZCBhcnRpZmFjdC5cbiAqL1xuZXhwb3J0IGVudW0gQXJ0aWZhY3RUeXBlIHtcbiAgTk9ORSA9ICdub25lJywgLy8gcmVxdWlyZWQgZHVlIHRvIGEganNpaSBidWdcblxuICAvKipcbiAgICogVGhlIGFydGlmYWN0IGlzIGFuIEFXUyBDbG91ZEZvcm1hdGlvbiBzdGFjay5cbiAgICovXG4gIEFXU19DTE9VREZPUk1BVElPTl9TVEFDSyA9ICdhd3M6Y2xvdWRmb3JtYXRpb246c3RhY2snLFxuXG4gIC8qKlxuICAgKiBUaGUgYXJ0aWZhY3QgY29udGFpbnMgbWV0YWRhdGEgZ2VuZXJhdGVkIG91dCBvZiB0aGUgQ0RLIGFwcGxpY2F0aW9uLlxuICAgKi9cbiAgQ0RLX1RSRUUgPSAnY2RrOnRyZWUnLFxufVxuXG4vKipcbiAqIEEgbWFuaWZlc3QgZm9yIGEgc2luZ2xlIGFydGlmYWN0IHdpdGhpbiB0aGUgY2xvdWQgYXNzZW1ibHkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJ0aWZhY3RNYW5pZmVzdCB7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBhcnRpZmFjdC5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IEFydGlmYWN0VHlwZTtcblxuICAvKipcbiAgICogVGhlIGVudmlyb25tZW50IGludG8gd2hpY2ggdGhpcyBhcnRpZmFjdCBpcyBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50Pzogc3RyaW5nOyAvLyBmb3JtYXQ6IGF3czovL2FjY291bnQvcmVnaW9uXG5cbiAgLyoqXG4gICAqIEFzc29jaWF0ZWQgbWV0YWRhdGEuXG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YT86IHsgW3BhdGg6IHN0cmluZ106IE1ldGFkYXRhRW50cnlbXSB9O1xuXG4gIC8qKlxuICAgKiBJRHMgb2YgYXJ0aWZhY3RzIHRoYXQgbXVzdCBiZSBkZXBsb3llZCBiZWZvcmUgdGhpcyBhcnRpZmFjdC5cbiAgICovXG4gIHJlYWRvbmx5IGRlcGVuZGVuY2llcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgc2V0IG9mIHByb3BlcnRpZXMgZm9yIHRoaXMgYXJ0aWZhY3QgKGRlcGVuZHMgb24gdHlwZSlcbiAgICovXG4gIHJlYWRvbmx5IHByb3BlcnRpZXM/OiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfTtcbn1cblxuLyoqXG4gKiBBcnRpZmFjdCBwcm9wZXJ0aWVzIGZvciBDbG91ZEZvcm1hdGlvbiBzdGFja3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXdzQ2xvdWRGb3JtYXRpb25TdGFja1Byb3BlcnRpZXMge1xuICAvKipcbiAgICogQSBmaWxlIHJlbGF0aXZlIHRvIHRoZSBhc3NlbWJseSByb290IHdoaWNoIGNvbnRhaW5zIHRoZSBDbG91ZEZvcm1hdGlvbiB0ZW1wbGF0ZSBmb3IgdGhpcyBzdGFjay5cbiAgICovXG4gIHJlYWRvbmx5IHRlbXBsYXRlRmlsZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWYWx1ZXMgZm9yIENsb3VkRm9ybWF0aW9uIHN0YWNrIHBhcmFtZXRlcnMgdGhhdCBzaG91bGQgYmUgcGFzc2VkIHdoZW4gdGhlIHN0YWNrIGlzIGRlcGxveWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1ldGVycz86IHsgW2lkOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogVGhlIG5hbWUgdG8gdXNlIGZvciB0aGUgQ2xvdWRGb3JtYXRpb24gc3RhY2suXG4gICAqIEBkZWZhdWx0IC0gbmFtZSBkZXJpdmVkIGZyb20gYXJ0aWZhY3QgSURcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGFydGlmYWN0IHdpdGhpbiBhIGNsb3VkIGFzc2VtYmx5LlxuICovXG5leHBvcnQgY2xhc3MgQ2xvdWRBcnRpZmFjdCB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3ViY2xhc3Mgb2YgYENsb3VkQXJ0aWZhY3RgIGJhc2VkIG9uIHRoZSBhcnRpZmFjdCB0eXBlIGRlZmluZWQgaW4gdGhlIGFydGlmYWN0IG1hbmlmZXN0LlxuICAgKiBAcGFyYW0gYXNzZW1ibHkgVGhlIGNsb3VkIGFzc2VtYmx5IGZyb20gd2hpY2ggdG8gbG9hZCB0aGUgYXJ0aWZhY3RcbiAgICogQHBhcmFtIGlkIFRoZSBhcnRpZmFjdCBJRFxuICAgKiBAcGFyYW0gYXJ0aWZhY3QgVGhlIGFydGlmYWN0IG1hbmlmZXN0XG4gICAqIEByZXR1cm5zIHRoZSBgQ2xvdWRBcnRpZmFjdGAgdGhhdCBtYXRjaGVzIHRoZSBhcnRpZmFjdCB0eXBlIG9yIGB1bmRlZmluZWRgIGlmIGl0J3MgYW4gYXJ0aWZhY3QgdHlwZSB0aGF0IGlzIHVucmVjb2duaXplZCBieSB0aGlzIG1vZHVsZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbU1hbmlmZXN0KGFzc2VtYmx5OiBDbG91ZEFzc2VtYmx5LCBpZDogc3RyaW5nLCBhcnRpZmFjdDogQXJ0aWZhY3RNYW5pZmVzdCk6IENsb3VkQXJ0aWZhY3QgfCB1bmRlZmluZWQge1xuICAgIHN3aXRjaCAoYXJ0aWZhY3QudHlwZSkge1xuICAgICAgY2FzZSBBcnRpZmFjdFR5cGUuQVdTX0NMT1VERk9STUFUSU9OX1NUQUNLOlxuICAgICAgICByZXR1cm4gbmV3IENsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdChhc3NlbWJseSwgaWQsIGFydGlmYWN0KTtcbiAgICAgIGNhc2UgQXJ0aWZhY3RUeXBlLkNES19UUkVFOlxuICAgICAgICByZXR1cm4gbmV3IFRyZWVDbG91ZEFydGlmYWN0KGFzc2VtYmx5LCBpZCwgYXJ0aWZhY3QpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIGFydGlmYWN0J3MgbWFuaWZlc3RcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBtYW5pZmVzdDogQXJ0aWZhY3RNYW5pZmVzdDtcblxuICAvKipcbiAgICogVGhlIHNldCBvZiBtZXNzYWdlcyBleHRyYWN0ZWQgZnJvbSB0aGUgYXJ0aWZhY3QncyBtZXRhZGF0YS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBtZXNzYWdlczogU3ludGhlc2lzTWVzc2FnZVtdO1xuXG4gIC8qKlxuICAgKiBJRHMgb2YgYWxsIGRlcGVuZGVuY2llcy4gVXNlZCB3aGVuIHRvcG9sb2dpY2FsbHkgc29ydGluZyB0aGUgYXJ0aWZhY3RzIHdpdGhpbiB0aGUgY2xvdWQgYXNzZW1ibHkuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IF9kZXBlbmRlbmN5SURzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ2FjaGUgb2YgcmVzb2x2ZWQgZGVwZW5kZW5jaWVzLlxuICAgKi9cbiAgcHJpdmF0ZSBfZGVwcz86IENsb3VkQXJ0aWZhY3RbXTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGFzc2VtYmx5OiBDbG91ZEFzc2VtYmx5LCBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZywgbWFuaWZlc3Q6IEFydGlmYWN0TWFuaWZlc3QpIHtcbiAgICB0aGlzLm1hbmlmZXN0ID0gbWFuaWZlc3Q7XG4gICAgdGhpcy5tZXNzYWdlcyA9IHRoaXMucmVuZGVyTWVzc2FnZXMoKTtcbiAgICB0aGlzLl9kZXBlbmRlbmN5SURzID0gbWFuaWZlc3QuZGVwZW5kZW5jaWVzIHx8IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYWxsIHRoZSBhcnRpZmFjdHMgdGhhdCB0aGlzIGFydGlmYWN0IGRlcGVuZHMgb24uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRlcGVuZGVuY2llcygpOiBDbG91ZEFydGlmYWN0W10ge1xuICAgIGlmICh0aGlzLl9kZXBzKSB7IHJldHVybiB0aGlzLl9kZXBzOyB9XG5cbiAgICB0aGlzLl9kZXBzID0gdGhpcy5fZGVwZW5kZW5jeUlEcy5tYXAoaWQgPT4ge1xuICAgICAgY29uc3QgZGVwID0gdGhpcy5hc3NlbWJseS5hcnRpZmFjdHMuZmluZChhID0+IGEuaWQgPT09IGlkKTtcbiAgICAgIGlmICghZGVwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQXJ0aWZhY3QgJHt0aGlzLmlkfSBkZXBlbmRzIG9uIG5vbi1leGlzdGluZyBhcnRpZmFjdCAke2lkfWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGRlcDtcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLl9kZXBzO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGFsbCB0aGUgbWV0YWRhdGEgZW50cmllcyBvZiBhIHNwZWNpZmljIHR5cGUgaW4gdGhpcyBhcnRpZmFjdC5cbiAgICogQHBhcmFtIHR5cGVcbiAgICovXG4gIHB1YmxpYyBmaW5kTWV0YWRhdGFCeVR5cGUodHlwZTogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IEFycmF5PE1ldGFkYXRhRW50cnlSZXN1bHQ+KCk7XG4gICAgZm9yIChjb25zdCBwYXRoIG9mIE9iamVjdC5rZXlzKHRoaXMubWFuaWZlc3QubWV0YWRhdGEgfHwge30pKSB7XG4gICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mICh0aGlzLm1hbmlmZXN0Lm1ldGFkYXRhIHx8IHt9KVtwYXRoXSkge1xuICAgICAgICBpZiAoZW50cnkudHlwZSA9PT0gdHlwZSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKHsgcGF0aCwgLi4uZW50cnkgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyTWVzc2FnZXMoKSB7XG4gICAgY29uc3QgbWVzc2FnZXMgPSBuZXcgQXJyYXk8U3ludGhlc2lzTWVzc2FnZT4oKTtcblxuICAgIGZvciAoY29uc3QgWyBpZCwgbWV0YWRhdGEgXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLm1hbmlmZXN0Lm1ldGFkYXRhIHx8IHsgfSkpIHtcbiAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgbWV0YWRhdGEpIHtcbiAgICAgICAgbGV0IGxldmVsOiBTeW50aGVzaXNNZXNzYWdlTGV2ZWw7XG4gICAgICAgIHN3aXRjaCAoZW50cnkudHlwZSkge1xuICAgICAgICAgIGNhc2UgV0FSTklOR19NRVRBREFUQV9LRVk6XG4gICAgICAgICAgICBsZXZlbCA9IFN5bnRoZXNpc01lc3NhZ2VMZXZlbC5XQVJOSU5HO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBFUlJPUl9NRVRBREFUQV9LRVk6XG4gICAgICAgICAgICBsZXZlbCA9IFN5bnRoZXNpc01lc3NhZ2VMZXZlbC5FUlJPUjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgSU5GT19NRVRBREFUQV9LRVk6XG4gICAgICAgICAgICBsZXZlbCA9IFN5bnRoZXNpc01lc3NhZ2VMZXZlbC5JTkZPO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgbWVzc2FnZXMucHVzaCh7IGxldmVsLCBlbnRyeSwgaWQgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lc3NhZ2VzO1xuICB9XG59XG5cbi8vIG5lZWRzIHRvIGJlIGRlZmluZWQgYXQgdGhlIGVuZCB0byBhdm9pZCBhIGN5Y2xpYyBkZXBlbmRlbmN5XG5pbXBvcnQgeyBDbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QgfSBmcm9tICcuL2Nsb3VkZm9ybWF0aW9uLWFydGlmYWN0JztcbmltcG9ydCB7IFRyZWVDbG91ZEFydGlmYWN0IH0gZnJvbSAnLi90cmVlLWNsb3VkLWFydGlmYWN0JztcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtYXJ0aWZhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbG91ZC1hcnRpZmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLHlDQU8yQztBQUUzQzs7R0FFRztBQUNILElBQVksWUFZWDtBQVpELFdBQVksWUFBWTtJQUN0Qiw2QkFBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCxxRUFBcUQsQ0FBQTtJQUVyRDs7T0FFRztJQUNILHFDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFaVyxZQUFZLEdBQVosb0JBQVksS0FBWixvQkFBWSxRQVl2QjtBQXFERDs7R0FFRztBQUNILE1BQWEsYUFBYTtJQXdDeEIsWUFBc0MsUUFBdUIsRUFBa0IsRUFBVSxFQUFFLFFBQTBCO1FBQS9FLGFBQVEsR0FBUixRQUFRLENBQWU7UUFBa0IsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUN2RixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUEzQ0Q7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUF1QixFQUFFLEVBQVUsRUFBRSxRQUEwQjtRQUN4RixRQUFRLFFBQVEsQ0FBQyxJQUFJLEVBQUU7WUFDckIsS0FBSyxZQUFZLENBQUMsd0JBQXdCO2dCQUN4QyxPQUFPLElBQUkscURBQTJCLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNqRSxLQUFLLFlBQVksQ0FBQyxRQUFRO2dCQUN4QixPQUFPLElBQUksdUNBQWlCLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN2RDtnQkFDRSxPQUFPLFNBQVMsQ0FBQztTQUNwQjtJQUNILENBQUM7SUE2QkQ7O09BRUc7SUFDSCxJQUFXLFlBQVk7UUFDckIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQUU7UUFFdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUN4QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ1IsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLElBQUksQ0FBQyxFQUFFLHFDQUFxQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQy9FO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksa0JBQWtCLENBQUMsSUFBWTtRQUNwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBdUIsQ0FBQztRQUNoRCxLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLEVBQUU7WUFDNUQsS0FBSyxNQUFNLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN4RCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFO29CQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztpQkFDakM7YUFDRjtTQUNGO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLGNBQWM7UUFDcEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxLQUFLLEVBQW9CLENBQUM7UUFFL0MsS0FBSyxNQUFNLENBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBRSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksRUFBRyxDQUFDLEVBQUU7WUFDNUUsS0FBSyxNQUFNLEtBQUssSUFBSSxRQUFRLEVBQUU7Z0JBQzVCLElBQUksS0FBNEIsQ0FBQztnQkFDakMsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFO29CQUNsQixLQUFLLCtCQUFvQjt3QkFDdkIsS0FBSyxHQUFHLGdDQUFxQixDQUFDLE9BQU8sQ0FBQzt3QkFDdEMsTUFBTTtvQkFDUixLQUFLLDZCQUFrQjt3QkFDckIsS0FBSyxHQUFHLGdDQUFxQixDQUFDLEtBQUssQ0FBQzt3QkFDcEMsTUFBTTtvQkFDUixLQUFLLDRCQUFpQjt3QkFDcEIsS0FBSyxHQUFHLGdDQUFxQixDQUFDLElBQUksQ0FBQzt3QkFDbkMsTUFBTTtvQkFDUjt3QkFDRSxTQUFTO2lCQUNaO2dCQUVELFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDckM7U0FDRjtRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Q0FDRjtBQXpHRCxzQ0F5R0M7QUFFRCw4REFBOEQ7QUFDOUQsdUVBQXdFO0FBQ3hFLCtEQUEwRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsb3VkQXNzZW1ibHkgfSBmcm9tICcuL2Nsb3VkLWFzc2VtYmx5JztcbmltcG9ydCB7XG4gIEVSUk9SX01FVEFEQVRBX0tFWSxcbiAgSU5GT19NRVRBREFUQV9LRVksXG4gIE1ldGFkYXRhRW50cnksXG4gIE1ldGFkYXRhRW50cnlSZXN1bHQsXG4gIFN5bnRoZXNpc01lc3NhZ2UsXG4gIFN5bnRoZXNpc01lc3NhZ2VMZXZlbCxcbiAgV0FSTklOR19NRVRBREFUQV9LRVkgfSBmcm9tICcuL21ldGFkYXRhJztcblxuLyoqXG4gKiBUeXBlIG9mIGNsb3VkIGFydGlmYWN0LlxuICovXG5leHBvcnQgZW51bSBBcnRpZmFjdFR5cGUge1xuICBOT05FID0gJ25vbmUnLCAvLyByZXF1aXJlZCBkdWUgdG8gYSBqc2lpIGJ1Z1xuXG4gIC8qKlxuICAgKiBUaGUgYXJ0aWZhY3QgaXMgYW4gQVdTIENsb3VkRm9ybWF0aW9uIHN0YWNrLlxuICAgKi9cbiAgQVdTX0NMT1VERk9STUFUSU9OX1NUQUNLID0gJ2F3czpjbG91ZGZvcm1hdGlvbjpzdGFjaycsXG5cbiAgLyoqXG4gICAqIFRoZSBhcnRpZmFjdCBjb250YWlucyBtZXRhZGF0YSBnZW5lcmF0ZWQgb3V0IG9mIHRoZSBDREsgYXBwbGljYXRpb24uXG4gICAqL1xuICBDREtfVFJFRSA9ICdjZGs6dHJlZScsXG59XG5cbi8qKlxuICogQSBtYW5pZmVzdCBmb3IgYSBzaW5nbGUgYXJ0aWZhY3Qgd2l0aGluIHRoZSBjbG91ZCBhc3NlbWJseS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpZmFjdE1hbmlmZXN0IHtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGFydGlmYWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZTogQXJ0aWZhY3RUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgZW52aXJvbm1lbnQgaW50byB3aGljaCB0aGlzIGFydGlmYWN0IGlzIGRlcGxveWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiBzdHJpbmc7IC8vIGZvcm1hdDogYXdzOi8vYWNjb3VudC9yZWdpb25cblxuICAvKipcbiAgICogQXNzb2NpYXRlZCBtZXRhZGF0YS5cbiAgICovXG4gIHJlYWRvbmx5IG1ldGFkYXRhPzogeyBbcGF0aDogc3RyaW5nXTogTWV0YWRhdGFFbnRyeVtdIH07XG5cbiAgLyoqXG4gICAqIElEcyBvZiBhcnRpZmFjdHMgdGhhdCBtdXN0IGJlIGRlcGxveWVkIGJlZm9yZSB0aGlzIGFydGlmYWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgZGVwZW5kZW5jaWVzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBzZXQgb2YgcHJvcGVydGllcyBmb3IgdGhpcyBhcnRpZmFjdCAoZGVwZW5kcyBvbiB0eXBlKVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvcGVydGllcz86IHsgW25hbWU6IHN0cmluZ106IGFueSB9O1xufVxuXG4vKipcbiAqIEFydGlmYWN0IHByb3BlcnRpZXMgZm9yIENsb3VkRm9ybWF0aW9uIHN0YWNrcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBd3NDbG91ZEZvcm1hdGlvblN0YWNrUHJvcGVydGllcyB7XG4gIC8qKlxuICAgKiBBIGZpbGUgcmVsYXRpdmUgdG8gdGhlIGFzc2VtYmx5IHJvb3Qgd2hpY2ggY29udGFpbnMgdGhlIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlIGZvciB0aGlzIHN0YWNrLlxuICAgKi9cbiAgcmVhZG9ubHkgdGVtcGxhdGVGaWxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZhbHVlcyBmb3IgQ2xvdWRGb3JtYXRpb24gc3RhY2sgcGFyYW1ldGVycyB0aGF0IHNob3VsZCBiZSBwYXNzZWQgd2hlbiB0aGUgc3RhY2sgaXMgZGVwbG95ZWQuXG4gICAqL1xuICByZWFkb25seSBwYXJhbWV0ZXJzPzogeyBbaWQ6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSB0byB1c2UgZm9yIHRoZSBDbG91ZEZvcm1hdGlvbiBzdGFjay5cbiAgICogQGRlZmF1bHQgLSBuYW1lIGRlcml2ZWQgZnJvbSBhcnRpZmFjdCBJRFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gYXJ0aWZhY3Qgd2l0aGluIGEgY2xvdWQgYXNzZW1ibHkuXG4gKi9cbmV4cG9ydCBjbGFzcyBDbG91ZEFydGlmYWN0IHtcbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdWJjbGFzcyBvZiBgQ2xvdWRBcnRpZmFjdGAgYmFzZWQgb24gdGhlIGFydGlmYWN0IHR5cGUgZGVmaW5lZCBpbiB0aGUgYXJ0aWZhY3QgbWFuaWZlc3QuXG4gICAqIEBwYXJhbSBhc3NlbWJseSBUaGUgY2xvdWQgYXNzZW1ibHkgZnJvbSB3aGljaCB0byBsb2FkIHRoZSBhcnRpZmFjdFxuICAgKiBAcGFyYW0gaWQgVGhlIGFydGlmYWN0IElEXG4gICAqIEBwYXJhbSBhcnRpZmFjdCBUaGUgYXJ0aWZhY3QgbWFuaWZlc3RcbiAgICogQHJldHVybnMgdGhlIGBDbG91ZEFydGlmYWN0YCB0aGF0IG1hdGNoZXMgdGhlIGFydGlmYWN0IHR5cGUgb3IgYHVuZGVmaW5lZGAgaWYgaXQncyBhbiBhcnRpZmFjdCB0eXBlIHRoYXQgaXMgdW5yZWNvZ25pemVkIGJ5IHRoaXMgbW9kdWxlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tTWFuaWZlc3QoYXNzZW1ibHk6IENsb3VkQXNzZW1ibHksIGlkOiBzdHJpbmcsIGFydGlmYWN0OiBBcnRpZmFjdE1hbmlmZXN0KTogQ2xvdWRBcnRpZmFjdCB8IHVuZGVmaW5lZCB7XG4gICAgc3dpdGNoIChhcnRpZmFjdC50eXBlKSB7XG4gICAgICBjYXNlIEFydGlmYWN0VHlwZS5BV1NfQ0xPVURGT1JNQVRJT05fU1RBQ0s6XG4gICAgICAgIHJldHVybiBuZXcgQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0KGFzc2VtYmx5LCBpZCwgYXJ0aWZhY3QpO1xuICAgICAgY2FzZSBBcnRpZmFjdFR5cGUuQ0RLX1RSRUU6XG4gICAgICAgIHJldHVybiBuZXcgVHJlZUNsb3VkQXJ0aWZhY3QoYXNzZW1ibHksIGlkLCBhcnRpZmFjdCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYXJ0aWZhY3QncyBtYW5pZmVzdFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG1hbmlmZXN0OiBBcnRpZmFjdE1hbmlmZXN0O1xuXG4gIC8qKlxuICAgKiBUaGUgc2V0IG9mIG1lc3NhZ2VzIGV4dHJhY3RlZCBmcm9tIHRoZSBhcnRpZmFjdCdzIG1ldGFkYXRhLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG1lc3NhZ2VzOiBTeW50aGVzaXNNZXNzYWdlW107XG5cbiAgLyoqXG4gICAqIElEcyBvZiBhbGwgZGVwZW5kZW5jaWVzLiBVc2VkIHdoZW4gdG9wb2xvZ2ljYWxseSBzb3J0aW5nIHRoZSBhcnRpZmFjdHMgd2l0aGluIHRoZSBjbG91ZCBhc3NlbWJseS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgX2RlcGVuZGVuY3lJRHM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBDYWNoZSBvZiByZXNvbHZlZCBkZXBlbmRlbmNpZXMuXG4gICAqL1xuICBwcml2YXRlIF9kZXBzPzogQ2xvdWRBcnRpZmFjdFtdO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgYXNzZW1ibHk6IENsb3VkQXNzZW1ibHksIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nLCBtYW5pZmVzdDogQXJ0aWZhY3RNYW5pZmVzdCkge1xuICAgIHRoaXMubWFuaWZlc3QgPSBtYW5pZmVzdDtcbiAgICB0aGlzLm1lc3NhZ2VzID0gdGhpcy5yZW5kZXJNZXNzYWdlcygpO1xuICAgIHRoaXMuX2RlcGVuZGVuY3lJRHMgPSBtYW5pZmVzdC5kZXBlbmRlbmNpZXMgfHwgW107XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbGwgdGhlIGFydGlmYWN0cyB0aGF0IHRoaXMgYXJ0aWZhY3QgZGVwZW5kcyBvbi5cbiAgICovXG4gIHB1YmxpYyBnZXQgZGVwZW5kZW5jaWVzKCk6IENsb3VkQXJ0aWZhY3RbXSB7XG4gICAgaWYgKHRoaXMuX2RlcHMpIHsgcmV0dXJuIHRoaXMuX2RlcHM7IH1cblxuICAgIHRoaXMuX2RlcHMgPSB0aGlzLl9kZXBlbmRlbmN5SURzLm1hcChpZCA9PiB7XG4gICAgICBjb25zdCBkZXAgPSB0aGlzLmFzc2VtYmx5LmFydGlmYWN0cy5maW5kKGEgPT4gYS5pZCA9PT0gaWQpO1xuICAgICAgaWYgKCFkZXApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBcnRpZmFjdCAke3RoaXMuaWR9IGRlcGVuZHMgb24gbm9uLWV4aXN0aW5nIGFydGlmYWN0ICR7aWR9YCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZGVwO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuX2RlcHM7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgYWxsIHRoZSBtZXRhZGF0YSBlbnRyaWVzIG9mIGEgc3BlY2lmaWMgdHlwZSBpbiB0aGlzIGFydGlmYWN0LlxuICAgKiBAcGFyYW0gdHlwZVxuICAgKi9cbiAgcHVibGljIGZpbmRNZXRhZGF0YUJ5VHlwZSh0eXBlOiBzdHJpbmcpIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgQXJyYXk8TWV0YWRhdGFFbnRyeVJlc3VsdD4oKTtcbiAgICBmb3IgKGNvbnN0IHBhdGggb2YgT2JqZWN0LmtleXModGhpcy5tYW5pZmVzdC5tZXRhZGF0YSB8fCB7fSkpIHtcbiAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgKHRoaXMubWFuaWZlc3QubWV0YWRhdGEgfHwge30pW3BhdGhdKSB7XG4gICAgICAgIGlmIChlbnRyeS50eXBlID09PSB0eXBlKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goeyBwYXRoLCAuLi5lbnRyeSB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJNZXNzYWdlcygpIHtcbiAgICBjb25zdCBtZXNzYWdlcyA9IG5ldyBBcnJheTxTeW50aGVzaXNNZXNzYWdlPigpO1xuXG4gICAgZm9yIChjb25zdCBbIGlkLCBtZXRhZGF0YSBdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMubWFuaWZlc3QubWV0YWRhdGEgfHwgeyB9KSkge1xuICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBtZXRhZGF0YSkge1xuICAgICAgICBsZXQgbGV2ZWw6IFN5bnRoZXNpc01lc3NhZ2VMZXZlbDtcbiAgICAgICAgc3dpdGNoIChlbnRyeS50eXBlKSB7XG4gICAgICAgICAgY2FzZSBXQVJOSU5HX01FVEFEQVRBX0tFWTpcbiAgICAgICAgICAgIGxldmVsID0gU3ludGhlc2lzTWVzc2FnZUxldmVsLldBUk5JTkc7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIEVSUk9SX01FVEFEQVRBX0tFWTpcbiAgICAgICAgICAgIGxldmVsID0gU3ludGhlc2lzTWVzc2FnZUxldmVsLkVSUk9SO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBJTkZPX01FVEFEQVRBX0tFWTpcbiAgICAgICAgICAgIGxldmVsID0gU3ludGhlc2lzTWVzc2FnZUxldmVsLklORk87XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBtZXNzYWdlcy5wdXNoKHsgbGV2ZWwsIGVudHJ5LCBpZCB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWVzc2FnZXM7XG4gIH1cbn1cblxuLy8gbmVlZHMgdG8gYmUgZGVmaW5lZCBhdCB0aGUgZW5kIHRvIGF2b2lkIGEgY3ljbGljIGRlcGVuZGVuY3lcbmltcG9ydCB7IENsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCB9IGZyb20gJy4vY2xvdWRmb3JtYXRpb24tYXJ0aWZhY3QnO1xuaW1wb3J0IHsgVHJlZUNsb3VkQXJ0aWZhY3QgfSBmcm9tICcuL3RyZWUtY2xvdWQtYXJ0aWZhY3QnO1xuIl19

@@ -219,2 +219,2 @@ "use strict";

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtYXNzZW1ibHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbG91ZC1hc3NlbWJseS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlCQUEwQjtBQUMxQix5QkFBMEI7QUFDMUIsNkJBQThCO0FBQzlCLHFEQUFpRjtBQUNqRix1RUFBd0U7QUFDeEUseUNBQTZDO0FBQzdDLCtEQUEwRDtBQUMxRCw2Q0FBc0c7QUE0QnRHOztHQUVHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDO0FBRXRDOztHQUVHO0FBQ0gsTUFBYSxhQUFhO0lBMEJ4Qjs7O09BR0c7SUFDSCxZQUFZLFNBQWlCO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBRTNCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxRQUFRLEdBQUcsb0NBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFbEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUNyQyxrQ0FBcUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFHLEVBQUUsQ0FBQztRQUUzRCxtRUFBbUU7UUFDbkUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksY0FBYyxDQUFDLEVBQVU7UUFDOUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFD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dGVudCI6WyJpbXBvcnQgZnMgPSByZXF1aXJlKCdmcycpO1xuaW1wb3J0IG9zID0gcmVxdWlyZSgnb3MnKTtcbmltcG9ydCBwYXRoID0gcmVxdWlyZSgncGF0aCcpO1xuaW1wb3J0IHsgQXJ0aWZhY3RNYW5pZmVzdCwgQXJ0aWZhY3RUeXBlLCBDbG91ZEFydGlmYWN0IH0gZnJvbSAnLi9jbG91ZC1hcnRpZmFjdCc7XG5pbXBvcnQgeyBDbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QgfSBmcm9tICcuL2Nsb3VkZm9ybWF0aW9uLWFydGlmYWN0JztcbmltcG9ydCB7IHRvcG9sb2dpY2FsU29ydCB9IGZyb20gJy4vdG9wb3NvcnQnO1xuaW1wb3J0IHsgVHJlZUNsb3VkQXJ0aWZhY3QgfSBmcm9tICcuL3RyZWUtY2xvdWQtYXJ0aWZhY3QnO1xuaW1wb3J0IHsgQ0xPVURfQVNTRU1CTFlfVkVSU0lPTiwgdXBncmFkZUFzc2VtYmx5TWFuaWZlc3QsIHZlcmlmeU1hbmlmZXN0VmVyc2lvbiB9IGZyb20gJy4vdmVyc2lvbmluZyc7XG5cbi8qKlxuICogQSBtYW5pZmVzdCB3aGljaCBkZXNjcmliZXMgdGhlIGNsb3VkIGFzc2VtYmx5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFzc2VtYmx5TWFuaWZlc3Qge1xuICAvKipcbiAgICogUHJvdG9jb2wgdmVyc2lvblxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2V0IG9mIGFydGlmYWN0cyBpbiB0aGlzIGFzc2VtYmx5LlxuICAgKi9cbiAgcmVhZG9ubHkgYXJ0aWZhY3RzPzogeyBbaWQ6IHN0cmluZ106IEFydGlmYWN0TWFuaWZlc3QgfTtcblxuICAvKipcbiAgICogTWlzc2luZyBjb250ZXh0IGluZm9ybWF0aW9uLiBJZiB0aGlzIGZpZWxkIGhhcyB2YWx1ZXMsIGl0IG1lYW5zIHRoYXQgdGhlXG4gICAqIGNsb3VkIGFzc2VtYmx5IGlzIG5vdCBjb21wbGV0ZSBhbmQgc2hvdWxkIG5vdCBiZSBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IG1pc3Npbmc/OiBNaXNzaW5nQ29udGV4dFtdO1xuXG4gIC8qKlxuICAgKiBSdW50aW1lIGluZm9ybWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgcnVudGltZT86IFJ1bnRpbWVJbmZvO1xufVxuXG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSByb290IG1hbmlmZXN0IGZpbGUgb2YgdGhlIGFzc2VtYmx5LlxuICovXG5jb25zdCBNQU5JRkVTVF9GSUxFID0gJ21hbmlmZXN0Lmpzb24nO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBkZXBsb3lhYmxlIGNsb3VkIGFwcGxpY2F0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgQ2xvdWRBc3NlbWJseSB7XG4gIC8qKlxuICAgKiBUaGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIGNsb3VkIGFzc2VtYmx5LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2NoZW1hIHZlcnNpb24gb2YgdGhlIGFzc2VtYmx5IG1hbmlmZXN0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogQWxsIGFydGlmYWN0cyBpbmNsdWRlZCBpbiB0aGlzIGFzc2VtYmx5LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFydGlmYWN0czogQ2xvdWRBcnRpZmFjdFtdO1xuXG4gIC8qKlxuICAgKiBSdW50aW1lIGluZm9ybWF0aW9uIHN1Y2ggYXMgbW9kdWxlIHZlcnNpb25zIHVzZWQgdG8gc3ludGhlc2l6ZSB0aGlzIGFzc2VtYmx5LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJ1bnRpbWU6IFJ1bnRpbWVJbmZvO1xuXG4gIC8qKlxuICAgKiBUaGUgcmF3IGFzc2VtYmx5IG1hbmlmZXN0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG1hbmlmZXN0OiBBc3NlbWJseU1hbmlmZXN0O1xuXG4gIC8qKlxuICAgKiBSZWFkcyBhIGNsb3VkIGFzc2VtYmx5IGZyb20gdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkuXG4gICAqIEBwYXJhbSBkaXJlY3RvcnkgVGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSBhc3NlbWJseS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKGRpcmVjdG9yeTogc3RyaW5nKSB7XG4gICAgdGhpcy5kaXJlY3RvcnkgPSBkaXJlY3Rvcnk7XG5cbiAgICBjb25zdCBtYW5pZmVzdCA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihkaXJlY3RvcnksIE1BTklGRVNUX0ZJTEUpLCAnVVRGLTgnKSk7XG4gICAgdGhpcy5tYW5pZmVzdCA9IHVwZ3JhZGVBc3NlbWJseU1hbmlmZXN0KG1hbmlmZXN0KTtcblxuICAgIHRoaXMudmVyc2lvbiA9IHRoaXMubWFuaWZlc3QudmVyc2lvbjtcbiAgICB2ZXJpZnlNYW5pZmVzdFZlcnNpb24odGhpcy52ZXJzaW9uKTtcblxuICAgIHRoaXMuYXJ0aWZhY3RzID0gdGhpcy5yZW5kZXJBcnRpZmFjdHMoKTtcbiAgICB0aGlzLnJ1bnRpbWUgPSB0aGlzLm1hbmlmZXN0LnJ1bnRpbWUgfHwgeyBsaWJyYXJpZXM6IHsgfSB9O1xuXG4gICAgLy8gZm9yY2UgdmFsaWRhdGlvbiBvZiBkZXBzIGJ5IGFjY2Vzc2luZyAnZGVwZW5kcycgb24gYWxsIGFydGlmYWN0c1xuICAgIHRoaXMudmFsaWRhdGVEZXBzKCk7XG4gIH1cblxuICAvKipcbiAgICogQXR0ZW1wdHMgdG8gZmluZCBhbiBhcnRpZmFjdCB3aXRoIGEgc3BlY2lmaWMgaWRlbnRpdHkuXG4gICAqIEByZXR1cm5zIEEgYENsb3VkQXJ0aWZhY3RgIG9iamVjdCBvciBgdW5kZWZpbmVkYCBpZiB0aGUgYXJ0aWZhY3QgZG9lcyBub3QgZXhpc3QgaW4gdGhpcyBhc3NlbWJseS5cbiAgICogQHBhcmFtIGlkIFRoZSBhcnRpZmFjdCBJRFxuICAgKi9cbiAgcHVibGljIHRyeUdldEFydGlmYWN0KGlkOiBzdHJpbmcpOiBDbG91ZEFydGlmYWN0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5hcnRpZmFjdHMuZmluZChhID0+IGEuaWQgPT09IGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgQ2xvdWRGb3JtYXRpb24gc3RhY2sgYXJ0aWZhY3QgZnJvbSB0aGlzIGFzc2VtYmx5LlxuICAgKlxuICAgKiBAcGFyYW0gc3RhY2tOYW1lIHRoZSBuYW1lIG9mIHRoZSBDbG91ZEZvcm1hdGlvbiBzdGFjay5cbiAgICogQHRocm93cyBpZiB0aGVyZSBpcyBubyBzdGFjayBhcnRpZmFjdCBieSB0aGF0IG5hbWVcbiAgICogQHRocm93cyBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIHN0YWNrIHdpdGggdGhlIHNhbWUgc3RhY2sgbmFtZS4gWW91IGNhblxuICAgKiB1c2UgYGdldFN0YWNrQXJ0aWZhY3Qoc3RhY2suYXJ0aWZhY3RJZClgIGluc3RlYWQuXG4gICAqIEByZXR1cm5zIGEgYENsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdGAgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGdldFN0YWNrQnlOYW1lKHN0YWNrTmFtZTogc3RyaW5nKTogQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0IHtcbiAgICBjb25zdCBhcnRpZmFjdHMgPSB0aGlzLmFydGlmYWN0cy5maWx0ZXIoYSA9PiBhIGluc3RhbmNlb2YgQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0ICYmIGEuc3RhY2tOYW1lID09PSBzdGFja05hbWUpO1xuICAgIGlmICghYXJ0aWZhY3RzIHx8IGFydGlmYWN0cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGZpbmQgc3RhY2sgd2l0aCBzdGFjayBuYW1lIFwiJHtzdGFja05hbWV9XCJgKTtcbiAgICB9XG5cbiAgICBpZiAoYXJ0aWZhY3RzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlcmUgYXJlIG11bHRpcGxlIHN0YWNrcyB3aXRoIHRoZSBzdGFjayBuYW1lIFwiJHtzdGFja05hbWV9XCIgKCR7YXJ0aWZhY3RzLm1hcChhID0+IGEuaWQpLmpvaW4oJywnKX0pLiBVc2UgXCJnZXRTdGFja0FydGlmYWN0KGlkKVwiIGluc3RlYWRgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXJ0aWZhY3RzWzBdIGFzIENsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgQ2xvdWRGb3JtYXRpb24gc3RhY2sgYXJ0aWZhY3QgYnkgbmFtZSBmcm9tIHRoaXMgYXNzZW1ibHkuXG4gICAqIEBkZXByZWNhdGVkIHJlbmFtZWQgdG8gYGdldFN0YWNrQnlOYW1lYCAob3IgYGdldFN0YWNrQXJ0aWZhY3QoaWQpYClcbiAgICovXG4gIHB1YmxpYyBnZXRTdGFjayhzdGFja05hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldFN0YWNrQnlOYW1lKHN0YWNrTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIENsb3VkRm9ybWF0aW9uIHN0YWNrIGFydGlmYWN0IGZyb20gdGhpcyBhc3NlbWJseS5cbiAgICpcbiAgICogQHBhcmFtIGFydGlmYWN0SWQgdGhlIGFydGlmYWN0IGlkIG9mIHRoZSBzdGFjayAoY2FuIGJlIG9idGFpbmVkIHRocm91Z2ggYHN0YWNrLmFydGlmYWN0SWRgKS5cbiAgICogQHRocm93cyBpZiB0aGVyZSBpcyBubyBzdGFjayBhcnRpZmFjdCB3aXRoIHRoYXQgaWRcbiAgICogQHJldHVybnMgYSBgQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0YCBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgZ2V0U3RhY2tBcnRpZmFjdChhcnRpZmFjdElkOiBzdHJpbmcpOiBDbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3Qge1xuICAgIGNvbnN0IGFydGlmYWN0ID0gdGhpcy50cnlHZXRBcnRpZmFjdChhcnRpZmFjdElkKTtcbiAgICBpZiAoIWFydGlmYWN0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBmaW5kIGFydGlmYWN0IHdpdGggaWQgXCIke2FydGlmYWN0SWR9XCJgKTtcbiAgICB9XG5cbiAgICBpZiAoIShhcnRpZmFjdCBpbnN0YW5jZW9mIENsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQXJ0aWZhY3QgJHthcnRpZmFjdElkfSBpcyBub3QgYSBDbG91ZEZvcm1hdGlvbiBzdGFja2ApO1xuICAgIH1cblxuICAgIHJldHVybiBhcnRpZmFjdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB0cmVlIG1ldGFkYXRhIGFydGlmYWN0IGZyb20gdGhpcyBhc3NlbWJseS5cbiAgICogQHRocm93cyBpZiB0aGVyZSBpcyBubyBtZXRhZGF0YSBhcnRpZmFjdCBieSB0aGF0IG5hbWVcbiAgICogQHJldHVybnMgYSBgVHJlZUNsb3VkQXJ0aWZhY3RgIG9iamVjdCBpZiB0aGVyZSBpcyBvbmUgZGVmaW5lZCBpbiB0aGUgbWFuaWZlc3QsIGB1bmRlZmluZWRgIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyB0cmVlKCk6IFRyZWVDbG91ZEFydGlmYWN0IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB0cmVlcyA9IHRoaXMuYXJ0aWZhY3RzLmZpbHRlcihhID0+IGEubWFuaWZlc3QudHlwZSA9PT0gQXJ0aWZhY3RUeXBlLkNES19UUkVFKTtcbiAgICBpZiAodHJlZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSBpZiAodHJlZXMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNdWx0aXBsZSBhcnRpZmFjdHMgb2YgdHlwZSAke0FydGlmYWN0VHlwZS5DREtfVFJFRX0gZm91bmQgaW4gbWFuaWZlc3RgKTtcbiAgICB9XG4gICAgY29uc3QgdHJlZSA9IHRyZWVzWzBdO1xuXG4gICAgaWYgKCEodHJlZSBpbnN0YW5jZW9mIFRyZWVDbG91ZEFydGlmYWN0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBcIlRyZWVcIiBhcnRpZmFjdCBpcyBub3Qgb2YgZXhwZWN0ZWQgdHlwZWApO1xuICAgIH1cblxuICAgIHJldHVybiB0cmVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGFsbCB0aGUgQ2xvdWRGb3JtYXRpb24gc3RhY2sgYXJ0aWZhY3RzIHRoYXQgYXJlIGluY2x1ZGVkIGluIHRoaXMgYXNzZW1ibHkuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHN0YWNrcygpOiBDbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3RbXSB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IEFycmF5PENsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdD4oKTtcbiAgICBmb3IgKGNvbnN0IGEgb2YgdGhpcy5hcnRpZmFjdHMpIHtcbiAgICAgIGlmIChhIGluc3RhbmNlb2YgQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0KSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGEpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZURlcHMoKSB7XG4gICAgZm9yIChjb25zdCBhcnRpZmFjdCBvZiB0aGlzLmFydGlmYWN0cykge1xuICAgICAgaWdub3JlKGFydGlmYWN0LmRlcGVuZGVuY2llcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJBcnRpZmFjdHMoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IEFycmF5PENsb3VkQXJ0aWZhY3Q+KCk7XG4gICAgZm9yIChjb25zdCBbIG5hbWUsIGFydGlmYWN0IF0gb2YgT2JqZWN0LmVudHJpZXModGhpcy5tYW5pZmVzdC5hcnRpZmFjdHMgfHwgeyB9KSkge1xuICAgICAgY29uc3QgY2xvdWRhcnRpZmFjdCA9IENsb3VkQXJ0aWZhY3QuZnJvbU1hbmlmZXN0KHRoaXMsIG5hbWUsIGFydGlmYWN0KTtcbiAgICAgIGlmIChjbG91ZGFydGlmYWN0KSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGNsb3VkYXJ0aWZhY3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0b3BvbG9naWNhbFNvcnQocmVzdWx0LCB4ID0+IHguaWQsIHggPT4geC5fZGVwZW5kZW5jeUlEcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBDYW4gYmUgdXNlZCB0byBidWlsZCBhIGNsb3VkIGFzc2VtYmx5LlxuICovXG5leHBvcnQgY2xhc3MgQ2xvdWRBc3NlbWJseUJ1aWxkZXIge1xuICAvKipcbiAgICogVGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSByZXN1bHRpbmcgY2xvdWQgYXNzZW1ibHkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb3V0ZGlyOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhcnRpZmFjdHM6IHsgW2lkOiBzdHJpbmddOiBBcnRpZmFjdE1hbmlmZXN0IH0gPSB7IH07XG4gIHByaXZhdGUgcmVhZG9ubHkgbWlzc2luZyA9IG5ldyBBcnJheTxNaXNzaW5nQ29udGV4dD4oKTtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgYSBjbG91ZCBhc3NlbWJseSBidWlsZGVyLlxuICAgKiBAcGFyYW0gb3V0ZGlyIFRoZSBvdXRwdXQgZGlyZWN0b3J5LCB1c2VzIHRlbXBvcmFyeSBkaXJlY3RvcnkgaWYgdW5kZWZpbmVkXG4gICAqL1xuICBjb25zdHJ1Y3RvcihvdXRkaXI/OiBzdHJpbmcpIHtcbiAgICB0aGlzLm91dGRpciA9IG91dGRpciB8fCBmcy5ta2R0ZW1wU3luYyhwYXRoLmpvaW4ob3MudG1wZGlyKCksICdjZGsub3V0JykpO1xuXG4gICAgLy8gd2UgbGV2ZXJhZ2UgdGhlIGZhY3QgdGhhdCBvdXRkaXIgaXMgbG9uZy1saXZlZCB0byBhdm9pZCBzdGFnaW5nIGFzc2V0cyBpbnRvIGl0XG4gICAgLy8gdGhhdCB3ZXJlIGFscmVhZHkgc3RhZ2VkIChjb3B5aW5nIGNhbiBiZSBleHBlbnNpdmUpLiB0aGlzIGlzIGFjaGlldmVkIGJ5IHRoZSBmYWN0XG4gICAgLy8gdGhhdCBhc3NldHMgdXNlIGEgc291cmNlIGhhc2ggYXMgdGhlaXIgbmFtZS4gb3RoZXIgYXJ0aWZhY3RzLCBhbmQgdGhlIG1hbmlmZXN0IGl0c2VsZixcbiAgICAvLyB3aWxsIG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlcyBhcyBuZWVkZWQuXG5cbiAgICBpZiAoZnMuZXhpc3RzU3luYyh0aGlzLm91dGRpcikpIHtcbiAgICAgIGlmICghZnMuc3RhdFN5bmModGhpcy5vdXRkaXIpLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3RoaXMub3V0ZGlyfSBtdXN0IGJlIGEgZGlyZWN0b3J5YCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGZzLm1rZGlyU3luYyh0aGlzLm91dGRpcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gYXJ0aWZhY3QgaW50byB0aGUgY2xvdWQgYXNzZW1ibHkuXG4gICAqIEBwYXJhbSBpZCBUaGUgSUQgb2YgdGhlIGFydGlmYWN0LlxuICAgKiBAcGFyYW0gbWFuaWZlc3QgVGhlIGFydGlmYWN0IG1hbmlmZXN0XG4gICAqL1xuICBwdWJsaWMgYWRkQXJ0aWZhY3QoaWQ6IHN0cmluZywgbWFuaWZlc3Q6IEFydGlmYWN0TWFuaWZlc3QpIHtcbiAgICB0aGlzLmFydGlmYWN0c1tpZF0gPSBmaWx0ZXJVbmRlZmluZWQobWFuaWZlc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcG9ydHMgdGhhdCBzb21lIGNvbnRleHQgaXMgbWlzc2luZyBpbiBvcmRlciBmb3IgdGhpcyBjbG91ZCBhc3NlbWJseSB0byBiZSBmdWxseSBzeW50aGVzaXplZC5cbiAgICogQHBhcmFtIG1pc3NpbmcgTWlzc2luZyBjb250ZXh0IGluZm9ybWF0aW9uLlxuICAgKi9cbiAgcHVibGljIGFkZE1pc3NpbmcobWlzc2luZzogTWlzc2luZ0NvbnRleHQpIHtcbiAgICBpZiAodGhpcy5taXNzaW5nLmV2ZXJ5KG0gPT4gbS5rZXkgIT09IG1pc3Npbmcua2V5KSkge1xuICAgICAgdGhpcy5taXNzaW5nLnB1c2gobWlzc2luZyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZpbmFsaXplcyB0aGUgY2xvdWQgYXNzZW1ibHkgaW50byB0aGUgb3V0cHV0IGRpcmVjdG9yeSByZXR1cm5zIGFcbiAgICogYENsb3VkQXNzZW1ibHlgIG9iamVjdCB0aGF0IGNhbiBiZSB1c2VkIHRvIGluc3BlY3QgdGhlIGFzc2VtYmx5LlxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIGJ1aWxkQXNzZW1ibHkob3B0aW9uczogQXNzZW1ibHlCdWlsZE9wdGlvbnMgPSB7IH0pOiBDbG91ZEFzc2VtYmx5IHtcbiAgICBjb25zdCBtYW5pZmVzdDogQXNzZW1ibHlNYW5pZmVzdCA9IGZpbHRlclVuZGVmaW5lZCh7XG4gICAgICB2ZXJzaW9uOiBDTE9VRF9BU1NFTUJMWV9WRVJTSU9OLFxuICAgICAgYXJ0aWZhY3RzOiB0aGlzLmFydGlmYWN0cyxcbiAgICAgIHJ1bnRpbWU6IG9wdGlvbnMucnVudGltZUluZm8sXG4gICAgICBtaXNzaW5nOiB0aGlzLm1pc3NpbmcubGVuZ3RoID4gMCA/IHRoaXMubWlzc2luZyA6IHVuZGVmaW5lZFxuICAgIH0pO1xuXG4gICAgY29uc3QgbWFuaWZlc3RGaWxlUGF0aCA9IHBhdGguam9pbih0aGlzLm91dGRpciwgTUFOSUZFU1RfRklMRSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhtYW5pZmVzdEZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShtYW5pZmVzdCwgdW5kZWZpbmVkLCAyKSk7XG5cbiAgICAvLyBcImJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XCI6IGluIG9yZGVyIGZvciB0aGUgb2xkIENMSSB0byB0ZWxsIHRoZSB1c2VyIHRoZXlcbiAgICAvLyBuZWVkIGEgbmV3IHZlcnNpb24sIHdlJ2xsIGVtaXQgdGhlIGxlZ2FjeSBtYW5pZmVzdCB3aXRoIG9ubHkgXCJ2ZXJzaW9uXCIuXG4gICAgLy8gdGhpcyB3aWxsIHJlc3VsdCBpbiBhbiBlcnJvciBcIkNESyBUb29sa2l0ID49IENMT1VEX0FTU0VNQkxZX1ZFUlNJT04gaXMgcmVxdWlyZWQgaW4gb3JkZXIgdG8gaW50ZXJhY3Qgd2l0aCB0aGlzIHByb2dyYW0uXCJcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbih0aGlzLm91dGRpciwgJ2Nkay5vdXQnKSwgSlNPTi5zdHJpbmdpZnkoeyB2ZXJzaW9uOiBDTE9VRF9BU1NFTUJMWV9WRVJTSU9OIH0pKTtcblxuICAgIHJldHVybiBuZXcgQ2xvdWRBc3NlbWJseSh0aGlzLm91dGRpcik7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBc3NlbWJseUJ1aWxkT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBJbmNsdWRlIHRoZSBzcGVjaWZpZWQgcnVudGltZSBpbmZvcm1hdGlvbiAobW9kdWxlIHZlcnNpb25zKSBpbiBtYW5pZmVzdC5cbiAgICogQGRlZmF1bHQgLSBpZiB0aGlzIG9wdGlvbiBpcyBub3Qgc3BlY2lmaWVkLCBydW50aW1lIGluZm8gd2lsbCBub3QgYmUgaW5jbHVkZWRcbiAgICovXG4gIHJlYWRvbmx5IHJ1bnRpbWVJbmZvPzogUnVudGltZUluZm87XG59XG5cbi8qKlxuICogSW5mb3JtYXRpb24gYWJvdXQgdGhlIGFwcGxpY2F0aW9uJ3MgcnVudGltZSBjb21wb25lbnRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bnRpbWVJbmZvIHtcbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIGxpYnJhcmllcyBsb2FkZWQgaW4gdGhlIGFwcGxpY2F0aW9uLCBhc3NvY2lhdGVkIHdpdGggdGhlaXIgdmVyc2lvbnMuXG4gICAqL1xuICByZWFkb25seSBsaWJyYXJpZXM6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBtaXNzaW5nIHBpZWNlIG9mIGNvbnRleHQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWlzc2luZ0NvbnRleHQge1xuICAvKipcbiAgICogVGhlIG1pc3NpbmcgY29udGV4dCBrZXkuXG4gICAqL1xuICByZWFkb25seSBrZXk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHByb3ZpZGVyIGZyb20gd2hpY2ggd2UgZXhwZWN0IHRoaXMgY29udGV4dCBrZXkgdG8gYmUgb2J0YWluZWQuXG4gICAqL1xuICByZWFkb25seSBwcm92aWRlcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHNldCBvZiBwcm92aWRlci1zcGVjaWZpYyBvcHRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvcHM6IHtcbiAgICBhY2NvdW50Pzogc3RyaW5nO1xuICAgIHJlZ2lvbj86IHN0cmluZztcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGNvcHkgb2YgYG9iamAgd2l0aG91dCB1bmRlZmluZWQgdmFsdWVzIGluIG1hcHMgb3IgYXJyYXlzLlxuICovXG5mdW5jdGlvbiBmaWx0ZXJVbmRlZmluZWQob2JqOiBhbnkpOiBhbnkge1xuICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgcmV0dXJuIG9iai5maWx0ZXIoeCA9PiB4ICE9PSB1bmRlZmluZWQpLm1hcCh4ID0+IGZpbHRlclVuZGVmaW5lZCh4KSk7XG4gIH1cblxuICBpZiAodHlwZW9mKG9iaikgPT09ICdvYmplY3QnKSB7XG4gICAgY29uc3QgcmV0OiBhbnkgPSB7IH07XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMob2JqKSkge1xuICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICByZXRba2V5XSA9IGZpbHRlclVuZGVmaW5lZCh2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG5mdW5jdGlvbiBpZ25vcmUoX3g6IGFueSkge1xuICByZXR1cm47XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtYXNzZW1ibHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbG91ZC1hc3NlbWJseS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLHFEQUFpRjtBQUNqRix1RUFBd0U7QUFDeEUseUNBQTZDO0FBQzdDLCtEQUEwRDtBQUMxRCw2Q0FBc0c7QUE0QnRHOztHQUVHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDO0FBRXRDOztHQUVHO0FBQ0gsTUFBYSxhQUFhO0lBMEJ4Qjs7O09BR0c7SUFDSCxZQUFZLFNBQWlCO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBRTNCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxRQUFRLEdBQUcsb0NBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFbEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUNyQyxrQ0FBcUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFHLEVBQUUsQ0FBQztRQUUzRCxtRUFBbUU7UUFDbkUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksY0FBYyxDQUFDLEVBQVU7UUFDOUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFD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dGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgQXJ0aWZhY3RNYW5pZmVzdCwgQXJ0aWZhY3RUeXBlLCBDbG91ZEFydGlmYWN0IH0gZnJvbSAnLi9jbG91ZC1hcnRpZmFjdCc7XG5pbXBvcnQgeyBDbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QgfSBmcm9tICcuL2Nsb3VkZm9ybWF0aW9uLWFydGlmYWN0JztcbmltcG9ydCB7IHRvcG9sb2dpY2FsU29ydCB9IGZyb20gJy4vdG9wb3NvcnQnO1xuaW1wb3J0IHsgVHJlZUNsb3VkQXJ0aWZhY3QgfSBmcm9tICcuL3RyZWUtY2xvdWQtYXJ0aWZhY3QnO1xuaW1wb3J0IHsgQ0xPVURfQVNTRU1CTFlfVkVSU0lPTiwgdXBncmFkZUFzc2VtYmx5TWFuaWZlc3QsIHZlcmlmeU1hbmlmZXN0VmVyc2lvbiB9IGZyb20gJy4vdmVyc2lvbmluZyc7XG5cbi8qKlxuICogQSBtYW5pZmVzdCB3aGljaCBkZXNjcmliZXMgdGhlIGNsb3VkIGFzc2VtYmx5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFzc2VtYmx5TWFuaWZlc3Qge1xuICAvKipcbiAgICogUHJvdG9jb2wgdmVyc2lvblxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2V0IG9mIGFydGlmYWN0cyBpbiB0aGlzIGFzc2VtYmx5LlxuICAgKi9cbiAgcmVhZG9ubHkgYXJ0aWZhY3RzPzogeyBbaWQ6IHN0cmluZ106IEFydGlmYWN0TWFuaWZlc3QgfTtcblxuICAvKipcbiAgICogTWlzc2luZyBjb250ZXh0IGluZm9ybWF0aW9uLiBJZiB0aGlzIGZpZWxkIGhhcyB2YWx1ZXMsIGl0IG1lYW5zIHRoYXQgdGhlXG4gICAqIGNsb3VkIGFzc2VtYmx5IGlzIG5vdCBjb21wbGV0ZSBhbmQgc2hvdWxkIG5vdCBiZSBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IG1pc3Npbmc/OiBNaXNzaW5nQ29udGV4dFtdO1xuXG4gIC8qKlxuICAgKiBSdW50aW1lIGluZm9ybWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgcnVudGltZT86IFJ1bnRpbWVJbmZvO1xufVxuXG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSByb290IG1hbmlmZXN0IGZpbGUgb2YgdGhlIGFzc2VtYmx5LlxuICovXG5jb25zdCBNQU5JRkVTVF9GSUxFID0gJ21hbmlmZXN0Lmpzb24nO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBkZXBsb3lhYmxlIGNsb3VkIGFwcGxpY2F0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgQ2xvdWRBc3NlbWJseSB7XG4gIC8qKlxuICAgKiBUaGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIGNsb3VkIGFzc2VtYmx5LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2NoZW1hIHZlcnNpb24gb2YgdGhlIGFzc2VtYmx5IG1hbmlmZXN0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogQWxsIGFydGlmYWN0cyBpbmNsdWRlZCBpbiB0aGlzIGFzc2VtYmx5LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFydGlmYWN0czogQ2xvdWRBcnRpZmFjdFtdO1xuXG4gIC8qKlxuICAgKiBSdW50aW1lIGluZm9ybWF0aW9uIHN1Y2ggYXMgbW9kdWxlIHZlcnNpb25zIHVzZWQgdG8gc3ludGhlc2l6ZSB0aGlzIGFzc2VtYmx5LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJ1bnRpbWU6IFJ1bnRpbWVJbmZvO1xuXG4gIC8qKlxuICAgKiBUaGUgcmF3IGFzc2VtYmx5IG1hbmlmZXN0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG1hbmlmZXN0OiBBc3NlbWJseU1hbmlmZXN0O1xuXG4gIC8qKlxuICAgKiBSZWFkcyBhIGNsb3VkIGFzc2VtYmx5IGZyb20gdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkuXG4gICAqIEBwYXJhbSBkaXJlY3RvcnkgVGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSBhc3NlbWJseS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKGRpcmVjdG9yeTogc3RyaW5nKSB7XG4gICAgdGhpcy5kaXJlY3RvcnkgPSBkaXJlY3Rvcnk7XG5cbiAgICBjb25zdCBtYW5pZmVzdCA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihkaXJlY3RvcnksIE1BTklGRVNUX0ZJTEUpLCAnVVRGLTgnKSk7XG4gICAgdGhpcy5tYW5pZmVzdCA9IHVwZ3JhZGVBc3NlbWJseU1hbmlmZXN0KG1hbmlmZXN0KTtcblxuICAgIHRoaXMudmVyc2lvbiA9IHRoaXMubWFuaWZlc3QudmVyc2lvbjtcbiAgICB2ZXJpZnlNYW5pZmVzdFZlcnNpb24odGhpcy52ZXJzaW9uKTtcblxuICAgIHRoaXMuYXJ0aWZhY3RzID0gdGhpcy5yZW5kZXJBcnRpZmFjdHMoKTtcbiAgICB0aGlzLnJ1bnRpbWUgPSB0aGlzLm1hbmlmZXN0LnJ1bnRpbWUgfHwgeyBsaWJyYXJpZXM6IHsgfSB9O1xuXG4gICAgLy8gZm9yY2UgdmFsaWRhdGlvbiBvZiBkZXBzIGJ5IGFjY2Vzc2luZyAnZGVwZW5kcycgb24gYWxsIGFydGlmYWN0c1xuICAgIHRoaXMudmFsaWRhdGVEZXBzKCk7XG4gIH1cblxuICAvKipcbiAgICogQXR0ZW1wdHMgdG8gZmluZCBhbiBhcnRpZmFjdCB3aXRoIGEgc3BlY2lmaWMgaWRlbnRpdHkuXG4gICAqIEByZXR1cm5zIEEgYENsb3VkQXJ0aWZhY3RgIG9iamVjdCBvciBgdW5kZWZpbmVkYCBpZiB0aGUgYXJ0aWZhY3QgZG9lcyBub3QgZXhpc3QgaW4gdGhpcyBhc3NlbWJseS5cbiAgICogQHBhcmFtIGlkIFRoZSBhcnRpZmFjdCBJRFxuICAgKi9cbiAgcHVibGljIHRyeUdldEFydGlmYWN0KGlkOiBzdHJpbmcpOiBDbG91ZEFydGlmYWN0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5hcnRpZmFjdHMuZmluZChhID0+IGEuaWQgPT09IGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgQ2xvdWRGb3JtYXRpb24gc3RhY2sgYXJ0aWZhY3QgZnJvbSB0aGlzIGFzc2VtYmx5LlxuICAgKlxuICAgKiBAcGFyYW0gc3RhY2tOYW1lIHRoZSBuYW1lIG9mIHRoZSBDbG91ZEZvcm1hdGlvbiBzdGFjay5cbiAgICogQHRocm93cyBpZiB0aGVyZSBpcyBubyBzdGFjayBhcnRpZmFjdCBieSB0aGF0IG5hbWVcbiAgICogQHRocm93cyBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIHN0YWNrIHdpdGggdGhlIHNhbWUgc3RhY2sgbmFtZS4gWW91IGNhblxuICAgKiB1c2UgYGdldFN0YWNrQXJ0aWZhY3Qoc3RhY2suYXJ0aWZhY3RJZClgIGluc3RlYWQuXG4gICAqIEByZXR1cm5zIGEgYENsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdGAgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGdldFN0YWNrQnlOYW1lKHN0YWNrTmFtZTogc3RyaW5nKTogQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0IHtcbiAgICBjb25zdCBhcnRpZmFjdHMgPSB0aGlzLmFydGlmYWN0cy5maWx0ZXIoYSA9PiBhIGluc3RhbmNlb2YgQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0ICYmIGEuc3RhY2tOYW1lID09PSBzdGFja05hbWUpO1xuICAgIGlmICghYXJ0aWZhY3RzIHx8IGFydGlmYWN0cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGZpbmQgc3RhY2sgd2l0aCBzdGFjayBuYW1lIFwiJHtzdGFja05hbWV9XCJgKTtcbiAgICB9XG5cbiAgICBpZiAoYXJ0aWZhY3RzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlcmUgYXJlIG11bHRpcGxlIHN0YWNrcyB3aXRoIHRoZSBzdGFjayBuYW1lIFwiJHtzdGFja05hbWV9XCIgKCR7YXJ0aWZhY3RzLm1hcChhID0+IGEuaWQpLmpvaW4oJywnKX0pLiBVc2UgXCJnZXRTdGFja0FydGlmYWN0KGlkKVwiIGluc3RlYWRgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXJ0aWZhY3RzWzBdIGFzIENsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgQ2xvdWRGb3JtYXRpb24gc3RhY2sgYXJ0aWZhY3QgYnkgbmFtZSBmcm9tIHRoaXMgYXNzZW1ibHkuXG4gICAqIEBkZXByZWNhdGVkIHJlbmFtZWQgdG8gYGdldFN0YWNrQnlOYW1lYCAob3IgYGdldFN0YWNrQXJ0aWZhY3QoaWQpYClcbiAgICovXG4gIHB1YmxpYyBnZXRTdGFjayhzdGFja05hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldFN0YWNrQnlOYW1lKHN0YWNrTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIENsb3VkRm9ybWF0aW9uIHN0YWNrIGFydGlmYWN0IGZyb20gdGhpcyBhc3NlbWJseS5cbiAgICpcbiAgICogQHBhcmFtIGFydGlmYWN0SWQgdGhlIGFydGlmYWN0IGlkIG9mIHRoZSBzdGFjayAoY2FuIGJlIG9idGFpbmVkIHRocm91Z2ggYHN0YWNrLmFydGlmYWN0SWRgKS5cbiAgICogQHRocm93cyBpZiB0aGVyZSBpcyBubyBzdGFjayBhcnRpZmFjdCB3aXRoIHRoYXQgaWRcbiAgICogQHJldHVybnMgYSBgQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0YCBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgZ2V0U3RhY2tBcnRpZmFjdChhcnRpZmFjdElkOiBzdHJpbmcpOiBDbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3Qge1xuICAgIGNvbnN0IGFydGlmYWN0ID0gdGhpcy50cnlHZXRBcnRpZmFjdChhcnRpZmFjdElkKTtcbiAgICBpZiAoIWFydGlmYWN0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBmaW5kIGFydGlmYWN0IHdpdGggaWQgXCIke2FydGlmYWN0SWR9XCJgKTtcbiAgICB9XG5cbiAgICBpZiAoIShhcnRpZmFjdCBpbnN0YW5jZW9mIENsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQXJ0aWZhY3QgJHthcnRpZmFjdElkfSBpcyBub3QgYSBDbG91ZEZvcm1hdGlvbiBzdGFja2ApO1xuICAgIH1cblxuICAgIHJldHVybiBhcnRpZmFjdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB0cmVlIG1ldGFkYXRhIGFydGlmYWN0IGZyb20gdGhpcyBhc3NlbWJseS5cbiAgICogQHRocm93cyBpZiB0aGVyZSBpcyBubyBtZXRhZGF0YSBhcnRpZmFjdCBieSB0aGF0IG5hbWVcbiAgICogQHJldHVybnMgYSBgVHJlZUNsb3VkQXJ0aWZhY3RgIG9iamVjdCBpZiB0aGVyZSBpcyBvbmUgZGVmaW5lZCBpbiB0aGUgbWFuaWZlc3QsIGB1bmRlZmluZWRgIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyB0cmVlKCk6IFRyZWVDbG91ZEFydGlmYWN0IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB0cmVlcyA9IHRoaXMuYXJ0aWZhY3RzLmZpbHRlcihhID0+IGEubWFuaWZlc3QudHlwZSA9PT0gQXJ0aWZhY3RUeXBlLkNES19UUkVFKTtcbiAgICBpZiAodHJlZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSBpZiAodHJlZXMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNdWx0aXBsZSBhcnRpZmFjdHMgb2YgdHlwZSAke0FydGlmYWN0VHlwZS5DREtfVFJFRX0gZm91bmQgaW4gbWFuaWZlc3RgKTtcbiAgICB9XG4gICAgY29uc3QgdHJlZSA9IHRyZWVzWzBdO1xuXG4gICAgaWYgKCEodHJlZSBpbnN0YW5jZW9mIFRyZWVDbG91ZEFydGlmYWN0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBcIlRyZWVcIiBhcnRpZmFjdCBpcyBub3Qgb2YgZXhwZWN0ZWQgdHlwZWApO1xuICAgIH1cblxuICAgIHJldHVybiB0cmVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGFsbCB0aGUgQ2xvdWRGb3JtYXRpb24gc3RhY2sgYXJ0aWZhY3RzIHRoYXQgYXJlIGluY2x1ZGVkIGluIHRoaXMgYXNzZW1ibHkuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHN0YWNrcygpOiBDbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3RbXSB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IEFycmF5PENsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdD4oKTtcbiAgICBmb3IgKGNvbnN0IGEgb2YgdGhpcy5hcnRpZmFjdHMpIHtcbiAgICAgIGlmIChhIGluc3RhbmNlb2YgQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0KSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGEpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZURlcHMoKSB7XG4gICAgZm9yIChjb25zdCBhcnRpZmFjdCBvZiB0aGlzLmFydGlmYWN0cykge1xuICAgICAgaWdub3JlKGFydGlmYWN0LmRlcGVuZGVuY2llcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJBcnRpZmFjdHMoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IEFycmF5PENsb3VkQXJ0aWZhY3Q+KCk7XG4gICAgZm9yIChjb25zdCBbIG5hbWUsIGFydGlmYWN0IF0gb2YgT2JqZWN0LmVudHJpZXModGhpcy5tYW5pZmVzdC5hcnRpZmFjdHMgfHwgeyB9KSkge1xuICAgICAgY29uc3QgY2xvdWRhcnRpZmFjdCA9IENsb3VkQXJ0aWZhY3QuZnJvbU1hbmlmZXN0KHRoaXMsIG5hbWUsIGFydGlmYWN0KTtcbiAgICAgIGlmIChjbG91ZGFydGlmYWN0KSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGNsb3VkYXJ0aWZhY3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0b3BvbG9naWNhbFNvcnQocmVzdWx0LCB4ID0+IHguaWQsIHggPT4geC5fZGVwZW5kZW5jeUlEcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBDYW4gYmUgdXNlZCB0byBidWlsZCBhIGNsb3VkIGFzc2VtYmx5LlxuICovXG5leHBvcnQgY2xhc3MgQ2xvdWRBc3NlbWJseUJ1aWxkZXIge1xuICAvKipcbiAgICogVGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSByZXN1bHRpbmcgY2xvdWQgYXNzZW1ibHkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb3V0ZGlyOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhcnRpZmFjdHM6IHsgW2lkOiBzdHJpbmddOiBBcnRpZmFjdE1hbmlmZXN0IH0gPSB7IH07XG4gIHByaXZhdGUgcmVhZG9ubHkgbWlzc2luZyA9IG5ldyBBcnJheTxNaXNzaW5nQ29udGV4dD4oKTtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgYSBjbG91ZCBhc3NlbWJseSBidWlsZGVyLlxuICAgKiBAcGFyYW0gb3V0ZGlyIFRoZSBvdXRwdXQgZGlyZWN0b3J5LCB1c2VzIHRlbXBvcmFyeSBkaXJlY3RvcnkgaWYgdW5kZWZpbmVkXG4gICAqL1xuICBjb25zdHJ1Y3RvcihvdXRkaXI/OiBzdHJpbmcpIHtcbiAgICB0aGlzLm91dGRpciA9IG91dGRpciB8fCBmcy5ta2R0ZW1wU3luYyhwYXRoLmpvaW4ob3MudG1wZGlyKCksICdjZGsub3V0JykpO1xuXG4gICAgLy8gd2UgbGV2ZXJhZ2UgdGhlIGZhY3QgdGhhdCBvdXRkaXIgaXMgbG9uZy1saXZlZCB0byBhdm9pZCBzdGFnaW5nIGFzc2V0cyBpbnRvIGl0XG4gICAgLy8gdGhhdCB3ZXJlIGFscmVhZHkgc3RhZ2VkIChjb3B5aW5nIGNhbiBiZSBleHBlbnNpdmUpLiB0aGlzIGlzIGFjaGlldmVkIGJ5IHRoZSBmYWN0XG4gICAgLy8gdGhhdCBhc3NldHMgdXNlIGEgc291cmNlIGhhc2ggYXMgdGhlaXIgbmFtZS4gb3RoZXIgYXJ0aWZhY3RzLCBhbmQgdGhlIG1hbmlmZXN0IGl0c2VsZixcbiAgICAvLyB3aWxsIG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlcyBhcyBuZWVkZWQuXG5cbiAgICBpZiAoZnMuZXhpc3RzU3luYyh0aGlzLm91dGRpcikpIHtcbiAgICAgIGlmICghZnMuc3RhdFN5bmModGhpcy5vdXRkaXIpLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3RoaXMub3V0ZGlyfSBtdXN0IGJlIGEgZGlyZWN0b3J5YCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGZzLm1rZGlyU3luYyh0aGlzLm91dGRpcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gYXJ0aWZhY3QgaW50byB0aGUgY2xvdWQgYXNzZW1ibHkuXG4gICAqIEBwYXJhbSBpZCBUaGUgSUQgb2YgdGhlIGFydGlmYWN0LlxuICAgKiBAcGFyYW0gbWFuaWZlc3QgVGhlIGFydGlmYWN0IG1hbmlmZXN0XG4gICAqL1xuICBwdWJsaWMgYWRkQXJ0aWZhY3QoaWQ6IHN0cmluZywgbWFuaWZlc3Q6IEFydGlmYWN0TWFuaWZlc3QpIHtcbiAgICB0aGlzLmFydGlmYWN0c1tpZF0gPSBmaWx0ZXJVbmRlZmluZWQobWFuaWZlc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcG9ydHMgdGhhdCBzb21lIGNvbnRleHQgaXMgbWlzc2luZyBpbiBvcmRlciBmb3IgdGhpcyBjbG91ZCBhc3NlbWJseSB0byBiZSBmdWxseSBzeW50aGVzaXplZC5cbiAgICogQHBhcmFtIG1pc3NpbmcgTWlzc2luZyBjb250ZXh0IGluZm9ybWF0aW9uLlxuICAgKi9cbiAgcHVibGljIGFkZE1pc3NpbmcobWlzc2luZzogTWlzc2luZ0NvbnRleHQpIHtcbiAgICBpZiAodGhpcy5taXNzaW5nLmV2ZXJ5KG0gPT4gbS5rZXkgIT09IG1pc3Npbmcua2V5KSkge1xuICAgICAgdGhpcy5taXNzaW5nLnB1c2gobWlzc2luZyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZpbmFsaXplcyB0aGUgY2xvdWQgYXNzZW1ibHkgaW50byB0aGUgb3V0cHV0IGRpcmVjdG9yeSByZXR1cm5zIGFcbiAgICogYENsb3VkQXNzZW1ibHlgIG9iamVjdCB0aGF0IGNhbiBiZSB1c2VkIHRvIGluc3BlY3QgdGhlIGFzc2VtYmx5LlxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIGJ1aWxkQXNzZW1ibHkob3B0aW9uczogQXNzZW1ibHlCdWlsZE9wdGlvbnMgPSB7IH0pOiBDbG91ZEFzc2VtYmx5IHtcbiAgICBjb25zdCBtYW5pZmVzdDogQXNzZW1ibHlNYW5pZmVzdCA9IGZpbHRlclVuZGVmaW5lZCh7XG4gICAgICB2ZXJzaW9uOiBDTE9VRF9BU1NFTUJMWV9WRVJTSU9OLFxuICAgICAgYXJ0aWZhY3RzOiB0aGlzLmFydGlmYWN0cyxcbiAgICAgIHJ1bnRpbWU6IG9wdGlvbnMucnVudGltZUluZm8sXG4gICAgICBtaXNzaW5nOiB0aGlzLm1pc3NpbmcubGVuZ3RoID4gMCA/IHRoaXMubWlzc2luZyA6IHVuZGVmaW5lZFxuICAgIH0pO1xuXG4gICAgY29uc3QgbWFuaWZlc3RGaWxlUGF0aCA9IHBhdGguam9pbih0aGlzLm91dGRpciwgTUFOSUZFU1RfRklMRSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhtYW5pZmVzdEZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShtYW5pZmVzdCwgdW5kZWZpbmVkLCAyKSk7XG5cbiAgICAvLyBcImJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XCI6IGluIG9yZGVyIGZvciB0aGUgb2xkIENMSSB0byB0ZWxsIHRoZSB1c2VyIHRoZXlcbiAgICAvLyBuZWVkIGEgbmV3IHZlcnNpb24sIHdlJ2xsIGVtaXQgdGhlIGxlZ2FjeSBtYW5pZmVzdCB3aXRoIG9ubHkgXCJ2ZXJzaW9uXCIuXG4gICAgLy8gdGhpcyB3aWxsIHJlc3VsdCBpbiBhbiBlcnJvciBcIkNESyBUb29sa2l0ID49IENMT1VEX0FTU0VNQkxZX1ZFUlNJT04gaXMgcmVxdWlyZWQgaW4gb3JkZXIgdG8gaW50ZXJhY3Qgd2l0aCB0aGlzIHByb2dyYW0uXCJcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbih0aGlzLm91dGRpciwgJ2Nkay5vdXQnKSwgSlNPTi5zdHJpbmdpZnkoeyB2ZXJzaW9uOiBDTE9VRF9BU1NFTUJMWV9WRVJTSU9OIH0pKTtcblxuICAgIHJldHVybiBuZXcgQ2xvdWRBc3NlbWJseSh0aGlzLm91dGRpcik7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBc3NlbWJseUJ1aWxkT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBJbmNsdWRlIHRoZSBzcGVjaWZpZWQgcnVudGltZSBpbmZvcm1hdGlvbiAobW9kdWxlIHZlcnNpb25zKSBpbiBtYW5pZmVzdC5cbiAgICogQGRlZmF1bHQgLSBpZiB0aGlzIG9wdGlvbiBpcyBub3Qgc3BlY2lmaWVkLCBydW50aW1lIGluZm8gd2lsbCBub3QgYmUgaW5jbHVkZWRcbiAgICovXG4gIHJlYWRvbmx5IHJ1bnRpbWVJbmZvPzogUnVudGltZUluZm87XG59XG5cbi8qKlxuICogSW5mb3JtYXRpb24gYWJvdXQgdGhlIGFwcGxpY2F0aW9uJ3MgcnVudGltZSBjb21wb25lbnRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bnRpbWVJbmZvIHtcbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIGxpYnJhcmllcyBsb2FkZWQgaW4gdGhlIGFwcGxpY2F0aW9uLCBhc3NvY2lhdGVkIHdpdGggdGhlaXIgdmVyc2lvbnMuXG4gICAqL1xuICByZWFkb25seSBsaWJyYXJpZXM6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBtaXNzaW5nIHBpZWNlIG9mIGNvbnRleHQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWlzc2luZ0NvbnRleHQge1xuICAvKipcbiAgICogVGhlIG1pc3NpbmcgY29udGV4dCBrZXkuXG4gICAqL1xuICByZWFkb25seSBrZXk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHByb3ZpZGVyIGZyb20gd2hpY2ggd2UgZXhwZWN0IHRoaXMgY29udGV4dCBrZXkgdG8gYmUgb2J0YWluZWQuXG4gICAqL1xuICByZWFkb25seSBwcm92aWRlcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHNldCBvZiBwcm92aWRlci1zcGVjaWZpYyBvcHRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvcHM6IHtcbiAgICBhY2NvdW50Pzogc3RyaW5nO1xuICAgIHJlZ2lvbj86IHN0cmluZztcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGNvcHkgb2YgYG9iamAgd2l0aG91dCB1bmRlZmluZWQgdmFsdWVzIGluIG1hcHMgb3IgYXJyYXlzLlxuICovXG5mdW5jdGlvbiBmaWx0ZXJVbmRlZmluZWQob2JqOiBhbnkpOiBhbnkge1xuICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgcmV0dXJuIG9iai5maWx0ZXIoeCA9PiB4ICE9PSB1bmRlZmluZWQpLm1hcCh4ID0+IGZpbHRlclVuZGVmaW5lZCh4KSk7XG4gIH1cblxuICBpZiAodHlwZW9mKG9iaikgPT09ICdvYmplY3QnKSB7XG4gICAgY29uc3QgcmV0OiBhbnkgPSB7IH07XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMob2JqKSkge1xuICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICByZXRba2V5XSA9IGZpbHRlclVuZGVmaW5lZCh2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG5mdW5jdGlvbiBpZ25vcmUoX3g6IGFueSkge1xuICByZXR1cm47XG59XG4iXX0=

@@ -32,2 +32,2 @@ "use strict";

exports.CloudFormationStackArtifact = CloudFormationStackArtifact;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWRmb3JtYXRpb24tYXJ0aWZhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbG91ZGZvcm1hdGlvbi1hcnRpZmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlCQUEwQjtBQUMxQiw2QkFBOEI7QUFDOUIscUNBQThEO0FBQzlELHFEQUFxRztBQUVyRywrQ0FBOEQ7QUFFOUQsTUFBYSwyQkFBNEIsU0FBUSw4QkFBYTtJQWlENUQsWUFBWSxRQUF1QixFQUFFLFVBQWtCLEVBQUUsUUFBMEI7UUFDakYsS0FBSyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRTtZQUM3RCxNQUFNLElBQUksS0FBSyxDQUFDLG1HQUFtRyxDQUFDLENBQUM7U0FDdEg7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRTtZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLDREQUE0RCxDQUFDLENBQUM7U0FDL0U7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLDhCQUFnQixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEUsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQXFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLFVBQVUsSUFBSSxFQUFHLENBQUM7UUFFL0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxJQUFJLFVBQVUsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzVHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHVCQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxLQUFLLFVBQVU7WUFDOUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQ2hCLENBQUMsQ0FBQyxHQUFHLFVBQVUsS0FBSyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUM7UUFFeEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsbUJBQW1CO1FBQy9DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUExRUQsa0VBMEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzID0gcmVxdWlyZSgnZnMnKTtcbmltcG9ydCBwYXRoID0gcmVxdWlyZSgncGF0aCcpO1xuaW1wb3J0IHsgQVNTRVRfTUVUQURBVEEsIEFzc2V0TWV0YWRhdGFFbnRyeSB9IGZyb20gJy4vYXNzZXRzJztcbmltcG9ydCB7IEFydGlmYWN0TWFuaWZlc3QsIEF3c0Nsb3VkRm9ybWF0aW9uU3RhY2tQcm9wZXJ0aWVzLCBDbG91ZEFydGlmYWN0IH0gZnJvbSAnLi9jbG91ZC1hcnRpZmFjdCc7XG5pbXBvcnQgeyBDbG91ZEFzc2VtYmx5IH0gZnJvbSAnLi9jbG91ZC1hc3NlbWJseSc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudCwgRW52aXJvbm1lbnRVdGlscyB9IGZyb20gJy4vZW52aXJvbm1lbnQnO1xuXG5leHBvcnQgY2xhc3MgQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0IGV4dGVuZHMgQ2xvdWRBcnRpZmFjdCB7XG4gIC8qKlxuICAgKiBUaGUgQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGUgZm9yIHRoaXMgc3RhY2suXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdGVtcGxhdGU6IGFueTtcblxuICAvKipcbiAgICogVGhlIGZpbGUgbmFtZSBvZiB0aGUgdGVtcGxhdGUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdGVtcGxhdGVGaWxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBvcmlnaW5hbCBuYW1lIGFzIGRlZmluZWQgaW4gdGhlIENESyBhcHAuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb3JpZ2luYWxOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFueSBhc3NldHMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgc3RhY2suXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXNzZXRzOiBBc3NldE1ldGFkYXRhRW50cnlbXTtcblxuICAvKipcbiAgICogQ2xvdWRGb3JtYXRpb24gcGFyYW1ldGVycyB0byBwYXNzIHRvIHRoZSBzdGFjay5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwYXJhbWV0ZXJzOiB7IFtpZDogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIFRoZSBwaHlzaWNhbCBuYW1lIG9mIHRoaXMgc3RhY2suXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc3RhY2tOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIHRoYXQgcmVwcmVzZW50cyB0aGlzIHN0YWNrLiBTaG91bGQgb25seSBiZSB1c2VkIGluIHVzZXIgaW50ZXJmYWNlcy5cbiAgICogSWYgdGhlIHN0YWNrTmFtZSBhbmQgYXJ0aWZhY3RJZCBhcmUgdGhlIHNhbWUsIGl0IHdpbGwganVzdCByZXR1cm4gdGhhdC4gT3RoZXJ3aXNlLFxuICAgKiBpdCB3aWxsIHJldHVybiBzb21ldGhpbmcgbGlrZSBcIjxhcnRpZmFjdElkPiAoPHN0YWNrTmFtZT4pXCJcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkaXNwbGF5TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGh5c2ljYWwgbmFtZSBvZiB0aGlzIHN0YWNrLlxuICAgKiBAZGVwcmVjYXRlZCByZW5hbWVkIHRvIGBzdGFja05hbWVgXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZW52aXJvbm1lbnQgaW50byB3aGljaCB0byBkZXBsb3kgdGhpcyBhcnRpZmFjdC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQ7XG5cbiAgY29uc3RydWN0b3IoYXNzZW1ibHk6IENsb3VkQXNzZW1ibHksIGFydGlmYWN0SWQ6IHN0cmluZywgYXJ0aWZhY3Q6IEFydGlmYWN0TWFuaWZlc3QpIHtcbiAgICBzdXBlcihhc3NlbWJseSwgYXJ0aWZhY3RJZCwgYXJ0aWZhY3QpO1xuXG4gICAgaWYgKCFhcnRpZmFjdC5wcm9wZXJ0aWVzIHx8ICFhcnRpZmFjdC5wcm9wZXJ0aWVzLnRlbXBsYXRlRmlsZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIENsb3VkRm9ybWF0aW9uIHN0YWNrIGFydGlmYWN0LiBNaXNzaW5nIFwidGVtcGxhdGVGaWxlXCIgcHJvcGVydHkgaW4gY2xvdWQgYXNzZW1ibHkgbWFuaWZlc3RgKTtcbiAgICB9XG4gICAgaWYgKCFhcnRpZmFjdC5lbnZpcm9ubWVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIENsb3VkRm9ybWF0aW9uIHN0YWNrIGFydGlmYWN0LiBNaXNzaW5nIGVudmlyb25tZW50Jyk7XG4gICAgfVxuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBFbnZpcm9ubWVudFV0aWxzLnBhcnNlKGFydGlmYWN0LmVudmlyb25tZW50KTtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gKHRoaXMubWFuaWZlc3QucHJvcGVydGllcyB8fCB7fSkgYXMgQXdzQ2xvdWRGb3JtYXRpb25TdGFja1Byb3BlcnRpZXM7XG4gICAgdGhpcy50ZW1wbGF0ZUZpbGUgPSBwcm9wZXJ0aWVzLnRlbXBsYXRlRmlsZTtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSBwcm9wZXJ0aWVzLnBhcmFtZXRlcnMgfHwgeyB9O1xuXG4gICAgdGhpcy5zdGFja05hbWUgPSBwcm9wZXJ0aWVzLnN0YWNrTmFtZSB8fCBhcnRpZmFjdElkO1xuICAgIHRoaXMudGVtcGxhdGUgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4odGhpcy5hc3NlbWJseS5kaXJlY3RvcnksIHRoaXMudGVtcGxhdGVGaWxlKSwgJ3V0Zi04JykpO1xuICAgIHRoaXMuYXNzZXRzID0gdGhpcy5maW5kTWV0YWRhdGFCeVR5cGUoQVNTRVRfTUVUQURBVEEpLm1hcChlID0+IGUuZGF0YSk7XG5cbiAgICB0aGlzLmRpc3BsYXlOYW1lID0gdGhpcy5zdGFja05hbWUgPT09IGFydGlmYWN0SWRcbiAgICAgID8gdGhpcy5zdGFja05hbWVcbiAgICAgIDogYCR7YXJ0aWZhY3RJZH0gKCR7dGhpcy5zdGFja05hbWV9KWA7XG5cbiAgICB0aGlzLm5hbWUgPSB0aGlzLnN0YWNrTmFtZTsgLy8gYmFja3dhcmRzIGNvbXBhdFxuICAgIHRoaXMub3JpZ2luYWxOYW1lID0gdGhpcy5zdGFja05hbWU7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWRmb3JtYXRpb24tYXJ0aWZhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbG91ZGZvcm1hdGlvbi1hcnRpZmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IscUNBQThEO0FBQzlELHFEQUFxRztBQUVyRywrQ0FBOEQ7QUFFOUQsTUFBYSwyQkFBNEIsU0FBUSw4QkFBYTtJQWlENUQsWUFBWSxRQUF1QixFQUFFLFVBQWtCLEVBQUUsUUFBMEI7UUFDakYsS0FBSyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRTtZQUM3RCxNQUFNLElBQUksS0FBSyxDQUFDLG1HQUFtRyxDQUFDLENBQUM7U0FDdEg7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRTtZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLDREQUE0RCxDQUFDLENBQUM7U0FDL0U7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLDhCQUFnQixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEUsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQXFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLFVBQVUsSUFBSSxFQUFHLENBQUM7UUFFL0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxJQUFJLFVBQVUsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzVHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHVCQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxLQUFLLFVBQVU7WUFDOUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQ2hCLENBQUMsQ0FBQyxHQUFHLFVBQVUsS0FBSyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUM7UUFFeEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsbUJBQW1CO1FBQy9DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUExRUQsa0VBMEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IEFTU0VUX01FVEFEQVRBLCBBc3NldE1ldGFkYXRhRW50cnkgfSBmcm9tICcuL2Fzc2V0cyc7XG5pbXBvcnQgeyBBcnRpZmFjdE1hbmlmZXN0LCBBd3NDbG91ZEZvcm1hdGlvblN0YWNrUHJvcGVydGllcywgQ2xvdWRBcnRpZmFjdCB9IGZyb20gJy4vY2xvdWQtYXJ0aWZhY3QnO1xuaW1wb3J0IHsgQ2xvdWRBc3NlbWJseSB9IGZyb20gJy4vY2xvdWQtYXNzZW1ibHknO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQsIEVudmlyb25tZW50VXRpbHMgfSBmcm9tICcuL2Vudmlyb25tZW50JztcblxuZXhwb3J0IGNsYXNzIENsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCBleHRlbmRzIENsb3VkQXJ0aWZhY3Qge1xuICAvKipcbiAgICogVGhlIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlIGZvciB0aGlzIHN0YWNrLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRlbXBsYXRlOiBhbnk7XG5cbiAgLyoqXG4gICAqIFRoZSBmaWxlIG5hbWUgb2YgdGhlIHRlbXBsYXRlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRlbXBsYXRlRmlsZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgb3JpZ2luYWwgbmFtZSBhcyBkZWZpbmVkIGluIHRoZSBDREsgYXBwLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG9yaWdpbmFsTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbnkgYXNzZXRzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHN0YWNrLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFzc2V0czogQXNzZXRNZXRhZGF0YUVudHJ5W107XG5cbiAgLyoqXG4gICAqIENsb3VkRm9ybWF0aW9uIHBhcmFtZXRlcnMgdG8gcGFzcyB0byB0aGUgc3RhY2suXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcGFyYW1ldGVyczogeyBbaWQ6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBUaGUgcGh5c2ljYWwgbmFtZSBvZiB0aGlzIHN0YWNrLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHN0YWNrTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyB0aGF0IHJlcHJlc2VudHMgdGhpcyBzdGFjay4gU2hvdWxkIG9ubHkgYmUgdXNlZCBpbiB1c2VyIGludGVyZmFjZXMuXG4gICAqIElmIHRoZSBzdGFja05hbWUgYW5kIGFydGlmYWN0SWQgYXJlIHRoZSBzYW1lLCBpdCB3aWxsIGp1c3QgcmV0dXJuIHRoYXQuIE90aGVyd2lzZSxcbiAgICogaXQgd2lsbCByZXR1cm4gc29tZXRoaW5nIGxpa2UgXCI8YXJ0aWZhY3RJZD4gKDxzdGFja05hbWU+KVwiXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGlzcGxheU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBoeXNpY2FsIG5hbWUgb2YgdGhpcyBzdGFjay5cbiAgICogQGRlcHJlY2F0ZWQgcmVuYW1lZCB0byBgc3RhY2tOYW1lYFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGVudmlyb25tZW50IGludG8gd2hpY2ggdG8gZGVwbG95IHRoaXMgYXJ0aWZhY3QuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50O1xuXG4gIGNvbnN0cnVjdG9yKGFzc2VtYmx5OiBDbG91ZEFzc2VtYmx5LCBhcnRpZmFjdElkOiBzdHJpbmcsIGFydGlmYWN0OiBBcnRpZmFjdE1hbmlmZXN0KSB7XG4gICAgc3VwZXIoYXNzZW1ibHksIGFydGlmYWN0SWQsIGFydGlmYWN0KTtcblxuICAgIGlmICghYXJ0aWZhY3QucHJvcGVydGllcyB8fCAhYXJ0aWZhY3QucHJvcGVydGllcy50ZW1wbGF0ZUZpbGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBDbG91ZEZvcm1hdGlvbiBzdGFjayBhcnRpZmFjdC4gTWlzc2luZyBcInRlbXBsYXRlRmlsZVwiIHByb3BlcnR5IGluIGNsb3VkIGFzc2VtYmx5IG1hbmlmZXN0YCk7XG4gICAgfVxuICAgIGlmICghYXJ0aWZhY3QuZW52aXJvbm1lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBDbG91ZEZvcm1hdGlvbiBzdGFjayBhcnRpZmFjdC4gTWlzc2luZyBlbnZpcm9ubWVudCcpO1xuICAgIH1cbiAgICB0aGlzLmVudmlyb25tZW50ID0gRW52aXJvbm1lbnRVdGlscy5wYXJzZShhcnRpZmFjdC5lbnZpcm9ubWVudCk7XG4gICAgY29uc3QgcHJvcGVydGllcyA9ICh0aGlzLm1hbmlmZXN0LnByb3BlcnRpZXMgfHwge30pIGFzIEF3c0Nsb3VkRm9ybWF0aW9uU3RhY2tQcm9wZXJ0aWVzO1xuICAgIHRoaXMudGVtcGxhdGVGaWxlID0gcHJvcGVydGllcy50ZW1wbGF0ZUZpbGU7XG4gICAgdGhpcy5wYXJhbWV0ZXJzID0gcHJvcGVydGllcy5wYXJhbWV0ZXJzIHx8IHsgfTtcblxuICAgIHRoaXMuc3RhY2tOYW1lID0gcHJvcGVydGllcy5zdGFja05hbWUgfHwgYXJ0aWZhY3RJZDtcbiAgICB0aGlzLnRlbXBsYXRlID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHRoaXMuYXNzZW1ibHkuZGlyZWN0b3J5LCB0aGlzLnRlbXBsYXRlRmlsZSksICd1dGYtOCcpKTtcbiAgICB0aGlzLmFzc2V0cyA9IHRoaXMuZmluZE1ldGFkYXRhQnlUeXBlKEFTU0VUX01FVEFEQVRBKS5tYXAoZSA9PiBlLmRhdGEpO1xuXG4gICAgdGhpcy5kaXNwbGF5TmFtZSA9IHRoaXMuc3RhY2tOYW1lID09PSBhcnRpZmFjdElkXG4gICAgICA/IHRoaXMuc3RhY2tOYW1lXG4gICAgICA6IGAke2FydGlmYWN0SWR9ICgke3RoaXMuc3RhY2tOYW1lfSlgO1xuXG4gICAgdGhpcy5uYW1lID0gdGhpcy5zdGFja05hbWU7IC8vIGJhY2t3YXJkcyBjb21wYXRcbiAgICB0aGlzLm9yaWdpbmFsTmFtZSA9IHRoaXMuc3RhY2tOYW1lO1xuICB9XG59XG4iXX0=

@@ -67,2 +67,8 @@ export declare const VPC_PROVIDER = "vpc-provider";

readonly routeTableId: string;
/**
* CIDR range of the subnet
*
* @default - CIDR information not available
*/
readonly cidr?: string;
}

@@ -98,2 +104,8 @@ /**

/**
* VPC cidr
*
* @default - CIDR information not available
*/
readonly vpcCidrBlock?: string;
/**
* AZs

@@ -100,0 +112,0 @@ */

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

})(VpcSubnetGroupType = exports.VpcSubnetGroupType || (exports.VpcSubnetGroupType = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidnBjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQWEsUUFBQSxZQUFZLEdBQUcsY0FBYyxDQUFDO0FBNEMzQzs7OztHQUlHO0FBQ0gsSUFBWSxrQkFTWDtBQVRELFdBQVksa0JBQWtCO0lBQzVCLGdDQUFnQztJQUNoQyx1Q0FBaUIsQ0FBQTtJQUVqQixpQ0FBaUM7SUFDakMseUNBQW1CLENBQUE7SUFFbkIsa0NBQWtDO0lBQ2xDLDJDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFUVyxrQkFBa0IsR0FBbEIsMEJBQWtCLEtBQWxCLDBCQUFrQixRQVM3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBWUENfUFJPVklERVIgPSAndnBjLXByb3ZpZGVyJztcblxuLyoqXG4gKiBRdWVyeSBpbnB1dCBmb3IgbG9va2luZyB1cCBhIFZQQ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFZwY0NvbnRleHRRdWVyeSB7XG4gIC8qKlxuICAgKiBRdWVyeSBhY2NvdW50XG4gICAqL1xuICByZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBRdWVyeSByZWdpb25cbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogRmlsdGVycyB0byBhcHBseSB0byB0aGUgVlBDXG4gICAqXG4gICAqIEZpbHRlciBwYXJhbWV0ZXJzIGFyZSB0aGUgc2FtZSBhcyBwYXNzZWQgdG8gRGVzY3JpYmVWcGNzLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NFQzIvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVWcGNzLmh0bWxcbiAgICovXG4gIHJlYWRvbmx5IGZpbHRlcjoge1trZXk6IHN0cmluZ106IHN0cmluZ307XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcG9wdWxhdGUgdGhlIHN1Ym5ldEdyb3VwcyBmaWVsZCBvZiB0aGUge0BsaW5rIFZwY0NvbnRleHRSZXNwb25zZX0sXG4gICAqIHdoaWNoIGNvbnRhaW5zIHBvdGVudGlhbGx5IGFzeW1tZXRyaWMgc3VibmV0IGdyb3Vwcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJldHVybkFzeW1tZXRyaWNTdWJuZXRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdGFnIGZvciBzdWJuZXQgZ3JvdXAgbmFtZS5cbiAgICogSWYgbm90IHByb3ZpZGVkLCB3ZSdsbCBsb29rIGF0IHRoZSBhd3MtY2RrOnN1Ym5ldC1uYW1lIHRhZy5cbiAgICogSWYgdGhlIHN1Ym5ldCBkb2VzIG5vdCBoYXZlIHRoZSBzcGVjaWZpZWQgdGFnLFxuICAgKiB3ZSdsbCB1c2UgaXRzIHR5cGUgYXMgdGhlIG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdhd3MtY2RrOnN1Ym5ldC1uYW1lJ1xuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0R3JvdXBOYW1lVGFnPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSB0eXBlIG9mIHN1Ym5ldCBncm91cC5cbiAqIFNhbWUgYXMgU3VibmV0VHlwZSBpbiB0aGUgQGF3cy1jZGsvYXdzLWVjMiBwYWNrYWdlLFxuICogYnV0IHdlIGNhbid0IHVzZSB0aGF0IGJlY2F1c2Ugb2YgY3ljbGljYWwgZGVwZW5kZW5jaWVzLlxuICovXG5leHBvcnQgZW51bSBWcGNTdWJuZXRHcm91cFR5cGUge1xuICAvKiogUHVibGljIHN1Ym5ldCBncm91cCB0eXBlLiAqL1xuICBQVUJMSUMgPSAnUHVibGljJyxcblxuICAvKiogUHJpdmF0ZSBzdWJuZXQgZ3JvdXAgdHlwZS4gKi9cbiAgUFJJVkFURSA9ICdQcml2YXRlJyxcblxuICAvKiogSXNvbGF0ZWQgc3VibmV0IGdyb3VwIHR5cGUuICovXG4gIElTT0xBVEVEID0gJ0lzb2xhdGVkJyxcbn1cblxuLyoqXG4gKiBBIHN1Ym5ldCByZXByZXNlbnRhdGlvbiB0aGF0IHRoZSBWUEMgcHJvdmlkZXIgdXNlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWcGNTdWJuZXQge1xuICAvKiogVGhlIGlkZW50aWZpZXIgb2YgdGhlIHN1Ym5ldC4gKi9cbiAgcmVhZG9ubHkgc3VibmV0SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNvZGUgb2YgdGhlIGF2YWlsYWJpbGl0eSB6b25lIHRoaXMgc3VibmV0IGlzIGluXG4gICAqIChmb3IgZXhhbXBsZSwgJ3VzLXdlc3QtMmEnKS5cbiAgICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZztcblxuICAvKiogVGhlIGlkZW50aWZpZXIgb2YgdGhlIHJvdXRlIHRhYmxlIGZvciB0aGlzIHN1Ym5ldC4gKi9cbiAgcmVhZG9ubHkgcm91dGVUYWJsZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBncm91cCBvZiBzdWJuZXRzIHJldHVybmVkIGJ5IHRoZSBWUEMgcHJvdmlkZXIuXG4gKiBUaGUgaW5jbHVkZWQgc3VibmV0cyBkbyBOT1QgaGF2ZSB0byBiZSBzeW1tZXRyaWMhXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVnBjU3VibmV0R3JvdXAge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHN1Ym5ldCBncm91cCxcbiAgICogZGV0ZXJtaW5lZCBieSBsb29raW5nIGF0IHRoZSB0YWdzIG9mIG9mIHRoZSBzdWJuZXRzXG4gICAqIHRoYXQgYmVsb25nIHRvIGl0LlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKiBUaGUgdHlwZSBvZiB0aGUgc3VibmV0IGdyb3VwLiAqL1xuICByZWFkb25seSB0eXBlOiBWcGNTdWJuZXRHcm91cFR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSBzdWJuZXRzIHRoYXQgYXJlIHBhcnQgb2YgdGhpcyBncm91cC5cbiAgICogVGhlcmUgaXMgbm8gY29uZGl0aW9uIHRoYXQgdGhlIHN1Ym5ldHMgaGF2ZSB0byBiZSBzeW1tZXRyaWNcbiAgICogaW4gdGhlIGdyb3VwLlxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0czogVnBjU3VibmV0W107XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBvZiBhIGRpc2NvdmVyZWQgVlBDXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVnBjQ29udGV4dFJlc3BvbnNlIHtcblxuICAvKipcbiAgICogVlBDIGlkXG4gICAqL1xuICByZWFkb25seSB2cGNJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBWnNcbiAgICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmVzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogSURzIG9mIGFsbCBwdWJsaWMgc3VibmV0c1xuICAgKlxuICAgKiBFbGVtZW50IGNvdW50OiAjKGF2YWlsYWJpbGl0eVpvbmVzKSDCtyAjKHB1YmxpY0dyb3VwcylcbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY1N1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHB1YmxpYyBzdWJuZXQgZ3JvdXBzXG4gICAqXG4gICAqIEVsZW1lbnQgY291bnQ6ICMocHVibGljR3JvdXBzKVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljU3VibmV0TmFtZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUm91dGUgVGFibGUgSURzIG9mIHB1YmxpYyBzdWJuZXQgZ3JvdXBzLlxuICAgKlxuICAgKiBFbGVtZW50IGNvdW50OiAjKGF2YWlsYWJpbGl0eVpvbmVzKSDCtyAjKHB1YmxpY0dyb3VwcylcbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY1N1Ym5ldFJvdXRlVGFibGVJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogSURzIG9mIGFsbCBwcml2YXRlIHN1Ym5ldHNcbiAgICpcbiAgICogRWxlbWVudCBjb3VudDogIyhhdmFpbGFiaWxpdHlab25lcykgwrcgIyhwcml2YXRlR3JvdXBzKVxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZVN1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHByaXZhdGUgc3VibmV0IGdyb3Vwc1xuICAgKlxuICAgKiBFbGVtZW50IGNvdW50OiAjKHByaXZhdGVHcm91cHMpXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlU3VibmV0TmFtZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUm91dGUgVGFibGUgSURzIG9mIHByaXZhdGUgc3VibmV0IGdyb3Vwcy5cbiAgICpcbiAgICogRWxlbWVudCBjb3VudDogIyhhdmFpbGFiaWxpdHlab25lcykgwrcgIyhwcml2YXRlR3JvdXBzKVxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZVN1Ym5ldFJvdXRlVGFibGVJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogSURzIG9mIGFsbCBpc29sYXRlZCBzdWJuZXRzXG4gICAqXG4gICAqIEVsZW1lbnQgY291bnQ6ICMoYXZhaWxhYmlsaXR5Wm9uZXMpIMK3ICMoaXNvbGF0ZWRHcm91cHMpXG4gICAqL1xuICByZWFkb25seSBpc29sYXRlZFN1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIGlzb2xhdGVkIHN1Ym5ldCBncm91cHNcbiAgICpcbiAgICogRWxlbWVudCBjb3VudDogIyhpc29sYXRlZEdyb3VwcylcbiAgICovXG4gIHJlYWRvbmx5IGlzb2xhdGVkU3VibmV0TmFtZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUm91dGUgVGFibGUgSURzIG9mIGlzb2xhdGVkIHN1Ym5ldCBncm91cHMuXG4gICAqXG4gICAqIEVsZW1lbnQgY291bnQ6ICMoYXZhaWxhYmlsaXR5Wm9uZXMpIMK3ICMoaXNvbGF0ZWRHcm91cHMpXG4gICAqL1xuICByZWFkb25seSBpc29sYXRlZFN1Ym5ldFJvdXRlVGFibGVJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIFZQTiBnYXRld2F5IElEXG4gICAqL1xuICByZWFkb25seSB2cG5HYXRld2F5SWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdWJuZXQgZ3JvdXBzIGRpc2NvdmVyZWQgZm9yIHRoZSBnaXZlbiBWUEMuXG4gICAqIFVubGlrZSB0aGUgYWJvdmUgcHJvcGVydGllcywgdGhpcyB3aWxsIGluY2x1ZGUgYXN5bW1ldHJpYyBzdWJuZXRzLFxuICAgKiBpZiB0aGUgVlBDIGhhcyBhbnkuXG4gICAqIFRoaXMgcHJvcGVydHkgd2lsbCBvbmx5IGJlIHBvcHVsYXRlZCBpZiB7QGxpbmsgVnBjQ29udGV4dFF1ZXJ5LnJldHVybkFzeW1tZXRyaWNTdWJuZXRzfVxuICAgKiBpcyB0cnVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHN1Ym5ldCBncm91cHMgd2lsbCBiZSByZXR1cm5lZCB1bmxlc3Mge0BsaW5rIFZwY0NvbnRleHRRdWVyeS5yZXR1cm5Bc3ltbWV0cmljU3VibmV0c30gaXMgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0R3JvdXBzPzogVnBjU3VibmV0R3JvdXBbXTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidnBjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQWEsUUFBQSxZQUFZLEdBQUcsY0FBYyxDQUFDO0FBNEMzQzs7OztHQUlHO0FBQ0gsSUFBWSxrQkFTWDtBQVRELFdBQVksa0JBQWtCO0lBQzVCLGdDQUFnQztJQUNoQyx1Q0FBaUIsQ0FBQTtJQUVqQixpQ0FBaUM7SUFDakMseUNBQW1CLENBQUE7SUFFbkIsa0NBQWtDO0lBQ2xDLDJDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFUVyxrQkFBa0IsR0FBbEIsMEJBQWtCLEtBQWxCLDBCQUFrQixRQVM3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBWUENfUFJPVklERVIgPSAndnBjLXByb3ZpZGVyJztcblxuLyoqXG4gKiBRdWVyeSBpbnB1dCBmb3IgbG9va2luZyB1cCBhIFZQQ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFZwY0NvbnRleHRRdWVyeSB7XG4gIC8qKlxuICAgKiBRdWVyeSBhY2NvdW50XG4gICAqL1xuICByZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBRdWVyeSByZWdpb25cbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogRmlsdGVycyB0byBhcHBseSB0byB0aGUgVlBDXG4gICAqXG4gICAqIEZpbHRlciBwYXJhbWV0ZXJzIGFyZSB0aGUgc2FtZSBhcyBwYXNzZWQgdG8gRGVzY3JpYmVWcGNzLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NFQzIvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVWcGNzLmh0bWxcbiAgICovXG4gIHJlYWRvbmx5IGZpbHRlcjoge1trZXk6IHN0cmluZ106IHN0cmluZ307XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcG9wdWxhdGUgdGhlIHN1Ym5ldEdyb3VwcyBmaWVsZCBvZiB0aGUge0BsaW5rIFZwY0NvbnRleHRSZXNwb25zZX0sXG4gICAqIHdoaWNoIGNvbnRhaW5zIHBvdGVudGlhbGx5IGFzeW1tZXRyaWMgc3VibmV0IGdyb3Vwcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJldHVybkFzeW1tZXRyaWNTdWJuZXRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdGFnIGZvciBzdWJuZXQgZ3JvdXAgbmFtZS5cbiAgICogSWYgbm90IHByb3ZpZGVkLCB3ZSdsbCBsb29rIGF0IHRoZSBhd3MtY2RrOnN1Ym5ldC1uYW1lIHRhZy5cbiAgICogSWYgdGhlIHN1Ym5ldCBkb2VzIG5vdCBoYXZlIHRoZSBzcGVjaWZpZWQgdGFnLFxuICAgKiB3ZSdsbCB1c2UgaXRzIHR5cGUgYXMgdGhlIG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdhd3MtY2RrOnN1Ym5ldC1uYW1lJ1xuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0R3JvdXBOYW1lVGFnPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSB0eXBlIG9mIHN1Ym5ldCBncm91cC5cbiAqIFNhbWUgYXMgU3VibmV0VHlwZSBpbiB0aGUgQGF3cy1jZGsvYXdzLWVjMiBwYWNrYWdlLFxuICogYnV0IHdlIGNhbid0IHVzZSB0aGF0IGJlY2F1c2Ugb2YgY3ljbGljYWwgZGVwZW5kZW5jaWVzLlxuICovXG5leHBvcnQgZW51bSBWcGNTdWJuZXRHcm91cFR5cGUge1xuICAvKiogUHVibGljIHN1Ym5ldCBncm91cCB0eXBlLiAqL1xuICBQVUJMSUMgPSAnUHVibGljJyxcblxuICAvKiogUHJpdmF0ZSBzdWJuZXQgZ3JvdXAgdHlwZS4gKi9cbiAgUFJJVkFURSA9ICdQcml2YXRlJyxcblxuICAvKiogSXNvbGF0ZWQgc3VibmV0IGdyb3VwIHR5cGUuICovXG4gIElTT0xBVEVEID0gJ0lzb2xhdGVkJyxcbn1cblxuLyoqXG4gKiBBIHN1Ym5ldCByZXByZXNlbnRhdGlvbiB0aGF0IHRoZSBWUEMgcHJvdmlkZXIgdXNlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWcGNTdWJuZXQge1xuICAvKiogVGhlIGlkZW50aWZpZXIgb2YgdGhlIHN1Ym5ldC4gKi9cbiAgcmVhZG9ubHkgc3VibmV0SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNvZGUgb2YgdGhlIGF2YWlsYWJpbGl0eSB6b25lIHRoaXMgc3VibmV0IGlzIGluXG4gICAqIChmb3IgZXhhbXBsZSwgJ3VzLXdlc3QtMmEnKS5cbiAgICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZztcblxuICAvKiogVGhlIGlkZW50aWZpZXIgb2YgdGhlIHJvdXRlIHRhYmxlIGZvciB0aGlzIHN1Ym5ldC4gKi9cbiAgcmVhZG9ubHkgcm91dGVUYWJsZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENJRFIgcmFuZ2Ugb2YgdGhlIHN1Ym5ldFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIENJRFIgaW5mb3JtYXRpb24gbm90IGF2YWlsYWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY2lkcj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIGdyb3VwIG9mIHN1Ym5ldHMgcmV0dXJuZWQgYnkgdGhlIFZQQyBwcm92aWRlci5cbiAqIFRoZSBpbmNsdWRlZCBzdWJuZXRzIGRvIE5PVCBoYXZlIHRvIGJlIHN5bW1ldHJpYyFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWcGNTdWJuZXRHcm91cCB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc3VibmV0IGdyb3VwLFxuICAgKiBkZXRlcm1pbmVkIGJ5IGxvb2tpbmcgYXQgdGhlIHRhZ3Mgb2Ygb2YgdGhlIHN1Ym5ldHNcbiAgICogdGhhdCBiZWxvbmcgdG8gaXQuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqIFRoZSB0eXBlIG9mIHRoZSBzdWJuZXQgZ3JvdXAuICovXG4gIHJlYWRvbmx5IHR5cGU6IFZwY1N1Ym5ldEdyb3VwVHlwZTtcblxuICAvKipcbiAgICogVGhlIHN1Ym5ldHMgdGhhdCBhcmUgcGFydCBvZiB0aGlzIGdyb3VwLlxuICAgKiBUaGVyZSBpcyBubyBjb25kaXRpb24gdGhhdCB0aGUgc3VibmV0cyBoYXZlIHRvIGJlIHN5bW1ldHJpY1xuICAgKiBpbiB0aGUgZ3JvdXAuXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRzOiBWcGNTdWJuZXRbXTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIG9mIGEgZGlzY292ZXJlZCBWUENcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWcGNDb250ZXh0UmVzcG9uc2Uge1xuXG4gIC8qKlxuICAgKiBWUEMgaWRcbiAgICovXG4gIHJlYWRvbmx5IHZwY0lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZQQyBjaWRyXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQ0lEUiBpbmZvcm1hdGlvbiBub3QgYXZhaWxhYmxlXG4gICAqL1xuICByZWFkb25seSB2cGNDaWRyQmxvY2s/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFac1xuICAgKi9cbiAgcmVhZG9ubHkgYXZhaWxhYmlsaXR5Wm9uZXM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJRHMgb2YgYWxsIHB1YmxpYyBzdWJuZXRzXG4gICAqXG4gICAqIEVsZW1lbnQgY291bnQ6ICMoYXZhaWxhYmlsaXR5Wm9uZXMpIMK3ICMocHVibGljR3JvdXBzKVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgcHVibGljIHN1Ym5ldCBncm91cHNcbiAgICpcbiAgICogRWxlbWVudCBjb3VudDogIyhwdWJsaWNHcm91cHMpXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNTdWJuZXROYW1lcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSb3V0ZSBUYWJsZSBJRHMgb2YgcHVibGljIHN1Ym5ldCBncm91cHMuXG4gICAqXG4gICAqIEVsZW1lbnQgY291bnQ6ICMoYXZhaWxhYmlsaXR5Wm9uZXMpIMK3ICMocHVibGljR3JvdXBzKVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljU3VibmV0Um91dGVUYWJsZUlkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJRHMgb2YgYWxsIHByaXZhdGUgc3VibmV0c1xuICAgKlxuICAgKiBFbGVtZW50IGNvdW50OiAjKGF2YWlsYWJpbGl0eVpvbmVzKSDCtyAjKHByaXZhdGVHcm91cHMpXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgcHJpdmF0ZSBzdWJuZXQgZ3JvdXBzXG4gICAqXG4gICAqIEVsZW1lbnQgY291bnQ6ICMocHJpdmF0ZUdyb3VwcylcbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVTdWJuZXROYW1lcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSb3V0ZSBUYWJsZSBJRHMgb2YgcHJpdmF0ZSBzdWJuZXQgZ3JvdXBzLlxuICAgKlxuICAgKiBFbGVtZW50IGNvdW50OiAjKGF2YWlsYWJpbGl0eVpvbmVzKSDCtyAjKHByaXZhdGVHcm91cHMpXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlU3VibmV0Um91dGVUYWJsZUlkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJRHMgb2YgYWxsIGlzb2xhdGVkIHN1Ym5ldHNcbiAgICpcbiAgICogRWxlbWVudCBjb3VudDogIyhhdmFpbGFiaWxpdHlab25lcykgwrcgIyhpc29sYXRlZEdyb3VwcylcbiAgICovXG4gIHJlYWRvbmx5IGlzb2xhdGVkU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgaXNvbGF0ZWQgc3VibmV0IGdyb3Vwc1xuICAgKlxuICAgKiBFbGVtZW50IGNvdW50OiAjKGlzb2xhdGVkR3JvdXBzKVxuICAgKi9cbiAgcmVhZG9ubHkgaXNvbGF0ZWRTdWJuZXROYW1lcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSb3V0ZSBUYWJsZSBJRHMgb2YgaXNvbGF0ZWQgc3VibmV0IGdyb3Vwcy5cbiAgICpcbiAgICogRWxlbWVudCBjb3VudDogIyhhdmFpbGFiaWxpdHlab25lcykgwrcgIyhpc29sYXRlZEdyb3VwcylcbiAgICovXG4gIHJlYWRvbmx5IGlzb2xhdGVkU3VibmV0Um91dGVUYWJsZUlkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgVlBOIGdhdGV3YXkgSURcbiAgICovXG4gIHJlYWRvbmx5IHZwbkdhdGV3YXlJZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN1Ym5ldCBncm91cHMgZGlzY292ZXJlZCBmb3IgdGhlIGdpdmVuIFZQQy5cbiAgICogVW5saWtlIHRoZSBhYm92ZSBwcm9wZXJ0aWVzLCB0aGlzIHdpbGwgaW5jbHVkZSBhc3ltbWV0cmljIHN1Ym5ldHMsXG4gICAqIGlmIHRoZSBWUEMgaGFzIGFueS5cbiAgICogVGhpcyBwcm9wZXJ0eSB3aWxsIG9ubHkgYmUgcG9wdWxhdGVkIGlmIHtAbGluayBWcGNDb250ZXh0UXVlcnkucmV0dXJuQXN5bW1ldHJpY1N1Ym5ldHN9XG4gICAqIGlzIHRydWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gc3VibmV0IGdyb3VwcyB3aWxsIGJlIHJldHVybmVkIHVubGVzcyB7QGxpbmsgVnBjQ29udGV4dFF1ZXJ5LnJldHVybkFzeW1tZXRyaWNTdWJuZXRzfSBpcyB0cnVlXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRHcm91cHM/OiBWcGNTdWJuZXRHcm91cFtdO1xufVxuIl19

@@ -86,2 +86,2 @@ "use strict";

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInZlcnNpb25pbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpQ0FBa0M7QUFHbEMseUVBQXlFO0FBQ3pFLEVBQUU7QUFDRiw0Q0FBNEM7QUFDNUMsRUFBRTtBQUNGLHlFQUF5RTtBQUN6RSxFQUFFO0FBQ0YsMkVBQTJFO0FBQzNFLDBFQUEwRTtBQUMxRSxnQ0FBZ0M7QUFDaEMsRUFBRTtBQUNGLDZFQUE2RTtBQUM3RSx1RUFBdUU7QUFDdkUseUJBQXlCO0FBQ3pCLEVBQUU7QUFDRiw2RUFBNkU7QUFDN0UsZ0ZBQWdGO0FBQ2hGLGlGQUFpRjtBQUNqRiwwREFBMEQ7QUFFMUQ7Ozs7Ozs7Ozs7R0FVRztBQUNVLFFBQUEsc0JBQXNCLEdBQUcsUUFBUSxDQUFDO0FBRS9DOztHQUVHO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsY0FBc0I7SUFDMUQsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDckQsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDLDhCQUFzQixDQUFDLENBQUM7SUFFM0QscURBQXFEO0lBQ3JELElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsRUFBRTtRQUMvQyxNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxnQkFBZ0IsMENBQTBDLENBQUMsQ0FBQztLQUNuSDtJQUVELDJEQUEyRDtJQUMzRCxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLEVBQUU7UUFDL0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxrRkFBa0YsOEJBQXNCLEVBQUUsQ0FBQyxDQUFDO0tBQzdIO0FBQ0gsQ0FBQztBQWJELHNEQWFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQix1QkFBdUIsQ0FBQyxRQUEwQjtJQUVoRSxJQUFJLFFBQVEsQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFO1FBQ2pDLGdGQUFnRjtRQUNoRixRQUFRLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0tBQ25EO0lBRUQsSUFBSSxRQUFRLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRTtRQUNqQyxlQUFlO1FBQ2YscURBQXFEO1FBQ3JELG1FQUFtRTtRQUNuRSxRQUFRLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0tBQ25EO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQWZELDBEQWVDO0FBRUQsU0FBUyxXQUFXLENBQUMsT0FBZTtJQUNsQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixPQUFPLGFBQWEsQ0FBQyxDQUFDO0tBQzNEO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLGtCQUFrQixDQUFDLFFBQTBCLEVBQUUsT0FBZTtJQUNyRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzZW12ZXIgPSByZXF1aXJlKCdzZW12ZXInKTtcbmltcG9ydCB7IEFzc2VtYmx5TWFuaWZlc3QgfSBmcm9tICcuL2Nsb3VkLWFzc2VtYmx5JztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICAgUkVBRCBUSElTIEZJUlNUIFdIRU4gQ0hBTkdJTkcgVEhJUyBGSUxFXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIFlvdSBuZWVkIChhbmQgb25seSBuZWVkKSB0byBidW1wIHRoZSBDTE9VRF9BU1NFTUJMWV9WRVJTSU9OIGlmIHRoZSBjbG91ZFxuLy8gYXNzZW1ibHkgbmVlZHMgbmV3IGZlYXR1cmVzIGZyb20gdGhlIENESyBDTEkuIEV4YW1wbGVzOiBuZXcgZmllbGRzLCBuZXdcbi8vIGJlaGF2aW9yLCBuZXcgYXJ0aWZhY3QgdHlwZXMuXG4vL1xuLy8gSWYgdGhhdCBoYXBwZW5zLCB5b3Ugc2V0IHRoZSBDTE9VRF9BU1NFTUJMWV9WRVJTSU9OIHRvIHRoZSAqbmV4dCogKG5vdCB0aGVcbi8vIGN1cnJlbnQhKSBDREsgdmVyc2lvbiB0aGF0IHdpbGwgYmUgcmVsZWFzZWQuIFRoaXMgaXMgZG9uZSB0byBwcm9kdWNlXG4vLyB1c2VmdWwgZXJyb3IgbWVzc2FnZXMuXG4vL1xuLy8gV2hlbiB5b3UgZG8gdGhpcywgeW91IHdpbGwgZm9yY2UgdXNlcnMgb2YgYSBuZXcgbGlicmFyeSB0byB1cGdyYWRlIHRoZSBDTElcbi8vIChnb29kKSwgYnV0IFVOTEVTUyBZT1UgQUxTTyBJTVBMRU1FTlQgJ3VwZ3JhZGVBc3NlbWJseU1hbmlmZXN0JyB5b3Ugd2lsbCBhbHNvXG4vLyBmb3JjZSBwZW9wbGUgd2hvIGhhdmUgaW5zdGFsbGVkIGEgbmV3ZXIgQ0xJIHRvIHVwZ3JhZGUgdGhlaXIgbGlicmFyaWVzIChiYWQhKS5cbi8vIERvIHRoYXQgdG9vLCB1bmxlc3MgeW91IGhhdmUgYSB2ZXJ5IGdvb2QgcmVhc29uIG5vdCB0by5cblxuLyoqXG4gKiBCdW1wIHRoaXMgdG8gdGhlIGxpYnJhcnkgdmVyc2lvbiBpZiBhbmQgb25seSBpZiB0aGUgQ1ggcHJvdG9jb2wgY2hhbmdlcy5cbiAqXG4gKiBXZSBjb3VsZCBhbHNvIGhhdmUgdXNlZCAxLCAyLCAzLCAuLi4gaGVyZSB0byBpbmRpY2F0ZSBwcm90b2NvbCB2ZXJzaW9ucywgYnV0XG4gKiB0aG9zZSB0aGVuIHN0aWxsIG5lZWQgdG8gYmUgbWFwcGVkIHRvIHNvZnR3YXJlIHZlcnNpb25zIHRvIGJlIHVzZWZ1bC4gU28gd2VcbiAqIG1pZ2h0IGFzIHdlbGwgdXNlIHRoZSBzb2Z0d2FyZSB2ZXJzaW9uIGFzIHByb3RvY29sIHZlcnNpb24gYW5kIGltbWVkaWF0ZWx5XG4gKiBnZW5lcmF0ZSBhIHVzZWZ1bCBlcnJvciBtZXNzYWdlIGZyb20gdGhpcy5cbiAqXG4gKiBOb3RlIHRoYXQgdGhlIHZlcnNpb25zIGFyZSBub3QgY29tcGFyZWQgaW4gYSBzZW12ZXIgd2F5LCB0aGV5IGFyZSB1c2VkIGFzXG4gKiBvcGFxdWUgb3JkZXJlZCB0b2tlbnMuXG4gKi9cbmV4cG9ydCBjb25zdCBDTE9VRF9BU1NFTUJMWV9WRVJTSU9OID0gJzEuMTYuMCc7XG5cbi8qKlxuICogTG9vayBhdCB0aGUgdHlwZSBvZiByZXNwb25zZSB3ZSBnZXQgYW5kIHVwZ3JhZGUgaXQgdG8gdGhlIGxhdGVzdCBleHBlY3RlZCB2ZXJzaW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlNYW5pZmVzdFZlcnNpb24obWFuaWZldFZlcnNpb246IHN0cmluZykge1xuICBjb25zdCBmcmFtZXdvcmtWZXJzaW9uID0gcGFyc2VTZW12ZXIobWFuaWZldFZlcnNpb24pO1xuICBjb25zdCB0b29sa2l0VmVyc2lvbiA9IHBhcnNlU2VtdmVyKENMT1VEX0FTU0VNQkxZX1ZFUlNJT04pO1xuXG4gIC8vIGlmIGZyYW1ld29yayA+IGNsaSwgd2UgcmVxdWlyZSBhIG5ld2VyIGNsaSB2ZXJzaW9uXG4gIGlmIChzZW12ZXIuZ3QoZnJhbWV3b3JrVmVyc2lvbiwgdG9vbGtpdFZlcnNpb24pKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBBIG5ld2VyIHZlcnNpb24gb2YgdGhlIENESyBDTEkgKD49ICR7ZnJhbWV3b3JrVmVyc2lvbn0pIGlzIG5lY2Vzc2FyeSB0byBpbnRlcmFjdCB3aXRoIHRoaXMgYXBwYCk7XG4gIH1cblxuICAvLyBpZiBmcmFtZXdvcmsgPCBjbGksIHdlIHJlcXVpcmUgYSBuZXdlciBmcmFtZXdvcmsgdmVyc2lvblxuICBpZiAoc2VtdmVyLmx0KGZyYW1ld29ya1ZlcnNpb24sIHRvb2xraXRWZXJzaW9uKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVGhlIENESyBDTEkgeW91IGFyZSB1c2luZyByZXF1aXJlcyB5b3VyIGFwcCB0byB1c2UgQ0RLIG1vZHVsZXMgd2l0aCB2ZXJzaW9uID49ICR7Q0xPVURfQVNTRU1CTFlfVkVSU0lPTn1gKTtcbiAgfVxufVxuXG4vKipcbiAqIFVwZ3JhZGUgb2xkIG1hbmlmZXN0IHZlcnNpb25zIHRvIGxhdGVyIG1hbmlmZXN0IHZlcnNpb24gaGVyZSAoaWYgcG9zc2libGUpLlxuICpcbiAqIFVzZSB0aGlzIHRvIG1ha2UgdGhlIHRvb2xraXQgcmVjb2duaXplIG9sZCBhc3NlbWJseSB2ZXJzaW9ucy4gVGhpcyBmdW5jdGlvbiBzaG91bGRcbiAqIGFkZCBuZXdseSByZXF1aXJlZCBmaWVsZHMgd2l0aCBhcHByb3ByaWF0ZSBkZWZhdWx0IHZhbHVlcywgZXRjLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXBncmFkZUFzc2VtYmx5TWFuaWZlc3QobWFuaWZlc3Q6IEFzc2VtYmx5TWFuaWZlc3QpOiBBc3NlbWJseU1hbmlmZXN0IHtcblxuICBpZiAobWFuaWZlc3QudmVyc2lvbiA9PT0gJzAuMzYuMCcpIHtcbiAgICAvLyBBZGRpbmcgYSBuZXcgYXJ0aWZhY3QgdHlwZSwgb2xkIHZlcnNpb24gd2lsbCBub3QgaGF2ZSBpdCBzbyBwYWlubGVzcyB1cGdyYWRlLlxuICAgIG1hbmlmZXN0ID0ganVzdFVwZ3JhZGVWZXJzaW9uKG1hbmlmZXN0LCAnMS4xMC4wJyk7XG4gIH1cblxuICBpZiAobWFuaWZlc3QudmVyc2lvbiA9PT0gJzEuMTAuMCcpIHtcbiAgICAvLyBUd28gY2hhbmdlczpcbiAgICAvLyAqIEJhY2t3YXJkcy1jb21wYXRpYmxlIGNoYW5nZXMgdG8gdGhlIFZQQyBwcm92aWRlclxuICAgIC8vICogQWRkZWQgQU1JIGNvbnRleHQgcHJvdmlkZXI6IG9sZCBhc3NlbWJsaWVzIHdvbid0IHJlZmVyZW5jZSBpdC5cbiAgICBtYW5pZmVzdCA9IGp1c3RVcGdyYWRlVmVyc2lvbihtYW5pZmVzdCwgJzEuMTYuMCcpO1xuICB9XG5cbiAgcmV0dXJuIG1hbmlmZXN0O1xufVxuXG5mdW5jdGlvbiBwYXJzZVNlbXZlcih2ZXJzaW9uOiBzdHJpbmcpIHtcbiAgY29uc3QgdmVyID0gc2VtdmVyLmNvZXJjZSh2ZXJzaW9uKTtcbiAgaWYgKCF2ZXIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBwYXJzZSBcIiR7dmVyc2lvbn1cIiBhcyBzZW12ZXJgKTtcbiAgfVxuXG4gIHJldHVybiB2ZXI7XG59XG5cbi8qKlxuICogUmV0dXJuIGEgY29weSBvZiB0aGUgbWFuaWZlc3Qgd2l0aCBqdXN0IHRoZSB2ZXJzaW9uIGZpZWxkIHVwZGF0ZWRcbiAqXG4gKiBVc2VmdWwgaWYgdGhlcmUgYXJlIHByb3RvY29sIGNoYW5nZXMgdGhhdCBhcmUgYXV0b21hdGljYWxseSBiYWNrd2FyZHNcbiAqIGNvbXBhdGlibGUuXG4gKi9cbmZ1bmN0aW9uIGp1c3RVcGdyYWRlVmVyc2lvbihtYW5pZmVzdDogQXNzZW1ibHlNYW5pZmVzdCwgdmVyc2lvbjogc3RyaW5nKTogQXNzZW1ibHlNYW5pZmVzdCB7XG4gIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBtYW5pZmVzdCwgeyB2ZXJzaW9uIH0pO1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInZlcnNpb25pbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpQ0FBaUM7QUFHakMseUVBQXlFO0FBQ3pFLEVBQUU7QUFDRiw0Q0FBNEM7QUFDNUMsRUFBRTtBQUNGLHlFQUF5RTtBQUN6RSxFQUFFO0FBQ0YsMkVBQTJFO0FBQzNFLDBFQUEwRTtBQUMxRSxnQ0FBZ0M7QUFDaEMsRUFBRTtBQUNGLDZFQUE2RTtBQUM3RSx1RUFBdUU7QUFDdkUseUJBQXlCO0FBQ3pCLEVBQUU7QUFDRiw2RUFBNkU7QUFDN0UsZ0ZBQWdGO0FBQ2hGLGlGQUFpRjtBQUNqRiwwREFBMEQ7QUFFMUQ7Ozs7Ozs7Ozs7R0FVRztBQUNVLFFBQUEsc0JBQXNCLEdBQUcsUUFBUSxDQUFDO0FBRS9DOztHQUVHO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsY0FBc0I7SUFDMUQsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDckQsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDLDhCQUFzQixDQUFDLENBQUM7SUFFM0QscURBQXFEO0lBQ3JELElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsRUFBRTtRQUMvQyxNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxnQkFBZ0IsMENBQTBDLENBQUMsQ0FBQztLQUNuSDtJQUVELDJEQUEyRDtJQUMzRCxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLEVBQUU7UUFDL0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxrRkFBa0YsOEJBQXNCLEVBQUUsQ0FBQyxDQUFDO0tBQzdIO0FBQ0gsQ0FBQztBQWJELHNEQWFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQix1QkFBdUIsQ0FBQyxRQUEwQjtJQUVoRSxJQUFJLFFBQVEsQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFO1FBQ2pDLGdGQUFnRjtRQUNoRixRQUFRLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0tBQ25EO0lBRUQsSUFBSSxRQUFRLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRTtRQUNqQyxlQUFlO1FBQ2YscURBQXFEO1FBQ3JELG1FQUFtRTtRQUNuRSxRQUFRLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0tBQ25EO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQWZELDBEQWVDO0FBRUQsU0FBUyxXQUFXLENBQUMsT0FBZTtJQUNsQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixPQUFPLGFBQWEsQ0FBQyxDQUFDO0tBQzNEO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLGtCQUFrQixDQUFDLFFBQTBCLEVBQUUsT0FBZTtJQUNyRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHNlbXZlciBmcm9tICdzZW12ZXInO1xuaW1wb3J0IHsgQXNzZW1ibHlNYW5pZmVzdCB9IGZyb20gJy4vY2xvdWQtYXNzZW1ibHknO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gICBSRUFEIFRISVMgRklSU1QgV0hFTiBDSEFOR0lORyBUSElTIEZJTEVcbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gWW91IG5lZWQgKGFuZCBvbmx5IG5lZWQpIHRvIGJ1bXAgdGhlIENMT1VEX0FTU0VNQkxZX1ZFUlNJT04gaWYgdGhlIGNsb3VkXG4vLyBhc3NlbWJseSBuZWVkcyBuZXcgZmVhdHVyZXMgZnJvbSB0aGUgQ0RLIENMSS4gRXhhbXBsZXM6IG5ldyBmaWVsZHMsIG5ld1xuLy8gYmVoYXZpb3IsIG5ldyBhcnRpZmFjdCB0eXBlcy5cbi8vXG4vLyBJZiB0aGF0IGhhcHBlbnMsIHlvdSBzZXQgdGhlIENMT1VEX0FTU0VNQkxZX1ZFUlNJT04gdG8gdGhlICpuZXh0KiAobm90IHRoZVxuLy8gY3VycmVudCEpIENESyB2ZXJzaW9uIHRoYXQgd2lsbCBiZSByZWxlYXNlZC4gVGhpcyBpcyBkb25lIHRvIHByb2R1Y2Vcbi8vIHVzZWZ1bCBlcnJvciBtZXNzYWdlcy5cbi8vXG4vLyBXaGVuIHlvdSBkbyB0aGlzLCB5b3Ugd2lsbCBmb3JjZSB1c2VycyBvZiBhIG5ldyBsaWJyYXJ5IHRvIHVwZ3JhZGUgdGhlIENMSVxuLy8gKGdvb2QpLCBidXQgVU5MRVNTIFlPVSBBTFNPIElNUExFTUVOVCAndXBncmFkZUFzc2VtYmx5TWFuaWZlc3QnIHlvdSB3aWxsIGFsc29cbi8vIGZvcmNlIHBlb3BsZSB3aG8gaGF2ZSBpbnN0YWxsZWQgYSBuZXdlciBDTEkgdG8gdXBncmFkZSB0aGVpciBsaWJyYXJpZXMgKGJhZCEpLlxuLy8gRG8gdGhhdCB0b28sIHVubGVzcyB5b3UgaGF2ZSBhIHZlcnkgZ29vZCByZWFzb24gbm90IHRvLlxuXG4vKipcbiAqIEJ1bXAgdGhpcyB0byB0aGUgbGlicmFyeSB2ZXJzaW9uIGlmIGFuZCBvbmx5IGlmIHRoZSBDWCBwcm90b2NvbCBjaGFuZ2VzLlxuICpcbiAqIFdlIGNvdWxkIGFsc28gaGF2ZSB1c2VkIDEsIDIsIDMsIC4uLiBoZXJlIHRvIGluZGljYXRlIHByb3RvY29sIHZlcnNpb25zLCBidXRcbiAqIHRob3NlIHRoZW4gc3RpbGwgbmVlZCB0byBiZSBtYXBwZWQgdG8gc29mdHdhcmUgdmVyc2lvbnMgdG8gYmUgdXNlZnVsLiBTbyB3ZVxuICogbWlnaHQgYXMgd2VsbCB1c2UgdGhlIHNvZnR3YXJlIHZlcnNpb24gYXMgcHJvdG9jb2wgdmVyc2lvbiBhbmQgaW1tZWRpYXRlbHlcbiAqIGdlbmVyYXRlIGEgdXNlZnVsIGVycm9yIG1lc3NhZ2UgZnJvbSB0aGlzLlxuICpcbiAqIE5vdGUgdGhhdCB0aGUgdmVyc2lvbnMgYXJlIG5vdCBjb21wYXJlZCBpbiBhIHNlbXZlciB3YXksIHRoZXkgYXJlIHVzZWQgYXNcbiAqIG9wYXF1ZSBvcmRlcmVkIHRva2Vucy5cbiAqL1xuZXhwb3J0IGNvbnN0IENMT1VEX0FTU0VNQkxZX1ZFUlNJT04gPSAnMS4xNi4wJztcblxuLyoqXG4gKiBMb29rIGF0IHRoZSB0eXBlIG9mIHJlc3BvbnNlIHdlIGdldCBhbmQgdXBncmFkZSBpdCB0byB0aGUgbGF0ZXN0IGV4cGVjdGVkIHZlcnNpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeU1hbmlmZXN0VmVyc2lvbihtYW5pZmV0VmVyc2lvbjogc3RyaW5nKSB7XG4gIGNvbnN0IGZyYW1ld29ya1ZlcnNpb24gPSBwYXJzZVNlbXZlcihtYW5pZmV0VmVyc2lvbik7XG4gIGNvbnN0IHRvb2xraXRWZXJzaW9uID0gcGFyc2VTZW12ZXIoQ0xPVURfQVNTRU1CTFlfVkVSU0lPTik7XG5cbiAgLy8gaWYgZnJhbWV3b3JrID4gY2xpLCB3ZSByZXF1aXJlIGEgbmV3ZXIgY2xpIHZlcnNpb25cbiAgaWYgKHNlbXZlci5ndChmcmFtZXdvcmtWZXJzaW9uLCB0b29sa2l0VmVyc2lvbikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEEgbmV3ZXIgdmVyc2lvbiBvZiB0aGUgQ0RLIENMSSAoPj0gJHtmcmFtZXdvcmtWZXJzaW9ufSkgaXMgbmVjZXNzYXJ5IHRvIGludGVyYWN0IHdpdGggdGhpcyBhcHBgKTtcbiAgfVxuXG4gIC8vIGlmIGZyYW1ld29yayA8IGNsaSwgd2UgcmVxdWlyZSBhIG5ld2VyIGZyYW1ld29yayB2ZXJzaW9uXG4gIGlmIChzZW12ZXIubHQoZnJhbWV3b3JrVmVyc2lvbiwgdG9vbGtpdFZlcnNpb24pKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgQ0RLIENMSSB5b3UgYXJlIHVzaW5nIHJlcXVpcmVzIHlvdXIgYXBwIHRvIHVzZSBDREsgbW9kdWxlcyB3aXRoIHZlcnNpb24gPj0gJHtDTE9VRF9BU1NFTUJMWV9WRVJTSU9OfWApO1xuICB9XG59XG5cbi8qKlxuICogVXBncmFkZSBvbGQgbWFuaWZlc3QgdmVyc2lvbnMgdG8gbGF0ZXIgbWFuaWZlc3QgdmVyc2lvbiBoZXJlIChpZiBwb3NzaWJsZSkuXG4gKlxuICogVXNlIHRoaXMgdG8gbWFrZSB0aGUgdG9vbGtpdCByZWNvZ25pemUgb2xkIGFzc2VtYmx5IHZlcnNpb25zLiBUaGlzIGZ1bmN0aW9uIHNob3VsZFxuICogYWRkIG5ld2x5IHJlcXVpcmVkIGZpZWxkcyB3aXRoIGFwcHJvcHJpYXRlIGRlZmF1bHQgdmFsdWVzLCBldGMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1cGdyYWRlQXNzZW1ibHlNYW5pZmVzdChtYW5pZmVzdDogQXNzZW1ibHlNYW5pZmVzdCk6IEFzc2VtYmx5TWFuaWZlc3Qge1xuXG4gIGlmIChtYW5pZmVzdC52ZXJzaW9uID09PSAnMC4zNi4wJykge1xuICAgIC8vIEFkZGluZyBhIG5ldyBhcnRpZmFjdCB0eXBlLCBvbGQgdmVyc2lvbiB3aWxsIG5vdCBoYXZlIGl0IHNvIHBhaW5sZXNzIHVwZ3JhZGUuXG4gICAgbWFuaWZlc3QgPSBqdXN0VXBncmFkZVZlcnNpb24obWFuaWZlc3QsICcxLjEwLjAnKTtcbiAgfVxuXG4gIGlmIChtYW5pZmVzdC52ZXJzaW9uID09PSAnMS4xMC4wJykge1xuICAgIC8vIFR3byBjaGFuZ2VzOlxuICAgIC8vICogQmFja3dhcmRzLWNvbXBhdGlibGUgY2hhbmdlcyB0byB0aGUgVlBDIHByb3ZpZGVyXG4gICAgLy8gKiBBZGRlZCBBTUkgY29udGV4dCBwcm92aWRlcjogb2xkIGFzc2VtYmxpZXMgd29uJ3QgcmVmZXJlbmNlIGl0LlxuICAgIG1hbmlmZXN0ID0ganVzdFVwZ3JhZGVWZXJzaW9uKG1hbmlmZXN0LCAnMS4xNi4wJyk7XG4gIH1cblxuICByZXR1cm4gbWFuaWZlc3Q7XG59XG5cbmZ1bmN0aW9uIHBhcnNlU2VtdmVyKHZlcnNpb246IHN0cmluZykge1xuICBjb25zdCB2ZXIgPSBzZW12ZXIuY29lcmNlKHZlcnNpb24pO1xuICBpZiAoIXZlcikge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IHBhcnNlIFwiJHt2ZXJzaW9ufVwiIGFzIHNlbXZlcmApO1xuICB9XG5cbiAgcmV0dXJuIHZlcjtcbn1cblxuLyoqXG4gKiBSZXR1cm4gYSBjb3B5IG9mIHRoZSBtYW5pZmVzdCB3aXRoIGp1c3QgdGhlIHZlcnNpb24gZmllbGQgdXBkYXRlZFxuICpcbiAqIFVzZWZ1bCBpZiB0aGVyZSBhcmUgcHJvdG9jb2wgY2hhbmdlcyB0aGF0IGFyZSBhdXRvbWF0aWNhbGx5IGJhY2t3YXJkc1xuICogY29tcGF0aWJsZS5cbiAqL1xuZnVuY3Rpb24ganVzdFVwZ3JhZGVWZXJzaW9uKG1hbmlmZXN0OiBBc3NlbWJseU1hbmlmZXN0LCB2ZXJzaW9uOiBzdHJpbmcpOiBBc3NlbWJseU1hbmlmZXN0IHtcbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIG1hbmlmZXN0LCB7IHZlcnNpb24gfSk7XG59XG4iXX0=

@@ -6,35 +6,33 @@ #!/usr/bin/env node

var argv = process.argv.slice(2)
const argv = process.argv.slice(2)
var versions = []
let versions = []
var range = []
const range = []
var inc = null
let inc = null
var version = require('../package.json').version
const version = require('../package.json').version
var loose = false
let loose = false
var includePrerelease = false
let includePrerelease = false
var coerce = false
let coerce = false
var rtl = false
let rtl = false
var identifier
let identifier
var semver = require('../semver')
const semver = require('../')
var reverse = false
let reverse = false
var options = {}
const options = {}
main()
function main () {
const main = () => {
if (!argv.length) return help()
while (argv.length) {
var a = argv.shift()
var indexOfEqualSign = a.indexOf('=')
let a = argv.shift()
const indexOfEqualSign = a.indexOf('=')
if (indexOfEqualSign !== -1) {

@@ -91,7 +89,7 @@ a = a.slice(0, indexOfEqualSign)

var options = { loose: loose, includePrerelease: includePrerelease, rtl: rtl }
const options = { loose: loose, includePrerelease: includePrerelease, rtl: rtl }
versions = versions.map(function (v) {
versions = versions.map((v) => {
return coerce ? (semver.coerce(v, options) || { version: v }).version : v
}).filter(function (v) {
}).filter((v) => {
return semver.valid(v)

@@ -102,4 +100,4 @@ })

for (var i = 0, l = range.length; i < l; i++) {
versions = versions.filter(function (v) {
for (let i = 0, l = range.length; i < l; i++) {
versions = versions.filter((v) => {
return semver.satisfies(v, range[i], options)

@@ -112,3 +110,4 @@ })

function failInc () {
const failInc = () => {
console.error('--inc can only be used on a single version with no range')

@@ -118,62 +117,62 @@ fail()

function fail () { process.exit(1) }
const fail = () => process.exit(1)
function success () {
var compare = reverse ? 'rcompare' : 'compare'
versions.sort(function (a, b) {
const success = () => {
const compare = reverse ? 'rcompare' : 'compare'
versions.sort((a, b) => {
return semver[compare](a, b, options)
}).map(function (v) {
}).map((v) => {
return semver.clean(v, options)
}).map(function (v) {
}).map((v) => {
return inc ? semver.inc(v, inc, options, identifier) : v
}).forEach(function (v, i, _) { console.log(v) })
}).forEach((v, i, _) => { console.log(v) })
}
function help () {
console.log(['SemVer ' + version,
'',
'A JavaScript implementation of the https://semver.org/ specification',
'Copyright Isaac Z. Schlueter',
'',
'Usage: semver [options] <version> [<version> [...]]',
'Prints valid versions sorted by SemVer precedence',
'',
'Options:',
'-r --range <range>',
' Print versions that match the specified range.',
'',
'-i --increment [<level>]',
' Increment a version by the specified level. Level can',
' be one of: major, minor, patch, premajor, preminor,',
" prepatch, or prerelease. Default level is 'patch'.",
' Only one version may be specified.',
'',
'--preid <identifier>',
' Identifier to be used to prefix premajor, preminor,',
' prepatch or prerelease version increments.',
'',
'-l --loose',
' Interpret versions and ranges loosely',
'',
'-p --include-prerelease',
' Always include prerelease versions in range matching',
'',
'-c --coerce',
' Coerce a string into SemVer if possible',
' (does not imply --loose)',
'',
'--rtl',
' Coerce version strings right to left',
'',
'--ltr',
' Coerce version strings left to right (default)',
'',
'Program exits successfully if any valid version satisfies',
'all supplied ranges, and prints all satisfying versions.',
'',
'If no satisfying versions are found, then exits failure.',
'',
'Versions are printed in ascending order, so supplying',
'multiple versions to the utility will just sort them.'
].join('\n'))
}
const help = () => console.log(
`SemVer ${version}
A JavaScript implementation of the https://semver.org/ specification
Copyright Isaac Z. Schlueter
Usage: semver [options] <version> [<version> [...]]
Prints valid versions sorted by SemVer precedence
Options:
-r --range <range>
Print versions that match the specified range.
-i --increment [<level>]
Increment a version by the specified level. Level can
be one of: major, minor, patch, premajor, preminor,
prepatch, or prerelease. Default level is 'patch'.
Only one version may be specified.
--preid <identifier>
Identifier to be used to prefix premajor, preminor,
prepatch or prerelease version increments.
-l --loose
Interpret versions and ranges loosely
-p --include-prerelease
Always include prerelease versions in range matching
-c --coerce
Coerce a string into SemVer if possible
(does not imply --loose)
--rtl
Coerce version strings right to left
--ltr
Coerce version strings left to right (default)
Program exits successfully if any valid version satisfies
all supplied ranges, and prints all satisfying versions.
If no satisfying versions are found, then exits failure.
Versions are printed in ascending order, so supplying
multiple versions to the utility will just sort them.`)
main()
# changes log
## 7.1.0
* Add `require('semver/preload')` to load the entire module without using
lazy getter methods.
## 7.0.0
* Refactor module into separate files for better tree-shaking
* Drop support for very old node versions, use const/let, `=>` functions,
and classes.
## 6.3.0
* Expose the token enum on the exports
## 6.2.0

@@ -4,0 +19,0 @@

{
"name": "semver",
"version": "6.3.0",
"version": "7.1.1",
"description": "The semantic version parser used by npm.",
"main": "semver.js",
"main": "index.js",
"scripts": {
"test": "tap",
"snap": "tap",
"preversion": "npm test",

@@ -13,3 +14,3 @@ "postversion": "npm publish",

"devDependencies": {
"tap": "^14.3.1"
"tap": "^14.10.2"
},

@@ -24,7 +25,16 @@ "license": "ISC",

"range.bnf",
"semver.js"
"classes",
"functions",
"internal",
"ranges",
"index.js",
"preload.js"
],
"tap": {
"check-coverage": true
"check-coverage": true,
"coverage-map": "map.js"
},
"engines": {
"node": ">=10"
}
}

@@ -420,3 +420,3 @@ semver(1) -- The semantic versioner for npm

(`10000000000000000.4.7.4` becomes `4.7.4`). The maximum value for any
semver component is `Integer.MAX_SAFE_INTEGER || (2**53 - 1)`; higher value
semver component is `Number.MAX_SAFE_INTEGER || (2**53 - 1)`; higher value
components are invalid (`9999999999999999.4.7.4` is likely invalid).

@@ -434,3 +434,5 @@

This will return a cleaned and trimmed semver version. If the provided version is not valid a null will be returned. This does not work for ranges.
This will return a cleaned and trimmed semver version. If the provided
version is not valid a null will be returned. This does not work for
ranges.

@@ -446,1 +448,55 @@ ex.

* `s.clean('~1.0.0')`: `null`
## Exported Modules
<!--
TODO: Make sure that all of these items are documented (classes aren't,
eg), and then pull the module name into the documentation for that specific
thing.
-->
You may pull in just the part of this semver utility that you need, if you
are sensitive to packing and tree-shaking concerns. The main
`require('semver')` export uses getter functions to lazily load the parts
of the API that are used.
The following modules are available:
* `require('semver')`
* `require('semver/classes')`
* `require('semver/classes/comparator')`
* `require('semver/classes/range')`
* `require('semver/classes/semver')`
* `require('semver/functions/clean')`
* `require('semver/functions/cmp')`
* `require('semver/functions/coerce')`
* `require('semver/functions/compare')`
* `require('semver/functions/compare-build')`
* `require('semver/functions/compare-loose')`
* `require('semver/functions/diff')`
* `require('semver/functions/eq')`
* `require('semver/functions/gt')`
* `require('semver/functions/gte')`
* `require('semver/functions/inc')`
* `require('semver/functions/lt')`
* `require('semver/functions/lte')`
* `require('semver/functions/major')`
* `require('semver/functions/minor')`
* `require('semver/functions/neq')`
* `require('semver/functions/parse')`
* `require('semver/functions/patch')`
* `require('semver/functions/prerelease')`
* `require('semver/functions/rcompare')`
* `require('semver/functions/rsort')`
* `require('semver/functions/satisfies')`
* `require('semver/functions/sort')`
* `require('semver/functions/valid')`
* `require('semver/ranges/gtr')`
* `require('semver/ranges/intersects')`
* `require('semver/ranges/ltr')`
* `require('semver/ranges/max-satisfying')`
* `require('semver/ranges/min-satisfying')`
* `require('semver/ranges/min-version')`
* `require('semver/ranges/outside')`
* `require('semver/ranges/to-comparators')`
* `require('semver/ranges/valid')`
{
"name": "@aws-cdk/cx-api",
"version": "1.19.0",
"version": "1.20.0",
"description": "Cloud executable protocol",

@@ -48,3 +48,3 @@ "main": "lib/index.js",

"dependencies": {
"semver": "^6.3.0"
"semver": "^7.1.1"
},

@@ -60,11 +60,17 @@ "jest": {

}
}
},
"collectCoverage": true,
"coverageReporters": [
"lcov",
"html",
"text-summary"
]
},
"license": "Apache-2.0",
"devDependencies": {
"@types/jest": "^24.0.23",
"@types/jest": "^24.0.25",
"@types/semver": "^6.2.0",
"cdk-build-tools": "1.19.0",
"cdk-build-tools": "1.20.0",
"jest": "^24.9.0",
"pkglint": "1.19.0"
"pkglint": "1.20.0"
},

@@ -71,0 +77,0 @@ "repository": {

@@ -113,2 +113,2 @@ "use strict";

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtYXNzZW1ibHktYnVpbGRlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2xvdWQtYXNzZW1ibHktYnVpbGRlci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEseUJBQTBCO0FBQzFCLHlCQUEwQjtBQUMxQiw2QkFBOEI7QUFDOUIsZ0NBQTREO0FBQzVELGtEQUEyRDtBQUUzRCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO0lBQ2xDLFFBQVE7SUFDUixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLDhCQUE4QixDQUFDLENBQUMsQ0FBQztJQUN0RixNQUFNLE9BQU8sR0FBRyxJQUFJLDBCQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELE1BQU0sWUFBWSxHQUFHLG1CQUFtQixDQUFDO0lBRXpDLE9BQU87SUFDUCxPQUFPLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFO1FBQ3ZDLElBQUksRUFBRSxrQkFBWSxDQUFDLHdCQUF3QjtRQUMzQyxXQUFXLEVBQUUseUJBQXlCO1FBQ3RDLFlBQVksRUFBRSxDQUFDLGtCQUFrQixDQUFDO1FBQ2xDLFFBQVEsRUFBRTtZQUNSLEdBQUcsRUFBRSxDQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBRTtTQUMvQztRQUNELFVBQVUsRUFBRTtZQUNWLFlBQVk7WUFDWixVQUFVLEVBQUU7Z0JBQ1YsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsS0FBSyxFQUFFLEtBQUs7YUFDYjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUU7UUFDbkMsSUFBSSxFQUFFLGtCQUFZLENBQUMsUUFBUTtRQUMzQixVQUFVLEVBQUU7WUFDVixJQUFJLEVBQUUsZUFBZTtTQUN0QjtLQUNGLENBQUMsQ0FBQztJQUVILE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFDakIsR0FBRyxFQUFFLEtBQUs7UUFDVixRQUFRLEVBQUUsa0JBQWtCO1FBQzVCLEtBQUssRUFBRTtZQUNMLENBQUMsRUFBRSxHQUFHO1lBQ04sQ0FBQyxFQUFFLENBQUM7U0FDTDtLQUNGLENBQUMsQ0FBQztJQUVILE9BQU8sQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUU7UUFDdEMsSUFBSSxFQUFFLGtCQUFZLENBQUMsd0JBQXdCO1FBQzNDLFdBQVcsRUFBRSxzQkFBc0I7UUFDbkMsVUFBVSxFQUFFO1lBQ1YsWUFBWTtTQUNiO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN2RSxTQUFTLEVBQUU7WUFDVCxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLGdCQUFnQjthQUN2QjtTQUNGO0tBQ0YsQ0FBQyxDQUFDLENBQUM7SUFFSixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUVuQyxPQUFPO0lBQ1Asa0NBQWtDO0lBQ2xDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDN0IsT0FBTyxFQUFFLG1DQUFzQjtRQUMvQixPQUFPLEVBQUU7WUFDUCxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1NBQ3RFO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsZUFBZSxFQUFFO2dCQUNmLElBQUksRUFBRSxVQUFVO2dCQUNoQixVQUFVLEVBQUU7b0JBQ1YsSUFBSSxFQUFFLGVBQWU7aUJBQ3RCO2FBQ0Y7WUFDRCxtQkFBbUIsRUFBRTtnQkFDbkIsSUFBSSxFQUFFLDBCQUEwQjtnQkFDaEMsV0FBVyxFQUFFLHlCQUF5QjtnQkFDdEMsWUFBWSxFQUFFLENBQUMsa0JBQWtCLENBQUM7Z0JBQ2xDLFFBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBRSxFQUFFO2dCQUM1RCxVQUFVLEVBQUU7b0JBQ1YsWUFBWSxFQUFFLG1CQUFtQjtvQkFDakMsVUFBVSxFQUFFO3dCQUNWLEtBQUssRUFBRSxNQUFNO3dCQUNiLEtBQUssRUFBRSxLQUFLO3FCQUNiO2lCQUNGO2FBQ0Y7WUFDRCxrQkFBa0IsRUFBRTtnQkFDbEIsSUFBSSxFQUFFLDBCQUEwQjtnQkFDaEMsV0FBVyxFQUFFLHNCQUFzQjtnQkFDbkMsVUFBVSxFQUFFLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFO2FBQ2xEO1NBQ0Y7S0FDRixDQUFDLENBQUM7SUFFSCxpQ0FBaUM7SUFDakMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDekUsU0FBUyxFQUFFO1lBQ1QsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxnQkFBZ0I7YUFDdkI7U0FDRjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLDRCQUE0QixFQUFFLEdBQUcsRUFBRTtJQUN0QyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSwwQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ3BGLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLG1FQUFtRSxFQUFFLEdBQUcsRUFBRTtJQUM3RSxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLDhCQUE4QixDQUFDLENBQUMsQ0FBQztJQUN0RixNQUFNLE9BQU8sR0FBRyxJQUFJLDBCQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRWpELE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsRUFBRyxFQUFFLENBQUMsQ0FBQztJQUM3RSxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLEVBQUcsRUFBRSxDQUFDLENBQUM7SUFFN0UsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBRXpDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgPSByZXF1aXJlKCdmcycpO1xuaW1wb3J0IG9zID0gcmVxdWlyZSgnb3MnKTtcbmltcG9ydCBwYXRoID0gcmVxdWlyZSgncGF0aCcpO1xuaW1wb3J0IHsgQXJ0aWZhY3RUeXBlLCBDbG91ZEFzc2VtYmx5QnVpbGRlciB9IGZyb20gJy4uL2xpYic7XG5pbXBvcnQgeyBDTE9VRF9BU1NFTUJMWV9WRVJTSU9OIH0gZnJvbSAnLi4vbGliL3ZlcnNpb25pbmcnO1xuXG50ZXN0KCdjbG91ZCBhc3NlbWJseSBidWlsZGVyJywgKCkgPT4ge1xuICAvLyBHSVZFTlxuICBjb25zdCBvdXRkaXIgPSBmcy5ta2R0ZW1wU3luYyhwYXRoLmpvaW4ob3MudG1wZGlyKCksICdjbG91ZC1hc3NlbWJseS1idWlsZGVyLXRlc3RzJykpO1xuICBjb25zdCBzZXNzaW9uID0gbmV3IENsb3VkQXNzZW1ibHlCdWlsZGVyKG91dGRpcik7XG4gIGNvbnN0IHRlbXBsYXRlRmlsZSA9ICdmb28udGVtcGxhdGUuanNvbic7XG5cbiAgLy8gV0hFTlxuICBzZXNzaW9uLmFkZEFydGlmYWN0KCdteS1maXJzdC1hcnRpZmFjdCcsIHtcbiAgICB0eXBlOiBBcnRpZmFjdFR5cGUuQVdTX0NMT1VERk9STUFUSU9OX1NUQUNLLFxuICAgIGVudmlyb25tZW50OiAnYXdzOi8vMTIyMjM0NC91cy1lYXN0LTEnLFxuICAgIGRlcGVuZGVuY2llczogWydtaW5pbWFsLWFydGlmYWN0J10sXG4gICAgbWV0YWRhdGE6IHtcbiAgICAgIGZvbzogWyB7IGRhdGE6IDEyMywgdHlwZTogJ2ZvbycsIHRyYWNlOiBbXSB9IF1cbiAgICB9LFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIHRlbXBsYXRlRmlsZSxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgcHJvcDE6ICcxMjM0JyxcbiAgICAgICAgcHJvcDI6ICc1NTUnXG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgc2Vzc2lvbi5hZGRBcnRpZmFjdCgndHJlZS1hcnRpZmFjdCcsIHtcbiAgICB0eXBlOiBBcnRpZmFjdFR5cGUuQ0RLX1RSRUUsXG4gICAgcHJvcGVydGllczoge1xuICAgICAgZmlsZTogJ2Zvby50cmVlLmpzb24nXG4gICAgfVxuICB9KTtcblxuICBzZXNzaW9uLmFkZE1pc3Npbmcoe1xuICAgIGtleTogJ2ZvbycsXG4gICAgcHJvdmlkZXI6ICdjb250ZXh0LXByb3ZpZGVyJyxcbiAgICBwcm9wczoge1xuICAgICAgYTogJ0EnLFxuICAgICAgYjogMlxuICAgIH1cbiAgfSk7XG5cbiAgc2Vzc2lvbi5hZGRBcnRpZmFjdCgnbWluaW1hbC1hcnRpZmFjdCcsIHtcbiAgICB0eXBlOiBBcnRpZmFjdFR5cGUuQVdTX0NMT1VERk9STUFUSU9OX1NUQUNLLFxuICAgIGVudmlyb25tZW50OiAnYXdzOi8vMTExL2hlbG8td29ybGQnLFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIHRlbXBsYXRlRmlsZVxuICAgIH1cbiAgfSk7XG5cbiAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oc2Vzc2lvbi5vdXRkaXIsIHRlbXBsYXRlRmlsZSksIEpTT04uc3RyaW5naWZ5KHtcbiAgICBSZXNvdXJjZXM6IHtcbiAgICAgIE15VG9waWM6IHtcbiAgICAgICAgVHlwZTogJ0FXUzo6UzM6OlRvcGljJ1xuICAgICAgfVxuICAgIH1cbiAgfSkpO1xuXG4gIGNvbnN0IGFzc2VtYmx5ID0gc2Vzc2lvbi5idWlsZEFzc2VtYmx5KCk7XG4gIGNvbnN0IG1hbmlmZXN0ID0gYXNzZW1ibHkubWFuaWZlc3Q7XG5cbiAgLy8gVEhFTlxuICAvLyB2ZXJpZnkgdGhlIG1hbmlmZXN0IGxvb2tzIHJpZ2h0XG4gIGV4cGVjdChtYW5pZmVzdCkudG9TdHJpY3RFcXVhbCh7XG4gICAgdmVyc2lvbjogQ0xPVURfQVNTRU1CTFlfVkVSU0lPTixcbiAgICBtaXNzaW5nOiBbXG4gICAgICB7IGtleTogJ2ZvbycsIHByb3ZpZGVyOiAnY29udGV4dC1wcm92aWRlcicsIHByb3BzOiB7IGE6ICdBJywgYjogMiB9IH1cbiAgICBdLFxuICAgIGFydGlmYWN0czoge1xuICAgICAgJ3RyZWUtYXJ0aWZhY3QnOiB7XG4gICAgICAgIHR5cGU6ICdjZGs6dHJlZScsXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBmaWxlOiAnZm9vLnRyZWUuanNvbidcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgICdteS1maXJzdC1hcnRpZmFjdCc6IHtcbiAgICAgICAgdHlwZTogJ2F3czpjbG91ZGZvcm1hdGlvbjpzdGFjaycsXG4gICAgICAgIGVudmlyb25tZW50OiAnYXdzOi8vMTIyMjM0NC91cy1lYXN0LTEnLFxuICAgICAgICBkZXBlbmRlbmNpZXM6IFsnbWluaW1hbC1hcnRpZmFjdCddLFxuICAgICAgICBtZXRhZGF0YTogeyBmb286IFsgeyBkYXRhOiAxMjMsIHR5cGU6ICdmb28nLCB0cmFjZTogW10gfSBdIH0sXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICB0ZW1wbGF0ZUZpbGU6ICdmb28udGVtcGxhdGUuanNvbicsXG4gICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgcHJvcDE6ICcxMjM0JyxcbiAgICAgICAgICAgIHByb3AyOiAnNTU1J1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgJ21pbmltYWwtYXJ0aWZhY3QnOiB7XG4gICAgICAgIHR5cGU6ICdhd3M6Y2xvdWRmb3JtYXRpb246c3RhY2snLFxuICAgICAgICBlbnZpcm9ubWVudDogJ2F3czovLzExMS9oZWxvLXdvcmxkJyxcbiAgICAgICAgcHJvcGVydGllczogeyB0ZW1wbGF0ZUZpbGU6ICdmb28udGVtcGxhdGUuanNvbicgfVxuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgLy8gdmVyaWZ5IHdlIGhhdmUgYSB0ZW1wbGF0ZSBmaWxlXG4gIGV4cGVjdChhc3NlbWJseS5nZXRTdGFja0J5TmFtZSgnbWluaW1hbC1hcnRpZmFjdCcpLnRlbXBsYXRlKS50b1N0cmljdEVxdWFsKHtcbiAgICBSZXNvdXJjZXM6IHtcbiAgICAgIE15VG9waWM6IHtcbiAgICAgICAgVHlwZTogJ0FXUzo6UzM6OlRvcGljJ1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG59KTtcblxudGVzdCgnb3V0ZGlyIG11c3QgYmUgYSBkaXJlY3RvcnknLCAoKSA9PiB7XG4gIGV4cGVjdCgoKSA9PiBuZXcgQ2xvdWRBc3NlbWJseUJ1aWxkZXIoX19maWxlbmFtZSkpLnRvVGhyb3coJ211c3QgYmUgYSBkaXJlY3RvcnknKTtcbn0pO1xuXG50ZXN0KCdkdXBsaWNhdGUgbWlzc2luZyB2YWx1ZXMgd2l0aCB0aGUgc2FtZSBrZXkgYXJlIG9ubHkgcmVwb3J0ZWQgb25jZScsICgpID0+IHtcbiAgY29uc3Qgb3V0ZGlyID0gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKG9zLnRtcGRpcigpLCAnY2xvdWQtYXNzZW1ibHktYnVpbGRlci10ZXN0cycpKTtcbiAgY29uc3Qgc2Vzc2lvbiA9IG5ldyBDbG91ZEFzc2VtYmx5QnVpbGRlcihvdXRkaXIpO1xuXG4gIHNlc3Npb24uYWRkTWlzc2luZyh7IGtleTogJ2ZvbycsIHByb3ZpZGVyOiAnY29udGV4dC1wcm92aWRlcicsIHByb3BzOiB7IH0gfSk7XG4gIHNlc3Npb24uYWRkTWlzc2luZyh7IGtleTogJ2ZvbycsIHByb3ZpZGVyOiAnY29udGV4dC1wcm92aWRlcicsIHByb3BzOiB7IH0gfSk7XG5cbiAgY29uc3QgYXNzZW1ibHkgPSBzZXNzaW9uLmJ1aWxkQXNzZW1ibHkoKTtcblxuICBleHBlY3QoYXNzZW1ibHkubWFuaWZlc3QubWlzc2luZyEubGVuZ3RoKS50b0VxdWFsKDEpO1xufSk7Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtYXNzZW1ibHktYnVpbGRlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2xvdWQtYXNzZW1ibHktYnVpbGRlci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEseUJBQXlCO0FBQ3pCLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsZ0NBQTREO0FBQzVELGtEQUEyRDtBQUUzRCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO0lBQ2xDLFFBQVE7SUFDUixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLDhCQUE4QixDQUFDLENBQUMsQ0FBQztJQUN0RixNQUFNLE9BQU8sR0FBRyxJQUFJLDBCQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELE1BQU0sWUFBWSxHQUFHLG1CQUFtQixDQUFDO0lBRXpDLE9BQU87SUFDUCxPQUFPLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFO1FBQ3ZDLElBQUksRUFBRSxrQkFBWSxDQUFDLHdCQUF3QjtRQUMzQyxXQUFXLEVBQUUseUJBQXlCO1FBQ3RDLFlBQVksRUFBRSxDQUFDLGtCQUFrQixDQUFDO1FBQ2xDLFFBQVEsRUFBRTtZQUNSLEdBQUcsRUFBRSxDQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBRTtTQUMvQztRQUNELFVBQVUsRUFBRTtZQUNWLFlBQVk7WUFDWixVQUFVLEVBQUU7Z0JBQ1YsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsS0FBSyxFQUFFLEtBQUs7YUFDYjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUU7UUFDbkMsSUFBSSxFQUFFLGtCQUFZLENBQUMsUUFBUTtRQUMzQixVQUFVLEVBQUU7WUFDVixJQUFJLEVBQUUs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LENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLDhCQUE4QixDQUFDLENBQUMsQ0FBQztJQUN0RixNQUFNLE9BQU8sR0FBRyxJQUFJLDBCQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRWpELE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsRUFBRyxFQUFFLENBQUMsQ0FBQztJQUM3RSxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLEVBQUcsRUFBRSxDQUFDLENBQUM7SUFFN0UsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBRXpDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgQXJ0aWZhY3RUeXBlLCBDbG91ZEFzc2VtYmx5QnVpbGRlciB9IGZyb20gJy4uL2xpYic7XG5pbXBvcnQgeyBDTE9VRF9BU1NFTUJMWV9WRVJTSU9OIH0gZnJvbSAnLi4vbGliL3ZlcnNpb25pbmcnO1xuXG50ZXN0KCdjbG91ZCBhc3NlbWJseSBidWlsZGVyJywgKCkgPT4ge1xuICAvLyBHSVZFTlxuICBjb25zdCBvdXRkaXIgPSBmcy5ta2R0ZW1wU3luYyhwYXRoLmpvaW4ob3MudG1wZGlyKCksICdjbG91ZC1hc3NlbWJseS1idWlsZGVyLXRlc3RzJykpO1xuICBjb25zdCBzZXNzaW9uID0gbmV3IENsb3VkQXNzZW1ibHlCdWlsZGVyKG91dGRpcik7XG4gIGNvbnN0IHRlbXBsYXRlRmlsZSA9ICdmb28udGVtcGxhdGUuanNvbic7XG5cbiAgLy8gV0hFTlxuICBzZXNzaW9uLmFkZEFydGlmYWN0KCdteS1maXJzdC1hcnRpZmFjdCcsIHtcbiAgICB0eXBlOiBBcnRpZmFjdFR5cGUuQVdTX0NMT1VERk9STUFUSU9OX1NUQUNLLFxuICAgIGVudmlyb25tZW50OiAnYXdzOi8vMTIyMjM0NC91cy1lYXN0LTEnLFxuICAgIGRlcGVuZGVuY2llczogWydtaW5pbWFsLWFydGlmYWN0J10sXG4gICAgbWV0YWRhdGE6IHtcbiAgICAgIGZvbzogWyB7IGRhdGE6IDEyMywgdHlwZTogJ2ZvbycsIHRyYWNlOiBbXSB9IF1cbiAgICB9LFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIHRlbXBsYXRlRmlsZSxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgcHJvcDE6ICcxMjM0JyxcbiAgICAgICAgcHJvcDI6ICc1NTUnXG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgc2Vzc2lvbi5hZGRBcnRpZmFjdCgndHJlZS1hcnRpZmFjdCcsIHtcbiAgICB0eXBlOiBBcnRpZmFjdFR5cGUuQ0RLX1RSRUUsXG4gICAgcHJvcGVydGllczoge1xuICAgICAgZmlsZTogJ2Zvby50cmVlLmpzb24nXG4gICAgfVxuICB9KTtcblxuICBzZXNzaW9uLmFkZE1pc3Npbmcoe1xuICAgIGtleTogJ2ZvbycsXG4gICAgcHJvdmlkZXI6ICdjb250ZXh0LXByb3ZpZGVyJyxcbiAgICBwcm9wczoge1xuICAgICAgYTogJ0EnLFxuICAgICAgYjogMlxuICAgIH1cbiAgfSk7XG5cbiAgc2Vzc2lvbi5hZGRBcnRpZmFjdCgnbWluaW1hbC1hcnRpZmFjdCcsIHtcbiAgICB0eXBlOiBBcnRpZmFjdFR5cGUuQVdTX0NMT1VERk9STUFUSU9OX1NUQUNLLFxuICAgIGVudmlyb25tZW50OiAnYXdzOi8vMTExL2hlbG8td29ybGQnLFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIHRlbXBsYXRlRmlsZVxuICAgIH1cbiAgfSk7XG5cbiAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oc2Vzc2lvbi5vdXRkaXIsIHRlbXBsYXRlRmlsZSksIEpTT04uc3RyaW5naWZ5KHtcbiAgICBSZXNvdXJjZXM6IHtcbiAgICAgIE15VG9waWM6IHtcbiAgICAgICAgVHlwZTogJ0FXUzo6UzM6OlRvcGljJ1xuICAgICAgfVxuICAgIH1cbiAgfSkpO1xuXG4gIGNvbnN0IGFzc2VtYmx5ID0gc2Vzc2lvbi5idWlsZEFzc2VtYmx5KCk7XG4gIGNvbnN0IG1hbmlmZXN0ID0gYXNzZW1ibHkubWFuaWZlc3Q7XG5cbiAgLy8gVEhFTlxuICAvLyB2ZXJpZnkgdGhlIG1hbmlmZXN0IGxvb2tzIHJpZ2h0XG4gIGV4cGVjdChtYW5pZmVzdCkudG9TdHJpY3RFcXVhbCh7XG4gICAgdmVyc2lvbjogQ0xPVURfQVNTRU1CTFlfVkVSU0lPTixcbiAgICBtaXNzaW5nOiBbXG4gICAgICB7IGtleTogJ2ZvbycsIHByb3ZpZGVyOiAnY29udGV4dC1wcm92aWRlcicsIHByb3BzOiB7IGE6ICdBJywgYjogMiB9IH1cbiAgICBdLFxuICAgIGFydGlmYWN0czoge1xuICAgICAgJ3RyZWUtYXJ0aWZhY3QnOiB7XG4gICAgICAgIHR5cGU6ICdjZGs6dHJlZScsXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBmaWxlOiAnZm9vLnRyZWUuanNvbidcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgICdteS1maXJzdC1hcnRpZmFjdCc6IHtcbiAgICAgICAgdHlwZTogJ2F3czpjbG91ZGZvcm1hdGlvbjpzdGFjaycsXG4gICAgICAgIGVudmlyb25tZW50OiAnYXdzOi8vMTIyMjM0NC91cy1lYXN0LTEnLFxuICAgICAgICBkZXBlbmRlbmNpZXM6IFsnbWluaW1hbC1hcnRpZmFjdCddLFxuICAgICAgICBtZXRhZGF0YTogeyBmb286IFsgeyBkYXRhOiAxMjMsIHR5cGU6ICdmb28nLCB0cmFjZTogW10gfSBdIH0sXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICB0ZW1wbGF0ZUZpbGU6ICdmb28udGVtcGxhdGUuanNvbicsXG4gICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgcHJvcDE6ICcxMjM0JyxcbiAgICAgICAgICAgIHByb3AyOiAnNTU1J1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgJ21pbmltYWwtYXJ0aWZhY3QnOiB7XG4gICAgICAgIHR5cGU6ICdhd3M6Y2xvdWRmb3JtYXRpb246c3RhY2snLFxuICAgICAgICBlbnZpcm9ubWVudDogJ2F3czovLzExMS9oZWxvLXdvcmxkJyxcbiAgICAgICAgcHJvcGVydGllczogeyB0ZW1wbGF0ZUZpbGU6ICdmb28udGVtcGxhdGUuanNvbicgfVxuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgLy8gdmVyaWZ5IHdlIGhhdmUgYSB0ZW1wbGF0ZSBmaWxlXG4gIGV4cGVjdChhc3NlbWJseS5nZXRTdGFja0J5TmFtZSgnbWluaW1hbC1hcnRpZmFjdCcpLnRlbXBsYXRlKS50b1N0cmljdEVxdWFsKHtcbiAgICBSZXNvdXJjZXM6IHtcbiAgICAgIE15VG9waWM6IHtcbiAgICAgICAgVHlwZTogJ0FXUzo6UzM6OlRvcGljJ1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG59KTtcblxudGVzdCgnb3V0ZGlyIG11c3QgYmUgYSBkaXJlY3RvcnknLCAoKSA9PiB7XG4gIGV4cGVjdCgoKSA9PiBuZXcgQ2xvdWRBc3NlbWJseUJ1aWxkZXIoX19maWxlbmFtZSkpLnRvVGhyb3coJ211c3QgYmUgYSBkaXJlY3RvcnknKTtcbn0pO1xuXG50ZXN0KCdkdXBsaWNhdGUgbWlzc2luZyB2YWx1ZXMgd2l0aCB0aGUgc2FtZSBrZXkgYXJlIG9ubHkgcmVwb3J0ZWQgb25jZScsICgpID0+IHtcbiAgY29uc3Qgb3V0ZGlyID0gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKG9zLnRtcGRpcigpLCAnY2xvdWQtYXNzZW1ibHktYnVpbGRlci10ZXN0cycpKTtcbiAgY29uc3Qgc2Vzc2lvbiA9IG5ldyBDbG91ZEFzc2VtYmx5QnVpbGRlcihvdXRkaXIpO1xuXG4gIHNlc3Npb24uYWRkTWlzc2luZyh7IGtleTogJ2ZvbycsIHByb3ZpZGVyOiAnY29udGV4dC1wcm92aWRlcicsIHByb3BzOiB7IH0gfSk7XG4gIHNlc3Npb24uYWRkTWlzc2luZyh7IGtleTogJ2ZvbycsIHByb3ZpZGVyOiAnY29udGV4dC1wcm92aWRlcicsIHByb3BzOiB7IH0gfSk7XG5cbiAgY29uc3QgYXNzZW1ibHkgPSBzZXNzaW9uLmJ1aWxkQXNzZW1ibHkoKTtcblxuICBleHBlY3QoYXNzZW1ibHkubWFuaWZlc3QubWlzc2luZyEubGVuZ3RoKS50b0VxdWFsKDEpO1xufSk7XG4iXX0=

@@ -134,2 +134,2 @@ "use strict";

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtYXNzZW1ibHkudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNsb3VkLWFzc2VtYmx5LnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2QkFBOEI7QUFDOUIsZ0NBQXVDO0FBQ3ZDLGtEQUFrRjtBQUVsRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUVsRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO0lBQzFCLE1BQU0sUUFBUSxHQUFHLElBQUksbUJBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUcsRUFBRSxDQUFDLENBQUM7SUFDckQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsbUNBQXNCLENBQUMsQ0FBQztJQUN6RCxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztBQUMxQyxDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQywrREFBK0QsRUFBRSxHQUFHLEVBQUU7SUFDekUsTUFBTSxRQUFRLEdBQUcsSUFBSSxtQkFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7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QUMsYUFBYSxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCA9IHJlcXVpcmUoJ3BhdGgnKTtcbmltcG9ydCB7IENsb3VkQXNzZW1ibHkgfSBmcm9tICcuLi9saWInO1xuaW1wb3J0IHsgQ0xPVURfQVNTRU1CTFlfVkVSU0lPTiwgdmVyaWZ5TWFuaWZlc3RWZXJzaW9uIH0gZnJvbSAnLi4vbGliL3ZlcnNpb25pbmcnO1xuXG5jb25zdCBGSVhUVVJFUyA9IHBhdGguam9pbihfX2Rpcm5hbWUsICdmaXh0dXJlcycpO1xuXG50ZXN0KCdlbXB0eSBhc3NlbWJseScsICgpID0+IHtcbiAgY29uc3QgYXNzZW1ibHkgPSBuZXcgQ2xvdWRBc3NlbWJseShwYXRoLmpvaW4oRklYVFVSRVMsICdlbXB0eScpKTtcbiAgZXhwZWN0KGFzc2VtYmx5LmFydGlmYWN0cykudG9FcXVhbChbXSk7XG4gIGV4cGVjdChhc3NlbWJseS5ydW50aW1lKS50b0VxdWFsKHsgbGlicmFyaWVzOiB7IH0gfSk7XG4gIGV4cGVjdChhc3NlbWJseS5zdGFja3MpLnRvRXF1YWwoW10pO1xuICBleHBlY3QoYXNzZW1ibHkudmVyc2lvbikudG9FcXVhbChDTE9VRF9BU1NFTUJMWV9WRVJTSU9OKTtcbiAgZXhwZWN0KGFzc2VtYmx5Lm1hbmlmZXN0KS50b01hdGNoU25hcHNob3QoKTtcbiAgZXhwZWN0KGFzc2VtYmx5LnRyZWUoKSkudG9CZVVuZGVmaW5lZCgpO1xufSk7XG5cbnRlc3QoJ2Fzc2VtYmx5IHdpdGggYSBzaW5nbGUgY2xvdWRmb3JtYXRpb24gc3RhY2sgYW5kIHRyZWUgbWV0YWRhdGEnLCAoKSA9PiB7XG4gIGNvbnN0IGFzc2VtYmx5ID0gbmV3IENsb3VkQXNzZW1ibHkocGF0aC5qb2luKEZJWFRVUkVTLCAnc2luZ2xlLXN0YWNrJykpO1xuICBleHBlY3QoYXNzZW1ibHkuYXJ0aWZhY3RzKS50b0hhdmVMZW5ndGgoMik7XG4gIGV4cGVjdChhc3NlbWJseS5zdGFja3MpLnRvSGF2ZUxlbmd0aCgxKTtcbiAgZXhwZWN0KGFzc2VtYmx5Lm1hbmlmZXN0Lm1pc3NpbmcpLnRvQmVVbmRlZmluZWQoKTtcbiAgZXhwZWN0KGFzc2VtYmx5LnJ1bnRpbWUpLnRvRXF1YWwoeyBsaWJyYXJpZXM6IHsgfSB9KTtcbiAgZXhwZWN0KGFzc2VtYmx5LnZlcnNpb24pLnRvRXF1YWwoQ0xPVURfQVNTRU1CTFlfVkVSU0lPTik7XG5cbiAgY29uc3Qgc3RhY2sgPSBhc3NlbWJseS5zdGFja3NbMF07XG4gIGV4cGVjdChzdGFjay5tYW5pZmVzdCkudG9NYXRjaFNuYXBzaG90KCk7XG4gIGV4cGVjdChzdGFjay5hc3NldHMpLnRvSGF2ZUxlbmd0aCgwKTtcbiAgZXhwZWN0KHN0YWNrLmRlcGVuZGVuY2llcykudG9FcXVhbChbXSk7XG4gIGV4cGVjdChzdGFjay5lbnZpcm9ubWVudCkudG9FcXVhbCh7IGFjY291bnQ6ICczNzczNjYzMycsIHJlZ2lvbjogJ3VzLXJlZ2lvbi0xJywgbmFtZTogJ2F3czovLzM3NzM2NjMzL3VzLXJlZ2lvbi0xJyB9KTtcbiAgZXhwZWN0KHN0YWNrLnRlbXBsYXRlKS50b0VxdWFsKHsgUmVzb3VyY2VzOiB7IE15QnVja2V0OiB7IFR5cGU6IFwiQVdTOjpTMzo6QnVja2V0XCIgfSB9IH0pO1xuICBleHBlY3Qoc3RhY2subWVzc2FnZXMpLnRvRXF1YWwoW10pO1xuICBleHBlY3Qoc3RhY2subWFuaWZlc3QubWV0YWRhdGEpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgZXhwZWN0KHN0YWNrLm9yaWdpbmFsTmFtZSkudG9FcXVhbCgnTXlTdGFja05hbWUnKTtcbiAgZXhwZWN0KHN0YWNrLnN0YWNrTmFtZSkudG9FcXVhbCgnTXlTdGFja05hbWUnKTtcbiAgZXhwZWN0KHN0YWNrLmlkKS50b0VxdWFsKCdNeVN0YWNrTmFtZScpO1xuXG4gIGNvbnN0IHRyZWVBcnRpZmFjdCA9IGFzc2VtYmx5LnRyZWUoKTtcbiAgZXhwZWN0KHRyZWVBcnRpZmFjdCkudG9CZURlZmluZWQoKTtcbiAgZXhwZWN0KHRyZWVBcnRpZmFjdCEuZmlsZSkudG9FcXVhbCgnZm9vLnRyZWUuanNvbicpO1xuICBleHBlY3QodHJlZUFydGlmYWN0IS5tYW5pZmVzdCkudG9NYXRjaFNuYXBzaG90KCk7XG59KTtcblxudGVzdCgnYXNzZW1ibHkgd2l0aCBpbnZhbGlkIHRyZWUgbWV0YWRhdGEnLCAoKSA9PiB7XG4gIGNvbnN0IGFzc2VtYmx5ID0gbmV3IENsb3VkQXNzZW1ibHkocGF0aC5qb2luKEZJWFRVUkVTLCAnaW52YWxpZC1tYW5pZmVzdC10eXBlLXRyZWUnKSk7XG4gIGV4cGVjdCgoKSA9PiBhc3NlbWJseS50cmVlKCkpLnRvVGhyb3coL011bHRpcGxlIGFydGlmYWN0cy8pO1xufSk7XG5cbnRlc3QoJ2Fzc2VtYmx5IHdpdGggdHJlZSBtZXRhZGF0YSBoYXZpbmcgbm8gZmlsZSBwcm9wZXJ0eSBzcGVjaWZpZWQnLCAoKSA9PiB7XG4gIGV4cGVjdCgoKSA9PiBuZXcgQ2xvdWRBc3NlbWJseShwYXRoLmpvaW4oRklYVFVSRVMsICd0cmVlLW5vLWZpbGUtcHJvcGVydHknKSkpLnRvVGhyb3coL0ludmFsaWQgVHJlZUNsb3VkQXJ0aWZhY3QvKTtcbn0pO1xuXG50ZXN0KCdhc3NlbWJseSB3aXRoIGNsb3VkZm9ybWF0aW9uIGFydGlmYWN0IGhhdmluZyBubyBlbnZpcm9ubWVudCBwcm9wZXJ0eSBzcGVjaWZpZWQnLCAoKSA9PiB7XG4gIGV4cGVjdCgoKSA9PiBuZXcgQ2xvdWRBc3NlbWJseShwYXRoLmpvaW4oRklYVFVSRVMsICdpbnZhbGlkLW1hbmlmZXN0LXR5cGUtY2xvdWRmb3JtYXRpb24nKSkpLnRvVGhyb3coL0ludmFsaWQgQ2xvdWRGb3JtYXRpb24gc3RhY2sgYXJ0aWZhY3QvKTtcbn0pO1xuXG50ZXN0KCdhc3NlbWJseSB3aXRoIG1pc3NpbmcgY29udGV4dCcsICgpID0+IHtcbiAgY29uc3QgYXNzZW1ibHkgPSBuZXcgQ2xvdWRBc3NlbWJseShwYXRoLmpvaW4oRklYVFVSRVMsICdtaXNzaW5nLWNvbnRleHQnKSk7XG4gIGV4cGVjdChhc3NlbWJseS5tYW5pZmVzdC5taXNzaW5nKS50b01hdGNoU25hcHNob3QoKTtcbn0pO1xuXG50ZXN0KCdhc3NlbWJseSB3aXRoIG11bHRpcGxlIHN0YWNrcycsICgpID0+IHtcbiAgY29uc3QgYXNzZW1ibHkgPSBuZXcgQ2xvdWRBc3NlbWJseShwYXRoLmpvaW4oRklYVFVSRVMsICdtdWx0aXBsZS1zdGFja3MnKSk7XG4gIGV4cGVjdChhc3NlbWJseS5zdGFja3MpLnRvSGF2ZUxlbmd0aCgyKTtcbiAgZXhwZWN0KGFzc2VtYmx5LmFydGlmYWN0cykudG9IYXZlTGVuZ3RoKDIpO1xufSk7XG5cbnRlc3QoJ2ZhaWxzIGZvciBpbnZhbGlkIGFydGlmYWN0IHR5cGUnLCAoKSA9PiB7XG4gIGNvbnN0IGFzc2VtYmx5ID0gbmV3IENsb3VkQXNzZW1ibHkocGF0aC5qb2luKEZJWFRVUkVTLCAnaW52YWxpZC1hcnRpZmFjdC10eXBlJykpO1xuICBleHBlY3QoYXNzZW1ibHkudHJ5R2V0QXJ0aWZhY3QoJ015QXJ0JykpLnRvQmVVbmRlZmluZWQoKTtcbn0pO1xuXG50ZXN0KCdmYWlscyBmb3IgaW52YWxpZCBlbnZpcm9ubWVudCBmb3JtYXQnLCAoKSA9PiB7XG4gIGV4cGVjdCgoKSA9PiBuZXcgQ2xvdWRBc3NlbWJseShwYXRoLmpvaW4oRklYVFVSRVMsICdpbnZhbGlkLWVudi1mb3JtYXQnKSkpXG4gICAgLnRvVGhyb3coJ1VuYWJsZSB0byBwYXJzZSBlbnZpcm9ubWVudCBzcGVjaWZpY2F0aW9uJyk7XG59KTtcblxudGVzdCgnZmFpbHMgaWYgc3RhY2sgYXJ0aWZhY3QgZG9lcyBub3QgaGF2ZSBwcm9wZXJ0aWVzJywgKCkgPT4ge1xuICBleHBlY3QoKCkgPT4gbmV3IENsb3VkQXNzZW1ibHkocGF0aC5qb2luKEZJWFRVUkVTLCAnc3RhY2std2l0aG91dC1wYXJhbXMnKSkpXG4gICAgLnRvVGhyb3coJ0ludmFsaWQgQ2xvdWRGb3JtYXRpb24gc3RhY2sgYXJ0aWZhY3QuIE1pc3NpbmcgXFxcInRlbXBsYXRlRmlsZVxcXCIgcHJvcGVydHkgaW4gY2xvdWQgYXNzZW1ibHkgbWFuaWZlc3QnKTtcbn0pO1xuXG50ZXN0KCdtZXNzYWdlcycsICgpID0+IHtcbiAgY29uc3QgYXNzZW1ibHkgPSBuZXcgQ2xvdWRBc3NlbWJseShwYXRoLmpvaW4oRklYVFVSRVMsICdtZXNzYWdlcycpKTtcbiAgZXhwZWN0KGFzc2VtYmx5LnN0YWNrc1swXS5tZXNzYWdlcykudG9NYXRjaFNuYXBzaG90KCk7XG59KTtcblxudGVzdCgnYXNzZXRzJywgKCkgPT4ge1xuICBjb25zdCBhc3NlbWJseSA9IG5ldyBDbG91ZEFzc2VtYmx5KHBhdGguam9pbihGSVhUVVJFUywgJ2Fzc2V0cycpKTtcbiAgZXhwZWN0KGFzc2VtYmx5LnN0YWNrc1swXS5hc3NldHMpLnRvTWF0Y2hTbmFwc2hvdCgpO1xufSk7XG5cbnRlc3QoJ2Nhbi1yZWFkLTAuMzYuMCcsICgpID0+IHtcbiAgLy8gV0hFTlxuICBuZXcgQ2xvdWRBc3NlbWJseShwYXRoLmpvaW4oRklYVFVSRVMsICdzaW5nbGUtc3RhY2stMC4zNicpKTtcbiAgLy8gVEhFTjogbm8gZWV4Y2VwdGlvblxuICBleHBlY3QodHJ1ZSkudG9CZVRydXRoeSgpO1xufSk7XG5cbnRlc3QoJ2RlcGVuZGVuY2llcycsICgpID0+IHtcbiAgY29uc3QgYXNzZW1ibHkgPSBuZXcgQ2xvdWRBc3NlbWJseShwYXRoLmpvaW4oRklYVFVSRVMsICdkZXBlbmRzJykpO1xuICBleHBlY3QoYXNzZW1ibHkuc3RhY2tzKS50b0hhdmVMZW5ndGgoNCk7XG5cbiAgLy8gZXhwZWN0IHN0YWNrcyB0byBiZSBsaXN0ZWQgaW4gdG9wb2xvZ2ljYWwgb3JkZXJcbiAgZXhwZWN0KGFzc2VtYmx5LnN0YWNrcy5tYXAocyA9PiBzLmlkKSkudG9FcXVhbChbICdTdGFja0EnLCAnU3RhY2tEJywgJ1N0YWNrQycsICdTdGFja0InIF0pO1xuICBleHBlY3QoYXNzZW1ibHkuc3RhY2tzWzBdLmRlcGVuZGVuY2llcykudG9FcXVhbChbXSk7XG4gIGV4cGVjdChhc3NlbWJseS5zdGFja3NbMV0uZGVwZW5kZW5jaWVzKS50b0VxdWFsKFtdKTtcbiAgZXhwZWN0KGFzc2VtYmx5LnN0YWNrc1syXS5kZXBlbmRlbmNpZXMubWFwKHggPT4geC5pZCkpLnRvRXF1YWwoWyAnU3RhY2tEJyBdKTtcbiAgZXhwZWN0KGFzc2VtYmx5LnN0YWNrc1szXS5kZXBlbmRlbmNpZXMubWFwKHggPT4geC5pZCkpLnRvRXF1YWwoWyAnU3RhY2tDJywgJ1N0YWNrRCcgXSk7XG59KTtcblxudGVzdCgnZmFpbHMgZm9yIGludmFsaWQgZGVwZW5kZW5jaWVzJywgKCkgPT4ge1xuICBleHBlY3QoKCkgPT4gbmV3IENsb3VkQXNzZW1ibHkocGF0aC5qb2luKEZJWFRVUkVTLCAnaW52YWxpZC1kZXBlbmRzJykpKS50b1Rocm93KCdBcnRpZmFjdCBTdGFja0MgZGVwZW5kcyBvbiBub24tZXhpc3RpbmcgYXJ0aWZhY3QgU3RhY2tYJyk7XG59KTtcblxudGVzdCgndmVyaWZ5TWFuaWZlc3RWZXJzaW9uJywgKCkgPT4ge1xuICB2ZXJpZnlNYW5pZmVzdFZlcnNpb24oQ0xPVURfQVNTRU1CTFlfVkVSU0lPTik7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcbiAgZXhwZWN0KCgpID0+IHZlcmlmeU1hbmlmZXN0VmVyc2lvbignMC4zMS4wJykpLnRvVGhyb3coYFRoZSBDREsgQ0xJIHlvdSBhcmUgdXNpbmcgcmVxdWlyZXMgeW91ciBhcHAgdG8gdXNlIENESyBtb2R1bGVzIHdpdGggdmVyc2lvbiA+PSAke0NMT1VEX0FTU0VNQkxZX1ZFUlNJT059YCk7XG4gIGV4cGVjdCgoKSA9PiB2ZXJpZnlNYW5pZmVzdFZlcnNpb24oJzk5Ljk5Ljk5JykpLnRvVGhyb3coYEEgbmV3ZXIgdmVyc2lvbiBvZiB0aGUgQ0RLIENMSSAoPj0gOTkuOTkuOTkpIGlzIG5lY2Vzc2FyeSB0byBpbnRlcmFjdCB3aXRoIHRoaXMgYXBwYCk7XG59KTtcblxudGVzdCgnc3RhY2sgYXJ0aWZhY3RzIGNhbiBzcGVjaWZ5IGFuIGV4cGxpY2l0IHN0YWNrIG5hbWUgdGhhdCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgYXJ0aWZhY3QgaWQnLCAoKSA9PiB7XG4gIGNvbnN0IGFzc2VtYmx5ID0gbmV3IENsb3VkQXNzZW1ibHkocGF0aC5qb2luKEZJWFRVUkVTLCAnZXhwbGljaXQtc3RhY2stbmFtZScpKTtcblxuICBleHBlY3QoYXNzZW1ibHkuZ2V0U3RhY2tCeU5hbWUoJ1RoZVN0YWNrTmFtZScpLnN0YWNrTmFtZSkudG9TdHJpY3RFcXVhbCgnVGhlU3RhY2tOYW1lJyk7XG4gIGV4cGVjdChhc3NlbWJseS5nZXRTdGFja0J5TmFtZSgnVGhlU3RhY2tOYW1lJykuaWQpLnRvU3RyaWN0RXF1YWwoJ3N0YWNraWQxJyk7XG5cbiAgLy8gZGVwcmVjYXRlZCBidXQgc3RpbGwgdGVzdFxuICBleHBlY3QoYXNzZW1ibHkuZ2V0U3RhY2soJ1RoZVN0YWNrTmFtZScpLnN0YWNrTmFtZSkudG9TdHJpY3RFcXVhbCgnVGhlU3RhY2tOYW1lJyk7XG4gIGV4cGVjdChhc3NlbWJseS5nZXRTdGFjaygnVGhlU3RhY2tOYW1lJykuaWQpLnRvU3RyaWN0RXF1YWwoJ3N0YWNraWQxJyk7XG59KTtcblxudGVzdCgnZ2V0U3RhY2tCeU5hbWUgZmFpbHMgaWYgdGhlcmUgYXJlIG11bHRpcGxlIHN0YWNrcyB3aXRoIHRoZSBzYW1lIG5hbWUnLCAoKSA9PiB7XG4gIGNvbnN0IGFzc2VtYmx5ID0gbmV3IENsb3VkQXNzZW1ibHkocGF0aC5qb2luKEZJWFRVUkVTLCAnbXVsdGlwbGUtc3RhY2tzLXNhbWUtbmFtZScpKTtcbiAgZXhwZWN0KCgpID0+IGFzc2VtYmx5LmdldFN0YWNrQnlOYW1lKCd0aGUtcGh5c2ljYWwtbmFtZS1vZi10aGUtc3RhY2snKSkudG9UaHJvdygvVGhlcmUgYXJlIG11bHRpcGxlIHN0YWNrcyB3aXRoIHRoZSBzdGFjayBuYW1lIFxcXCJ0aGUtcGh5c2ljYWwtbmFtZS1vZi10aGUtc3RhY2tcXFwiIFxcKHN0YWNrMVxcLHN0YWNrMlxcKVxcLiBVc2UgXFxcImdldFN0YWNrQXJ0aWZhY3RcXChpZFxcKVxcXCIgaW5zdGVhZC8pO1xufSk7XG5cbnRlc3QoJ2dldFN0YWNrQXJ0aWZhY3QgcmV0cmlldmVzIGEgc3RhY2sgYnkgYXJ0aWZhY3QgaWQnLCAoKSA9PiB7XG4gIGNvbnN0IGFzc2VtYmx5ID0gbmV3IENsb3VkQXNzZW1ibHkocGF0aC5qb2luKEZJWFRVUkVTLCAnbXVsdGlwbGUtc3RhY2tzLXNhbWUtbmFtZScpKTtcblxuICBleHBlY3QoYXNzZW1ibHkuZ2V0U3RhY2tBcnRpZmFjdCgnc3RhY2sxJykuc3RhY2tOYW1lKS50b0VxdWFsKCd0aGUtcGh5c2ljYWwtbmFtZS1vZi10aGUtc3RhY2snKTtcbiAgZXhwZWN0KGFzc2VtYmx5LmdldFN0YWNrQXJ0aWZhY3QoJ3N0YWNrMicpLnN0YWNrTmFtZSkudG9FcXVhbCgndGhlLXBoeXNpY2FsLW5hbWUtb2YtdGhlLXN0YWNrJyk7XG4gIGV4cGVjdChhc3NlbWJseS5nZXRTdGFja0FydGlmYWN0KCdzdGFjazInKS5pZCkudG9FcXVhbCgnc3RhY2syJyk7XG4gIGV4cGVjdChhc3NlbWJseS5nZXRTdGFja0FydGlmYWN0KCdzdGFjazEnKS5pZCkudG9FcXVhbCgnc3RhY2sxJyk7XG59KTtcblxudGVzdCgnZGlzcGxheU5hbWUgc2hvd3MgYm90aCBhcnRpZmFjdCBJRCBhbmQgc3RhY2sgbmFtZSBpZiBuZWVkZWQnLCAoKSA9PiB7XG4gIGNvbnN0IGExID0gbmV3IENsb3VkQXNzZW1ibHkocGF0aC5qb2luKEZJWFRVUkVTLCAnbXVsdGlwbGUtc3RhY2tzLXNhbWUtbmFtZScpKTtcbiAgZXhwZWN0KGExLmdldFN0YWNrQXJ0aWZhY3QoJ3N0YWNrMScpLmRpc3BsYXlOYW1lKS50b1N0cmljdEVxdWFsKCdzdGFjazEgKHRoZS1waHlzaWNhbC1uYW1lLW9mLXRoZS1zdGFjayknKTtcbiAgZXhwZWN0KGExLmdldFN0YWNrQXJ0aWZhY3QoJ3N0YWNrMicpLmRpc3BsYXlOYW1lKS50b1N0cmljdEVxdWFsKCdzdGFjazIgKHRoZS1waHlzaWNhbC1uYW1lLW9mLXRoZS1zdGFjayknKTtcblxuICBjb25zdCBhMiA9IG5ldyBDbG91ZEFzc2VtYmx5KHBhdGguam9pbihGSVhUVVJFUywgJ3NpbmdsZS1zdGFjaycpKTtcbiAgY29uc3QgYXJ0MSA9IGEyLmdldFN0YWNrQXJ0aWZhY3QoJ015U3RhY2tOYW1lJyk7XG4gIGNvbnN0IGFydDIgPSBhMi5nZXRTdGFja0J5TmFtZSgnTXlTdGFja05hbWUnKTtcblxuICBleHBlY3QoYXJ0MSkudG9CZShhcnQyKTtcbiAgZXhwZWN0KGFydDEuZGlzcGxheU5hbWUpLnRvQmUoJ015U3RhY2tOYW1lJyk7XG4gIGV4cGVjdChhcnQxLmlkKS50b0JlKCdNeVN0YWNrTmFtZScpO1xuICBleHBlY3QoYXJ0MS5zdGFja05hbWUpLnRvQmUoJ015U3RhY2tOYW1lJyk7XG59KTsiXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtYXNzZW1ibHkudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNsb3VkLWFzc2VtYmx5LnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2QkFBNkI7QUFDN0IsZ0NBQXVDO0FBQ3ZDLGtEQUFrRjtBQUVsRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUVsRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO0lBQzFCLE1BQU0sUUFBUSxHQUFHLElBQUksbUJBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUcsRUFBRSxDQUFDLENBQUM7SUFDckQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsbUNBQXNCLENBQUMsQ0FBQztJQUN6RCxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztBQUMxQyxDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQywrREFBK0QsRUFBRSxHQUFHLEVBQUU7SUFDekUsTUFBTSxRQUFRLEdBQUcsSUFBSSxtQkFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7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QUMsYUFBYSxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgQ2xvdWRBc3NlbWJseSB9IGZyb20gJy4uL2xpYic7XG5pbXBvcnQgeyBDTE9VRF9BU1NFTUJMWV9WRVJTSU9OLCB2ZXJpZnlNYW5pZmVzdFZlcnNpb24gfSBmcm9tICcuLi9saWIvdmVyc2lvbmluZyc7XG5cbmNvbnN0IEZJWFRVUkVTID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJ2ZpeHR1cmVzJyk7XG5cbnRlc3QoJ2VtcHR5IGFzc2VtYmx5JywgKCkgPT4ge1xuICBjb25zdCBhc3NlbWJseSA9IG5ldyBDbG91ZEFzc2VtYmx5KHBhdGguam9pbihGSVhUVVJFUywgJ2VtcHR5JykpO1xuICBleHBlY3QoYXNzZW1ibHkuYXJ0aWZhY3RzKS50b0VxdWFsKFtdKTtcbiAgZXhwZWN0KGFzc2VtYmx5LnJ1bnRpbWUpLnRvRXF1YWwoeyBsaWJyYXJpZXM6IHsgfSB9KTtcbiAgZXhwZWN0KGFzc2VtYmx5LnN0YWNrcykudG9FcXVhbChbXSk7XG4gIGV4cGVjdChhc3NlbWJseS52ZXJzaW9uKS50b0VxdWFsKENMT1VEX0FTU0VNQkxZX1ZFUlNJT04pO1xuICBleHBlY3QoYXNzZW1ibHkubWFuaWZlc3QpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICBleHBlY3QoYXNzZW1ibHkudHJlZSgpKS50b0JlVW5kZWZpbmVkKCk7XG59KTtcblxudGVzdCgnYXNzZW1ibHkgd2l0aCBhIHNpbmdsZSBjbG91ZGZvcm1hdGlvbiBzdGFjayBhbmQgdHJlZSBtZXRhZGF0YScsICgpID0+IHtcbiAgY29uc3QgYXNzZW1ibHkgPSBuZXcgQ2xvdWRBc3NlbWJseShwYXRoLmpvaW4oRklYVFVSRVMsICdzaW5nbGUtc3RhY2snKSk7XG4gIGV4cGVjdChhc3NlbWJseS5hcnRpZmFjdHMpLnRvSGF2ZUxlbmd0aCgyKTtcbiAgZXhwZWN0KGFzc2VtYmx5LnN0YWNrcykudG9IYXZlTGVuZ3RoKDEpO1xuICBleHBlY3QoYXNzZW1ibHkubWFuaWZlc3QubWlzc2luZykudG9CZVVuZGVmaW5lZCgpO1xuICBleHBlY3QoYXNzZW1ibHkucnVudGltZSkudG9FcXVhbCh7IGxpYnJhcmllczogeyB9IH0pO1xuICBleHBlY3QoYXNzZW1ibHkudmVyc2lvbikudG9FcXVhbChDTE9VRF9BU1NFTUJMWV9WRVJTSU9OKTtcblxuICBjb25zdCBzdGFjayA9IGFzc2VtYmx5LnN0YWNrc1swXTtcbiAgZXhwZWN0KHN0YWNrLm1hbmlmZXN0KS50b01hdGNoU25hcHNob3QoKTtcbiAgZXhwZWN0KHN0YWNrLmFzc2V0cykudG9IYXZlTGVuZ3RoKDApO1xuICBleHBlY3Qoc3RhY2suZGVwZW5kZW5jaWVzKS50b0VxdWFsKFtdKTtcbiAgZXhwZWN0KHN0YWNrLmVudmlyb25tZW50KS50b0VxdWFsKHsgYWNjb3VudDogJzM3NzM2NjMzJywgcmVnaW9uOiAndXMtcmVnaW9uLTEnLCBuYW1lOiAnYXdzOi8vMzc3MzY2MzMvdXMtcmVnaW9uLTEnIH0pO1xuICBleHBlY3Qoc3RhY2sudGVtcGxhdGUpLnRvRXF1YWwoeyBSZXNvdXJjZXM6IHsgTXlCdWNrZXQ6IHsgVHlwZTogXCJBV1M6OlMzOjpCdWNrZXRcIiB9IH0gfSk7XG4gIGV4cGVjdChzdGFjay5tZXNzYWdlcykudG9FcXVhbChbXSk7XG4gIGV4cGVjdChzdGFjay5tYW5pZmVzdC5tZXRhZGF0YSkudG9FcXVhbCh1bmRlZmluZWQpO1xuICBleHBlY3Qoc3RhY2sub3JpZ2luYWxOYW1lKS50b0VxdWFsKCdNeVN0YWNrTmFtZScpO1xuICBleHBlY3Qoc3RhY2suc3RhY2tOYW1lKS50b0VxdWFsKCdNeVN0YWNrTmFtZScpO1xuICBleHBlY3Qoc3RhY2suaWQpLnRvRXF1YWwoJ015U3RhY2tOYW1lJyk7XG5cbiAgY29uc3QgdHJlZUFydGlmYWN0ID0gYXNzZW1ibHkudHJlZSgpO1xuICBleHBlY3QodHJlZUFydGlmYWN0KS50b0JlRGVmaW5lZCgpO1xuICBleHBlY3QodHJlZUFydGlmYWN0IS5maWxlKS50b0VxdWFsKCdmb28udHJlZS5qc29uJyk7XG4gIGV4cGVjdCh0cmVlQXJ0aWZhY3QhLm1hbmlmZXN0KS50b01hdGNoU25hcHNob3QoKTtcbn0pO1xuXG50ZXN0KCdhc3NlbWJseSB3aXRoIGludmFsaWQgdHJlZSBtZXRhZGF0YScsICgpID0+IHtcbiAgY29uc3QgYXNzZW1ibHkgPSBuZXcgQ2xvdWRBc3NlbWJseShwYXRoLmpvaW4oRklYVFVSRVMsICdpbnZhbGlkLW1hbmlmZXN0LXR5cGUtdHJlZScpKTtcbiAgZXhwZWN0KCgpID0+IGFzc2VtYmx5LnRyZWUoKSkudG9UaHJvdygvTXVsdGlwbGUgYXJ0aWZhY3RzLyk7XG59KTtcblxudGVzdCgnYXNzZW1ibHkgd2l0aCB0cmVlIG1ldGFkYXRhIGhhdmluZyBubyBmaWxlIHByb3BlcnR5IHNwZWNpZmllZCcsICgpID0+IHtcbiAgZXhwZWN0KCgpID0+IG5ldyBDbG91ZEFzc2VtYmx5KHBhdGguam9pbihGSVhUVVJFUywgJ3RyZWUtbm8tZmlsZS1wcm9wZXJ0eScpKSkudG9UaHJvdygvSW52YWxpZCBUcmVlQ2xvdWRBcnRpZmFjdC8pO1xufSk7XG5cbnRlc3QoJ2Fzc2VtYmx5IHdpdGggY2xvdWRmb3JtYXRpb24gYXJ0aWZhY3QgaGF2aW5nIG5vIGVudmlyb25tZW50IHByb3BlcnR5IHNwZWNpZmllZCcsICgpID0+IHtcbiAgZXhwZWN0KCgpID0+IG5ldyBDbG91ZEFzc2VtYmx5KHBhdGguam9pbihGSVhUVVJFUywgJ2ludmFsaWQtbWFuaWZlc3QtdHlwZS1jbG91ZGZvcm1hdGlvbicpKSkudG9UaHJvdygvSW52YWxpZCBDbG91ZEZvcm1hdGlvbiBzdGFjayBhcnRpZmFjdC8pO1xufSk7XG5cbnRlc3QoJ2Fzc2VtYmx5IHdpdGggbWlzc2luZyBjb250ZXh0JywgKCkgPT4ge1xuICBjb25zdCBhc3NlbWJseSA9IG5ldyBDbG91ZEFzc2VtYmx5KHBhdGguam9pbihGSVhUVVJFUywgJ21pc3NpbmctY29udGV4dCcpKTtcbiAgZXhwZWN0KGFzc2VtYmx5Lm1hbmlmZXN0Lm1pc3NpbmcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xufSk7XG5cbnRlc3QoJ2Fzc2VtYmx5IHdpdGggbXVsdGlwbGUgc3RhY2tzJywgKCkgPT4ge1xuICBjb25zdCBhc3NlbWJseSA9IG5ldyBDbG91ZEFzc2VtYmx5KHBhdGguam9pbihGSVhUVVJFUywgJ211bHRpcGxlLXN0YWNrcycpKTtcbiAgZXhwZWN0KGFzc2VtYmx5LnN0YWNrcykudG9IYXZlTGVuZ3RoKDIpO1xuICBleHBlY3QoYXNzZW1ibHkuYXJ0aWZhY3RzKS50b0hhdmVMZW5ndGgoMik7XG59KTtcblxudGVzdCgnZmFpbHMgZm9yIGludmFsaWQgYXJ0aWZhY3QgdHlwZScsICgpID0+IHtcbiAgY29uc3QgYXNzZW1ibHkgPSBuZXcgQ2xvdWRBc3NlbWJseShwYXRoLmpvaW4oRklYVFVSRVMsICdpbnZhbGlkLWFydGlmYWN0LXR5cGUnKSk7XG4gIGV4cGVjdChhc3NlbWJseS50cnlHZXRBcnRpZmFjdCgnTXlBcnQnKSkudG9CZVVuZGVmaW5lZCgpO1xufSk7XG5cbnRlc3QoJ2ZhaWxzIGZvciBpbnZhbGlkIGVudmlyb25tZW50IGZvcm1hdCcsICgpID0+IHtcbiAgZXhwZWN0KCgpID0+IG5ldyBDbG91ZEFzc2VtYmx5KHBhdGguam9pbihGSVhUVVJFUywgJ2ludmFsaWQtZW52LWZvcm1hdCcpKSlcbiAgICAudG9UaHJvdygnVW5hYmxlIHRvIHBhcnNlIGVudmlyb25tZW50IHNwZWNpZmljYXRpb24nKTtcbn0pO1xuXG50ZXN0KCdmYWlscyBpZiBzdGFjayBhcnRpZmFjdCBkb2VzIG5vdCBoYXZlIHByb3BlcnRpZXMnLCAoKSA9PiB7XG4gIGV4cGVjdCgoKSA9PiBuZXcgQ2xvdWRBc3NlbWJseShwYXRoLmpvaW4oRklYVFVSRVMsICdzdGFjay13aXRob3V0LXBhcmFtcycpKSlcbiAgICAudG9UaHJvdygnSW52YWxpZCBDbG91ZEZvcm1hdGlvbiBzdGFjayBhcnRpZmFjdC4gTWlzc2luZyBcXFwidGVtcGxhdGVGaWxlXFxcIiBwcm9wZXJ0eSBpbiBjbG91ZCBhc3NlbWJseSBtYW5pZmVzdCcpO1xufSk7XG5cbnRlc3QoJ21lc3NhZ2VzJywgKCkgPT4ge1xuICBjb25zdCBhc3NlbWJseSA9IG5ldyBDbG91ZEFzc2VtYmx5KHBhdGguam9pbihGSVhUVVJFUywgJ21lc3NhZ2VzJykpO1xuICBleHBlY3QoYXNzZW1ibHkuc3RhY2tzWzBdLm1lc3NhZ2VzKS50b01hdGNoU25hcHNob3QoKTtcbn0pO1xuXG50ZXN0KCdhc3NldHMnLCAoKSA9PiB7XG4gIGNvbnN0IGFzc2VtYmx5ID0gbmV3IENsb3VkQXNzZW1ibHkocGF0aC5qb2luKEZJWFRVUkVTLCAnYXNzZXRzJykpO1xuICBleHBlY3QoYXNzZW1ibHkuc3RhY2tzWzBdLmFzc2V0cykudG9NYXRjaFNuYXBzaG90KCk7XG59KTtcblxudGVzdCgnY2FuLXJlYWQtMC4zNi4wJywgKCkgPT4ge1xuICAvLyBXSEVOXG4gIG5ldyBDbG91ZEFzc2VtYmx5KHBhdGguam9pbihGSVhUVVJFUywgJ3NpbmdsZS1zdGFjay0wLjM2JykpO1xuICAvLyBUSEVOOiBubyBlZXhjZXB0aW9uXG4gIGV4cGVjdCh0cnVlKS50b0JlVHJ1dGh5KCk7XG59KTtcblxudGVzdCgnZGVwZW5kZW5jaWVzJywgKCkgPT4ge1xuICBjb25zdCBhc3NlbWJseSA9IG5ldyBDbG91ZEFzc2VtYmx5KHBhdGguam9pbihGSVhUVVJFUywgJ2RlcGVuZHMnKSk7XG4gIGV4cGVjdChhc3NlbWJseS5zdGFja3MpLnRvSGF2ZUxlbmd0aCg0KTtcblxuICAvLyBleHBlY3Qgc3RhY2tzIHRvIGJlIGxpc3RlZCBpbiB0b3BvbG9naWNhbCBvcmRlclxuICBleHBlY3QoYXNzZW1ibHkuc3RhY2tzLm1hcChzID0+IHMuaWQpKS50b0VxdWFsKFsgJ1N0YWNrQScsICdTdGFja0QnLCAnU3RhY2tDJywgJ1N0YWNrQicgXSk7XG4gIGV4cGVjdChhc3NlbWJseS5zdGFja3NbMF0uZGVwZW5kZW5jaWVzKS50b0VxdWFsKFtdKTtcbiAgZXhwZWN0KGFzc2VtYmx5LnN0YWNrc1sxXS5kZXBlbmRlbmNpZXMpLnRvRXF1YWwoW10pO1xuICBleHBlY3QoYXNzZW1ibHkuc3RhY2tzWzJdLmRlcGVuZGVuY2llcy5tYXAoeCA9PiB4LmlkKSkudG9FcXVhbChbICdTdGFja0QnIF0pO1xuICBleHBlY3QoYXNzZW1ibHkuc3RhY2tzWzNdLmRlcGVuZGVuY2llcy5tYXAoeCA9PiB4LmlkKSkudG9FcXVhbChbICdTdGFja0MnLCAnU3RhY2tEJyBdKTtcbn0pO1xuXG50ZXN0KCdmYWlscyBmb3IgaW52YWxpZCBkZXBlbmRlbmNpZXMnLCAoKSA9PiB7XG4gIGV4cGVjdCgoKSA9PiBuZXcgQ2xvdWRBc3NlbWJseShwYXRoLmpvaW4oRklYVFVSRVMsICdpbnZhbGlkLWRlcGVuZHMnKSkpLnRvVGhyb3coJ0FydGlmYWN0IFN0YWNrQyBkZXBlbmRzIG9uIG5vbi1leGlzdGluZyBhcnRpZmFjdCBTdGFja1gnKTtcbn0pO1xuXG50ZXN0KCd2ZXJpZnlNYW5pZmVzdFZlcnNpb24nLCAoKSA9PiB7XG4gIHZlcmlmeU1hbmlmZXN0VmVyc2lvbihDTE9VRF9BU1NFTUJMWV9WRVJTSU9OKTtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuICBleHBlY3QoKCkgPT4gdmVyaWZ5TWFuaWZlc3RWZXJzaW9uKCcwLjMxLjAnKSkudG9UaHJvdyhgVGhlIENESyBDTEkgeW91IGFyZSB1c2luZyByZXF1aXJlcyB5b3VyIGFwcCB0byB1c2UgQ0RLIG1vZHVsZXMgd2l0aCB2ZXJzaW9uID49ICR7Q0xPVURfQVNTRU1CTFlfVkVSU0lPTn1gKTtcbiAgZXhwZWN0KCgpID0+IHZlcmlmeU1hbmlmZXN0VmVyc2lvbignOTkuOTkuOTknKSkudG9UaHJvdyhgQSBuZXdlciB2ZXJzaW9uIG9mIHRoZSBDREsgQ0xJICg+PSA5OS45OS45OSkgaXMgbmVjZXNzYXJ5IHRvIGludGVyYWN0IHdpdGggdGhpcyBhcHBgKTtcbn0pO1xuXG50ZXN0KCdzdGFjayBhcnRpZmFjdHMgY2FuIHNwZWNpZnkgYW4gZXhwbGljaXQgc3RhY2sgbmFtZSB0aGF0IGlzIGRpZmZlcmVudCBmcm9tIHRoZSBhcnRpZmFjdCBpZCcsICgpID0+IHtcbiAgY29uc3QgYXNzZW1ibHkgPSBuZXcgQ2xvdWRBc3NlbWJseShwYXRoLmpvaW4oRklYVFVSRVMsICdleHBsaWNpdC1zdGFjay1uYW1lJykpO1xuXG4gIGV4cGVjdChhc3NlbWJseS5nZXRTdGFja0J5TmFtZSgnVGhlU3RhY2tOYW1lJykuc3RhY2tOYW1lKS50b1N0cmljdEVxdWFsKCdUaGVTdGFja05hbWUnKTtcbiAgZXhwZWN0KGFzc2VtYmx5LmdldFN0YWNrQnlOYW1lKCdUaGVTdGFja05hbWUnKS5pZCkudG9TdHJpY3RFcXVhbCgnc3RhY2tpZDEnKTtcblxuICAvLyBkZXByZWNhdGVkIGJ1dCBzdGlsbCB0ZXN0XG4gIGV4cGVjdChhc3NlbWJseS5nZXRTdGFjaygnVGhlU3RhY2tOYW1lJykuc3RhY2tOYW1lKS50b1N0cmljdEVxdWFsKCdUaGVTdGFja05hbWUnKTtcbiAgZXhwZWN0KGFzc2VtYmx5LmdldFN0YWNrKCdUaGVTdGFja05hbWUnKS5pZCkudG9TdHJpY3RFcXVhbCgnc3RhY2tpZDEnKTtcbn0pO1xuXG50ZXN0KCdnZXRTdGFja0J5TmFtZSBmYWlscyBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgc3RhY2tzIHdpdGggdGhlIHNhbWUgbmFtZScsICgpID0+IHtcbiAgY29uc3QgYXNzZW1ibHkgPSBuZXcgQ2xvdWRBc3NlbWJseShwYXRoLmpvaW4oRklYVFVSRVMsICdtdWx0aXBsZS1zdGFja3Mtc2FtZS1uYW1lJykpO1xuICBleHBlY3QoKCkgPT4gYXNzZW1ibHkuZ2V0U3RhY2tCeU5hbWUoJ3RoZS1waHlzaWNhbC1uYW1lLW9mLXRoZS1zdGFjaycpKS50b1Rocm93KC9UaGVyZSBhcmUgbXVsdGlwbGUgc3RhY2tzIHdpdGggdGhlIHN0YWNrIG5hbWUgXFxcInRoZS1waHlzaWNhbC1uYW1lLW9mLXRoZS1zdGFja1xcXCIgXFwoc3RhY2sxXFwsc3RhY2syXFwpXFwuIFVzZSBcXFwiZ2V0U3RhY2tBcnRpZmFjdFxcKGlkXFwpXFxcIiBpbnN0ZWFkLyk7XG59KTtcblxudGVzdCgnZ2V0U3RhY2tBcnRpZmFjdCByZXRyaWV2ZXMgYSBzdGFjayBieSBhcnRpZmFjdCBpZCcsICgpID0+IHtcbiAgY29uc3QgYXNzZW1ibHkgPSBuZXcgQ2xvdWRBc3NlbWJseShwYXRoLmpvaW4oRklYVFVSRVMsICdtdWx0aXBsZS1zdGFja3Mtc2FtZS1uYW1lJykpO1xuXG4gIGV4cGVjdChhc3NlbWJseS5nZXRTdGFja0FydGlmYWN0KCdzdGFjazEnKS5zdGFja05hbWUpLnRvRXF1YWwoJ3RoZS1waHlzaWNhbC1uYW1lLW9mLXRoZS1zdGFjaycpO1xuICBleHBlY3QoYXNzZW1ibHkuZ2V0U3RhY2tBcnRpZmFjdCgnc3RhY2syJykuc3RhY2tOYW1lKS50b0VxdWFsKCd0aGUtcGh5c2ljYWwtbmFtZS1vZi10aGUtc3RhY2snKTtcbiAgZXhwZWN0KGFzc2VtYmx5LmdldFN0YWNrQXJ0aWZhY3QoJ3N0YWNrMicpLmlkKS50b0VxdWFsKCdzdGFjazInKTtcbiAgZXhwZWN0KGFzc2VtYmx5LmdldFN0YWNrQXJ0aWZhY3QoJ3N0YWNrMScpLmlkKS50b0VxdWFsKCdzdGFjazEnKTtcbn0pO1xuXG50ZXN0KCdkaXNwbGF5TmFtZSBzaG93cyBib3RoIGFydGlmYWN0IElEIGFuZCBzdGFjayBuYW1lIGlmIG5lZWRlZCcsICgpID0+IHtcbiAgY29uc3QgYTEgPSBuZXcgQ2xvdWRBc3NlbWJseShwYXRoLmpvaW4oRklYVFVSRVMsICdtdWx0aXBsZS1zdGFja3Mtc2FtZS1uYW1lJykpO1xuICBleHBlY3QoYTEuZ2V0U3RhY2tBcnRpZmFjdCgnc3RhY2sxJykuZGlzcGxheU5hbWUpLnRvU3RyaWN0RXF1YWwoJ3N0YWNrMSAodGhlLXBoeXNpY2FsLW5hbWUtb2YtdGhlLXN0YWNrKScpO1xuICBleHBlY3QoYTEuZ2V0U3RhY2tBcnRpZmFjdCgnc3RhY2syJykuZGlzcGxheU5hbWUpLnRvU3RyaWN0RXF1YWwoJ3N0YWNrMiAodGhlLXBoeXNpY2FsLW5hbWUtb2YtdGhlLXN0YWNrKScpO1xuXG4gIGNvbnN0IGEyID0gbmV3IENsb3VkQXNzZW1ibHkocGF0aC5qb2luKEZJWFRVUkVTLCAnc2luZ2xlLXN0YWNrJykpO1xuICBjb25zdCBhcnQxID0gYTIuZ2V0U3RhY2tBcnRpZmFjdCgnTXlTdGFja05hbWUnKTtcbiAgY29uc3QgYXJ0MiA9IGEyLmdldFN0YWNrQnlOYW1lKCdNeVN0YWNrTmFtZScpO1xuXG4gIGV4cGVjdChhcnQxKS50b0JlKGFydDIpO1xuICBleHBlY3QoYXJ0MS5kaXNwbGF5TmFtZSkudG9CZSgnTXlTdGFja05hbWUnKTtcbiAgZXhwZWN0KGFydDEuaWQpLnRvQmUoJ015U3RhY2tOYW1lJyk7XG4gIGV4cGVjdChhcnQxLnN0YWNrTmFtZSkudG9CZSgnTXlTdGFja05hbWUnKTtcbn0pO1xuIl19

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc