Socket
Socket
Sign inDemoInstall

@glimmer/syntax

Package Overview
Dependencies
Maintainers
12
Versions
288
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@glimmer/syntax - npm Package Compare versions

Comparing version 0.73.2 to 0.74.0

12

dist/commonjs/es2017/lib/symbol-table.js

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

var _utils = require("./utils");
var __classPrivateFieldSet = void 0 && (void 0).__classPrivateFieldSet || function (receiver, privateMap, value) {

@@ -97,7 +99,9 @@ if (!privateMap.has(receiver)) {

allocateFree(name, resolution) {
// If the name in question is an uppercase (i.e. angle-bracket) component invocation, run
// the optional `customizeComponentName` function provided to the precompiler.
if (resolution.resolution() === 39
/* GetFreeAsComponentHead */
) {
name = this.customizeComponentName(name);
}
&& resolution.isAngleBracket && (0, _utils.isUpperCase)(name)) {
name = this.customizeComponentName(name);
}

@@ -204,2 +208,2 @@ let index = this.upvars.indexOf(name);

exports.BlockSymbolTable = BlockSymbolTable;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvc3ltYm9sLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSU0sTUFBQSxXQUFBLENBQTJCO0FBQy9CLFNBQUEsR0FBQSxDQUFBLE1BQUEsRUFBQSxzQkFBQSxFQUVtRDtBQUVqRCxXQUFPLElBQUEsa0JBQUEsQ0FBQSxNQUFBLEVBQVAsc0JBQU8sQ0FBUDtBQUNEOztBQWVELEVBQUEsS0FBSyxDQUFBLE1BQUEsRUFBaUI7QUFDcEIsUUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFOLEdBQUEsQ0FBWSxJQUFELElBQVUsS0FBQSxRQUFBLENBQW5DLElBQW1DLENBQXJCLENBQWQ7QUFDQSxXQUFPLElBQUEsZ0JBQUEsQ0FBQSxJQUFBLEVBQUEsTUFBQSxFQUFQLE9BQU8sQ0FBUDtBQUNEOztBQXhCOEI7Ozs7QUEyQjNCLE1BQUEsa0JBQUEsU0FBQSxXQUFBLENBQTZDO0FBQ2pELEVBQUEsV0FBQSxDQUFBLGNBQUEsRUFBQSxzQkFBQSxFQUUyRDtBQUV6RDtBQUhRLFNBQUEsY0FBQSxHQUFBLGNBQUE7QUFDQSxTQUFBLHNCQUFBLEdBQUEsc0JBQUE7QUFLSCxTQUFBLE9BQUEsR0FBQSxFQUFBO0FBQ0EsU0FBQSxNQUFBLEdBQUEsRUFBQTtBQUVDLFNBQUEsSUFBQSxHQUFBLENBQUE7QUFDQSxTQUFBLEtBQUEsR0FBQSxpQkFBQTtBQUNBLFNBQUEsTUFBQSxHQUFBLGlCQUFBO0FBQ0EsU0FBQSxrQkFBQSxHQUFBLEVBQUE7O0FBRVIsSUFBQSxRQUFBLENBQUEsR0FBQSxDQUFBLElBQUEsRUFBQSxLQUFBO0FBVkM7O0FBWUQsRUFBQSxxQkFBcUIsR0FBQTtBQUNuQixXQUFPLEtBQVAsa0JBQUE7QUFDRDs7QUFFRCxFQUFBLFVBQVUsR0FBQTtBQUNSLElBQUEsc0JBQUEsQ0FBQSxJQUFBLEVBQUEsUUFBQSxFQUFBLElBQUEs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QSxNQUFBLENBQUEsYUFBQSxDQUFQLElBQU8sQ0FBUDtBQUNEOztBQUVELEVBQUEsYUFBYSxDQUFBLElBQUEsRUFBYTtBQUN4QixXQUFPLEtBQUEsTUFBQSxDQUFBLGFBQUEsQ0FBUCxJQUFPLENBQVA7QUFDRDs7QUFFRCxFQUFBLFFBQVEsQ0FBQSxVQUFBLEVBQW1CO0FBQ3pCLFdBQU8sS0FBQSxNQUFBLENBQUEsUUFBQSxDQUFQLFVBQU8sQ0FBUDtBQUNEOztBQS9DOEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3JlLCBEaWN0LCBTZXhwT3Bjb2RlcyB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZGljdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuXG5pbXBvcnQgeyBBU1R2MiB9IGZyb20gJy4uJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFN5bWJvbFRhYmxlIHtcbiAgc3RhdGljIHRvcChcbiAgICBsb2NhbHM6IHN0cmluZ1tdLFxuICAgIGN1c3RvbWl6ZUNvbXBvbmVudE5hbWU6IChpbnB1dDogc3RyaW5nKSA9PiBzdHJpbmdcbiAgKTogUHJvZ3JhbVN5bWJvbFRhYmxlIHtcbiAgICByZXR1cm4gbmV3IFByb2dyYW1TeW1ib2xUYWJsZShsb2NhbHMsIGN1c3RvbWl6ZUNvbXBvbmVudE5hbWUpO1xuICB9XG5cbiAgYWJzdHJhY3QgaGFzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW47XG4gIGFic3RyYWN0IGdldChuYW1lOiBzdHJpbmcpOiBbc3ltYm9sOiBudW1iZXIsIGlzUm9vdDogYm9vbGVhbl07XG5cbiAgYWJzdHJhY3QgZ2V0TG9jYWxzTWFwKCk6IERpY3Q8bnVtYmVyPjtcbiAgYWJzdHJhY3QgZ2V0RXZhbEluZm8oKTogQ29yZS5FdmFsSW5mbztcblxuICBhYnN0cmFjdCBhbGxvY2F0ZUZyZWUobmFtZTogc3RyaW5nLCByZXNvbHV0aW9uOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbik6IG51bWJlcjtcbiAgYWJzdHJhY3QgYWxsb2NhdGVOYW1lZChuYW1lOiBzdHJpbmcpOiBudW1iZXI7XG4gIGFic3RyYWN0IGFsbG9jYXRlQmxvY2sobmFtZTogc3RyaW5nKTogbnVtYmVyO1xuICBhYnN0cmFjdCBhbGxvY2F0ZShpZGVudGlmaWVyOiBzdHJpbmcpOiBudW1iZXI7XG5cbiAgYWJzdHJhY3Qgc2V0SGFzRXZhbCgpOiB2b2lkO1xuXG4gIGNoaWxkKGxvY2Fsczogc3RyaW5nW10pOiBCbG9ja1N5bWJvbFRhYmxlIHtcbiAgICBsZXQgc3ltYm9scyA9IGxvY2Fscy5tYXAoKG5hbWUpID0+IHRoaXMuYWxsb2NhdGUobmFtZSkpO1xuICAgIHJldHVybiBuZXcgQmxvY2tTeW1ib2xUYWJsZSh0aGlzLCBsb2NhbHMsIHN5bWJvbHMpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9ncmFtU3ltYm9sVGFibGUgZXh0ZW5kcyBTeW1ib2xUYWJsZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGVtcGxhdGVMb2NhbHM6IHN0cmluZ1tdLFxuICAgIHByaXZhdGUgY3VzdG9taXplQ29tcG9uZW50TmFtZTogKGlucHV0OiBzdHJpbmcpID0+IHN0cmluZ1xuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIHN5bWJvbHM6IHN0cmluZ1tdID0gW107XG4gIHB1YmxpYyB1cHZhcnM6IHN0cmluZ1tdID0gW107XG5cbiAgcHJpdmF0ZSBzaXplID0gMTtcbiAgcHJpdmF0ZSBuYW1lZCA9IGRpY3Q8bnVtYmVyPigpO1xuICBwcml2YXRlIGJsb2NrcyA9IGRpY3Q8bnVtYmVyPigpO1xuICBwcml2YXRlIHVzZWRUZW1wbGF0ZUxvY2Fsczogc3RyaW5nW10gPSBbXTtcblxuICAjaGFzRXZhbCA9IGZhbHNlO1xuXG4gIGdldFVzZWRUZW1wbGF0ZUxvY2FscygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMudXNlZFRlbXBsYXRlTG9jYWxzO1xuICB9XG5cbiAgc2V0SGFzRXZhbCgpOiB2b2lkIHtcbiAgICB0aGlzLiNoYXNFdmFsID0gdHJ1ZTtcbiAgfVxuXG4gIGdldCBoYXNFdmFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNoYXNFdmFsO1xuICB9XG5cbiAgaGFzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlTG9jYWxzLmluZGV4T2YobmFtZSkgIT09IC0xO1xuICB9XG5cbiAgZ2V0KG5hbWU6IHN0cmluZyk6IFtudW1iZXIsIGJvb2xlYW5dIHtcbiAgICBsZXQgaW5kZXggPSB0aGlzLnVzZWRUZW1wbGF0ZUxvY2Fscy5pbmRleE9mKG5hbWUpO1xuXG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgcmV0dXJuIFtpbmRleCwgdHJ1ZV07XG4gICAgfVxuXG4gICAgaW5kZXggPSB0aGlzLnVzZWRUZW1wbGF0ZUxvY2Fscy5sZW5ndGg7XG4gICAgdGhpcy51c2VkVGVtcGxhdGVMb2NhbHMucHVzaChuYW1lKTtcbiAgICByZXR1cm4gW2luZGV4LCB0cnVlXTtcbiAgfVxuXG4gIGdldExvY2Fsc01hcCgpOiBEaWN0PG51bWJlcj4ge1xuICAgIHJldHVybiBkaWN0KCk7XG4gIH1cblxuICBnZXRFdmFsSW5mbygpOiBDb3JlLkV2YWxJbmZvIHtcbiAgICBsZXQgbG9jYWxzID0gdGhpcy5nZXRMb2NhbHNNYXAoKTtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMobG9jYWxzKS5tYXAoKHN5bWJvbCkgPT4gbG9jYWxzW3N5bWJvbF0pO1xuICB9XG5cbiAgYWxsb2NhdGVGcmVlKG5hbWU6IHN0cmluZywgcmVzb2x1dGlvbjogQVNUdjIuRnJlZVZhclJlc29sdXRpb24pOiBudW1iZXIge1xuICAgIGlmIChyZXNvbHV0aW9uLnJlc29sdXRpb24oKSA9PT0gU2V4cE9wY29kZXMuR2V0RnJlZUFzQ29tcG9uZW50SGVhZCkge1xuICAgICAgbmFtZSA9IHRoaXMuY3VzdG9taXplQ29tcG9uZW50TmFtZShuYW1lKTtcbiAgICB9XG5cbiAgICBsZXQgaW5kZXggPSB0aGlzLnVwdmFycy5pbmRleE9mKG5hbWUpO1xuXG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIGluZGV4ID0gdGhpcy51cHZhcnMubGVuZ3RoO1xuICAgIHRoaXMudXB2YXJzLnB1c2gobmFtZSk7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgYWxsb2NhdGVOYW1lZChuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGxldCBuYW1lZCA9IHRoaXMubmFtZWRbbmFtZV07XG5cbiAgICBpZiAoIW5hbWVkKSB7XG4gICAgICBuYW1lZCA9IHRoaXMubmFtZWRbbmFtZV0gPSB0aGlzLmFsbG9jYXRlKG5hbWUpO1xuICAgIH1cblxuICAgIHJldHVybiBuYW1lZDtcbiAgfVxuXG4gIGFsbG9jYXRlQmxvY2sobmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBpZiAobmFtZSA9PT0gJ2ludmVyc2UnKSB7XG4gICAgICBuYW1lID0gJ2Vsc2UnO1xuICAgIH1cblxuICAgIGxldCBibG9jayA9IHRoaXMuYmxvY2tzW25hbWVdO1xuXG4gICAgaWYgKCFibG9jaykge1xuICAgICAgYmxvY2sgPSB0aGlzLmJsb2Nrc1tuYW1lXSA9IHRoaXMuYWxsb2NhdGUoYCYke25hbWV9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJsb2NrO1xuICB9XG5cbiAgYWxsb2NhdGUoaWRlbnRpZmllcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICB0aGlzLnN5bWJvbHMucHVzaChpZGVudGlmaWVyKTtcbiAgICByZXR1cm4gdGhpcy5zaXplKys7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEJsb2NrU3ltYm9sVGFibGUgZXh0ZW5kcyBTeW1ib2xUYWJsZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFyZW50OiBTeW1ib2xUYWJsZSwgcHVibGljIHN5bWJvbHM6IHN0cmluZ1tdLCBwdWJsaWMgc2xvdHM6IG51bWJlcltdKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldCBsb2NhbHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbHM7XG4gIH1cblxuICBoYXMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3ltYm9scy5pbmRleE9mKG5hbWUpICE9PSAtMSB8fCB0aGlzLnBhcmVudC5oYXMobmFtZSk7XG4gIH1cblxuICBnZXQobmFtZTogc3RyaW5nKTogW251bWJlciwgYm9vbGVhbl0ge1xuICAgIGxldCBzbG90ID0gdGhpcy5zeW1ib2xzLmluZGV4T2YobmFtZSk7XG4gICAgcmV0dXJuIHNsb3QgPT09IC0xID8gdGhpcy5wYXJlbnQuZ2V0KG5hbWUpIDogW3RoaXMuc2xvdHNbc2xvdF0sIGZhbHNlXTtcbiAgfVxuXG4gIGdldExvY2Fsc01hcCgpOiBEaWN0PG51bWJlcj4ge1xuICAgIGxldCBkaWN0ID0gdGhpcy5wYXJlbnQuZ2V0TG9jYWxzTWFwKCk7XG4gICAgdGhpcy5zeW1ib2xzLmZvckVhY2goKHN5bWJvbCkgPT4gKGRpY3Rbc3ltYm9sXSA9IHRoaXMuZ2V0KHN5bWJvbClbMF0pKTtcbiAgICByZXR1cm4gZGljdDtcbiAgfVxuXG4gIGdldEV2YWxJbmZvKCk6IENvcmUuRXZhbEluZm8ge1xuICAgIGxldCBsb2NhbHMgPSB0aGlzLmdldExvY2Fsc01hcCgpO1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhsb2NhbHMpLm1hcCgoc3ltYm9sKSA9PiBsb2NhbHNbc3ltYm9sXSk7XG4gIH1cblxuICBzZXRIYXNFdmFsKCk6IHZvaWQge1xuICAgIHRoaXMucGFyZW50LnNldEhhc0V2YWwoKTtcbiAgfVxuXG4gIGFsbG9jYXRlRnJlZShuYW1lOiBzdHJpbmcsIHJlc29sdXRpb246IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuYWxsb2NhdGVGcmVlKG5hbWUsIHJlc29sdXRpb24pO1xuICB9XG5cbiAgYWxsb2NhdGVOYW1lZChuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5hbGxvY2F0ZU5hbWVkKG5hbWUpO1xuICB9XG5cbiAgYWxsb2NhdGVCbG9jayhuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5hbGxvY2F0ZUJsb2NrKG5hbWUpO1xuICB9XG5cbiAgYWxsb2NhdGUoaWRlbnRpZmllcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuYWxsb2NhdGUoaWRlbnRpZmllcik7XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvc3ltYm9sLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQTs7QUFHQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRU0sTUFBQSxXQUFBLENBQTJCO0FBQy9CLFNBQUEsR0FBQSxDQUFBLE1BQUEsRUFBQSxzQkFBQSxFQUVtRDtBQUVqRCxXQUFPLElBQUEsa0JBQUEsQ0FBQSxNQUFBLEVBQVAsc0JBQU8sQ0FBUDtBQUNEOztBQWVELEVBQUEsS0FBSyxDQUFBLE1BQUEsRUFBaUI7QUFDcEIsUUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFOLEdBQUEsQ0FBWSxJQUFELElBQVUsS0FBQSxRQUFBLENBQW5DLElBQW1DLENBQXJCLENBQWQ7QUFDQSxXQUFPLElBQUEsZ0JBQUEsQ0FBQSxJQUFBLEVBQUEsTUFBQSxFQUFQLE9BQU8sQ0FBUDtBQUNEOztBQXhCOEI7Ozs7QUEyQjNCLE1BQUEsa0JBQUEsU0FBQSxXQUFBLENBQTZDO0FBQ2pELEVBQUEsV0FBQSxDQUFBLGNBQUEsRUFBQSxzQkFBQSxFQUUyRDtBQUV6RDtBQUhRLFNBQUEsY0FBQSxHQUFBLGNBQUE7QUFDQSxTQUFBLHNCQUFBLEdBQUEsc0JBQUE7QUFLSCxTQUFBLE9BQUEsR0FBQSxFQUFBO0FBQ0EsU0FBQSxNQUFBLEdBQUEsRUFBQTtBQUVDLFNBQUEsSUFBQSxHQUFBLENBQUE7QUFDQSxTQUFBLEtBQUEsR0FBQSxpQkFBQTtBQUNBLFNBQUEsTUFBQSxHQUFBLGlCQUFBO0FBQ0EsU0FBQSxrQkFBQSxHQUFBLEVBQUE7O0FBRVIsSUFBQSxRQUFBLENBQUEsR0FBQSxDQUFBLElBQUEsRUFBQSxLQUFBO0FBVkM7O0FBWUQsRUFBQSxxQkFBcUIsR0FBQTtBQUNuQixXQUFPLEtBQVAsa0JBQUE7QUFDRDs7QUFFRCxFQUFBLFVBQVUsR0FBQTtBQUNSLElBQUEsc0JBQUEsQ0FBQSxJQUFBLEVBQUEsUUFBQSxFQUFB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Q0FBUDtBQUNEOztBQUVELEVBQUEsYUFBYSxDQUFBLElBQUEsRUFBYTtBQUN4QixXQUFPLEtBQUEsTUFBQSxDQUFBLGFBQUEsQ0FBUCxJQUFPLENBQVA7QUFDRDs7QUFFRCxFQUFBLGFBQWEsQ0FBQSxJQUFBLEVBQWE7QUFDeEIsV0FBTyxLQUFBLE1BQUEsQ0FBQSxhQUFBLENBQVAsSUFBTyxDQUFQO0FBQ0Q7O0FBRUQsRUFBQSxRQUFRLENBQUEsVUFBQSxFQUFtQjtBQUN6QixXQUFPLEtBQUEsTUFBQSxDQUFBLFFBQUEsQ0FBUCxVQUFPLENBQVA7QUFDRDs7QUEvQzhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZSwgRGljdCwgU2V4cE9wY29kZXMgfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGRpY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcblxuaW1wb3J0IHsgQVNUdjIgfSBmcm9tICcuLic7XG5pbXBvcnQgeyBpc1VwcGVyQ2FzZSB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU3ltYm9sVGFibGUge1xuICBzdGF0aWMgdG9wKFxuICAgIGxvY2Fsczogc3RyaW5nW10sXG4gICAgY3VzdG9taXplQ29tcG9uZW50TmFtZTogKGlucHV0OiBzdHJpbmcpID0+IHN0cmluZ1xuICApOiBQcm9ncmFtU3ltYm9sVGFibGUge1xuICAgIHJldHVybiBuZXcgUHJvZ3JhbVN5bWJvbFRhYmxlKGxvY2FscywgY3VzdG9taXplQ29tcG9uZW50TmFtZSk7XG4gIH1cblxuICBhYnN0cmFjdCBoYXMobmFtZTogc3RyaW5nKTogYm9vbGVhbjtcbiAgYWJzdHJhY3QgZ2V0KG5hbWU6IHN0cmluZyk6IFtzeW1ib2w6IG51bWJlciwgaXNSb290OiBib29sZWFuXTtcblxuICBhYnN0cmFjdCBnZXRMb2NhbHNNYXAoKTogRGljdDxudW1iZXI+O1xuICBhYnN0cmFjdCBnZXRFdmFsSW5mbygpOiBDb3JlLkV2YWxJbmZvO1xuXG4gIGFic3RyYWN0IGFsbG9jYXRlRnJlZShuYW1lOiBzdHJpbmcsIHJlc29sdXRpb246IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uKTogbnVtYmVyO1xuICBhYnN0cmFjdCBhbGxvY2F0ZU5hbWVkKG5hbWU6IHN0cmluZyk6IG51bWJlcjtcbiAgYWJzdHJhY3QgYWxsb2NhdGVCbG9jayhuYW1lOiBzdHJpbmcpOiBudW1iZXI7XG4gIGFic3RyYWN0IGFsbG9jYXRlKGlkZW50aWZpZXI6IHN0cmluZyk6IG51bWJlcjtcblxuICBhYnN0cmFjdCBzZXRIYXNFdmFsKCk6IHZvaWQ7XG5cbiAgY2hpbGQobG9jYWxzOiBzdHJpbmdbXSk6IEJsb2NrU3ltYm9sVGFibGUge1xuICAgIGxldCBzeW1ib2xzID0gbG9jYWxzLm1hcCgobmFtZSkgPT4gdGhpcy5hbGxvY2F0ZShuYW1lKSk7XG4gICAgcmV0dXJuIG5ldyBCbG9ja1N5bWJvbFRhYmxlKHRoaXMsIGxvY2Fscywgc3ltYm9scyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFByb2dyYW1TeW1ib2xUYWJsZSBleHRlbmRzIFN5bWJvbFRhYmxlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZUxvY2Fsczogc3RyaW5nW10sXG4gICAgcHJpdmF0ZSBjdXN0b21pemVDb21wb25lbnROYW1lOiAoaW5wdXQ6IHN0cmluZykgPT4gc3RyaW5nXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgc3ltYm9sczogc3RyaW5nW10gPSBbXTtcbiAgcHVibGljIHVwdmFyczogc3RyaW5nW10gPSBbXTtcblxuICBwcml2YXRlIHNpemUgPSAxO1xuICBwcml2YXRlIG5hbWVkID0gZGljdDxudW1iZXI+KCk7XG4gIHByaXZhdGUgYmxvY2tzID0gZGljdDxudW1iZXI+KCk7XG4gIHByaXZhdGUgdXNlZFRlbXBsYXRlTG9jYWxzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICNoYXNFdmFsID0gZmFsc2U7XG5cbiAgZ2V0VXNlZFRlbXBsYXRlTG9jYWxzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy51c2VkVGVtcGxhdGVMb2NhbHM7XG4gIH1cblxuICBzZXRIYXNFdmFsKCk6IHZvaWQge1xuICAgIHRoaXMuI2hhc0V2YWwgPSB0cnVlO1xuICB9XG5cbiAgZ2V0IGhhc0V2YWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI2hhc0V2YWw7XG4gIH1cblxuICBoYXMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVMb2NhbHMuaW5kZXhPZihuYW1lKSAhPT0gLTE7XG4gIH1cblxuICBnZXQobmFtZTogc3RyaW5nKTogW251bWJlciwgYm9vbGVhbl0ge1xuICAgIGxldCBpbmRleCA9IHRoaXMudXNlZFRlbXBsYXRlTG9jYWxzLmluZGV4T2YobmFtZSk7XG5cbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICByZXR1cm4gW2luZGV4LCB0cnVlXTtcbiAgICB9XG5cbiAgICBpbmRleCA9IHRoaXMudXNlZFRlbXBsYXRlTG9jYWxzLmxlbmd0aDtcbiAgICB0aGlzLnVzZWRUZW1wbGF0ZUxvY2Fscy5wdXNoKG5hbWUpO1xuICAgIHJldHVybiBbaW5kZXgsIHRydWVdO1xuICB9XG5cbiAgZ2V0TG9jYWxzTWFwKCk6IERpY3Q8bnVtYmVyPiB7XG4gICAgcmV0dXJuIGRpY3QoKTtcbiAgfVxuXG4gIGdldEV2YWxJbmZvKCk6IENvcmUuRXZhbEluZm8ge1xuICAgIGxldCBsb2NhbHMgPSB0aGlzLmdldExvY2Fsc01hcCgpO1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhsb2NhbHMpLm1hcCgoc3ltYm9sKSA9PiBsb2NhbHNbc3ltYm9sXSk7XG4gIH1cblxuICBhbGxvY2F0ZUZyZWUobmFtZTogc3RyaW5nLCByZXNvbHV0aW9uOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbik6IG51bWJlciB7XG4gICAgLy8gSWYgdGhlIG5hbWUgaW4gcXVlc3Rpb24gaXMgYW4gdXBwZXJjYXNlIChpLmUuIGFuZ2xlLWJyYWNrZXQpIGNvbXBvbmVudCBpbnZvY2F0aW9uLCBydW5cbiAgICAvLyB0aGUgb3B0aW9uYWwgYGN1c3RvbWl6ZUNvbXBvbmVudE5hbWVgIGZ1bmN0aW9uIHByb3ZpZGVkIHRvIHRoZSBwcmVjb21waWxlci5cbiAgICBpZiAoXG4gICAgICByZXNvbHV0aW9uLnJlc29sdXRpb24oKSA9PT0gU2V4cE9wY29kZXMuR2V0RnJlZUFzQ29tcG9uZW50SGVhZCAmJlxuICAgICAgcmVzb2x1dGlvbi5pc0FuZ2xlQnJhY2tldCAmJlxuICAgICAgaXNVcHBlckNhc2UobmFtZSlcbiAgICApIHtcbiAgICAgIG5hbWUgPSB0aGlzLmN1c3RvbWl6ZUNvbXBvbmVudE5hbWUobmFtZSk7XG4gICAgfVxuXG4gICAgbGV0IGluZGV4ID0gdGhpcy51cHZhcnMuaW5kZXhPZihuYW1lKTtcblxuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG5cbiAgICBpbmRleCA9IHRoaXMudXB2YXJzLmxlbmd0aDtcbiAgICB0aGlzLnVwdmFycy5wdXNoKG5hbWUpO1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIGFsbG9jYXRlTmFtZWQobmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBsZXQgbmFtZWQgPSB0aGlzLm5hbWVkW25hbWVdO1xuXG4gICAgaWYgKCFuYW1lZCkge1xuICAgICAgbmFtZWQgPSB0aGlzLm5hbWVkW25hbWVdID0gdGhpcy5hbGxvY2F0ZShuYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmFtZWQ7XG4gIH1cblxuICBhbGxvY2F0ZUJsb2NrKG5hbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgaWYgKG5hbWUgPT09ICdpbnZlcnNlJykge1xuICAgICAgbmFtZSA9ICdlbHNlJztcbiAgICB9XG5cbiAgICBsZXQgYmxvY2sgPSB0aGlzLmJsb2Nrc1tuYW1lXTtcblxuICAgIGlmICghYmxvY2spIHtcbiAgICAgIGJsb2NrID0gdGhpcy5ibG9ja3NbbmFtZV0gPSB0aGlzLmFsbG9jYXRlKGAmJHtuYW1lfWApO1xuICAgIH1cblxuICAgIHJldHVybiBibG9jaztcbiAgfVxuXG4gIGFsbG9jYXRlKGlkZW50aWZpZXI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgdGhpcy5zeW1ib2xzLnB1c2goaWRlbnRpZmllcik7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSsrO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBCbG9ja1N5bWJvbFRhYmxlIGV4dGVuZHMgU3ltYm9sVGFibGUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudDogU3ltYm9sVGFibGUsIHB1YmxpYyBzeW1ib2xzOiBzdHJpbmdbXSwgcHVibGljIHNsb3RzOiBudW1iZXJbXSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBnZXQgbG9jYWxzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5zeW1ib2xzO1xuICB9XG5cbiAgaGFzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbHMuaW5kZXhPZihuYW1lKSAhPT0gLTEgfHwgdGhpcy5wYXJlbnQuaGFzKG5hbWUpO1xuICB9XG5cbiAgZ2V0KG5hbWU6IHN0cmluZyk6IFtudW1iZXIsIGJvb2xlYW5dIHtcbiAgICBsZXQgc2xvdCA9IHRoaXMuc3ltYm9scy5pbmRleE9mKG5hbWUpO1xuICAgIHJldHVybiBzbG90ID09PSAtMSA/IHRoaXMucGFyZW50LmdldChuYW1lKSA6IFt0aGlzLnNsb3RzW3Nsb3RdLCBmYWxzZV07XG4gIH1cblxuICBnZXRMb2NhbHNNYXAoKTogRGljdDxudW1iZXI+IHtcbiAgICBsZXQgZGljdCA9IHRoaXMucGFyZW50LmdldExvY2Fsc01hcCgpO1xuICAgIHRoaXMuc3ltYm9scy5mb3JFYWNoKChzeW1ib2wpID0+IChkaWN0W3N5bWJvbF0gPSB0aGlzLmdldChzeW1ib2wpWzBdKSk7XG4gICAgcmV0dXJuIGRpY3Q7XG4gIH1cblxuICBnZXRFdmFsSW5mbygpOiBDb3JlLkV2YWxJbmZvIHtcbiAgICBsZXQgbG9jYWxzID0gdGhpcy5nZXRMb2NhbHNNYXAoKTtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMobG9jYWxzKS5tYXAoKHN5bWJvbCkgPT4gbG9jYWxzW3N5bWJvbF0pO1xuICB9XG5cbiAgc2V0SGFzRXZhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnBhcmVudC5zZXRIYXNFdmFsKCk7XG4gIH1cblxuICBhbGxvY2F0ZUZyZWUobmFtZTogc3RyaW5nLCByZXNvbHV0aW9uOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmFsbG9jYXRlRnJlZShuYW1lLCByZXNvbHV0aW9uKTtcbiAgfVxuXG4gIGFsbG9jYXRlTmFtZWQobmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuYWxsb2NhdGVOYW1lZChuYW1lKTtcbiAgfVxuXG4gIGFsbG9jYXRlQmxvY2sobmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuYWxsb2NhdGVCbG9jayhuYW1lKTtcbiAgfVxuXG4gIGFsbG9jYXRlKGlkZW50aWZpZXI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmFsbG9jYXRlKGlkZW50aWZpZXIpO1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9

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

exports.printLiteral = printLiteral;
exports.isUpperCase = isUpperCase;
exports.isLowerCase = isLowerCase;

@@ -99,2 +101,10 @@ var _syntaxError = require("./syntax-error");

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQTs7QUFJQTtBQUNBO0FBRUEsSUFBSSxrQkFBa0IsR0FBdEIsNEJBQUEsQyxDQUVBO0FBQ0E7QUFDQTs7QUFFTSxTQUFBLHVCQUFBLENBQUEsT0FBQSxFQUE0RDtBQUNoRSxNQUFJLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBN0IsT0FBNkIsQ0FBN0I7QUFDQSxNQUFBLE1BQUEsRUFBWSxPQUFPLENBQVAsV0FBQSxHQUFBLE1BQUE7QUFDYjs7QUFFRCxTQUFBLGdCQUFBLENBQUEsT0FBQSxFQUFvRDtBQUNsRCxNQUFJLENBQUMsR0FBRyxPQUFPLENBQVAsVUFBQSxDQUFSLE1BQUE7QUFDQSxNQUFJLFNBQVMsR0FBYixFQUFBOztBQUVBLE9BQUssSUFBSSxDQUFDLEdBQVYsQ0FBQSxFQUFnQixDQUFDLEdBQWpCLENBQUEsRUFBdUIsQ0FBdkIsRUFBQSxFQUE0QjtBQUMxQixJQUFBLFNBQVMsQ0FBVCxJQUFBLENBQWUsT0FBTyxDQUFQLFVBQUEsQ0FBQSxDQUFBLEVBQWYsSUFBQTtBQUNEOztBQUVELE1BQUksT0FBTyxHQUFHLFNBQVMsQ0FBVCxPQUFBLENBQWQsSUFBYyxDQUFkOztBQUVBLE1BQUksT0FBTyxLQUFLLENBQVosQ0FBQSxJQUFrQixTQUFTLENBQVQsTUFBQSxHQUFsQixDQUFBLElBQTBDLFNBQVMsQ0FBQyxTQUFTLENBQVQsTUFBQSxHQUFWLENBQVMsQ0FBVCxDQUFBLE1BQUEsQ0FBQSxDQUFBLE1BQTlDLEdBQUEsRUFBaUc7QUFDL0YsVUFBTSxzQ0FBbUIsK0ZBQW5CLEVBRUosT0FBTyxDQUZULEdBQU0sQ0FBTjtBQUlEOztBQUVELE1BQUksT0FBTyxLQUFLLENBQVosQ0FBQSxJQUFrQixDQUFDLEdBQW5CLE9BQUEsSUFBaUMsU0FBUyxDQUFDLE9BQU8sR0FBakIsQ0FBUyxDQUFULENBQUEsTUFBQSxDQUFBLENBQUEsTUFBckMsR0FBQSxFQUErRTtBQUM3RTtBQUNBLFFBQUksWUFBWSxHQUFHLFNBQVMsQ0FBVCxLQUFBLENBQUEsT0FBQSxFQUFBLElBQUEsQ0FBbkIsR0FBbUIsQ0FBbkI7O0FBQ0EsUUFDRSxZQUFZLENBQVosTUFBQSxDQUFvQixZQUFZLENBQVosTUFBQSxHQUFwQixDQUFBLE1BQUEsR0FBQSxJQUNPLFlBQVksQ0FBWixLQUFBLENBQVAsS0FBTyxFQUFQLE1BQU8sS0FGVCxDQUFBLEVBR0U7QUFDQSxZQUFNLHNDQUNKLHVDQUFBLFlBQUEsR0FEdUIsR0FBbkIsRUFFSixPQUFPLENBRlQsR0FBTSxDQUFOO0FBSUQ7O0FBRUQsUUFBSSxNQUFNLEdBQVYsRUFBQTs7QUFDQSxTQUFLLElBQUksQ0FBQyxHQUFHLE9BQU8sR0FBcEIsQ0FBQSxFQUEwQixDQUFDLEdBQTNCLENBQUEsRUFBaUMsQ0FBakMsRUFBQSxFQUFzQztBQUNwQyxVQUFJLEtBQUssR0FBRyxTQUFTLENBQVQsQ0FBUyxDQUFULENBQUEsT0FBQSxDQUFBLEtBQUEsRUFBWixFQUFZLENBQVo7O0FBQ0EsVUFBSSxLQUFLLEtBQVQsRUFBQSxFQUFrQjtBQUNoQixZQUFJLGtCQUFrQixDQUFsQixJQUFBLENBQUosS0FBSSxDQUFKLEVBQW9DO0FBQ2xDLGdCQUFNLHNDQUNKLCtDQUFBLEtBQUEsR0FEdUIsR0FBbkIsRUFFSixPQUFPLENBRlQsR0FBTSxDQUFOO0FBSUQ7O0FBQ0QsUUFBQSxNQUFNLENBQU4sSUFBQSxDQUFBLEtBQUE7QUFDRDtBQUNGOztBQUVELFFBQUksTUFBTSxDQUFOLE1BQUEsS0FBSixDQUFBLEVBQXlCO0FBQ3ZCLFlBQU0sc0NBQW1CLGtDQUFuQixFQUF3RCxPQUFPLENBQXJFLEdBQU0sQ0FBTjtBQUNEOztBQUVELElBQUEsT0FBTyxDQUFQLFVBQUEsR0FBcUIsT0FBTyxDQUFQLFVBQUEsQ0FBQSxLQUFBLENBQUEsQ0FBQSxFQUFyQixPQUFxQixDQUFyQjtBQUNBLFdBQUEsTUFBQTtBQUNEOztBQUVELFNBQUEsSUFBQTtBQUNEOztBQUVLLFNBQUEsV0FBQSxDQUFBLElBQUEsRUFDa0Q7QUFFdEQsVUFBUSxJQUFJLENBQVosSUFBQTtBQUNFLFNBQUEsT0FBQTtBQUNBLFNBQUEsVUFBQTtBQUNFLGFBQU8sSUFBSSxDQUFYLElBQUE7O0FBQ0YsU0FBQSxhQUFBO0FBQ0UsYUFBTyxJQUFJLENBQVgsUUFBQTtBQUxKO0FBT0Q7O0FBRUssU0FBQSxXQUFBLENBQUEsTUFBQSxFQUFBLElBQUEsRUFFaUI7QUFFckIsRUFBQSxXQUFXLENBQVgsTUFBVyxDQUFYLENBQUEsSUFBQSxDQUFBLElBQUE7QUFDRDs7QUFJSyxTQUFBLFlBQUEsQ0FBQSxJQUFBLEVBQ21DO0FBRXZDLFNBQ0UsSUFBSSxDQUFKLElBQUEsS0FBQSxlQUFBLElBQ0EsSUFBSSxDQUFKLElBQUEsS0FEQSxnQkFBQSxJQUVBLElBQUksQ0FBSixJQUFBLEtBRkEsZUFBQSxJQUdBLElBQUksQ0FBSixJQUFBLEtBSEEsYUFBQSxJQUlBLElBQUksQ0FBSixJQUFBLEtBTEYsa0JBQUE7QUFPRDs7QUFFSyxTQUFBLFlBQUEsQ0FBQSxPQUFBLEVBQTZDO0FBQ2pELE1BQUksT0FBTyxDQUFQLElBQUEsS0FBSixrQkFBQSxFQUF5QztBQUN2QyxXQUFBLFdBQUE7QUFERixHQUFBLE1BRU87QUFDTCxXQUFPLElBQUksQ0FBSixTQUFBLENBQWUsT0FBTyxDQUE3QixLQUFPLENBQVA7QUFDRDtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBleHBlY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcblxuaW1wb3J0IHsgZ2VuZXJhdGVTeW50YXhFcnJvciB9IGZyb20gJy4vc3ludGF4LWVycm9yJztcbmltcG9ydCAqIGFzIEFTVHYxIGZyb20gJy4vdjEvYXBpJztcbmltcG9ydCAqIGFzIEhCUyBmcm9tICcuL3YxL2hhbmRsZWJhcnMtYXN0JztcblxuLy8gUmVnZXggdG8gdmFsaWRhdGUgdGhlIGlkZW50aWZpZXIgZm9yIGJsb2NrIHBhcmFtZXRlcnMuXG4vLyBCYXNlZCBvbiB0aGUgSUQgdmFsaWRhdGlvbiByZWdleCBpbiBIYW5kbGViYXJzLlxuXG5sZXQgSURfSU5WRVJTRV9QQVRURVJOID0gL1shXCIjJS0sXFwuXFwvOy0+QFxcWy1cXF5gXFx7LX5dLztcblxuLy8gQ2hlY2tzIHRoZSBlbGVtZW50J3MgYXR0cmlidXRlcyB0byBzZWUgaWYgaXQgdXNlcyBibG9jayBwYXJhbXMuXG4vLyBJZiBpdCBkb2VzLCByZWdpc3RlcnMgdGhlIGJsb2NrIHBhcmFtcyB3aXRoIHRoZSBwcm9ncmFtIGFuZFxuLy8gcmVtb3ZlcyB0aGUgY29ycmVzcG9uZGluZyBhdHRyaWJ1dGVzIGZyb20gdGhlIGVsZW1lbnQuXG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUVsZW1lbnRCbG9ja1BhcmFtcyhlbGVtZW50OiBBU1R2MS5FbGVtZW50Tm9kZSk6IHZvaWQge1xuICBsZXQgcGFyYW1zID0gcGFyc2VCbG9ja1BhcmFtcyhlbGVtZW50KTtcbiAgaWYgKHBhcmFtcykgZWxlbWVudC5ibG9ja1BhcmFtcyA9IHBhcmFtcztcbn1cblxuZnVuY3Rpb24gcGFyc2VCbG9ja1BhcmFtcyhlbGVtZW50OiBBU1R2MS5FbGVtZW50Tm9kZSk6IE9wdGlvbjxzdHJpbmdbXT4ge1xuICBsZXQgbCA9IGVsZW1lbnQuYXR0cmlidXRlcy5sZW5ndGg7XG4gIGxldCBhdHRyTmFtZXMgPSBbXTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgIGF0dHJOYW1lcy5wdXNoKGVsZW1lbnQuYXR0cmlidXRlc1tpXS5uYW1lKTtcbiAgfVxuXG4gIGxldCBhc0luZGV4ID0gYXR0ck5hbWVzLmluZGV4T2YoJ2FzJyk7XG5cbiAgaWYgKGFzSW5kZXggPT09IC0xICYmIGF0dHJOYW1lcy5sZW5ndGggPiAwICYmIGF0dHJOYW1lc1thdHRyTmFtZXMubGVuZ3RoIC0gMV0uY2hhckF0KDApID09PSAnfCcpIHtcbiAgICB0aHJvdyBnZW5lcmF0ZVN5bnRheEVycm9yKFxuICAgICAgJ0Jsb2NrIHBhcmFtZXRlcnMgbXVzdCBiZSBwcmVjZWRlZCBieSB0aGUgYGFzYCBrZXl3b3JkLCBkZXRlY3RlZCBibG9jayBwYXJhbWV0ZXJzIHdpdGhvdXQgYGFzYCcsXG4gICAgICBlbGVtZW50LmxvY1xuICAgICk7XG4gIH1cblxuICBpZiAoYXNJbmRleCAhPT0gLTEgJiYgbCA+IGFzSW5kZXggJiYgYXR0ck5hbWVzW2FzSW5kZXggKyAxXS5jaGFyQXQoMCkgPT09ICd8Jykge1xuICAgIC8vIFNvbWUgYmFzaWMgdmFsaWRhdGlvbiwgc2luY2Ugd2UncmUgZG9pbmcgdGhlIHBhcnNpbmcgb3Vyc2VsdmVzXG4gICAgbGV0IHBhcmFtc1N0cmluZyA9IGF0dHJOYW1lcy5zbGljZShhc0luZGV4KS5qb2luKCcgJyk7XG4gICAgaWYgKFxuICAgICAgcGFyYW1zU3RyaW5nLmNoYXJBdChwYXJhbXNTdHJpbmcubGVuZ3RoIC0gMSkgIT09ICd8JyB8fFxuICAgICAgZXhwZWN0KHBhcmFtc1N0cmluZy5tYXRjaCgvXFx8L2cpLCBgYmxvY2sgcGFyYW1zIG11c3QgZXhpc3QgaGVyZWApLmxlbmd0aCAhPT0gMlxuICAgICkge1xuICAgICAgdGhyb3cgZ2VuZXJhdGVTeW50YXhFcnJvcihcbiAgICAgICAgXCJJbnZhbGlkIGJsb2NrIHBhcmFtZXRlcnMgc3ludGF4LCAnXCIgKyBwYXJhbXNTdHJpbmcgKyBcIidcIixcbiAgICAgICAgZWxlbWVudC5sb2NcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IHBhcmFtcyA9IFtdO1xuICAgIGZvciAobGV0IGkgPSBhc0luZGV4ICsgMTsgaSA8IGw7IGkrKykge1xuICAgICAgbGV0IHBhcmFtID0gYXR0ck5hbWVzW2ldLnJlcGxhY2UoL1xcfC9nLCAnJyk7XG4gICAgICBpZiAocGFyYW0gIT09ICcnKSB7XG4gICAgICAgIGlmIChJRF9JTlZFUlNFX1BBVFRFUk4udGVzdChwYXJhbSkpIHtcbiAgICAgICAgICB0aHJvdyBnZW5lcmF0ZVN5bnRheEVycm9yKFxuICAgICAgICAgICAgXCJJbnZhbGlkIGlkZW50aWZpZXIgZm9yIGJsb2NrIHBhcmFtZXRlcnMsICdcIiArIHBhcmFtICsgXCInXCIsXG4gICAgICAgICAgICBlbGVtZW50LmxvY1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcGFyYW1zLnB1c2gocGFyYW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwYXJhbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBnZW5lcmF0ZVN5bnRheEVycm9yKCdDYW5ub3QgdXNlIHplcm8gYmxvY2sgcGFyYW1ldGVycycsIGVsZW1lbnQubG9jKTtcbiAgICB9XG5cbiAgICBlbGVtZW50LmF0dHJpYnV0ZXMgPSBlbGVtZW50LmF0dHJpYnV0ZXMuc2xpY2UoMCwgYXNJbmRleCk7XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hpbGRyZW5Gb3IoXG4gIG5vZGU6IEFTVHYxLkJsb2NrIHwgQVNUdjEuVGVtcGxhdGUgfCBBU1R2MS5FbGVtZW50Tm9kZVxuKTogQVNUdjEuVG9wTGV2ZWxTdGF0ZW1lbnRbXSB7XG4gIHN3aXRjaCAobm9kZS50eXBlKSB7XG4gICAgY2FzZSAnQmxvY2snOlxuICAgIGNhc2UgJ1RlbXBsYXRlJzpcbiAgICAgIHJldHVybiBub2RlLmJvZHk7XG4gICAgY2FzZSAnRWxlbWVudE5vZGUnOlxuICAgICAgcmV0dXJuIG5vZGUuY2hpbGRyZW47XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZENoaWxkKFxuICBwYXJlbnQ6IEFTVHYxLkJsb2NrIHwgQVNUdjEuVGVtcGxhdGUgfCBBU1R2MS5FbGVtZW50Tm9kZSxcbiAgbm9kZTogQVNUdjEuU3RhdGVtZW50XG4pOiB2b2lkIHtcbiAgY2hpbGRyZW5Gb3IocGFyZW50KS5wdXNoKG5vZGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNIQlNMaXRlcmFsKHBhdGg6IEhCUy5FeHByZXNzaW9uKTogcGF0aCBpcyBIQlMuTGl0ZXJhbDtcbmV4cG9ydCBmdW5jdGlvbiBpc0hCU0xpdGVyYWwocGF0aDogQVNUdjEuRXhwcmVzc2lvbik6IHBhdGggaXMgQVNUdjEuTGl0ZXJhbDtcbmV4cG9ydCBmdW5jdGlvbiBpc0hCU0xpdGVyYWwoXG4gIHBhdGg6IEhCUy5FeHByZXNzaW9uIHwgQVNUdjEuRXhwcmVzc2lvblxuKTogcGF0aCBpcyBIQlMuTGl0ZXJhbCB8IEFTVHYxLkxpdGVyYWwge1xuICByZXR1cm4gKFxuICAgIHBhdGgudHlwZSA9PT0gJ1N0cmluZ0xpdGVyYWwnIHx8XG4gICAgcGF0aC50eXBlID09PSAnQm9vbGVhbkxpdGVyYWwnIHx8XG4gICAgcGF0aC50eXBlID09PSAnTnVtYmVyTGl0ZXJhbCcgfHxcbiAgICBwYXRoLnR5cGUgPT09ICdOdWxsTGl0ZXJhbCcgfHxcbiAgICBwYXRoLnR5cGUgPT09ICdVbmRlZmluZWRMaXRlcmFsJ1xuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRMaXRlcmFsKGxpdGVyYWw6IEFTVHYxLkxpdGVyYWwpOiBzdHJpbmcge1xuICBpZiAobGl0ZXJhbC50eXBlID09PSAnVW5kZWZpbmVkTGl0ZXJhbCcpIHtcbiAgICByZXR1cm4gJ3VuZGVmaW5lZCc7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGxpdGVyYWwudmFsdWUpO1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9
function isUpperCase(tag) {
return tag[0] === tag[0].toUpperCase() && tag[0] !== tag[0].toLowerCase();
}
function isLowerCase(tag) {
return tag[0] === tag[0].toLowerCase() && tag[0] !== tag[0].toUpperCase();
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUdBOztBQUlBO0FBQ0E7QUFFQSxJQUFJLGtCQUFrQixHQUF0Qiw0QkFBQSxDLENBRUE7QUFDQTtBQUNBOztBQUVNLFNBQUEsdUJBQUEsQ0FBQSxPQUFBLEVBQTREO0FBQ2hFLE1BQUksTUFBTSxHQUFHLGdCQUFnQixDQUE3QixPQUE2QixDQUE3QjtBQUNBLE1BQUEsTUFBQSxFQUFZLE9BQU8sQ0FBUCxXQUFBLEdBQUEsTUFBQTtBQUNiOztBQUVELFNBQUEsZ0JBQUEsQ0FBQSxPQUFBLEVBQW9EO0FBQ2xELE1BQUksQ0FBQyxHQUFHLE9BQU8sQ0FBUCxVQUFBLENBQVIsTUFBQTtBQUNBLE1BQUksU0FBUyxHQUFiLEVBQUE7O0FBRUEsT0FBSyxJQUFJLENBQUMsR0FBVixDQUFBLEVBQWdCLENBQUMsR0FBakIsQ0FBQSxFQUF1QixDQUF2QixFQUFBLEVBQTRCO0FBQzFCLElBQUEsU0FBUyxDQUFULElBQUEsQ0FBZSxPQUFPLENBQVAsVUFBQSxDQUFBLENBQUEsRUFBZixJQUFBO0FBQ0Q7O0FBRUQsTUFBSSxPQUFPLEdBQUcsU0FBUyxDQUFULE9BQUEsQ0FBZCxJQUFjLENBQWQ7O0FBRUEsTUFBSSxPQUFPLEtBQUssQ0FBWixDQUFBLElBQWtCLFNBQVMsQ0FBVCxNQUFBLEdBQWxCLENBQUEsSUFBMEMsU0FBUyxDQUFDLFNBQVMsQ0FBVCxNQUFBLEdBQVYsQ0FBUyxDQUFULENBQUEsTUFBQSxDQUFBLENBQUEsTUFBOUMsR0FBQSxFQUFpRztBQUMvRixVQUFNLHNDQUFtQiwrRkFBbkIsRUFFSixPQUFPLENBRlQsR0FBTSxDQUFOO0FBSUQ7O0FBRUQsTUFBSSxPQUFPLEtBQUssQ0FBWixDQUFBLElBQWtCLENBQUMsR0FBbkIsT0FBQSxJQUFpQyxTQUFTLENBQUMsT0FBTyxHQUFqQixDQUFTLENBQVQsQ0FBQSxNQUFBLENBQUEsQ0FBQSxNQUFyQyxHQUFBLEVBQStFO0FBQzdFO0FBQ0EsUUFBSSxZQUFZLEdBQUcsU0FBUyxDQUFULEtBQUEsQ0FBQSxPQUFBLEVBQUEsSUFBQSxDQUFuQixHQUFtQixDQUFuQjs7QUFDQSxRQUNFLFlBQVksQ0FBWixNQUFBLENBQW9CLFlBQVksQ0FBWixNQUFBLEdBQXBCLENBQUEsTUFBQSxHQUFBLElBQ08sWUFBWSxDQUFaLEtBQUEsQ0FBUCxLQUFPLEVBQVAsTUFBTyxLQUZULENBQUEsRUFHRTtBQUNBLFlBQU0sc0NBQ0osdUNBQUEsWUFBQSxHQUR1QixHQUFuQixFQUVKLE9BQU8sQ0FGVCxHQUFNLENBQU47QUFJRDs7QUFFRCxRQUFJLE1BQU0sR0FBVixFQUFBOztBQUNBLFNBQUssSUFBSSxDQUFDLEdBQUcsT0FBTyxHQUFwQixDQUFBLEVBQTBCLENBQUMsR0FBM0IsQ0FBQSxFQUFpQyxDQUFqQyxFQUFBLEVBQXNDO0FBQ3BDLFVBQUksS0FBSyxHQUFHLFNBQVMsQ0FBVCxDQUFTLENBQVQsQ0FBQSxPQUFBLENBQUEsS0FBQSxFQUFaLEVBQVksQ0FBWjs7QUFDQSxVQUFJLEtBQUssS0FBVCxFQUFBLEVBQWtCO0FBQ2hCLFlBQUksa0JBQWtCLENBQWxCLElBQUEsQ0FBSixLQUFJLENBQUosRUFBb0M7QUFDbEMsZ0JBQU0sc0NBQ0osK0NBQUEsS0FBQSxHQUR1QixHQUFuQixFQUVKLE9BQU8sQ0FGVCxHQUFNLENBQU47QUFJRDs7QUFDRCxRQUFBLE1BQU0sQ0FBTixJQUFBLENBQUEsS0FBQTtBQUNEO0FBQ0Y7O0FBRUQsUUFBSSxNQUFNLENBQU4sTUFBQSxLQUFKLENBQUEsRUFBeUI7QUFDdkIsWUFBTSxzQ0FBbUIsa0NBQW5CLEVBQXdELE9BQU8sQ0FBckUsR0FBTSxDQUFOO0FBQ0Q7O0FBRUQsSUFBQSxPQUFPLENBQVAsVUFBQSxHQUFxQixPQUFPLENBQVAsVUFBQSxDQUFBLEtBQUEsQ0FBQSxDQUFBLEVBQXJCLE9BQXFCLENBQXJCO0FBQ0EsV0FBQSxNQUFBO0FBQ0Q7O0FBRUQsU0FBQSxJQUFBO0FBQ0Q7O0FBRUssU0FBQSxXQUFBLENBQUEsSUFBQSxFQUNrRDtBQUV0RCxVQUFRLElBQUksQ0FBWixJQUFBO0FBQ0UsU0FBQSxPQUFBO0FBQ0EsU0FBQSxVQUFBO0FBQ0UsYUFBTyxJQUFJLENBQVgsSUFBQTs7QUFDRixTQUFBLGFBQUE7QUFDRSxhQUFPLElBQUksQ0FBWCxRQUFBO0FBTEo7QUFPRDs7QUFFSyxTQUFBLFdBQUEsQ0FBQSxNQUFBLEVBQUEsSUFBQSxFQUVpQjtBQUVyQixFQUFBLFdBQVcsQ0FBWCxNQUFXLENBQVgsQ0FBQSxJQUFBLENBQUEsSUFBQTtBQUNEOztBQUlLLFNBQUEsWUFBQSxDQUFBLElBQUEsRUFDbUM7QUFFdkMsU0FDRSxJQUFJLENBQUosSUFBQSxLQUFBLGVBQUEsSUFDQSxJQUFJLENBQUosSUFBQSxLQURBLGdCQUFBLElBRUEsSUFBSSxDQUFKLElBQUEsS0FGQSxlQUFBLElBR0EsSUFBSSxDQUFKLElBQUEsS0FIQSxhQUFBLElBSUEsSUFBSSxDQUFKLElBQUEsS0FMRixrQkFBQTtBQU9EOztBQUVLLFNBQUEsWUFBQSxDQUFBLE9BQUEsRUFBNkM7QUFDakQsTUFBSSxPQUFPLENBQVAsSUFBQSxLQUFKLGtCQUFBLEVBQXlDO0FBQ3ZDLFdBQUEsV0FBQTtBQURGLEdBQUEsTUFFTztBQUNMLFdBQU8sSUFBSSxDQUFKLFNBQUEsQ0FBZSxPQUFPLENBQTdCLEtBQU8sQ0FBUDtBQUNEO0FBQ0Y7O0FBRUssU0FBQSxXQUFBLENBQUEsR0FBQSxFQUFpQztBQUNyQyxTQUFPLEdBQUcsQ0FBSCxDQUFHLENBQUgsS0FBVyxHQUFHLENBQUgsQ0FBRyxDQUFILENBQVgsV0FBVyxFQUFYLElBQW1DLEdBQUcsQ0FBSCxDQUFHLENBQUgsS0FBVyxHQUFHLENBQUgsQ0FBRyxDQUFILENBQXJELFdBQXFELEVBQXJEO0FBQ0Q7O0FBRUssU0FBQSxXQUFBLENBQUEsR0FBQSxFQUFpQztBQUNyQyxTQUFPLEdBQUcsQ0FBSCxDQUFHLENBQUgsS0FBVyxHQUFHLENBQUgsQ0FBRyxDQUFILENBQVgsV0FBVyxFQUFYLElBQW1DLEdBQUcsQ0FBSCxDQUFHLENBQUgsS0FBVyxHQUFHLENBQUgsQ0FBRyxDQUFILENBQXJELFdBQXFELEVBQXJEO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb24gfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGV4cGVjdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuXG5pbXBvcnQgeyBnZW5lcmF0ZVN5bnRheEVycm9yIH0gZnJvbSAnLi9zeW50YXgtZXJyb3InO1xuaW1wb3J0ICogYXMgQVNUdjEgZnJvbSAnLi92MS9hcGknO1xuaW1wb3J0ICogYXMgSEJTIGZyb20gJy4vdjEvaGFuZGxlYmFycy1hc3QnO1xuXG4vLyBSZWdleCB0byB2YWxpZGF0ZSB0aGUgaWRlbnRpZmllciBmb3IgYmxvY2sgcGFyYW1ldGVycy5cbi8vIEJhc2VkIG9uIHRoZSBJRCB2YWxpZGF0aW9uIHJlZ2V4IGluIEhhbmRsZWJhcnMuXG5cbmxldCBJRF9JTlZFUlNFX1BBVFRFUk4gPSAvWyFcIiMlLSxcXC5cXC87LT5AXFxbLVxcXmBcXHstfl0vO1xuXG4vLyBDaGVja3MgdGhlIGVsZW1lbnQncyBhdHRyaWJ1dGVzIHRvIHNlZSBpZiBpdCB1c2VzIGJsb2NrIHBhcmFtcy5cbi8vIElmIGl0IGRvZXMsIHJlZ2lzdGVycyB0aGUgYmxvY2sgcGFyYW1zIHdpdGggdGhlIHByb2dyYW0gYW5kXG4vLyByZW1vdmVzIHRoZSBjb3JyZXNwb25kaW5nIGF0dHJpYnV0ZXMgZnJvbSB0aGUgZWxlbWVudC5cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRWxlbWVudEJsb2NrUGFyYW1zKGVsZW1lbnQ6IEFTVHYxLkVsZW1lbnROb2RlKTogdm9pZCB7XG4gIGxldCBwYXJhbXMgPSBwYXJzZUJsb2NrUGFyYW1zKGVsZW1lbnQpO1xuICBpZiAocGFyYW1zKSBlbGVtZW50LmJsb2NrUGFyYW1zID0gcGFyYW1zO1xufVxuXG5mdW5jdGlvbiBwYXJzZUJsb2NrUGFyYW1zKGVsZW1lbnQ6IEFTVHYxLkVsZW1lbnROb2RlKTogT3B0aW9uPHN0cmluZ1tdPiB7XG4gIGxldCBsID0gZWxlbWVudC5hdHRyaWJ1dGVzLmxlbmd0aDtcbiAgbGV0IGF0dHJOYW1lcyA9IFtdO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAgYXR0ck5hbWVzLnB1c2goZWxlbWVudC5hdHRyaWJ1dGVzW2ldLm5hbWUpO1xuICB9XG5cbiAgbGV0IGFzSW5kZXggPSBhdHRyTmFtZXMuaW5kZXhPZignYXMnKTtcblxuICBpZiAoYXNJbmRleCA9PT0gLTEgJiYgYXR0ck5hbWVzLmxlbmd0aCA+IDAgJiYgYXR0ck5hbWVzW2F0dHJOYW1lcy5sZW5ndGggLSAxXS5jaGFyQXQoMCkgPT09ICd8Jykge1xuICAgIHRocm93IGdlbmVyYXRlU3ludGF4RXJyb3IoXG4gICAgICAnQmxvY2sgcGFyYW1ldGVycyBtdXN0IGJlIHByZWNlZGVkIGJ5IHRoZSBgYXNgIGtleXdvcmQsIGRldGVjdGVkIGJsb2NrIHBhcmFtZXRlcnMgd2l0aG91dCBgYXNgJyxcbiAgICAgIGVsZW1lbnQubG9jXG4gICAgKTtcbiAgfVxuXG4gIGlmIChhc0luZGV4ICE9PSAtMSAmJiBsID4gYXNJbmRleCAmJiBhdHRyTmFtZXNbYXNJbmRleCArIDFdLmNoYXJBdCgwKSA9PT0gJ3wnKSB7XG4gICAgLy8gU29tZSBiYXNpYyB2YWxpZGF0aW9uLCBzaW5jZSB3ZSdyZSBkb2luZyB0aGUgcGFyc2luZyBvdXJzZWx2ZXNcbiAgICBsZXQgcGFyYW1zU3RyaW5nID0gYXR0ck5hbWVzLnNsaWNlKGFzSW5kZXgpLmpvaW4oJyAnKTtcbiAgICBpZiAoXG4gICAgICBwYXJhbXNTdHJpbmcuY2hhckF0KHBhcmFtc1N0cmluZy5sZW5ndGggLSAxKSAhPT0gJ3wnIHx8XG4gICAgICBleHBlY3QocGFyYW1zU3RyaW5nLm1hdGNoKC9cXHwvZyksIGBibG9jayBwYXJhbXMgbXVzdCBleGlzdCBoZXJlYCkubGVuZ3RoICE9PSAyXG4gICAgKSB7XG4gICAgICB0aHJvdyBnZW5lcmF0ZVN5bnRheEVycm9yKFxuICAgICAgICBcIkludmFsaWQgYmxvY2sgcGFyYW1ldGVycyBzeW50YXgsICdcIiArIHBhcmFtc1N0cmluZyArIFwiJ1wiLFxuICAgICAgICBlbGVtZW50LmxvY1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgcGFyYW1zID0gW107XG4gICAgZm9yIChsZXQgaSA9IGFzSW5kZXggKyAxOyBpIDwgbDsgaSsrKSB7XG4gICAgICBsZXQgcGFyYW0gPSBhdHRyTmFtZXNbaV0ucmVwbGFjZSgvXFx8L2csICcnKTtcbiAgICAgIGlmIChwYXJhbSAhPT0gJycpIHtcbiAgICAgICAgaWYgKElEX0lOVkVSU0VfUEFUVEVSTi50ZXN0KHBhcmFtKSkge1xuICAgICAgICAgIHRocm93IGdlbmVyYXRlU3ludGF4RXJyb3IoXG4gICAgICAgICAgICBcIkludmFsaWQgaWRlbnRpZmllciBmb3IgYmxvY2sgcGFyYW1ldGVycywgJ1wiICsgcGFyYW0gKyBcIidcIixcbiAgICAgICAgICAgIGVsZW1lbnQubG9jXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBwYXJhbXMucHVzaChwYXJhbSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IGdlbmVyYXRlU3ludGF4RXJyb3IoJ0Nhbm5vdCB1c2UgemVybyBibG9jayBwYXJhbWV0ZXJzJywgZWxlbWVudC5sb2MpO1xuICAgIH1cblxuICAgIGVsZW1lbnQuYXR0cmlidXRlcyA9IGVsZW1lbnQuYXR0cmlidXRlcy5zbGljZSgwLCBhc0luZGV4KTtcbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGlsZHJlbkZvcihcbiAgbm9kZTogQVNUdjEuQmxvY2sgfCBBU1R2MS5UZW1wbGF0ZSB8IEFTVHYxLkVsZW1lbnROb2RlXG4pOiBBU1R2MS5Ub3BMZXZlbFN0YXRlbWVudFtdIHtcbiAgc3dpdGNoIChub2RlLnR5cGUpIHtcbiAgICBjYXNlICdCbG9jayc6XG4gICAgY2FzZSAnVGVtcGxhdGUnOlxuICAgICAgcmV0dXJuIG5vZGUuYm9keTtcbiAgICBjYXNlICdFbGVtZW50Tm9kZSc6XG4gICAgICByZXR1cm4gbm9kZS5jaGlsZHJlbjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kQ2hpbGQoXG4gIHBhcmVudDogQVNUdjEuQmxvY2sgfCBBU1R2MS5UZW1wbGF0ZSB8IEFTVHYxLkVsZW1lbnROb2RlLFxuICBub2RlOiBBU1R2MS5TdGF0ZW1lbnRcbik6IHZvaWQge1xuICBjaGlsZHJlbkZvcihwYXJlbnQpLnB1c2gobm9kZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0hCU0xpdGVyYWwocGF0aDogSEJTLkV4cHJlc3Npb24pOiBwYXRoIGlzIEhCUy5MaXRlcmFsO1xuZXhwb3J0IGZ1bmN0aW9uIGlzSEJTTGl0ZXJhbChwYXRoOiBBU1R2MS5FeHByZXNzaW9uKTogcGF0aCBpcyBBU1R2MS5MaXRlcmFsO1xuZXhwb3J0IGZ1bmN0aW9uIGlzSEJTTGl0ZXJhbChcbiAgcGF0aDogSEJTLkV4cHJlc3Npb24gfCBBU1R2MS5FeHByZXNzaW9uXG4pOiBwYXRoIGlzIEhCUy5MaXRlcmFsIHwgQVNUdjEuTGl0ZXJhbCB7XG4gIHJldHVybiAoXG4gICAgcGF0aC50eXBlID09PSAnU3RyaW5nTGl0ZXJhbCcgfHxcbiAgICBwYXRoLnR5cGUgPT09ICdCb29sZWFuTGl0ZXJhbCcgfHxcbiAgICBwYXRoLnR5cGUgPT09ICdOdW1iZXJMaXRlcmFsJyB8fFxuICAgIHBhdGgudHlwZSA9PT0gJ051bGxMaXRlcmFsJyB8fFxuICAgIHBhdGgudHlwZSA9PT0gJ1VuZGVmaW5lZExpdGVyYWwnXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmludExpdGVyYWwobGl0ZXJhbDogQVNUdjEuTGl0ZXJhbCk6IHN0cmluZyB7XG4gIGlmIChsaXRlcmFsLnR5cGUgPT09ICdVbmRlZmluZWRMaXRlcmFsJykge1xuICAgIHJldHVybiAndW5kZWZpbmVkJztcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobGl0ZXJhbC52YWx1ZSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVXBwZXJDYXNlKHRhZzogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiB0YWdbMF0gPT09IHRhZ1swXS50b1VwcGVyQ2FzZSgpICYmIHRhZ1swXSAhPT0gdGFnWzBdLnRvTG93ZXJDYXNlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xvd2VyQ2FzZSh0YWc6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gdGFnWzBdID09PSB0YWdbMF0udG9Mb3dlckNhc2UoKSAmJiB0YWdbMF0gIT09IHRhZ1swXS50b1VwcGVyQ2FzZSgpO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==

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

/* Component */
);
, true);
} else {

@@ -146,2 +146,2 @@ return null;

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjItYS9sb29zZS1yZXNvbHV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBOzs7Ozs7QUFZTSxTQUFBLGlCQUFBLENBQUEsSUFBQSxFQUFxRDtBQUN6RCxNQUFJLGNBQWMsQ0FBbEIsSUFBa0IsQ0FBbEIsRUFBMEI7QUFDeEIsV0FBTyxLQUFLLENBQUwsbUJBQUEsQ0FBQSxVQUFBLENBQW9DO0FBQUE7QUFBcEMsS0FBUDtBQURGLEdBQUEsTUFFTztBQUNMLFdBQUEsSUFBQTtBQUNEO0FBQ0Y7O0FBRUssU0FBQSxxQkFBQSxDQUFBLElBQUEsRUFDZ0M7QUFFcEMsTUFBSSxjQUFjLENBQWxCLElBQWtCLENBQWxCLEVBQTBCO0FBQ3hCLFdBQU8sS0FBSyxDQUFMLG1CQUFBLENBQUEsVUFBQSxDQUFvQztBQUFBO0FBQXBDLEtBQVA7QUFERixHQUFBLE1BRU87QUFDTCxXQUFBLElBQUE7QUFDRDtBQUNGOztBQUVLLFNBQUEsa0JBQUEsQ0FBQSxJQUFBLEVBQXVEO0FBQzNELE1BQUksY0FBYyxDQUFsQixJQUFrQixDQUFsQixFQUEwQjtBQUN4QixXQUFPLEtBQUssQ0FBTCxtQkFBQSxDQUFBLFVBQUEsQ0FBb0M7QUFBQTtBQUFwQyxLQUFQO0FBREYsR0FBQSxNQUVPO0FBQ0wsV0FBTyxLQUFLLENBQUwsbUJBQUEsQ0FBUCxRQUFPLEVBQVA7QUFDRDtBQUNGOztBQUVLLFNBQUEsc0JBQUEsQ0FBQSxJQUFBLEVBQTJEO0FBQy9ELE1BQUksWUFBWSxDQUFoQixJQUFnQixDQUFoQixFQUF3QjtBQUN0QixXQUFPLEtBQUssQ0FBTCxtQkFBQSxDQUFBLFVBQUEsQ0FBb0M7QUFBQTtBQUFwQyxLQUFQO0FBREYsR0FBQSxNQUVPO0FBQ0wsV0FBQSxJQUFBO0FBQ0Q7QUFDRjtBQUVEOzs7Ozs7QUFJTSxTQUFBLHNCQUFBLENBQUEsSUFBQSxFQUE4RDtBQUNsRSxNQUFJLFFBQVEsR0FBRyxjQUFjLENBQTdCLElBQTZCLENBQTdCO0FBQ0EsTUFBSSxRQUFRLEdBQUcsWUFBWSxDQUEzQixJQUEyQixDQUEzQjs7QUFFQSxNQUFBLFFBQUEsRUFBYztBQUNaLFdBQU8sUUFBUSxHQUNYLEtBQUssQ0FBTCxtQkFBQSxDQUFBLFVBQUEsQ0FBb0M7QUFBQTtBQUFwQyxLQURXLEdBRVgsS0FBSyxDQUFMLG1CQUFBLENBRkosSUFFSSxFQUZKO0FBREYsR0FBQSxNQUlPO0FBQ0wsV0FBTyxRQUFRLEdBQUcsS0FBSyxDQUFSLGlCQUFBLEdBQTZCLEtBQUssQ0FBTCxtQkFBQSxDQUE1QyxRQUE0QyxFQUE1QztBQUNEO0FBQ0Y7QUFFRDs7Ozs7O0FBSU0sU0FBQSxtQkFBQSxDQUFBLElBQUEsRUFBMkQ7QUFDL0QsTUFBSSxRQUFRLEdBQUcsY0FBYyxDQUE3QixJQUE2QixDQUE3QjtBQUNBLE1BQUksUUFBUSxHQUFHLFlBQVksQ0FBM0IsSUFBMkIsQ0FBM0I7QUFDQSxNQUFJLFFBQVEsR0FBRyxJQUFJLENBQW5CLFFBQUE7O0FBRUEsTUFBQSxRQUFBLEVBQWM7QUFDWixXQUFPLFFBQVEsR0FDWCxLQUFLLENBQUwsbUJBQUEsQ0FBQSxjQUFBLENBQXlDO0FBQUUsTUFBQSxNQUFNLEVBQUU7QUFBVixLQUF6QyxDQURXLEdBRVgsS0FBSyxDQUFMLG1CQUFBLENBQUEsTUFBQSxDQUFpQztBQUFFLE1BQUEsTUFBTSxFQUFFO0FBQVYsS0FBakMsQ0FGSjtBQURGLEdBQUEsTUFJTztBQUNMLFdBQU8sS0FBSyxDQUFMLG1CQUFBLENBQVAsUUFBTyxFQUFQO0FBQ0Q7RUFPSDs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBeUJBLFNBQUEsY0FBQSxDQUFBLElBQUEsRUFBMEM7QUFDeEMsTUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFmLElBQUE7QUFFQSxTQUFPLFlBQVksQ0FBbkIsSUFBbUIsQ0FBbkI7QUFDRDs7QUFFRCxTQUFBLFlBQUEsQ0FBQSxJQUFBLEVBQTRDO0FBQzFDLE1BQUksSUFBSSxDQUFKLElBQUEsS0FBQSxnQkFBQSxJQUFrQyxJQUFJLENBQUosSUFBQSxDQUFBLElBQUEsS0FBdEMsU0FBQSxFQUFvRTtBQUNsRSxXQUFPLElBQUksQ0FBSixJQUFBLENBQUEsTUFBQSxLQUFQLENBQUE7QUFERixHQUFBLE1BRU87QUFDTCxXQUFBLEtBQUE7QUFDRDtBQUNGO0FBRUQ7Ozs7O0FBR0EsU0FBQSxZQUFBLENBQUEsSUFBQSxFQUF3QztBQUN0QyxTQUFPLElBQUksQ0FBSixNQUFBLENBQUEsTUFBQSxHQUFBLENBQUEsSUFBMEIsSUFBSSxDQUFKLElBQUEsQ0FBQSxLQUFBLENBQUEsTUFBQSxHQUFqQyxDQUFBO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBBU1R2MSBmcm9tICcuLi92MS9hcGknO1xuaW1wb3J0ICogYXMgQVNUdjIgZnJvbSAnLi9hcGknO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFzdENhbGxQYXJ0cyB7XG4gIHBhdGg6IEFTVHYxLkV4cHJlc3Npb247XG4gIHBhcmFtczogQVNUdjEuRXhwcmVzc2lvbltdO1xuICBoYXNoOiBBU1R2MS5IYXNoO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZhclBhdGggZXh0ZW5kcyBBU1R2MS5QYXRoRXhwcmVzc2lvbiB7XG4gIGhlYWQ6IEFTVHYxLlZhckhlYWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTZXhwU3ludGF4Q29udGV4dChub2RlOiBBU1R2MS5TdWJFeHByZXNzaW9uKTogQVNUdjIuRnJlZVZhclJlc29sdXRpb24gfCBudWxsIHtcbiAgaWYgKGlzU2ltcGxlQ2FsbGVlKG5vZGUpKSB7XG4gICAgcmV0dXJuIEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24ubmFtZXNwYWNlZChBU1R2Mi5GcmVlVmFyTmFtZXNwYWNlLkhlbHBlcik7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGlmaWVyU3ludGF4Q29udGV4dChcbiAgbm9kZTogQVNUdjEuRWxlbWVudE1vZGlmaWVyU3RhdGVtZW50XG4pOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbiB8IG51bGwge1xuICBpZiAoaXNTaW1wbGVDYWxsZWUobm9kZSkpIHtcbiAgICByZXR1cm4gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5uYW1lc3BhY2VkKEFTVHYyLkZyZWVWYXJOYW1lc3BhY2UuTW9kaWZpZXIpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCbG9ja1N5bnRheENvbnRleHQobm9kZTogQVNUdjEuQmxvY2tTdGF0ZW1lbnQpOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbiB8IG51bGwge1xuICBpZiAoaXNTaW1wbGVDYWxsZWUobm9kZSkpIHtcbiAgICByZXR1cm4gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5uYW1lc3BhY2VkKEFTVHYyLkZyZWVWYXJOYW1lc3BhY2UuQ29tcG9uZW50KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5mYWxsYmFjaygpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDb21wb25lbnRTeW50YXhDb250ZXh0KG5vZGU6IEFTVHYxLlBhdGhFeHByZXNzaW9uKTogQVNUdjIuRnJlZVZhclJlc29sdXRpb24gfCBudWxsIHtcbiAgaWYgKGlzU2ltcGxlUGF0aChub2RlKSkge1xuICAgIHJldHVybiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLm5hbWVzcGFjZWQoQVNUdjIuRnJlZVZhck5hbWVzcGFjZS5Db21wb25lbnQpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbi8qKlxuICogVGhpcyBjb3JyZXNwb25kcyB0byBhcHBlbmQgcG9zaXRpb25zICh0ZXh0IGN1cmxpZXMgb3IgYXR0cmlidXRlXG4gKiBjdXJsaWVzKS4gSW4gc3RyaWN0IG1vZGUsIHRoaXMgYWxzbyBjb3JyZXNwb25kcyB0byBhcmcgY3VybGllcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEF0dHJWYWx1ZVN5bnRheENvbnRleHQobm9kZTogQVNUdjEuTXVzdGFjaGVTdGF0ZW1lbnQpOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbiB7XG4gIGxldCBpc1NpbXBsZSA9IGlzU2ltcGxlQ2FsbGVlKG5vZGUpO1xuICBsZXQgaXNJbnZva2UgPSBpc0ludm9rZU5vZGUobm9kZSk7XG5cbiAgaWYgKGlzU2ltcGxlKSB7XG4gICAgcmV0dXJuIGlzSW52b2tlXG4gICAgICA/IEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24ubmFtZXNwYWNlZChBU1R2Mi5GcmVlVmFyTmFtZXNwYWNlLkhlbHBlcilcbiAgICAgIDogQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5hdHRyKCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGlzSW52b2tlID8gQVNUdjIuU1RSSUNUX1JFU09MVVRJT04gOiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLmZhbGxiYWNrKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGNvcnJlc3BvbmRzIHRvIGFwcGVuZCBwb3NpdGlvbnMgKHRleHQgY3VybGllcyBvciBhdHRyaWJ1dGVcbiAqIGN1cmxpZXMpLiBJbiBzdHJpY3QgbW9kZSwgdGhpcyBhbHNvIGNvcnJlc3BvbmRzIHRvIGFyZyBjdXJsaWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQXBwZW5kU3ludGF4Q29udGV4dChub2RlOiBBU1R2MS5NdXN0YWNoZVN0YXRlbWVudCk6IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uIHtcbiAgbGV0IGlzU2ltcGxlID0gaXNTaW1wbGVDYWxsZWUobm9kZSk7XG4gIGxldCBpc0ludm9rZSA9IGlzSW52b2tlTm9kZShub2RlKTtcbiAgbGV0IHRydXN0aW5nID0gbm9kZS50cnVzdGluZztcblxuICBpZiAoaXNTaW1wbGUpIHtcbiAgICByZXR1cm4gdHJ1c3RpbmdcbiAgICAgID8gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi50cnVzdGluZ0FwcGVuZCh7IGludm9rZTogaXNJbnZva2UgfSlcbiAgICAgIDogQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5hcHBlbmQoeyBpbnZva2U6IGlzSW52b2tlIH0pO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLmZhbGxiYWNrKCk7XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgUmVzb2x1dGlvbjxQIGV4dGVuZHMgQXN0Q2FsbFBhcnRzIHwgQVNUdjEuUGF0aEV4cHJlc3Npb24+ID0gKFxuICBjYWxsOiBQXG4pID0+IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uIHwgbnVsbDtcblxuLy8gVVRJTElUSUVTXG5cbi8qKlxuICogQSBjYWxsIG5vZGUgaGFzIGEgc2ltcGxlIGNhbGxlZSBpZiBpdHMgaGVhZCBpczpcbiAqXG4gKiAtIGEgYFBhdGhFeHByZXNzaW9uYFxuICogLSB0aGUgYFBhdGhFeHByZXNzaW9uYCdzIGhlYWQgaXMgYSBgVmFySGVhZGBcbiAqIC0gaXQgaGFzIG5vIHRhaWxcbiAqXG4gKiBTaW1wbGUgaGVhZHM6XG4gKlxuICogYGBgXG4gKiB7e3h9fVxuICoge3t4IHl9fVxuICogYGBgXG4gKlxuICogTm90IHNpbXBsZSBoZWFkczpcbiAqXG4gKiBgYGBcbiAqIHt7eC55fX1cbiAqIHt7eC55IHp9fVxuICoge3tAeH19XG4gKiB7e0B4IGF9fVxuICoge3t0aGlzfX1cbiAqIHt7dGhpcyBhfX1cbiAqIGBgYFxuICovXG5mdW5jdGlvbiBpc1NpbXBsZUNhbGxlZShub2RlOiBBc3RDYWxsUGFydHMpOiBib29sZWFuIHtcbiAgbGV0IHBhdGggPSBub2RlLnBhdGg7XG5cbiAgcmV0dXJuIGlzU2ltcGxlUGF0aChwYXRoKTtcbn1cblxuZnVuY3Rpb24gaXNTaW1wbGVQYXRoKG5vZGU6IEFTVHYxLkV4cHJlc3Npb24pOiBib29sZWFuIHtcbiAgaWYgKG5vZGUudHlwZSA9PT0gJ1BhdGhFeHByZXNzaW9uJyAmJiBub2RlLmhlYWQudHlwZSA9PT0gJ1ZhckhlYWQnKSB7XG4gICAgcmV0dXJuIG5vZGUudGFpbC5sZW5ndGggPT09IDA7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogVGhlIGNhbGwgZXhwcmVzc2lvbiBoYXMgYXQgbGVhc3Qgb25lIGFyZ3VtZW50LlxuICovXG5mdW5jdGlvbiBpc0ludm9rZU5vZGUobm9kZTogQXN0Q2FsbFBhcnRzKTogYm9vbGVhbiB7XG4gIHJldHVybiBub2RlLnBhcmFtcy5sZW5ndGggPiAwIHx8IG5vZGUuaGFzaC5wYWlycy5sZW5ndGggPiAwO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjItYS9sb29zZS1yZXNvbHV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBOzs7Ozs7QUFZTSxTQUFBLGlCQUFBLENBQUEsSUFBQSxFQUFxRDtBQUN6RCxNQUFJLGNBQWMsQ0FBbEIsSUFBa0IsQ0FBbEIsRUFBMEI7QUFDeEIsV0FBTyxLQUFLLENBQUwsbUJBQUEsQ0FBQSxVQUFBLENBQW9DO0FBQUE7QUFBcEMsS0FBUDtBQURGLEdBQUEsTUFFTztBQUNMLFdBQUEsSUFBQTtBQUNEO0FBQ0Y7O0FBRUssU0FBQSxxQkFBQSxDQUFBLElBQUEsRUFDZ0M7QUFFcEMsTUFBSSxjQUFjLENBQWxCLElBQWtCLENBQWxCLEVBQTBCO0FBQ3hCLFdBQU8sS0FBSyxDQUFMLG1CQUFBLENBQUEsVUFBQSxDQUFvQztBQUFBO0FBQXBDLEtBQVA7QUFERixHQUFBLE1BRU87QUFDTCxXQUFBLElBQUE7QUFDRDtBQUNGOztBQUVLLFNBQUEsa0JBQUEsQ0FBQSxJQUFBLEVBQXVEO0FBQzNELE1BQUksY0FBYyxDQUFsQixJQUFrQixDQUFsQixFQUEwQjtBQUN4QixXQUFPLEtBQUssQ0FBTCxtQkFBQSxDQUFBLFVBQUEsQ0FBb0M7QUFBQTtBQUFwQyxLQUFQO0FBREYsR0FBQSxNQUVPO0FBQ0wsV0FBTyxLQUFLLENBQUwsbUJBQUEsQ0FBUCxRQUFPLEVBQVA7QUFDRDtBQUNGOztBQUVLLFNBQUEsc0JBQUEsQ0FBQSxJQUFBLEVBQTJEO0FBQy9ELE1BQUksWUFBWSxDQUFoQixJQUFnQixDQUFoQixFQUF3QjtBQUN0QixXQUFPLEtBQUssQ0FBTCxtQkFBQSxDQUFBLFVBQUEsQ0FBb0M7QUFBQTtBQUFwQyxNQUFQLElBQU8sQ0FBUDtBQURGLEdBQUEsTUFFTztBQUNMLFdBQUEsSUFBQTtBQUNEO0FBQ0Y7QUFFRDs7Ozs7O0FBSU0sU0FBQSxzQkFBQSxDQUFBLElBQUEsRUFBOEQ7QUFDbEUsTUFBSSxRQUFRLEdBQUcsY0FBYyxDQUE3QixJQUE2QixDQUE3QjtBQUNBLE1BQUksUUFBUSxHQUFHLFlBQVksQ0FBM0IsSUFBMkIsQ0FBM0I7O0FBRUEsTUFBQSxRQUFBLEVBQWM7QUFDWixXQUFPLFFBQVEsR0FDWCxLQUFLLENBQUwsbUJBQUEsQ0FBQSxVQUFBLENBQW9DO0FBQUE7QUFBcEMsS0FEVyxHQUVYLEtBQUssQ0FBTCxtQkFBQSxDQUZKLElBRUksRUFGSjtBQURGLEdBQUEsTUFJTztBQUNMLFdBQU8sUUFBUSxHQUFHLEtBQUssQ0FBUixpQkFBQSxHQUE2QixLQUFLLENBQUwsbUJBQUEsQ0FBNUMsUUFBNEMsRUFBNUM7QUFDRDtBQUNGO0FBRUQ7Ozs7OztBQUlNLFNBQUEsbUJBQUEsQ0FBQSxJQUFBLEVBQTJEO0FBQy9ELE1BQUksUUFBUSxHQUFHLGNBQWMsQ0FBN0IsSUFBNkIsQ0FBN0I7QUFDQSxNQUFJLFFBQVEsR0FBRyxZQUFZLENBQTNCLElBQTJCLENBQTNCO0FBQ0EsTUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFuQixRQUFBOztBQUVBLE1BQUEsUUFBQSxFQUFjO0FBQ1osV0FBTyxRQUFRLEdBQ1gsS0FBSyxDQUFMLG1CQUFBLENBQUEsY0FBQSxDQUF5QztBQUFFLE1BQUEsTUFBTSxFQUFFO0FBQVYsS0FBekMsQ0FEVyxHQUVYLEtBQUssQ0FBTCxtQkFBQSxDQUFBLE1BQUEsQ0FBaUM7QUFBRSxNQUFBLE1BQU0sRUFBRTtBQUFWLEtBQWpDLENBRko7QUFERixHQUFBLE1BSU87QUFDTCxXQUFPLEtBQUssQ0FBTCxtQkFBQSxDQUFQLFFBQU8sRUFBUDtBQUNEO0VBT0g7O0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXlCQSxTQUFBLGNBQUEsQ0FBQSxJQUFBLEVBQTBDO0FBQ3hDLE1BQUksSUFBSSxHQUFHLElBQUksQ0FBZixJQUFBO0FBRUEsU0FBTyxZQUFZLENBQW5CLElBQW1CLENBQW5CO0FBQ0Q7O0FBRUQsU0FBQSxZQUFBLENBQUEsSUFBQSxFQUE0QztBQUMxQyxNQUFJLElBQUksQ0FBSixJQUFBLEtBQUEsZ0JBQUEsSUFBa0MsSUFBSSxDQUFKLElBQUEsQ0FBQSxJQUFBLEtBQXRDLFNBQUEsRUFBb0U7QUFDbEUsV0FBTyxJQUFJLENBQUosSUFBQSxDQUFBLE1BQUEsS0FBUCxDQUFBO0FBREYsR0FBQSxNQUVPO0FBQ0wsV0FBQSxLQUFBO0FBQ0Q7QUFDRjtBQUVEOzs7OztBQUdBLFNBQUEsWUFBQSxDQUFBLElBQUEsRUFBd0M7QUFDdEMsU0FBTyxJQUFJLENBQUosTUFBQSxDQUFBLE1BQUEsR0FBQSxDQUFBLElBQTBCLElBQUksQ0FBSixJQUFBLENBQUEsS0FBQSxDQUFBLE1BQUEsR0FBakMsQ0FBQTtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgQVNUdjEgZnJvbSAnLi4vdjEvYXBpJztcbmltcG9ydCAqIGFzIEFTVHYyIGZyb20gJy4vYXBpJztcblxuZXhwb3J0IGludGVyZmFjZSBBc3RDYWxsUGFydHMge1xuICBwYXRoOiBBU1R2MS5FeHByZXNzaW9uO1xuICBwYXJhbXM6IEFTVHYxLkV4cHJlc3Npb25bXTtcbiAgaGFzaDogQVNUdjEuSGFzaDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYXJQYXRoIGV4dGVuZHMgQVNUdjEuUGF0aEV4cHJlc3Npb24ge1xuICBoZWFkOiBBU1R2MS5WYXJIZWFkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gU2V4cFN5bnRheENvbnRleHQobm9kZTogQVNUdjEuU3ViRXhwcmVzc2lvbik6IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uIHwgbnVsbCB7XG4gIGlmIChpc1NpbXBsZUNhbGxlZShub2RlKSkge1xuICAgIHJldHVybiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLm5hbWVzcGFjZWQoQVNUdjIuRnJlZVZhck5hbWVzcGFjZS5IZWxwZXIpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBNb2RpZmllclN5bnRheENvbnRleHQoXG4gIG5vZGU6IEFTVHYxLkVsZW1lbnRNb2RpZmllclN0YXRlbWVudFxuKTogQVNUdjIuRnJlZVZhclJlc29sdXRpb24gfCBudWxsIHtcbiAgaWYgKGlzU2ltcGxlQ2FsbGVlKG5vZGUpKSB7XG4gICAgcmV0dXJuIEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24ubmFtZXNwYWNlZChBU1R2Mi5GcmVlVmFyTmFtZXNwYWNlLk1vZGlmaWVyKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQmxvY2tTeW50YXhDb250ZXh0KG5vZGU6IEFTVHYxLkJsb2NrU3RhdGVtZW50KTogQVNUdjIuRnJlZVZhclJlc29sdXRpb24gfCBudWxsIHtcbiAgaWYgKGlzU2ltcGxlQ2FsbGVlKG5vZGUpKSB7XG4gICAgcmV0dXJuIEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24ubmFtZXNwYWNlZChBU1R2Mi5GcmVlVmFyTmFtZXNwYWNlLkNvbXBvbmVudCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24uZmFsbGJhY2soKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQ29tcG9uZW50U3ludGF4Q29udGV4dChub2RlOiBBU1R2MS5QYXRoRXhwcmVzc2lvbik6IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uIHwgbnVsbCB7XG4gIGlmIChpc1NpbXBsZVBhdGgobm9kZSkpIHtcbiAgICByZXR1cm4gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5uYW1lc3BhY2VkKEFTVHYyLkZyZWVWYXJOYW1lc3BhY2UuQ29tcG9uZW50LCB0cnVlKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgY29ycmVzcG9uZHMgdG8gYXBwZW5kIHBvc2l0aW9ucyAodGV4dCBjdXJsaWVzIG9yIGF0dHJpYnV0ZVxuICogY3VybGllcykuIEluIHN0cmljdCBtb2RlLCB0aGlzIGFsc28gY29ycmVzcG9uZHMgdG8gYXJnIGN1cmxpZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBBdHRyVmFsdWVTeW50YXhDb250ZXh0KG5vZGU6IEFTVHYxLk11c3RhY2hlU3RhdGVtZW50KTogQVNUdjIuRnJlZVZhclJlc29sdXRpb24ge1xuICBsZXQgaXNTaW1wbGUgPSBpc1NpbXBsZUNhbGxlZShub2RlKTtcbiAgbGV0IGlzSW52b2tlID0gaXNJbnZva2VOb2RlKG5vZGUpO1xuXG4gIGlmIChpc1NpbXBsZSkge1xuICAgIHJldHVybiBpc0ludm9rZVxuICAgICAgPyBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLm5hbWVzcGFjZWQoQVNUdjIuRnJlZVZhck5hbWVzcGFjZS5IZWxwZXIpXG4gICAgICA6IEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24uYXR0cigpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBpc0ludm9rZSA/IEFTVHYyLlNUUklDVF9SRVNPTFVUSU9OIDogQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5mYWxsYmFjaygpO1xuICB9XG59XG5cbi8qKlxuICogVGhpcyBjb3JyZXNwb25kcyB0byBhcHBlbmQgcG9zaXRpb25zICh0ZXh0IGN1cmxpZXMgb3IgYXR0cmlidXRlXG4gKiBjdXJsaWVzKS4gSW4gc3RyaWN0IG1vZGUsIHRoaXMgYWxzbyBjb3JyZXNwb25kcyB0byBhcmcgY3VybGllcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEFwcGVuZFN5bnRheENvbnRleHQobm9kZTogQVNUdjEuTXVzdGFjaGVTdGF0ZW1lbnQpOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbiB7XG4gIGxldCBpc1NpbXBsZSA9IGlzU2ltcGxlQ2FsbGVlKG5vZGUpO1xuICBsZXQgaXNJbnZva2UgPSBpc0ludm9rZU5vZGUobm9kZSk7XG4gIGxldCB0cnVzdGluZyA9IG5vZGUudHJ1c3Rpbmc7XG5cbiAgaWYgKGlzU2ltcGxlKSB7XG4gICAgcmV0dXJuIHRydXN0aW5nXG4gICAgICA/IEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24udHJ1c3RpbmdBcHBlbmQoeyBpbnZva2U6IGlzSW52b2tlIH0pXG4gICAgICA6IEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24uYXBwZW5kKHsgaW52b2tlOiBpc0ludm9rZSB9KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5mYWxsYmFjaygpO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIFJlc29sdXRpb248UCBleHRlbmRzIEFzdENhbGxQYXJ0cyB8IEFTVHYxLlBhdGhFeHByZXNzaW9uPiA9IChcbiAgY2FsbDogUFxuKSA9PiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbiB8IG51bGw7XG5cbi8vIFVUSUxJVElFU1xuXG4vKipcbiAqIEEgY2FsbCBub2RlIGhhcyBhIHNpbXBsZSBjYWxsZWUgaWYgaXRzIGhlYWQgaXM6XG4gKlxuICogLSBhIGBQYXRoRXhwcmVzc2lvbmBcbiAqIC0gdGhlIGBQYXRoRXhwcmVzc2lvbmAncyBoZWFkIGlzIGEgYFZhckhlYWRgXG4gKiAtIGl0IGhhcyBubyB0YWlsXG4gKlxuICogU2ltcGxlIGhlYWRzOlxuICpcbiAqIGBgYFxuICoge3t4fX1cbiAqIHt7eCB5fX1cbiAqIGBgYFxuICpcbiAqIE5vdCBzaW1wbGUgaGVhZHM6XG4gKlxuICogYGBgXG4gKiB7e3gueX19XG4gKiB7e3gueSB6fX1cbiAqIHt7QHh9fVxuICoge3tAeCBhfX1cbiAqIHt7dGhpc319XG4gKiB7e3RoaXMgYX19XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNTaW1wbGVDYWxsZWUobm9kZTogQXN0Q2FsbFBhcnRzKTogYm9vbGVhbiB7XG4gIGxldCBwYXRoID0gbm9kZS5wYXRoO1xuXG4gIHJldHVybiBpc1NpbXBsZVBhdGgocGF0aCk7XG59XG5cbmZ1bmN0aW9uIGlzU2ltcGxlUGF0aChub2RlOiBBU1R2MS5FeHByZXNzaW9uKTogYm9vbGVhbiB7XG4gIGlmIChub2RlLnR5cGUgPT09ICdQYXRoRXhwcmVzc2lvbicgJiYgbm9kZS5oZWFkLnR5cGUgPT09ICdWYXJIZWFkJykge1xuICAgIHJldHVybiBub2RlLnRhaWwubGVuZ3RoID09PSAwO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIFRoZSBjYWxsIGV4cHJlc3Npb24gaGFzIGF0IGxlYXN0IG9uZSBhcmd1bWVudC5cbiAqL1xuZnVuY3Rpb24gaXNJbnZva2VOb2RlKG5vZGU6IEFzdENhbGxQYXJ0cyk6IGJvb2xlYW4ge1xuICByZXR1cm4gbm9kZS5wYXJhbXMubGVuZ3RoID4gMCB8fCBub2RlLmhhc2gucGFpcnMubGVuZ3RoID4gMDtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=

@@ -24,2 +24,6 @@ "use strict";

class StrictResolution {
constructor() {
this.isAngleBracket = false;
}
resolution() {

@@ -52,4 +56,5 @@ return 31

class LooseModeResolution {
constructor(ambiguity) {
constructor(ambiguity, isAngleBracket = false) {
this.ambiguity = ambiguity;
this.isAngleBracket = isAngleBracket;
}

@@ -68,7 +73,7 @@ /**

static namespaced(namespace) {
static namespaced(namespace, isAngleBracket = false) {
return new LooseModeResolution({
namespaces: [namespace],
fallback: false
});
}, isAngleBracket);
}

@@ -299,2 +304,2 @@ /**

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjItYS9vYmplY3RzL3Jlc29sdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7Ozs7Ozs7QUFVQTs7Ozs7O0FBTU0sTUFBQSxnQkFBQSxDQUF1QjtBQUMzQixFQUFBLFVBQVUsR0FBQTtBQUNSLFdBQUE7QUFBQTtBQUFBO0FBQ0Q7O0FBRUQsRUFBQSxTQUFTLEdBQUE7QUFDUCxXQUFBLFFBQUE7QUFDRDs7QUFQMEI7OztBQVV0QixNQUFNLGlCQUFpQixHQUFHLElBQTFCLGdCQUEwQixFQUExQjtBQUVQOzs7Ozs7Ozs7Ozs7QUFTTSxNQUFBLG1CQUFBLENBQTBCO0FBcUc5QixFQUFBLFdBQUEsQ0FBQSxTQUFBLEVBQXlDO0FBQXBCLFNBQUEsU0FBQSxHQUFBLFNBQUE7QUFBd0I7QUFwRzdDOzs7Ozs7Ozs7Ozs7QUFVQSxTQUFBLFVBQUEsQ0FBQSxTQUFBLEVBQTZDO0FBQzNDLFdBQU8sSUFBQSxtQkFBQSxDQUF3QjtBQUM3QixNQUFBLFVBQVUsRUFBRSxDQURpQixTQUNqQixDQURpQjtBQUU3QixNQUFBLFFBQVEsRUFBRTtBQUZtQixLQUF4QixDQUFQO0FBSUQ7QUFFRDs7Ozs7Ozs7Ozs7O0FBVUEsU0FBQSxRQUFBLEdBQWU7QUFDYixXQUFPLElBQUEsbUJBQUEsQ0FBd0I7QUFBRSxNQUFBLFVBQVUsRUFBWixFQUFBO0FBQWtCLE1BQUEsUUFBUSxFQUFFO0FBQTVCLEtBQXhCLENBQVA7QUFDRDtBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQkEsU0FBQSxNQUFBLENBQWM7QUFBRSxJQUFBO0FBQUYsR0FBZCxFQUE2QztBQUMzQyxXQUFPLElBQUEsbUJBQUEsQ0FBd0I7QUFDN0IsTUFBQSxVQUFVLEVBQUUsQ0FBQTtBQUFBO0FBQUEsUUFBQTtBQUFBO0FBQUEsT0FEaUI7QUFFN0IsTUFBQSxRQUFRLEVBQUUsQ0FBQztBQUZrQixLQUF4QixDQUFQO0FBSUQ7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUJBLFNBQUEsY0FBQSxDQUFzQjtBQUFFLElBQUE7QUFBRixHQUF0QixFQUFxRDtBQUNuRCxXQUFPLElBQUEsbUJBQUEsQ0FBd0I7QUFDN0IsTUFBQSxVQUFVLEVBQUUsQ0FBQTtBQUFBO0FBQUEsT0FEaUI7QUFFN0IsTUFBQSxRQUFRLEVBQUUsQ0FBQztBQUZrQixLQUF4QixDQUFQO0FBSUQ7QUFFRDs7Ozs7Ozs7Ozs7Ozs7O0FBYUEsU0FBQSxJQUFBLEdBQVc7QUFDVCxXQUFPLElBQUEsbUJBQUEsQ0FBd0I7QUFBRSxNQUFBLFVBQVUsRUFBRSxDQUFBO0FBQUE7QUFBQSxPQUFkO0FBQXlDLE1BQUEsUUFBUSxFQUFFO0FBQW5ELEtBQXhCLENBQVA7QUFDRDs7QUFJRCxFQUFBLFVBQVUsR0FBQTtBQUNSLFFBQUksS0FBQSxTQUFBLENBQUEsVUFBQSxDQUFBLE1BQUEsS0FBSixDQUFBLEVBQTRDO0FBQzFDLGFBQUE7QUFBQTtBQUFBO0FBREYsS0FBQSxNQUVPLElBQUksS0FBQSxTQUFBLENBQUEsVUFBQSxDQUFBLE1BQUEsS0FBSixDQUFBLEVBQTRDO0FBQ2pELFVBQUksS0FBQSxTQUFBLENBQUosUUFBQSxFQUE2QjtBQUMzQjtBQUNBLGVBQUE7QUFBQTtBQUFBO0FBRkYsT0FBQSxNQUdPO0FBQ0w7QUFDQSxnQkFBUSxLQUFBLFNBQUEsQ0FBQSxVQUFBLENBQVIsQ0FBUSxDQUFSO0FBQ0UsZUFBQTtBQUFBO0FBQUE7QUFDRSxtQkFBQTtBQUFBO0FBQUE7O0FBQ0YsZUFBQTtBQUFBO0FBQUE7QUFDRSxtQkFBQTtBQUFBO0FBQUE7O0FBQ0YsZUFBQTtBQUFBO0FBQUE7QUFDRSxtQkFBQTtBQUFBO0FBQUE7QUFOSjtBQVFEO0FBZEksS0FBQSxNQWVBLElBQUksS0FBQSxTQUFBLENBQUosUUFBQSxFQUE2QjtBQUNsQztBQUNBLGFBQUE7QUFBQTtBQUFBO0FBRkssS0FBQSxNQUdBO0FBQ0w7QUFDQSxlQUFBO0FBQUE7QUFBQTtBQUNEO0FBQ0Y7O0FBRUQsRUFBQSxTQUFTLEdBQUE7QUFDUCxRQUFJLEtBQUEsU0FBQSxDQUFBLFVBQUEsQ0FBQSxNQUFBLEtBQUosQ0FBQSxFQUE0QztBQUMxQyxhQUFBLE9BQUE7QUFERixLQUFBLE1BRU8sSUFBSSxLQUFBLFNBQUEsQ0FBQSxVQUFBLENBQUEsTUFBQSxLQUFKLENBQUEsRUFBNEM7QUFDakQsVUFBSSxLQUFBLFNBQUEsQ0FBSixRQUFBLEVBQTZCO0FBQzNCO0FBQ0EsZUFBTyxDQUFBLFdBQUEsRUFBWTtBQUFBO0FBQVosU0FBUDtBQUZGLE9BQUEsTUFHTztBQUNMLGVBQU8sQ0FBQSxJQUFBLEVBQU8sS0FBQSxTQUFBLENBQUEsVUFBQSxDQUFkLENBQWMsQ0FBUCxDQUFQO0FBQ0Q7QUFOSSxLQUFBLE1BT0EsSUFBSSxLQUFBLFNBQUEsQ0FBSixRQUFBLEVBQTZCO0FBQ2xDO0FBQ0EsYUFBTyxDQUFBLFdBQUEsRUFBWTtBQUFBO0FBQVosT0FBUDtBQUZLLEtBQUEsTUFHQTtBQUNMO0FBQ0EsYUFBTyxDQUFBLFdBQUEsRUFBWTtBQUFBO0FBQVosT0FBUDtBQUNEO0FBQ0Y7O0FBbko2Qjs7O0FBc0p6QixNQUFNLG1CQUFtQixHQUFHLG1CQUFtQixDQUEvQyxRQUE0QixFQUE1Qjs7O0FBaUdELFNBQUEsY0FBQSxDQUFBLFVBQUEsRUFBeUQ7QUFDN0QsTUFBSSxPQUFBLFVBQUEsS0FBSixRQUFBLEVBQW9DO0FBQ2xDLFlBQUEsVUFBQTtBQUNFLFdBQUEsT0FBQTtBQUNFLGVBQU8sbUJBQW1CLENBQTFCLFFBQU8sRUFBUDs7QUFDRixXQUFBLFFBQUE7QUFDRSxlQUFBLGlCQUFBO0FBSko7QUFNRDs7QUFFRCxVQUFRLFVBQVUsQ0FBbEIsQ0FBa0IsQ0FBbEI7QUFDRSxTQUFBLFdBQUE7QUFDRSxjQUFRLFVBQVUsQ0FBbEIsQ0FBa0IsQ0FBbEI7QUFDRSxhQUFBO0FBQUE7QUFBQTtBQUNFLGlCQUFPLG1CQUFtQixDQUFuQixNQUFBLENBQTJCO0FBQUUsWUFBQSxNQUFNLEVBQUU7QUFBVixXQUEzQixDQUFQOztBQUNGLGFBQUE7QUFBQTtBQUFBO0FBQ0UsaUJBQU8sbUJBQW1CLENBQTFCLElBQU8sRUFBUDs7QUFDRixhQUFBO0FBQUE7QUFBQTtBQUNFLGlCQUFPLG1CQUFtQixDQUFuQixNQUFBLENBQTJCO0FBQUUsWUFBQSxNQUFNLEVBQUU7QUFBVixXQUEzQixDQUFQO0FBTko7O0FBU0YsU0FBQSxJQUFBO0FBQ0UsYUFBTyxtQkFBbUIsQ0FBbkIsVUFBQSxDQUErQixVQUFVLENBQWhELENBQWdELENBQXpDLENBQVA7QUFaSjtBQWNEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBIGZyZWUgdmFyaWFibGUgaXMgcmVzb2x2ZWQgYWNjb3JkaW5nIHRvIGEgcmVzb2x1dGlvbiBydWxlOlxuICpcbiAqIDEuIFN0cmljdCByZXNvbHV0aW9uXG4gKiAyLiBOYW1lc3BhY2VkIHJlc29sdXRpb25cbiAqIDMuIEZhbGxiYWNrIHJlc29sdXRpb25cbiAqL1xuXG5pbXBvcnQgeyBHZXRDb250ZXh0dWFsRnJlZU9wLCBTZXhwT3Bjb2RlcyB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIFN0cmljdCByZXNvbHV0aW9uIGlzIHVzZWQ6XG4gKlxuICogMS4gaW4gYSBzdHJpY3QgbW9kZSB0ZW1wbGF0ZVxuICogMi4gaW4gYW4gdW5hbWJpZ3VvdXMgaW52b2NhdGlvbiB3aXRoIGRvdCBwYXRoc1xuICovXG5leHBvcnQgY2xhc3MgU3RyaWN0UmVzb2x1dGlvbiB7XG4gIHJlc29sdXRpb24oKTogR2V0Q29udGV4dHVhbEZyZWVPcCB7XG4gICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldFN0cmljdEZyZWU7XG4gIH1cblxuICBzZXJpYWxpemUoKTogU2VyaWFsaXplZFJlc29sdXRpb24ge1xuICAgIHJldHVybiAnU3RyaWN0JztcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgU1RSSUNUX1JFU09MVVRJT04gPSBuZXcgU3RyaWN0UmVzb2x1dGlvbigpO1xuXG4vKipcbiAqIEEgYExvb3NlTW9kZVJlc29sdXRpb25gIGluY2x1ZGVzOlxuICpcbiAqIC0gMCBvciBtb3JlIG5hbWVzcGFjZXMgdG8gcmVzb2x2ZSB0aGUgdmFyaWFibGUgaW5cbiAqIC0gb3B0aW9uYWwgZmFsbGJhY2sgYmVoYXZpb3JcbiAqXG4gKiBJbiBwcmFjdGljZSwgdGhlcmUgYXJlIGEgbGltaXRlZCBudW1iZXIgb2YgcG9zc2libGUgY29tYmluYXRpb25zIG9mIHRoZXNlIGRlZ3JlZXMgb2YgZnJlZWRvbSxcbiAqIGFuZCB0aGV5IGFyZSBjYXB0dXJlZCBieSB0aGUgYEFtYmlndWl0eWAgdW5pb24gYmVsb3cuXG4gKi9cbmV4cG9ydCBjbGFzcyBMb29zZU1vZGVSZXNvbHV0aW9uIHtcbiAgLyoqXG4gICAqIE5hbWVzcGFjZWQgcmVzb2x1dGlvbiBpcyB1c2VkIGluIGFuIHVuYW1iaWd1b3VzIHN5bnRheCBwb3NpdGlvbjpcbiAgICpcbiAgICogMS4gYChzZXhwKWAgKG5hbWVzcGFjZTogYEhlbHBlcmApXG4gICAqIDIuIGB7eyNibG9ja319YCAobmFtZXNwYWNlOiBgQ29tcG9uZW50YClcbiAgICogMy4gYDxhIHt7bW9kaWZpZXJ9fT5gIChuYW1lc3BhY2U6IGBNb2RpZmllcmApXG4gICAqIDQuIGA8Q29tcG9uZW50IC8+YCAobmFtZXNwYWNlOiBgQ29tcG9uZW50YClcbiAgICpcbiAgICogQHNlZSB7TmFtZXNwYWNlZEFtYmlndWl0eX1cbiAgICovXG4gIHN0YXRpYyBuYW1lc3BhY2VkKG5hbWVzcGFjZTogRnJlZVZhck5hbWVzcGFjZSk6IExvb3NlTW9kZVJlc29sdXRpb24ge1xuICAgIHJldHVybiBuZXcgTG9vc2VNb2RlUmVzb2x1dGlvbih7XG4gICAgICBuYW1lc3BhY2VzOiBbbmFtZXNwYWNlXSxcbiAgICAgIGZhbGxiYWNrOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGYWxsYmFjayByZXNvbHV0aW9uIGlzIHVzZWQgd2hlbiBubyBuYW1lc3BhY2VkIHJlc29sdXRpb25zIGFyZSBwb3NzaWJsZSwgYnV0IGZhbGxiYWNrXG4gICAqIHJlc29sdXRpb24gaXMgc3RpbGwgYWxsb3dlZC5cbiAgICpcbiAgICogYGBgaGJzXG4gICAqIHt7eC55fX1cbiAgICogYGBgXG4gICAqXG4gICAqIEBzZWUge0ZhbGxiYWNrQW1iaWd1aXR5fVxuICAgKi9cbiAgc3RhdGljIGZhbGxiYWNrKCk6IExvb3NlTW9kZVJlc29sdXRpb24ge1xuICAgIHJldHVybiBuZXcgTG9vc2VNb2RlUmVzb2x1dGlvbih7IG5hbWVzcGFjZXM6IFtdLCBmYWxsYmFjazogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBlbmQgcmVzb2x1dGlvbiBpcyB1c2VkIHdoZW4gdGhlIHZhcmlhYmxlIHNob3VsZCBiZSByZXNvbHZlZCBpbiBib3RoIHRoZSBgY29tcG9uZW50YCBhbmRcbiAgICogYGhlbHBlcmAgbmFtZXNwYWNlcy4gRmFsbGJhY2sgcmVzb2x1dGlvbiBpcyBvcHRpb25hbC5cbiAgICpcbiAgICogYGBgaGJzXG4gICAqIHt7eH19XG4gICAqIGBgYFxuICAgKlxuICAgKiBeIGB4YCBzaG91bGQgYmUgcmVzb2x2ZWQgaW4gdGhlIGBjb21wb25lbnRgIGFuZCBgaGVscGVyYCBuYW1lc3BhY2VzIHdpdGggZmFsbGJhY2sgcmVzb2x1dGlvbi5cbiAgICpcbiAgICogYGBgaGJzXG4gICAqIHt7eCB5fX1cbiAgICogYGBgXG4gICAqXG4gICAqIF4gYHhgIHNob3VsZCBiZSByZXNvbHZlZCBpbiB0aGUgYGNvbXBvbmVudGAgYW5kIGBoZWxwZXJgIG5hbWVzcGFjZXMgd2l0aG91dCBmYWxsYmFja1xuICAgKiByZXNvbHV0aW9uLlxuICAgKlxuICAgKiBAc2VlIHtDb21wb25lbnRPckhlbHBlckFtYmlndWl0eX1cbiAgICovXG4gIHN0YXRpYyBhcHBlbmQoeyBpbnZva2UgfTogeyBpbnZva2U6IGJvb2xlYW4gfSk6IExvb3NlTW9kZVJlc29sdXRpb24ge1xuICAgIHJldHVybiBuZXcgTG9vc2VNb2RlUmVzb2x1dGlvbih7XG4gICAgICBuYW1lc3BhY2VzOiBbRnJlZVZhck5hbWVzcGFjZS5Db21wb25lbnQsIEZyZWVWYXJOYW1lc3BhY2UuSGVscGVyXSxcbiAgICAgIGZhbGxiYWNrOiAhaW52b2tlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRydXN0aW5nIGFwcGVuZCByZXNvbHV0aW9uIGlzIHVzZWQgd2hlbiB0aGUgdmFyaWFibGUgc2hvdWxkIGJlIHJlc29sdmVkIGluIGJvdGggdGhlIGBjb21wb25lbnRgIGFuZFxuICAgKiBgaGVscGVyYCBuYW1lc3BhY2VzLiBGYWxsYmFjayByZXNvbHV0aW9uIGlzIG9wdGlvbmFsLlxuICAgKlxuICAgKiBgYGBoYnNcbiAgICoge3t7eH19fVxuICAgKiBgYGBcbiAgICpcbiAgICogXiBgeGAgc2hvdWxkIGJlIHJlc29sdmVkIGluIHRoZSBgY29tcG9uZW50YCBhbmQgYGhlbHBlcmAgbmFtZXNwYWNlcyB3aXRoIGZhbGxiYWNrIHJlc29sdXRpb24uXG4gICAqXG4gICAqIGBgYGhic1xuICAgKiB7e3t4IHl9fX1cbiAgICogYGBgXG4gICAqXG4gICAqIF4gYHhgIHNob3VsZCBiZSByZXNvbHZlZCBpbiB0aGUgYGNvbXBvbmVudGAgYW5kIGBoZWxwZXJgIG5hbWVzcGFjZXMgd2l0aG91dCBmYWxsYmFja1xuICAgKiByZXNvbHV0aW9uLlxuICAgKlxuICAgKiBAc2VlIHtIZWxwZXJBbWJpZ3VpdHl9XG4gICAqL1xuICBzdGF0aWMgdHJ1c3RpbmdBcHBlbmQoeyBpbnZva2UgfTogeyBpbnZva2U6IGJvb2xlYW4gfSk6IExvb3NlTW9kZVJlc29sdXRpb24ge1xuICAgIHJldHVybiBuZXcgTG9vc2VNb2RlUmVzb2x1dGlvbih7XG4gICAgICBuYW1lc3BhY2VzOiBbRnJlZVZhck5hbWVzcGFjZS5IZWxwZXJdLFxuICAgICAgZmFsbGJhY2s6ICFpbnZva2UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXR0cmlidXRlIHJlc29sdXRpb24gaXMgdXNlZCB3aGVuIHRoZSB2YXJpYWJsZSBzaG91bGQgYmUgcmVzb2x2ZWQgYXMgYSBgaGVscGVyYCB3aXRoIGZhbGxiYWNrXG4gICAqIHJlc29sdXRpb24uXG4gICAqXG4gICAqIGBgYGhic1xuICAgKiA8YSBocmVmPXt7eH19IC8+XG4gICAqIDxhIGhyZWY9XCJ7e3h9fS5odG1sXCIgLz5cbiAgICogYGBgXG4gICAqXG4gICAqIF4gcmVzb2x2ZWQgaW4gdGhlIGBoZWxwZXJgIG5hbWVzcGFjZSB3aXRoIGZhbGxiYWNrXG4gICAqXG4gICAqIEBzZWUge0hlbHBlckFtYmlndWl0eX1cbiAgICovXG4gIHN0YXRpYyBhdHRyKCk6IExvb3NlTW9kZVJlc29sdXRpb24ge1xuICAgIHJldHVybiBuZXcgTG9vc2VNb2RlUmVzb2x1dGlvbih7IG5hbWVzcGFjZXM6IFtGcmVlVmFyTmFtZXNwYWNlLkhlbHBlcl0sIGZhbGxiYWNrOiB0cnVlIH0pO1xuICB9XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgYW1iaWd1aXR5OiBBbWJpZ3VpdHkpIHt9XG5cbiAgcmVzb2x1dGlvbigpOiBHZXRDb250ZXh0dWFsRnJlZU9wIHtcbiAgICBpZiAodGhpcy5hbWJpZ3VpdHkubmFtZXNwYWNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNGYWxsYmFjaztcbiAgICB9IGVsc2UgaWYgKHRoaXMuYW1iaWd1aXR5Lm5hbWVzcGFjZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICBpZiAodGhpcy5hbWJpZ3VpdHkuZmFsbGJhY2spIHtcbiAgICAgICAgLy8gc2ltcGxlIG5hbWVzcGFjZWQgcmVzb2x1dGlvbiB3aXRoIGZhbGxiYWNrIG11c3QgYmUgYXR0cj17e3h9fVxuICAgICAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0RnJlZUFzSGVscGVySGVhZE9yVGhpc0ZhbGxiYWNrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gc2ltcGxlIG5hbWVzcGFjZWQgcmVzb2x1dGlvbiB3aXRob3V0IGZhbGxiYWNrXG4gICAgICAgIHN3aXRjaCAodGhpcy5hbWJpZ3VpdHkubmFtZXNwYWNlc1swXSkge1xuICAgICAgICAgIGNhc2UgRnJlZVZhck5hbWVzcGFjZS5IZWxwZXI6XG4gICAgICAgICAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0RnJlZUFzSGVscGVySGVhZDtcbiAgICAgICAgICBjYXNlIEZyZWVWYXJOYW1lc3BhY2UuTW9kaWZpZXI6XG4gICAgICAgICAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0RnJlZUFzTW9kaWZpZXJIZWFkO1xuICAgICAgICAgIGNhc2UgRnJlZVZhck5hbWVzcGFjZS5Db21wb25lbnQ6XG4gICAgICAgICAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0RnJlZUFzQ29tcG9uZW50SGVhZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5hbWJpZ3VpdHkuZmFsbGJhY2spIHtcbiAgICAgIC8vIGNvbXBvbmVudCBvciBoZWxwZXIgKyBmYWxsYmFjayAoe3tzb21ldGhpbmd9fSlcbiAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNDb21wb25lbnRPckhlbHBlckhlYWRPclRoaXNGYWxsYmFjaztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY29tcG9uZW50IG9yIGhlbHBlciB3aXRob3V0IGZhbGxiYWNrICh7e3NvbWV0aGluZyBzb21ldGhpbmd9fSlcbiAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNDb21wb25lbnRPckhlbHBlckhlYWQ7XG4gICAgfVxuICB9XG5cbiAgc2VyaWFsaXplKCk6IFNlcmlhbGl6ZWRSZXNvbHV0aW9uIHtcbiAgICBpZiAodGhpcy5hbWJpZ3VpdHkubmFtZXNwYWNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAnTG9vc2UnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hbWJpZ3VpdHkubmFtZXNwYWNlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGlmICh0aGlzLmFtYmlndWl0eS5mYWxsYmFjaykge1xuICAgICAgICAvLyBzaW1wbGUgbmFtZXNwYWNlZCByZXNvbHV0aW9uIHdpdGggZmFsbGJhY2sgbXVzdCBiZSBhdHRyPXt7eH19XG4gICAgICAgIHJldHVybiBbJ2FtYmlndW91cycsIFNlcmlhbGl6ZWRBbWJpZ3VpdHkuQXR0cl07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gWyducycsIHRoaXMuYW1iaWd1aXR5Lm5hbWVzcGFjZXNbMF1dO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5hbWJpZ3VpdHkuZmFsbGJhY2spIHtcbiAgICAgIC8vIGNvbXBvbmVudCBvciBoZWxwZXIgKyBmYWxsYmFjayAoe3tzb21ldGhpbmd9fSlcbiAgICAgIHJldHVybiBbJ2FtYmlndW91cycsIFNlcmlhbGl6ZWRBbWJpZ3VpdHkuQXBwZW5kXTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY29tcG9uZW50IG9yIGhlbHBlciB3aXRob3V0IGZhbGxiYWNrICh7e3NvbWV0aGluZyBzb21ldGhpbmd9fSlcbiAgICAgIHJldHVybiBbJ2FtYmlndW91cycsIFNlcmlhbGl6ZWRBbWJpZ3VpdHkuSW52b2tlXTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFSR1VNRU5UX1JFU09MVVRJT04gPSBMb29zZU1vZGVSZXNvbHV0aW9uLmZhbGxiYWNrKCk7XG5cbmV4cG9ydCBjb25zdCBlbnVtIEZyZWVWYXJOYW1lc3BhY2Uge1xuICBIZWxwZXIgPSAnSGVscGVyJyxcbiAgTW9kaWZpZXIgPSAnTW9kaWZpZXInLFxuICBDb21wb25lbnQgPSAnQ29tcG9uZW50Jyxcbn1cblxuLyoqXG4gKiBBIGBDb21wb25lbnRPckhlbHBlckFtYmlndWl0eWAgbWlnaHQgYmUgYSBjb21wb25lbnQgb3IgYSBoZWxwZXIsIHdpdGggYW4gb3B0aW9uYWwgZmFsbGJhY2tcbiAqXG4gKiBgYGBoYnNcbiAqIHt7eH19XG4gKiBgYGBcbiAqXG4gKiBeIGB4YCBpcyByZXNvbHZlZCBpbiB0aGUgYGNvbXBvbmVudGAgYW5kIGBoZWxwZXJgIG5hbWVzcGFjZXMsIHdpdGggZmFsbGJhY2tcbiAqXG4gKiBgYGBoYnNcbiAqIHt7eCB5fX1cbiAqIGBgYFxuICpcbiAqIF4gYHhgIGlzIHJlc29sdmVkIGluIHRoZSBgY29tcG9uZW50YCBhbmQgYGhlbHBlcmAgbmFtZXNwYWNlcywgd2l0aG91dCBmYWxsYmFja1xuICovXG50eXBlIENvbXBvbmVudE9ySGVscGVyQW1iaWd1aXR5ID0ge1xuICBuYW1lc3BhY2VzOiBbRnJlZVZhck5hbWVzcGFjZS5Db21wb25lbnQsIEZyZWVWYXJOYW1lc3BhY2UuSGVscGVyXTtcbiAgZmFsbGJhY2s6IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEEgYEhlbHBlckFtYmlndWl0eWAgbXVzdCBiZSBhIGhlbHBlciwgYnV0IGl0IGhhcyBmYWxsYmFjay4gSWYgaXQgZGlkbid0IGhhdmUgZmFsbGJhY2ssIGl0IHdvdWxkXG4gKiBiZSBhIGBOYW1lc3BhY2VkQW1iaWd1aXR5YC5cbiAqXG4gKiBgYGBoYnNcbiAqIDxhIGhyZWY9e3t4fX0gLz5cbiAqIDxhIGhyZWY9XCJ7e3h9fS5odG1sXCIgLz5cbiAqIGBgYFxuICpcbiAqIF4gYHhgIGlzIHJlc29sdmVkIGluIHRoZSBgaGVscGVyYCBuYW1lc3BhY2Ugd2l0aCBmYWxsYmFja1xuICovXG50eXBlIEhlbHBlckFtYmlndWl0eSA9IHsgbmFtZXNwYWNlczogW0ZyZWVWYXJOYW1lc3BhY2UuSGVscGVyXTsgZmFsbGJhY2s6IGJvb2xlYW4gfTtcblxuLyoqXG4gKiBBIGBOYW1lc3BhY2VkQW1iaWd1aXR5YCBtdXN0IGJlIHJlc29sdmVkIGluIGEgcGFydGljdWxhciBuYW1lc3BhY2UsIHdpdGhvdXQgZmFsbGJhY2suXG4gKlxuICogYGBgaGJzXG4gKiA8WCAvPlxuICogYGBgXG4gKlxuICogXiBgWGAgaXMgcmVzb2x2ZWQgaW4gdGhlIGBjb21wb25lbnRgIG5hbWVzcGFjZSB3aXRob3V0IGZhbGxiYWNrXG4gKlxuICogYGBgaGJzXG4gKiAoeClcbiAqIGBgYFxuICpcbiAqIF4gYHhgIGlzIHJlc29sdmVkIGluIHRoZSBgaGVscGVyYCBuYW1lc3BhY2Ugd2l0aG91dCBmYWxsYmFja1xuICpcbiAqIGBgYGhic1xuICogPGEge3t4fX0gLz5cbiAqIGBgYFxuICpcbiAqIF4gYHhgIGlzIHJlc29sdmVkIGluIHRoZSBgbW9kaWZpZXJgIG5hbWVzcGFjZSB3aXRob3V0IGZhbGxiYWNrXG4gKi9cbnR5cGUgTmFtZXNwYWNlZEFtYmlndWl0eSA9IHtcbiAgbmFtZXNwYWNlczogW0ZyZWVWYXJOYW1lc3BhY2UuQ29tcG9uZW50IHwgRnJlZVZhck5hbWVzcGFjZS5IZWxwZXIgfCBGcmVlVmFyTmFtZXNwYWNlLk1vZGlmaWVyXTtcbiAgZmFsbGJhY2s6IGZhbHNlO1xufTtcblxudHlwZSBGYWxsYmFja0FtYmlndWl0eSA9IHtcbiAgbmFtZXNwYWNlczogW107XG4gIGZhbGxiYWNrOiB0cnVlO1xufTtcblxudHlwZSBBbWJpZ3VpdHkgPVxuICB8IENvbXBvbmVudE9ySGVscGVyQW1iaWd1aXR5XG4gIHwgSGVscGVyQW1iaWd1aXR5XG4gIHwgTmFtZXNwYWNlZEFtYmlndWl0eVxuICB8IEZhbGxiYWNrQW1iaWd1aXR5O1xuXG5leHBvcnQgdHlwZSBGcmVlVmFyUmVzb2x1dGlvbiA9IFN0cmljdFJlc29sdXRpb24gfCBMb29zZU1vZGVSZXNvbHV0aW9uO1xuXG4vLyBTZXJpYWxpemF0aW9uXG5cbmNvbnN0IGVudW0gU2VyaWFsaXplZEFtYmlndWl0eSB7XG4gIC8vIHt7eH19XG4gIEFwcGVuZCA9ICdBcHBlbmQnLFxuICAvLyBocmVmPXt7eH19XG4gIEF0dHIgPSAnQXR0cicsXG4gIC8vIHt7eCB5fX0gKG5vdCBhdHRyKVxuICBJbnZva2UgPSAnSW52b2tlJyxcbn1cblxuZXhwb3J0IHR5cGUgU2VyaWFsaXplZFJlc29sdXRpb24gPVxuICB8ICdTdHJpY3QnXG4gIHwgJ0xvb3NlJ1xuICB8IFsnbnMnLCBGcmVlVmFyTmFtZXNwYWNlXVxuICB8IFsnYW1iaWd1b3VzJywgU2VyaWFsaXplZEFtYmlndWl0eV07XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkUmVzb2x1dGlvbihyZXNvbHV0aW9uOiBTZXJpYWxpemVkUmVzb2x1dGlvbik6IEZyZWVWYXJSZXNvbHV0aW9uIHtcbiAgaWYgKHR5cGVvZiByZXNvbHV0aW9uID09PSAnc3RyaW5nJykge1xuICAgIHN3aXRjaCAocmVzb2x1dGlvbikge1xuICAgICAgY2FzZSAnTG9vc2UnOlxuICAgICAgICByZXR1cm4gTG9vc2VNb2RlUmVzb2x1dGlvbi5mYWxsYmFjaygpO1xuICAgICAgY2FzZSAnU3RyaWN0JzpcbiAgICAgICAgcmV0dXJuIFNUUklDVF9SRVNPTFVUSU9OO1xuICAgIH1cbiAgfVxuXG4gIHN3aXRjaCAocmVzb2x1dGlvblswXSkge1xuICAgIGNhc2UgJ2FtYmlndW91cyc6XG4gICAgICBzd2l0Y2ggKHJlc29sdXRpb25bMV0pIHtcbiAgICAgICAgY2FzZSBTZXJpYWxpemVkQW1iaWd1aXR5LkFwcGVuZDpcbiAgICAgICAgICByZXR1cm4gTG9vc2VNb2RlUmVzb2x1dGlvbi5hcHBlbmQoeyBpbnZva2U6IGZhbHNlIH0pO1xuICAgICAgICBjYXNlIFNlcmlhbGl6ZWRBbWJpZ3VpdHkuQXR0cjpcbiAgICAgICAgICByZXR1cm4gTG9vc2VNb2RlUmVzb2x1dGlvbi5hdHRyKCk7XG4gICAgICAgIGNhc2UgU2VyaWFsaXplZEFtYmlndWl0eS5JbnZva2U6XG4gICAgICAgICAgcmV0dXJuIExvb3NlTW9kZVJlc29sdXRpb24uYXBwZW5kKHsgaW52b2tlOiB0cnVlIH0pO1xuICAgICAgfVxuXG4gICAgY2FzZSAnbnMnOlxuICAgICAgcmV0dXJuIExvb3NlTW9kZVJlc29sdXRpb24ubmFtZXNwYWNlZChyZXNvbHV0aW9uWzFdKTtcbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjItYS9vYmplY3RzL3Jlc29sdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7Ozs7Ozs7QUFVQTs7Ozs7O0FBTU0sTUFBQSxnQkFBQSxDQUF1QjtBQUE3QixFQUFBLFdBQUEsR0FBQTtBQVNXLFNBQUEsY0FBQSxHQUFBLEtBQUE7QUFDVjs7QUFUQyxFQUFBLFVBQVUsR0FBQTtBQUNSLFdBQUE7QUFBQTtBQUFBO0FBQ0Q7O0FBRUQsRUFBQSxTQUFTLEdBQUE7QUFDUCxXQUFBLFFBQUE7QUFDRDs7QUFQMEI7OztBQVl0QixNQUFNLGlCQUFpQixHQUFHLElBQTFCLGdCQUEwQixFQUExQjtBQUVQOzs7Ozs7Ozs7Ozs7QUFTTSxNQUFBLG1CQUFBLENBQTBCO0FBd0c5QixFQUFBLFdBQUEsQ0FBQSxTQUFBLEVBQW9ELGNBQUEsR0FBcEQsS0FBQSxFQUEwRTtBQUFyRCxTQUFBLFNBQUEsR0FBQSxTQUFBO0FBQStCLFNBQUEsY0FBQSxHQUFBLGNBQUE7QUFBMEI7QUF2RzlFOzs7Ozs7Ozs7Ozs7QUFVQSxTQUFBLFVBQUEsQ0FBQSxTQUFBLEVBQStDLGNBQWMsR0FBN0QsS0FBQSxFQUFxRTtBQUNuRSxXQUFPLElBQUEsbUJBQUEsQ0FDTDtBQUNFLE1BQUEsVUFBVSxFQUFFLENBRGQsU0FDYyxDQURkO0FBRUUsTUFBQSxRQUFRLEVBQUU7QUFGWixLQURLLEVBQVAsY0FBTyxDQUFQO0FBT0Q7QUFFRDs7Ozs7Ozs7Ozs7O0FBVUEsU0FBQSxRQUFBLEdBQWU7QUFDYixXQUFPLElBQUEsbUJBQUEsQ0FBd0I7QUFBRSxNQUFBLFVBQVUsRUFBWixFQUFBO0FBQWtCLE1BQUEsUUFBUSxFQUFFO0FBQTVCLEtBQXhCLENBQVA7QUFDRDtBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQkEsU0FBQSxNQUFBLENBQWM7QUFBRSxJQUFBO0FBQUYsR0FBZCxFQUE2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QUFDRSxjQUFRLFVBQVUsQ0FBbEIsQ0FBa0IsQ0FBbEI7QUFDRSxhQUFBO0FBQUE7QUFBQTtBQUNFLGlCQUFPLG1CQUFtQixDQUFuQixNQUFBLENBQTJCO0FBQUUsWUFBQSxNQUFNLEVBQUU7QUFBVixXQUEzQixDQUFQOztBQUNGLGFBQUE7QUFBQTtBQUFBO0FBQ0UsaUJBQU8sbUJBQW1CLENBQTFCLElBQU8sRUFBUDs7QUFDRixhQUFBO0FBQUE7QUFBQTtBQUNFLGlCQUFPLG1CQUFtQixDQUFuQixNQUFBLENBQTJCO0FBQUUsWUFBQSxNQUFNLEVBQUU7QUFBVixXQUEzQixDQUFQO0FBTko7O0FBU0YsU0FBQSxJQUFBO0FBQ0UsYUFBTyxtQkFBbUIsQ0FBbkIsVUFBQSxDQUErQixVQUFVLENBQWhELENBQWdELENBQXpDLENBQVA7QUFaSjtBQWNEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBIGZyZWUgdmFyaWFibGUgaXMgcmVzb2x2ZWQgYWNjb3JkaW5nIHRvIGEgcmVzb2x1dGlvbiBydWxlOlxuICpcbiAqIDEuIFN0cmljdCByZXNvbHV0aW9uXG4gKiAyLiBOYW1lc3BhY2VkIHJlc29sdXRpb25cbiAqIDMuIEZhbGxiYWNrIHJlc29sdXRpb25cbiAqL1xuXG5pbXBvcnQgeyBHZXRDb250ZXh0dWFsRnJlZU9wLCBTZXhwT3Bjb2RlcyB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIFN0cmljdCByZXNvbHV0aW9uIGlzIHVzZWQ6XG4gKlxuICogMS4gaW4gYSBzdHJpY3QgbW9kZSB0ZW1wbGF0ZVxuICogMi4gaW4gYW4gdW5hbWJpZ3VvdXMgaW52b2NhdGlvbiB3aXRoIGRvdCBwYXRoc1xuICovXG5leHBvcnQgY2xhc3MgU3RyaWN0UmVzb2x1dGlvbiB7XG4gIHJlc29sdXRpb24oKTogR2V0Q29udGV4dHVhbEZyZWVPcCB7XG4gICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldFN0cmljdEZyZWU7XG4gIH1cblxuICBzZXJpYWxpemUoKTogU2VyaWFsaXplZFJlc29sdXRpb24ge1xuICAgIHJldHVybiAnU3RyaWN0JztcbiAgfVxuXG4gIHJlYWRvbmx5IGlzQW5nbGVCcmFja2V0ID0gZmFsc2U7XG59XG5cbmV4cG9ydCBjb25zdCBTVFJJQ1RfUkVTT0xVVElPTiA9IG5ldyBTdHJpY3RSZXNvbHV0aW9uKCk7XG5cbi8qKlxuICogQSBgTG9vc2VNb2RlUmVzb2x1dGlvbmAgaW5jbHVkZXM6XG4gKlxuICogLSAwIG9yIG1vcmUgbmFtZXNwYWNlcyB0byByZXNvbHZlIHRoZSB2YXJpYWJsZSBpblxuICogLSBvcHRpb25hbCBmYWxsYmFjayBiZWhhdmlvclxuICpcbiAqIEluIHByYWN0aWNlLCB0aGVyZSBhcmUgYSBsaW1pdGVkIG51bWJlciBvZiBwb3NzaWJsZSBjb21iaW5hdGlvbnMgb2YgdGhlc2UgZGVncmVlcyBvZiBmcmVlZG9tLFxuICogYW5kIHRoZXkgYXJlIGNhcHR1cmVkIGJ5IHRoZSBgQW1iaWd1aXR5YCB1bmlvbiBiZWxvdy5cbiAqL1xuZXhwb3J0IGNsYXNzIExvb3NlTW9kZVJlc29sdXRpb24ge1xuICAvKipcbiAgICogTmFtZXNwYWNlZCByZXNvbHV0aW9uIGlzIHVzZWQgaW4gYW4gdW5hbWJpZ3VvdXMgc3ludGF4IHBvc2l0aW9uOlxuICAgKlxuICAgKiAxLiBgKHNleHApYCAobmFtZXNwYWNlOiBgSGVscGVyYClcbiAgICogMi4gYHt7I2Jsb2NrfX1gIChuYW1lc3BhY2U6IGBDb21wb25lbnRgKVxuICAgKiAzLiBgPGEge3ttb2RpZmllcn19PmAgKG5hbWVzcGFjZTogYE1vZGlmaWVyYClcbiAgICogNC4gYDxDb21wb25lbnQgLz5gIChuYW1lc3BhY2U6IGBDb21wb25lbnRgKVxuICAgKlxuICAgKiBAc2VlIHtOYW1lc3BhY2VkQW1iaWd1aXR5fVxuICAgKi9cbiAgc3RhdGljIG5hbWVzcGFjZWQobmFtZXNwYWNlOiBGcmVlVmFyTmFtZXNwYWNlLCBpc0FuZ2xlQnJhY2tldCA9IGZhbHNlKTogTG9vc2VNb2RlUmVzb2x1dGlvbiB7XG4gICAgcmV0dXJuIG5ldyBMb29zZU1vZGVSZXNvbHV0aW9uKFxuICAgICAge1xuICAgICAgICBuYW1lc3BhY2VzOiBbbmFtZXNwYWNlXSxcbiAgICAgICAgZmFsbGJhY2s6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIGlzQW5nbGVCcmFja2V0XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGYWxsYmFjayByZXNvbHV0aW9uIGlzIHVzZWQgd2hlbiBubyBuYW1lc3BhY2VkIHJlc29sdXRpb25zIGFyZSBwb3NzaWJsZSwgYnV0IGZhbGxiYWNrXG4gICAqIHJlc29sdXRpb24gaXMgc3RpbGwgYWxsb3dlZC5cbiAgICpcbiAgICogYGBgaGJzXG4gICAqIHt7eC55fX1cbiAgICogYGBgXG4gICAqXG4gICAqIEBzZWUge0ZhbGxiYWNrQW1iaWd1aXR5fVxuICAgKi9cbiAgc3RhdGljIGZhbGxiYWNrKCk6IExvb3NlTW9kZVJlc29sdXRpb24ge1xuICAgIHJldHVybiBuZXcgTG9vc2VNb2RlUmVzb2x1dGlvbih7IG5hbWVzcGFjZXM6IFtdLCBmYWxsYmFjazogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBlbmQgcmVzb2x1dGlvbiBpcyB1c2VkIHdoZW4gdGhlIHZhcmlhYmxlIHNob3VsZCBiZSByZXNvbHZlZCBpbiBib3RoIHRoZSBgY29tcG9uZW50YCBhbmRcbiAgICogYGhlbHBlcmAgbmFtZXNwYWNlcy4gRmFsbGJhY2sgcmVzb2x1dGlvbiBpcyBvcHRpb25hbC5cbiAgICpcbiAgICogYGBgaGJzXG4gICAqIHt7eH19XG4gICAqIGBgYFxuICAgKlxuICAgKiBeIGB4YCBzaG91bGQgYmUgcmVzb2x2ZWQgaW4gdGhlIGBjb21wb25lbnRgIGFuZCBgaGVscGVyYCBuYW1lc3BhY2VzIHdpdGggZmFsbGJhY2sgcmVzb2x1dGlvbi5cbiAgICpcbiAgICogYGBgaGJzXG4gICAqIHt7eCB5fX1cbiAgICogYGBgXG4gICAqXG4gICAqIF4gYHhgIHNob3VsZCBiZSByZXNvbHZlZCBpbiB0aGUgYGNvbXBvbmVudGAgYW5kIGBoZWxwZXJgIG5hbWVzcGFjZXMgd2l0aG91dCBmYWxsYmFja1xuICAgKiByZXNvbHV0aW9uLlxuICAgKlxuICAgKiBAc2VlIHtDb21wb25lbnRPckhlbHBlckFtYmlndWl0eX1cbiAgICovXG4gIHN0YXRpYyBhcHBlbmQoeyBpbnZva2UgfTogeyBpbnZva2U6IGJvb2xlYW4gfSk6IExvb3NlTW9kZVJlc29sdXRpb24ge1xuICAgIHJldHVybiBuZXcgTG9vc2VNb2RlUmVzb2x1dGlvbih7XG4gICAgICBuYW1lc3BhY2VzOiBbRnJlZVZhck5hbWVzcGFjZS5Db21wb25lbnQsIEZyZWVWYXJOYW1lc3BhY2UuSGVscGVyXSxcbiAgICAgIGZhbGxiYWNrOiAhaW52b2tlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRydXN0aW5nIGFwcGVuZCByZXNvbHV0aW9uIGlzIHVzZWQgd2hlbiB0aGUgdmFyaWFibGUgc2hvdWxkIGJlIHJlc29sdmVkIGluIGJvdGggdGhlIGBjb21wb25lbnRgIGFuZFxuICAgKiBgaGVscGVyYCBuYW1lc3BhY2VzLiBGYWxsYmFjayByZXNvbHV0aW9uIGlzIG9wdGlvbmFsLlxuICAgKlxuICAgKiBgYGBoYnNcbiAgICoge3t7eH19fVxuICAgKiBgYGBcbiAgICpcbiAgICogXiBgeGAgc2hvdWxkIGJlIHJlc29sdmVkIGluIHRoZSBgY29tcG9uZW50YCBhbmQgYGhlbHBlcmAgbmFtZXNwYWNlcyB3aXRoIGZhbGxiYWNrIHJlc29sdXRpb24uXG4gICAqXG4gICAqIGBgYGhic1xuICAgKiB7e3t4IHl9fX1cbiAgICogYGBgXG4gICAqXG4gICAqIF4gYHhgIHNob3VsZCBiZSByZXNvbHZlZCBpbiB0aGUgYGNvbXBvbmVudGAgYW5kIGBoZWxwZXJgIG5hbWVzcGFjZXMgd2l0aG91dCBmYWxsYmFja1xuICAgKiByZXNvbHV0aW9uLlxuICAgKlxuICAgKiBAc2VlIHtIZWxwZXJBbWJpZ3VpdHl9XG4gICAqL1xuICBzdGF0aWMgdHJ1c3RpbmdBcHBlbmQoeyBpbnZva2UgfTogeyBpbnZva2U6IGJvb2xlYW4gfSk6IExvb3NlTW9kZVJlc29sdXRpb24ge1xuICAgIHJldHVybiBuZXcgTG9vc2VNb2RlUmVzb2x1dGlvbih7XG4gICAgICBuYW1lc3BhY2VzOiBbRnJlZVZhck5hbWVzcGFjZS5IZWxwZXJdLFxuICAgICAgZmFsbGJhY2s6ICFpbnZva2UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXR0cmlidXRlIHJlc29sdXRpb24gaXMgdXNlZCB3aGVuIHRoZSB2YXJpYWJsZSBzaG91bGQgYmUgcmVzb2x2ZWQgYXMgYSBgaGVscGVyYCB3aXRoIGZhbGxiYWNrXG4gICAqIHJlc29sdXRpb24uXG4gICAqXG4gICAqIGBgYGhic1xuICAgKiA8YSBocmVmPXt7eH19IC8+XG4gICAqIDxhIGhyZWY9XCJ7e3h9fS5odG1sXCIgLz5cbiAgICogYGBgXG4gICAqXG4gICAqIF4gcmVzb2x2ZWQgaW4gdGhlIGBoZWxwZXJgIG5hbWVzcGFjZSB3aXRoIGZhbGxiYWNrXG4gICAqXG4gICAqIEBzZWUge0hlbHBlckFtYmlndWl0eX1cbiAgICovXG4gIHN0YXRpYyBhdHRyKCk6IExvb3NlTW9kZVJlc29sdXRpb24ge1xuICAgIHJldHVybiBuZXcgTG9vc2VNb2RlUmVzb2x1dGlvbih7IG5hbWVzcGFjZXM6IFtGcmVlVmFyTmFtZXNwYWNlLkhlbHBlcl0sIGZhbGxiYWNrOiB0cnVlIH0pO1xuICB9XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgYW1iaWd1aXR5OiBBbWJpZ3VpdHksIHJlYWRvbmx5IGlzQW5nbGVCcmFja2V0ID0gZmFsc2UpIHt9XG5cbiAgcmVzb2x1dGlvbigpOiBHZXRDb250ZXh0dWFsRnJlZU9wIHtcbiAgICBpZiAodGhpcy5hbWJpZ3VpdHkubmFtZXNwYWNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNGYWxsYmFjaztcbiAgICB9IGVsc2UgaWYgKHRoaXMuYW1iaWd1aXR5Lm5hbWVzcGFjZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICBpZiAodGhpcy5hbWJpZ3VpdHkuZmFsbGJhY2spIHtcbiAgICAgICAgLy8gc2ltcGxlIG5hbWVzcGFjZWQgcmVzb2x1dGlvbiB3aXRoIGZhbGxiYWNrIG11c3QgYmUgYXR0cj17e3h9fVxuICAgICAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0RnJlZUFzSGVscGVySGVhZE9yVGhpc0ZhbGxiYWNrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gc2ltcGxlIG5hbWVzcGFjZWQgcmVzb2x1dGlvbiB3aXRob3V0IGZhbGxiYWNrXG4gICAgICAgIHN3aXRjaCAodGhpcy5hbWJpZ3VpdHkubmFtZXNwYWNlc1swXSkge1xuICAgICAgICAgIGNhc2UgRnJlZVZhck5hbWVzcGFjZS5IZWxwZXI6XG4gICAgICAgICAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0RnJlZUFzSGVscGVySGVhZDtcbiAgICAgICAgICBjYXNlIEZyZWVWYXJOYW1lc3BhY2UuTW9kaWZpZXI6XG4gICAgICAgICAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0RnJlZUFzTW9kaWZpZXJIZWFkO1xuICAgICAgICAgIGNhc2UgRnJlZVZhck5hbWVzcGFjZS5Db21wb25lbnQ6XG4gICAgICAgICAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0RnJlZUFzQ29tcG9uZW50SGVhZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5hbWJpZ3VpdHkuZmFsbGJhY2spIHtcbiAgICAgIC8vIGNvbXBvbmVudCBvciBoZWxwZXIgKyBmYWxsYmFjayAoe3tzb21ldGhpbmd9fSlcbiAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNDb21wb25lbnRPckhlbHBlckhlYWRPclRoaXNGYWxsYmFjaztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY29tcG9uZW50IG9yIGhlbHBlciB3aXRob3V0IGZhbGxiYWNrICh7e3NvbWV0aGluZyBzb21ldGhpbmd9fSlcbiAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNDb21wb25lbnRPckhlbHBlckhlYWQ7XG4gICAgfVxuICB9XG5cbiAgc2VyaWFsaXplKCk6IFNlcmlhbGl6ZWRSZXNvbHV0aW9uIHtcbiAgICBpZiAodGhpcy5hbWJpZ3VpdHkubmFtZXNwYWNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAnTG9vc2UnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hbWJpZ3VpdHkubmFtZXNwYWNlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGlmICh0aGlzLmFtYmlndWl0eS5mYWxsYmFjaykge1xuICAgICAgICAvLyBzaW1wbGUgbmFtZXNwYWNlZCByZXNvbHV0aW9uIHdpdGggZmFsbGJhY2sgbXVzdCBiZSBhdHRyPXt7eH19XG4gICAgICAgIHJldHVybiBbJ2FtYmlndW91cycsIFNlcmlhbGl6ZWRBbWJpZ3VpdHkuQXR0cl07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gWyducycsIHRoaXMuYW1iaWd1aXR5Lm5hbWVzcGFjZXNbMF1dO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5hbWJpZ3VpdHkuZmFsbGJhY2spIHtcbiAgICAgIC8vIGNvbXBvbmVudCBvciBoZWxwZXIgKyBmYWxsYmFjayAoe3tzb21ldGhpbmd9fSlcbiAgICAgIHJldHVybiBbJ2FtYmlndW91cycsIFNlcmlhbGl6ZWRBbWJpZ3VpdHkuQXBwZW5kXTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY29tcG9uZW50IG9yIGhlbHBlciB3aXRob3V0IGZhbGxiYWNrICh7e3NvbWV0aGluZyBzb21ldGhpbmd9fSlcbiAgICAgIHJldHVybiBbJ2FtYmlndW91cycsIFNlcmlhbGl6ZWRBbWJpZ3VpdHkuSW52b2tlXTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFSR1VNRU5UX1JFU09MVVRJT04gPSBMb29zZU1vZGVSZXNvbHV0aW9uLmZhbGxiYWNrKCk7XG5cbmV4cG9ydCBjb25zdCBlbnVtIEZyZWVWYXJOYW1lc3BhY2Uge1xuICBIZWxwZXIgPSAnSGVscGVyJyxcbiAgTW9kaWZpZXIgPSAnTW9kaWZpZXInLFxuICBDb21wb25lbnQgPSAnQ29tcG9uZW50Jyxcbn1cblxuLyoqXG4gKiBBIGBDb21wb25lbnRPckhlbHBlckFtYmlndWl0eWAgbWlnaHQgYmUgYSBjb21wb25lbnQgb3IgYSBoZWxwZXIsIHdpdGggYW4gb3B0aW9uYWwgZmFsbGJhY2tcbiAqXG4gKiBgYGBoYnNcbiAqIHt7eH19XG4gKiBgYGBcbiAqXG4gKiBeIGB4YCBpcyByZXNvbHZlZCBpbiB0aGUgYGNvbXBvbmVudGAgYW5kIGBoZWxwZXJgIG5hbWVzcGFjZXMsIHdpdGggZmFsbGJhY2tcbiAqXG4gKiBgYGBoYnNcbiAqIHt7eCB5fX1cbiAqIGBgYFxuICpcbiAqIF4gYHhgIGlzIHJlc29sdmVkIGluIHRoZSBgY29tcG9uZW50YCBhbmQgYGhlbHBlcmAgbmFtZXNwYWNlcywgd2l0aG91dCBmYWxsYmFja1xuICovXG50eXBlIENvbXBvbmVudE9ySGVscGVyQW1iaWd1aXR5ID0ge1xuICBuYW1lc3BhY2VzOiBbRnJlZVZhck5hbWVzcGFjZS5Db21wb25lbnQsIEZyZWVWYXJOYW1lc3BhY2UuSGVscGVyXTtcbiAgZmFsbGJhY2s6IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEEgYEhlbHBlckFtYmlndWl0eWAgbXVzdCBiZSBhIGhlbHBlciwgYnV0IGl0IGhhcyBmYWxsYmFjay4gSWYgaXQgZGlkbid0IGhhdmUgZmFsbGJhY2ssIGl0IHdvdWxkXG4gKiBiZSBhIGBOYW1lc3BhY2VkQW1iaWd1aXR5YC5cbiAqXG4gKiBgYGBoYnNcbiAqIDxhIGhyZWY9e3t4fX0gLz5cbiAqIDxhIGhyZWY9XCJ7e3h9fS5odG1sXCIgLz5cbiAqIGBgYFxuICpcbiAqIF4gYHhgIGlzIHJlc29sdmVkIGluIHRoZSBgaGVscGVyYCBuYW1lc3BhY2Ugd2l0aCBmYWxsYmFja1xuICovXG50eXBlIEhlbHBlckFtYmlndWl0eSA9IHsgbmFtZXNwYWNlczogW0ZyZWVWYXJOYW1lc3BhY2UuSGVscGVyXTsgZmFsbGJhY2s6IGJvb2xlYW4gfTtcblxuLyoqXG4gKiBBIGBOYW1lc3BhY2VkQW1iaWd1aXR5YCBtdXN0IGJlIHJlc29sdmVkIGluIGEgcGFydGljdWxhciBuYW1lc3BhY2UsIHdpdGhvdXQgZmFsbGJhY2suXG4gKlxuICogYGBgaGJzXG4gKiA8WCAvPlxuICogYGBgXG4gKlxuICogXiBgWGAgaXMgcmVzb2x2ZWQgaW4gdGhlIGBjb21wb25lbnRgIG5hbWVzcGFjZSB3aXRob3V0IGZhbGxiYWNrXG4gKlxuICogYGBgaGJzXG4gKiAoeClcbiAqIGBgYFxuICpcbiAqIF4gYHhgIGlzIHJlc29sdmVkIGluIHRoZSBgaGVscGVyYCBuYW1lc3BhY2Ugd2l0aG91dCBmYWxsYmFja1xuICpcbiAqIGBgYGhic1xuICogPGEge3t4fX0gLz5cbiAqIGBgYFxuICpcbiAqIF4gYHhgIGlzIHJlc29sdmVkIGluIHRoZSBgbW9kaWZpZXJgIG5hbWVzcGFjZSB3aXRob3V0IGZhbGxiYWNrXG4gKi9cbnR5cGUgTmFtZXNwYWNlZEFtYmlndWl0eSA9IHtcbiAgbmFtZXNwYWNlczogW0ZyZWVWYXJOYW1lc3BhY2UuQ29tcG9uZW50IHwgRnJlZVZhck5hbWVzcGFjZS5IZWxwZXIgfCBGcmVlVmFyTmFtZXNwYWNlLk1vZGlmaWVyXTtcbiAgZmFsbGJhY2s6IGZhbHNlO1xufTtcblxudHlwZSBGYWxsYmFja0FtYmlndWl0eSA9IHtcbiAgbmFtZXNwYWNlczogW107XG4gIGZhbGxiYWNrOiB0cnVlO1xufTtcblxudHlwZSBBbWJpZ3VpdHkgPVxuICB8IENvbXBvbmVudE9ySGVscGVyQW1iaWd1aXR5XG4gIHwgSGVscGVyQW1iaWd1aXR5XG4gIHwgTmFtZXNwYWNlZEFtYmlndWl0eVxuICB8IEZhbGxiYWNrQW1iaWd1aXR5O1xuXG5leHBvcnQgdHlwZSBGcmVlVmFyUmVzb2x1dGlvbiA9IFN0cmljdFJlc29sdXRpb24gfCBMb29zZU1vZGVSZXNvbHV0aW9uO1xuXG4vLyBTZXJpYWxpemF0aW9uXG5cbmNvbnN0IGVudW0gU2VyaWFsaXplZEFtYmlndWl0eSB7XG4gIC8vIHt7eH19XG4gIEFwcGVuZCA9ICdBcHBlbmQnLFxuICAvLyBocmVmPXt7eH19XG4gIEF0dHIgPSAnQXR0cicsXG4gIC8vIHt7eCB5fX0gKG5vdCBhdHRyKVxuICBJbnZva2UgPSAnSW52b2tlJyxcbn1cblxuZXhwb3J0IHR5cGUgU2VyaWFsaXplZFJlc29sdXRpb24gPVxuICB8ICdTdHJpY3QnXG4gIHwgJ0xvb3NlJ1xuICB8IFsnbnMnLCBGcmVlVmFyTmFtZXNwYWNlXVxuICB8IFsnYW1iaWd1b3VzJywgU2VyaWFsaXplZEFtYmlndWl0eV07XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkUmVzb2x1dGlvbihyZXNvbHV0aW9uOiBTZXJpYWxpemVkUmVzb2x1dGlvbik6IEZyZWVWYXJSZXNvbHV0aW9uIHtcbiAgaWYgKHR5cGVvZiByZXNvbHV0aW9uID09PSAnc3RyaW5nJykge1xuICAgIHN3aXRjaCAocmVzb2x1dGlvbikge1xuICAgICAgY2FzZSAnTG9vc2UnOlxuICAgICAgICByZXR1cm4gTG9vc2VNb2RlUmVzb2x1dGlvbi5mYWxsYmFjaygpO1xuICAgICAgY2FzZSAnU3RyaWN0JzpcbiAgICAgICAgcmV0dXJuIFNUUklDVF9SRVNPTFVUSU9OO1xuICAgIH1cbiAgfVxuXG4gIHN3aXRjaCAocmVzb2x1dGlvblswXSkge1xuICAgIGNhc2UgJ2FtYmlndW91cyc6XG4gICAgICBzd2l0Y2ggKHJlc29sdXRpb25bMV0pIHtcbiAgICAgICAgY2FzZSBTZXJpYWxpemVkQW1iaWd1aXR5LkFwcGVuZDpcbiAgICAgICAgICByZXR1cm4gTG9vc2VNb2RlUmVzb2x1dGlvbi5hcHBlbmQoeyBpbnZva2U6IGZhbHNlIH0pO1xuICAgICAgICBjYXNlIFNlcmlhbGl6ZWRBbWJpZ3VpdHkuQXR0cjpcbiAgICAgICAgICByZXR1cm4gTG9vc2VNb2RlUmVzb2x1dGlvbi5hdHRyKCk7XG4gICAgICAgIGNhc2UgU2VyaWFsaXplZEFtYmlndWl0eS5JbnZva2U6XG4gICAgICAgICAgcmV0dXJuIExvb3NlTW9kZVJlc29sdXRpb24uYXBwZW5kKHsgaW52b2tlOiB0cnVlIH0pO1xuICAgICAgfVxuXG4gICAgY2FzZSAnbnMnOlxuICAgICAgcmV0dXJuIExvb3NlTW9kZVJlc29sdXRpb24ubmFtZXNwYWNlZChyZXNvbHV0aW9uWzFdKTtcbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==

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

var _utils = require("./utils");
function _defineProperties(target, props) {

@@ -142,7 +144,9 @@ for (var i = 0; i < props.length; i++) {

_proto2.allocateFree = function allocateFree(name, resolution) {
// If the name in question is an uppercase (i.e. angle-bracket) component invocation, run
// the optional `customizeComponentName` function provided to the precompiler.
if (resolution.resolution() === 39
/* GetFreeAsComponentHead */
) {
name = this.customizeComponentName(name);
}
&& resolution.isAngleBracket && (0, _utils.isUpperCase)(name)) {
name = this.customizeComponentName(name);
}

@@ -274,2 +278,2 @@ var index = this.upvars.indexOf(name);

exports.BlockSymbolTable = BlockSymbolTable;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvc3ltYm9sLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSUEsSUFBTSxXQUFOLEdBQUEsYUFBQSxZQUFBO0FBQUEsV0FBQSxXQUFBLEdBQUEsQ0FBQTs7QUFBQSxFQUFBLFdBQUEsQ0FBQSxHQUFBLEdBQ0UsU0FBQSxHQUFBLENBQUEsTUFBQSxFQUFBLHNCQUFBLEVBRW1EO0FBRWpELFdBQU8sSUFBQSxrQkFBQSxDQUFBLE1BQUEsRUFBUCxzQkFBTyxDQUFQO0FBTEosR0FBQTs7QUFBQSxNQUFBLE1BQUEsR0FBQSxXQUFBLENBQUEsU0FBQTs7QUFBQSxFQUFBLE1BQUEsQ0FBQSxLQUFBLEdBcUJFLFNBQUEsS0FBQSxDQUFBLE1BQUEsRUFBc0I7QUFBQSxRQUFBLEtBQUEsR0FBQSxJQUFBOztBQUNwQixRQUFJLE9BQU8sR0FBRyxNQUFNLENBQU4sR0FBQSxDQUFZLFVBQUQsSUFBQyxFQUFEO0FBQUEsYUFBVSxLQUFBLENBQUEsUUFBQSxDQUFuQyxJQUFtQyxDQUFWO0FBQXpCLEtBQWMsQ0FBZDtBQUNBLFdBQU8sSUFBQSxnQkFBQSxDQUFBLElBQUEsRUFBQSxNQUFBLEVBQVAsT0FBTyxDQUFQO0FBdkJKLEdBQUE7O0FBQUEsU0FBQSxXQUFBO0FBQUEsQ0FBQSxFQUFBOzs7O0FBMkJBLElBQU0sa0JBQU4sR0FBQSxhQUFBLFVBQUEsWUFBQSxFQUFBO0FBQUEsRUFBQSxjQUFBLENBQUEsa0JBQUEsRUFBQSxZQUFBLENBQUE7O0FBQ0UsV0FBQSxrQkFBQSxDQUFBLGNBQUEsRUFBQSxzQkFBQSxFQUUyRDtBQUFBLFFBQUEsTUFBQTs7QUFFekQsSUFBQSxNQUFBLEdBQUEsWUFBQSxDQUFBLElBQUEsQ0FBQSxJQUFBLEtBQUEsSUFBQTtBQUhRLElBQUEsTUFBQSxD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QUEsR0FLWTtBQUNSLGFBQU8sS0FBUCxPQUFBO0FBQ0Q7QUFQSCxHQUFBLENBQUEsQ0FBQTs7QUFBQSxTQUFBLGdCQUFBO0FBQUEsQ0FBQSxDQUFBLFdBQUEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvcmUsIERpY3QsIFNleHBPcGNvZGVzIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBkaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5cbmltcG9ydCB7IEFTVHYyIH0gZnJvbSAnLi4nO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU3ltYm9sVGFibGUge1xuICBzdGF0aWMgdG9wKFxuICAgIGxvY2Fsczogc3RyaW5nW10sXG4gICAgY3VzdG9taXplQ29tcG9uZW50TmFtZTogKGlucHV0OiBzdHJpbmcpID0+IHN0cmluZ1xuICApOiBQcm9ncmFtU3ltYm9sVGFibGUge1xuICAgIHJldHVybiBuZXcgUHJvZ3JhbVN5bWJvbFRhYmxlKGxvY2FscywgY3VzdG9taXplQ29tcG9uZW50TmFtZSk7XG4gIH1cblxuICBhYnN0cmFjdCBoYXMobmFtZTogc3RyaW5nKTogYm9vbGVhbjtcbiAgYWJzdHJhY3QgZ2V0KG5hbWU6IHN0cmluZyk6IFtzeW1ib2w6IG51bWJlciwgaXNSb290OiBib29sZWFuXTtcblxuICBhYnN0cmFjdCBnZXRMb2NhbHNNYXAoKTogRGljdDxudW1iZXI+O1xuICBhYnN0cmFjdCBnZXRFdmFsSW5mbygpOiBDb3JlLkV2YWxJbmZvO1xuXG4gIGFic3RyYWN0IGFsbG9jYXRlRnJlZShuYW1lOiBzdHJpbmcsIHJlc29sdXRpb246IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uKTogbnVtYmVyO1xuICBhYnN0cmFjdCBhbGxvY2F0ZU5hbWVkKG5hbWU6IHN0cmluZyk6IG51bWJlcjtcbiAgYWJzdHJhY3QgYWxsb2NhdGVCbG9jayhuYW1lOiBzdHJpbmcpOiBudW1iZXI7XG4gIGFic3RyYWN0IGFsbG9jYXRlKGlkZW50aWZpZXI6IHN0cmluZyk6IG51bWJlcjtcblxuICBhYnN0cmFjdCBzZXRIYXNFdmFsKCk6IHZvaWQ7XG5cbiAgY2hpbGQobG9jYWxzOiBzdHJpbmdbXSk6IEJsb2NrU3ltYm9sVGFibGUge1xuICAgIGxldCBzeW1ib2xzID0gbG9jYWxzLm1hcCgobmFtZSkgPT4gdGhpcy5hbGxvY2F0ZShuYW1lKSk7XG4gICAgcmV0dXJuIG5ldyBCbG9ja1N5bWJvbFRhYmxlKHRoaXMsIGxvY2Fscywgc3ltYm9scyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFByb2dyYW1TeW1ib2xUYWJsZSBleHRlbmRzIFN5bWJvbFRhYmxlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZUxvY2Fsczogc3RyaW5nW10sXG4gICAgcHJpdmF0ZSBjdXN0b21pemVDb21wb25lbnROYW1lOiAoaW5wdXQ6IHN0cmluZykgPT4gc3RyaW5nXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgc3ltYm9sczogc3RyaW5nW10gPSBbXTtcbiAgcHVibGljIHVwdmFyczogc3RyaW5nW10gPSBbXTtcblxuICBwcml2YXRlIHNpemUgPSAxO1xuICBwcml2YXRlIG5hbWVkID0gZGljdDxudW1iZXI+KCk7XG4gIHByaXZhdGUgYmxvY2tzID0gZGljdDxudW1iZXI+KCk7XG4gIHByaXZhdGUgdXNlZFRlbXBsYXRlTG9jYWxzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICNoYXNFdmFsID0gZmFsc2U7XG5cbiAgZ2V0VXNlZFRlbXBsYXRlTG9jYWxzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy51c2VkVGVtcGxhdGVMb2NhbHM7XG4gIH1cblxuICBzZXRIYXNFdmFsKCk6IHZvaWQge1xuICAgIHRoaXMuI2hhc0V2YWwgPSB0cnVlO1xuICB9XG5cbiAgZ2V0IGhhc0V2YWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI2hhc0V2YWw7XG4gIH1cblxuICBoYXMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVMb2NhbHMuaW5kZXhPZihuYW1lKSAhPT0gLTE7XG4gIH1cblxuICBnZXQobmFtZTogc3RyaW5nKTogW251bWJlciwgYm9vbGVhbl0ge1xuICAgIGxldCBpbmRleCA9IHRoaXMudXNlZFRlbXBsYXRlTG9jYWxzLmluZGV4T2YobmFtZSk7XG5cbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICByZXR1cm4gW2luZGV4LCB0cnVlXTtcbiAgICB9XG5cbiAgICBpbmRleCA9IHRoaXMudXNlZFRlbXBsYXRlTG9jYWxzLmxlbmd0aDtcbiAgICB0aGlzLnVzZWRUZW1wbGF0ZUxvY2Fscy5wdXNoKG5hbWUpO1xuICAgIHJldHVybiBbaW5kZXgsIHRydWVdO1xuICB9XG5cbiAgZ2V0TG9jYWxzTWFwKCk6IERpY3Q8bnVtYmVyPiB7XG4gICAgcmV0dXJuIGRpY3QoKTtcbiAgfVxuXG4gIGdldEV2YWxJbmZvKCk6IENvcmUuRXZhbEluZm8ge1xuICAgIGxldCBsb2NhbHMgPSB0aGlzLmdldExvY2Fsc01hcCgpO1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhsb2NhbHMpLm1hcCgoc3ltYm9sKSA9PiBsb2NhbHNbc3ltYm9sXSk7XG4gIH1cblxuICBhbGxvY2F0ZUZyZWUobmFtZTogc3RyaW5nLCByZXNvbHV0aW9uOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbik6IG51bWJlciB7XG4gICAgaWYgKHJlc29sdXRpb24ucmVzb2x1dGlvbigpID09PSBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNDb21wb25lbnRIZWFkKSB7XG4gICAgICBuYW1lID0gdGhpcy5jdXN0b21pemVDb21wb25lbnROYW1lKG5hbWUpO1xuICAgIH1cblxuICAgIGxldCBpbmRleCA9IHRoaXMudXB2YXJzLmluZGV4T2YobmFtZSk7XG5cbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuXG4gICAgaW5kZXggPSB0aGlzLnVwdmFycy5sZW5ndGg7XG4gICAgdGhpcy51cHZhcnMucHVzaChuYW1lKTtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBhbGxvY2F0ZU5hbWVkKG5hbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgbGV0IG5hbWVkID0gdGhpcy5uYW1lZFtuYW1lXTtcblxuICAgIGlmICghbmFtZWQpIHtcbiAgICAgIG5hbWVkID0gdGhpcy5uYW1lZFtuYW1lXSA9IHRoaXMuYWxsb2NhdGUobmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5hbWVkO1xuICB9XG5cbiAgYWxsb2NhdGVCbG9jayhuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGlmIChuYW1lID09PSAnaW52ZXJzZScpIHtcbiAgICAgIG5hbWUgPSAnZWxzZSc7XG4gICAgfVxuXG4gICAgbGV0IGJsb2NrID0gdGhpcy5ibG9ja3NbbmFtZV07XG5cbiAgICBpZiAoIWJsb2NrKSB7XG4gICAgICBibG9jayA9IHRoaXMuYmxvY2tzW25hbWVdID0gdGhpcy5hbGxvY2F0ZShgJiR7bmFtZX1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYmxvY2s7XG4gIH1cblxuICBhbGxvY2F0ZShpZGVudGlmaWVyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHRoaXMuc3ltYm9scy5wdXNoKGlkZW50aWZpZXIpO1xuICAgIHJldHVybiB0aGlzLnNpemUrKztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQmxvY2tTeW1ib2xUYWJsZSBleHRlbmRzIFN5bWJvbFRhYmxlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYXJlbnQ6IFN5bWJvbFRhYmxlLCBwdWJsaWMgc3ltYm9sczogc3RyaW5nW10sIHB1YmxpYyBzbG90czogbnVtYmVyW10pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0IGxvY2FscygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuc3ltYm9scztcbiAgfVxuXG4gIGhhcyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zeW1ib2xzLmluZGV4T2YobmFtZSkgIT09IC0xIHx8IHRoaXMucGFyZW50LmhhcyhuYW1lKTtcbiAgfVxuXG4gIGdldChuYW1lOiBzdHJpbmcpOiBbbnVtYmVyLCBib29sZWFuXSB7XG4gICAgbGV0IHNsb3QgPSB0aGlzLnN5bWJvbHMuaW5kZXhPZihuYW1lKTtcbiAgICByZXR1cm4gc2xvdCA9PT0gLTEgPyB0aGlzLnBhcmVudC5nZXQobmFtZSkgOiBbdGhpcy5zbG90c1tzbG90XSwgZmFsc2VdO1xuICB9XG5cbiAgZ2V0TG9jYWxzTWFwKCk6IERpY3Q8bnVtYmVyPiB7XG4gICAgbGV0IGRpY3QgPSB0aGlzLnBhcmVudC5nZXRMb2NhbHNNYXAoKTtcbiAgICB0aGlzLnN5bWJvbHMuZm9yRWFjaCgoc3ltYm9sKSA9PiAoZGljdFtzeW1ib2xdID0gdGhpcy5nZXQoc3ltYm9sKVswXSkpO1xuICAgIHJldHVybiBkaWN0O1xuICB9XG5cbiAgZ2V0RXZhbEluZm8oKTogQ29yZS5FdmFsSW5mbyB7XG4gICAgbGV0IGxvY2FscyA9IHRoaXMuZ2V0TG9jYWxzTWFwKCk7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGxvY2FscykubWFwKChzeW1ib2wpID0+IGxvY2Fsc1tzeW1ib2xdKTtcbiAgfVxuXG4gIHNldEhhc0V2YWwoKTogdm9pZCB7XG4gICAgdGhpcy5wYXJlbnQuc2V0SGFzRXZhbCgpO1xuICB9XG5cbiAgYWxsb2NhdGVGcmVlKG5hbWU6IHN0cmluZywgcmVzb2x1dGlvbjogQVNUdjIuRnJlZVZhclJlc29sdXRpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5hbGxvY2F0ZUZyZWUobmFtZSwgcmVzb2x1dGlvbik7XG4gIH1cblxuICBhbGxvY2F0ZU5hbWVkKG5hbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmFsbG9jYXRlTmFtZWQobmFtZSk7XG4gIH1cblxuICBhbGxvY2F0ZUJsb2NrKG5hbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmFsbG9jYXRlQmxvY2sobmFtZSk7XG4gIH1cblxuICBhbGxvY2F0ZShpZGVudGlmaWVyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5hbGxvY2F0ZShpZGVudGlmaWVyKTtcbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvc3ltYm9sLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQTs7QUFHQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsSUFBTSxXQUFOLEdBQUEsYUFBQSxZQUFBO0FBQUEsV0FBQSxXQUFBLEdBQUEsQ0FBQTs7QUFBQSxFQUFBLFdBQUEsQ0FBQSxHQUFBLEdBQ0UsU0FBQSxHQUFBLENBQUEsTUFBQSxFQUFBLHNCQUFBLEVBRW1EO0FBRWpELFdBQU8sSUFBQSxrQkFBQSxDQUFBLE1BQUEsRUFBUCxzQkFBTyxDQUFQO0FBTEosR0FBQTs7QUFBQSxNQUFBLE1BQUEsR0FBQSxXQUFBLENBQUEsU0FBQTs7QUFBQSxFQUFBLE1BQUEsQ0FBQSxLQUFBLEdBcUJFLFNBQUEsS0FBQSxDQUFBLE1BQUEsRUFBc0I7QUFBQSxRQUFBLEtBQUEsR0FBQSxJQUFBOztBQUNwQixRQUFJLE9BQU8sR0FBRyxNQUFNLENBQU4sR0FBQSxDQUFZLFVBQUQsSUFBQyxFQUFEO0FBQUEsYUFBVSxLQUFBLENBQUEsUUFBQSxDQUFuQyxJQUFtQyxDQUFWO0FBQXpCLEtBQWMsQ0FBZDtBQUNBLFdBQU8sSUFBQSxnQkFBQSxDQUFBLElBQUEsRUFBQSxNQUFBLEVBQVAsT0FBTyxDQUFQO0FBdkJKLEdBQUE7O0FBQUEsU0FBQSxXQUFBO0FBQUEsQ0FBQSxFQUFBOzs7O0FBMkJBLElBQU0sa0JBQU4sR0FBQSxhQUFBLFVBQUEsWUFBQSxFQUFBO0FBQUEsRUFBQSxjQUFBLENBQUEsa0JBQUEsRUFBQSxZQUFBLENBQUE7O0FBQ0UsV0FBQSxrQkFBQSxDQUFBLGNBQUEsRUFBQSxzQkFBQSxFQUUyRDtBQUFBLFFBQUEsTUFBQTs7QUFFekQsSUFBQSxNQUFBLEdBQUEsWUFBQSxDQUFBLElBQUEsQ0FBQSxJQUFBLEtBQUEsSUFBQTtBQUhRLElBQUEs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QUE7QUFBQSxJQUFBLEdBQUEsRUFBQSxRQUFBO0FBQUEsSUFBQSxHQUFBLEVBQUEsU0FBQSxHQUFBLEdBS1k7QUFDUixhQUFPLEtBQVAsT0FBQTtBQUNEO0FBUEgsR0FBQSxDQUFBLENBQUE7O0FBQUEsU0FBQSxnQkFBQTtBQUFBLENBQUEsQ0FBQSxXQUFBLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3JlLCBEaWN0LCBTZXhwT3Bjb2RlcyB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZGljdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuXG5pbXBvcnQgeyBBU1R2MiB9IGZyb20gJy4uJztcbmltcG9ydCB7IGlzVXBwZXJDYXNlIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTeW1ib2xUYWJsZSB7XG4gIHN0YXRpYyB0b3AoXG4gICAgbG9jYWxzOiBzdHJpbmdbXSxcbiAgICBjdXN0b21pemVDb21wb25lbnROYW1lOiAoaW5wdXQ6IHN0cmluZykgPT4gc3RyaW5nXG4gICk6IFByb2dyYW1TeW1ib2xUYWJsZSB7XG4gICAgcmV0dXJuIG5ldyBQcm9ncmFtU3ltYm9sVGFibGUobG9jYWxzLCBjdXN0b21pemVDb21wb25lbnROYW1lKTtcbiAgfVxuXG4gIGFic3RyYWN0IGhhcyhuYW1lOiBzdHJpbmcpOiBib29sZWFuO1xuICBhYnN0cmFjdCBnZXQobmFtZTogc3RyaW5nKTogW3N5bWJvbDogbnVtYmVyLCBpc1Jvb3Q6IGJvb2xlYW5dO1xuXG4gIGFic3RyYWN0IGdldExvY2Fsc01hcCgpOiBEaWN0PG51bWJlcj47XG4gIGFic3RyYWN0IGdldEV2YWxJbmZvKCk6IENvcmUuRXZhbEluZm87XG5cbiAgYWJzdHJhY3QgYWxsb2NhdGVGcmVlKG5hbWU6IHN0cmluZywgcmVzb2x1dGlvbjogQVNUdjIuRnJlZVZhclJlc29sdXRpb24pOiBudW1iZXI7XG4gIGFic3RyYWN0IGFsbG9jYXRlTmFtZWQobmFtZTogc3RyaW5nKTogbnVtYmVyO1xuICBhYnN0cmFjdCBhbGxvY2F0ZUJsb2NrKG5hbWU6IHN0cmluZyk6IG51bWJlcjtcbiAgYWJzdHJhY3QgYWxsb2NhdGUoaWRlbnRpZmllcjogc3RyaW5nKTogbnVtYmVyO1xuXG4gIGFic3RyYWN0IHNldEhhc0V2YWwoKTogdm9pZDtcblxuICBjaGlsZChsb2NhbHM6IHN0cmluZ1tdKTogQmxvY2tTeW1ib2xUYWJsZSB7XG4gICAgbGV0IHN5bWJvbHMgPSBsb2NhbHMubWFwKChuYW1lKSA9PiB0aGlzLmFsbG9jYXRlKG5hbWUpKTtcbiAgICByZXR1cm4gbmV3IEJsb2NrU3ltYm9sVGFibGUodGhpcywgbG9jYWxzLCBzeW1ib2xzKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUHJvZ3JhbVN5bWJvbFRhYmxlIGV4dGVuZHMgU3ltYm9sVGFibGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRlbXBsYXRlTG9jYWxzOiBzdHJpbmdbXSxcbiAgICBwcml2YXRlIGN1c3RvbWl6ZUNvbXBvbmVudE5hbWU6IChpbnB1dDogc3RyaW5nKSA9PiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBzeW1ib2xzOiBzdHJpbmdbXSA9IFtdO1xuICBwdWJsaWMgdXB2YXJzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHByaXZhdGUgc2l6ZSA9IDE7XG4gIHByaXZhdGUgbmFtZWQgPSBkaWN0PG51bWJlcj4oKTtcbiAgcHJpdmF0ZSBibG9ja3MgPSBkaWN0PG51bWJlcj4oKTtcbiAgcHJpdmF0ZSB1c2VkVGVtcGxhdGVMb2NhbHM6IHN0cmluZ1tdID0gW107XG5cbiAgI2hhc0V2YWwgPSBmYWxzZTtcblxuICBnZXRVc2VkVGVtcGxhdGVMb2NhbHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnVzZWRUZW1wbGF0ZUxvY2FscztcbiAgfVxuXG4gIHNldEhhc0V2YWwoKTogdm9pZCB7XG4gICAgdGhpcy4jaGFzRXZhbCA9IHRydWU7XG4gIH1cblxuICBnZXQgaGFzRXZhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jaGFzRXZhbDtcbiAgfVxuXG4gIGhhcyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZUxvY2Fscy5pbmRleE9mKG5hbWUpICE9PSAtMTtcbiAgfVxuXG4gIGdldChuYW1lOiBzdHJpbmcpOiBbbnVtYmVyLCBib29sZWFuXSB7XG4gICAgbGV0IGluZGV4ID0gdGhpcy51c2VkVGVtcGxhdGVMb2NhbHMuaW5kZXhPZihuYW1lKTtcblxuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIHJldHVybiBbaW5kZXgsIHRydWVdO1xuICAgIH1cblxuICAgIGluZGV4ID0gdGhpcy51c2VkVGVtcGxhdGVMb2NhbHMubGVuZ3RoO1xuICAgIHRoaXMudXNlZFRlbXBsYXRlTG9jYWxzLnB1c2gobmFtZSk7XG4gICAgcmV0dXJuIFtpbmRleCwgdHJ1ZV07XG4gIH1cblxuICBnZXRMb2NhbHNNYXAoKTogRGljdDxudW1iZXI+IHtcbiAgICByZXR1cm4gZGljdCgpO1xuICB9XG5cbiAgZ2V0RXZhbEluZm8oKTogQ29yZS5FdmFsSW5mbyB7XG4gICAgbGV0IGxvY2FscyA9IHRoaXMuZ2V0TG9jYWxzTWFwKCk7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGxvY2FscykubWFwKChzeW1ib2wpID0+IGxvY2Fsc1tzeW1ib2xdKTtcbiAgfVxuXG4gIGFsbG9jYXRlRnJlZShuYW1lOiBzdHJpbmcsIHJlc29sdXRpb246IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uKTogbnVtYmVyIHtcbiAgICAvLyBJZiB0aGUgbmFtZSBpbiBxdWVzdGlvbiBpcyBhbiB1cHBlcmNhc2UgKGkuZS4gYW5nbGUtYnJhY2tldCkgY29tcG9uZW50IGludm9jYXRpb24sIHJ1blxuICAgIC8vIHRoZSBvcHRpb25hbCBgY3VzdG9taXplQ29tcG9uZW50TmFtZWAgZnVuY3Rpb24gcHJvdmlkZWQgdG8gdGhlIHByZWNvbXBpbGVyLlxuICAgIGlmIChcbiAgICAgIHJlc29sdXRpb24ucmVzb2x1dGlvbigpID09PSBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNDb21wb25lbnRIZWFkICYmXG4gICAgICByZXNvbHV0aW9uLmlzQW5nbGVCcmFja2V0ICYmXG4gICAgICBpc1VwcGVyQ2FzZShuYW1lKVxuICAgICkge1xuICAgICAgbmFtZSA9IHRoaXMuY3VzdG9taXplQ29tcG9uZW50TmFtZShuYW1lKTtcbiAgICB9XG5cbiAgICBsZXQgaW5kZXggPSB0aGlzLnVwdmFycy5pbmRleE9mKG5hbWUpO1xuXG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIGluZGV4ID0gdGhpcy51cHZhcnMubGVuZ3RoO1xuICAgIHRoaXMudXB2YXJzLnB1c2gobmFtZSk7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgYWxsb2NhdGVOYW1lZChuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGxldCBuYW1lZCA9IHRoaXMubmFtZWRbbmFtZV07XG5cbiAgICBpZiAoIW5hbWVkKSB7XG4gICAgICBuYW1lZCA9IHRoaXMubmFtZWRbbmFtZV0gPSB0aGlzLmFsbG9jYXRlKG5hbWUpO1xuICAgIH1cblxuICAgIHJldHVybiBuYW1lZDtcbiAgfVxuXG4gIGFsbG9jYXRlQmxvY2sobmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBpZiAobmFtZSA9PT0gJ2ludmVyc2UnKSB7XG4gICAgICBuYW1lID0gJ2Vsc2UnO1xuICAgIH1cblxuICAgIGxldCBibG9jayA9IHRoaXMuYmxvY2tzW25hbWVdO1xuXG4gICAgaWYgKCFibG9jaykge1xuICAgICAgYmxvY2sgPSB0aGlzLmJsb2Nrc1tuYW1lXSA9IHRoaXMuYWxsb2NhdGUoYCYke25hbWV9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJsb2NrO1xuICB9XG5cbiAgYWxsb2NhdGUoaWRlbnRpZmllcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICB0aGlzLnN5bWJvbHMucHVzaChpZGVudGlmaWVyKTtcbiAgICByZXR1cm4gdGhpcy5zaXplKys7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEJsb2NrU3ltYm9sVGFibGUgZXh0ZW5kcyBTeW1ib2xUYWJsZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFyZW50OiBTeW1ib2xUYWJsZSwgcHVibGljIHN5bWJvbHM6IHN0cmluZ1tdLCBwdWJsaWMgc2xvdHM6IG51bWJlcltdKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldCBsb2NhbHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbHM7XG4gIH1cblxuICBoYXMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3ltYm9scy5pbmRleE9mKG5hbWUpICE9PSAtMSB8fCB0aGlzLnBhcmVudC5oYXMobmFtZSk7XG4gIH1cblxuICBnZXQobmFtZTogc3RyaW5nKTogW251bWJlciwgYm9vbGVhbl0ge1xuICAgIGxldCBzbG90ID0gdGhpcy5zeW1ib2xzLmluZGV4T2YobmFtZSk7XG4gICAgcmV0dXJuIHNsb3QgPT09IC0xID8gdGhpcy5wYXJlbnQuZ2V0KG5hbWUpIDogW3RoaXMuc2xvdHNbc2xvdF0sIGZhbHNlXTtcbiAgfVxuXG4gIGdldExvY2Fsc01hcCgpOiBEaWN0PG51bWJlcj4ge1xuICAgIGxldCBkaWN0ID0gdGhpcy5wYXJlbnQuZ2V0TG9jYWxzTWFwKCk7XG4gICAgdGhpcy5zeW1ib2xzLmZvckVhY2goKHN5bWJvbCkgPT4gKGRpY3Rbc3ltYm9sXSA9IHRoaXMuZ2V0KHN5bWJvbClbMF0pKTtcbiAgICByZXR1cm4gZGljdDtcbiAgfVxuXG4gIGdldEV2YWxJbmZvKCk6IENvcmUuRXZhbEluZm8ge1xuICAgIGxldCBsb2NhbHMgPSB0aGlzLmdldExvY2Fsc01hcCgpO1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhsb2NhbHMpLm1hcCgoc3ltYm9sKSA9PiBsb2NhbHNbc3ltYm9sXSk7XG4gIH1cblxuICBzZXRIYXNFdmFsKCk6IHZvaWQge1xuICAgIHRoaXMucGFyZW50LnNldEhhc0V2YWwoKTtcbiAgfVxuXG4gIGFsbG9jYXRlRnJlZShuYW1lOiBzdHJpbmcsIHJlc29sdXRpb246IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuYWxsb2NhdGVGcmVlKG5hbWUsIHJlc29sdXRpb24pO1xuICB9XG5cbiAgYWxsb2NhdGVOYW1lZChuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5hbGxvY2F0ZU5hbWVkKG5hbWUpO1xuICB9XG5cbiAgYWxsb2NhdGVCbG9jayhuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5hbGxvY2F0ZUJsb2NrKG5hbWUpO1xuICB9XG5cbiAgYWxsb2NhdGUoaWRlbnRpZmllcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuYWxsb2NhdGUoaWRlbnRpZmllcik7XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=

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

exports.printLiteral = printLiteral;
exports.isUpperCase = isUpperCase;
exports.isLowerCase = isLowerCase;

@@ -99,2 +101,10 @@ var _syntaxError = require("./syntax-error");

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQTs7QUFJQTtBQUNBO0FBRUEsSUFBSSxrQkFBa0IsR0FBdEIsNEJBQUEsQyxDQUVBO0FBQ0E7QUFDQTs7QUFFTSxTQUFBLHVCQUFBLENBQUEsT0FBQSxFQUE0RDtBQUNoRSxNQUFJLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBN0IsT0FBNkIsQ0FBN0I7QUFDQSxNQUFBLE1BQUEsRUFBWSxPQUFPLENBQVAsV0FBQSxHQUFBLE1BQUE7QUFDYjs7QUFFRCxTQUFBLGdCQUFBLENBQUEsT0FBQSxFQUFvRDtBQUNsRCxNQUFJLENBQUMsR0FBRyxPQUFPLENBQVAsVUFBQSxDQUFSLE1BQUE7QUFDQSxNQUFJLFNBQVMsR0FBYixFQUFBOztBQUVBLE9BQUssSUFBSSxDQUFDLEdBQVYsQ0FBQSxFQUFnQixDQUFDLEdBQWpCLENBQUEsRUFBdUIsQ0FBdkIsRUFBQSxFQUE0QjtBQUMxQixJQUFBLFNBQVMsQ0FBVCxJQUFBLENBQWUsT0FBTyxDQUFQLFVBQUEsQ0FBQSxDQUFBLEVBQWYsSUFBQTtBQUNEOztBQUVELE1BQUksT0FBTyxHQUFHLFNBQVMsQ0FBVCxPQUFBLENBQWQsSUFBYyxDQUFkOztBQUVBLE1BQUksT0FBTyxLQUFLLENBQVosQ0FBQSxJQUFrQixTQUFTLENBQVQsTUFBQSxHQUFsQixDQUFBLElBQTBDLFNBQVMsQ0FBQyxTQUFTLENBQVQsTUFBQSxHQUFWLENBQVMsQ0FBVCxDQUFBLE1BQUEsQ0FBQSxDQUFBLE1BQTlDLEdBQUEsRUFBaUc7QUFDL0YsVUFBTSxzQ0FBbUIsK0ZBQW5CLEVBRUosT0FBTyxDQUZULEdBQU0sQ0FBTjtBQUlEOztBQUVELE1BQUksT0FBTyxLQUFLLENBQVosQ0FBQSxJQUFrQixDQUFDLEdBQW5CLE9BQUEsSUFBaUMsU0FBUyxDQUFDLE9BQU8sR0FBakIsQ0FBUyxDQUFULENBQUEsTUFBQSxDQUFBLENBQUEsTUFBckMsR0FBQSxFQUErRTtBQUM3RTtBQUNBLFFBQUksWUFBWSxHQUFHLFNBQVMsQ0FBVCxLQUFBLENBQUEsT0FBQSxFQUFBLElBQUEsQ0FBbkIsR0FBbUIsQ0FBbkI7O0FBQ0EsUUFDRSxZQUFZLENBQVosTUFBQSxDQUFvQixZQUFZLENBQVosTUFBQSxHQUFwQixDQUFBLE1BQUEsR0FBQSxJQUNPLFlBQVksQ0FBWixLQUFBLENBQVAsS0FBTyxFQUFQLE1BQU8sS0FGVCxDQUFBLEVBR0U7QUFDQSxZQUFNLHNDQUNKLHVDQUFBLFlBQUEsR0FEdUIsR0FBbkIsRUFFSixPQUFPLENBRlQsR0FBTSxDQUFOO0FBSUQ7O0FBRUQsUUFBSSxNQUFNLEdBQVYsRUFBQTs7QUFDQSxTQUFLLElBQUksRUFBQyxHQUFHLE9BQU8sR0FBcEIsQ0FBQSxFQUEwQixFQUFDLEdBQTNCLENBQUEsRUFBaUMsRUFBakMsRUFBQSxFQUFzQztBQUNwQyxVQUFJLEtBQUssR0FBRyxTQUFTLENBQVQsRUFBUyxDQUFULENBQUEsT0FBQSxDQUFBLEtBQUEsRUFBWixFQUFZLENBQVo7O0FBQ0EsVUFBSSxLQUFLLEtBQVQsRUFBQSxFQUFrQjtBQUNoQixZQUFJLGtCQUFrQixDQUFsQixJQUFBLENBQUosS0FBSSxDQUFKLEVBQW9DO0FBQ2xDLGdCQUFNLHNDQUNKLCtDQUFBLEtBQUEsR0FEdUIsR0FBbkIsRUFFSixPQUFPLENBRlQsR0FBTSxDQUFOO0FBSUQ7O0FBQ0QsUUFBQSxNQUFNLENBQU4sSUFBQSxDQUFBLEtBQUE7QUFDRDtBQUNGOztBQUVELFFBQUksTUFBTSxDQUFOLE1BQUEsS0FBSixDQUFBLEVBQXlCO0FBQ3ZCLFlBQU0sc0NBQW1CLGtDQUFuQixFQUF3RCxPQUFPLENBQXJFLEdBQU0sQ0FBTjtBQUNEOztBQUVELElBQUEsT0FBTyxDQUFQLFVBQUEsR0FBcUIsT0FBTyxDQUFQLFVBQUEsQ0FBQSxLQUFBLENBQUEsQ0FBQSxFQUFyQixPQUFxQixDQUFyQjtBQUNBLFdBQUEsTUFBQTtBQUNEOztBQUVELFNBQUEsSUFBQTtBQUNEOztBQUVLLFNBQUEsV0FBQSxDQUFBLElBQUEsRUFDa0Q7QUFFdEQsVUFBUSxJQUFJLENBQVosSUFBQTtBQUNFLFNBQUEsT0FBQTtBQUNBLFNBQUEsVUFBQTtBQUNFLGFBQU8sSUFBSSxDQUFYLElBQUE7O0FBQ0YsU0FBQSxhQUFBO0FBQ0UsYUFBTyxJQUFJLENBQVgsUUFBQTtBQUxKO0FBT0Q7O0FBRUssU0FBQSxXQUFBLENBQUEsTUFBQSxFQUFBLElBQUEsRUFFaUI7QUFFckIsRUFBQSxXQUFXLENBQVgsTUFBVyxDQUFYLENBQUEsSUFBQSxDQUFBLElBQUE7QUFDRDs7QUFJSyxTQUFBLFlBQUEsQ0FBQSxJQUFBLEVBQ21DO0FBRXZDLFNBQ0UsSUFBSSxDQUFKLElBQUEsS0FBQSxlQUFBLElBQ0EsSUFBSSxDQUFKLElBQUEsS0FEQSxnQkFBQSxJQUVBLElBQUksQ0FBSixJQUFBLEtBRkEsZUFBQSxJQUdBLElBQUksQ0FBSixJQUFBLEtBSEEsYUFBQSxJQUlBLElBQUksQ0FBSixJQUFBLEtBTEYsa0JBQUE7QUFPRDs7QUFFSyxTQUFBLFlBQUEsQ0FBQSxPQUFBLEVBQTZDO0FBQ2pELE1BQUksT0FBTyxDQUFQLElBQUEsS0FBSixrQkFBQSxFQUF5QztBQUN2QyxXQUFBLFdBQUE7QUFERixHQUFBLE1BRU87QUFDTCxXQUFPLElBQUksQ0FBSixTQUFBLENBQWUsT0FBTyxDQUE3QixLQUFPLENBQVA7QUFDRDtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBleHBlY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcblxuaW1wb3J0IHsgZ2VuZXJhdGVTeW50YXhFcnJvciB9IGZyb20gJy4vc3ludGF4LWVycm9yJztcbmltcG9ydCAqIGFzIEFTVHYxIGZyb20gJy4vdjEvYXBpJztcbmltcG9ydCAqIGFzIEhCUyBmcm9tICcuL3YxL2hhbmRsZWJhcnMtYXN0JztcblxuLy8gUmVnZXggdG8gdmFsaWRhdGUgdGhlIGlkZW50aWZpZXIgZm9yIGJsb2NrIHBhcmFtZXRlcnMuXG4vLyBCYXNlZCBvbiB0aGUgSUQgdmFsaWRhdGlvbiByZWdleCBpbiBIYW5kbGViYXJzLlxuXG5sZXQgSURfSU5WRVJTRV9QQVRURVJOID0gL1shXCIjJS0sXFwuXFwvOy0+QFxcWy1cXF5gXFx7LX5dLztcblxuLy8gQ2hlY2tzIHRoZSBlbGVtZW50J3MgYXR0cmlidXRlcyB0byBzZWUgaWYgaXQgdXNlcyBibG9jayBwYXJhbXMuXG4vLyBJZiBpdCBkb2VzLCByZWdpc3RlcnMgdGhlIGJsb2NrIHBhcmFtcyB3aXRoIHRoZSBwcm9ncmFtIGFuZFxuLy8gcmVtb3ZlcyB0aGUgY29ycmVzcG9uZGluZyBhdHRyaWJ1dGVzIGZyb20gdGhlIGVsZW1lbnQuXG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUVsZW1lbnRCbG9ja1BhcmFtcyhlbGVtZW50OiBBU1R2MS5FbGVtZW50Tm9kZSk6IHZvaWQge1xuICBsZXQgcGFyYW1zID0gcGFyc2VCbG9ja1BhcmFtcyhlbGVtZW50KTtcbiAgaWYgKHBhcmFtcykgZWxlbWVudC5ibG9ja1BhcmFtcyA9IHBhcmFtcztcbn1cblxuZnVuY3Rpb24gcGFyc2VCbG9ja1BhcmFtcyhlbGVtZW50OiBBU1R2MS5FbGVtZW50Tm9kZSk6IE9wdGlvbjxzdHJpbmdbXT4ge1xuICBsZXQgbCA9IGVsZW1lbnQuYXR0cmlidXRlcy5sZW5ndGg7XG4gIGxldCBhdHRyTmFtZXMgPSBbXTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgIGF0dHJOYW1lcy5wdXNoKGVsZW1lbnQuYXR0cmlidXRlc1tpXS5uYW1lKTtcbiAgfVxuXG4gIGxldCBhc0luZGV4ID0gYXR0ck5hbWVzLmluZGV4T2YoJ2FzJyk7XG5cbiAgaWYgKGFzSW5kZXggPT09IC0xICYmIGF0dHJOYW1lcy5sZW5ndGggPiAwICYmIGF0dHJOYW1lc1thdHRyTmFtZXMubGVuZ3RoIC0gMV0uY2hhckF0KDApID09PSAnfCcpIHtcbiAgICB0aHJvdyBnZW5lcmF0ZVN5bnRheEVycm9yKFxuICAgICAgJ0Jsb2NrIHBhcmFtZXRlcnMgbXVzdCBiZSBwcmVjZWRlZCBieSB0aGUgYGFzYCBrZXl3b3JkLCBkZXRlY3RlZCBibG9jayBwYXJhbWV0ZXJzIHdpdGhvdXQgYGFzYCcsXG4gICAgICBlbGVtZW50LmxvY1xuICAgICk7XG4gIH1cblxuICBpZiAoYXNJbmRleCAhPT0gLTEgJiYgbCA+IGFzSW5kZXggJiYgYXR0ck5hbWVzW2FzSW5kZXggKyAxXS5jaGFyQXQoMCkgPT09ICd8Jykge1xuICAgIC8vIFNvbWUgYmFzaWMgdmFsaWRhdGlvbiwgc2luY2Ugd2UncmUgZG9pbmcgdGhlIHBhcnNpbmcgb3Vyc2VsdmVzXG4gICAgbGV0IHBhcmFtc1N0cmluZyA9IGF0dHJOYW1lcy5zbGljZShhc0luZGV4KS5qb2luKCcgJyk7XG4gICAgaWYgKFxuICAgICAgcGFyYW1zU3RyaW5nLmNoYXJBdChwYXJhbXNTdHJpbmcubGVuZ3RoIC0gMSkgIT09ICd8JyB8fFxuICAgICAgZXhwZWN0KHBhcmFtc1N0cmluZy5tYXRjaCgvXFx8L2cpLCBgYmxvY2sgcGFyYW1zIG11c3QgZXhpc3QgaGVyZWApLmxlbmd0aCAhPT0gMlxuICAgICkge1xuICAgICAgdGhyb3cgZ2VuZXJhdGVTeW50YXhFcnJvcihcbiAgICAgICAgXCJJbnZhbGlkIGJsb2NrIHBhcmFtZXRlcnMgc3ludGF4LCAnXCIgKyBwYXJhbXNTdHJpbmcgKyBcIidcIixcbiAgICAgICAgZWxlbWVudC5sb2NcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IHBhcmFtcyA9IFtdO1xuICAgIGZvciAobGV0IGkgPSBhc0luZGV4ICsgMTsgaSA8IGw7IGkrKykge1xuICAgICAgbGV0IHBhcmFtID0gYXR0ck5hbWVzW2ldLnJlcGxhY2UoL1xcfC9nLCAnJyk7XG4gICAgICBpZiAocGFyYW0gIT09ICcnKSB7XG4gICAgICAgIGlmIChJRF9JTlZFUlNFX1BBVFRFUk4udGVzdChwYXJhbSkpIHtcbiAgICAgICAgICB0aHJvdyBnZW5lcmF0ZVN5bnRheEVycm9yKFxuICAgICAgICAgICAgXCJJbnZhbGlkIGlkZW50aWZpZXIgZm9yIGJsb2NrIHBhcmFtZXRlcnMsICdcIiArIHBhcmFtICsgXCInXCIsXG4gICAgICAgICAgICBlbGVtZW50LmxvY1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcGFyYW1zLnB1c2gocGFyYW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwYXJhbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBnZW5lcmF0ZVN5bnRheEVycm9yKCdDYW5ub3QgdXNlIHplcm8gYmxvY2sgcGFyYW1ldGVycycsIGVsZW1lbnQubG9jKTtcbiAgICB9XG5cbiAgICBlbGVtZW50LmF0dHJpYnV0ZXMgPSBlbGVtZW50LmF0dHJpYnV0ZXMuc2xpY2UoMCwgYXNJbmRleCk7XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hpbGRyZW5Gb3IoXG4gIG5vZGU6IEFTVHYxLkJsb2NrIHwgQVNUdjEuVGVtcGxhdGUgfCBBU1R2MS5FbGVtZW50Tm9kZVxuKTogQVNUdjEuVG9wTGV2ZWxTdGF0ZW1lbnRbXSB7XG4gIHN3aXRjaCAobm9kZS50eXBlKSB7XG4gICAgY2FzZSAnQmxvY2snOlxuICAgIGNhc2UgJ1RlbXBsYXRlJzpcbiAgICAgIHJldHVybiBub2RlLmJvZHk7XG4gICAgY2FzZSAnRWxlbWVudE5vZGUnOlxuICAgICAgcmV0dXJuIG5vZGUuY2hpbGRyZW47XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZENoaWxkKFxuICBwYXJlbnQ6IEFTVHYxLkJsb2NrIHwgQVNUdjEuVGVtcGxhdGUgfCBBU1R2MS5FbGVtZW50Tm9kZSxcbiAgbm9kZTogQVNUdjEuU3RhdGVtZW50XG4pOiB2b2lkIHtcbiAgY2hpbGRyZW5Gb3IocGFyZW50KS5wdXNoKG5vZGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNIQlNMaXRlcmFsKHBhdGg6IEhCUy5FeHByZXNzaW9uKTogcGF0aCBpcyBIQlMuTGl0ZXJhbDtcbmV4cG9ydCBmdW5jdGlvbiBpc0hCU0xpdGVyYWwocGF0aDogQVNUdjEuRXhwcmVzc2lvbik6IHBhdGggaXMgQVNUdjEuTGl0ZXJhbDtcbmV4cG9ydCBmdW5jdGlvbiBpc0hCU0xpdGVyYWwoXG4gIHBhdGg6IEhCUy5FeHByZXNzaW9uIHwgQVNUdjEuRXhwcmVzc2lvblxuKTogcGF0aCBpcyBIQlMuTGl0ZXJhbCB8IEFTVHYxLkxpdGVyYWwge1xuICByZXR1cm4gKFxuICAgIHBhdGgudHlwZSA9PT0gJ1N0cmluZ0xpdGVyYWwnIHx8XG4gICAgcGF0aC50eXBlID09PSAnQm9vbGVhbkxpdGVyYWwnIHx8XG4gICAgcGF0aC50eXBlID09PSAnTnVtYmVyTGl0ZXJhbCcgfHxcbiAgICBwYXRoLnR5cGUgPT09ICdOdWxsTGl0ZXJhbCcgfHxcbiAgICBwYXRoLnR5cGUgPT09ICdVbmRlZmluZWRMaXRlcmFsJ1xuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRMaXRlcmFsKGxpdGVyYWw6IEFTVHYxLkxpdGVyYWwpOiBzdHJpbmcge1xuICBpZiAobGl0ZXJhbC50eXBlID09PSAnVW5kZWZpbmVkTGl0ZXJhbCcpIHtcbiAgICByZXR1cm4gJ3VuZGVmaW5lZCc7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGxpdGVyYWwudmFsdWUpO1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9
function isUpperCase(tag) {
return tag[0] === tag[0].toUpperCase() && tag[0] !== tag[0].toLowerCase();
}
function isLowerCase(tag) {
return tag[0] === tag[0].toLowerCase() && tag[0] !== tag[0].toUpperCase();
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUdBOztBQUlBO0FBQ0E7QUFFQSxJQUFJLGtCQUFrQixHQUF0Qiw0QkFBQSxDLENBRUE7QUFDQTtBQUNBOztBQUVNLFNBQUEsdUJBQUEsQ0FBQSxPQUFBLEVBQTREO0FBQ2hFLE1BQUksTUFBTSxHQUFHLGdCQUFnQixDQUE3QixPQUE2QixDQUE3QjtBQUNBLE1BQUEsTUFBQSxFQUFZLE9BQU8sQ0FBUCxXQUFBLEdBQUEsTUFBQTtBQUNiOztBQUVELFNBQUEsZ0JBQUEsQ0FBQSxPQUFBLEVBQW9EO0FBQ2xELE1BQUksQ0FBQyxHQUFHLE9BQU8sQ0FBUCxVQUFBLENBQVIsTUFBQTtBQUNBLE1BQUksU0FBUyxHQUFiLEVBQUE7O0FBRUEsT0FBSyxJQUFJLENBQUMsR0FBVixDQUFBLEVBQWdCLENBQUMsR0FBakIsQ0FBQSxFQUF1QixDQUF2QixFQUFBLEVBQTRCO0FBQzFCLElBQUEsU0FBUyxDQUFULElBQUEsQ0FBZSxPQUFPLENBQVAsVUFBQSxDQUFBLENBQUEsRUFBZixJQUFBO0FBQ0Q7O0FBRUQsTUFBSSxPQUFPLEdBQUcsU0FBUyxDQUFULE9BQUEsQ0FBZCxJQUFjLENBQWQ7O0FBRUEsTUFBSSxPQUFPLEtBQUssQ0FBWixDQUFBLElBQWtCLFNBQVMsQ0FBVCxNQUFBLEdBQWxCLENBQUEsSUFBMEMsU0FBUyxDQUFDLFNBQVMsQ0FBVCxNQUFBLEdBQVYsQ0FBUyxDQUFULENBQUEsTUFBQSxDQUFBLENBQUEsTUFBOUMsR0FBQSxFQUFpRztBQUMvRixVQUFNLHNDQUFtQiwrRkFBbkIsRUFFSixPQUFPLENBRlQsR0FBTSxDQUFOO0FBSUQ7O0FBRUQsTUFBSSxPQUFPLEtBQUssQ0FBWixDQUFBLElBQWtCLENBQUMsR0FBbkIsT0FBQSxJQUFpQyxTQUFTLENBQUMsT0FBTyxHQUFqQixDQUFTLENBQVQsQ0FB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RyxDQUFILENBQVgsV0FBVyxFQUFYLElBQW1DLEdBQUcsQ0FBSCxDQUFHLENBQUgsS0FBVyxHQUFHLENBQUgsQ0FBRyxDQUFILENBQXJELFdBQXFELEVBQXJEO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb24gfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGV4cGVjdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuXG5pbXBvcnQgeyBnZW5lcmF0ZVN5bnRheEVycm9yIH0gZnJvbSAnLi9zeW50YXgtZXJyb3InO1xuaW1wb3J0ICogYXMgQVNUdjEgZnJvbSAnLi92MS9hcGknO1xuaW1wb3J0ICogYXMgSEJTIGZyb20gJy4vdjEvaGFuZGxlYmFycy1hc3QnO1xuXG4vLyBSZWdleCB0byB2YWxpZGF0ZSB0aGUgaWRlbnRpZmllciBmb3IgYmxvY2sgcGFyYW1ldGVycy5cbi8vIEJhc2VkIG9uIHRoZSBJRCB2YWxpZGF0aW9uIHJlZ2V4IGluIEhhbmRsZWJhcnMuXG5cbmxldCBJRF9JTlZFUlNFX1BBVFRFUk4gPSAvWyFcIiMlLSxcXC5cXC87LT5AXFxbLVxcXmBcXHstfl0vO1xuXG4vLyBDaGVja3MgdGhlIGVsZW1lbnQncyBhdHRyaWJ1dGVzIHRvIHNlZSBpZiBpdCB1c2VzIGJsb2NrIHBhcmFtcy5cbi8vIElmIGl0IGRvZXMsIHJlZ2lzdGVycyB0aGUgYmxvY2sgcGFyYW1zIHdpdGggdGhlIHByb2dyYW0gYW5kXG4vLyByZW1vdmVzIHRoZSBjb3JyZXNwb25kaW5nIGF0dHJpYnV0ZXMgZnJvbSB0aGUgZWxlbWVudC5cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRWxlbWVudEJsb2NrUGFyYW1zKGVsZW1lbnQ6IEFTVHYxLkVsZW1lbnROb2RlKTogdm9pZCB7XG4gIGxldCBwYXJhbXMgPSBwYXJzZUJsb2NrUGFyYW1zKGVsZW1lbnQpO1xuICBpZiAocGFyYW1zKSBlbGVtZW50LmJsb2NrUGFyYW1zID0gcGFyYW1zO1xufVxuXG5mdW5jdGlvbiBwYXJzZUJsb2NrUGFyYW1zKGVsZW1lbnQ6IEFTVHYxLkVsZW1lbnROb2RlKTogT3B0aW9uPHN0cmluZ1tdPiB7XG4gIGxldCBsID0gZWxlbWVudC5hdHRyaWJ1dGVzLmxlbmd0aDtcbiAgbGV0IGF0dHJOYW1lcyA9IFtdO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAgYXR0ck5hbWVzLnB1c2goZWxlbWVudC5hdHRyaWJ1dGVzW2ldLm5hbWUpO1xuICB9XG5cbiAgbGV0IGFzSW5kZXggPSBhdHRyTmFtZXMuaW5kZXhPZignYXMnKTtcblxuICBpZiAoYXNJbmRleCA9PT0gLTEgJiYgYXR0ck5hbWVzLmxlbmd0aCA+IDAgJiYgYXR0ck5hbWVzW2F0dHJOYW1lcy5sZW5ndGggLSAxXS5jaGFyQXQoMCkgPT09ICd8Jykge1xuICAgIHRocm93IGdlbmVyYXRlU3ludGF4RXJyb3IoXG4gICAgICAnQmxvY2sgcGFyYW1ldGVycyBtdXN0IGJlIHByZWNlZGVkIGJ5IHRoZSBgYXNgIGtleXdvcmQsIGRldGVjdGVkIGJsb2NrIHBhcmFtZXRlcnMgd2l0aG91dCBgYXNgJyxcbiAgICAgIGVsZW1lbnQubG9jXG4gICAgKTtcbiAgfVxuXG4gIGlmIChhc0luZGV4ICE9PSAtMSAmJiBsID4gYXNJbmRleCAmJiBhdHRyTmFtZXNbYXNJbmRleCArIDFdLmNoYXJBdCgwKSA9PT0gJ3wnKSB7XG4gICAgLy8gU29tZSBiYXNpYyB2YWxpZGF0aW9uLCBzaW5jZSB3ZSdyZSBkb2luZyB0aGUgcGFyc2luZyBvdXJzZWx2ZXNcbiAgICBsZXQgcGFyYW1zU3RyaW5nID0gYXR0ck5hbWVzLnNsaWNlKGFzSW5kZXgpLmpvaW4oJyAnKTtcbiAgICBpZiAoXG4gICAgICBwYXJhbXNTdHJpbmcuY2hhckF0KHBhcmFtc1N0cmluZy5sZW5ndGggLSAxKSAhPT0gJ3wnIHx8XG4gICAgICBleHBlY3QocGFyYW1zU3RyaW5nLm1hdGNoKC9cXHwvZyksIGBibG9jayBwYXJhbXMgbXVzdCBleGlzdCBoZXJlYCkubGVuZ3RoICE9PSAyXG4gICAgKSB7XG4gICAgICB0aHJvdyBnZW5lcmF0ZVN5bnRheEVycm9yKFxuICAgICAgICBcIkludmFsaWQgYmxvY2sgcGFyYW1ldGVycyBzeW50YXgsICdcIiArIHBhcmFtc1N0cmluZyArIFwiJ1wiLFxuICAgICAgICBlbGVtZW50LmxvY1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgcGFyYW1zID0gW107XG4gICAgZm9yIChsZXQgaSA9IGFzSW5kZXggKyAxOyBpIDwgbDsgaSsrKSB7XG4gICAgICBsZXQgcGFyYW0gPSBhdHRyTmFtZXNbaV0ucmVwbGFjZSgvXFx8L2csICcnKTtcbiAgICAgIGlmIChwYXJhbSAhPT0gJycpIHtcbiAgICAgICAgaWYgKElEX0lOVkVSU0VfUEFUVEVSTi50ZXN0KHBhcmFtKSkge1xuICAgICAgICAgIHRocm93IGdlbmVyYXRlU3ludGF4RXJyb3IoXG4gICAgICAgICAgICBcIkludmFsaWQgaWRlbnRpZmllciBmb3IgYmxvY2sgcGFyYW1ldGVycywgJ1wiICsgcGFyYW0gKyBcIidcIixcbiAgICAgICAgICAgIGVsZW1lbnQubG9jXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBwYXJhbXMucHVzaChwYXJhbSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IGdlbmVyYXRlU3ludGF4RXJyb3IoJ0Nhbm5vdCB1c2UgemVybyBibG9jayBwYXJhbWV0ZXJzJywgZWxlbWVudC5sb2MpO1xuICAgIH1cblxuICAgIGVsZW1lbnQuYXR0cmlidXRlcyA9IGVsZW1lbnQuYXR0cmlidXRlcy5zbGljZSgwLCBhc0luZGV4KTtcbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGlsZHJlbkZvcihcbiAgbm9kZTogQVNUdjEuQmxvY2sgfCBBU1R2MS5UZW1wbGF0ZSB8IEFTVHYxLkVsZW1lbnROb2RlXG4pOiBBU1R2MS5Ub3BMZXZlbFN0YXRlbWVudFtdIHtcbiAgc3dpdGNoIChub2RlLnR5cGUpIHtcbiAgICBjYXNlICdCbG9jayc6XG4gICAgY2FzZSAnVGVtcGxhdGUnOlxuICAgICAgcmV0dXJuIG5vZGUuYm9keTtcbiAgICBjYXNlICdFbGVtZW50Tm9kZSc6XG4gICAgICByZXR1cm4gbm9kZS5jaGlsZHJlbjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kQ2hpbGQoXG4gIHBhcmVudDogQVNUdjEuQmxvY2sgfCBBU1R2MS5UZW1wbGF0ZSB8IEFTVHYxLkVsZW1lbnROb2RlLFxuICBub2RlOiBBU1R2MS5TdGF0ZW1lbnRcbik6IHZvaWQge1xuICBjaGlsZHJlbkZvcihwYXJlbnQpLnB1c2gobm9kZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0hCU0xpdGVyYWwocGF0aDogSEJTLkV4cHJlc3Npb24pOiBwYXRoIGlzIEhCUy5MaXRlcmFsO1xuZXhwb3J0IGZ1bmN0aW9uIGlzSEJTTGl0ZXJhbChwYXRoOiBBU1R2MS5FeHByZXNzaW9uKTogcGF0aCBpcyBBU1R2MS5MaXRlcmFsO1xuZXhwb3J0IGZ1bmN0aW9uIGlzSEJTTGl0ZXJhbChcbiAgcGF0aDogSEJTLkV4cHJlc3Npb24gfCBBU1R2MS5FeHByZXNzaW9uXG4pOiBwYXRoIGlzIEhCUy5MaXRlcmFsIHwgQVNUdjEuTGl0ZXJhbCB7XG4gIHJldHVybiAoXG4gICAgcGF0aC50eXBlID09PSAnU3RyaW5nTGl0ZXJhbCcgfHxcbiAgICBwYXRoLnR5cGUgPT09ICdCb29sZWFuTGl0ZXJhbCcgfHxcbiAgICBwYXRoLnR5cGUgPT09ICdOdW1iZXJMaXRlcmFsJyB8fFxuICAgIHBhdGgudHlwZSA9PT0gJ051bGxMaXRlcmFsJyB8fFxuICAgIHBhdGgudHlwZSA9PT0gJ1VuZGVmaW5lZExpdGVyYWwnXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmludExpdGVyYWwobGl0ZXJhbDogQVNUdjEuTGl0ZXJhbCk6IHN0cmluZyB7XG4gIGlmIChsaXRlcmFsLnR5cGUgPT09ICdVbmRlZmluZWRMaXRlcmFsJykge1xuICAgIHJldHVybiAndW5kZWZpbmVkJztcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobGl0ZXJhbC52YWx1ZSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVXBwZXJDYXNlKHRhZzogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiB0YWdbMF0gPT09IHRhZ1swXS50b1VwcGVyQ2FzZSgpICYmIHRhZ1swXSAhPT0gdGFnWzBdLnRvTG93ZXJDYXNlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xvd2VyQ2FzZSh0YWc6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gdGFnWzBdID09PSB0YWdbMF0udG9Mb3dlckNhc2UoKSAmJiB0YWdbMF0gIT09IHRhZ1swXS50b1VwcGVyQ2FzZSgpO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==

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

/* Component */
);
, true);
} else {

@@ -146,2 +146,2 @@ return null;

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjItYS9sb29zZS1yZXNvbHV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBOzs7Ozs7QUFZTSxTQUFBLGlCQUFBLENBQUEsSUFBQSxFQUFxRDtBQUN6RCxNQUFJLGNBQWMsQ0FBbEIsSUFBa0IsQ0FBbEIsRUFBMEI7QUFDeEIsV0FBTyxLQUFLLENBQUwsbUJBQUEsQ0FBQSxVQUFBLENBQW9DO0FBQUE7QUFBcEMsS0FBUDtBQURGLEdBQUEsTUFFTztBQUNMLFdBQUEsSUFBQTtBQUNEO0FBQ0Y7O0FBRUssU0FBQSxxQkFBQSxDQUFBLElBQUEsRUFDZ0M7QUFFcEMsTUFBSSxjQUFjLENBQWxCLElBQWtCLENBQWxCLEVBQTBCO0FBQ3hCLFdBQU8sS0FBSyxDQUFMLG1CQUFBLENBQUEsVUFBQSxDQUFvQztBQUFBO0FBQXBDLEtBQVA7QUFERixHQUFBLE1BRU87QUFDTCxXQUFBLElBQUE7QUFDRDtBQUNGOztBQUVLLFNBQUEsa0JBQUEsQ0FBQSxJQUFBLEVBQXVEO0FBQzNELE1BQUksY0FBYyxDQUFsQixJQUFrQixDQUFsQixFQUEwQjtBQUN4QixXQUFPLEtBQUssQ0FBTCxtQkFBQSxDQUFBLFVBQUEsQ0FBb0M7QUFBQTtBQUFwQyxLQUFQO0FBREYsR0FBQSxNQUVPO0FBQ0wsV0FBTyxLQUFLLENBQUwsbUJBQUEsQ0FBUCxRQUFPLEVBQVA7QUFDRDtBQUNGOztBQUVLLFNBQUEsc0JBQUEsQ0FBQSxJQUFBLEVBQTJEO0FBQy9ELE1BQUksWUFBWSxDQUFoQixJQUFnQixDQUFoQixFQUF3QjtBQUN0QixXQUFPLEtBQUssQ0FBTCxtQkFBQSxDQUFBLFVBQUEsQ0FBb0M7QUFBQTtBQUFwQyxLQUFQO0FBREYsR0FBQSxNQUVPO0FBQ0wsV0FBQSxJQUFBO0FBQ0Q7QUFDRjtBQUVEOzs7Ozs7QUFJTSxTQUFBLHNCQUFBLENBQUEsSUFBQSxFQUE4RDtBQUNsRSxNQUFJLFFBQVEsR0FBRyxjQUFjLENBQTdCLElBQTZCLENBQTdCO0FBQ0EsTUFBSSxRQUFRLEdBQUcsWUFBWSxDQUEzQixJQUEyQixDQUEzQjs7QUFFQSxNQUFBLFFBQUEsRUFBYztBQUNaLFdBQU8sUUFBUSxHQUNYLEtBQUssQ0FBTCxtQkFBQSxDQUFBLFVBQUEsQ0FBb0M7QUFBQTtBQUFwQyxLQURXLEdBRVgsS0FBSyxDQUFMLG1CQUFBLENBRkosSUFFSSxFQUZKO0FBREYsR0FBQSxNQUlPO0FBQ0wsV0FBTyxRQUFRLEdBQUcsS0FBSyxDQUFSLGlCQUFBLEdBQTZCLEtBQUssQ0FBTCxtQkFBQSxDQUE1QyxRQUE0QyxFQUE1QztBQUNEO0FBQ0Y7QUFFRDs7Ozs7O0FBSU0sU0FBQSxtQkFBQSxDQUFBLElBQUEsRUFBMkQ7QUFDL0QsTUFBSSxRQUFRLEdBQUcsY0FBYyxDQUE3QixJQUE2QixDQUE3QjtBQUNBLE1BQUksUUFBUSxHQUFHLFlBQVksQ0FBM0IsSUFBMkIsQ0FBM0I7QUFDQSxNQUFJLFFBQVEsR0FBRyxJQUFJLENBQW5CLFFBQUE7O0FBRUEsTUFBQSxRQUFBLEVBQWM7QUFDWixXQUFPLFFBQVEsR0FDWCxLQUFLLENBQUwsbUJBQUEsQ0FBQSxjQUFBLENBQXlDO0FBQUUsTUFBQSxNQUFNLEVBQUU7QUFBVixLQUF6QyxDQURXLEdBRVgsS0FBSyxDQUFMLG1CQUFBLENBQUEsTUFBQSxDQUFpQztBQUFFLE1BQUEsTUFBTSxFQUFFO0FBQVYsS0FBakMsQ0FGSjtBQURGLEdBQUEsTUFJTztBQUNMLFdBQU8sS0FBSyxDQUFMLG1CQUFBLENBQVAsUUFBTyxFQUFQO0FBQ0Q7RUFPSDs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBeUJBLFNBQUEsY0FBQSxDQUFBLElBQUEsRUFBMEM7QUFDeEMsTUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFmLElBQUE7QUFFQSxTQUFPLFlBQVksQ0FBbkIsSUFBbUIsQ0FBbkI7QUFDRDs7QUFFRCxTQUFBLFlBQUEsQ0FBQSxJQUFBLEVBQTRDO0FBQzFDLE1BQUksSUFBSSxDQUFKLElBQUEsS0FBQSxnQkFBQSxJQUFrQyxJQUFJLENBQUosSUFBQSxDQUFBLElBQUEsS0FBdEMsU0FBQSxFQUFvRTtBQUNsRSxXQUFPLElBQUksQ0FBSixJQUFBLENBQUEsTUFBQSxLQUFQLENBQUE7QUFERixHQUFBLE1BRU87QUFDTCxXQUFBLEtBQUE7QUFDRDtBQUNGO0FBRUQ7Ozs7O0FBR0EsU0FBQSxZQUFBLENBQUEsSUFBQSxFQUF3QztBQUN0QyxTQUFPLElBQUksQ0FBSixNQUFBLENBQUEsTUFBQSxHQUFBLENBQUEsSUFBMEIsSUFBSSxDQUFKLElBQUEsQ0FBQSxLQUFBLENBQUEsTUFBQSxHQUFqQyxDQUFBO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBBU1R2MSBmcm9tICcuLi92MS9hcGknO1xuaW1wb3J0ICogYXMgQVNUdjIgZnJvbSAnLi9hcGknO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFzdENhbGxQYXJ0cyB7XG4gIHBhdGg6IEFTVHYxLkV4cHJlc3Npb247XG4gIHBhcmFtczogQVNUdjEuRXhwcmVzc2lvbltdO1xuICBoYXNoOiBBU1R2MS5IYXNoO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZhclBhdGggZXh0ZW5kcyBBU1R2MS5QYXRoRXhwcmVzc2lvbiB7XG4gIGhlYWQ6IEFTVHYxLlZhckhlYWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTZXhwU3ludGF4Q29udGV4dChub2RlOiBBU1R2MS5TdWJFeHByZXNzaW9uKTogQVNUdjIuRnJlZVZhclJlc29sdXRpb24gfCBudWxsIHtcbiAgaWYgKGlzU2ltcGxlQ2FsbGVlKG5vZGUpKSB7XG4gICAgcmV0dXJuIEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24ubmFtZXNwYWNlZChBU1R2Mi5GcmVlVmFyTmFtZXNwYWNlLkhlbHBlcik7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGlmaWVyU3ludGF4Q29udGV4dChcbiAgbm9kZTogQVNUdjEuRWxlbWVudE1vZGlmaWVyU3RhdGVtZW50XG4pOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbiB8IG51bGwge1xuICBpZiAoaXNTaW1wbGVDYWxsZWUobm9kZSkpIHtcbiAgICByZXR1cm4gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5uYW1lc3BhY2VkKEFTVHYyLkZyZWVWYXJOYW1lc3BhY2UuTW9kaWZpZXIpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCbG9ja1N5bnRheENvbnRleHQobm9kZTogQVNUdjEuQmxvY2tTdGF0ZW1lbnQpOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbiB8IG51bGwge1xuICBpZiAoaXNTaW1wbGVDYWxsZWUobm9kZSkpIHtcbiAgICByZXR1cm4gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5uYW1lc3BhY2VkKEFTVHYyLkZyZWVWYXJOYW1lc3BhY2UuQ29tcG9uZW50KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5mYWxsYmFjaygpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDb21wb25lbnRTeW50YXhDb250ZXh0KG5vZGU6IEFTVHYxLlBhdGhFeHByZXNzaW9uKTogQVNUdjIuRnJlZVZhclJlc29sdXRpb24gfCBudWxsIHtcbiAgaWYgKGlzU2ltcGxlUGF0aChub2RlKSkge1xuICAgIHJldHVybiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLm5hbWVzcGFjZWQoQVNUdjIuRnJlZVZhck5hbWVzcGFjZS5Db21wb25lbnQpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbi8qKlxuICogVGhpcyBjb3JyZXNwb25kcyB0byBhcHBlbmQgcG9zaXRpb25zICh0ZXh0IGN1cmxpZXMgb3IgYXR0cmlidXRlXG4gKiBjdXJsaWVzKS4gSW4gc3RyaWN0IG1vZGUsIHRoaXMgYWxzbyBjb3JyZXNwb25kcyB0byBhcmcgY3VybGllcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEF0dHJWYWx1ZVN5bnRheENvbnRleHQobm9kZTogQVNUdjEuTXVzdGFjaGVTdGF0ZW1lbnQpOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbiB7XG4gIGxldCBpc1NpbXBsZSA9IGlzU2ltcGxlQ2FsbGVlKG5vZGUpO1xuICBsZXQgaXNJbnZva2UgPSBpc0ludm9rZU5vZGUobm9kZSk7XG5cbiAgaWYgKGlzU2ltcGxlKSB7XG4gICAgcmV0dXJuIGlzSW52b2tlXG4gICAgICA/IEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24ubmFtZXNwYWNlZChBU1R2Mi5GcmVlVmFyTmFtZXNwYWNlLkhlbHBlcilcbiAgICAgIDogQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5hdHRyKCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGlzSW52b2tlID8gQVNUdjIuU1RSSUNUX1JFU09MVVRJT04gOiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLmZhbGxiYWNrKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGNvcnJlc3BvbmRzIHRvIGFwcGVuZCBwb3NpdGlvbnMgKHRleHQgY3VybGllcyBvciBhdHRyaWJ1dGVcbiAqIGN1cmxpZXMpLiBJbiBzdHJpY3QgbW9kZSwgdGhpcyBhbHNvIGNvcnJlc3BvbmRzIHRvIGFyZyBjdXJsaWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQXBwZW5kU3ludGF4Q29udGV4dChub2RlOiBBU1R2MS5NdXN0YWNoZVN0YXRlbWVudCk6IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uIHtcbiAgbGV0IGlzU2ltcGxlID0gaXNTaW1wbGVDYWxsZWUobm9kZSk7XG4gIGxldCBpc0ludm9rZSA9IGlzSW52b2tlTm9kZShub2RlKTtcbiAgbGV0IHRydXN0aW5nID0gbm9kZS50cnVzdGluZztcblxuICBpZiAoaXNTaW1wbGUpIHtcbiAgICByZXR1cm4gdHJ1c3RpbmdcbiAgICAgID8gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi50cnVzdGluZ0FwcGVuZCh7IGludm9rZTogaXNJbnZva2UgfSlcbiAgICAgIDogQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5hcHBlbmQoeyBpbnZva2U6IGlzSW52b2tlIH0pO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLmZhbGxiYWNrKCk7XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgUmVzb2x1dGlvbjxQIGV4dGVuZHMgQXN0Q2FsbFBhcnRzIHwgQVNUdjEuUGF0aEV4cHJlc3Npb24+ID0gKFxuICBjYWxsOiBQXG4pID0+IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uIHwgbnVsbDtcblxuLy8gVVRJTElUSUVTXG5cbi8qKlxuICogQSBjYWxsIG5vZGUgaGFzIGEgc2ltcGxlIGNhbGxlZSBpZiBpdHMgaGVhZCBpczpcbiAqXG4gKiAtIGEgYFBhdGhFeHByZXNzaW9uYFxuICogLSB0aGUgYFBhdGhFeHByZXNzaW9uYCdzIGhlYWQgaXMgYSBgVmFySGVhZGBcbiAqIC0gaXQgaGFzIG5vIHRhaWxcbiAqXG4gKiBTaW1wbGUgaGVhZHM6XG4gKlxuICogYGBgXG4gKiB7e3h9fVxuICoge3t4IHl9fVxuICogYGBgXG4gKlxuICogTm90IHNpbXBsZSBoZWFkczpcbiAqXG4gKiBgYGBcbiAqIHt7eC55fX1cbiAqIHt7eC55IHp9fVxuICoge3tAeH19XG4gKiB7e0B4IGF9fVxuICoge3t0aGlzfX1cbiAqIHt7dGhpcyBhfX1cbiAqIGBgYFxuICovXG5mdW5jdGlvbiBpc1NpbXBsZUNhbGxlZShub2RlOiBBc3RDYWxsUGFydHMpOiBib29sZWFuIHtcbiAgbGV0IHBhdGggPSBub2RlLnBhdGg7XG5cbiAgcmV0dXJuIGlzU2ltcGxlUGF0aChwYXRoKTtcbn1cblxuZnVuY3Rpb24gaXNTaW1wbGVQYXRoKG5vZGU6IEFTVHYxLkV4cHJlc3Npb24pOiBib29sZWFuIHtcbiAgaWYgKG5vZGUudHlwZSA9PT0gJ1BhdGhFeHByZXNzaW9uJyAmJiBub2RlLmhlYWQudHlwZSA9PT0gJ1ZhckhlYWQnKSB7XG4gICAgcmV0dXJuIG5vZGUudGFpbC5sZW5ndGggPT09IDA7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogVGhlIGNhbGwgZXhwcmVzc2lvbiBoYXMgYXQgbGVhc3Qgb25lIGFyZ3VtZW50LlxuICovXG5mdW5jdGlvbiBpc0ludm9rZU5vZGUobm9kZTogQXN0Q2FsbFBhcnRzKTogYm9vbGVhbiB7XG4gIHJldHVybiBub2RlLnBhcmFtcy5sZW5ndGggPiAwIHx8IG5vZGUuaGFzaC5wYWlycy5sZW5ndGggPiAwO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjItYS9sb29zZS1yZXNvbHV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBOzs7Ozs7QUFZTSxTQUFBLGlCQUFBLENBQUEsSUFBQSxFQUFxRDtBQUN6RCxNQUFJLGNBQWMsQ0FBbEIsSUFBa0IsQ0FBbEIsRUFBMEI7QUFDeEIsV0FBTyxLQUFLLENBQUwsbUJBQUEsQ0FBQSxVQUFBLENBQW9DO0FBQUE7QUFBcEMsS0FBUDtBQURGLEdBQUEsTUFFTztBQUNMLFdBQUEsSUFBQTtBQUNEO0FBQ0Y7O0FBRUssU0FBQSxxQkFBQSxDQUFBLElBQUEsRUFDZ0M7QUFFcEMsTUFBSSxjQUFjLENBQWxCLElBQWtCLENBQWxCLEVBQTBCO0FBQ3hCLFdBQU8sS0FBSyxDQUFMLG1CQUFBLENBQUEsVUFBQSxDQUFvQztBQUFBO0FBQXBDLEtBQVA7QUFERixHQUFBLE1BRU87QUFDTCxXQUFBLElBQUE7QUFDRDtBQUNGOztBQUVLLFNBQUEsa0JBQUEsQ0FBQSxJQUFBLEVBQXVEO0FBQzNELE1BQUksY0FBYyxDQUFsQixJQUFrQixDQUFsQixFQUEwQjtBQUN4QixXQUFPLEtBQUssQ0FBTCxtQkFBQSxDQUFBLFVBQUEsQ0FBb0M7QUFBQTtBQUFwQyxLQUFQO0FBREYsR0FBQSxNQUVPO0FBQ0wsV0FBTyxLQUFLLENBQUwsbUJBQUEsQ0FBUCxRQUFPLEVBQVA7QUFDRDtBQUNGOztBQUVLLFNBQUEsc0JBQUEsQ0FBQSxJQUFBLEVBQTJEO0FBQy9ELE1BQUksWUFBWSxDQUFoQixJQUFnQixDQUFoQixFQUF3QjtBQUN0QixXQUFPLEtBQUssQ0FBTCxtQkFBQSxDQUFBLFVBQUEsQ0FBb0M7QUFBQTtBQUFwQyxNQUFQLElBQU8sQ0FBUDtBQURGLEdBQUEsTUFFTztBQUNMLFdBQUEsSUFBQTtBQUNEO0FBQ0Y7QUFFRDs7Ozs7O0FBSU0sU0FBQSxzQkFBQSxDQUFBLElBQUEsRUFBOEQ7QUFDbEUsTUFBSSxRQUFRLEdBQUcsY0FBYyxDQUE3QixJQUE2QixDQUE3QjtBQUNBLE1BQUksUUFBUSxHQUFHLFlBQVksQ0FBM0IsSUFBMkIsQ0FBM0I7O0FBRUEsTUFBQSxRQUFBLEVBQWM7QUFDWixXQUFPLFFBQVEsR0FDWCxLQUFLLENBQUwsbUJBQUEsQ0FBQSxVQUFBLENBQW9DO0FBQUE7QUFBcEMsS0FEVyxHQUVYLEtBQUssQ0FBTCxtQkFBQSxDQUZKLElBRUksRUFGSjtBQURGLEdBQUEsTUFJTztBQUNMLFdBQU8sUUFBUSxHQUFHLEtBQUssQ0FBUixpQkFBQSxHQUE2QixLQUFLLENBQUwsbUJBQUEsQ0FBNUMsUUFBNEMsRUFBNUM7QUFDRDtBQUNGO0FBRUQ7Ozs7OztBQUlNLFNBQUEsbUJBQUEsQ0FBQSxJQUFBLEVBQTJEO0FBQy9ELE1BQUksUUFBUSxHQUFHLGNBQWMsQ0FBN0IsSUFBNkIsQ0FBN0I7QUFDQSxNQUFJLFFBQVEsR0FBRyxZQUFZLENBQTNCLElBQTJCLENBQTNCO0FBQ0EsTUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFuQixRQUFBOztBQUVBLE1BQUEsUUFBQSxFQUFjO0FBQ1osV0FBTyxRQUFRLEdBQ1gsS0FBSyxDQUFMLG1CQUFBLENBQUEsY0FBQSxDQUF5QztBQUFFLE1BQUEsTUFBTSxFQUFFO0FBQVYsS0FBekMsQ0FEVyxHQUVYLEtBQUssQ0FBTCxtQkFBQSxDQUFBLE1BQUEsQ0FBaUM7QUFBRSxNQUFBLE1BQU0sRUFBRTtBQUFWLEtBQWpDLENBRko7QUFERixHQUFBLE1BSU87QUFDTCxXQUFPLEtBQUssQ0FBTCxtQkFBQSxDQUFQLFFBQU8sRUFBUDtBQUNEO0VBT0g7O0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXlCQSxTQUFBLGNBQUEsQ0FBQSxJQUFBLEVBQTBDO0FBQ3hDLE1BQUksSUFBSSxHQUFHLElBQUksQ0FBZixJQUFBO0FBRUEsU0FBTyxZQUFZLENBQW5CLElBQW1CLENBQW5CO0FBQ0Q7O0FBRUQsU0FBQSxZQUFBLENBQUEsSUFBQSxFQUE0QztBQUMxQyxNQUFJLElBQUksQ0FBSixJQUFBLEtBQUEsZ0JBQUEsSUFBa0MsSUFBSSxDQUFKLElBQUEsQ0FBQSxJQUFBLEtBQXRDLFNBQUEsRUFBb0U7QUFDbEUsV0FBTyxJQUFJLENBQUosSUFBQSxDQUFBLE1BQUEsS0FBUCxDQUFBO0FBREYsR0FBQSxNQUVPO0FBQ0wsV0FBQSxLQUFBO0FBQ0Q7QUFDRjtBQUVEOzs7OztBQUdBLFNBQUEsWUFBQSxDQUFBLElBQUEsRUFBd0M7QUFDdEMsU0FBTyxJQUFJLENBQUosTUFBQSxDQUFBLE1BQUEsR0FBQSxDQUFBLElBQTBCLElBQUksQ0FBSixJQUFBLENBQUEsS0FBQSxDQUFBLE1BQUEsR0FBakMsQ0FBQTtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgQVNUdjEgZnJvbSAnLi4vdjEvYXBpJztcbmltcG9ydCAqIGFzIEFTVHYyIGZyb20gJy4vYXBpJztcblxuZXhwb3J0IGludGVyZmFjZSBBc3RDYWxsUGFydHMge1xuICBwYXRoOiBBU1R2MS5FeHByZXNzaW9uO1xuICBwYXJhbXM6IEFTVHYxLkV4cHJlc3Npb25bXTtcbiAgaGFzaDogQVNUdjEuSGFzaDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYXJQYXRoIGV4dGVuZHMgQVNUdjEuUGF0aEV4cHJlc3Npb24ge1xuICBoZWFkOiBBU1R2MS5WYXJIZWFkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gU2V4cFN5bnRheENvbnRleHQobm9kZTogQVNUdjEuU3ViRXhwcmVzc2lvbik6IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uIHwgbnVsbCB7XG4gIGlmIChpc1NpbXBsZUNhbGxlZShub2RlKSkge1xuICAgIHJldHVybiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLm5hbWVzcGFjZWQoQVNUdjIuRnJlZVZhck5hbWVzcGFjZS5IZWxwZXIpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBNb2RpZmllclN5bnRheENvbnRleHQoXG4gIG5vZGU6IEFTVHYxLkVsZW1lbnRNb2RpZmllclN0YXRlbWVudFxuKTogQVNUdjIuRnJlZVZhclJlc29sdXRpb24gfCBudWxsIHtcbiAgaWYgKGlzU2ltcGxlQ2FsbGVlKG5vZGUpKSB7XG4gICAgcmV0dXJuIEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24ubmFtZXNwYWNlZChBU1R2Mi5GcmVlVmFyTmFtZXNwYWNlLk1vZGlmaWVyKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQmxvY2tTeW50YXhDb250ZXh0KG5vZGU6IEFTVHYxLkJsb2NrU3RhdGVtZW50KTogQVNUdjIuRnJlZVZhclJlc29sdXRpb24gfCBudWxsIHtcbiAgaWYgKGlzU2ltcGxlQ2FsbGVlKG5vZGUpKSB7XG4gICAgcmV0dXJuIEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24ubmFtZXNwYWNlZChBU1R2Mi5GcmVlVmFyTmFtZXNwYWNlLkNvbXBvbmVudCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24uZmFsbGJhY2soKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQ29tcG9uZW50U3ludGF4Q29udGV4dChub2RlOiBBU1R2MS5QYXRoRXhwcmVzc2lvbik6IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uIHwgbnVsbCB7XG4gIGlmIChpc1NpbXBsZVBhdGgobm9kZSkpIHtcbiAgICByZXR1cm4gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5uYW1lc3BhY2VkKEFTVHYyLkZyZWVWYXJOYW1lc3BhY2UuQ29tcG9uZW50LCB0cnVlKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgY29ycmVzcG9uZHMgdG8gYXBwZW5kIHBvc2l0aW9ucyAodGV4dCBjdXJsaWVzIG9yIGF0dHJpYnV0ZVxuICogY3VybGllcykuIEluIHN0cmljdCBtb2RlLCB0aGlzIGFsc28gY29ycmVzcG9uZHMgdG8gYXJnIGN1cmxpZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBBdHRyVmFsdWVTeW50YXhDb250ZXh0KG5vZGU6IEFTVHYxLk11c3RhY2hlU3RhdGVtZW50KTogQVNUdjIuRnJlZVZhclJlc29sdXRpb24ge1xuICBsZXQgaXNTaW1wbGUgPSBpc1NpbXBsZUNhbGxlZShub2RlKTtcbiAgbGV0IGlzSW52b2tlID0gaXNJbnZva2VOb2RlKG5vZGUpO1xuXG4gIGlmIChpc1NpbXBsZSkge1xuICAgIHJldHVybiBpc0ludm9rZVxuICAgICAgPyBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLm5hbWVzcGFjZWQoQVNUdjIuRnJlZVZhck5hbWVzcGFjZS5IZWxwZXIpXG4gICAgICA6IEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24uYXR0cigpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBpc0ludm9rZSA/IEFTVHYyLlNUUklDVF9SRVNPTFVUSU9OIDogQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5mYWxsYmFjaygpO1xuICB9XG59XG5cbi8qKlxuICogVGhpcyBjb3JyZXNwb25kcyB0byBhcHBlbmQgcG9zaXRpb25zICh0ZXh0IGN1cmxpZXMgb3IgYXR0cmlidXRlXG4gKiBjdXJsaWVzKS4gSW4gc3RyaWN0IG1vZGUsIHRoaXMgYWxzbyBjb3JyZXNwb25kcyB0byBhcmcgY3VybGllcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEFwcGVuZFN5bnRheENvbnRleHQobm9kZTogQVNUdjEuTXVzdGFjaGVTdGF0ZW1lbnQpOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbiB7XG4gIGxldCBpc1NpbXBsZSA9IGlzU2ltcGxlQ2FsbGVlKG5vZGUpO1xuICBsZXQgaXNJbnZva2UgPSBpc0ludm9rZU5vZGUobm9kZSk7XG4gIGxldCB0cnVzdGluZyA9IG5vZGUudHJ1c3Rpbmc7XG5cbiAgaWYgKGlzU2ltcGxlKSB7XG4gICAgcmV0dXJuIHRydXN0aW5nXG4gICAgICA/IEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24udHJ1c3RpbmdBcHBlbmQoeyBpbnZva2U6IGlzSW52b2tlIH0pXG4gICAgICA6IEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24uYXBwZW5kKHsgaW52b2tlOiBpc0ludm9rZSB9KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5mYWxsYmFjaygpO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIFJlc29sdXRpb248UCBleHRlbmRzIEFzdENhbGxQYXJ0cyB8IEFTVHYxLlBhdGhFeHByZXNzaW9uPiA9IChcbiAgY2FsbDogUFxuKSA9PiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbiB8IG51bGw7XG5cbi8vIFVUSUxJVElFU1xuXG4vKipcbiAqIEEgY2FsbCBub2RlIGhhcyBhIHNpbXBsZSBjYWxsZWUgaWYgaXRzIGhlYWQgaXM6XG4gKlxuICogLSBhIGBQYXRoRXhwcmVzc2lvbmBcbiAqIC0gdGhlIGBQYXRoRXhwcmVzc2lvbmAncyBoZWFkIGlzIGEgYFZhckhlYWRgXG4gKiAtIGl0IGhhcyBubyB0YWlsXG4gKlxuICogU2ltcGxlIGhlYWRzOlxuICpcbiAqIGBgYFxuICoge3t4fX1cbiAqIHt7eCB5fX1cbiAqIGBgYFxuICpcbiAqIE5vdCBzaW1wbGUgaGVhZHM6XG4gKlxuICogYGBgXG4gKiB7e3gueX19XG4gKiB7e3gueSB6fX1cbiAqIHt7QHh9fVxuICoge3tAeCBhfX1cbiAqIHt7dGhpc319XG4gKiB7e3RoaXMgYX19XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNTaW1wbGVDYWxsZWUobm9kZTogQXN0Q2FsbFBhcnRzKTogYm9vbGVhbiB7XG4gIGxldCBwYXRoID0gbm9kZS5wYXRoO1xuXG4gIHJldHVybiBpc1NpbXBsZVBhdGgocGF0aCk7XG59XG5cbmZ1bmN0aW9uIGlzU2ltcGxlUGF0aChub2RlOiBBU1R2MS5FeHByZXNzaW9uKTogYm9vbGVhbiB7XG4gIGlmIChub2RlLnR5cGUgPT09ICdQYXRoRXhwcmVzc2lvbicgJiYgbm9kZS5oZWFkLnR5cGUgPT09ICdWYXJIZWFkJykge1xuICAgIHJldHVybiBub2RlLnRhaWwubGVuZ3RoID09PSAwO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIFRoZSBjYWxsIGV4cHJlc3Npb24gaGFzIGF0IGxlYXN0IG9uZSBhcmd1bWVudC5cbiAqL1xuZnVuY3Rpb24gaXNJbnZva2VOb2RlKG5vZGU6IEFzdENhbGxQYXJ0cyk6IGJvb2xlYW4ge1xuICByZXR1cm4gbm9kZS5wYXJhbXMubGVuZ3RoID4gMCB8fCBub2RlLmhhc2gucGFpcnMubGVuZ3RoID4gMDtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=

@@ -24,3 +24,5 @@ "use strict";

var StrictResolution = /*#__PURE__*/function () {
function StrictResolution() {}
function StrictResolution() {
this.isAngleBracket = false;
}

@@ -57,4 +59,9 @@ var _proto = StrictResolution.prototype;

var LooseModeResolution = /*#__PURE__*/function () {
function LooseModeResolution(ambiguity) {
function LooseModeResolution(ambiguity, isAngleBracket) {
if (isAngleBracket === void 0) {
isAngleBracket = false;
}
this.ambiguity = ambiguity;
this.isAngleBracket = isAngleBracket;
}

@@ -73,7 +80,11 @@ /**

LooseModeResolution.namespaced = function namespaced(namespace) {
LooseModeResolution.namespaced = function namespaced(namespace, isAngleBracket) {
if (isAngleBracket === void 0) {
isAngleBracket = false;
}
return new LooseModeResolution({
namespaces: [namespace],
fallback: false
});
}, isAngleBracket);
}

@@ -305,2 +316,2 @@ /**

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjItYS9vYmplY3RzL3Jlc29sdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7Ozs7Ozs7QUFVQTs7Ozs7O0FBTUEsSUFBTSxnQkFBTixHQUFBLGFBQUEsWUFBQTtBQUFBLFdBQUEsZ0JBQUEsR0FBQSxDQUFBOztBQUFBLE1BQUEsTUFBQSxHQUFBLGdCQUFBLENBQUEsU0FBQTs7QUFBQSxFQUFBLE1BQUEsQ0FBQSxVQUFBLEdBQ0UsU0FBQSxVQUFBLEdBQVU7QUFDUixXQUFBO0FBQUE7QUFBQTtBQUZKLEdBQUE7O0FBQUEsRUFBQSxNQUFBLENBQUEsU0FBQSxHQUtFLFNBQUEsU0FBQSxHQUFTO0FBQ1AsV0FBQSxRQUFBO0FBTkosR0FBQTs7QUFBQSxTQUFBLGdCQUFBO0FBQUEsQ0FBQSxFQUFBOzs7QUFVTyxJQUFNLGlCQUFpQixHQUFHLElBQTFCLGdCQUEwQixFQUExQjtBQUVQOzs7Ozs7Ozs7Ozs7QUFTQSxJQUFNLG1CQUFOLEdBQUEsYUFBQSxZQUFBO0FBcUdFLFdBQUEsbUJBQUEsQ0FBQSxTQUFBLEVBQXlDO0FBQXBCLFNBQUEsU0FBQSxHQUFBLFNBQUE7QUFBd0I7QUFwRzdDOzs7Ozs7Ozs7Ozs7QUFERixFQUFBLG1CQUFBLENBQUEsVUFBQSxHQVdFLFNBQUEsVUFBQSxDQUFBLFNBQUEsRUFBNkM7QUFDM0MsV0FBTyxJQUFBLG1CQUFBLENBQXdCO0FBQzdCLE1BQUEsVUFBVSxFQUFFLENBRGlCLFNBQ2pCLENBRGlCO0FBRTdCLE1BQUEsUUFBUSxFQUFFO0FBRm1CLEtBQXhCLENBQVA7QUFJRDtBQUVEOzs7Ozs7Ozs7O0FBbEJGOztBQUFBLEVBQUEsbUJBQUEsQ0FBQSxRQUFBLEdBNEJFLFNBQUEsUUFBQSxHQUFlO0FBQ2IsV0FBTyxJQUFBLG1CQUFBLENBQXdCO0FBQUUsTUFBQSxVQUFVLEVBQVosRUFBQTtBQUFrQixNQUFBLFFBQVEsRUFBRTtBQUE1QixLQUF4QixDQUFQO0FBQ0Q7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWhDRjs7QUFBQSxFQUFBLG1CQUFBLENBQUEsTUFBQSxHQW1ERSxTQUFBLE1BQUEsQ0FBQSxJQUFBLEVBQTZDO0FBQUEsUUFBN0IsTUFBNkIsR0FBQSxJQUFBLENBQTdCLE1BQTZCO0FBQzNDLFdBQU8sSUFBQSxtQkFBQSxDQUF3QjtBQUM3QixNQUFBLFVBQVUsRUFBRSxDQUFBO0FBQUE7QUFBQSxRQUFBO0FBQUE7QUFBQSxPQURpQjtBQUU3QixNQUFBLFFBQVEsRUFBRSxDQUFDO0FBRmtCLEtBQXhCLENBQVA7QUFJRDtBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMURGOztBQUFBLEVBQUEsbUJBQUEsQ0FBQSxjQUFBLEdBNkVFLFNBQUEsY0FBQSxDQUFBLEtBQUEsRUFBcUQ7QUFBQSxRQUE3QixNQUE2QixHQUFBLEtBQUEsQ0FBN0IsTUFBNkI7QUFDbkQsV0FBTyxJQUFBLG1CQUFBLENBQXdCO0FBQzdCLE1BQUEsVUFBVSxFQUFFLENBQUE7QUFBQTtBQUFBLE9BRGlCO0FBRTdCLE1BQUEsUUFBUSxFQUFFLENBQUM7QUFGa0IsS0FBeEIsQ0FBUDtBQUlEO0FBRUQ7Ozs7Ozs7Ozs7Ozs7QUFwRkY7O0FBQUEsRUFBQSxtQkFBQSxDQUFBLElBQUEsR0FpR0UsU0FBQSxJQUFBLEdBQVc7QUFDVCxXQUFPLElBQUEsbUJBQUEsQ0FBd0I7QUFBRSxNQUFBLFVBQVUsRUFBRSxDQUFBO0FBQUE7QUFBQSxPQUFkO0FBQXlDLE1BQUEsUUFBUSxFQUFFO0FBQW5ELEtBQXhCLENBQVA7QUFsR0osR0FBQTs7QUFBQSxNQUFBLE9BQUEsR0FBQSxtQkFBQSxDQUFBLFNBQUE7O0FBQUEsRUFBQSxPQUFBLENBQUEsVUFBQSxHQXVHRSxTQUFBLFVBQUEsR0FBVTtBQUNSLFFBQUksS0FBQSxTQUFBLENBQUEsVUFBQSxDQUFBLE1BQUEsS0FBSixDQUFBLEVBQTRDO0FBQzFDLGFBQUE7QUFBQTtBQUFBO0FBREYsS0FBQSxNQUVPLElBQUksS0FBQSxTQUFBLENBQUEsVUFBQSxDQUFBLE1BQUEsS0FBSixDQUFBLEVBQTRDO0FBQ2pELFVBQUksS0FBQSxTQUFBLENBQUosUUFBQSxFQUE2QjtBQUMzQjtBQUNBLGVBQUE7QUFBQTtBQUFBO0FBRkYsT0FBQSxNQUdPO0FBQ0w7QUFDQSxnQkFBUSxLQUFBLFNBQUEsQ0FBQSxVQUFBLENBQVIsQ0FBUSxDQUFSO0FBQ0UsZUFBQTtBQUFBO0FBQUE7QUFDRSxtQkFBQTtBQUFBO0FBQUE7O0FBQ0YsZUFBQTtBQUFBO0FBQUE7QUFDRSxtQkFBQTtBQUFBO0FBQUE7O0FBQ0YsZUFBQTtBQUFBO0FBQUE7QUFDRSxtQkFBQTtBQUFBO0FBQUE7QUFOSjtBQVFEO0FBZEksS0FBQSxNQWVBLElBQUksS0FBQSxTQUFBLENBQUosUUFBQSxFQUE2QjtBQUNsQztBQUNBLGFBQUE7QUFBQTtBQUFBO0FBRkssS0FBQSxNQUdBO0FBQ0w7QUFDQSxlQUFBO0FBQUE7QUFBQTtBQUNEO0FBL0hMLEdBQUE7O0FBQUEsRUFBQSxPQUFBLENBQUEsU0FBQSxHQWtJRSxTQUFBLFNBQUEsR0FBUztBQUNQLFFBQUksS0FBQSxTQUFBLENBQUEsVUFBQSxDQUFBLE1BQUEsS0FBSixDQUFBLEVBQTRDO0FBQzFDLGFBQUEsT0FBQTtBQURGLEtBQUEsTUFFTyxJQUFJLEtBQUEsU0FBQSxDQUFBLFVBQUEsQ0FBQSxNQUFBLEtBQUosQ0FBQSxFQUE0QztBQUNqRCxVQUFJLEtBQUEsU0FBQSxDQUFKLFFBQUEsRUFBNkI7QUFDM0I7QUFDQSxlQUFPLENBQUEsV0FBQSxFQUFZO0FBQUE7QUFBWixTQUFQO0FBRkYsT0FBQSxNQUdPO0FBQ0wsZUFBTyxDQUFBLElBQUEsRUFBTyxLQUFBLFNBQUEsQ0FBQSxVQUFBLENBQWQsQ0FBYyxDQUFQLENBQVA7QUFDRDtBQU5JLEtBQUEsTUFPQSxJQUFJLEtBQUEsU0FBQSxDQUFKLFFBQUEsRUFBNkI7QUFDbEM7QUFDQSxhQUFPLENBQUEsV0FBQSxFQUFZO0FBQUE7QUFBWixPQUFQO0FBRkssS0FBQSxNQUdBO0FBQ0w7QUFDQSxhQUFPLENBQUEsV0FBQSxFQUFZO0FBQUE7QUFBWixPQUFQO0FBQ0Q7QUFsSkwsR0FBQTs7QUFBQSxTQUFBLG1CQUFBO0FBQUEsQ0FBQSxFQUFBOzs7QUFzSk8sSUFBTSxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBL0MsUUFBNEIsRUFBNUI7OztBQWlHRCxTQUFBLGNBQUEsQ0FBQSxVQUFBLEVBQXlEO0FBQzdELE1BQUksT0FBQSxVQUFBLEtBQUosUUFBQSxFQUFvQztBQUNsQyxZQUFBLFVBQUE7QUFDRSxXQUFBLE9BQUE7QUFDRSxlQUFPLG1CQUFtQixDQUExQixRQUFPLEVBQVA7O0FBQ0YsV0FBQSxRQUFBO0FBQ0UsZUFBQSxpQkFBQTtBQUpKO0FBTUQ7O0FBRUQsVUFBUSxVQUFVLENBQWxCLENBQWtCLENBQWxCO0FBQ0UsU0FBQSxXQUFBO0FBQ0UsY0FBUSxVQUFVLENBQWxCLENBQWtCLENBQWxCO0FBQ0UsYUFBQTtBQUFBO0FBQUE7QUFDRSxpQkFBTyxtQkFBbUIsQ0FBbkIsTUFBQSxDQUEyQjtBQUFFLFlBQUEsTUFBTSxFQUFFO0FBQVYsV0FBM0IsQ0FBUDs7QUFDRixhQUFBO0FBQUE7QUFBQTtBQUNFLGlCQUFPLG1CQUFtQixDQUExQixJQUFPLEVBQVA7O0FBQ0YsYUFBQTtBQUFBO0FBQUE7QUFDRSxpQkFBTyxtQkFBbUIsQ0FBbkIsTUFBQSxDQUEyQjtBQUFFLFlBQUEsTUFBTSxFQUFFO0FBQVYsV0FBM0IsQ0FBUDtBQU5KOztBQVNGLFNBQUEsSUFBQTtBQUNFLGFBQU8sbUJBQW1CLENBQW5CLFVBQUEsQ0FBK0IsVUFBVSxDQUFoRCxDQUFnRCxDQUF6QyxDQUFQO0FBWko7QUFjRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSBmcmVlIHZhcmlhYmxlIGlzIHJlc29sdmVkIGFjY29yZGluZyB0byBhIHJlc29sdXRpb24gcnVsZTpcbiAqXG4gKiAxLiBTdHJpY3QgcmVzb2x1dGlvblxuICogMi4gTmFtZXNwYWNlZCByZXNvbHV0aW9uXG4gKiAzLiBGYWxsYmFjayByZXNvbHV0aW9uXG4gKi9cblxuaW1wb3J0IHsgR2V0Q29udGV4dHVhbEZyZWVPcCwgU2V4cE9wY29kZXMgfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBTdHJpY3QgcmVzb2x1dGlvbiBpcyB1c2VkOlxuICpcbiAqIDEuIGluIGEgc3RyaWN0IG1vZGUgdGVtcGxhdGVcbiAqIDIuIGluIGFuIHVuYW1iaWd1b3VzIGludm9jYXRpb24gd2l0aCBkb3QgcGF0aHNcbiAqL1xuZXhwb3J0IGNsYXNzIFN0cmljdFJlc29sdXRpb24ge1xuICByZXNvbHV0aW9uKCk6IEdldENvbnRleHR1YWxGcmVlT3Age1xuICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRTdHJpY3RGcmVlO1xuICB9XG5cbiAgc2VyaWFsaXplKCk6IFNlcmlhbGl6ZWRSZXNvbHV0aW9uIHtcbiAgICByZXR1cm4gJ1N0cmljdCc7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IFNUUklDVF9SRVNPTFVUSU9OID0gbmV3IFN0cmljdFJlc29sdXRpb24oKTtcblxuLyoqXG4gKiBBIGBMb29zZU1vZGVSZXNvbHV0aW9uYCBpbmNsdWRlczpcbiAqXG4gKiAtIDAgb3IgbW9yZSBuYW1lc3BhY2VzIHRvIHJlc29sdmUgdGhlIHZhcmlhYmxlIGluXG4gKiAtIG9wdGlvbmFsIGZhbGxiYWNrIGJlaGF2aW9yXG4gKlxuICogSW4gcHJhY3RpY2UsIHRoZXJlIGFyZSBhIGxpbWl0ZWQgbnVtYmVyIG9mIHBvc3NpYmxlIGNvbWJpbmF0aW9ucyBvZiB0aGVzZSBkZWdyZWVzIG9mIGZyZWVkb20sXG4gKiBhbmQgdGhleSBhcmUgY2FwdHVyZWQgYnkgdGhlIGBBbWJpZ3VpdHlgIHVuaW9uIGJlbG93LlxuICovXG5leHBvcnQgY2xhc3MgTG9vc2VNb2RlUmVzb2x1dGlvbiB7XG4gIC8qKlxuICAgKiBOYW1lc3BhY2VkIHJlc29sdXRpb24gaXMgdXNlZCBpbiBhbiB1bmFtYmlndW91cyBzeW50YXggcG9zaXRpb246XG4gICAqXG4gICAqIDEuIGAoc2V4cClgIChuYW1lc3BhY2U6IGBIZWxwZXJgKVxuICAgKiAyLiBge3sjYmxvY2t9fWAgKG5hbWVzcGFjZTogYENvbXBvbmVudGApXG4gICAqIDMuIGA8YSB7e21vZGlmaWVyfX0+YCAobmFtZXNwYWNlOiBgTW9kaWZpZXJgKVxuICAgKiA0LiBgPENvbXBvbmVudCAvPmAgKG5hbWVzcGFjZTogYENvbXBvbmVudGApXG4gICAqXG4gICAqIEBzZWUge05hbWVzcGFjZWRBbWJpZ3VpdHl9XG4gICAqL1xuICBzdGF0aWMgbmFtZXNwYWNlZChuYW1lc3BhY2U6IEZyZWVWYXJOYW1lc3BhY2UpOiBMb29zZU1vZGVSZXNvbHV0aW9uIHtcbiAgICByZXR1cm4gbmV3IExvb3NlTW9kZVJlc29sdXRpb24oe1xuICAgICAgbmFtZXNwYWNlczogW25hbWVzcGFjZV0sXG4gICAgICBmYWxsYmFjazogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRmFsbGJhY2sgcmVzb2x1dGlvbiBpcyB1c2VkIHdoZW4gbm8gbmFtZXNwYWNlZCByZXNvbHV0aW9ucyBhcmUgcG9zc2libGUsIGJ1dCBmYWxsYmFja1xuICAgKiByZXNvbHV0aW9uIGlzIHN0aWxsIGFsbG93ZWQuXG4gICAqXG4gICAqIGBgYGhic1xuICAgKiB7e3gueX19XG4gICAqIGBgYFxuICAgKlxuICAgKiBAc2VlIHtGYWxsYmFja0FtYmlndWl0eX1cbiAgICovXG4gIHN0YXRpYyBmYWxsYmFjaygpOiBMb29zZU1vZGVSZXNvbHV0aW9uIHtcbiAgICByZXR1cm4gbmV3IExvb3NlTW9kZVJlc29sdXRpb24oeyBuYW1lc3BhY2VzOiBbXSwgZmFsbGJhY2s6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXBwZW5kIHJlc29sdXRpb24gaXMgdXNlZCB3aGVuIHRoZSB2YXJpYWJsZSBzaG91bGQgYmUgcmVzb2x2ZWQgaW4gYm90aCB0aGUgYGNvbXBvbmVudGAgYW5kXG4gICAqIGBoZWxwZXJgIG5hbWVzcGFjZXMuIEZhbGxiYWNrIHJlc29sdXRpb24gaXMgb3B0aW9uYWwuXG4gICAqXG4gICAqIGBgYGhic1xuICAgKiB7e3h9fVxuICAgKiBgYGBcbiAgICpcbiAgICogXiBgeGAgc2hvdWxkIGJlIHJlc29sdmVkIGluIHRoZSBgY29tcG9uZW50YCBhbmQgYGhlbHBlcmAgbmFtZXNwYWNlcyB3aXRoIGZhbGxiYWNrIHJlc29sdXRpb24uXG4gICAqXG4gICAqIGBgYGhic1xuICAgKiB7e3ggeX19XG4gICAqIGBgYFxuICAgKlxuICAgKiBeIGB4YCBzaG91bGQgYmUgcmVzb2x2ZWQgaW4gdGhlIGBjb21wb25lbnRgIGFuZCBgaGVscGVyYCBuYW1lc3BhY2VzIHdpdGhvdXQgZmFsbGJhY2tcbiAgICogcmVzb2x1dGlvbi5cbiAgICpcbiAgICogQHNlZSB7Q29tcG9uZW50T3JIZWxwZXJBbWJpZ3VpdHl9XG4gICAqL1xuICBzdGF0aWMgYXBwZW5kKHsgaW52b2tlIH06IHsgaW52b2tlOiBib29sZWFuIH0pOiBMb29zZU1vZGVSZXNvbHV0aW9uIHtcbiAgICByZXR1cm4gbmV3IExvb3NlTW9kZVJlc29sdXRpb24oe1xuICAgICAgbmFtZXNwYWNlczogW0ZyZWVWYXJOYW1lc3BhY2UuQ29tcG9uZW50LCBGcmVlVmFyTmFtZXNwYWNlLkhlbHBlcl0sXG4gICAgICBmYWxsYmFjazogIWludm9rZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcnVzdGluZyBhcHBlbmQgcmVzb2x1dGlvbiBpcyB1c2VkIHdoZW4gdGhlIHZhcmlhYmxlIHNob3VsZCBiZSByZXNvbHZlZCBpbiBib3RoIHRoZSBgY29tcG9uZW50YCBhbmRcbiAgICogYGhlbHBlcmAgbmFtZXNwYWNlcy4gRmFsbGJhY2sgcmVzb2x1dGlvbiBpcyBvcHRpb25hbC5cbiAgICpcbiAgICogYGBgaGJzXG4gICAqIHt7e3h9fX1cbiAgICogYGBgXG4gICAqXG4gICAqIF4gYHhgIHNob3VsZCBiZSByZXNvbHZlZCBpbiB0aGUgYGNvbXBvbmVudGAgYW5kIGBoZWxwZXJgIG5hbWVzcGFjZXMgd2l0aCBmYWxsYmFjayByZXNvbHV0aW9uLlxuICAgKlxuICAgKiBgYGBoYnNcbiAgICoge3t7eCB5fX19XG4gICAqIGBgYFxuICAgKlxuICAgKiBeIGB4YCBzaG91bGQgYmUgcmVzb2x2ZWQgaW4gdGhlIGBjb21wb25lbnRgIGFuZCBgaGVscGVyYCBuYW1lc3BhY2VzIHdpdGhvdXQgZmFsbGJhY2tcbiAgICogcmVzb2x1dGlvbi5cbiAgICpcbiAgICogQHNlZSB7SGVscGVyQW1iaWd1aXR5fVxuICAgKi9cbiAgc3RhdGljIHRydXN0aW5nQXBwZW5kKHsgaW52b2tlIH06IHsgaW52b2tlOiBib29sZWFuIH0pOiBMb29zZU1vZGVSZXNvbHV0aW9uIHtcbiAgICByZXR1cm4gbmV3IExvb3NlTW9kZVJlc29sdXRpb24oe1xuICAgICAgbmFtZXNwYWNlczogW0ZyZWVWYXJOYW1lc3BhY2UuSGVscGVyXSxcbiAgICAgIGZhbGxiYWNrOiAhaW52b2tlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dHJpYnV0ZSByZXNvbHV0aW9uIGlzIHVzZWQgd2hlbiB0aGUgdmFyaWFibGUgc2hvdWxkIGJlIHJlc29sdmVkIGFzIGEgYGhlbHBlcmAgd2l0aCBmYWxsYmFja1xuICAgKiByZXNvbHV0aW9uLlxuICAgKlxuICAgKiBgYGBoYnNcbiAgICogPGEgaHJlZj17e3h9fSAvPlxuICAgKiA8YSBocmVmPVwie3t4fX0uaHRtbFwiIC8+XG4gICAqIGBgYFxuICAgKlxuICAgKiBeIHJlc29sdmVkIGluIHRoZSBgaGVscGVyYCBuYW1lc3BhY2Ugd2l0aCBmYWxsYmFja1xuICAgKlxuICAgKiBAc2VlIHtIZWxwZXJBbWJpZ3VpdHl9XG4gICAqL1xuICBzdGF0aWMgYXR0cigpOiBMb29zZU1vZGVSZXNvbHV0aW9uIHtcbiAgICByZXR1cm4gbmV3IExvb3NlTW9kZVJlc29sdXRpb24oeyBuYW1lc3BhY2VzOiBbRnJlZVZhck5hbWVzcGFjZS5IZWxwZXJdLCBmYWxsYmFjazogdHJ1ZSB9KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGFtYmlndWl0eTogQW1iaWd1aXR5KSB7fVxuXG4gIHJlc29sdXRpb24oKTogR2V0Q29udGV4dHVhbEZyZWVPcCB7XG4gICAgaWYgKHRoaXMuYW1iaWd1aXR5Lm5hbWVzcGFjZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0RnJlZUFzRmFsbGJhY2s7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFtYmlndWl0eS5uYW1lc3BhY2VzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgaWYgKHRoaXMuYW1iaWd1aXR5LmZhbGxiYWNrKSB7XG4gICAgICAgIC8vIHNpbXBsZSBuYW1lc3BhY2VkIHJlc29sdXRpb24gd2l0aCBmYWxsYmFjayBtdXN0IGJlIGF0dHI9e3t4fX1cbiAgICAgICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldEZyZWVBc0hlbHBlckhlYWRPclRoaXNGYWxsYmFjaztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHNpbXBsZSBuYW1lc3BhY2VkIHJlc29sdXRpb24gd2l0aG91dCBmYWxsYmFja1xuICAgICAgICBzd2l0Y2ggKHRoaXMuYW1iaWd1aXR5Lm5hbWVzcGFjZXNbMF0pIHtcbiAgICAgICAgICBjYXNlIEZyZWVWYXJOYW1lc3BhY2UuSGVscGVyOlxuICAgICAgICAgICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldEZyZWVBc0hlbHBlckhlYWQ7XG4gICAgICAgICAgY2FzZSBGcmVlVmFyTmFtZXNwYWNlLk1vZGlmaWVyOlxuICAgICAgICAgICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldEZyZWVBc01vZGlmaWVySGVhZDtcbiAgICAgICAgICBjYXNlIEZyZWVWYXJOYW1lc3BhY2UuQ29tcG9uZW50OlxuICAgICAgICAgICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldEZyZWVBc0NvbXBvbmVudEhlYWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuYW1iaWd1aXR5LmZhbGxiYWNrKSB7XG4gICAgICAvLyBjb21wb25lbnQgb3IgaGVscGVyICsgZmFsbGJhY2sgKHt7c29tZXRoaW5nfX0pXG4gICAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0RnJlZUFzQ29tcG9uZW50T3JIZWxwZXJIZWFkT3JUaGlzRmFsbGJhY2s7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGNvbXBvbmVudCBvciBoZWxwZXIgd2l0aG91dCBmYWxsYmFjayAoe3tzb21ldGhpbmcgc29tZXRoaW5nfX0pXG4gICAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0RnJlZUFzQ29tcG9uZW50T3JIZWxwZXJIZWFkO1xuICAgIH1cbiAgfVxuXG4gIHNlcmlhbGl6ZSgpOiBTZXJpYWxpemVkUmVzb2x1dGlvbiB7XG4gICAgaWYgKHRoaXMuYW1iaWd1aXR5Lm5hbWVzcGFjZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gJ0xvb3NlJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuYW1iaWd1aXR5Lm5hbWVzcGFjZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICBpZiAodGhpcy5hbWJpZ3VpdHkuZmFsbGJhY2spIHtcbiAgICAgICAgLy8gc2ltcGxlIG5hbWVzcGFjZWQgcmVzb2x1dGlvbiB3aXRoIGZhbGxiYWNrIG11c3QgYmUgYXR0cj17e3h9fVxuICAgICAgICByZXR1cm4gWydhbWJpZ3VvdXMnLCBTZXJpYWxpemVkQW1iaWd1aXR5LkF0dHJdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFsnbnMnLCB0aGlzLmFtYmlndWl0eS5uYW1lc3BhY2VzWzBdXTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuYW1iaWd1aXR5LmZhbGxiYWNrKSB7XG4gICAgICAvLyBjb21wb25lbnQgb3IgaGVscGVyICsgZmFsbGJhY2sgKHt7c29tZXRoaW5nfX0pXG4gICAgICByZXR1cm4gWydhbWJpZ3VvdXMnLCBTZXJpYWxpemVkQW1iaWd1aXR5LkFwcGVuZF07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGNvbXBvbmVudCBvciBoZWxwZXIgd2l0aG91dCBmYWxsYmFjayAoe3tzb21ldGhpbmcgc29tZXRoaW5nfX0pXG4gICAgICByZXR1cm4gWydhbWJpZ3VvdXMnLCBTZXJpYWxpemVkQW1iaWd1aXR5Lkludm9rZV07XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBBUkdVTUVOVF9SRVNPTFVUSU9OID0gTG9vc2VNb2RlUmVzb2x1dGlvbi5mYWxsYmFjaygpO1xuXG5leHBvcnQgY29uc3QgZW51bSBGcmVlVmFyTmFtZXNwYWNlIHtcbiAgSGVscGVyID0gJ0hlbHBlcicsXG4gIE1vZGlmaWVyID0gJ01vZGlmaWVyJyxcbiAgQ29tcG9uZW50ID0gJ0NvbXBvbmVudCcsXG59XG5cbi8qKlxuICogQSBgQ29tcG9uZW50T3JIZWxwZXJBbWJpZ3VpdHlgIG1pZ2h0IGJlIGEgY29tcG9uZW50IG9yIGEgaGVscGVyLCB3aXRoIGFuIG9wdGlvbmFsIGZhbGxiYWNrXG4gKlxuICogYGBgaGJzXG4gKiB7e3h9fVxuICogYGBgXG4gKlxuICogXiBgeGAgaXMgcmVzb2x2ZWQgaW4gdGhlIGBjb21wb25lbnRgIGFuZCBgaGVscGVyYCBuYW1lc3BhY2VzLCB3aXRoIGZhbGxiYWNrXG4gKlxuICogYGBgaGJzXG4gKiB7e3ggeX19XG4gKiBgYGBcbiAqXG4gKiBeIGB4YCBpcyByZXNvbHZlZCBpbiB0aGUgYGNvbXBvbmVudGAgYW5kIGBoZWxwZXJgIG5hbWVzcGFjZXMsIHdpdGhvdXQgZmFsbGJhY2tcbiAqL1xudHlwZSBDb21wb25lbnRPckhlbHBlckFtYmlndWl0eSA9IHtcbiAgbmFtZXNwYWNlczogW0ZyZWVWYXJOYW1lc3BhY2UuQ29tcG9uZW50LCBGcmVlVmFyTmFtZXNwYWNlLkhlbHBlcl07XG4gIGZhbGxiYWNrOiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBBIGBIZWxwZXJBbWJpZ3VpdHlgIG11c3QgYmUgYSBoZWxwZXIsIGJ1dCBpdCBoYXMgZmFsbGJhY2suIElmIGl0IGRpZG4ndCBoYXZlIGZhbGxiYWNrLCBpdCB3b3VsZFxuICogYmUgYSBgTmFtZXNwYWNlZEFtYmlndWl0eWAuXG4gKlxuICogYGBgaGJzXG4gKiA8YSBocmVmPXt7eH19IC8+XG4gKiA8YSBocmVmPVwie3t4fX0uaHRtbFwiIC8+XG4gKiBgYGBcbiAqXG4gKiBeIGB4YCBpcyByZXNvbHZlZCBpbiB0aGUgYGhlbHBlcmAgbmFtZXNwYWNlIHdpdGggZmFsbGJhY2tcbiAqL1xudHlwZSBIZWxwZXJBbWJpZ3VpdHkgPSB7IG5hbWVzcGFjZXM6IFtGcmVlVmFyTmFtZXNwYWNlLkhlbHBlcl07IGZhbGxiYWNrOiBib29sZWFuIH07XG5cbi8qKlxuICogQSBgTmFtZXNwYWNlZEFtYmlndWl0eWAgbXVzdCBiZSByZXNvbHZlZCBpbiBhIHBhcnRpY3VsYXIgbmFtZXNwYWNlLCB3aXRob3V0IGZhbGxiYWNrLlxuICpcbiAqIGBgYGhic1xuICogPFggLz5cbiAqIGBgYFxuICpcbiAqIF4gYFhgIGlzIHJlc29sdmVkIGluIHRoZSBgY29tcG9uZW50YCBuYW1lc3BhY2Ugd2l0aG91dCBmYWxsYmFja1xuICpcbiAqIGBgYGhic1xuICogKHgpXG4gKiBgYGBcbiAqXG4gKiBeIGB4YCBpcyByZXNvbHZlZCBpbiB0aGUgYGhlbHBlcmAgbmFtZXNwYWNlIHdpdGhvdXQgZmFsbGJhY2tcbiAqXG4gKiBgYGBoYnNcbiAqIDxhIHt7eH19IC8+XG4gKiBgYGBcbiAqXG4gKiBeIGB4YCBpcyByZXNvbHZlZCBpbiB0aGUgYG1vZGlmaWVyYCBuYW1lc3BhY2Ugd2l0aG91dCBmYWxsYmFja1xuICovXG50eXBlIE5hbWVzcGFjZWRBbWJpZ3VpdHkgPSB7XG4gIG5hbWVzcGFjZXM6IFtGcmVlVmFyTmFtZXNwYWNlLkNvbXBvbmVudCB8IEZyZWVWYXJOYW1lc3BhY2UuSGVscGVyIHwgRnJlZVZhck5hbWVzcGFjZS5Nb2RpZmllcl07XG4gIGZhbGxiYWNrOiBmYWxzZTtcbn07XG5cbnR5cGUgRmFsbGJhY2tBbWJpZ3VpdHkgPSB7XG4gIG5hbWVzcGFjZXM6IFtdO1xuICBmYWxsYmFjazogdHJ1ZTtcbn07XG5cbnR5cGUgQW1iaWd1aXR5ID1cbiAgfCBDb21wb25lbnRPckhlbHBlckFtYmlndWl0eVxuICB8IEhlbHBlckFtYmlndWl0eVxuICB8IE5hbWVzcGFjZWRBbWJpZ3VpdHlcbiAgfCBGYWxsYmFja0FtYmlndWl0eTtcblxuZXhwb3J0IHR5cGUgRnJlZVZhclJlc29sdXRpb24gPSBTdHJpY3RSZXNvbHV0aW9uIHwgTG9vc2VNb2RlUmVzb2x1dGlvbjtcblxuLy8gU2VyaWFsaXphdGlvblxuXG5jb25zdCBlbnVtIFNlcmlhbGl6ZWRBbWJpZ3VpdHkge1xuICAvLyB7e3h9fVxuICBBcHBlbmQgPSAnQXBwZW5kJyxcbiAgLy8gaHJlZj17e3h9fVxuICBBdHRyID0gJ0F0dHInLFxuICAvLyB7e3ggeX19IChub3QgYXR0cilcbiAgSW52b2tlID0gJ0ludm9rZScsXG59XG5cbmV4cG9ydCB0eXBlIFNlcmlhbGl6ZWRSZXNvbHV0aW9uID1cbiAgfCAnU3RyaWN0J1xuICB8ICdMb29zZSdcbiAgfCBbJ25zJywgRnJlZVZhck5hbWVzcGFjZV1cbiAgfCBbJ2FtYmlndW91cycsIFNlcmlhbGl6ZWRBbWJpZ3VpdHldO1xuXG5leHBvcnQgZnVuY3Rpb24gbG9hZFJlc29sdXRpb24ocmVzb2x1dGlvbjogU2VyaWFsaXplZFJlc29sdXRpb24pOiBGcmVlVmFyUmVzb2x1dGlvbiB7XG4gIGlmICh0eXBlb2YgcmVzb2x1dGlvbiA9PT0gJ3N0cmluZycpIHtcbiAgICBzd2l0Y2ggKHJlc29sdXRpb24pIHtcbiAgICAgIGNhc2UgJ0xvb3NlJzpcbiAgICAgICAgcmV0dXJuIExvb3NlTW9kZVJlc29sdXRpb24uZmFsbGJhY2soKTtcbiAgICAgIGNhc2UgJ1N0cmljdCc6XG4gICAgICAgIHJldHVybiBTVFJJQ1RfUkVTT0xVVElPTjtcbiAgICB9XG4gIH1cblxuICBzd2l0Y2ggKHJlc29sdXRpb25bMF0pIHtcbiAgICBjYXNlICdhbWJpZ3VvdXMnOlxuICAgICAgc3dpdGNoIChyZXNvbHV0aW9uWzFdKSB7XG4gICAgICAgIGNhc2UgU2VyaWFsaXplZEFtYmlndWl0eS5BcHBlbmQ6XG4gICAgICAgICAgcmV0dXJuIExvb3NlTW9kZVJlc29sdXRpb24uYXBwZW5kKHsgaW52b2tlOiBmYWxzZSB9KTtcbiAgICAgICAgY2FzZSBTZXJpYWxpemVkQW1iaWd1aXR5LkF0dHI6XG4gICAgICAgICAgcmV0dXJuIExvb3NlTW9kZVJlc29sdXRpb24uYXR0cigpO1xuICAgICAgICBjYXNlIFNlcmlhbGl6ZWRBbWJpZ3VpdHkuSW52b2tlOlxuICAgICAgICAgIHJldHVybiBMb29zZU1vZGVSZXNvbHV0aW9uLmFwcGVuZCh7IGludm9rZTogdHJ1ZSB9KTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ25zJzpcbiAgICAgIHJldHVybiBMb29zZU1vZGVSZXNvbHV0aW9uLm5hbWVzcGFjZWQocmVzb2x1dGlvblsxXSk7XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjItYS9vYmplY3RzL3Jlc29sdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7Ozs7Ozs7QUFVQTs7Ozs7O0FBTUEsSUFBTSxnQkFBTixHQUFBLGFBQUEsWUFBQTtBQUFBLFdBQUEsZ0JBQUEsR0FBQTtBQVNXLFNBQUEsY0FBQSxHQUFBLEtBQUE7QUFDVjs7QUFWRCxNQUFBLE1BQUEsR0FBQSxnQkFBQSxDQUFBLFNBQUE7O0FBQUEsRUFBQSxNQUFBLENBQUEsVUFBQSxHQUNFLFNBQUEsVUFBQSxHQUFVO0FBQ1IsV0FBQTtBQUFBO0FBQUE7QUFGSixHQUFBOztBQUFBLEVBQUEsTUFBQSxDQUFBLFNBQUEsR0FLRSxTQUFBLFNBQUEsR0FBUztBQUNQLFdBQUEsUUFBQTtBQU5KLEdBQUE7O0FBQUEsU0FBQSxnQkFBQTtBQUFBLENBQUEsRUFBQTs7O0FBWU8sSUFBTSxpQkFBaUIsR0FBRyxJQUExQixnQkFBMEIsRUFBMUI7QUFFUDs7Ozs7Ozs7Ozs7O0FBU0EsSUFBTSxtQkFBTixHQUFBLGFBQUEsWUFBQTtBQXdHRSxXQUFBLG1CQUFBLENBQUEsU0FBQSxFQUFBLGNBQUEsRUFBMEU7QUFBQSxRQUF0QixjQUFzQixLQUFBLEtBQUEsQ0FBQSxFQUFBO0FBQXRCLE1BQUEsY0FBc0IsR0FBMUUsS0FBb0Q7QUFBc0I7O0FBQXJELFNBQUEsU0FBQSxHQUFBLFNBQUE7QUFBK0IsU0FBQSxjQUFBLEdBQUEsY0FBQTtBQUEwQjtBQXZHOUU7Ozs7Ozs7Ozs7OztBQURGLEVBQUEsbUJBQUEsQ0FBQSxVQUFBLEdBV0UsU0FBQSxVQUFBLENBQUEsU0FBQSxFQUFBLGNBQUEsRUFBcUU7QUFBQSxRQUF0QixjQUFzQixLQUFBLEtBQUEsQ0FBQSxFQUFBO0FBQXRCLE1BQUEsY0FBc0IsR0FBckUsS0FBK0M7QUFBc0I7O0FBQ25FLFdBQU8sSUFBQSxtQkFBQSxDQUNM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QW5CLFVBQUEsQ0FBK0IsVUFBVSxDQUFoRCxDQUFnRCxDQUF6QyxDQUFQO0FBWko7QUFjRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSBmcmVlIHZhcmlhYmxlIGlzIHJlc29sdmVkIGFjY29yZGluZyB0byBhIHJlc29sdXRpb24gcnVsZTpcbiAqXG4gKiAxLiBTdHJpY3QgcmVzb2x1dGlvblxuICogMi4gTmFtZXNwYWNlZCByZXNvbHV0aW9uXG4gKiAzLiBGYWxsYmFjayByZXNvbHV0aW9uXG4gKi9cblxuaW1wb3J0IHsgR2V0Q29udGV4dHVhbEZyZWVPcCwgU2V4cE9wY29kZXMgfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBTdHJpY3QgcmVzb2x1dGlvbiBpcyB1c2VkOlxuICpcbiAqIDEuIGluIGEgc3RyaWN0IG1vZGUgdGVtcGxhdGVcbiAqIDIuIGluIGFuIHVuYW1iaWd1b3VzIGludm9jYXRpb24gd2l0aCBkb3QgcGF0aHNcbiAqL1xuZXhwb3J0IGNsYXNzIFN0cmljdFJlc29sdXRpb24ge1xuICByZXNvbHV0aW9uKCk6IEdldENvbnRleHR1YWxGcmVlT3Age1xuICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRTdHJpY3RGcmVlO1xuICB9XG5cbiAgc2VyaWFsaXplKCk6IFNlcmlhbGl6ZWRSZXNvbHV0aW9uIHtcbiAgICByZXR1cm4gJ1N0cmljdCc7XG4gIH1cblxuICByZWFkb25seSBpc0FuZ2xlQnJhY2tldCA9IGZhbHNlO1xufVxuXG5leHBvcnQgY29uc3QgU1RSSUNUX1JFU09MVVRJT04gPSBuZXcgU3RyaWN0UmVzb2x1dGlvbigpO1xuXG4vKipcbiAqIEEgYExvb3NlTW9kZVJlc29sdXRpb25gIGluY2x1ZGVzOlxuICpcbiAqIC0gMCBvciBtb3JlIG5hbWVzcGFjZXMgdG8gcmVzb2x2ZSB0aGUgdmFyaWFibGUgaW5cbiAqIC0gb3B0aW9uYWwgZmFsbGJhY2sgYmVoYXZpb3JcbiAqXG4gKiBJbiBwcmFjdGljZSwgdGhlcmUgYXJlIGEgbGltaXRlZCBudW1iZXIgb2YgcG9zc2libGUgY29tYmluYXRpb25zIG9mIHRoZXNlIGRlZ3JlZXMgb2YgZnJlZWRvbSxcbiAqIGFuZCB0aGV5IGFyZSBjYXB0dXJlZCBieSB0aGUgYEFtYmlndWl0eWAgdW5pb24gYmVsb3cuXG4gKi9cbmV4cG9ydCBjbGFzcyBMb29zZU1vZGVSZXNvbHV0aW9uIHtcbiAgLyoqXG4gICAqIE5hbWVzcGFjZWQgcmVzb2x1dGlvbiBpcyB1c2VkIGluIGFuIHVuYW1iaWd1b3VzIHN5bnRheCBwb3NpdGlvbjpcbiAgICpcbiAgICogMS4gYChzZXhwKWAgKG5hbWVzcGFjZTogYEhlbHBlcmApXG4gICAqIDIuIGB7eyNibG9ja319YCAobmFtZXNwYWNlOiBgQ29tcG9uZW50YClcbiAgICogMy4gYDxhIHt7bW9kaWZpZXJ9fT5gIChuYW1lc3BhY2U6IGBNb2RpZmllcmApXG4gICAqIDQuIGA8Q29tcG9uZW50IC8+YCAobmFtZXNwYWNlOiBgQ29tcG9uZW50YClcbiAgICpcbiAgICogQHNlZSB7TmFtZXNwYWNlZEFtYmlndWl0eX1cbiAgICovXG4gIHN0YXRpYyBuYW1lc3BhY2VkKG5hbWVzcGFjZTogRnJlZVZhck5hbWVzcGFjZSwgaXNBbmdsZUJyYWNrZXQgPSBmYWxzZSk6IExvb3NlTW9kZVJlc29sdXRpb24ge1xuICAgIHJldHVybiBuZXcgTG9vc2VNb2RlUmVzb2x1dGlvbihcbiAgICAgIHtcbiAgICAgICAgbmFtZXNwYWNlczogW25hbWVzcGFjZV0sXG4gICAgICAgIGZhbGxiYWNrOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICBpc0FuZ2xlQnJhY2tldFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmFsbGJhY2sgcmVzb2x1dGlvbiBpcyB1c2VkIHdoZW4gbm8gbmFtZXNwYWNlZCByZXNvbHV0aW9ucyBhcmUgcG9zc2libGUsIGJ1dCBmYWxsYmFja1xuICAgKiByZXNvbHV0aW9uIGlzIHN0aWxsIGFsbG93ZWQuXG4gICAqXG4gICAqIGBgYGhic1xuICAgKiB7e3gueX19XG4gICAqIGBgYFxuICAgKlxuICAgKiBAc2VlIHtGYWxsYmFja0FtYmlndWl0eX1cbiAgICovXG4gIHN0YXRpYyBmYWxsYmFjaygpOiBMb29zZU1vZGVSZXNvbHV0aW9uIHtcbiAgICByZXR1cm4gbmV3IExvb3NlTW9kZVJlc29sdXRpb24oeyBuYW1lc3BhY2VzOiBbXSwgZmFsbGJhY2s6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXBwZW5kIHJlc29sdXRpb24gaXMgdXNlZCB3aGVuIHRoZSB2YXJpYWJsZSBzaG91bGQgYmUgcmVzb2x2ZWQgaW4gYm90aCB0aGUgYGNvbXBvbmVudGAgYW5kXG4gICAqIGBoZWxwZXJgIG5hbWVzcGFjZXMuIEZhbGxiYWNrIHJlc29sdXRpb24gaXMgb3B0aW9uYWwuXG4gICAqXG4gICAqIGBgYGhic1xuICAgKiB7e3h9fVxuICAgKiBgYGBcbiAgICpcbiAgICogXiBgeGAgc2hvdWxkIGJlIHJlc29sdmVkIGluIHRoZSBgY29tcG9uZW50YCBhbmQgYGhlbHBlcmAgbmFtZXNwYWNlcyB3aXRoIGZhbGxiYWNrIHJlc29sdXRpb24uXG4gICAqXG4gICAqIGBgYGhic1xuICAgKiB7e3ggeX19XG4gICAqIGBgYFxuICAgKlxuICAgKiBeIGB4YCBzaG91bGQgYmUgcmVzb2x2ZWQgaW4gdGhlIGBjb21wb25lbnRgIGFuZCBgaGVscGVyYCBuYW1lc3BhY2VzIHdpdGhvdXQgZmFsbGJhY2tcbiAgICogcmVzb2x1dGlvbi5cbiAgICpcbiAgICogQHNlZSB7Q29tcG9uZW50T3JIZWxwZXJBbWJpZ3VpdHl9XG4gICAqL1xuICBzdGF0aWMgYXBwZW5kKHsgaW52b2tlIH06IHsgaW52b2tlOiBib29sZWFuIH0pOiBMb29zZU1vZGVSZXNvbHV0aW9uIHtcbiAgICByZXR1cm4gbmV3IExvb3NlTW9kZVJlc29sdXRpb24oe1xuICAgICAgbmFtZXNwYWNlczogW0ZyZWVWYXJOYW1lc3BhY2UuQ29tcG9uZW50LCBGcmVlVmFyTmFtZXNwYWNlLkhlbHBlcl0sXG4gICAgICBmYWxsYmFjazogIWludm9rZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcnVzdGluZyBhcHBlbmQgcmVzb2x1dGlvbiBpcyB1c2VkIHdoZW4gdGhlIHZhcmlhYmxlIHNob3VsZCBiZSByZXNvbHZlZCBpbiBib3RoIHRoZSBgY29tcG9uZW50YCBhbmRcbiAgICogYGhlbHBlcmAgbmFtZXNwYWNlcy4gRmFsbGJhY2sgcmVzb2x1dGlvbiBpcyBvcHRpb25hbC5cbiAgICpcbiAgICogYGBgaGJzXG4gICAqIHt7e3h9fX1cbiAgICogYGBgXG4gICAqXG4gICAqIF4gYHhgIHNob3VsZCBiZSByZXNvbHZlZCBpbiB0aGUgYGNvbXBvbmVudGAgYW5kIGBoZWxwZXJgIG5hbWVzcGFjZXMgd2l0aCBmYWxsYmFjayByZXNvbHV0aW9uLlxuICAgKlxuICAgKiBgYGBoYnNcbiAgICoge3t7eCB5fX19XG4gICAqIGBgYFxuICAgKlxuICAgKiBeIGB4YCBzaG91bGQgYmUgcmVzb2x2ZWQgaW4gdGhlIGBjb21wb25lbnRgIGFuZCBgaGVscGVyYCBuYW1lc3BhY2VzIHdpdGhvdXQgZmFsbGJhY2tcbiAgICogcmVzb2x1dGlvbi5cbiAgICpcbiAgICogQHNlZSB7SGVscGVyQW1iaWd1aXR5fVxuICAgKi9cbiAgc3RhdGljIHRydXN0aW5nQXBwZW5kKHsgaW52b2tlIH06IHsgaW52b2tlOiBib29sZWFuIH0pOiBMb29zZU1vZGVSZXNvbHV0aW9uIHtcbiAgICByZXR1cm4gbmV3IExvb3NlTW9kZVJlc29sdXRpb24oe1xuICAgICAgbmFtZXNwYWNlczogW0ZyZWVWYXJOYW1lc3BhY2UuSGVscGVyXSxcbiAgICAgIGZhbGxiYWNrOiAhaW52b2tlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dHJpYnV0ZSByZXNvbHV0aW9uIGlzIHVzZWQgd2hlbiB0aGUgdmFyaWFibGUgc2hvdWxkIGJlIHJlc29sdmVkIGFzIGEgYGhlbHBlcmAgd2l0aCBmYWxsYmFja1xuICAgKiByZXNvbHV0aW9uLlxuICAgKlxuICAgKiBgYGBoYnNcbiAgICogPGEgaHJlZj17e3h9fSAvPlxuICAgKiA8YSBocmVmPVwie3t4fX0uaHRtbFwiIC8+XG4gICAqIGBgYFxuICAgKlxuICAgKiBeIHJlc29sdmVkIGluIHRoZSBgaGVscGVyYCBuYW1lc3BhY2Ugd2l0aCBmYWxsYmFja1xuICAgKlxuICAgKiBAc2VlIHtIZWxwZXJBbWJpZ3VpdHl9XG4gICAqL1xuICBzdGF0aWMgYXR0cigpOiBMb29zZU1vZGVSZXNvbHV0aW9uIHtcbiAgICByZXR1cm4gbmV3IExvb3NlTW9kZVJlc29sdXRpb24oeyBuYW1lc3BhY2VzOiBbRnJlZVZhck5hbWVzcGFjZS5IZWxwZXJdLCBmYWxsYmFjazogdHJ1ZSB9KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGFtYmlndWl0eTogQW1iaWd1aXR5LCByZWFkb25seSBpc0FuZ2xlQnJhY2tldCA9IGZhbHNlKSB7fVxuXG4gIHJlc29sdXRpb24oKTogR2V0Q29udGV4dHVhbEZyZWVPcCB7XG4gICAgaWYgKHRoaXMuYW1iaWd1aXR5Lm5hbWVzcGFjZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0RnJlZUFzRmFsbGJhY2s7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFtYmlndWl0eS5uYW1lc3BhY2VzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgaWYgKHRoaXMuYW1iaWd1aXR5LmZhbGxiYWNrKSB7XG4gICAgICAgIC8vIHNpbXBsZSBuYW1lc3BhY2VkIHJlc29sdXRpb24gd2l0aCBmYWxsYmFjayBtdXN0IGJlIGF0dHI9e3t4fX1cbiAgICAgICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldEZyZWVBc0hlbHBlckhlYWRPclRoaXNGYWxsYmFjaztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHNpbXBsZSBuYW1lc3BhY2VkIHJlc29sdXRpb24gd2l0aG91dCBmYWxsYmFja1xuICAgICAgICBzd2l0Y2ggKHRoaXMuYW1iaWd1aXR5Lm5hbWVzcGFjZXNbMF0pIHtcbiAgICAgICAgICBjYXNlIEZyZWVWYXJOYW1lc3BhY2UuSGVscGVyOlxuICAgICAgICAgICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldEZyZWVBc0hlbHBlckhlYWQ7XG4gICAgICAgICAgY2FzZSBGcmVlVmFyTmFtZXNwYWNlLk1vZGlmaWVyOlxuICAgICAgICAgICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldEZyZWVBc01vZGlmaWVySGVhZDtcbiAgICAgICAgICBjYXNlIEZyZWVWYXJOYW1lc3BhY2UuQ29tcG9uZW50OlxuICAgICAgICAgICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldEZyZWVBc0NvbXBvbmVudEhlYWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuYW1iaWd1aXR5LmZhbGxiYWNrKSB7XG4gICAgICAvLyBjb21wb25lbnQgb3IgaGVscGVyICsgZmFsbGJhY2sgKHt7c29tZXRoaW5nfX0pXG4gICAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0RnJlZUFzQ29tcG9uZW50T3JIZWxwZXJIZWFkT3JUaGlzRmFsbGJhY2s7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGNvbXBvbmVudCBvciBoZWxwZXIgd2l0aG91dCBmYWxsYmFjayAoe3tzb21ldGhpbmcgc29tZXRoaW5nfX0pXG4gICAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0RnJlZUFzQ29tcG9uZW50T3JIZWxwZXJIZWFkO1xuICAgIH1cbiAgfVxuXG4gIHNlcmlhbGl6ZSgpOiBTZXJpYWxpemVkUmVzb2x1dGlvbiB7XG4gICAgaWYgKHRoaXMuYW1iaWd1aXR5Lm5hbWVzcGFjZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gJ0xvb3NlJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuYW1iaWd1aXR5Lm5hbWVzcGFjZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICBpZiAodGhpcy5hbWJpZ3VpdHkuZmFsbGJhY2spIHtcbiAgICAgICAgLy8gc2ltcGxlIG5hbWVzcGFjZWQgcmVzb2x1dGlvbiB3aXRoIGZhbGxiYWNrIG11c3QgYmUgYXR0cj17e3h9fVxuICAgICAgICByZXR1cm4gWydhbWJpZ3VvdXMnLCBTZXJpYWxpemVkQW1iaWd1aXR5LkF0dHJdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFsnbnMnLCB0aGlzLmFtYmlndWl0eS5uYW1lc3BhY2VzWzBdXTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuYW1iaWd1aXR5LmZhbGxiYWNrKSB7XG4gICAgICAvLyBjb21wb25lbnQgb3IgaGVscGVyICsgZmFsbGJhY2sgKHt7c29tZXRoaW5nfX0pXG4gICAgICByZXR1cm4gWydhbWJpZ3VvdXMnLCBTZXJpYWxpemVkQW1iaWd1aXR5LkFwcGVuZF07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGNvbXBvbmVudCBvciBoZWxwZXIgd2l0aG91dCBmYWxsYmFjayAoe3tzb21ldGhpbmcgc29tZXRoaW5nfX0pXG4gICAgICByZXR1cm4gWydhbWJpZ3VvdXMnLCBTZXJpYWxpemVkQW1iaWd1aXR5Lkludm9rZV07XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBBUkdVTUVOVF9SRVNPTFVUSU9OID0gTG9vc2VNb2RlUmVzb2x1dGlvbi5mYWxsYmFjaygpO1xuXG5leHBvcnQgY29uc3QgZW51bSBGcmVlVmFyTmFtZXNwYWNlIHtcbiAgSGVscGVyID0gJ0hlbHBlcicsXG4gIE1vZGlmaWVyID0gJ01vZGlmaWVyJyxcbiAgQ29tcG9uZW50ID0gJ0NvbXBvbmVudCcsXG59XG5cbi8qKlxuICogQSBgQ29tcG9uZW50T3JIZWxwZXJBbWJpZ3VpdHlgIG1pZ2h0IGJlIGEgY29tcG9uZW50IG9yIGEgaGVscGVyLCB3aXRoIGFuIG9wdGlvbmFsIGZhbGxiYWNrXG4gKlxuICogYGBgaGJzXG4gKiB7e3h9fVxuICogYGBgXG4gKlxuICogXiBgeGAgaXMgcmVzb2x2ZWQgaW4gdGhlIGBjb21wb25lbnRgIGFuZCBgaGVscGVyYCBuYW1lc3BhY2VzLCB3aXRoIGZhbGxiYWNrXG4gKlxuICogYGBgaGJzXG4gKiB7e3ggeX19XG4gKiBgYGBcbiAqXG4gKiBeIGB4YCBpcyByZXNvbHZlZCBpbiB0aGUgYGNvbXBvbmVudGAgYW5kIGBoZWxwZXJgIG5hbWVzcGFjZXMsIHdpdGhvdXQgZmFsbGJhY2tcbiAqL1xudHlwZSBDb21wb25lbnRPckhlbHBlckFtYmlndWl0eSA9IHtcbiAgbmFtZXNwYWNlczogW0ZyZWVWYXJOYW1lc3BhY2UuQ29tcG9uZW50LCBGcmVlVmFyTmFtZXNwYWNlLkhlbHBlcl07XG4gIGZhbGxiYWNrOiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBBIGBIZWxwZXJBbWJpZ3VpdHlgIG11c3QgYmUgYSBoZWxwZXIsIGJ1dCBpdCBoYXMgZmFsbGJhY2suIElmIGl0IGRpZG4ndCBoYXZlIGZhbGxiYWNrLCBpdCB3b3VsZFxuICogYmUgYSBgTmFtZXNwYWNlZEFtYmlndWl0eWAuXG4gKlxuICogYGBgaGJzXG4gKiA8YSBocmVmPXt7eH19IC8+XG4gKiA8YSBocmVmPVwie3t4fX0uaHRtbFwiIC8+XG4gKiBgYGBcbiAqXG4gKiBeIGB4YCBpcyByZXNvbHZlZCBpbiB0aGUgYGhlbHBlcmAgbmFtZXNwYWNlIHdpdGggZmFsbGJhY2tcbiAqL1xudHlwZSBIZWxwZXJBbWJpZ3VpdHkgPSB7IG5hbWVzcGFjZXM6IFtGcmVlVmFyTmFtZXNwYWNlLkhlbHBlcl07IGZhbGxiYWNrOiBib29sZWFuIH07XG5cbi8qKlxuICogQSBgTmFtZXNwYWNlZEFtYmlndWl0eWAgbXVzdCBiZSByZXNvbHZlZCBpbiBhIHBhcnRpY3VsYXIgbmFtZXNwYWNlLCB3aXRob3V0IGZhbGxiYWNrLlxuICpcbiAqIGBgYGhic1xuICogPFggLz5cbiAqIGBgYFxuICpcbiAqIF4gYFhgIGlzIHJlc29sdmVkIGluIHRoZSBgY29tcG9uZW50YCBuYW1lc3BhY2Ugd2l0aG91dCBmYWxsYmFja1xuICpcbiAqIGBgYGhic1xuICogKHgpXG4gKiBgYGBcbiAqXG4gKiBeIGB4YCBpcyByZXNvbHZlZCBpbiB0aGUgYGhlbHBlcmAgbmFtZXNwYWNlIHdpdGhvdXQgZmFsbGJhY2tcbiAqXG4gKiBgYGBoYnNcbiAqIDxhIHt7eH19IC8+XG4gKiBgYGBcbiAqXG4gKiBeIGB4YCBpcyByZXNvbHZlZCBpbiB0aGUgYG1vZGlmaWVyYCBuYW1lc3BhY2Ugd2l0aG91dCBmYWxsYmFja1xuICovXG50eXBlIE5hbWVzcGFjZWRBbWJpZ3VpdHkgPSB7XG4gIG5hbWVzcGFjZXM6IFtGcmVlVmFyTmFtZXNwYWNlLkNvbXBvbmVudCB8IEZyZWVWYXJOYW1lc3BhY2UuSGVscGVyIHwgRnJlZVZhck5hbWVzcGFjZS5Nb2RpZmllcl07XG4gIGZhbGxiYWNrOiBmYWxzZTtcbn07XG5cbnR5cGUgRmFsbGJhY2tBbWJpZ3VpdHkgPSB7XG4gIG5hbWVzcGFjZXM6IFtdO1xuICBmYWxsYmFjazogdHJ1ZTtcbn07XG5cbnR5cGUgQW1iaWd1aXR5ID1cbiAgfCBDb21wb25lbnRPckhlbHBlckFtYmlndWl0eVxuICB8IEhlbHBlckFtYmlndWl0eVxuICB8IE5hbWVzcGFjZWRBbWJpZ3VpdHlcbiAgfCBGYWxsYmFja0FtYmlndWl0eTtcblxuZXhwb3J0IHR5cGUgRnJlZVZhclJlc29sdXRpb24gPSBTdHJpY3RSZXNvbHV0aW9uIHwgTG9vc2VNb2RlUmVzb2x1dGlvbjtcblxuLy8gU2VyaWFsaXphdGlvblxuXG5jb25zdCBlbnVtIFNlcmlhbGl6ZWRBbWJpZ3VpdHkge1xuICAvLyB7e3h9fVxuICBBcHBlbmQgPSAnQXBwZW5kJyxcbiAgLy8gaHJlZj17e3h9fVxuICBBdHRyID0gJ0F0dHInLFxuICAvLyB7e3ggeX19IChub3QgYXR0cilcbiAgSW52b2tlID0gJ0ludm9rZScsXG59XG5cbmV4cG9ydCB0eXBlIFNlcmlhbGl6ZWRSZXNvbHV0aW9uID1cbiAgfCAnU3RyaWN0J1xuICB8ICdMb29zZSdcbiAgfCBbJ25zJywgRnJlZVZhck5hbWVzcGFjZV1cbiAgfCBbJ2FtYmlndW91cycsIFNlcmlhbGl6ZWRBbWJpZ3VpdHldO1xuXG5leHBvcnQgZnVuY3Rpb24gbG9hZFJlc29sdXRpb24ocmVzb2x1dGlvbjogU2VyaWFsaXplZFJlc29sdXRpb24pOiBGcmVlVmFyUmVzb2x1dGlvbiB7XG4gIGlmICh0eXBlb2YgcmVzb2x1dGlvbiA9PT0gJ3N0cmluZycpIHtcbiAgICBzd2l0Y2ggKHJlc29sdXRpb24pIHtcbiAgICAgIGNhc2UgJ0xvb3NlJzpcbiAgICAgICAgcmV0dXJuIExvb3NlTW9kZVJlc29sdXRpb24uZmFsbGJhY2soKTtcbiAgICAgIGNhc2UgJ1N0cmljdCc6XG4gICAgICAgIHJldHVybiBTVFJJQ1RfUkVTT0xVVElPTjtcbiAgICB9XG4gIH1cblxuICBzd2l0Y2ggKHJlc29sdXRpb25bMF0pIHtcbiAgICBjYXNlICdhbWJpZ3VvdXMnOlxuICAgICAgc3dpdGNoIChyZXNvbHV0aW9uWzFdKSB7XG4gICAgICAgIGNhc2UgU2VyaWFsaXplZEFtYmlndWl0eS5BcHBlbmQ6XG4gICAgICAgICAgcmV0dXJuIExvb3NlTW9kZVJlc29sdXRpb24uYXBwZW5kKHsgaW52b2tlOiBmYWxzZSB9KTtcbiAgICAgICAgY2FzZSBTZXJpYWxpemVkQW1iaWd1aXR5LkF0dHI6XG4gICAgICAgICAgcmV0dXJuIExvb3NlTW9kZVJlc29sdXRpb24uYXR0cigpO1xuICAgICAgICBjYXNlIFNlcmlhbGl6ZWRBbWJpZ3VpdHkuSW52b2tlOlxuICAgICAgICAgIHJldHVybiBMb29zZU1vZGVSZXNvbHV0aW9uLmFwcGVuZCh7IGludm9rZTogdHJ1ZSB9KTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ25zJzpcbiAgICAgIHJldHVybiBMb29zZU1vZGVSZXNvbHV0aW9uLm5hbWVzcGFjZWQocmVzb2x1dGlvblsxXSk7XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=

@@ -21,2 +21,3 @@ var __classPrivateFieldSet = this && this.__classPrivateFieldSet || function (receiver, privateMap, value) {

import { dict } from '@glimmer/util';
import { isUpperCase } from './utils';
export class SymbolTable {

@@ -86,7 +87,9 @@ static top(locals, customizeComponentName) {

allocateFree(name, resolution) {
// If the name in question is an uppercase (i.e. angle-bracket) component invocation, run
// the optional `customizeComponentName` function provided to the precompiler.
if (resolution.resolution() === 39
/* GetFreeAsComponentHead */
) {
name = this.customizeComponentName(name);
}
&& resolution.isAngleBracket && isUpperCase(name)) {
name = this.customizeComponentName(name);
}

@@ -188,2 +191,2 @@ let index = this.upvars.indexOf(name);

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvc3ltYm9sLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxTQUFTLElBQVQsUUFBcUIsZUFBckI7QUFJQSxPQUFNLE1BQWdCLFdBQWhCLENBQTJCO0FBQy9CLFNBQU8sR0FBUCxDQUNFLE1BREYsRUFFRSxzQkFGRixFQUVtRDtBQUVqRCxXQUFPLElBQUksa0JBQUosQ0FBdUIsTUFBdkIsRUFBK0Isc0JBQS9CLENBQVA7QUFDRDs7QUFlRCxFQUFBLEtBQUssQ0FBQyxNQUFELEVBQWlCO0FBQ3BCLFFBQUksT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFQLENBQVksSUFBRCxJQUFVLEtBQUssUUFBTCxDQUFjLElBQWQsQ0FBckIsQ0FBZDtBQUNBLFdBQU8sSUFBSSxnQkFBSixDQUFxQixJQUFyQixFQUEyQixNQUEzQixFQUFtQyxPQUFuQyxDQUFQO0FBQ0Q7O0FBeEI4QjtBQTJCakMsT0FBTSxNQUFPLGtCQUFQLFNBQWtDLFdBQWxDLENBQTZDO0FBQ2pELEVBQUEsV0FBQSxDQUNVLGNBRFYsRUFFVSxzQkFGVixFQUUyRDtBQUV6RDtBQUhRLFNBQUEsY0FBQSxHQUFBLGNBQUE7QUFDQSxTQUFBLHNCQUFBLEdBQUEsc0JBQUE7QUFLSCxTQUFBLE9BQUEsR0FBb0IsRUFBcEI7QUFDQSxTQUFBLE1BQUEsR0FBbUIsRUFBbkI7QUFFQyxTQUFBLElBQUEsR0FBTyxDQUFQO0FBQ0EsU0FBQSxLQUFBLEdBQVEsSUFBSSxFQUFaO0FBQ0EsU0FBQSxNQUFBLEdBQVMsSUFBSSxFQUFiO0FBQ0EsU0FBQSxrQkFBQSxHQUErQixFQUEvQjs7QUFFUixJQUFBLFFBQUEsQ0FBQSxHQUFBLENBQUEsSUFBQSxFQUFXLEtBQVg7QUFWQzs7QUFZRCxFQUFBLHFCQUFxQixHQUFBO0FBQ25CLFdBQU8sS0FBSyxrQkFBWjtBQUNEOztBQUVELEVBQUEsVUFBVSxHQUFB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QUFMLENBQVksWUFBWixDQUF5QixJQUF6QixFQUErQixVQUEvQixDQUFQO0FBQ0Q7O0FBRUQsRUFBQSxhQUFhLENBQUMsSUFBRCxFQUFhO0FBQ3hCLFdBQU8sS0FBSyxNQUFMLENBQVksYUFBWixDQUEwQixJQUExQixDQUFQO0FBQ0Q7O0FBRUQsRUFBQSxhQUFhLENBQUMsSUFBRCxFQUFhO0FBQ3hCLFdBQU8sS0FBSyxNQUFMLENBQVksYUFBWixDQUEwQixJQUExQixDQUFQO0FBQ0Q7O0FBRUQsRUFBQSxRQUFRLENBQUMsVUFBRCxFQUFtQjtBQUN6QixXQUFPLEtBQUssTUFBTCxDQUFZLFFBQVosQ0FBcUIsVUFBckIsQ0FBUDtBQUNEOztBQS9DOEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3JlLCBEaWN0LCBTZXhwT3Bjb2RlcyB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZGljdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuXG5pbXBvcnQgeyBBU1R2MiB9IGZyb20gJy4uJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFN5bWJvbFRhYmxlIHtcbiAgc3RhdGljIHRvcChcbiAgICBsb2NhbHM6IHN0cmluZ1tdLFxuICAgIGN1c3RvbWl6ZUNvbXBvbmVudE5hbWU6IChpbnB1dDogc3RyaW5nKSA9PiBzdHJpbmdcbiAgKTogUHJvZ3JhbVN5bWJvbFRhYmxlIHtcbiAgICByZXR1cm4gbmV3IFByb2dyYW1TeW1ib2xUYWJsZShsb2NhbHMsIGN1c3RvbWl6ZUNvbXBvbmVudE5hbWUpO1xuICB9XG5cbiAgYWJzdHJhY3QgaGFzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW47XG4gIGFic3RyYWN0IGdldChuYW1lOiBzdHJpbmcpOiBbc3ltYm9sOiBudW1iZXIsIGlzUm9vdDogYm9vbGVhbl07XG5cbiAgYWJzdHJhY3QgZ2V0TG9jYWxzTWFwKCk6IERpY3Q8bnVtYmVyPjtcbiAgYWJzdHJhY3QgZ2V0RXZhbEluZm8oKTogQ29yZS5FdmFsSW5mbztcblxuICBhYnN0cmFjdCBhbGxvY2F0ZUZyZWUobmFtZTogc3RyaW5nLCByZXNvbHV0aW9uOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbik6IG51bWJlcjtcbiAgYWJzdHJhY3QgYWxsb2NhdGVOYW1lZChuYW1lOiBzdHJpbmcpOiBudW1iZXI7XG4gIGFic3RyYWN0IGFsbG9jYXRlQmxvY2sobmFtZTogc3RyaW5nKTogbnVtYmVyO1xuICBhYnN0cmFjdCBhbGxvY2F0ZShpZGVudGlmaWVyOiBzdHJpbmcpOiBudW1iZXI7XG5cbiAgYWJzdHJhY3Qgc2V0SGFzRXZhbCgpOiB2b2lkO1xuXG4gIGNoaWxkKGxvY2Fsczogc3RyaW5nW10pOiBCbG9ja1N5bWJvbFRhYmxlIHtcbiAgICBsZXQgc3ltYm9scyA9IGxvY2Fscy5tYXAoKG5hbWUpID0+IHRoaXMuYWxsb2NhdGUobmFtZSkpO1xuICAgIHJldHVybiBuZXcgQmxvY2tTeW1ib2xUYWJsZSh0aGlzLCBsb2NhbHMsIHN5bWJvbHMpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9ncmFtU3ltYm9sVGFibGUgZXh0ZW5kcyBTeW1ib2xUYWJsZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGVtcGxhdGVMb2NhbHM6IHN0cmluZ1tdLFxuICAgIHByaXZhdGUgY3VzdG9taXplQ29tcG9uZW50TmFtZTogKGlucHV0OiBzdHJpbmcpID0+IHN0cmluZ1xuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIHN5bWJvbHM6IHN0cmluZ1tdID0gW107XG4gIHB1YmxpYyB1cHZhcnM6IHN0cmluZ1tdID0gW107XG5cbiAgcHJpdmF0ZSBzaXplID0gMTtcbiAgcHJpdmF0ZSBuYW1lZCA9IGRpY3Q8bnVtYmVyPigpO1xuICBwcml2YXRlIGJsb2NrcyA9IGRpY3Q8bnVtYmVyPigpO1xuICBwcml2YXRlIHVzZWRUZW1wbGF0ZUxvY2Fsczogc3RyaW5nW10gPSBbXTtcblxuICAjaGFzRXZhbCA9IGZhbHNlO1xuXG4gIGdldFVzZWRUZW1wbGF0ZUxvY2FscygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMudXNlZFRlbXBsYXRlTG9jYWxzO1xuICB9XG5cbiAgc2V0SGFzRXZhbCgpOiB2b2lkIHtcbiAgICB0aGlzLiNoYXNFdmFsID0gdHJ1ZTtcbiAgfVxuXG4gIGdldCBoYXNFdmFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNoYXNFdmFsO1xuICB9XG5cbiAgaGFzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlTG9jYWxzLmluZGV4T2YobmFtZSkgIT09IC0xO1xuICB9XG5cbiAgZ2V0KG5hbWU6IHN0cmluZyk6IFtudW1iZXIsIGJvb2xlYW5dIHtcbiAgICBsZXQgaW5kZXggPSB0aGlzLnVzZWRUZW1wbGF0ZUxvY2Fscy5pbmRleE9mKG5hbWUpO1xuXG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgcmV0dXJuIFtpbmRleCwgdHJ1ZV07XG4gICAgfVxuXG4gICAgaW5kZXggPSB0aGlzLnVzZWRUZW1wbGF0ZUxvY2Fscy5sZW5ndGg7XG4gICAgdGhpcy51c2VkVGVtcGxhdGVMb2NhbHMucHVzaChuYW1lKTtcbiAgICByZXR1cm4gW2luZGV4LCB0cnVlXTtcbiAgfVxuXG4gIGdldExvY2Fsc01hcCgpOiBEaWN0PG51bWJlcj4ge1xuICAgIHJldHVybiBkaWN0KCk7XG4gIH1cblxuICBnZXRFdmFsSW5mbygpOiBDb3JlLkV2YWxJbmZvIHtcbiAgICBsZXQgbG9jYWxzID0gdGhpcy5nZXRMb2NhbHNNYXAoKTtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMobG9jYWxzKS5tYXAoKHN5bWJvbCkgPT4gbG9jYWxzW3N5bWJvbF0pO1xuICB9XG5cbiAgYWxsb2NhdGVGcmVlKG5hbWU6IHN0cmluZywgcmVzb2x1dGlvbjogQVNUdjIuRnJlZVZhclJlc29sdXRpb24pOiBudW1iZXIge1xuICAgIGlmIChyZXNvbHV0aW9uLnJlc29sdXRpb24oKSA9PT0gU2V4cE9wY29kZXMuR2V0RnJlZUFzQ29tcG9uZW50SGVhZCkge1xuICAgICAgbmFtZSA9IHRoaXMuY3VzdG9taXplQ29tcG9uZW50TmFtZShuYW1lKTtcbiAgICB9XG5cbiAgICBsZXQgaW5kZXggPSB0aGlzLnVwdmFycy5pbmRleE9mKG5hbWUpO1xuXG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIGluZGV4ID0gdGhpcy51cHZhcnMubGVuZ3RoO1xuICAgIHRoaXMudXB2YXJzLnB1c2gobmFtZSk7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgYWxsb2NhdGVOYW1lZChuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGxldCBuYW1lZCA9IHRoaXMubmFtZWRbbmFtZV07XG5cbiAgICBpZiAoIW5hbWVkKSB7XG4gICAgICBuYW1lZCA9IHRoaXMubmFtZWRbbmFtZV0gPSB0aGlzLmFsbG9jYXRlKG5hbWUpO1xuICAgIH1cblxuICAgIHJldHVybiBuYW1lZDtcbiAgfVxuXG4gIGFsbG9jYXRlQmxvY2sobmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBpZiAobmFtZSA9PT0gJ2ludmVyc2UnKSB7XG4gICAgICBuYW1lID0gJ2Vsc2UnO1xuICAgIH1cblxuICAgIGxldCBibG9jayA9IHRoaXMuYmxvY2tzW25hbWVdO1xuXG4gICAgaWYgKCFibG9jaykge1xuICAgICAgYmxvY2sgPSB0aGlzLmJsb2Nrc1tuYW1lXSA9IHRoaXMuYWxsb2NhdGUoYCYke25hbWV9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJsb2NrO1xuICB9XG5cbiAgYWxsb2NhdGUoaWRlbnRpZmllcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICB0aGlzLnN5bWJvbHMucHVzaChpZGVudGlmaWVyKTtcbiAgICByZXR1cm4gdGhpcy5zaXplKys7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEJsb2NrU3ltYm9sVGFibGUgZXh0ZW5kcyBTeW1ib2xUYWJsZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFyZW50OiBTeW1ib2xUYWJsZSwgcHVibGljIHN5bWJvbHM6IHN0cmluZ1tdLCBwdWJsaWMgc2xvdHM6IG51bWJlcltdKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldCBsb2NhbHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbHM7XG4gIH1cblxuICBoYXMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3ltYm9scy5pbmRleE9mKG5hbWUpICE9PSAtMSB8fCB0aGlzLnBhcmVudC5oYXMobmFtZSk7XG4gIH1cblxuICBnZXQobmFtZTogc3RyaW5nKTogW251bWJlciwgYm9vbGVhbl0ge1xuICAgIGxldCBzbG90ID0gdGhpcy5zeW1ib2xzLmluZGV4T2YobmFtZSk7XG4gICAgcmV0dXJuIHNsb3QgPT09IC0xID8gdGhpcy5wYXJlbnQuZ2V0KG5hbWUpIDogW3RoaXMuc2xvdHNbc2xvdF0sIGZhbHNlXTtcbiAgfVxuXG4gIGdldExvY2Fsc01hcCgpOiBEaWN0PG51bWJlcj4ge1xuICAgIGxldCBkaWN0ID0gdGhpcy5wYXJlbnQuZ2V0TG9jYWxzTWFwKCk7XG4gICAgdGhpcy5zeW1ib2xzLmZvckVhY2goKHN5bWJvbCkgPT4gKGRpY3Rbc3ltYm9sXSA9IHRoaXMuZ2V0KHN5bWJvbClbMF0pKTtcbiAgICByZXR1cm4gZGljdDtcbiAgfVxuXG4gIGdldEV2YWxJbmZvKCk6IENvcmUuRXZhbEluZm8ge1xuICAgIGxldCBsb2NhbHMgPSB0aGlzLmdldExvY2Fsc01hcCgpO1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhsb2NhbHMpLm1hcCgoc3ltYm9sKSA9PiBsb2NhbHNbc3ltYm9sXSk7XG4gIH1cblxuICBzZXRIYXNFdmFsKCk6IHZvaWQge1xuICAgIHRoaXMucGFyZW50LnNldEhhc0V2YWwoKTtcbiAgfVxuXG4gIGFsbG9jYXRlRnJlZShuYW1lOiBzdHJpbmcsIHJlc29sdXRpb246IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuYWxsb2NhdGVGcmVlKG5hbWUsIHJlc29sdXRpb24pO1xuICB9XG5cbiAgYWxsb2NhdGVOYW1lZChuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5hbGxvY2F0ZU5hbWVkKG5hbWUpO1xuICB9XG5cbiAgYWxsb2NhdGVCbG9jayhuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5hbGxvY2F0ZUJsb2NrKG5hbWUpO1xuICB9XG5cbiAgYWxsb2NhdGUoaWRlbnRpZmllcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuYWxsb2NhdGUoaWRlbnRpZmllcik7XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvc3ltYm9sLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxTQUFTLElBQVQsUUFBcUIsZUFBckI7QUFHQSxTQUFTLFdBQVQsUUFBNEIsU0FBNUI7QUFFQSxPQUFNLE1BQWdCLFdBQWhCLENBQTJCO0FBQy9CLFNBQU8sR0FBUCxDQUNFLE1BREYsRUFFRSxzQkFGRixFQUVtRDtBQUVqRCxXQUFPLElBQUksa0JBQUosQ0FBdUIsTUFBdkIsRUFBK0Isc0JBQS9CLENBQVA7QUFDRDs7QUFlRCxFQUFBLEtBQUssQ0FBQyxNQUFELEVBQWlCO0FBQ3BCLFFBQUksT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFQLENBQVksSUFBRCxJQUFVLEtBQUssUUFBTCxDQUFjLElBQWQsQ0FBckIsQ0FBZDtBQUNBLFdBQU8sSUFBSSxnQkFBSixDQUFxQixJQUFyQixFQUEyQixNQUEzQixFQUFtQyxPQUFuQyxDQUFQO0FBQ0Q7O0FBeEI4QjtBQTJCakMsT0FBTSxNQUFPLGtCQUFQLFNBQWtDLFdBQWxDLENBQTZDO0FBQ2pELEVBQUEsV0FBQSxDQUNVLGNBRFYsRUFFVSxzQkFGVixFQUUyRDtBQUV6RDtBQUhRLFNBQUEsY0FBQSxHQUFBLGNBQUE7QUFDQSxTQUFBLHNCQUFBLEdBQUEsc0JBQUE7QUFLSCxTQUFBLE9BQUEsR0FBb0IsRUFBcEI7QUFDQSxTQUFBLE1BQUEsR0FBbUIsRUFBbkI7QUFFQyxTQUFBLElBQUEsR0FBTyxDQUFQO0FBQ0EsU0FBQSxLQUFBLEdBQVEsSUFBSSxFQUFaO0FBQ0EsU0FBQSxNQUFBLEdBQVMsSUFBSSxFQUFiO0FBQ0EsU0FBQSxrQkFBQSxHQUErQixFQUEvQjs7QUFFUixJQUFBLFFBQUEsQ0FBQSxHQUFBLENBQUEsSUFBQSxFQUFXLEtBQVg7QUFWQzs7QUFZRCxFQUFBLHFCQUFxQixHQUFBO0FBQ25CLFdBQU8sS0FBSyxrQkFB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LE1BQUwsQ0FBWSxVQUFaO0FBQ0Q7O0FBRUQsRUFBQSxZQUFZLENBQUMsSUFBRCxFQUFlLFVBQWYsRUFBa0Q7QUFDNUQsV0FBTyxLQUFLLE1BQUwsQ0FBWSxZQUFaLENBQXlCLElBQXpCLEVBQStCLFVBQS9CLENBQVA7QUFDRDs7QUFFRCxFQUFBLGFBQWEsQ0FBQyxJQUFELEVBQWE7QUFDeEIsV0FBTyxLQUFLLE1BQUwsQ0FBWSxhQUFaLENBQTBCLElBQTFCLENBQVA7QUFDRDs7QUFFRCxFQUFBLGFBQWEsQ0FBQyxJQUFELEVBQWE7QUFDeEIsV0FBTyxLQUFLLE1BQUwsQ0FBWSxhQUFaLENBQTBCLElBQTFCLENBQVA7QUFDRDs7QUFFRCxFQUFBLFFBQVEsQ0FBQyxVQUFELEVBQW1CO0FBQ3pCLFdBQU8sS0FBSyxNQUFMLENBQVksUUFBWixDQUFxQixVQUFyQixDQUFQO0FBQ0Q7O0FBL0M4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvcmUsIERpY3QsIFNleHBPcGNvZGVzIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBkaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5cbmltcG9ydCB7IEFTVHYyIH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgaXNVcHBlckNhc2UgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFN5bWJvbFRhYmxlIHtcbiAgc3RhdGljIHRvcChcbiAgICBsb2NhbHM6IHN0cmluZ1tdLFxuICAgIGN1c3RvbWl6ZUNvbXBvbmVudE5hbWU6IChpbnB1dDogc3RyaW5nKSA9PiBzdHJpbmdcbiAgKTogUHJvZ3JhbVN5bWJvbFRhYmxlIHtcbiAgICByZXR1cm4gbmV3IFByb2dyYW1TeW1ib2xUYWJsZShsb2NhbHMsIGN1c3RvbWl6ZUNvbXBvbmVudE5hbWUpO1xuICB9XG5cbiAgYWJzdHJhY3QgaGFzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW47XG4gIGFic3RyYWN0IGdldChuYW1lOiBzdHJpbmcpOiBbc3ltYm9sOiBudW1iZXIsIGlzUm9vdDogYm9vbGVhbl07XG5cbiAgYWJzdHJhY3QgZ2V0TG9jYWxzTWFwKCk6IERpY3Q8bnVtYmVyPjtcbiAgYWJzdHJhY3QgZ2V0RXZhbEluZm8oKTogQ29yZS5FdmFsSW5mbztcblxuICBhYnN0cmFjdCBhbGxvY2F0ZUZyZWUobmFtZTogc3RyaW5nLCByZXNvbHV0aW9uOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbik6IG51bWJlcjtcbiAgYWJzdHJhY3QgYWxsb2NhdGVOYW1lZChuYW1lOiBzdHJpbmcpOiBudW1iZXI7XG4gIGFic3RyYWN0IGFsbG9jYXRlQmxvY2sobmFtZTogc3RyaW5nKTogbnVtYmVyO1xuICBhYnN0cmFjdCBhbGxvY2F0ZShpZGVudGlmaWVyOiBzdHJpbmcpOiBudW1iZXI7XG5cbiAgYWJzdHJhY3Qgc2V0SGFzRXZhbCgpOiB2b2lkO1xuXG4gIGNoaWxkKGxvY2Fsczogc3RyaW5nW10pOiBCbG9ja1N5bWJvbFRhYmxlIHtcbiAgICBsZXQgc3ltYm9scyA9IGxvY2Fscy5tYXAoKG5hbWUpID0+IHRoaXMuYWxsb2NhdGUobmFtZSkpO1xuICAgIHJldHVybiBuZXcgQmxvY2tTeW1ib2xUYWJsZSh0aGlzLCBsb2NhbHMsIHN5bWJvbHMpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9ncmFtU3ltYm9sVGFibGUgZXh0ZW5kcyBTeW1ib2xUYWJsZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGVtcGxhdGVMb2NhbHM6IHN0cmluZ1tdLFxuICAgIHByaXZhdGUgY3VzdG9taXplQ29tcG9uZW50TmFtZTogKGlucHV0OiBzdHJpbmcpID0+IHN0cmluZ1xuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIHN5bWJvbHM6IHN0cmluZ1tdID0gW107XG4gIHB1YmxpYyB1cHZhcnM6IHN0cmluZ1tdID0gW107XG5cbiAgcHJpdmF0ZSBzaXplID0gMTtcbiAgcHJpdmF0ZSBuYW1lZCA9IGRpY3Q8bnVtYmVyPigpO1xuICBwcml2YXRlIGJsb2NrcyA9IGRpY3Q8bnVtYmVyPigpO1xuICBwcml2YXRlIHVzZWRUZW1wbGF0ZUxvY2Fsczogc3RyaW5nW10gPSBbXTtcblxuICAjaGFzRXZhbCA9IGZhbHNlO1xuXG4gIGdldFVzZWRUZW1wbGF0ZUxvY2FscygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMudXNlZFRlbXBsYXRlTG9jYWxzO1xuICB9XG5cbiAgc2V0SGFzRXZhbCgpOiB2b2lkIHtcbiAgICB0aGlzLiNoYXNFdmFsID0gdHJ1ZTtcbiAgfVxuXG4gIGdldCBoYXNFdmFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNoYXNFdmFsO1xuICB9XG5cbiAgaGFzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlTG9jYWxzLmluZGV4T2YobmFtZSkgIT09IC0xO1xuICB9XG5cbiAgZ2V0KG5hbWU6IHN0cmluZyk6IFtudW1iZXIsIGJvb2xlYW5dIHtcbiAgICBsZXQgaW5kZXggPSB0aGlzLnVzZWRUZW1wbGF0ZUxvY2Fscy5pbmRleE9mKG5hbWUpO1xuXG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgcmV0dXJuIFtpbmRleCwgdHJ1ZV07XG4gICAgfVxuXG4gICAgaW5kZXggPSB0aGlzLnVzZWRUZW1wbGF0ZUxvY2Fscy5sZW5ndGg7XG4gICAgdGhpcy51c2VkVGVtcGxhdGVMb2NhbHMucHVzaChuYW1lKTtcbiAgICByZXR1cm4gW2luZGV4LCB0cnVlXTtcbiAgfVxuXG4gIGdldExvY2Fsc01hcCgpOiBEaWN0PG51bWJlcj4ge1xuICAgIHJldHVybiBkaWN0KCk7XG4gIH1cblxuICBnZXRFdmFsSW5mbygpOiBDb3JlLkV2YWxJbmZvIHtcbiAgICBsZXQgbG9jYWxzID0gdGhpcy5nZXRMb2NhbHNNYXAoKTtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMobG9jYWxzKS5tYXAoKHN5bWJvbCkgPT4gbG9jYWxzW3N5bWJvbF0pO1xuICB9XG5cbiAgYWxsb2NhdGVGcmVlKG5hbWU6IHN0cmluZywgcmVzb2x1dGlvbjogQVNUdjIuRnJlZVZhclJlc29sdXRpb24pOiBudW1iZXIge1xuICAgIC8vIElmIHRoZSBuYW1lIGluIHF1ZXN0aW9uIGlzIGFuIHVwcGVyY2FzZSAoaS5lLiBhbmdsZS1icmFja2V0KSBjb21wb25lbnQgaW52b2NhdGlvbiwgcnVuXG4gICAgLy8gdGhlIG9wdGlvbmFsIGBjdXN0b21pemVDb21wb25lbnROYW1lYCBmdW5jdGlvbiBwcm92aWRlZCB0byB0aGUgcHJlY29tcGlsZXIuXG4gICAgaWYgKFxuICAgICAgcmVzb2x1dGlvbi5yZXNvbHV0aW9uKCkgPT09IFNleHBPcGNvZGVzLkdldEZyZWVBc0NvbXBvbmVudEhlYWQgJiZcbiAgICAgIHJlc29sdXRpb24uaXNBbmdsZUJyYWNrZXQgJiZcbiAgICAgIGlzVXBwZXJDYXNlKG5hbWUpXG4gICAgKSB7XG4gICAgICBuYW1lID0gdGhpcy5jdXN0b21pemVDb21wb25lbnROYW1lKG5hbWUpO1xuICAgIH1cblxuICAgIGxldCBpbmRleCA9IHRoaXMudXB2YXJzLmluZGV4T2YobmFtZSk7XG5cbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuXG4gICAgaW5kZXggPSB0aGlzLnVwdmFycy5sZW5ndGg7XG4gICAgdGhpcy51cHZhcnMucHVzaChuYW1lKTtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBhbGxvY2F0ZU5hbWVkKG5hbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgbGV0IG5hbWVkID0gdGhpcy5uYW1lZFtuYW1lXTtcblxuICAgIGlmICghbmFtZWQpIHtcbiAgICAgIG5hbWVkID0gdGhpcy5uYW1lZFtuYW1lXSA9IHRoaXMuYWxsb2NhdGUobmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5hbWVkO1xuICB9XG5cbiAgYWxsb2NhdGVCbG9jayhuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGlmIChuYW1lID09PSAnaW52ZXJzZScpIHtcbiAgICAgIG5hbWUgPSAnZWxzZSc7XG4gICAgfVxuXG4gICAgbGV0IGJsb2NrID0gdGhpcy5ibG9ja3NbbmFtZV07XG5cbiAgICBpZiAoIWJsb2NrKSB7XG4gICAgICBibG9jayA9IHRoaXMuYmxvY2tzW25hbWVdID0gdGhpcy5hbGxvY2F0ZShgJiR7bmFtZX1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYmxvY2s7XG4gIH1cblxuICBhbGxvY2F0ZShpZGVudGlmaWVyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHRoaXMuc3ltYm9scy5wdXNoKGlkZW50aWZpZXIpO1xuICAgIHJldHVybiB0aGlzLnNpemUrKztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQmxvY2tTeW1ib2xUYWJsZSBleHRlbmRzIFN5bWJvbFRhYmxlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYXJlbnQ6IFN5bWJvbFRhYmxlLCBwdWJsaWMgc3ltYm9sczogc3RyaW5nW10sIHB1YmxpYyBzbG90czogbnVtYmVyW10pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0IGxvY2FscygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuc3ltYm9scztcbiAgfVxuXG4gIGhhcyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zeW1ib2xzLmluZGV4T2YobmFtZSkgIT09IC0xIHx8IHRoaXMucGFyZW50LmhhcyhuYW1lKTtcbiAgfVxuXG4gIGdldChuYW1lOiBzdHJpbmcpOiBbbnVtYmVyLCBib29sZWFuXSB7XG4gICAgbGV0IHNsb3QgPSB0aGlzLnN5bWJvbHMuaW5kZXhPZihuYW1lKTtcbiAgICByZXR1cm4gc2xvdCA9PT0gLTEgPyB0aGlzLnBhcmVudC5nZXQobmFtZSkgOiBbdGhpcy5zbG90c1tzbG90XSwgZmFsc2VdO1xuICB9XG5cbiAgZ2V0TG9jYWxzTWFwKCk6IERpY3Q8bnVtYmVyPiB7XG4gICAgbGV0IGRpY3QgPSB0aGlzLnBhcmVudC5nZXRMb2NhbHNNYXAoKTtcbiAgICB0aGlzLnN5bWJvbHMuZm9yRWFjaCgoc3ltYm9sKSA9PiAoZGljdFtzeW1ib2xdID0gdGhpcy5nZXQoc3ltYm9sKVswXSkpO1xuICAgIHJldHVybiBkaWN0O1xuICB9XG5cbiAgZ2V0RXZhbEluZm8oKTogQ29yZS5FdmFsSW5mbyB7XG4gICAgbGV0IGxvY2FscyA9IHRoaXMuZ2V0TG9jYWxzTWFwKCk7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGxvY2FscykubWFwKChzeW1ib2wpID0+IGxvY2Fsc1tzeW1ib2xdKTtcbiAgfVxuXG4gIHNldEhhc0V2YWwoKTogdm9pZCB7XG4gICAgdGhpcy5wYXJlbnQuc2V0SGFzRXZhbCgpO1xuICB9XG5cbiAgYWxsb2NhdGVGcmVlKG5hbWU6IHN0cmluZywgcmVzb2x1dGlvbjogQVNUdjIuRnJlZVZhclJlc29sdXRpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5hbGxvY2F0ZUZyZWUobmFtZSwgcmVzb2x1dGlvbik7XG4gIH1cblxuICBhbGxvY2F0ZU5hbWVkKG5hbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmFsbG9jYXRlTmFtZWQobmFtZSk7XG4gIH1cblxuICBhbGxvY2F0ZUJsb2NrKG5hbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmFsbG9jYXRlQmxvY2sobmFtZSk7XG4gIH1cblxuICBhbGxvY2F0ZShpZGVudGlmaWVyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5hbGxvY2F0ZShpZGVudGlmaWVyKTtcbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==

@@ -83,2 +83,8 @@ import { generateSyntaxError } from './syntax-error'; // Regex to validate the identifier for block parameters.

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsU0FBUyxtQkFBVCxRQUFvQyxnQkFBcEMsQyxDQUlBO0FBQ0E7O0FBRUEsSUFBSSxrQkFBa0IsR0FBRyw0QkFBekIsQyxDQUVBO0FBQ0E7QUFDQTs7QUFFQSxPQUFNLFNBQVUsdUJBQVYsQ0FBa0MsT0FBbEMsRUFBNEQ7QUFDaEUsTUFBSSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsT0FBRCxDQUE3QjtBQUNBLE1BQUksTUFBSixFQUFZLE9BQU8sQ0FBQyxXQUFSLEdBQXNCLE1BQXRCO0FBQ2I7O0FBRUQsU0FBUyxnQkFBVCxDQUEwQixPQUExQixFQUFvRDtBQUNsRCxNQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsVUFBUixDQUFtQixNQUEzQjtBQUNBLE1BQUksU0FBUyxHQUFHLEVBQWhCOztBQUVBLE9BQUssSUFBSSxDQUFDLEdBQUcsQ0FBYixFQUFnQixDQUFDLEdBQUcsQ0FBcEIsRUFBdUIsQ0FBQyxFQUF4QixFQUE0QjtBQUMxQixJQUFBLFNBQVMsQ0FBQyxJQUFWLENBQWUsT0FBTyxDQUFDLFVBQVIsQ0FBbUIsQ0FBbkIsRUFBc0IsSUFBckM7QUFDRDs7QUFFRCxNQUFJLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBVixDQUFrQixJQUFsQixDQUFkOztBQUVBLE1BQUksT0FBTyxLQUFLLENBQUMsQ0FBYixJQUFrQixTQUFTLENBQUMsTUFBVixHQUFtQixDQUFyQyxJQUEwQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQVYsR0FBbUIsQ0FBcEIsQ0FBVCxDQUFnQyxNQUFoQyxDQUF1QyxDQUF2QyxNQUE4QyxHQUE1RixFQUFpRztBQUMvRixVQUFNLG1CQUFtQixDQUN2QiwrRkFEdUIsRUFFdkIsT0FBTyxDQUFDLEdBRmUsQ0FBekI7QUFJRDs7QUFFRCxNQUFJLE9BQU8sS0FBSyxDQUFDLENBQWIsSUFBa0IsQ0FBQyxHQUFHLE9BQXRCLElBQWlDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsQ0FBWCxDQUFULENBQXVCLE1BQXZCLENBQThCLENBQTlCLE1BQXFDLEdBQTFFLEVBQStFO0FBQzdFO0FBQ0EsUUFBSSxZQUFZLEdBQUcsU0FBUyxDQUFDLEtBQVYsQ0FBZ0IsT0FBaEIsRUFBeUIsSUFBekIsQ0FBOEIsR0FBOUIsQ0FBbkI7O0FBQ0EsUUFDRSxZQUFZLENBQUMsTUFBYixDQUFvQixZQUFZLENBQUMsTUFBYixHQUFzQixDQUExQyxNQUFpRCxHQUFqRCxJQUNPLFlBQVksQ0FBQyxLQUFiLENBQW1CLEtBQW5CLENBQVAsQ0FBa0UsTUFBbEUsS0FBNkUsQ0FGL0UsRUFHRTtBQUNBLFlBQU0sbUJBQW1CLENBQ3ZCLHVDQUF1QyxZQUF2QyxHQUFzRCxHQUQvQixFQUV2QixPQUFPLENBQUMsR0FGZSxDQUF6QjtBQUlEOztBQUVELFFBQUksTUFBTSxHQUFHLEVBQWI7O0FBQ0EsU0FBSyxJQUFJLENBQUMsR0FBRyxPQUFPLEdBQUcsQ0FBdkIsRUFBMEIsQ0FBQyxHQUFHLENBQTlCLEVBQWlDLENBQUMsRUFBbEMsRUFBc0M7QUFDcEMsVUFBSSxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUQsQ0FBVCxDQUFhLE9BQWIsQ0FBcUIsS0FBckIsRUFBNEIsRUFBNUIsQ0FBWjs7QUFDQSxVQUFJLEtBQUssS0FBSyxFQUFkLEVBQWtCO0FBQ2hCLFlBQUksa0JBQWtCLENBQUMsSUFBbkIsQ0FBd0IsS0FBeEIsQ0FBSixFQUFvQztBQUNsQyxnQkFBTSxtQkFBbUIsQ0FDdkIsK0NBQStDLEtBQS9DLEdBQXVELEdBRGhDLEVBRXZCLE9BQU8sQ0FBQyxHQUZlLENBQXpCO0FBSUQ7O0FBQ0QsUUFBQSxNQUFNLENBQUMsSUFBUCxDQUFZLEtBQVo7QUFDRDtBQUNGOztBQUVELFFBQUksTUFBTSxDQUFDLE1BQVAsS0FBa0IsQ0FBdEIsRUFBeUI7QUFDdkIsWUFBTSxtQkFBbUIsQ0FBQyxrQ0FBRCxFQUFxQyxPQUFPLENBQUMsR0FBN0MsQ0FBekI7QUFDRDs7QUFFRCxJQUFBLE9BQU8sQ0FBQyxVQUFSLEdBQXFCLE9BQU8sQ0FBQyxVQUFSLENBQW1CLEtBQW5CLENBQXlCLENBQXpCLEVBQTRCLE9BQTVCLENBQXJCO0FBQ0EsV0FBTyxNQUFQO0FBQ0Q7O0FBRUQsU0FBTyxJQUFQO0FBQ0Q7O0FBRUQsT0FBTSxTQUFVLFdBQVYsQ0FDSixJQURJLEVBQ2tEO0FBRXRELFVBQVEsSUFBSSxDQUFDLElBQWI7QUFDRSxTQUFLLE9BQUw7QUFDQSxTQUFLLFVBQUw7QUFDRSxhQUFPLElBQUksQ0FBQyxJQUFaOztBQUNGLFNBQUssYUFBTDtBQUNFLGFBQU8sSUFBSSxDQUFDLFFBQVo7QUFMSjtBQU9EO0FBRUQsT0FBTSxTQUFVLFdBQVYsQ0FDSixNQURJLEVBRUosSUFGSSxFQUVpQjtBQUVyQixFQUFBLFdBQVcsQ0FBQyxNQUFELENBQVgsQ0FBb0IsSUFBcEIsQ0FBeUIsSUFBekI7QUFDRDtBQUlELE9BQU0sU0FBVSxZQUFWLENBQ0osSUFESSxFQUNtQztBQUV2QyxTQUNFLElBQUksQ0FBQyxJQUFMLEtBQWMsZUFBZCxJQUNBLElBQUksQ0FBQyxJQUFMLEtBQWMsZ0JBRGQsSUFFQSxJQUFJLENBQUMsSUFBTCxLQUFjLGVBRmQsSUFHQSxJQUFJLENBQUMsSUFBTCxLQUFjLGFBSGQsSUFJQSxJQUFJLENBQUMsSUFBTCxLQUFjLGtCQUxoQjtBQU9EO0FBRUQsT0FBTSxTQUFVLFlBQVYsQ0FBdUIsT0FBdkIsRUFBNkM7QUFDakQsTUFBSSxPQUFPLENBQUMsSUFBUixLQUFpQixrQkFBckIsRUFBeUM7QUFDdkMsV0FBTyxXQUFQO0FBQ0QsR0FGRCxNQUVPO0FBQ0wsV0FBTyxJQUFJLENBQUMsU0FBTCxDQUFlLE9BQU8sQ0FBQyxLQUF2QixDQUFQO0FBQ0Q7QUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbiB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZXhwZWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5cbmltcG9ydCB7IGdlbmVyYXRlU3ludGF4RXJyb3IgfSBmcm9tICcuL3N5bnRheC1lcnJvcic7XG5pbXBvcnQgKiBhcyBBU1R2MSBmcm9tICcuL3YxL2FwaSc7XG5pbXBvcnQgKiBhcyBIQlMgZnJvbSAnLi92MS9oYW5kbGViYXJzLWFzdCc7XG5cbi8vIFJlZ2V4IHRvIHZhbGlkYXRlIHRoZSBpZGVudGlmaWVyIGZvciBibG9jayBwYXJhbWV0ZXJzLlxuLy8gQmFzZWQgb24gdGhlIElEIHZhbGlkYXRpb24gcmVnZXggaW4gSGFuZGxlYmFycy5cblxubGV0IElEX0lOVkVSU0VfUEFUVEVSTiA9IC9bIVwiIyUtLFxcLlxcLzstPkBcXFstXFxeYFxcey1+XS87XG5cbi8vIENoZWNrcyB0aGUgZWxlbWVudCdzIGF0dHJpYnV0ZXMgdG8gc2VlIGlmIGl0IHVzZXMgYmxvY2sgcGFyYW1zLlxuLy8gSWYgaXQgZG9lcywgcmVnaXN0ZXJzIHRoZSBibG9jayBwYXJhbXMgd2l0aCB0aGUgcHJvZ3JhbSBhbmRcbi8vIHJlbW92ZXMgdGhlIGNvcnJlc3BvbmRpbmcgYXR0cmlidXRlcyBmcm9tIHRoZSBlbGVtZW50LlxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VFbGVtZW50QmxvY2tQYXJhbXMoZWxlbWVudDogQVNUdjEuRWxlbWVudE5vZGUpOiB2b2lkIHtcbiAgbGV0IHBhcmFtcyA9IHBhcnNlQmxvY2tQYXJhbXMoZWxlbWVudCk7XG4gIGlmIChwYXJhbXMpIGVsZW1lbnQuYmxvY2tQYXJhbXMgPSBwYXJhbXM7XG59XG5cbmZ1bmN0aW9uIHBhcnNlQmxvY2tQYXJhbXMoZWxlbWVudDogQVNUdjEuRWxlbWVudE5vZGUpOiBPcHRpb248c3RyaW5nW10+IHtcbiAgbGV0IGwgPSBlbGVtZW50LmF0dHJpYnV0ZXMubGVuZ3RoO1xuICBsZXQgYXR0ck5hbWVzID0gW107XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICBhdHRyTmFtZXMucHVzaChlbGVtZW50LmF0dHJpYnV0ZXNbaV0ubmFtZSk7XG4gIH1cblxuICBsZXQgYXNJbmRleCA9IGF0dHJOYW1lcy5pbmRleE9mKCdhcycpO1xuXG4gIGlmIChhc0luZGV4ID09PSAtMSAmJiBhdHRyTmFtZXMubGVuZ3RoID4gMCAmJiBhdHRyTmFtZXNbYXR0ck5hbWVzLmxlbmd0aCAtIDFdLmNoYXJBdCgwKSA9PT0gJ3wnKSB7XG4gICAgdGhyb3cgZ2VuZXJhdGVTeW50YXhFcnJvcihcbiAgICAgICdCbG9jayBwYXJhbWV0ZXJzIG11c3QgYmUgcHJlY2VkZWQgYnkgdGhlIGBhc2Aga2V5d29yZCwgZGV0ZWN0ZWQgYmxvY2sgcGFyYW1ldGVycyB3aXRob3V0IGBhc2AnLFxuICAgICAgZWxlbWVudC5sb2NcbiAgICApO1xuICB9XG5cbiAgaWYgKGFzSW5kZXggIT09IC0xICYmIGwgPiBhc0luZGV4ICYmIGF0dHJOYW1lc1thc0luZGV4ICsgMV0uY2hhckF0KDApID09PSAnfCcpIHtcbiAgICAvLyBTb21lIGJhc2ljIHZhbGlkYXRpb24sIHNpbmNlIHdlJ3JlIGRvaW5nIHRoZSBwYXJzaW5nIG91cnNlbHZlc1xuICAgIGxldCBwYXJhbXNTdHJpbmcgPSBhdHRyTmFtZXMuc2xpY2UoYXNJbmRleCkuam9pbignICcpO1xuICAgIGlmIChcbiAgICAgIHBhcmFtc1N0cmluZy5jaGFyQXQocGFyYW1zU3RyaW5nLmxlbmd0aCAtIDEpICE9PSAnfCcgfHxcbiAgICAgIGV4cGVjdChwYXJhbXNTdHJpbmcubWF0Y2goL1xcfC9nKSwgYGJsb2NrIHBhcmFtcyBtdXN0IGV4aXN0IGhlcmVgKS5sZW5ndGggIT09IDJcbiAgICApIHtcbiAgICAgIHRocm93IGdlbmVyYXRlU3ludGF4RXJyb3IoXG4gICAgICAgIFwiSW52YWxpZCBibG9jayBwYXJhbWV0ZXJzIHN5bnRheCwgJ1wiICsgcGFyYW1zU3RyaW5nICsgXCInXCIsXG4gICAgICAgIGVsZW1lbnQubG9jXG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBwYXJhbXMgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gYXNJbmRleCArIDE7IGkgPCBsOyBpKyspIHtcbiAgICAgIGxldCBwYXJhbSA9IGF0dHJOYW1lc1tpXS5yZXBsYWNlKC9cXHwvZywgJycpO1xuICAgICAgaWYgKHBhcmFtICE9PSAnJykge1xuICAgICAgICBpZiAoSURfSU5WRVJTRV9QQVRURVJOLnRlc3QocGFyYW0pKSB7XG4gICAgICAgICAgdGhyb3cgZ2VuZXJhdGVTeW50YXhFcnJvcihcbiAgICAgICAgICAgIFwiSW52YWxpZCBpZGVudGlmaWVyIGZvciBibG9jayBwYXJhbWV0ZXJzLCAnXCIgKyBwYXJhbSArIFwiJ1wiLFxuICAgICAgICAgICAgZWxlbWVudC5sb2NcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHBhcmFtcy5wdXNoKHBhcmFtKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgZ2VuZXJhdGVTeW50YXhFcnJvcignQ2Fubm90IHVzZSB6ZXJvIGJsb2NrIHBhcmFtZXRlcnMnLCBlbGVtZW50LmxvYyk7XG4gICAgfVxuXG4gICAgZWxlbWVudC5hdHRyaWJ1dGVzID0gZWxlbWVudC5hdHRyaWJ1dGVzLnNsaWNlKDAsIGFzSW5kZXgpO1xuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoaWxkcmVuRm9yKFxuICBub2RlOiBBU1R2MS5CbG9jayB8IEFTVHYxLlRlbXBsYXRlIHwgQVNUdjEuRWxlbWVudE5vZGVcbik6IEFTVHYxLlRvcExldmVsU3RhdGVtZW50W10ge1xuICBzd2l0Y2ggKG5vZGUudHlwZSkge1xuICAgIGNhc2UgJ0Jsb2NrJzpcbiAgICBjYXNlICdUZW1wbGF0ZSc6XG4gICAgICByZXR1cm4gbm9kZS5ib2R5O1xuICAgIGNhc2UgJ0VsZW1lbnROb2RlJzpcbiAgICAgIHJldHVybiBub2RlLmNoaWxkcmVuO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRDaGlsZChcbiAgcGFyZW50OiBBU1R2MS5CbG9jayB8IEFTVHYxLlRlbXBsYXRlIHwgQVNUdjEuRWxlbWVudE5vZGUsXG4gIG5vZGU6IEFTVHYxLlN0YXRlbWVudFxuKTogdm9pZCB7XG4gIGNoaWxkcmVuRm9yKHBhcmVudCkucHVzaChub2RlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzSEJTTGl0ZXJhbChwYXRoOiBIQlMuRXhwcmVzc2lvbik6IHBhdGggaXMgSEJTLkxpdGVyYWw7XG5leHBvcnQgZnVuY3Rpb24gaXNIQlNMaXRlcmFsKHBhdGg6IEFTVHYxLkV4cHJlc3Npb24pOiBwYXRoIGlzIEFTVHYxLkxpdGVyYWw7XG5leHBvcnQgZnVuY3Rpb24gaXNIQlNMaXRlcmFsKFxuICBwYXRoOiBIQlMuRXhwcmVzc2lvbiB8IEFTVHYxLkV4cHJlc3Npb25cbik6IHBhdGggaXMgSEJTLkxpdGVyYWwgfCBBU1R2MS5MaXRlcmFsIHtcbiAgcmV0dXJuIChcbiAgICBwYXRoLnR5cGUgPT09ICdTdHJpbmdMaXRlcmFsJyB8fFxuICAgIHBhdGgudHlwZSA9PT0gJ0Jvb2xlYW5MaXRlcmFsJyB8fFxuICAgIHBhdGgudHlwZSA9PT0gJ051bWJlckxpdGVyYWwnIHx8XG4gICAgcGF0aC50eXBlID09PSAnTnVsbExpdGVyYWwnIHx8XG4gICAgcGF0aC50eXBlID09PSAnVW5kZWZpbmVkTGl0ZXJhbCdcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW50TGl0ZXJhbChsaXRlcmFsOiBBU1R2MS5MaXRlcmFsKTogc3RyaW5nIHtcbiAgaWYgKGxpdGVyYWwudHlwZSA9PT0gJ1VuZGVmaW5lZExpdGVyYWwnKSB7XG4gICAgcmV0dXJuICd1bmRlZmluZWQnO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShsaXRlcmFsLnZhbHVlKTtcbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
export function isUpperCase(tag) {
return tag[0] === tag[0].toUpperCase() && tag[0] !== tag[0].toLowerCase();
}
export function isLowerCase(tag) {
return tag[0] === tag[0].toLowerCase() && tag[0] !== tag[0].toUpperCase();
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsU0FBUyxtQkFBVCxRQUFvQyxnQkFBcEMsQyxDQUlBO0FBQ0E7O0FBRUEsSUFBSSxrQkFBa0IsR0FBRyw0QkFBekIsQyxDQUVBO0FBQ0E7QUFDQTs7QUFFQSxPQUFNLFNBQVUsdUJBQVYsQ0FBa0MsT0FBbEMsRUFBNEQ7QUFDaEUsTUFBSSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsT0FBRCxDQUE3QjtBQUNBLE1BQUksTUFBSixFQUFZLE9BQU8sQ0FBQyxXQUFSLEdBQXNCLE1BQXRCO0FBQ2I7O0FBRUQsU0FBUyxnQkFBVCxDQUEwQixPQUExQixFQUFvRDtBQUNsRCxNQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsVUFBUixDQUFtQixNQUEzQjtBQUNBLE1BQUksU0FBUyxHQUFHLEVBQWhCOztBQUVBLE9BQUssSUFBSSxDQUFDLEdBQUcsQ0FBYixFQUFnQixDQUFDLEdBQUcsQ0FBcEIsRUFBdUIsQ0FBQyxFQUF4QixFQUE0QjtBQUMxQixJQUFBLFNBQVMsQ0FBQyxJQUFWLENBQWUsT0FBTyxDQUFDLFVBQVIsQ0FBbUIsQ0FBbkIsRUFBc0IsSUFBckM7QUFDRDs7QUFFRCxNQUFJLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBVixDQUFrQixJQUFsQixDQUFkOztBQUVBLE1BQUksT0FBTyxLQUFLLENBQUMsQ0FBYixJQUFrQixTQUFTLENBQUMsTUFBVixHQUFtQixDQUFyQyxJQUEwQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQVYsR0FBbUIsQ0FBcEIsQ0FBVCxDQUFnQyxNQUFoQyxDQUF1QyxDQUF2QyxNQUE4QyxHQUE1RixFQUFpRztBQUMvRixVQUFNLG1CQUFtQixDQUN2QiwrRkFEdUIsRUFFdkIsT0FBTyxDQUFDLEdBRmUsQ0FBekI7QUFJRDs7QUFFRCxNQUFJLE9BQU8sS0FBSyxDQUFDLENBQWIsSUFBa0IsQ0FBQyxHQUFH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LENBQUQsQ0FBSCxLQUFXLEdBQUcsQ0FBQyxDQUFELENBQUgsQ0FBTyxXQUFQLEVBQXJEO0FBQ0Q7QUFFRCxPQUFNLFNBQVUsV0FBVixDQUFzQixHQUF0QixFQUFpQztBQUNyQyxTQUFPLEdBQUcsQ0FBQyxDQUFELENBQUgsS0FBVyxHQUFHLENBQUMsQ0FBRCxDQUFILENBQU8sV0FBUCxFQUFYLElBQW1DLEdBQUcsQ0FBQyxDQUFELENBQUgsS0FBVyxHQUFHLENBQUMsQ0FBRCxDQUFILENBQU8sV0FBUCxFQUFyRDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBleHBlY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcblxuaW1wb3J0IHsgZ2VuZXJhdGVTeW50YXhFcnJvciB9IGZyb20gJy4vc3ludGF4LWVycm9yJztcbmltcG9ydCAqIGFzIEFTVHYxIGZyb20gJy4vdjEvYXBpJztcbmltcG9ydCAqIGFzIEhCUyBmcm9tICcuL3YxL2hhbmRsZWJhcnMtYXN0JztcblxuLy8gUmVnZXggdG8gdmFsaWRhdGUgdGhlIGlkZW50aWZpZXIgZm9yIGJsb2NrIHBhcmFtZXRlcnMuXG4vLyBCYXNlZCBvbiB0aGUgSUQgdmFsaWRhdGlvbiByZWdleCBpbiBIYW5kbGViYXJzLlxuXG5sZXQgSURfSU5WRVJTRV9QQVRURVJOID0gL1shXCIjJS0sXFwuXFwvOy0+QFxcWy1cXF5gXFx7LX5dLztcblxuLy8gQ2hlY2tzIHRoZSBlbGVtZW50J3MgYXR0cmlidXRlcyB0byBzZWUgaWYgaXQgdXNlcyBibG9jayBwYXJhbXMuXG4vLyBJZiBpdCBkb2VzLCByZWdpc3RlcnMgdGhlIGJsb2NrIHBhcmFtcyB3aXRoIHRoZSBwcm9ncmFtIGFuZFxuLy8gcmVtb3ZlcyB0aGUgY29ycmVzcG9uZGluZyBhdHRyaWJ1dGVzIGZyb20gdGhlIGVsZW1lbnQuXG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUVsZW1lbnRCbG9ja1BhcmFtcyhlbGVtZW50OiBBU1R2MS5FbGVtZW50Tm9kZSk6IHZvaWQge1xuICBsZXQgcGFyYW1zID0gcGFyc2VCbG9ja1BhcmFtcyhlbGVtZW50KTtcbiAgaWYgKHBhcmFtcykgZWxlbWVudC5ibG9ja1BhcmFtcyA9IHBhcmFtcztcbn1cblxuZnVuY3Rpb24gcGFyc2VCbG9ja1BhcmFtcyhlbGVtZW50OiBBU1R2MS5FbGVtZW50Tm9kZSk6IE9wdGlvbjxzdHJpbmdbXT4ge1xuICBsZXQgbCA9IGVsZW1lbnQuYXR0cmlidXRlcy5sZW5ndGg7XG4gIGxldCBhdHRyTmFtZXMgPSBbXTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgIGF0dHJOYW1lcy5wdXNoKGVsZW1lbnQuYXR0cmlidXRlc1tpXS5uYW1lKTtcbiAgfVxuXG4gIGxldCBhc0luZGV4ID0gYXR0ck5hbWVzLmluZGV4T2YoJ2FzJyk7XG5cbiAgaWYgKGFzSW5kZXggPT09IC0xICYmIGF0dHJOYW1lcy5sZW5ndGggPiAwICYmIGF0dHJOYW1lc1thdHRyTmFtZXMubGVuZ3RoIC0gMV0uY2hhckF0KDApID09PSAnfCcpIHtcbiAgICB0aHJvdyBnZW5lcmF0ZVN5bnRheEVycm9yKFxuICAgICAgJ0Jsb2NrIHBhcmFtZXRlcnMgbXVzdCBiZSBwcmVjZWRlZCBieSB0aGUgYGFzYCBrZXl3b3JkLCBkZXRlY3RlZCBibG9jayBwYXJhbWV0ZXJzIHdpdGhvdXQgYGFzYCcsXG4gICAgICBlbGVtZW50LmxvY1xuICAgICk7XG4gIH1cblxuICBpZiAoYXNJbmRleCAhPT0gLTEgJiYgbCA+IGFzSW5kZXggJiYgYXR0ck5hbWVzW2FzSW5kZXggKyAxXS5jaGFyQXQoMCkgPT09ICd8Jykge1xuICAgIC8vIFNvbWUgYmFzaWMgdmFsaWRhdGlvbiwgc2luY2Ugd2UncmUgZG9pbmcgdGhlIHBhcnNpbmcgb3Vyc2VsdmVzXG4gICAgbGV0IHBhcmFtc1N0cmluZyA9IGF0dHJOYW1lcy5zbGljZShhc0luZGV4KS5qb2luKCcgJyk7XG4gICAgaWYgKFxuICAgICAgcGFyYW1zU3RyaW5nLmNoYXJBdChwYXJhbXNTdHJpbmcubGVuZ3RoIC0gMSkgIT09ICd8JyB8fFxuICAgICAgZXhwZWN0KHBhcmFtc1N0cmluZy5tYXRjaCgvXFx8L2cpLCBgYmxvY2sgcGFyYW1zIG11c3QgZXhpc3QgaGVyZWApLmxlbmd0aCAhPT0gMlxuICAgICkge1xuICAgICAgdGhyb3cgZ2VuZXJhdGVTeW50YXhFcnJvcihcbiAgICAgICAgXCJJbnZhbGlkIGJsb2NrIHBhcmFtZXRlcnMgc3ludGF4LCAnXCIgKyBwYXJhbXNTdHJpbmcgKyBcIidcIixcbiAgICAgICAgZWxlbWVudC5sb2NcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IHBhcmFtcyA9IFtdO1xuICAgIGZvciAobGV0IGkgPSBhc0luZGV4ICsgMTsgaSA8IGw7IGkrKykge1xuICAgICAgbGV0IHBhcmFtID0gYXR0ck5hbWVzW2ldLnJlcGxhY2UoL1xcfC9nLCAnJyk7XG4gICAgICBpZiAocGFyYW0gIT09ICcnKSB7XG4gICAgICAgIGlmIChJRF9JTlZFUlNFX1BBVFRFUk4udGVzdChwYXJhbSkpIHtcbiAgICAgICAgICB0aHJvdyBnZW5lcmF0ZVN5bnRheEVycm9yKFxuICAgICAgICAgICAgXCJJbnZhbGlkIGlkZW50aWZpZXIgZm9yIGJsb2NrIHBhcmFtZXRlcnMsICdcIiArIHBhcmFtICsgXCInXCIsXG4gICAgICAgICAgICBlbGVtZW50LmxvY1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcGFyYW1zLnB1c2gocGFyYW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwYXJhbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBnZW5lcmF0ZVN5bnRheEVycm9yKCdDYW5ub3QgdXNlIHplcm8gYmxvY2sgcGFyYW1ldGVycycsIGVsZW1lbnQubG9jKTtcbiAgICB9XG5cbiAgICBlbGVtZW50LmF0dHJpYnV0ZXMgPSBlbGVtZW50LmF0dHJpYnV0ZXMuc2xpY2UoMCwgYXNJbmRleCk7XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hpbGRyZW5Gb3IoXG4gIG5vZGU6IEFTVHYxLkJsb2NrIHwgQVNUdjEuVGVtcGxhdGUgfCBBU1R2MS5FbGVtZW50Tm9kZVxuKTogQVNUdjEuVG9wTGV2ZWxTdGF0ZW1lbnRbXSB7XG4gIHN3aXRjaCAobm9kZS50eXBlKSB7XG4gICAgY2FzZSAnQmxvY2snOlxuICAgIGNhc2UgJ1RlbXBsYXRlJzpcbiAgICAgIHJldHVybiBub2RlLmJvZHk7XG4gICAgY2FzZSAnRWxlbWVudE5vZGUnOlxuICAgICAgcmV0dXJuIG5vZGUuY2hpbGRyZW47XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZENoaWxkKFxuICBwYXJlbnQ6IEFTVHYxLkJsb2NrIHwgQVNUdjEuVGVtcGxhdGUgfCBBU1R2MS5FbGVtZW50Tm9kZSxcbiAgbm9kZTogQVNUdjEuU3RhdGVtZW50XG4pOiB2b2lkIHtcbiAgY2hpbGRyZW5Gb3IocGFyZW50KS5wdXNoKG5vZGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNIQlNMaXRlcmFsKHBhdGg6IEhCUy5FeHByZXNzaW9uKTogcGF0aCBpcyBIQlMuTGl0ZXJhbDtcbmV4cG9ydCBmdW5jdGlvbiBpc0hCU0xpdGVyYWwocGF0aDogQVNUdjEuRXhwcmVzc2lvbik6IHBhdGggaXMgQVNUdjEuTGl0ZXJhbDtcbmV4cG9ydCBmdW5jdGlvbiBpc0hCU0xpdGVyYWwoXG4gIHBhdGg6IEhCUy5FeHByZXNzaW9uIHwgQVNUdjEuRXhwcmVzc2lvblxuKTogcGF0aCBpcyBIQlMuTGl0ZXJhbCB8IEFTVHYxLkxpdGVyYWwge1xuICByZXR1cm4gKFxuICAgIHBhdGgudHlwZSA9PT0gJ1N0cmluZ0xpdGVyYWwnIHx8XG4gICAgcGF0aC50eXBlID09PSAnQm9vbGVhbkxpdGVyYWwnIHx8XG4gICAgcGF0aC50eXBlID09PSAnTnVtYmVyTGl0ZXJhbCcgfHxcbiAgICBwYXRoLnR5cGUgPT09ICdOdWxsTGl0ZXJhbCcgfHxcbiAgICBwYXRoLnR5cGUgPT09ICdVbmRlZmluZWRMaXRlcmFsJ1xuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRMaXRlcmFsKGxpdGVyYWw6IEFTVHYxLkxpdGVyYWwpOiBzdHJpbmcge1xuICBpZiAobGl0ZXJhbC50eXBlID09PSAnVW5kZWZpbmVkTGl0ZXJhbCcpIHtcbiAgICByZXR1cm4gJ3VuZGVmaW5lZCc7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGxpdGVyYWwudmFsdWUpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1VwcGVyQ2FzZSh0YWc6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gdGFnWzBdID09PSB0YWdbMF0udG9VcHBlckNhc2UoKSAmJiB0YWdbMF0gIT09IHRhZ1swXS50b0xvd2VyQ2FzZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNMb3dlckNhc2UodGFnOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHRhZ1swXSA9PT0gdGFnWzBdLnRvTG93ZXJDYXNlKCkgJiYgdGFnWzBdICE9PSB0YWdbMF0udG9VcHBlckNhc2UoKTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=

@@ -33,3 +33,3 @@ import * as ASTv2 from './api';

/* Component */
);
, true);
} else {

@@ -123,2 +123,2 @@ return null;

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjItYS9sb29zZS1yZXNvbHV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxLQUFaLE1BQXVCLE9BQXZCO0FBWUEsT0FBTSxTQUFVLGlCQUFWLENBQTRCLElBQTVCLEVBQXFEO0FBQ3pELE1BQUksY0FBYyxDQUFDLElBQUQsQ0FBbEIsRUFBMEI7QUFDeEIsV0FBTyxLQUFLLENBQUMsbUJBQU4sQ0FBMEIsVUFBMUIsQ0FBb0M7QUFBQTtBQUFwQyxLQUFQO0FBQ0QsR0FGRCxNQUVPO0FBQ0wsV0FBTyxJQUFQO0FBQ0Q7QUFDRjtBQUVELE9BQU0sU0FBVSxxQkFBVixDQUNKLElBREksRUFDZ0M7QUFFcEMsTUFBSSxjQUFjLENBQUMsSUFBRCxDQUFsQixFQUEwQjtBQUN4QixXQUFPLEtBQUssQ0FBQyxtQkFBTixDQUEwQixVQUExQixDQUFvQztBQUFBO0FBQXBDLEtBQVA7QUFDRCxHQUZELE1BRU87QUFDTCxXQUFPLElBQVA7QUFDRDtBQUNGO0FBRUQsT0FBTSxTQUFVLGtCQUFWLENBQTZCLElBQTdCLEVBQXVEO0FBQzNELE1BQUksY0FBYyxDQUFDLElBQUQsQ0FBbEIsRUFBMEI7QUFDeEIsV0FBTyxLQUFLLENBQUMsbUJBQU4sQ0FBMEIsVUFBMUIsQ0FBb0M7QUFBQTtBQUFwQyxLQUFQO0FBQ0QsR0FGRCxNQUVPO0FBQ0wsV0FBTyxLQUFLLENBQUMsbUJBQU4sQ0FBMEIsUUFBMUIsRUFBUDtBQUNEO0FBQ0Y7QUFFRCxPQUFNLFNBQVUsc0JBQVYsQ0FBaUMsSUFBakMsRUFBMkQ7QUFDL0QsTUFBSSxZQUFZLENBQUMsSUFBRCxDQUFoQixFQUF3QjtBQUN0QixXQUFPLEtBQUssQ0FBQyxtQkFBTixDQUEwQixVQUExQixDQUFvQztBQUFBO0FBQXBDLEtBQVA7QUFDRCxHQUZELE1BRU87QUFDTCxXQUFPLElBQVA7QUFDRDtBQUNGO0FBRUQ7Ozs7O0FBSUEsT0FBTSxTQUFVLHNCQUFWLENBQWlDLElBQWpDLEVBQThEO0FBQ2xFLE1BQUksUUFBUSxHQUFHLGNBQWMsQ0FBQyxJQUFELENBQTdCO0FBQ0EsTUFBSSxRQUFRLEdBQUcsWUFBWSxDQUFDLElBQUQsQ0FBM0I7O0FBRUEsTUFBSSxRQUFKLEVBQWM7QUFDWixXQUFPLFFBQVEsR0FDWCxLQUFLLENBQUMsbUJBQU4sQ0FBMEIsVUFBMUIsQ0FBb0M7QUFBQTtBQUFwQyxLQURXLEdBRVgsS0FBSyxDQUFDLG1CQUFOLENBQTBCLElBQTFCLEVBRko7QUFHRCxHQUpELE1BSU87QUFDTCxXQUFPLFFBQVEsR0FBRyxLQUFLLENBQUMsaUJBQVQsR0FBNkIsS0FBSyxDQUFDLG1CQUFOLENBQTBCLFFBQTFCLEVBQTVDO0FBQ0Q7QUFDRjtBQUVEOzs7OztBQUlBLE9BQU0sU0FBVSxtQkFBVixDQUE4QixJQUE5QixFQUEyRDtBQUMvRCxNQUFJLFFBQVEsR0FBRyxjQUFjLENBQUMsSUFBRCxDQUE3QjtBQUNBLE1BQUksUUFBUSxHQUFHLFlBQVksQ0FBQyxJQUFELENBQTNCO0FBQ0EsTUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQXBCOztBQUVBLE1BQUksUUFBSixFQUFjO0FBQ1osV0FBTyxRQUFRLEdBQ1gsS0FBSyxDQUFDLG1CQUFOLENBQTBCLGNBQTFCLENBQXlDO0FBQUUsTUFBQSxNQUFNLEVBQUU7QUFBVixLQUF6QyxDQURXLEdBRVgsS0FBSyxDQUFDLG1CQUFOLENBQTBCLE1BQTFCLENBQWlDO0FBQUUsTUFBQSxNQUFNLEVBQUU7QUFBVixLQUFqQyxDQUZKO0FBR0QsR0FKRCxNQUlPO0FBQ0wsV0FBTyxLQUFLLENBQUMsbUJBQU4sQ0FBMEIsUUFBMUIsRUFBUDtBQUNEO0FBQ0YsQyxDQU1EOztBQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXlCQSxTQUFTLGNBQVQsQ0FBd0IsSUFBeEIsRUFBMEM7QUFDeEMsTUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQWhCO0FBRUEsU0FBTyxZQUFZLENBQUMsSUFBRCxDQUFuQjtBQUNEOztBQUVELFNBQVMsWUFBVCxDQUFzQixJQUF0QixFQUE0QztBQUMxQyxNQUFJLElBQUksQ0FBQyxJQUFMLEtBQWMsZ0JBQWQsSUFBa0MsSUFBSSxDQUFDLElBQUwsQ0FBVSxJQUFWLEtBQW1CLFNBQXpELEVBQW9FO0FBQ2xFLFdBQU8sSUFBSSxDQUFDLElBQUwsQ0FBVSxNQUFWLEtBQXFCLENBQTVCO0FBQ0QsR0FGRCxNQUVPO0FBQ0wsV0FBTyxLQUFQO0FBQ0Q7QUFDRjtBQUVEOzs7OztBQUdBLFNBQVMsWUFBVCxDQUFzQixJQUF0QixFQUF3QztBQUN0QyxTQUFPLElBQUksQ0FBQyxNQUFMLENBQVksTUFBWixHQUFxQixDQUFyQixJQUEwQixJQUFJLENBQUMsSUFBTCxDQUFVLEtBQVYsQ0FBZ0IsTUFBaEIsR0FBeUIsQ0FBMUQ7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEFTVHYxIGZyb20gJy4uL3YxL2FwaSc7XG5pbXBvcnQgKiBhcyBBU1R2MiBmcm9tICcuL2FwaSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXN0Q2FsbFBhcnRzIHtcbiAgcGF0aDogQVNUdjEuRXhwcmVzc2lvbjtcbiAgcGFyYW1zOiBBU1R2MS5FeHByZXNzaW9uW107XG4gIGhhc2g6IEFTVHYxLkhhc2g7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFyUGF0aCBleHRlbmRzIEFTVHYxLlBhdGhFeHByZXNzaW9uIHtcbiAgaGVhZDogQVNUdjEuVmFySGVhZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFNleHBTeW50YXhDb250ZXh0KG5vZGU6IEFTVHYxLlN1YkV4cHJlc3Npb24pOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbiB8IG51bGwge1xuICBpZiAoaXNTaW1wbGVDYWxsZWUobm9kZSkpIHtcbiAgICByZXR1cm4gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5uYW1lc3BhY2VkKEFTVHYyLkZyZWVWYXJOYW1lc3BhY2UuSGVscGVyKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gTW9kaWZpZXJTeW50YXhDb250ZXh0KFxuICBub2RlOiBBU1R2MS5FbGVtZW50TW9kaWZpZXJTdGF0ZW1lbnRcbik6IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uIHwgbnVsbCB7XG4gIGlmIChpc1NpbXBsZUNhbGxlZShub2RlKSkge1xuICAgIHJldHVybiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLm5hbWVzcGFjZWQoQVNUdjIuRnJlZVZhck5hbWVzcGFjZS5Nb2RpZmllcik7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEJsb2NrU3ludGF4Q29udGV4dChub2RlOiBBU1R2MS5CbG9ja1N0YXRlbWVudCk6IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uIHwgbnVsbCB7XG4gIGlmIChpc1NpbXBsZUNhbGxlZShub2RlKSkge1xuICAgIHJldHVybiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLm5hbWVzcGFjZWQoQVNUdjIuRnJlZVZhck5hbWVzcGFjZS5Db21wb25lbnQpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLmZhbGxiYWNrKCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENvbXBvbmVudFN5bnRheENvbnRleHQobm9kZTogQVNUdjEuUGF0aEV4cHJlc3Npb24pOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbiB8IG51bGwge1xuICBpZiAoaXNTaW1wbGVQYXRoKG5vZGUpKSB7XG4gICAgcmV0dXJuIEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24ubmFtZXNwYWNlZChBU1R2Mi5GcmVlVmFyTmFtZXNwYWNlLkNvbXBvbmVudCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGNvcnJlc3BvbmRzIHRvIGFwcGVuZCBwb3NpdGlvbnMgKHRleHQgY3VybGllcyBvciBhdHRyaWJ1dGVcbiAqIGN1cmxpZXMpLiBJbiBzdHJpY3QgbW9kZSwgdGhpcyBhbHNvIGNvcnJlc3BvbmRzIHRvIGFyZyBjdXJsaWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQXR0clZhbHVlU3ludGF4Q29udGV4dChub2RlOiBBU1R2MS5NdXN0YWNoZVN0YXRlbWVudCk6IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uIHtcbiAgbGV0IGlzU2ltcGxlID0gaXNTaW1wbGVDYWxsZWUobm9kZSk7XG4gIGxldCBpc0ludm9rZSA9IGlzSW52b2tlTm9kZShub2RlKTtcblxuICBpZiAoaXNTaW1wbGUpIHtcbiAgICByZXR1cm4gaXNJbnZva2VcbiAgICAgID8gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5uYW1lc3BhY2VkKEFTVHYyLkZyZWVWYXJOYW1lc3BhY2UuSGVscGVyKVxuICAgICAgOiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLmF0dHIoKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gaXNJbnZva2UgPyBBU1R2Mi5TVFJJQ1RfUkVTT0xVVElPTiA6IEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24uZmFsbGJhY2soKTtcbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgY29ycmVzcG9uZHMgdG8gYXBwZW5kIHBvc2l0aW9ucyAodGV4dCBjdXJsaWVzIG9yIGF0dHJpYnV0ZVxuICogY3VybGllcykuIEluIHN0cmljdCBtb2RlLCB0aGlzIGFsc28gY29ycmVzcG9uZHMgdG8gYXJnIGN1cmxpZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBBcHBlbmRTeW50YXhDb250ZXh0KG5vZGU6IEFTVHYxLk11c3RhY2hlU3RhdGVtZW50KTogQVNUdjIuRnJlZVZhclJlc29sdXRpb24ge1xuICBsZXQgaXNTaW1wbGUgPSBpc1NpbXBsZUNhbGxlZShub2RlKTtcbiAgbGV0IGlzSW52b2tlID0gaXNJbnZva2VOb2RlKG5vZGUpO1xuICBsZXQgdHJ1c3RpbmcgPSBub2RlLnRydXN0aW5nO1xuXG4gIGlmIChpc1NpbXBsZSkge1xuICAgIHJldHVybiB0cnVzdGluZ1xuICAgICAgPyBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLnRydXN0aW5nQXBwZW5kKHsgaW52b2tlOiBpc0ludm9rZSB9KVxuICAgICAgOiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLmFwcGVuZCh7IGludm9rZTogaXNJbnZva2UgfSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24uZmFsbGJhY2soKTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBSZXNvbHV0aW9uPFAgZXh0ZW5kcyBBc3RDYWxsUGFydHMgfCBBU1R2MS5QYXRoRXhwcmVzc2lvbj4gPSAoXG4gIGNhbGw6IFBcbikgPT4gQVNUdjIuRnJlZVZhclJlc29sdXRpb24gfCBudWxsO1xuXG4vLyBVVElMSVRJRVNcblxuLyoqXG4gKiBBIGNhbGwgbm9kZSBoYXMgYSBzaW1wbGUgY2FsbGVlIGlmIGl0cyBoZWFkIGlzOlxuICpcbiAqIC0gYSBgUGF0aEV4cHJlc3Npb25gXG4gKiAtIHRoZSBgUGF0aEV4cHJlc3Npb25gJ3MgaGVhZCBpcyBhIGBWYXJIZWFkYFxuICogLSBpdCBoYXMgbm8gdGFpbFxuICpcbiAqIFNpbXBsZSBoZWFkczpcbiAqXG4gKiBgYGBcbiAqIHt7eH19XG4gKiB7e3ggeX19XG4gKiBgYGBcbiAqXG4gKiBOb3Qgc2ltcGxlIGhlYWRzOlxuICpcbiAqIGBgYFxuICoge3t4Lnl9fVxuICoge3t4Lnkgen19XG4gKiB7e0B4fX1cbiAqIHt7QHggYX19XG4gKiB7e3RoaXN9fVxuICoge3t0aGlzIGF9fVxuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzU2ltcGxlQ2FsbGVlKG5vZGU6IEFzdENhbGxQYXJ0cyk6IGJvb2xlYW4ge1xuICBsZXQgcGF0aCA9IG5vZGUucGF0aDtcblxuICByZXR1cm4gaXNTaW1wbGVQYXRoKHBhdGgpO1xufVxuXG5mdW5jdGlvbiBpc1NpbXBsZVBhdGgobm9kZTogQVNUdjEuRXhwcmVzc2lvbik6IGJvb2xlYW4ge1xuICBpZiAobm9kZS50eXBlID09PSAnUGF0aEV4cHJlc3Npb24nICYmIG5vZGUuaGVhZC50eXBlID09PSAnVmFySGVhZCcpIHtcbiAgICByZXR1cm4gbm9kZS50YWlsLmxlbmd0aCA9PT0gMDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgY2FsbCBleHByZXNzaW9uIGhhcyBhdCBsZWFzdCBvbmUgYXJndW1lbnQuXG4gKi9cbmZ1bmN0aW9uIGlzSW52b2tlTm9kZShub2RlOiBBc3RDYWxsUGFydHMpOiBib29sZWFuIHtcbiAgcmV0dXJuIG5vZGUucGFyYW1zLmxlbmd0aCA+IDAgfHwgbm9kZS5oYXNoLnBhaXJzLmxlbmd0aCA+IDA7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjItYS9sb29zZS1yZXNvbHV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxLQUFaLE1BQXVCLE9BQXZCO0FBWUEsT0FBTSxTQUFVLGlCQUFWLENBQTRCLElBQTVCLEVBQXFEO0FBQ3pELE1BQUksY0FBYyxDQUFDLElBQUQsQ0FBbEIsRUFBMEI7QUFDeEIsV0FBTyxLQUFLLENBQUMsbUJBQU4sQ0FBMEIsVUFBMUIsQ0FBb0M7QUFBQTtBQUFwQyxLQUFQO0FBQ0QsR0FGRCxNQUVPO0FBQ0wsV0FBTyxJQUFQO0FBQ0Q7QUFDRjtBQUVELE9BQU0sU0FBVSxxQkFBVixDQUNKLElBREksRUFDZ0M7QUFFcEMsTUFBSSxjQUFjLENBQUMsSUFBRCxDQUFsQixFQUEwQjtBQUN4QixXQUFPLEtBQUssQ0FBQyxtQkFBTixDQUEwQixVQUExQixDQUFvQztBQUFBO0FBQXBDLEtBQVA7QUFDRCxHQUZELE1BRU87QUFDTCxXQUFPLElBQVA7QUFDRDtBQUNGO0FBRUQsT0FBTSxTQUFVLGtCQUFWLENBQTZCLElBQTdCLEVBQXVEO0FBQzNELE1BQUksY0FBYyxDQUFDLElBQUQsQ0FBbEIsRUFBMEI7QUFDeEIsV0FBTyxLQUFLLENBQUMsbUJBQU4sQ0FBMEIsVUFBMUIsQ0FBb0M7QUFBQTtBQUFwQyxLQUFQO0FBQ0QsR0FGRCxNQUVPO0FBQ0wsV0FBTyxLQUFLLENBQUMsbUJBQU4sQ0FBMEIsUUFBMUIsRUFBUDtBQUNEO0FBQ0Y7QUFFRCxPQUFNLFNBQVUsc0JBQVYsQ0FBaUMsSUFBakMsRUFBMkQ7QUFDL0QsTUFBSSxZQUFZLENBQUMsSUFBRCxDQUFoQixFQUF3QjtBQUN0QixXQUFPLEtBQUssQ0FBQyxtQkFBTixDQUEwQixVQUExQixDQUFvQztBQUFBO0FBQXBDLE1BQXVFLElBQXZFLENBQVA7QUFDRCxHQUZELE1BRU87QUFDTCxXQUFPLElBQVA7QUFDRDtBQUNGO0FBRUQ7Ozs7O0FBSUEsT0FBTSxTQUFVLHNCQUFWLENBQWlDLElBQWpDLEVBQThEO0FBQ2xFLE1BQUksUUFBUSxHQUFHLGNBQWMsQ0FBQyxJQUFELENBQTdCO0FBQ0EsTUFBSSxRQUFRLEdBQUcsWUFBWSxDQUFDLElBQUQsQ0FBM0I7O0FBRUEsTUFBSSxRQUFKLEVBQWM7QUFDWixXQUFPLFFBQVEsR0FDWCxLQUFLLENBQUMsbUJBQU4sQ0FBMEIsVUFBMUIsQ0FBb0M7QUFBQTtBQUFwQyxLQURXLEdBRVgsS0FBSyxDQUFDLG1CQUFOLENBQTBCLElBQTFCLEVBRko7QUFHRCxHQUpELE1BSU87QUFDTCxXQUFPLFFBQVEsR0FBRyxLQUFLLENBQUMsaUJBQVQsR0FBNkIsS0FBSyxDQUFDLG1CQUFOLENBQTBCLFFBQTFCLEVBQTVDO0FBQ0Q7QUFDRjtBQUVEOzs7OztBQUlBLE9BQU0sU0FBVSxtQkFBVixDQUE4QixJQUE5QixFQUEyRDtBQUMvRCxNQUFJLFFBQVEsR0FBRyxjQUFjLENBQUMsSUFBRCxDQUE3QjtBQUNBLE1BQUksUUFBUSxHQUFHLFlBQVksQ0FBQyxJQUFELENBQTNCO0FBQ0EsTUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQXBCOztBQUVBLE1BQUksUUFBSixFQUFjO0FBQ1osV0FBTyxRQUFRLEdBQ1gsS0FBSyxDQUFDLG1CQUFOLENBQTBCLGNBQTFCLENBQXlDO0FBQUUsTUFBQSxNQUFNLEVBQUU7QUFBVixLQUF6QyxDQURXLEdBRVgsS0FBSyxDQUFDLG1CQUFOLENBQTBCLE1BQTFCLENBQWlDO0FBQUUsTUFBQSxNQUFNLEVBQUU7QUFBVixLQUFqQyxDQUZKO0FBR0QsR0FKRCxNQUlPO0FBQ0wsV0FBTyxLQUFLLENBQUMsbUJBQU4sQ0FBMEIsUUFBMUIsRUFBUDtBQUNEO0FBQ0YsQyxDQU1EOztBQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXlCQSxTQUFTLGNBQVQsQ0FBd0IsSUFBeEIsRUFBMEM7QUFDeEMsTUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQWhCO0FBRUEsU0FBTyxZQUFZLENBQUMsSUFBRCxDQUFuQjtBQUNEOztBQUVELFNBQVMsWUFBVCxDQUFzQixJQUF0QixFQUE0QztBQUMxQyxNQUFJLElBQUksQ0FBQyxJQUFMLEtBQWMsZ0JBQWQsSUFBa0MsSUFBSSxDQUFDLElBQUwsQ0FBVSxJQUFWLEtBQW1CLFNBQXpELEVBQW9FO0FBQ2xFLFdBQU8sSUFBSSxDQUFDLElBQUwsQ0FBVSxNQUFWLEtBQXFCLENBQTVCO0FBQ0QsR0FGRCxNQUVPO0FBQ0wsV0FBTyxLQUFQO0FBQ0Q7QUFDRjtBQUVEOzs7OztBQUdBLFNBQVMsWUFBVCxDQUFzQixJQUF0QixFQUF3QztBQUN0QyxTQUFPLElBQUksQ0FBQyxNQUFMLENBQVksTUFBWixHQUFxQixDQUFyQixJQUEwQixJQUFJLENBQUMsSUFBTCxDQUFVLEtBQVYsQ0FBZ0IsTUFBaEIsR0FBeUIsQ0FBMUQ7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEFTVHYxIGZyb20gJy4uL3YxL2FwaSc7XG5pbXBvcnQgKiBhcyBBU1R2MiBmcm9tICcuL2FwaSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXN0Q2FsbFBhcnRzIHtcbiAgcGF0aDogQVNUdjEuRXhwcmVzc2lvbjtcbiAgcGFyYW1zOiBBU1R2MS5FeHByZXNzaW9uW107XG4gIGhhc2g6IEFTVHYxLkhhc2g7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFyUGF0aCBleHRlbmRzIEFTVHYxLlBhdGhFeHByZXNzaW9uIHtcbiAgaGVhZDogQVNUdjEuVmFySGVhZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFNleHBTeW50YXhDb250ZXh0KG5vZGU6IEFTVHYxLlN1YkV4cHJlc3Npb24pOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbiB8IG51bGwge1xuICBpZiAoaXNTaW1wbGVDYWxsZWUobm9kZSkpIHtcbiAgICByZXR1cm4gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5uYW1lc3BhY2VkKEFTVHYyLkZyZWVWYXJOYW1lc3BhY2UuSGVscGVyKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gTW9kaWZpZXJTeW50YXhDb250ZXh0KFxuICBub2RlOiBBU1R2MS5FbGVtZW50TW9kaWZpZXJTdGF0ZW1lbnRcbik6IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uIHwgbnVsbCB7XG4gIGlmIChpc1NpbXBsZUNhbGxlZShub2RlKSkge1xuICAgIHJldHVybiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLm5hbWVzcGFjZWQoQVNUdjIuRnJlZVZhck5hbWVzcGFjZS5Nb2RpZmllcik7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEJsb2NrU3ludGF4Q29udGV4dChub2RlOiBBU1R2MS5CbG9ja1N0YXRlbWVudCk6IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uIHwgbnVsbCB7XG4gIGlmIChpc1NpbXBsZUNhbGxlZShub2RlKSkge1xuICAgIHJldHVybiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLm5hbWVzcGFjZWQoQVNUdjIuRnJlZVZhck5hbWVzcGFjZS5Db21wb25lbnQpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLmZhbGxiYWNrKCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENvbXBvbmVudFN5bnRheENvbnRleHQobm9kZTogQVNUdjEuUGF0aEV4cHJlc3Npb24pOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbiB8IG51bGwge1xuICBpZiAoaXNTaW1wbGVQYXRoKG5vZGUpKSB7XG4gICAgcmV0dXJuIEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24ubmFtZXNwYWNlZChBU1R2Mi5GcmVlVmFyTmFtZXNwYWNlLkNvbXBvbmVudCwgdHJ1ZSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGNvcnJlc3BvbmRzIHRvIGFwcGVuZCBwb3NpdGlvbnMgKHRleHQgY3VybGllcyBvciBhdHRyaWJ1dGVcbiAqIGN1cmxpZXMpLiBJbiBzdHJpY3QgbW9kZSwgdGhpcyBhbHNvIGNvcnJlc3BvbmRzIHRvIGFyZyBjdXJsaWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQXR0clZhbHVlU3ludGF4Q29udGV4dChub2RlOiBBU1R2MS5NdXN0YWNoZVN0YXRlbWVudCk6IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uIHtcbiAgbGV0IGlzU2ltcGxlID0gaXNTaW1wbGVDYWxsZWUobm9kZSk7XG4gIGxldCBpc0ludm9rZSA9IGlzSW52b2tlTm9kZShub2RlKTtcblxuICBpZiAoaXNTaW1wbGUpIHtcbiAgICByZXR1cm4gaXNJbnZva2VcbiAgICAgID8gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5uYW1lc3BhY2VkKEFTVHYyLkZyZWVWYXJOYW1lc3BhY2UuSGVscGVyKVxuICAgICAgOiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLmF0dHIoKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gaXNJbnZva2UgPyBBU1R2Mi5TVFJJQ1RfUkVTT0xVVElPTiA6IEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24uZmFsbGJhY2soKTtcbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgY29ycmVzcG9uZHMgdG8gYXBwZW5kIHBvc2l0aW9ucyAodGV4dCBjdXJsaWVzIG9yIGF0dHJpYnV0ZVxuICogY3VybGllcykuIEluIHN0cmljdCBtb2RlLCB0aGlzIGFsc28gY29ycmVzcG9uZHMgdG8gYXJnIGN1cmxpZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBBcHBlbmRTeW50YXhDb250ZXh0KG5vZGU6IEFTVHYxLk11c3RhY2hlU3RhdGVtZW50KTogQVNUdjIuRnJlZVZhclJlc29sdXRpb24ge1xuICBsZXQgaXNTaW1wbGUgPSBpc1NpbXBsZUNhbGxlZShub2RlKTtcbiAgbGV0IGlzSW52b2tlID0gaXNJbnZva2VOb2RlKG5vZGUpO1xuICBsZXQgdHJ1c3RpbmcgPSBub2RlLnRydXN0aW5nO1xuXG4gIGlmIChpc1NpbXBsZSkge1xuICAgIHJldHVybiB0cnVzdGluZ1xuICAgICAgPyBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLnRydXN0aW5nQXBwZW5kKHsgaW52b2tlOiBpc0ludm9rZSB9KVxuICAgICAgOiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLmFwcGVuZCh7IGludm9rZTogaXNJbnZva2UgfSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24uZmFsbGJhY2soKTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBSZXNvbHV0aW9uPFAgZXh0ZW5kcyBBc3RDYWxsUGFydHMgfCBBU1R2MS5QYXRoRXhwcmVzc2lvbj4gPSAoXG4gIGNhbGw6IFBcbikgPT4gQVNUdjIuRnJlZVZhclJlc29sdXRpb24gfCBudWxsO1xuXG4vLyBVVElMSVRJRVNcblxuLyoqXG4gKiBBIGNhbGwgbm9kZSBoYXMgYSBzaW1wbGUgY2FsbGVlIGlmIGl0cyBoZWFkIGlzOlxuICpcbiAqIC0gYSBgUGF0aEV4cHJlc3Npb25gXG4gKiAtIHRoZSBgUGF0aEV4cHJlc3Npb25gJ3MgaGVhZCBpcyBhIGBWYXJIZWFkYFxuICogLSBpdCBoYXMgbm8gdGFpbFxuICpcbiAqIFNpbXBsZSBoZWFkczpcbiAqXG4gKiBgYGBcbiAqIHt7eH19XG4gKiB7e3ggeX19XG4gKiBgYGBcbiAqXG4gKiBOb3Qgc2ltcGxlIGhlYWRzOlxuICpcbiAqIGBgYFxuICoge3t4Lnl9fVxuICoge3t4Lnkgen19XG4gKiB7e0B4fX1cbiAqIHt7QHggYX19XG4gKiB7e3RoaXN9fVxuICoge3t0aGlzIGF9fVxuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzU2ltcGxlQ2FsbGVlKG5vZGU6IEFzdENhbGxQYXJ0cyk6IGJvb2xlYW4ge1xuICBsZXQgcGF0aCA9IG5vZGUucGF0aDtcblxuICByZXR1cm4gaXNTaW1wbGVQYXRoKHBhdGgpO1xufVxuXG5mdW5jdGlvbiBpc1NpbXBsZVBhdGgobm9kZTogQVNUdjEuRXhwcmVzc2lvbik6IGJvb2xlYW4ge1xuICBpZiAobm9kZS50eXBlID09PSAnUGF0aEV4cHJlc3Npb24nICYmIG5vZGUuaGVhZC50eXBlID09PSAnVmFySGVhZCcpIHtcbiAgICByZXR1cm4gbm9kZS50YWlsLmxlbmd0aCA9PT0gMDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgY2FsbCBleHByZXNzaW9uIGhhcyBhdCBsZWFzdCBvbmUgYXJndW1lbnQuXG4gKi9cbmZ1bmN0aW9uIGlzSW52b2tlTm9kZShub2RlOiBBc3RDYWxsUGFydHMpOiBib29sZWFuIHtcbiAgcmV0dXJuIG5vZGUucGFyYW1zLmxlbmd0aCA+IDAgfHwgbm9kZS5oYXNoLnBhaXJzLmxlbmd0aCA+IDA7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9

@@ -16,2 +16,6 @@ /**

export class StrictResolution {
constructor() {
this.isAngleBracket = false;
}
resolution() {

@@ -40,4 +44,5 @@ return 31

export class LooseModeResolution {
constructor(ambiguity) {
constructor(ambiguity, isAngleBracket = false) {
this.ambiguity = ambiguity;
this.isAngleBracket = isAngleBracket;
}

@@ -56,7 +61,7 @@ /**

static namespaced(namespace) {
static namespaced(namespace, isAngleBracket = false) {
return new LooseModeResolution({
namespaces: [namespace],
fallback: false
});
}, isAngleBracket);
}

@@ -283,2 +288,2 @@ /**

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjItYS9vYmplY3RzL3Jlc29sdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0FBVUE7Ozs7OztBQU1BLE9BQU0sTUFBTyxnQkFBUCxDQUF1QjtBQUMzQixFQUFBLFVBQVUsR0FBQTtBQUNSLFdBQUE7QUFBQTtBQUFBO0FBQ0Q7O0FBRUQsRUFBQSxTQUFTLEdBQUE7QUFDUCxXQUFPLFFBQVA7QUFDRDs7QUFQMEI7QUFVN0IsT0FBTyxNQUFNLGlCQUFpQixHQUFHLElBQUksZ0JBQUosRUFBMUI7QUFFUDs7Ozs7Ozs7OztBQVNBLE9BQU0sTUFBTyxtQkFBUCxDQUEwQjtBQXFHOUIsRUFBQSxXQUFBLENBQXFCLFNBQXJCLEVBQXlDO0FBQXBCLFNBQUEsU0FBQSxHQUFBLFNBQUE7QUFBd0I7QUFwRzdDOzs7Ozs7Ozs7Ozs7QUFVQSxTQUFPLFVBQVAsQ0FBa0IsU0FBbEIsRUFBNkM7QUFDM0MsV0FBTyxJQUFJLG1CQUFKLENBQXdCO0FBQzdCLE1BQUEsVUFBVSxFQUFFLENBQUMsU0FBRCxDQURpQjtBQUU3QixNQUFBLFFBQVEsRUFBRTtBQUZtQixLQUF4QixDQUFQO0FBSUQ7QUFFRDs7Ozs7Ozs7Ozs7O0FBVUEsU0FBTyxRQUFQLEdBQWU7QUFDYixXQUFPLElBQUksbUJBQUosQ0FBd0I7QUFBRSxNQUFBLFVBQVUsRUFBRSxFQUFkO0FBQWtCLE1BQUEsUUFBUSxFQUFFO0FBQTVCLEtBQXhCLENBQVA7QUFDRDtBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQkEsU0FBTyxNQUFQLENBQWM7QUFBRSxJQUFBO0FBQUYsR0FBZCxFQUE2QztBQUMzQyxXQUFPLElBQUksbUJBQUosQ0FBd0I7QUFDN0IsTUFBQSxVQUFVLEVBQUUsQ0FBQTtBQUFBO0FBQUEsUUFBQTtBQUFBO0FBQUEsT0FEaUI7QUFFN0IsTUFBQSxRQUFRLEVBQUUsQ0FBQztBQUZrQixL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RSxZQUFBLE1BQU0sRUFBRTtBQUFWLFdBQTNCLENBQVA7O0FBQ0YsYUFBQTtBQUFBO0FBQUE7QUFDRSxpQkFBTyxtQkFBbUIsQ0FBQyxJQUFwQixFQUFQOztBQUNGLGFBQUE7QUFBQTtBQUFBO0FBQ0UsaUJBQU8sbUJBQW1CLENBQUMsTUFBcEIsQ0FBMkI7QUFBRSxZQUFBLE1BQU0sRUFBRTtBQUFWLFdBQTNCLENBQVA7QUFOSjs7QUFTRixTQUFLLElBQUw7QUFDRSxhQUFPLG1CQUFtQixDQUFDLFVBQXBCLENBQStCLFVBQVUsQ0FBQyxDQUFELENBQXpDLENBQVA7QUFaSjtBQWNEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBIGZyZWUgdmFyaWFibGUgaXMgcmVzb2x2ZWQgYWNjb3JkaW5nIHRvIGEgcmVzb2x1dGlvbiBydWxlOlxuICpcbiAqIDEuIFN0cmljdCByZXNvbHV0aW9uXG4gKiAyLiBOYW1lc3BhY2VkIHJlc29sdXRpb25cbiAqIDMuIEZhbGxiYWNrIHJlc29sdXRpb25cbiAqL1xuXG5pbXBvcnQgeyBHZXRDb250ZXh0dWFsRnJlZU9wLCBTZXhwT3Bjb2RlcyB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIFN0cmljdCByZXNvbHV0aW9uIGlzIHVzZWQ6XG4gKlxuICogMS4gaW4gYSBzdHJpY3QgbW9kZSB0ZW1wbGF0ZVxuICogMi4gaW4gYW4gdW5hbWJpZ3VvdXMgaW52b2NhdGlvbiB3aXRoIGRvdCBwYXRoc1xuICovXG5leHBvcnQgY2xhc3MgU3RyaWN0UmVzb2x1dGlvbiB7XG4gIHJlc29sdXRpb24oKTogR2V0Q29udGV4dHVhbEZyZWVPcCB7XG4gICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldFN0cmljdEZyZWU7XG4gIH1cblxuICBzZXJpYWxpemUoKTogU2VyaWFsaXplZFJlc29sdXRpb24ge1xuICAgIHJldHVybiAnU3RyaWN0JztcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgU1RSSUNUX1JFU09MVVRJT04gPSBuZXcgU3RyaWN0UmVzb2x1dGlvbigpO1xuXG4vKipcbiAqIEEgYExvb3NlTW9kZVJlc29sdXRpb25gIGluY2x1ZGVzOlxuICpcbiAqIC0gMCBvciBtb3JlIG5hbWVzcGFjZXMgdG8gcmVzb2x2ZSB0aGUgdmFyaWFibGUgaW5cbiAqIC0gb3B0aW9uYWwgZmFsbGJhY2sgYmVoYXZpb3JcbiAqXG4gKiBJbiBwcmFjdGljZSwgdGhlcmUgYXJlIGEgbGltaXRlZCBudW1iZXIgb2YgcG9zc2libGUgY29tYmluYXRpb25zIG9mIHRoZXNlIGRlZ3JlZXMgb2YgZnJlZWRvbSxcbiAqIGFuZCB0aGV5IGFyZSBjYXB0dXJlZCBieSB0aGUgYEFtYmlndWl0eWAgdW5pb24gYmVsb3cuXG4gKi9cbmV4cG9ydCBjbGFzcyBMb29zZU1vZGVSZXNvbHV0aW9uIHtcbiAgLyoqXG4gICAqIE5hbWVzcGFjZWQgcmVzb2x1dGlvbiBpcyB1c2VkIGluIGFuIHVuYW1iaWd1b3VzIHN5bnRheCBwb3NpdGlvbjpcbiAgICpcbiAgICogMS4gYChzZXhwKWAgKG5hbWVzcGFjZTogYEhlbHBlcmApXG4gICAqIDIuIGB7eyNibG9ja319YCAobmFtZXNwYWNlOiBgQ29tcG9uZW50YClcbiAgICogMy4gYDxhIHt7bW9kaWZpZXJ9fT5gIChuYW1lc3BhY2U6IGBNb2RpZmllcmApXG4gICAqIDQuIGA8Q29tcG9uZW50IC8+YCAobmFtZXNwYWNlOiBgQ29tcG9uZW50YClcbiAgICpcbiAgICogQHNlZSB7TmFtZXNwYWNlZEFtYmlndWl0eX1cbiAgICovXG4gIHN0YXRpYyBuYW1lc3BhY2VkKG5hbWVzcGFjZTogRnJlZVZhck5hbWVzcGFjZSk6IExvb3NlTW9kZVJlc29sdXRpb24ge1xuICAgIHJldHVybiBuZXcgTG9vc2VNb2RlUmVzb2x1dGlvbih7XG4gICAgICBuYW1lc3BhY2VzOiBbbmFtZXNwYWNlXSxcbiAgICAgIGZhbGxiYWNrOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGYWxsYmFjayByZXNvbHV0aW9uIGlzIHVzZWQgd2hlbiBubyBuYW1lc3BhY2VkIHJlc29sdXRpb25zIGFyZSBwb3NzaWJsZSwgYnV0IGZhbGxiYWNrXG4gICAqIHJlc29sdXRpb24gaXMgc3RpbGwgYWxsb3dlZC5cbiAgICpcbiAgICogYGBgaGJzXG4gICAqIHt7eC55fX1cbiAgICogYGBgXG4gICAqXG4gICAqIEBzZWUge0ZhbGxiYWNrQW1iaWd1aXR5fVxuICAgKi9cbiAgc3RhdGljIGZhbGxiYWNrKCk6IExvb3NlTW9kZVJlc29sdXRpb24ge1xuICAgIHJldHVybiBuZXcgTG9vc2VNb2RlUmVzb2x1dGlvbih7IG5hbWVzcGFjZXM6IFtdLCBmYWxsYmFjazogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBlbmQgcmVzb2x1dGlvbiBpcyB1c2VkIHdoZW4gdGhlIHZhcmlhYmxlIHNob3VsZCBiZSByZXNvbHZlZCBpbiBib3RoIHRoZSBgY29tcG9uZW50YCBhbmRcbiAgICogYGhlbHBlcmAgbmFtZXNwYWNlcy4gRmFsbGJhY2sgcmVzb2x1dGlvbiBpcyBvcHRpb25hbC5cbiAgICpcbiAgICogYGBgaGJzXG4gICAqIHt7eH19XG4gICAqIGBgYFxuICAgKlxuICAgKiBeIGB4YCBzaG91bGQgYmUgcmVzb2x2ZWQgaW4gdGhlIGBjb21wb25lbnRgIGFuZCBgaGVscGVyYCBuYW1lc3BhY2VzIHdpdGggZmFsbGJhY2sgcmVzb2x1dGlvbi5cbiAgICpcbiAgICogYGBgaGJzXG4gICAqIHt7eCB5fX1cbiAgICogYGBgXG4gICAqXG4gICAqIF4gYHhgIHNob3VsZCBiZSByZXNvbHZlZCBpbiB0aGUgYGNvbXBvbmVudGAgYW5kIGBoZWxwZXJgIG5hbWVzcGFjZXMgd2l0aG91dCBmYWxsYmFja1xuICAgKiByZXNvbHV0aW9uLlxuICAgKlxuICAgKiBAc2VlIHtDb21wb25lbnRPckhlbHBlckFtYmlndWl0eX1cbiAgICovXG4gIHN0YXRpYyBhcHBlbmQoeyBpbnZva2UgfTogeyBpbnZva2U6IGJvb2xlYW4gfSk6IExvb3NlTW9kZVJlc29sdXRpb24ge1xuICAgIHJldHVybiBuZXcgTG9vc2VNb2RlUmVzb2x1dGlvbih7XG4gICAgICBuYW1lc3BhY2VzOiBbRnJlZVZhck5hbWVzcGFjZS5Db21wb25lbnQsIEZyZWVWYXJOYW1lc3BhY2UuSGVscGVyXSxcbiAgICAgIGZhbGxiYWNrOiAhaW52b2tlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRydXN0aW5nIGFwcGVuZCByZXNvbHV0aW9uIGlzIHVzZWQgd2hlbiB0aGUgdmFyaWFibGUgc2hvdWxkIGJlIHJlc29sdmVkIGluIGJvdGggdGhlIGBjb21wb25lbnRgIGFuZFxuICAgKiBgaGVscGVyYCBuYW1lc3BhY2VzLiBGYWxsYmFjayByZXNvbHV0aW9uIGlzIG9wdGlvbmFsLlxuICAgKlxuICAgKiBgYGBoYnNcbiAgICoge3t7eH19fVxuICAgKiBgYGBcbiAgICpcbiAgICogXiBgeGAgc2hvdWxkIGJlIHJlc29sdmVkIGluIHRoZSBgY29tcG9uZW50YCBhbmQgYGhlbHBlcmAgbmFtZXNwYWNlcyB3aXRoIGZhbGxiYWNrIHJlc29sdXRpb24uXG4gICAqXG4gICAqIGBgYGhic1xuICAgKiB7e3t4IHl9fX1cbiAgICogYGBgXG4gICAqXG4gICAqIF4gYHhgIHNob3VsZCBiZSByZXNvbHZlZCBpbiB0aGUgYGNvbXBvbmVudGAgYW5kIGBoZWxwZXJgIG5hbWVzcGFjZXMgd2l0aG91dCBmYWxsYmFja1xuICAgKiByZXNvbHV0aW9uLlxuICAgKlxuICAgKiBAc2VlIHtIZWxwZXJBbWJpZ3VpdHl9XG4gICAqL1xuICBzdGF0aWMgdHJ1c3RpbmdBcHBlbmQoeyBpbnZva2UgfTogeyBpbnZva2U6IGJvb2xlYW4gfSk6IExvb3NlTW9kZVJlc29sdXRpb24ge1xuICAgIHJldHVybiBuZXcgTG9vc2VNb2RlUmVzb2x1dGlvbih7XG4gICAgICBuYW1lc3BhY2VzOiBbRnJlZVZhck5hbWVzcGFjZS5IZWxwZXJdLFxuICAgICAgZmFsbGJhY2s6ICFpbnZva2UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXR0cmlidXRlIHJlc29sdXRpb24gaXMgdXNlZCB3aGVuIHRoZSB2YXJpYWJsZSBzaG91bGQgYmUgcmVzb2x2ZWQgYXMgYSBgaGVscGVyYCB3aXRoIGZhbGxiYWNrXG4gICAqIHJlc29sdXRpb24uXG4gICAqXG4gICAqIGBgYGhic1xuICAgKiA8YSBocmVmPXt7eH19IC8+XG4gICAqIDxhIGhyZWY9XCJ7e3h9fS5odG1sXCIgLz5cbiAgICogYGBgXG4gICAqXG4gICAqIF4gcmVzb2x2ZWQgaW4gdGhlIGBoZWxwZXJgIG5hbWVzcGFjZSB3aXRoIGZhbGxiYWNrXG4gICAqXG4gICAqIEBzZWUge0hlbHBlckFtYmlndWl0eX1cbiAgICovXG4gIHN0YXRpYyBhdHRyKCk6IExvb3NlTW9kZVJlc29sdXRpb24ge1xuICAgIHJldHVybiBuZXcgTG9vc2VNb2RlUmVzb2x1dGlvbih7IG5hbWVzcGFjZXM6IFtGcmVlVmFyTmFtZXNwYWNlLkhlbHBlcl0sIGZhbGxiYWNrOiB0cnVlIH0pO1xuICB9XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgYW1iaWd1aXR5OiBBbWJpZ3VpdHkpIHt9XG5cbiAgcmVzb2x1dGlvbigpOiBHZXRDb250ZXh0dWFsRnJlZU9wIHtcbiAgICBpZiAodGhpcy5hbWJpZ3VpdHkubmFtZXNwYWNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNGYWxsYmFjaztcbiAgICB9IGVsc2UgaWYgKHRoaXMuYW1iaWd1aXR5Lm5hbWVzcGFjZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICBpZiAodGhpcy5hbWJpZ3VpdHkuZmFsbGJhY2spIHtcbiAgICAgICAgLy8gc2ltcGxlIG5hbWVzcGFjZWQgcmVzb2x1dGlvbiB3aXRoIGZhbGxiYWNrIG11c3QgYmUgYXR0cj17e3h9fVxuICAgICAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0RnJlZUFzSGVscGVySGVhZE9yVGhpc0ZhbGxiYWNrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gc2ltcGxlIG5hbWVzcGFjZWQgcmVzb2x1dGlvbiB3aXRob3V0IGZhbGxiYWNrXG4gICAgICAgIHN3aXRjaCAodGhpcy5hbWJpZ3VpdHkubmFtZXNwYWNlc1swXSkge1xuICAgICAgICAgIGNhc2UgRnJlZVZhck5hbWVzcGFjZS5IZWxwZXI6XG4gICAgICAgICAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0RnJlZUFzSGVscGVySGVhZDtcbiAgICAgICAgICBjYXNlIEZyZWVWYXJOYW1lc3BhY2UuTW9kaWZpZXI6XG4gICAgICAgICAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0RnJlZUFzTW9kaWZpZXJIZWFkO1xuICAgICAgICAgIGNhc2UgRnJlZVZhck5hbWVzcGFjZS5Db21wb25lbnQ6XG4gICAgICAgICAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0RnJlZUFzQ29tcG9uZW50SGVhZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5hbWJpZ3VpdHkuZmFsbGJhY2spIHtcbiAgICAgIC8vIGNvbXBvbmVudCBvciBoZWxwZXIgKyBmYWxsYmFjayAoe3tzb21ldGhpbmd9fSlcbiAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNDb21wb25lbnRPckhlbHBlckhlYWRPclRoaXNGYWxsYmFjaztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY29tcG9uZW50IG9yIGhlbHBlciB3aXRob3V0IGZhbGxiYWNrICh7e3NvbWV0aGluZyBzb21ldGhpbmd9fSlcbiAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNDb21wb25lbnRPckhlbHBlckhlYWQ7XG4gICAgfVxuICB9XG5cbiAgc2VyaWFsaXplKCk6IFNlcmlhbGl6ZWRSZXNvbHV0aW9uIHtcbiAgICBpZiAodGhpcy5hbWJpZ3VpdHkubmFtZXNwYWNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAnTG9vc2UnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hbWJpZ3VpdHkubmFtZXNwYWNlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGlmICh0aGlzLmFtYmlndWl0eS5mYWxsYmFjaykge1xuICAgICAgICAvLyBzaW1wbGUgbmFtZXNwYWNlZCByZXNvbHV0aW9uIHdpdGggZmFsbGJhY2sgbXVzdCBiZSBhdHRyPXt7eH19XG4gICAgICAgIHJldHVybiBbJ2FtYmlndW91cycsIFNlcmlhbGl6ZWRBbWJpZ3VpdHkuQXR0cl07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gWyducycsIHRoaXMuYW1iaWd1aXR5Lm5hbWVzcGFjZXNbMF1dO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5hbWJpZ3VpdHkuZmFsbGJhY2spIHtcbiAgICAgIC8vIGNvbXBvbmVudCBvciBoZWxwZXIgKyBmYWxsYmFjayAoe3tzb21ldGhpbmd9fSlcbiAgICAgIHJldHVybiBbJ2FtYmlndW91cycsIFNlcmlhbGl6ZWRBbWJpZ3VpdHkuQXBwZW5kXTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY29tcG9uZW50IG9yIGhlbHBlciB3aXRob3V0IGZhbGxiYWNrICh7e3NvbWV0aGluZyBzb21ldGhpbmd9fSlcbiAgICAgIHJldHVybiBbJ2FtYmlndW91cycsIFNlcmlhbGl6ZWRBbWJpZ3VpdHkuSW52b2tlXTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFSR1VNRU5UX1JFU09MVVRJT04gPSBMb29zZU1vZGVSZXNvbHV0aW9uLmZhbGxiYWNrKCk7XG5cbmV4cG9ydCBjb25zdCBlbnVtIEZyZWVWYXJOYW1lc3BhY2Uge1xuICBIZWxwZXIgPSAnSGVscGVyJyxcbiAgTW9kaWZpZXIgPSAnTW9kaWZpZXInLFxuICBDb21wb25lbnQgPSAnQ29tcG9uZW50Jyxcbn1cblxuLyoqXG4gKiBBIGBDb21wb25lbnRPckhlbHBlckFtYmlndWl0eWAgbWlnaHQgYmUgYSBjb21wb25lbnQgb3IgYSBoZWxwZXIsIHdpdGggYW4gb3B0aW9uYWwgZmFsbGJhY2tcbiAqXG4gKiBgYGBoYnNcbiAqIHt7eH19XG4gKiBgYGBcbiAqXG4gKiBeIGB4YCBpcyByZXNvbHZlZCBpbiB0aGUgYGNvbXBvbmVudGAgYW5kIGBoZWxwZXJgIG5hbWVzcGFjZXMsIHdpdGggZmFsbGJhY2tcbiAqXG4gKiBgYGBoYnNcbiAqIHt7eCB5fX1cbiAqIGBgYFxuICpcbiAqIF4gYHhgIGlzIHJlc29sdmVkIGluIHRoZSBgY29tcG9uZW50YCBhbmQgYGhlbHBlcmAgbmFtZXNwYWNlcywgd2l0aG91dCBmYWxsYmFja1xuICovXG50eXBlIENvbXBvbmVudE9ySGVscGVyQW1iaWd1aXR5ID0ge1xuICBuYW1lc3BhY2VzOiBbRnJlZVZhck5hbWVzcGFjZS5Db21wb25lbnQsIEZyZWVWYXJOYW1lc3BhY2UuSGVscGVyXTtcbiAgZmFsbGJhY2s6IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEEgYEhlbHBlckFtYmlndWl0eWAgbXVzdCBiZSBhIGhlbHBlciwgYnV0IGl0IGhhcyBmYWxsYmFjay4gSWYgaXQgZGlkbid0IGhhdmUgZmFsbGJhY2ssIGl0IHdvdWxkXG4gKiBiZSBhIGBOYW1lc3BhY2VkQW1iaWd1aXR5YC5cbiAqXG4gKiBgYGBoYnNcbiAqIDxhIGhyZWY9e3t4fX0gLz5cbiAqIDxhIGhyZWY9XCJ7e3h9fS5odG1sXCIgLz5cbiAqIGBgYFxuICpcbiAqIF4gYHhgIGlzIHJlc29sdmVkIGluIHRoZSBgaGVscGVyYCBuYW1lc3BhY2Ugd2l0aCBmYWxsYmFja1xuICovXG50eXBlIEhlbHBlckFtYmlndWl0eSA9IHsgbmFtZXNwYWNlczogW0ZyZWVWYXJOYW1lc3BhY2UuSGVscGVyXTsgZmFsbGJhY2s6IGJvb2xlYW4gfTtcblxuLyoqXG4gKiBBIGBOYW1lc3BhY2VkQW1iaWd1aXR5YCBtdXN0IGJlIHJlc29sdmVkIGluIGEgcGFydGljdWxhciBuYW1lc3BhY2UsIHdpdGhvdXQgZmFsbGJhY2suXG4gKlxuICogYGBgaGJzXG4gKiA8WCAvPlxuICogYGBgXG4gKlxuICogXiBgWGAgaXMgcmVzb2x2ZWQgaW4gdGhlIGBjb21wb25lbnRgIG5hbWVzcGFjZSB3aXRob3V0IGZhbGxiYWNrXG4gKlxuICogYGBgaGJzXG4gKiAoeClcbiAqIGBgYFxuICpcbiAqIF4gYHhgIGlzIHJlc29sdmVkIGluIHRoZSBgaGVscGVyYCBuYW1lc3BhY2Ugd2l0aG91dCBmYWxsYmFja1xuICpcbiAqIGBgYGhic1xuICogPGEge3t4fX0gLz5cbiAqIGBgYFxuICpcbiAqIF4gYHhgIGlzIHJlc29sdmVkIGluIHRoZSBgbW9kaWZpZXJgIG5hbWVzcGFjZSB3aXRob3V0IGZhbGxiYWNrXG4gKi9cbnR5cGUgTmFtZXNwYWNlZEFtYmlndWl0eSA9IHtcbiAgbmFtZXNwYWNlczogW0ZyZWVWYXJOYW1lc3BhY2UuQ29tcG9uZW50IHwgRnJlZVZhck5hbWVzcGFjZS5IZWxwZXIgfCBGcmVlVmFyTmFtZXNwYWNlLk1vZGlmaWVyXTtcbiAgZmFsbGJhY2s6IGZhbHNlO1xufTtcblxudHlwZSBGYWxsYmFja0FtYmlndWl0eSA9IHtcbiAgbmFtZXNwYWNlczogW107XG4gIGZhbGxiYWNrOiB0cnVlO1xufTtcblxudHlwZSBBbWJpZ3VpdHkgPVxuICB8IENvbXBvbmVudE9ySGVscGVyQW1iaWd1aXR5XG4gIHwgSGVscGVyQW1iaWd1aXR5XG4gIHwgTmFtZXNwYWNlZEFtYmlndWl0eVxuICB8IEZhbGxiYWNrQW1iaWd1aXR5O1xuXG5leHBvcnQgdHlwZSBGcmVlVmFyUmVzb2x1dGlvbiA9IFN0cmljdFJlc29sdXRpb24gfCBMb29zZU1vZGVSZXNvbHV0aW9uO1xuXG4vLyBTZXJpYWxpemF0aW9uXG5cbmNvbnN0IGVudW0gU2VyaWFsaXplZEFtYmlndWl0eSB7XG4gIC8vIHt7eH19XG4gIEFwcGVuZCA9ICdBcHBlbmQnLFxuICAvLyBocmVmPXt7eH19XG4gIEF0dHIgPSAnQXR0cicsXG4gIC8vIHt7eCB5fX0gKG5vdCBhdHRyKVxuICBJbnZva2UgPSAnSW52b2tlJyxcbn1cblxuZXhwb3J0IHR5cGUgU2VyaWFsaXplZFJlc29sdXRpb24gPVxuICB8ICdTdHJpY3QnXG4gIHwgJ0xvb3NlJ1xuICB8IFsnbnMnLCBGcmVlVmFyTmFtZXNwYWNlXVxuICB8IFsnYW1iaWd1b3VzJywgU2VyaWFsaXplZEFtYmlndWl0eV07XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkUmVzb2x1dGlvbihyZXNvbHV0aW9uOiBTZXJpYWxpemVkUmVzb2x1dGlvbik6IEZyZWVWYXJSZXNvbHV0aW9uIHtcbiAgaWYgKHR5cGVvZiByZXNvbHV0aW9uID09PSAnc3RyaW5nJykge1xuICAgIHN3aXRjaCAocmVzb2x1dGlvbikge1xuICAgICAgY2FzZSAnTG9vc2UnOlxuICAgICAgICByZXR1cm4gTG9vc2VNb2RlUmVzb2x1dGlvbi5mYWxsYmFjaygpO1xuICAgICAgY2FzZSAnU3RyaWN0JzpcbiAgICAgICAgcmV0dXJuIFNUUklDVF9SRVNPTFVUSU9OO1xuICAgIH1cbiAgfVxuXG4gIHN3aXRjaCAocmVzb2x1dGlvblswXSkge1xuICAgIGNhc2UgJ2FtYmlndW91cyc6XG4gICAgICBzd2l0Y2ggKHJlc29sdXRpb25bMV0pIHtcbiAgICAgICAgY2FzZSBTZXJpYWxpemVkQW1iaWd1aXR5LkFwcGVuZDpcbiAgICAgICAgICByZXR1cm4gTG9vc2VNb2RlUmVzb2x1dGlvbi5hcHBlbmQoeyBpbnZva2U6IGZhbHNlIH0pO1xuICAgICAgICBjYXNlIFNlcmlhbGl6ZWRBbWJpZ3VpdHkuQXR0cjpcbiAgICAgICAgICByZXR1cm4gTG9vc2VNb2RlUmVzb2x1dGlvbi5hdHRyKCk7XG4gICAgICAgIGNhc2UgU2VyaWFsaXplZEFtYmlndWl0eS5JbnZva2U6XG4gICAgICAgICAgcmV0dXJuIExvb3NlTW9kZVJlc29sdXRpb24uYXBwZW5kKHsgaW52b2tlOiB0cnVlIH0pO1xuICAgICAgfVxuXG4gICAgY2FzZSAnbnMnOlxuICAgICAgcmV0dXJuIExvb3NlTW9kZVJlc29sdXRpb24ubmFtZXNwYWNlZChyZXNvbHV0aW9uWzFdKTtcbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjItYS9vYmplY3RzL3Jlc29sdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0FBVUE7Ozs7OztBQU1BLE9BQU0sTUFBTyxnQkFBUCxDQUF1QjtBQUE3QixFQUFBLFdBQUEsR0FBQTtBQVNXLFNBQUEsY0FBQSxHQUFpQixLQUFqQjtBQUNWOztBQVRDLEVBQUEsVUFBVSxHQUFBO0FBQ1IsV0FBQTtBQUFBO0FBQUE7QUFDRDs7QUFFRCxFQUFBLFNBQVMsR0FBQTtBQUNQLFdBQU8sUUFBUDtBQUNEOztBQVAwQjtBQVk3QixPQUFPLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxnQkFBSixFQUExQjtBQUVQOzs7Ozs7Ozs7O0FBU0EsT0FBTSxNQUFPLG1CQUFQLENBQTBCO0FBd0c5QixFQUFBLFdBQUEsQ0FBcUIsU0FBckIsRUFBb0QsY0FBQSxHQUFpQixLQUFyRSxFQUEwRTtBQUFyRCxTQUFBLFNBQUEsR0FBQSxTQUFBO0FBQStCLFNBQUEsY0FBQSxHQUFBLGNBQUE7QUFBMEI7QUF2RzlFOzs7Ozs7Ozs7Ozs7QUFVQSxTQUFPLFVBQVAsQ0FBa0IsU0FBbEIsRUFBK0MsY0FBYyxHQUFHLEtBQWhFLEVBQXFFO0FBQ25FLFdBQU8sSUFBSSxtQkFBSixDQUNMO0FBQ0UsTUFBQSxVQUFVLEVBQUUsQ0FBQyxTQUFELENBRGQ7QUFFRSxNQUFBLFFBQVEsRUFBRTtBQUZaLEtBREssRUFLTCxjQUxLLENBQVA7QUFPRDtBQUVEOzs7Ozs7Ozs7Ozs7QUFVQSxTQUFPLFFBQVAsR0FBZTtBQUNiLFdBQU8sSUFBSSxtQkFBSixDQUF3QjtBQUFFLE1BQUEsVUFBVSxFQUFFLEVBQWQ7QUFBa0IsTUFBQSxRQUFRLEVBQUU7QUFBNUIsS0FBeEIsQ0FBUDtBQUNEO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW1CQSxTQUFPLE1BQVAsQ0FBYztBQUFFLElBQUE7QUFBRixH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QVEsVUFBVSxDQUFDLENBQUQsQ0FBbEI7QUFDRSxTQUFLLFdBQUw7QUFDRSxjQUFRLFVBQVUsQ0FBQyxDQUFELENBQWxCO0FBQ0UsYUFBQTtBQUFBO0FBQUE7QUFDRSxpQkFBTyxtQkFBbUIsQ0FBQyxNQUFwQixDQUEyQjtBQUFFLFlBQUEsTUFBTSxFQUFFO0FBQVYsV0FBM0IsQ0FBUDs7QUFDRixhQUFBO0FBQUE7QUFBQTtBQUNFLGlCQUFPLG1CQUFtQixDQUFDLElBQXBCLEVBQVA7O0FBQ0YsYUFBQTtBQUFBO0FBQUE7QUFDRSxpQkFBTyxtQkFBbUIsQ0FBQyxNQUFwQixDQUEyQjtBQUFFLFlBQUEsTUFBTSxFQUFFO0FBQVYsV0FBM0IsQ0FBUDtBQU5KOztBQVNGLFNBQUssSUFBTDtBQUNFLGFBQU8sbUJBQW1CLENBQUMsVUFBcEIsQ0FBK0IsVUFBVSxDQUFDLENBQUQsQ0FBekMsQ0FBUDtBQVpKO0FBY0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEEgZnJlZSB2YXJpYWJsZSBpcyByZXNvbHZlZCBhY2NvcmRpbmcgdG8gYSByZXNvbHV0aW9uIHJ1bGU6XG4gKlxuICogMS4gU3RyaWN0IHJlc29sdXRpb25cbiAqIDIuIE5hbWVzcGFjZWQgcmVzb2x1dGlvblxuICogMy4gRmFsbGJhY2sgcmVzb2x1dGlvblxuICovXG5cbmltcG9ydCB7IEdldENvbnRleHR1YWxGcmVlT3AsIFNleHBPcGNvZGVzIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogU3RyaWN0IHJlc29sdXRpb24gaXMgdXNlZDpcbiAqXG4gKiAxLiBpbiBhIHN0cmljdCBtb2RlIHRlbXBsYXRlXG4gKiAyLiBpbiBhbiB1bmFtYmlndW91cyBpbnZvY2F0aW9uIHdpdGggZG90IHBhdGhzXG4gKi9cbmV4cG9ydCBjbGFzcyBTdHJpY3RSZXNvbHV0aW9uIHtcbiAgcmVzb2x1dGlvbigpOiBHZXRDb250ZXh0dWFsRnJlZU9wIHtcbiAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0U3RyaWN0RnJlZTtcbiAgfVxuXG4gIHNlcmlhbGl6ZSgpOiBTZXJpYWxpemVkUmVzb2x1dGlvbiB7XG4gICAgcmV0dXJuICdTdHJpY3QnO1xuICB9XG5cbiAgcmVhZG9ubHkgaXNBbmdsZUJyYWNrZXQgPSBmYWxzZTtcbn1cblxuZXhwb3J0IGNvbnN0IFNUUklDVF9SRVNPTFVUSU9OID0gbmV3IFN0cmljdFJlc29sdXRpb24oKTtcblxuLyoqXG4gKiBBIGBMb29zZU1vZGVSZXNvbHV0aW9uYCBpbmNsdWRlczpcbiAqXG4gKiAtIDAgb3IgbW9yZSBuYW1lc3BhY2VzIHRvIHJlc29sdmUgdGhlIHZhcmlhYmxlIGluXG4gKiAtIG9wdGlvbmFsIGZhbGxiYWNrIGJlaGF2aW9yXG4gKlxuICogSW4gcHJhY3RpY2UsIHRoZXJlIGFyZSBhIGxpbWl0ZWQgbnVtYmVyIG9mIHBvc3NpYmxlIGNvbWJpbmF0aW9ucyBvZiB0aGVzZSBkZWdyZWVzIG9mIGZyZWVkb20sXG4gKiBhbmQgdGhleSBhcmUgY2FwdHVyZWQgYnkgdGhlIGBBbWJpZ3VpdHlgIHVuaW9uIGJlbG93LlxuICovXG5leHBvcnQgY2xhc3MgTG9vc2VNb2RlUmVzb2x1dGlvbiB7XG4gIC8qKlxuICAgKiBOYW1lc3BhY2VkIHJlc29sdXRpb24gaXMgdXNlZCBpbiBhbiB1bmFtYmlndW91cyBzeW50YXggcG9zaXRpb246XG4gICAqXG4gICAqIDEuIGAoc2V4cClgIChuYW1lc3BhY2U6IGBIZWxwZXJgKVxuICAgKiAyLiBge3sjYmxvY2t9fWAgKG5hbWVzcGFjZTogYENvbXBvbmVudGApXG4gICAqIDMuIGA8YSB7e21vZGlmaWVyfX0+YCAobmFtZXNwYWNlOiBgTW9kaWZpZXJgKVxuICAgKiA0LiBgPENvbXBvbmVudCAvPmAgKG5hbWVzcGFjZTogYENvbXBvbmVudGApXG4gICAqXG4gICAqIEBzZWUge05hbWVzcGFjZWRBbWJpZ3VpdHl9XG4gICAqL1xuICBzdGF0aWMgbmFtZXNwYWNlZChuYW1lc3BhY2U6IEZyZWVWYXJOYW1lc3BhY2UsIGlzQW5nbGVCcmFja2V0ID0gZmFsc2UpOiBMb29zZU1vZGVSZXNvbHV0aW9uIHtcbiAgICByZXR1cm4gbmV3IExvb3NlTW9kZVJlc29sdXRpb24oXG4gICAgICB7XG4gICAgICAgIG5hbWVzcGFjZXM6IFtuYW1lc3BhY2VdLFxuICAgICAgICBmYWxsYmFjazogZmFsc2UsXG4gICAgICB9LFxuICAgICAgaXNBbmdsZUJyYWNrZXRcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZhbGxiYWNrIHJlc29sdXRpb24gaXMgdXNlZCB3aGVuIG5vIG5hbWVzcGFjZWQgcmVzb2x1dGlvbnMgYXJlIHBvc3NpYmxlLCBidXQgZmFsbGJhY2tcbiAgICogcmVzb2x1dGlvbiBpcyBzdGlsbCBhbGxvd2VkLlxuICAgKlxuICAgKiBgYGBoYnNcbiAgICoge3t4Lnl9fVxuICAgKiBgYGBcbiAgICpcbiAgICogQHNlZSB7RmFsbGJhY2tBbWJpZ3VpdHl9XG4gICAqL1xuICBzdGF0aWMgZmFsbGJhY2soKTogTG9vc2VNb2RlUmVzb2x1dGlvbiB7XG4gICAgcmV0dXJuIG5ldyBMb29zZU1vZGVSZXNvbHV0aW9uKHsgbmFtZXNwYWNlczogW10sIGZhbGxiYWNrOiB0cnVlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGVuZCByZXNvbHV0aW9uIGlzIHVzZWQgd2hlbiB0aGUgdmFyaWFibGUgc2hvdWxkIGJlIHJlc29sdmVkIGluIGJvdGggdGhlIGBjb21wb25lbnRgIGFuZFxuICAgKiBgaGVscGVyYCBuYW1lc3BhY2VzLiBGYWxsYmFjayByZXNvbHV0aW9uIGlzIG9wdGlvbmFsLlxuICAgKlxuICAgKiBgYGBoYnNcbiAgICoge3t4fX1cbiAgICogYGBgXG4gICAqXG4gICAqIF4gYHhgIHNob3VsZCBiZSByZXNvbHZlZCBpbiB0aGUgYGNvbXBvbmVudGAgYW5kIGBoZWxwZXJgIG5hbWVzcGFjZXMgd2l0aCBmYWxsYmFjayByZXNvbHV0aW9uLlxuICAgKlxuICAgKiBgYGBoYnNcbiAgICoge3t4IHl9fVxuICAgKiBgYGBcbiAgICpcbiAgICogXiBgeGAgc2hvdWxkIGJlIHJlc29sdmVkIGluIHRoZSBgY29tcG9uZW50YCBhbmQgYGhlbHBlcmAgbmFtZXNwYWNlcyB3aXRob3V0IGZhbGxiYWNrXG4gICAqIHJlc29sdXRpb24uXG4gICAqXG4gICAqIEBzZWUge0NvbXBvbmVudE9ySGVscGVyQW1iaWd1aXR5fVxuICAgKi9cbiAgc3RhdGljIGFwcGVuZCh7IGludm9rZSB9OiB7IGludm9rZTogYm9vbGVhbiB9KTogTG9vc2VNb2RlUmVzb2x1dGlvbiB7XG4gICAgcmV0dXJuIG5ldyBMb29zZU1vZGVSZXNvbHV0aW9uKHtcbiAgICAgIG5hbWVzcGFjZXM6IFtGcmVlVmFyTmFtZXNwYWNlLkNvbXBvbmVudCwgRnJlZVZhck5hbWVzcGFjZS5IZWxwZXJdLFxuICAgICAgZmFsbGJhY2s6ICFpbnZva2UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVHJ1c3RpbmcgYXBwZW5kIHJlc29sdXRpb24gaXMgdXNlZCB3aGVuIHRoZSB2YXJpYWJsZSBzaG91bGQgYmUgcmVzb2x2ZWQgaW4gYm90aCB0aGUgYGNvbXBvbmVudGAgYW5kXG4gICAqIGBoZWxwZXJgIG5hbWVzcGFjZXMuIEZhbGxiYWNrIHJlc29sdXRpb24gaXMgb3B0aW9uYWwuXG4gICAqXG4gICAqIGBgYGhic1xuICAgKiB7e3t4fX19XG4gICAqIGBgYFxuICAgKlxuICAgKiBeIGB4YCBzaG91bGQgYmUgcmVzb2x2ZWQgaW4gdGhlIGBjb21wb25lbnRgIGFuZCBgaGVscGVyYCBuYW1lc3BhY2VzIHdpdGggZmFsbGJhY2sgcmVzb2x1dGlvbi5cbiAgICpcbiAgICogYGBgaGJzXG4gICAqIHt7e3ggeX19fVxuICAgKiBgYGBcbiAgICpcbiAgICogXiBgeGAgc2hvdWxkIGJlIHJlc29sdmVkIGluIHRoZSBgY29tcG9uZW50YCBhbmQgYGhlbHBlcmAgbmFtZXNwYWNlcyB3aXRob3V0IGZhbGxiYWNrXG4gICAqIHJlc29sdXRpb24uXG4gICAqXG4gICAqIEBzZWUge0hlbHBlckFtYmlndWl0eX1cbiAgICovXG4gIHN0YXRpYyB0cnVzdGluZ0FwcGVuZCh7IGludm9rZSB9OiB7IGludm9rZTogYm9vbGVhbiB9KTogTG9vc2VNb2RlUmVzb2x1dGlvbiB7XG4gICAgcmV0dXJuIG5ldyBMb29zZU1vZGVSZXNvbHV0aW9uKHtcbiAgICAgIG5hbWVzcGFjZXM6IFtGcmVlVmFyTmFtZXNwYWNlLkhlbHBlcl0sXG4gICAgICBmYWxsYmFjazogIWludm9rZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgcmVzb2x1dGlvbiBpcyB1c2VkIHdoZW4gdGhlIHZhcmlhYmxlIHNob3VsZCBiZSByZXNvbHZlZCBhcyBhIGBoZWxwZXJgIHdpdGggZmFsbGJhY2tcbiAgICogcmVzb2x1dGlvbi5cbiAgICpcbiAgICogYGBgaGJzXG4gICAqIDxhIGhyZWY9e3t4fX0gLz5cbiAgICogPGEgaHJlZj1cInt7eH19Lmh0bWxcIiAvPlxuICAgKiBgYGBcbiAgICpcbiAgICogXiByZXNvbHZlZCBpbiB0aGUgYGhlbHBlcmAgbmFtZXNwYWNlIHdpdGggZmFsbGJhY2tcbiAgICpcbiAgICogQHNlZSB7SGVscGVyQW1iaWd1aXR5fVxuICAgKi9cbiAgc3RhdGljIGF0dHIoKTogTG9vc2VNb2RlUmVzb2x1dGlvbiB7XG4gICAgcmV0dXJuIG5ldyBMb29zZU1vZGVSZXNvbHV0aW9uKHsgbmFtZXNwYWNlczogW0ZyZWVWYXJOYW1lc3BhY2UuSGVscGVyXSwgZmFsbGJhY2s6IHRydWUgfSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBhbWJpZ3VpdHk6IEFtYmlndWl0eSwgcmVhZG9ubHkgaXNBbmdsZUJyYWNrZXQgPSBmYWxzZSkge31cblxuICByZXNvbHV0aW9uKCk6IEdldENvbnRleHR1YWxGcmVlT3Age1xuICAgIGlmICh0aGlzLmFtYmlndWl0eS5uYW1lc3BhY2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldEZyZWVBc0ZhbGxiYWNrO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hbWJpZ3VpdHkubmFtZXNwYWNlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGlmICh0aGlzLmFtYmlndWl0eS5mYWxsYmFjaykge1xuICAgICAgICAvLyBzaW1wbGUgbmFtZXNwYWNlZCByZXNvbHV0aW9uIHdpdGggZmFsbGJhY2sgbXVzdCBiZSBhdHRyPXt7eH19XG4gICAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNIZWxwZXJIZWFkT3JUaGlzRmFsbGJhY2s7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBzaW1wbGUgbmFtZXNwYWNlZCByZXNvbHV0aW9uIHdpdGhvdXQgZmFsbGJhY2tcbiAgICAgICAgc3dpdGNoICh0aGlzLmFtYmlndWl0eS5uYW1lc3BhY2VzWzBdKSB7XG4gICAgICAgICAgY2FzZSBGcmVlVmFyTmFtZXNwYWNlLkhlbHBlcjpcbiAgICAgICAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNIZWxwZXJIZWFkO1xuICAgICAgICAgIGNhc2UgRnJlZVZhck5hbWVzcGFjZS5Nb2RpZmllcjpcbiAgICAgICAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNNb2RpZmllckhlYWQ7XG4gICAgICAgICAgY2FzZSBGcmVlVmFyTmFtZXNwYWNlLkNvbXBvbmVudDpcbiAgICAgICAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNDb21wb25lbnRIZWFkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmFtYmlndWl0eS5mYWxsYmFjaykge1xuICAgICAgLy8gY29tcG9uZW50IG9yIGhlbHBlciArIGZhbGxiYWNrICh7e3NvbWV0aGluZ319KVxuICAgICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldEZyZWVBc0NvbXBvbmVudE9ySGVscGVySGVhZE9yVGhpc0ZhbGxiYWNrO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBjb21wb25lbnQgb3IgaGVscGVyIHdpdGhvdXQgZmFsbGJhY2sgKHt7c29tZXRoaW5nIHNvbWV0aGluZ319KVxuICAgICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldEZyZWVBc0NvbXBvbmVudE9ySGVscGVySGVhZDtcbiAgICB9XG4gIH1cblxuICBzZXJpYWxpemUoKTogU2VyaWFsaXplZFJlc29sdXRpb24ge1xuICAgIGlmICh0aGlzLmFtYmlndWl0eS5uYW1lc3BhY2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuICdMb29zZSc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFtYmlndWl0eS5uYW1lc3BhY2VzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgaWYgKHRoaXMuYW1iaWd1aXR5LmZhbGxiYWNrKSB7XG4gICAgICAgIC8vIHNpbXBsZSBuYW1lc3BhY2VkIHJlc29sdXRpb24gd2l0aCBmYWxsYmFjayBtdXN0IGJlIGF0dHI9e3t4fX1cbiAgICAgICAgcmV0dXJuIFsnYW1iaWd1b3VzJywgU2VyaWFsaXplZEFtYmlndWl0eS5BdHRyXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBbJ25zJywgdGhpcy5hbWJpZ3VpdHkubmFtZXNwYWNlc1swXV07XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmFtYmlndWl0eS5mYWxsYmFjaykge1xuICAgICAgLy8gY29tcG9uZW50IG9yIGhlbHBlciArIGZhbGxiYWNrICh7e3NvbWV0aGluZ319KVxuICAgICAgcmV0dXJuIFsnYW1iaWd1b3VzJywgU2VyaWFsaXplZEFtYmlndWl0eS5BcHBlbmRdO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBjb21wb25lbnQgb3IgaGVscGVyIHdpdGhvdXQgZmFsbGJhY2sgKHt7c29tZXRoaW5nIHNvbWV0aGluZ319KVxuICAgICAgcmV0dXJuIFsnYW1iaWd1b3VzJywgU2VyaWFsaXplZEFtYmlndWl0eS5JbnZva2VdO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQVJHVU1FTlRfUkVTT0xVVElPTiA9IExvb3NlTW9kZVJlc29sdXRpb24uZmFsbGJhY2soKTtcblxuZXhwb3J0IGNvbnN0IGVudW0gRnJlZVZhck5hbWVzcGFjZSB7XG4gIEhlbHBlciA9ICdIZWxwZXInLFxuICBNb2RpZmllciA9ICdNb2RpZmllcicsXG4gIENvbXBvbmVudCA9ICdDb21wb25lbnQnLFxufVxuXG4vKipcbiAqIEEgYENvbXBvbmVudE9ySGVscGVyQW1iaWd1aXR5YCBtaWdodCBiZSBhIGNvbXBvbmVudCBvciBhIGhlbHBlciwgd2l0aCBhbiBvcHRpb25hbCBmYWxsYmFja1xuICpcbiAqIGBgYGhic1xuICoge3t4fX1cbiAqIGBgYFxuICpcbiAqIF4gYHhgIGlzIHJlc29sdmVkIGluIHRoZSBgY29tcG9uZW50YCBhbmQgYGhlbHBlcmAgbmFtZXNwYWNlcywgd2l0aCBmYWxsYmFja1xuICpcbiAqIGBgYGhic1xuICoge3t4IHl9fVxuICogYGBgXG4gKlxuICogXiBgeGAgaXMgcmVzb2x2ZWQgaW4gdGhlIGBjb21wb25lbnRgIGFuZCBgaGVscGVyYCBuYW1lc3BhY2VzLCB3aXRob3V0IGZhbGxiYWNrXG4gKi9cbnR5cGUgQ29tcG9uZW50T3JIZWxwZXJBbWJpZ3VpdHkgPSB7XG4gIG5hbWVzcGFjZXM6IFtGcmVlVmFyTmFtZXNwYWNlLkNvbXBvbmVudCwgRnJlZVZhck5hbWVzcGFjZS5IZWxwZXJdO1xuICBmYWxsYmFjazogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogQSBgSGVscGVyQW1iaWd1aXR5YCBtdXN0IGJlIGEgaGVscGVyLCBidXQgaXQgaGFzIGZhbGxiYWNrLiBJZiBpdCBkaWRuJ3QgaGF2ZSBmYWxsYmFjaywgaXQgd291bGRcbiAqIGJlIGEgYE5hbWVzcGFjZWRBbWJpZ3VpdHlgLlxuICpcbiAqIGBgYGhic1xuICogPGEgaHJlZj17e3h9fSAvPlxuICogPGEgaHJlZj1cInt7eH19Lmh0bWxcIiAvPlxuICogYGBgXG4gKlxuICogXiBgeGAgaXMgcmVzb2x2ZWQgaW4gdGhlIGBoZWxwZXJgIG5hbWVzcGFjZSB3aXRoIGZhbGxiYWNrXG4gKi9cbnR5cGUgSGVscGVyQW1iaWd1aXR5ID0geyBuYW1lc3BhY2VzOiBbRnJlZVZhck5hbWVzcGFjZS5IZWxwZXJdOyBmYWxsYmFjazogYm9vbGVhbiB9O1xuXG4vKipcbiAqIEEgYE5hbWVzcGFjZWRBbWJpZ3VpdHlgIG11c3QgYmUgcmVzb2x2ZWQgaW4gYSBwYXJ0aWN1bGFyIG5hbWVzcGFjZSwgd2l0aG91dCBmYWxsYmFjay5cbiAqXG4gKiBgYGBoYnNcbiAqIDxYIC8+XG4gKiBgYGBcbiAqXG4gKiBeIGBYYCBpcyByZXNvbHZlZCBpbiB0aGUgYGNvbXBvbmVudGAgbmFtZXNwYWNlIHdpdGhvdXQgZmFsbGJhY2tcbiAqXG4gKiBgYGBoYnNcbiAqICh4KVxuICogYGBgXG4gKlxuICogXiBgeGAgaXMgcmVzb2x2ZWQgaW4gdGhlIGBoZWxwZXJgIG5hbWVzcGFjZSB3aXRob3V0IGZhbGxiYWNrXG4gKlxuICogYGBgaGJzXG4gKiA8YSB7e3h9fSAvPlxuICogYGBgXG4gKlxuICogXiBgeGAgaXMgcmVzb2x2ZWQgaW4gdGhlIGBtb2RpZmllcmAgbmFtZXNwYWNlIHdpdGhvdXQgZmFsbGJhY2tcbiAqL1xudHlwZSBOYW1lc3BhY2VkQW1iaWd1aXR5ID0ge1xuICBuYW1lc3BhY2VzOiBbRnJlZVZhck5hbWVzcGFjZS5Db21wb25lbnQgfCBGcmVlVmFyTmFtZXNwYWNlLkhlbHBlciB8IEZyZWVWYXJOYW1lc3BhY2UuTW9kaWZpZXJdO1xuICBmYWxsYmFjazogZmFsc2U7XG59O1xuXG50eXBlIEZhbGxiYWNrQW1iaWd1aXR5ID0ge1xuICBuYW1lc3BhY2VzOiBbXTtcbiAgZmFsbGJhY2s6IHRydWU7XG59O1xuXG50eXBlIEFtYmlndWl0eSA9XG4gIHwgQ29tcG9uZW50T3JIZWxwZXJBbWJpZ3VpdHlcbiAgfCBIZWxwZXJBbWJpZ3VpdHlcbiAgfCBOYW1lc3BhY2VkQW1iaWd1aXR5XG4gIHwgRmFsbGJhY2tBbWJpZ3VpdHk7XG5cbmV4cG9ydCB0eXBlIEZyZWVWYXJSZXNvbHV0aW9uID0gU3RyaWN0UmVzb2x1dGlvbiB8IExvb3NlTW9kZVJlc29sdXRpb247XG5cbi8vIFNlcmlhbGl6YXRpb25cblxuY29uc3QgZW51bSBTZXJpYWxpemVkQW1iaWd1aXR5IHtcbiAgLy8ge3t4fX1cbiAgQXBwZW5kID0gJ0FwcGVuZCcsXG4gIC8vIGhyZWY9e3t4fX1cbiAgQXR0ciA9ICdBdHRyJyxcbiAgLy8ge3t4IHl9fSAobm90IGF0dHIpXG4gIEludm9rZSA9ICdJbnZva2UnLFxufVxuXG5leHBvcnQgdHlwZSBTZXJpYWxpemVkUmVzb2x1dGlvbiA9XG4gIHwgJ1N0cmljdCdcbiAgfCAnTG9vc2UnXG4gIHwgWyducycsIEZyZWVWYXJOYW1lc3BhY2VdXG4gIHwgWydhbWJpZ3VvdXMnLCBTZXJpYWxpemVkQW1iaWd1aXR5XTtcblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRSZXNvbHV0aW9uKHJlc29sdXRpb246IFNlcmlhbGl6ZWRSZXNvbHV0aW9uKTogRnJlZVZhclJlc29sdXRpb24ge1xuICBpZiAodHlwZW9mIHJlc29sdXRpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgc3dpdGNoIChyZXNvbHV0aW9uKSB7XG4gICAgICBjYXNlICdMb29zZSc6XG4gICAgICAgIHJldHVybiBMb29zZU1vZGVSZXNvbHV0aW9uLmZhbGxiYWNrKCk7XG4gICAgICBjYXNlICdTdHJpY3QnOlxuICAgICAgICByZXR1cm4gU1RSSUNUX1JFU09MVVRJT047XG4gICAgfVxuICB9XG5cbiAgc3dpdGNoIChyZXNvbHV0aW9uWzBdKSB7XG4gICAgY2FzZSAnYW1iaWd1b3VzJzpcbiAgICAgIHN3aXRjaCAocmVzb2x1dGlvblsxXSkge1xuICAgICAgICBjYXNlIFNlcmlhbGl6ZWRBbWJpZ3VpdHkuQXBwZW5kOlxuICAgICAgICAgIHJldHVybiBMb29zZU1vZGVSZXNvbHV0aW9uLmFwcGVuZCh7IGludm9rZTogZmFsc2UgfSk7XG4gICAgICAgIGNhc2UgU2VyaWFsaXplZEFtYmlndWl0eS5BdHRyOlxuICAgICAgICAgIHJldHVybiBMb29zZU1vZGVSZXNvbHV0aW9uLmF0dHIoKTtcbiAgICAgICAgY2FzZSBTZXJpYWxpemVkQW1iaWd1aXR5Lkludm9rZTpcbiAgICAgICAgICByZXR1cm4gTG9vc2VNb2RlUmVzb2x1dGlvbi5hcHBlbmQoeyBpbnZva2U6IHRydWUgfSk7XG4gICAgICB9XG5cbiAgICBjYXNlICducyc6XG4gICAgICByZXR1cm4gTG9vc2VNb2RlUmVzb2x1dGlvbi5uYW1lc3BhY2VkKHJlc29sdXRpb25bMV0pO1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9

@@ -29,2 +29,3 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

import { dict } from '@glimmer/util';
import { isUpperCase } from './utils';
export var SymbolTable = /*#__PURE__*/function () {

@@ -109,7 +110,9 @@ function SymbolTable() {}

_proto2.allocateFree = function allocateFree(name, resolution) {
// If the name in question is an uppercase (i.e. angle-bracket) component invocation, run
// the optional `customizeComponentName` function provided to the precompiler.
if (resolution.resolution() === 39
/* GetFreeAsComponentHead */
) {
name = this.customizeComponentName(name);
}
&& resolution.isAngleBracket && isUpperCase(name)) {
name = this.customizeComponentName(name);
}

@@ -236,2 +239,2 @@ var index = this.upvars.indexOf(name);

}(SymbolTable);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvc3ltYm9sLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLFNBQUEsSUFBQSxRQUFBLGVBQUE7QUFJQSxXQUFNLFdBQU47QUFBQTs7QUFBQSxjQUNFLEdBREYsR0FDRSxhQUFBLE1BQUEsRUFBQSxzQkFBQSxFQUVtRDtBQUVqRCxXQUFPLElBQUEsa0JBQUEsQ0FBQSxNQUFBLEVBQVAsc0JBQU8sQ0FBUDtBQUNELEdBTkg7O0FBQUE7O0FBQUEsU0FxQkUsS0FyQkYsR0FxQkUsZUFBSyxNQUFMLEVBQXNCO0FBQUE7O0FBQ3BCLFFBQUksT0FBTyxHQUFHLE1BQU0sQ0FBTixHQUFBLENBQVksVUFBQSxJQUFEO0FBQUEsYUFBVSxLQUFBLENBQUEsUUFBQSxDQUFuQyxJQUFtQyxDQUFWO0FBQUEsS0FBWCxDQUFkO0FBQ0EsV0FBTyxJQUFBLGdCQUFBLENBQUEsSUFBQSxFQUFBLE1BQUEsRUFBUCxPQUFPLENBQVA7QUFDRCxHQXhCSDs7QUFBQTtBQUFBO0FBMkJBLFdBQU0sa0JBQU47QUFBQTs7QUFDRSw4QkFBQSxjQUFBLEVBQUEsc0JBQUEsRUFFMkQ7QUFBQTs7QUFFekQ7QUFIUSxXQUFBLGNBQUEsR0FBQSxjQUFBO0FBQ0EsV0FBQSxzQkFBQSxHQUFBLHNCQUFBO0FBS0gsV0FBQSxPQUFBLEdBQUEsRUFBQTtBQUNBLFdBQUEsTUFBQSxHQUFBLEVBQUE7QUFFQyxXQUFBLElBQUEsR0FBQSxDQUFBO0FBQ0EsV0FBQSxLQUFBLEdBQVEsSUFBUixFQUFBO0FBQ0EsV0FBQSxNQUFBLEdBQVMsSUFBVCxFQUFBO0FBQ0EsV0FBQSxrQkFBQSxHQUFBLEVBQUE7O0FBRVIsSUFBQSxRQUFBLENBQUEsR0FBQSxpQ0FBQSxLQUFBOztBQWIyRDtBQUcxRDs7QUFOSDs7QUFBQSxVQWtCRSxxQkFsQkYsR0FrQkUsaUNBQXFCO0FBQ25CLFdB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Q0EsV0FBTyxNQUFNLENBQU4sSUFBQSxDQUFBLE1BQUEsRUFBQSxHQUFBLENBQXlCLFVBQUEsTUFBRDtBQUFBLGFBQVksTUFBTSxDQUFqRCxNQUFpRCxDQUFsQjtBQUFBLEtBQXhCLENBQVA7QUFDRCxHQTNCSDs7QUFBQSxVQTZCRSxVQTdCRixHQTZCRSxzQkFBVTtBQUNSLFNBQUEsTUFBQSxDQUFBLFVBQUE7QUFDRCxHQS9CSDs7QUFBQSxVQWlDRSxZQWpDRixHQWlDRSxzQkFBWSxJQUFaLEVBQVksVUFBWixFQUE4RDtBQUM1RCxXQUFPLEtBQUEsTUFBQSxDQUFBLFlBQUEsQ0FBQSxJQUFBLEVBQVAsVUFBTyxDQUFQO0FBQ0QsR0FuQ0g7O0FBQUEsVUFxQ0UsYUFyQ0YsR0FxQ0UsdUJBQWEsSUFBYixFQUEwQjtBQUN4QixXQUFPLEtBQUEsTUFBQSxDQUFBLGFBQUEsQ0FBUCxJQUFPLENBQVA7QUFDRCxHQXZDSDs7QUFBQSxVQXlDRSxhQXpDRixHQXlDRSx1QkFBYSxJQUFiLEVBQTBCO0FBQ3hCLFdBQU8sS0FBQSxNQUFBLENBQUEsYUFBQSxDQUFQLElBQU8sQ0FBUDtBQUNELEdBM0NIOztBQUFBLFVBNkNFLFFBN0NGLEdBNkNFLGtCQUFRLFVBQVIsRUFBMkI7QUFDekIsV0FBTyxLQUFBLE1BQUEsQ0FBQSxRQUFBLENBQVAsVUFBTyxDQUFQO0FBQ0QsR0EvQ0g7O0FBQUE7QUFBQTtBQUFBLHdCQUtZO0FBQ1IsYUFBTyxLQUFQLE9BQUE7QUFDRDtBQVBIOztBQUFBO0FBQUEsRUFBTSxXQUFOIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZSwgRGljdCwgU2V4cE9wY29kZXMgfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGRpY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcblxuaW1wb3J0IHsgQVNUdjIgfSBmcm9tICcuLic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTeW1ib2xUYWJsZSB7XG4gIHN0YXRpYyB0b3AoXG4gICAgbG9jYWxzOiBzdHJpbmdbXSxcbiAgICBjdXN0b21pemVDb21wb25lbnROYW1lOiAoaW5wdXQ6IHN0cmluZykgPT4gc3RyaW5nXG4gICk6IFByb2dyYW1TeW1ib2xUYWJsZSB7XG4gICAgcmV0dXJuIG5ldyBQcm9ncmFtU3ltYm9sVGFibGUobG9jYWxzLCBjdXN0b21pemVDb21wb25lbnROYW1lKTtcbiAgfVxuXG4gIGFic3RyYWN0IGhhcyhuYW1lOiBzdHJpbmcpOiBib29sZWFuO1xuICBhYnN0cmFjdCBnZXQobmFtZTogc3RyaW5nKTogW3N5bWJvbDogbnVtYmVyLCBpc1Jvb3Q6IGJvb2xlYW5dO1xuXG4gIGFic3RyYWN0IGdldExvY2Fsc01hcCgpOiBEaWN0PG51bWJlcj47XG4gIGFic3RyYWN0IGdldEV2YWxJbmZvKCk6IENvcmUuRXZhbEluZm87XG5cbiAgYWJzdHJhY3QgYWxsb2NhdGVGcmVlKG5hbWU6IHN0cmluZywgcmVzb2x1dGlvbjogQVNUdjIuRnJlZVZhclJlc29sdXRpb24pOiBudW1iZXI7XG4gIGFic3RyYWN0IGFsbG9jYXRlTmFtZWQobmFtZTogc3RyaW5nKTogbnVtYmVyO1xuICBhYnN0cmFjdCBhbGxvY2F0ZUJsb2NrKG5hbWU6IHN0cmluZyk6IG51bWJlcjtcbiAgYWJzdHJhY3QgYWxsb2NhdGUoaWRlbnRpZmllcjogc3RyaW5nKTogbnVtYmVyO1xuXG4gIGFic3RyYWN0IHNldEhhc0V2YWwoKTogdm9pZDtcblxuICBjaGlsZChsb2NhbHM6IHN0cmluZ1tdKTogQmxvY2tTeW1ib2xUYWJsZSB7XG4gICAgbGV0IHN5bWJvbHMgPSBsb2NhbHMubWFwKChuYW1lKSA9PiB0aGlzLmFsbG9jYXRlKG5hbWUpKTtcbiAgICByZXR1cm4gbmV3IEJsb2NrU3ltYm9sVGFibGUodGhpcywgbG9jYWxzLCBzeW1ib2xzKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUHJvZ3JhbVN5bWJvbFRhYmxlIGV4dGVuZHMgU3ltYm9sVGFibGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRlbXBsYXRlTG9jYWxzOiBzdHJpbmdbXSxcbiAgICBwcml2YXRlIGN1c3RvbWl6ZUNvbXBvbmVudE5hbWU6IChpbnB1dDogc3RyaW5nKSA9PiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBzeW1ib2xzOiBzdHJpbmdbXSA9IFtdO1xuICBwdWJsaWMgdXB2YXJzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHByaXZhdGUgc2l6ZSA9IDE7XG4gIHByaXZhdGUgbmFtZWQgPSBkaWN0PG51bWJlcj4oKTtcbiAgcHJpdmF0ZSBibG9ja3MgPSBkaWN0PG51bWJlcj4oKTtcbiAgcHJpdmF0ZSB1c2VkVGVtcGxhdGVMb2NhbHM6IHN0cmluZ1tdID0gW107XG5cbiAgI2hhc0V2YWwgPSBmYWxzZTtcblxuICBnZXRVc2VkVGVtcGxhdGVMb2NhbHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnVzZWRUZW1wbGF0ZUxvY2FscztcbiAgfVxuXG4gIHNldEhhc0V2YWwoKTogdm9pZCB7XG4gICAgdGhpcy4jaGFzRXZhbCA9IHRydWU7XG4gIH1cblxuICBnZXQgaGFzRXZhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jaGFzRXZhbDtcbiAgfVxuXG4gIGhhcyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZUxvY2Fscy5pbmRleE9mKG5hbWUpICE9PSAtMTtcbiAgfVxuXG4gIGdldChuYW1lOiBzdHJpbmcpOiBbbnVtYmVyLCBib29sZWFuXSB7XG4gICAgbGV0IGluZGV4ID0gdGhpcy51c2VkVGVtcGxhdGVMb2NhbHMuaW5kZXhPZihuYW1lKTtcblxuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIHJldHVybiBbaW5kZXgsIHRydWVdO1xuICAgIH1cblxuICAgIGluZGV4ID0gdGhpcy51c2VkVGVtcGxhdGVMb2NhbHMubGVuZ3RoO1xuICAgIHRoaXMudXNlZFRlbXBsYXRlTG9jYWxzLnB1c2gobmFtZSk7XG4gICAgcmV0dXJuIFtpbmRleCwgdHJ1ZV07XG4gIH1cblxuICBnZXRMb2NhbHNNYXAoKTogRGljdDxudW1iZXI+IHtcbiAgICByZXR1cm4gZGljdCgpO1xuICB9XG5cbiAgZ2V0RXZhbEluZm8oKTogQ29yZS5FdmFsSW5mbyB7XG4gICAgbGV0IGxvY2FscyA9IHRoaXMuZ2V0TG9jYWxzTWFwKCk7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGxvY2FscykubWFwKChzeW1ib2wpID0+IGxvY2Fsc1tzeW1ib2xdKTtcbiAgfVxuXG4gIGFsbG9jYXRlRnJlZShuYW1lOiBzdHJpbmcsIHJlc29sdXRpb246IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uKTogbnVtYmVyIHtcbiAgICBpZiAocmVzb2x1dGlvbi5yZXNvbHV0aW9uKCkgPT09IFNleHBPcGNvZGVzLkdldEZyZWVBc0NvbXBvbmVudEhlYWQpIHtcbiAgICAgIG5hbWUgPSB0aGlzLmN1c3RvbWl6ZUNvbXBvbmVudE5hbWUobmFtZSk7XG4gICAgfVxuXG4gICAgbGV0IGluZGV4ID0gdGhpcy51cHZhcnMuaW5kZXhPZihuYW1lKTtcblxuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG5cbiAgICBpbmRleCA9IHRoaXMudXB2YXJzLmxlbmd0aDtcbiAgICB0aGlzLnVwdmFycy5wdXNoKG5hbWUpO1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIGFsbG9jYXRlTmFtZWQobmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBsZXQgbmFtZWQgPSB0aGlzLm5hbWVkW25hbWVdO1xuXG4gICAgaWYgKCFuYW1lZCkge1xuICAgICAgbmFtZWQgPSB0aGlzLm5hbWVkW25hbWVdID0gdGhpcy5hbGxvY2F0ZShuYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmFtZWQ7XG4gIH1cblxuICBhbGxvY2F0ZUJsb2NrKG5hbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgaWYgKG5hbWUgPT09ICdpbnZlcnNlJykge1xuICAgICAgbmFtZSA9ICdlbHNlJztcbiAgICB9XG5cbiAgICBsZXQgYmxvY2sgPSB0aGlzLmJsb2Nrc1tuYW1lXTtcblxuICAgIGlmICghYmxvY2spIHtcbiAgICAgIGJsb2NrID0gdGhpcy5ibG9ja3NbbmFtZV0gPSB0aGlzLmFsbG9jYXRlKGAmJHtuYW1lfWApO1xuICAgIH1cblxuICAgIHJldHVybiBibG9jaztcbiAgfVxuXG4gIGFsbG9jYXRlKGlkZW50aWZpZXI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgdGhpcy5zeW1ib2xzLnB1c2goaWRlbnRpZmllcik7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSsrO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBCbG9ja1N5bWJvbFRhYmxlIGV4dGVuZHMgU3ltYm9sVGFibGUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudDogU3ltYm9sVGFibGUsIHB1YmxpYyBzeW1ib2xzOiBzdHJpbmdbXSwgcHVibGljIHNsb3RzOiBudW1iZXJbXSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBnZXQgbG9jYWxzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5zeW1ib2xzO1xuICB9XG5cbiAgaGFzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbHMuaW5kZXhPZihuYW1lKSAhPT0gLTEgfHwgdGhpcy5wYXJlbnQuaGFzKG5hbWUpO1xuICB9XG5cbiAgZ2V0KG5hbWU6IHN0cmluZyk6IFtudW1iZXIsIGJvb2xlYW5dIHtcbiAgICBsZXQgc2xvdCA9IHRoaXMuc3ltYm9scy5pbmRleE9mKG5hbWUpO1xuICAgIHJldHVybiBzbG90ID09PSAtMSA/IHRoaXMucGFyZW50LmdldChuYW1lKSA6IFt0aGlzLnNsb3RzW3Nsb3RdLCBmYWxzZV07XG4gIH1cblxuICBnZXRMb2NhbHNNYXAoKTogRGljdDxudW1iZXI+IHtcbiAgICBsZXQgZGljdCA9IHRoaXMucGFyZW50LmdldExvY2Fsc01hcCgpO1xuICAgIHRoaXMuc3ltYm9scy5mb3JFYWNoKChzeW1ib2wpID0+IChkaWN0W3N5bWJvbF0gPSB0aGlzLmdldChzeW1ib2wpWzBdKSk7XG4gICAgcmV0dXJuIGRpY3Q7XG4gIH1cblxuICBnZXRFdmFsSW5mbygpOiBDb3JlLkV2YWxJbmZvIHtcbiAgICBsZXQgbG9jYWxzID0gdGhpcy5nZXRMb2NhbHNNYXAoKTtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMobG9jYWxzKS5tYXAoKHN5bWJvbCkgPT4gbG9jYWxzW3N5bWJvbF0pO1xuICB9XG5cbiAgc2V0SGFzRXZhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnBhcmVudC5zZXRIYXNFdmFsKCk7XG4gIH1cblxuICBhbGxvY2F0ZUZyZWUobmFtZTogc3RyaW5nLCByZXNvbHV0aW9uOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmFsbG9jYXRlRnJlZShuYW1lLCByZXNvbHV0aW9uKTtcbiAgfVxuXG4gIGFsbG9jYXRlTmFtZWQobmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuYWxsb2NhdGVOYW1lZChuYW1lKTtcbiAgfVxuXG4gIGFsbG9jYXRlQmxvY2sobmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuYWxsb2NhdGVCbG9jayhuYW1lKTtcbiAgfVxuXG4gIGFsbG9jYXRlKGlkZW50aWZpZXI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmFsbG9jYXRlKGlkZW50aWZpZXIpO1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvc3ltYm9sLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLFNBQUEsSUFBQSxRQUFBLGVBQUE7QUFHQSxTQUFBLFdBQUEsUUFBQSxTQUFBO0FBRUEsV0FBTSxXQUFOO0FBQUE7O0FBQUEsY0FDRSxHQURGLEdBQ0UsYUFBQSxNQUFBLEVBQUEsc0JBQUEsRUFFbUQ7QUFFakQsV0FBTyxJQUFBLGtCQUFBLENBQUEsTUFBQSxFQUFQLHNCQUFPLENBQVA7QUFDRCxHQU5IOztBQUFBOztBQUFBLFNBcUJFLEtBckJGLEdBcUJFLGVBQUssTUFBTCxFQUFzQjtBQUFBOztBQUNwQixRQUFJLE9BQU8sR0FBRyxNQUFNLENBQU4sR0FBQSxDQUFZLFVBQUEsSUFBRDtBQUFBLGFBQVUsS0FBQSxDQUFBLFFBQUEsQ0FBbkMsSUFBbUMsQ0FBVjtBQUFBLEtBQVgsQ0FBZDtBQUNBLFdBQU8sSUFBQSxnQkFBQSxDQUFBLElBQUEsRUFBQSxNQUFBLEVBQVAsT0FBTyxDQUFQO0FBQ0QsR0F4Qkg7O0FBQUE7QUFBQTtBQTJCQSxXQUFNLGtCQUFOO0FBQUE7O0FBQ0UsOEJBQUEsY0FBQSxFQUFBLHNCQUFBLEVBRTJEO0FBQUE7O0FBRXpEO0FBSFEsV0FBQSxjQUFBLEdBQUEsY0FBQTtBQUNBLFdBQUEsc0JBQUEsR0FBQSxzQkFBQTtBQUtILFdBQUEsT0FBQSxHQUFBLEVBQUE7QUFDQSxXQUFBLE1BQUEsR0FBQSxFQUFBO0FBRUMsV0FBQSxJQUFBLEdBQUEsQ0FBQTtBQUNBLFdBQUEsS0FBQSxHQUFRLElBQVIsRUFBQTtBQUNBLFdBQUEsTUFBQSxHQUFTLElBQVQsRUFBQTtBQUNBLFdBQUEsa0JBQUEsR0FBQSxFQUFBOztBQUVSLElBQUEsUUFBQSxDQUFBLEdBQUEsaUNBQUEsS0FBQTs7QUFiMkQ7QUFHMUQ7O0FBTkg7O0FBQUEsVUFrQkUscUJB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QUFDRCxHQXRCSDs7QUFBQSxVQXdCRSxXQXhCRixHQXdCRSx1QkFBVztBQUNULFFBQUksTUFBTSxHQUFHLEtBQWIsWUFBYSxFQUFiO0FBQ0EsV0FBTyxNQUFNLENBQU4sSUFBQSxDQUFBLE1BQUEsRUFBQSxHQUFBLENBQXlCLFVBQUEsTUFBRDtBQUFBLGFBQVksTUFBTSxDQUFqRCxNQUFpRCxDQUFsQjtBQUFBLEtBQXhCLENBQVA7QUFDRCxHQTNCSDs7QUFBQSxVQTZCRSxVQTdCRixHQTZCRSxzQkFBVTtBQUNSLFNBQUEsTUFBQSxDQUFBLFVBQUE7QUFDRCxHQS9CSDs7QUFBQSxVQWlDRSxZQWpDRixHQWlDRSxzQkFBWSxJQUFaLEVBQVksVUFBWixFQUE4RDtBQUM1RCxXQUFPLEtBQUEsTUFBQSxDQUFBLFlBQUEsQ0FBQSxJQUFBLEVBQVAsVUFBTyxDQUFQO0FBQ0QsR0FuQ0g7O0FBQUEsVUFxQ0UsYUFyQ0YsR0FxQ0UsdUJBQWEsSUFBYixFQUEwQjtBQUN4QixXQUFPLEtBQUEsTUFBQSxDQUFBLGFBQUEsQ0FBUCxJQUFPLENBQVA7QUFDRCxHQXZDSDs7QUFBQSxVQXlDRSxhQXpDRixHQXlDRSx1QkFBYSxJQUFiLEVBQTBCO0FBQ3hCLFdBQU8sS0FBQSxNQUFBLENBQUEsYUFBQSxDQUFQLElBQU8sQ0FBUDtBQUNELEdBM0NIOztBQUFBLFVBNkNFLFFBN0NGLEdBNkNFLGtCQUFRLFVBQVIsRUFBMkI7QUFDekIsV0FBTyxLQUFBLE1BQUEsQ0FBQSxRQUFBLENBQVAsVUFBTyxDQUFQO0FBQ0QsR0EvQ0g7O0FBQUE7QUFBQTtBQUFBLHdCQUtZO0FBQ1IsYUFBTyxLQUFQLE9BQUE7QUFDRDtBQVBIOztBQUFBO0FBQUEsRUFBTSxXQUFOIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZSwgRGljdCwgU2V4cE9wY29kZXMgfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGRpY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcblxuaW1wb3J0IHsgQVNUdjIgfSBmcm9tICcuLic7XG5pbXBvcnQgeyBpc1VwcGVyQ2FzZSB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU3ltYm9sVGFibGUge1xuICBzdGF0aWMgdG9wKFxuICAgIGxvY2Fsczogc3RyaW5nW10sXG4gICAgY3VzdG9taXplQ29tcG9uZW50TmFtZTogKGlucHV0OiBzdHJpbmcpID0+IHN0cmluZ1xuICApOiBQcm9ncmFtU3ltYm9sVGFibGUge1xuICAgIHJldHVybiBuZXcgUHJvZ3JhbVN5bWJvbFRhYmxlKGxvY2FscywgY3VzdG9taXplQ29tcG9uZW50TmFtZSk7XG4gIH1cblxuICBhYnN0cmFjdCBoYXMobmFtZTogc3RyaW5nKTogYm9vbGVhbjtcbiAgYWJzdHJhY3QgZ2V0KG5hbWU6IHN0cmluZyk6IFtzeW1ib2w6IG51bWJlciwgaXNSb290OiBib29sZWFuXTtcblxuICBhYnN0cmFjdCBnZXRMb2NhbHNNYXAoKTogRGljdDxudW1iZXI+O1xuICBhYnN0cmFjdCBnZXRFdmFsSW5mbygpOiBDb3JlLkV2YWxJbmZvO1xuXG4gIGFic3RyYWN0IGFsbG9jYXRlRnJlZShuYW1lOiBzdHJpbmcsIHJlc29sdXRpb246IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uKTogbnVtYmVyO1xuICBhYnN0cmFjdCBhbGxvY2F0ZU5hbWVkKG5hbWU6IHN0cmluZyk6IG51bWJlcjtcbiAgYWJzdHJhY3QgYWxsb2NhdGVCbG9jayhuYW1lOiBzdHJpbmcpOiBudW1iZXI7XG4gIGFic3RyYWN0IGFsbG9jYXRlKGlkZW50aWZpZXI6IHN0cmluZyk6IG51bWJlcjtcblxuICBhYnN0cmFjdCBzZXRIYXNFdmFsKCk6IHZvaWQ7XG5cbiAgY2hpbGQobG9jYWxzOiBzdHJpbmdbXSk6IEJsb2NrU3ltYm9sVGFibGUge1xuICAgIGxldCBzeW1ib2xzID0gbG9jYWxzLm1hcCgobmFtZSkgPT4gdGhpcy5hbGxvY2F0ZShuYW1lKSk7XG4gICAgcmV0dXJuIG5ldyBCbG9ja1N5bWJvbFRhYmxlKHRoaXMsIGxvY2Fscywgc3ltYm9scyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFByb2dyYW1TeW1ib2xUYWJsZSBleHRlbmRzIFN5bWJvbFRhYmxlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZUxvY2Fsczogc3RyaW5nW10sXG4gICAgcHJpdmF0ZSBjdXN0b21pemVDb21wb25lbnROYW1lOiAoaW5wdXQ6IHN0cmluZykgPT4gc3RyaW5nXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgc3ltYm9sczogc3RyaW5nW10gPSBbXTtcbiAgcHVibGljIHVwdmFyczogc3RyaW5nW10gPSBbXTtcblxuICBwcml2YXRlIHNpemUgPSAxO1xuICBwcml2YXRlIG5hbWVkID0gZGljdDxudW1iZXI+KCk7XG4gIHByaXZhdGUgYmxvY2tzID0gZGljdDxudW1iZXI+KCk7XG4gIHByaXZhdGUgdXNlZFRlbXBsYXRlTG9jYWxzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICNoYXNFdmFsID0gZmFsc2U7XG5cbiAgZ2V0VXNlZFRlbXBsYXRlTG9jYWxzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy51c2VkVGVtcGxhdGVMb2NhbHM7XG4gIH1cblxuICBzZXRIYXNFdmFsKCk6IHZvaWQge1xuICAgIHRoaXMuI2hhc0V2YWwgPSB0cnVlO1xuICB9XG5cbiAgZ2V0IGhhc0V2YWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI2hhc0V2YWw7XG4gIH1cblxuICBoYXMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVMb2NhbHMuaW5kZXhPZihuYW1lKSAhPT0gLTE7XG4gIH1cblxuICBnZXQobmFtZTogc3RyaW5nKTogW251bWJlciwgYm9vbGVhbl0ge1xuICAgIGxldCBpbmRleCA9IHRoaXMudXNlZFRlbXBsYXRlTG9jYWxzLmluZGV4T2YobmFtZSk7XG5cbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICByZXR1cm4gW2luZGV4LCB0cnVlXTtcbiAgICB9XG5cbiAgICBpbmRleCA9IHRoaXMudXNlZFRlbXBsYXRlTG9jYWxzLmxlbmd0aDtcbiAgICB0aGlzLnVzZWRUZW1wbGF0ZUxvY2Fscy5wdXNoKG5hbWUpO1xuICAgIHJldHVybiBbaW5kZXgsIHRydWVdO1xuICB9XG5cbiAgZ2V0TG9jYWxzTWFwKCk6IERpY3Q8bnVtYmVyPiB7XG4gICAgcmV0dXJuIGRpY3QoKTtcbiAgfVxuXG4gIGdldEV2YWxJbmZvKCk6IENvcmUuRXZhbEluZm8ge1xuICAgIGxldCBsb2NhbHMgPSB0aGlzLmdldExvY2Fsc01hcCgpO1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhsb2NhbHMpLm1hcCgoc3ltYm9sKSA9PiBsb2NhbHNbc3ltYm9sXSk7XG4gIH1cblxuICBhbGxvY2F0ZUZyZWUobmFtZTogc3RyaW5nLCByZXNvbHV0aW9uOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbik6IG51bWJlciB7XG4gICAgLy8gSWYgdGhlIG5hbWUgaW4gcXVlc3Rpb24gaXMgYW4gdXBwZXJjYXNlIChpLmUuIGFuZ2xlLWJyYWNrZXQpIGNvbXBvbmVudCBpbnZvY2F0aW9uLCBydW5cbiAgICAvLyB0aGUgb3B0aW9uYWwgYGN1c3RvbWl6ZUNvbXBvbmVudE5hbWVgIGZ1bmN0aW9uIHByb3ZpZGVkIHRvIHRoZSBwcmVjb21waWxlci5cbiAgICBpZiAoXG4gICAgICByZXNvbHV0aW9uLnJlc29sdXRpb24oKSA9PT0gU2V4cE9wY29kZXMuR2V0RnJlZUFzQ29tcG9uZW50SGVhZCAmJlxuICAgICAgcmVzb2x1dGlvbi5pc0FuZ2xlQnJhY2tldCAmJlxuICAgICAgaXNVcHBlckNhc2UobmFtZSlcbiAgICApIHtcbiAgICAgIG5hbWUgPSB0aGlzLmN1c3RvbWl6ZUNvbXBvbmVudE5hbWUobmFtZSk7XG4gICAgfVxuXG4gICAgbGV0IGluZGV4ID0gdGhpcy51cHZhcnMuaW5kZXhPZihuYW1lKTtcblxuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG5cbiAgICBpbmRleCA9IHRoaXMudXB2YXJzLmxlbmd0aDtcbiAgICB0aGlzLnVwdmFycy5wdXNoKG5hbWUpO1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIGFsbG9jYXRlTmFtZWQobmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBsZXQgbmFtZWQgPSB0aGlzLm5hbWVkW25hbWVdO1xuXG4gICAgaWYgKCFuYW1lZCkge1xuICAgICAgbmFtZWQgPSB0aGlzLm5hbWVkW25hbWVdID0gdGhpcy5hbGxvY2F0ZShuYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmFtZWQ7XG4gIH1cblxuICBhbGxvY2F0ZUJsb2NrKG5hbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgaWYgKG5hbWUgPT09ICdpbnZlcnNlJykge1xuICAgICAgbmFtZSA9ICdlbHNlJztcbiAgICB9XG5cbiAgICBsZXQgYmxvY2sgPSB0aGlzLmJsb2Nrc1tuYW1lXTtcblxuICAgIGlmICghYmxvY2spIHtcbiAgICAgIGJsb2NrID0gdGhpcy5ibG9ja3NbbmFtZV0gPSB0aGlzLmFsbG9jYXRlKGAmJHtuYW1lfWApO1xuICAgIH1cblxuICAgIHJldHVybiBibG9jaztcbiAgfVxuXG4gIGFsbG9jYXRlKGlkZW50aWZpZXI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgdGhpcy5zeW1ib2xzLnB1c2goaWRlbnRpZmllcik7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSsrO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBCbG9ja1N5bWJvbFRhYmxlIGV4dGVuZHMgU3ltYm9sVGFibGUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudDogU3ltYm9sVGFibGUsIHB1YmxpYyBzeW1ib2xzOiBzdHJpbmdbXSwgcHVibGljIHNsb3RzOiBudW1iZXJbXSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBnZXQgbG9jYWxzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5zeW1ib2xzO1xuICB9XG5cbiAgaGFzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbHMuaW5kZXhPZihuYW1lKSAhPT0gLTEgfHwgdGhpcy5wYXJlbnQuaGFzKG5hbWUpO1xuICB9XG5cbiAgZ2V0KG5hbWU6IHN0cmluZyk6IFtudW1iZXIsIGJvb2xlYW5dIHtcbiAgICBsZXQgc2xvdCA9IHRoaXMuc3ltYm9scy5pbmRleE9mKG5hbWUpO1xuICAgIHJldHVybiBzbG90ID09PSAtMSA/IHRoaXMucGFyZW50LmdldChuYW1lKSA6IFt0aGlzLnNsb3RzW3Nsb3RdLCBmYWxzZV07XG4gIH1cblxuICBnZXRMb2NhbHNNYXAoKTogRGljdDxudW1iZXI+IHtcbiAgICBsZXQgZGljdCA9IHRoaXMucGFyZW50LmdldExvY2Fsc01hcCgpO1xuICAgIHRoaXMuc3ltYm9scy5mb3JFYWNoKChzeW1ib2wpID0+IChkaWN0W3N5bWJvbF0gPSB0aGlzLmdldChzeW1ib2wpWzBdKSk7XG4gICAgcmV0dXJuIGRpY3Q7XG4gIH1cblxuICBnZXRFdmFsSW5mbygpOiBDb3JlLkV2YWxJbmZvIHtcbiAgICBsZXQgbG9jYWxzID0gdGhpcy5nZXRMb2NhbHNNYXAoKTtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMobG9jYWxzKS5tYXAoKHN5bWJvbCkgPT4gbG9jYWxzW3N5bWJvbF0pO1xuICB9XG5cbiAgc2V0SGFzRXZhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnBhcmVudC5zZXRIYXNFdmFsKCk7XG4gIH1cblxuICBhbGxvY2F0ZUZyZWUobmFtZTogc3RyaW5nLCByZXNvbHV0aW9uOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmFsbG9jYXRlRnJlZShuYW1lLCByZXNvbHV0aW9uKTtcbiAgfVxuXG4gIGFsbG9jYXRlTmFtZWQobmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuYWxsb2NhdGVOYW1lZChuYW1lKTtcbiAgfVxuXG4gIGFsbG9jYXRlQmxvY2sobmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuYWxsb2NhdGVCbG9jayhuYW1lKTtcbiAgfVxuXG4gIGFsbG9jYXRlKGlkZW50aWZpZXI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmFsbG9jYXRlKGlkZW50aWZpZXIpO1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9

@@ -83,2 +83,8 @@ import { generateSyntaxError } from './syntax-error'; // Regex to validate the identifier for block parameters.

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsU0FBQSxtQkFBQSxRQUFBLGdCQUFBLEMsQ0FJQTtBQUNBOztBQUVBLElBQUksa0JBQWtCLEdBQXRCLDRCQUFBLEMsQ0FFQTtBQUNBO0FBQ0E7O0FBRUEsT0FBTSxTQUFBLHVCQUFBLENBQUEsT0FBQSxFQUE0RDtBQUNoRSxNQUFJLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBN0IsT0FBNkIsQ0FBN0I7QUFDQSxNQUFBLE1BQUEsRUFBWSxPQUFPLENBQVAsV0FBQSxHQUFBLE1BQUE7QUFDYjs7QUFFRCxTQUFBLGdCQUFBLENBQUEsT0FBQSxFQUFvRDtBQUNsRCxNQUFJLENBQUMsR0FBRyxPQUFPLENBQVAsVUFBQSxDQUFSLE1BQUE7QUFDQSxNQUFJLFNBQVMsR0FBYixFQUFBOztBQUVBLE9BQUssSUFBSSxDQUFDLEdBQVYsQ0FBQSxFQUFnQixDQUFDLEdBQWpCLENBQUEsRUFBdUIsQ0FBdkIsRUFBQSxFQUE0QjtBQUMxQixJQUFBLFNBQVMsQ0FBVCxJQUFBLENBQWUsT0FBTyxDQUFQLFVBQUEsQ0FBQSxDQUFBLEVBQWYsSUFBQTtBQUNEOztBQUVELE1BQUksT0FBTyxHQUFHLFNBQVMsQ0FBVCxPQUFBLENBQWQsSUFBYyxDQUFkOztBQUVBLE1BQUksT0FBTyxLQUFLLENBQVosQ0FBQSxJQUFrQixTQUFTLENBQVQsTUFBQSxHQUFsQixDQUFBLElBQTBDLFNBQVMsQ0FBQyxTQUFTLENBQVQsTUFBQSxHQUFWLENBQVMsQ0FBVCxDQUFBLE1BQUEsQ0FBQSxDQUFBLE1BQTlDLEdBQUEsRUFBaUc7QUFDL0YsVUFBTSxtQkFBbUIsQ0FBQSwrRkFBQSxFQUV2QixPQUFPLENBRlQsR0FBeUIsQ0FBekI7QUFJRDs7QUFFRCxNQUFJLE9BQU8sS0FBSyxDQUFaLENBQUEsSUFBa0IsQ0FBQyxHQUFuQixPQUFBLElBQWlDLFNBQVMsQ0FBQyxPQUFPLEdBQWpCLENBQVMsQ0FBVCxDQUFBLE1BQUEsQ0FBQSxDQUFBLE1BQXJDLEdBQUEsRUFBK0U7QUFDN0U7QUFDQSxRQUFJLFlBQVksR0FBRyxTQUFTLENBQVQsS0FBQSxDQUFBLE9BQUEsRUFBQSxJQUFBLENBQW5CLEdBQW1CLENBQW5COztBQUNBLFFBQ0UsWUFBWSxDQUFaLE1BQUEsQ0FBb0IsWUFBWSxDQUFaLE1BQUEsR0FBcEIsQ0FBQSxNQUFBLEdBQUEsSUFDTyxZQUFZLENBQVosS0FBQSxDQUFQLEtBQU8sRUFBUCxNQUFPLEtBRlQsQ0FBQSxFQUdFO0FBQ0EsWUFBTSxtQkFBbUIsQ0FDdkIsdUNBQUEsWUFBQSxHQUR1QixHQUFBLEVBRXZCLE9BQU8sQ0FGVCxHQUF5QixDQUF6QjtBQUlEOztBQUVELFFBQUksTUFBTSxHQUFWLEVBQUE7O0FBQ0EsU0FBSyxJQUFJLEVBQUMsR0FBRyxPQUFPLEdBQXBCLENBQUEsRUFBMEIsRUFBQyxHQUEzQixDQUFBLEVBQWlDLEVBQWpDLEVBQUEsRUFBc0M7QUFDcEMsVUFBSSxLQUFLLEdBQUcsU0FBUyxDQUFULEVBQVMsQ0FBVCxDQUFBLE9BQUEsQ0FBQSxLQUFBLEVBQVosRUFBWSxDQUFaOztBQUNBLFVBQUksS0FBSyxLQUFULEVBQUEsRUFBa0I7QUFDaEIsWUFBSSxrQkFBa0IsQ0FBbEIsSUFBQSxDQUFKLEtBQUksQ0FBSixFQUFvQztBQUNsQyxnQkFBTSxtQkFBbUIsQ0FDdkIsK0NBQUEsS0FBQSxHQUR1QixHQUFBLEVBRXZCLE9BQU8sQ0FGVCxHQUF5QixDQUF6QjtBQUlEOztBQUNELFFBQUEsTUFBTSxDQUFOLElBQUEsQ0FBQSxLQUFBO0FBQ0Q7QUFDRjs7QUFFRCxRQUFJLE1BQU0sQ0FBTixNQUFBLEtBQUosQ0FBQSxFQUF5QjtBQUN2QixZQUFNLG1CQUFtQixDQUFBLGtDQUFBLEVBQXFDLE9BQU8sQ0FBckUsR0FBeUIsQ0FBekI7QUFDRDs7QUFFRCxJQUFBLE9BQU8sQ0FBUCxVQUFBLEdBQXFCLE9BQU8sQ0FBUCxVQUFBLENBQUEsS0FBQSxDQUFBLENBQUEsRUFBckIsT0FBcUIsQ0FBckI7QUFDQSxXQUFBLE1BQUE7QUFDRDs7QUFFRCxTQUFBLElBQUE7QUFDRDs7QUFFRCxPQUFNLFNBQUEsV0FBQSxDQUFBLElBQUEsRUFDa0Q7QUFFdEQsVUFBUSxJQUFJLENBQVosSUFBQTtBQUNFLFNBQUEsT0FBQTtBQUNBLFNBQUEsVUFBQTtBQUNFLGFBQU8sSUFBSSxDQUFYLElBQUE7O0FBQ0YsU0FBQSxhQUFBO0FBQ0UsYUFBTyxJQUFJLENBQVgsUUFBQTtBQUxKO0FBT0Q7QUFFRCxPQUFNLFNBQUEsV0FBQSxDQUFBLE1BQUEsRUFBQSxJQUFBLEVBRWlCO0FBRXJCLEVBQUEsV0FBVyxDQUFYLE1BQVcsQ0FBWCxDQUFBLElBQUEsQ0FBQSxJQUFBO0FBQ0Q7QUFJRCxPQUFNLFNBQUEsWUFBQSxDQUFBLElBQUEsRUFDbUM7QUFFdkMsU0FDRSxJQUFJLENBQUosSUFBQSxLQUFBLGVBQUEsSUFDQSxJQUFJLENBQUosSUFBQSxLQURBLGdCQUFBLElBRUEsSUFBSSxDQUFKLElBQUEsS0FGQSxlQUFBLElBR0EsSUFBSSxDQUFKLElBQUEsS0FIQSxhQUFBLElBSUEsSUFBSSxDQUFKLElBQUEsS0FMRixrQkFBQTtBQU9EO0FBRUQsT0FBTSxTQUFBLFlBQUEsQ0FBQSxPQUFBLEVBQTZDO0FBQ2pELE1BQUksT0FBTyxDQUFQLElBQUEsS0FBSixrQkFBQSxFQUF5QztBQUN2QyxXQUFBLFdBQUE7QUFERixHQUFBLE1BRU87QUFDTCxXQUFPLElBQUksQ0FBSixTQUFBLENBQWUsT0FBTyxDQUE3QixLQUFPLENBQVA7QUFDRDtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBleHBlY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcblxuaW1wb3J0IHsgZ2VuZXJhdGVTeW50YXhFcnJvciB9IGZyb20gJy4vc3ludGF4LWVycm9yJztcbmltcG9ydCAqIGFzIEFTVHYxIGZyb20gJy4vdjEvYXBpJztcbmltcG9ydCAqIGFzIEhCUyBmcm9tICcuL3YxL2hhbmRsZWJhcnMtYXN0JztcblxuLy8gUmVnZXggdG8gdmFsaWRhdGUgdGhlIGlkZW50aWZpZXIgZm9yIGJsb2NrIHBhcmFtZXRlcnMuXG4vLyBCYXNlZCBvbiB0aGUgSUQgdmFsaWRhdGlvbiByZWdleCBpbiBIYW5kbGViYXJzLlxuXG5sZXQgSURfSU5WRVJTRV9QQVRURVJOID0gL1shXCIjJS0sXFwuXFwvOy0+QFxcWy1cXF5gXFx7LX5dLztcblxuLy8gQ2hlY2tzIHRoZSBlbGVtZW50J3MgYXR0cmlidXRlcyB0byBzZWUgaWYgaXQgdXNlcyBibG9jayBwYXJhbXMuXG4vLyBJZiBpdCBkb2VzLCByZWdpc3RlcnMgdGhlIGJsb2NrIHBhcmFtcyB3aXRoIHRoZSBwcm9ncmFtIGFuZFxuLy8gcmVtb3ZlcyB0aGUgY29ycmVzcG9uZGluZyBhdHRyaWJ1dGVzIGZyb20gdGhlIGVsZW1lbnQuXG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUVsZW1lbnRCbG9ja1BhcmFtcyhlbGVtZW50OiBBU1R2MS5FbGVtZW50Tm9kZSk6IHZvaWQge1xuICBsZXQgcGFyYW1zID0gcGFyc2VCbG9ja1BhcmFtcyhlbGVtZW50KTtcbiAgaWYgKHBhcmFtcykgZWxlbWVudC5ibG9ja1BhcmFtcyA9IHBhcmFtcztcbn1cblxuZnVuY3Rpb24gcGFyc2VCbG9ja1BhcmFtcyhlbGVtZW50OiBBU1R2MS5FbGVtZW50Tm9kZSk6IE9wdGlvbjxzdHJpbmdbXT4ge1xuICBsZXQgbCA9IGVsZW1lbnQuYXR0cmlidXRlcy5sZW5ndGg7XG4gIGxldCBhdHRyTmFtZXMgPSBbXTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgIGF0dHJOYW1lcy5wdXNoKGVsZW1lbnQuYXR0cmlidXRlc1tpXS5uYW1lKTtcbiAgfVxuXG4gIGxldCBhc0luZGV4ID0gYXR0ck5hbWVzLmluZGV4T2YoJ2FzJyk7XG5cbiAgaWYgKGFzSW5kZXggPT09IC0xICYmIGF0dHJOYW1lcy5sZW5ndGggPiAwICYmIGF0dHJOYW1lc1thdHRyTmFtZXMubGVuZ3RoIC0gMV0uY2hhckF0KDApID09PSAnfCcpIHtcbiAgICB0aHJvdyBnZW5lcmF0ZVN5bnRheEVycm9yKFxuICAgICAgJ0Jsb2NrIHBhcmFtZXRlcnMgbXVzdCBiZSBwcmVjZWRlZCBieSB0aGUgYGFzYCBrZXl3b3JkLCBkZXRlY3RlZCBibG9jayBwYXJhbWV0ZXJzIHdpdGhvdXQgYGFzYCcsXG4gICAgICBlbGVtZW50LmxvY1xuICAgICk7XG4gIH1cblxuICBpZiAoYXNJbmRleCAhPT0gLTEgJiYgbCA+IGFzSW5kZXggJiYgYXR0ck5hbWVzW2FzSW5kZXggKyAxXS5jaGFyQXQoMCkgPT09ICd8Jykge1xuICAgIC8vIFNvbWUgYmFzaWMgdmFsaWRhdGlvbiwgc2luY2Ugd2UncmUgZG9pbmcgdGhlIHBhcnNpbmcgb3Vyc2VsdmVzXG4gICAgbGV0IHBhcmFtc1N0cmluZyA9IGF0dHJOYW1lcy5zbGljZShhc0luZGV4KS5qb2luKCcgJyk7XG4gICAgaWYgKFxuICAgICAgcGFyYW1zU3RyaW5nLmNoYXJBdChwYXJhbXNTdHJpbmcubGVuZ3RoIC0gMSkgIT09ICd8JyB8fFxuICAgICAgZXhwZWN0KHBhcmFtc1N0cmluZy5tYXRjaCgvXFx8L2cpLCBgYmxvY2sgcGFyYW1zIG11c3QgZXhpc3QgaGVyZWApLmxlbmd0aCAhPT0gMlxuICAgICkge1xuICAgICAgdGhyb3cgZ2VuZXJhdGVTeW50YXhFcnJvcihcbiAgICAgICAgXCJJbnZhbGlkIGJsb2NrIHBhcmFtZXRlcnMgc3ludGF4LCAnXCIgKyBwYXJhbXNTdHJpbmcgKyBcIidcIixcbiAgICAgICAgZWxlbWVudC5sb2NcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IHBhcmFtcyA9IFtdO1xuICAgIGZvciAobGV0IGkgPSBhc0luZGV4ICsgMTsgaSA8IGw7IGkrKykge1xuICAgICAgbGV0IHBhcmFtID0gYXR0ck5hbWVzW2ldLnJlcGxhY2UoL1xcfC9nLCAnJyk7XG4gICAgICBpZiAocGFyYW0gIT09ICcnKSB7XG4gICAgICAgIGlmIChJRF9JTlZFUlNFX1BBVFRFUk4udGVzdChwYXJhbSkpIHtcbiAgICAgICAgICB0aHJvdyBnZW5lcmF0ZVN5bnRheEVycm9yKFxuICAgICAgICAgICAgXCJJbnZhbGlkIGlkZW50aWZpZXIgZm9yIGJsb2NrIHBhcmFtZXRlcnMsICdcIiArIHBhcmFtICsgXCInXCIsXG4gICAgICAgICAgICBlbGVtZW50LmxvY1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcGFyYW1zLnB1c2gocGFyYW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwYXJhbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBnZW5lcmF0ZVN5bnRheEVycm9yKCdDYW5ub3QgdXNlIHplcm8gYmxvY2sgcGFyYW1ldGVycycsIGVsZW1lbnQubG9jKTtcbiAgICB9XG5cbiAgICBlbGVtZW50LmF0dHJpYnV0ZXMgPSBlbGVtZW50LmF0dHJpYnV0ZXMuc2xpY2UoMCwgYXNJbmRleCk7XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hpbGRyZW5Gb3IoXG4gIG5vZGU6IEFTVHYxLkJsb2NrIHwgQVNUdjEuVGVtcGxhdGUgfCBBU1R2MS5FbGVtZW50Tm9kZVxuKTogQVNUdjEuVG9wTGV2ZWxTdGF0ZW1lbnRbXSB7XG4gIHN3aXRjaCAobm9kZS50eXBlKSB7XG4gICAgY2FzZSAnQmxvY2snOlxuICAgIGNhc2UgJ1RlbXBsYXRlJzpcbiAgICAgIHJldHVybiBub2RlLmJvZHk7XG4gICAgY2FzZSAnRWxlbWVudE5vZGUnOlxuICAgICAgcmV0dXJuIG5vZGUuY2hpbGRyZW47XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZENoaWxkKFxuICBwYXJlbnQ6IEFTVHYxLkJsb2NrIHwgQVNUdjEuVGVtcGxhdGUgfCBBU1R2MS5FbGVtZW50Tm9kZSxcbiAgbm9kZTogQVNUdjEuU3RhdGVtZW50XG4pOiB2b2lkIHtcbiAgY2hpbGRyZW5Gb3IocGFyZW50KS5wdXNoKG5vZGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNIQlNMaXRlcmFsKHBhdGg6IEhCUy5FeHByZXNzaW9uKTogcGF0aCBpcyBIQlMuTGl0ZXJhbDtcbmV4cG9ydCBmdW5jdGlvbiBpc0hCU0xpdGVyYWwocGF0aDogQVNUdjEuRXhwcmVzc2lvbik6IHBhdGggaXMgQVNUdjEuTGl0ZXJhbDtcbmV4cG9ydCBmdW5jdGlvbiBpc0hCU0xpdGVyYWwoXG4gIHBhdGg6IEhCUy5FeHByZXNzaW9uIHwgQVNUdjEuRXhwcmVzc2lvblxuKTogcGF0aCBpcyBIQlMuTGl0ZXJhbCB8IEFTVHYxLkxpdGVyYWwge1xuICByZXR1cm4gKFxuICAgIHBhdGgudHlwZSA9PT0gJ1N0cmluZ0xpdGVyYWwnIHx8XG4gICAgcGF0aC50eXBlID09PSAnQm9vbGVhbkxpdGVyYWwnIHx8XG4gICAgcGF0aC50eXBlID09PSAnTnVtYmVyTGl0ZXJhbCcgfHxcbiAgICBwYXRoLnR5cGUgPT09ICdOdWxsTGl0ZXJhbCcgfHxcbiAgICBwYXRoLnR5cGUgPT09ICdVbmRlZmluZWRMaXRlcmFsJ1xuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRMaXRlcmFsKGxpdGVyYWw6IEFTVHYxLkxpdGVyYWwpOiBzdHJpbmcge1xuICBpZiAobGl0ZXJhbC50eXBlID09PSAnVW5kZWZpbmVkTGl0ZXJhbCcpIHtcbiAgICByZXR1cm4gJ3VuZGVmaW5lZCc7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGxpdGVyYWwudmFsdWUpO1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9
export function isUpperCase(tag) {
return tag[0] === tag[0].toUpperCase() && tag[0] !== tag[0].toLowerCase();
}
export function isLowerCase(tag) {
return tag[0] === tag[0].toLowerCase() && tag[0] !== tag[0].toUpperCase();
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsU0FBQSxtQkFBQSxRQUFBLGdCQUFBLEMsQ0FJQTtBQUNBOztBQUVBLElBQUksa0JBQWtCLEdBQXRCLDRCQUFBLEMsQ0FFQTtBQUNBO0FBQ0E7O0FBRUEsT0FBTSxTQUFBLHVCQUFBLENBQUEsT0FBQSxFQUE0RDtBQUNoRSxNQUFJLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBN0IsT0FBNkIsQ0FBN0I7QUFDQSxNQUFBLE1BQUEsRUFBWSxPQUFPLENBQVAsV0FBQSxHQUFBLE1BQUE7QUFDYjs7QUFFRCxTQUFBLGdCQUFBLENBQUEsT0FBQSxFQUFvRDtBQUNsRCxNQUFJLENBQUMsR0FBRyxPQUFPLENBQVAsVUFBQSxDQUFSLE1BQUE7QUFDQSxNQUFJLFNBQVMsR0FBYixFQUFBOztBQUVBLE9BQUssSUFBSSxDQUFDLEdBQVYsQ0FBQSxFQUFnQixDQUFDLEdBQWpCLENBQUEsRUFBdUIsQ0FBdkIsRUFBQSxFQUE0QjtBQUMxQixJQUFBLFNBQVMsQ0FBVCxJQUFBLENBQWUsT0FBTyxDQUFQLFVBQUEsQ0FBQSxDQUFBLEVBQWYsSUFBQTtBQUNEOztBQUVELE1BQUksT0FBTyxHQUFHLFNBQVMsQ0FBVCxPQUFBLENBQWQsSUFBYyxDQUFkOztBQUVBLE1BQUksT0FBTyxLQUFLLENBQVosQ0FBQSxJQUFrQixTQUFTLENBQVQsTUFBQSxHQUFsQixDQUFBLElBQTBDLFNBQVMsQ0FBQyxTQUFTLENBQVQsTUFBQSxHQUFWLENBQVMsQ0FBVCxDQUFBLE1BQUEsQ0FBQSxDQUFBLE1BQTlDLEdBQUEsRUFBaUc7QUFDL0YsVUFBTSxtQkFBbUIsQ0FBQSwrRkFBQSxFQUV2QixPQUFPLENBRlQsR0FBeUIsQ0FBekI7QUFJRDs7QUFFRCxNQUFJLE9BQU8sS0FBSyxDQUFaLENBQUEsSUFBa0IsQ0FBQyxHQUFuQixPQUFBLElBQWlDLFNBQVMsQ0FBQyxP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QSxXQUFBLENBQUEsR0FBQSxFQUFpQztBQUNyQyxTQUFPLEdBQUcsQ0FBSCxDQUFHLENBQUgsS0FBVyxHQUFHLENBQUgsQ0FBRyxDQUFILENBQVgsV0FBVyxFQUFYLElBQW1DLEdBQUcsQ0FBSCxDQUFHLENBQUgsS0FBVyxHQUFHLENBQUgsQ0FBRyxDQUFILENBQXJELFdBQXFELEVBQXJEO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb24gfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGV4cGVjdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuXG5pbXBvcnQgeyBnZW5lcmF0ZVN5bnRheEVycm9yIH0gZnJvbSAnLi9zeW50YXgtZXJyb3InO1xuaW1wb3J0ICogYXMgQVNUdjEgZnJvbSAnLi92MS9hcGknO1xuaW1wb3J0ICogYXMgSEJTIGZyb20gJy4vdjEvaGFuZGxlYmFycy1hc3QnO1xuXG4vLyBSZWdleCB0byB2YWxpZGF0ZSB0aGUgaWRlbnRpZmllciBmb3IgYmxvY2sgcGFyYW1ldGVycy5cbi8vIEJhc2VkIG9uIHRoZSBJRCB2YWxpZGF0aW9uIHJlZ2V4IGluIEhhbmRsZWJhcnMuXG5cbmxldCBJRF9JTlZFUlNFX1BBVFRFUk4gPSAvWyFcIiMlLSxcXC5cXC87LT5AXFxbLVxcXmBcXHstfl0vO1xuXG4vLyBDaGVja3MgdGhlIGVsZW1lbnQncyBhdHRyaWJ1dGVzIHRvIHNlZSBpZiBpdCB1c2VzIGJsb2NrIHBhcmFtcy5cbi8vIElmIGl0IGRvZXMsIHJlZ2lzdGVycyB0aGUgYmxvY2sgcGFyYW1zIHdpdGggdGhlIHByb2dyYW0gYW5kXG4vLyByZW1vdmVzIHRoZSBjb3JyZXNwb25kaW5nIGF0dHJpYnV0ZXMgZnJvbSB0aGUgZWxlbWVudC5cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRWxlbWVudEJsb2NrUGFyYW1zKGVsZW1lbnQ6IEFTVHYxLkVsZW1lbnROb2RlKTogdm9pZCB7XG4gIGxldCBwYXJhbXMgPSBwYXJzZUJsb2NrUGFyYW1zKGVsZW1lbnQpO1xuICBpZiAocGFyYW1zKSBlbGVtZW50LmJsb2NrUGFyYW1zID0gcGFyYW1zO1xufVxuXG5mdW5jdGlvbiBwYXJzZUJsb2NrUGFyYW1zKGVsZW1lbnQ6IEFTVHYxLkVsZW1lbnROb2RlKTogT3B0aW9uPHN0cmluZ1tdPiB7XG4gIGxldCBsID0gZWxlbWVudC5hdHRyaWJ1dGVzLmxlbmd0aDtcbiAgbGV0IGF0dHJOYW1lcyA9IFtdO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAgYXR0ck5hbWVzLnB1c2goZWxlbWVudC5hdHRyaWJ1dGVzW2ldLm5hbWUpO1xuICB9XG5cbiAgbGV0IGFzSW5kZXggPSBhdHRyTmFtZXMuaW5kZXhPZignYXMnKTtcblxuICBpZiAoYXNJbmRleCA9PT0gLTEgJiYgYXR0ck5hbWVzLmxlbmd0aCA+IDAgJiYgYXR0ck5hbWVzW2F0dHJOYW1lcy5sZW5ndGggLSAxXS5jaGFyQXQoMCkgPT09ICd8Jykge1xuICAgIHRocm93IGdlbmVyYXRlU3ludGF4RXJyb3IoXG4gICAgICAnQmxvY2sgcGFyYW1ldGVycyBtdXN0IGJlIHByZWNlZGVkIGJ5IHRoZSBgYXNgIGtleXdvcmQsIGRldGVjdGVkIGJsb2NrIHBhcmFtZXRlcnMgd2l0aG91dCBgYXNgJyxcbiAgICAgIGVsZW1lbnQubG9jXG4gICAgKTtcbiAgfVxuXG4gIGlmIChhc0luZGV4ICE9PSAtMSAmJiBsID4gYXNJbmRleCAmJiBhdHRyTmFtZXNbYXNJbmRleCArIDFdLmNoYXJBdCgwKSA9PT0gJ3wnKSB7XG4gICAgLy8gU29tZSBiYXNpYyB2YWxpZGF0aW9uLCBzaW5jZSB3ZSdyZSBkb2luZyB0aGUgcGFyc2luZyBvdXJzZWx2ZXNcbiAgICBsZXQgcGFyYW1zU3RyaW5nID0gYXR0ck5hbWVzLnNsaWNlKGFzSW5kZXgpLmpvaW4oJyAnKTtcbiAgICBpZiAoXG4gICAgICBwYXJhbXNTdHJpbmcuY2hhckF0KHBhcmFtc1N0cmluZy5sZW5ndGggLSAxKSAhPT0gJ3wnIHx8XG4gICAgICBleHBlY3QocGFyYW1zU3RyaW5nLm1hdGNoKC9cXHwvZyksIGBibG9jayBwYXJhbXMgbXVzdCBleGlzdCBoZXJlYCkubGVuZ3RoICE9PSAyXG4gICAgKSB7XG4gICAgICB0aHJvdyBnZW5lcmF0ZVN5bnRheEVycm9yKFxuICAgICAgICBcIkludmFsaWQgYmxvY2sgcGFyYW1ldGVycyBzeW50YXgsICdcIiArIHBhcmFtc1N0cmluZyArIFwiJ1wiLFxuICAgICAgICBlbGVtZW50LmxvY1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgcGFyYW1zID0gW107XG4gICAgZm9yIChsZXQgaSA9IGFzSW5kZXggKyAxOyBpIDwgbDsgaSsrKSB7XG4gICAgICBsZXQgcGFyYW0gPSBhdHRyTmFtZXNbaV0ucmVwbGFjZSgvXFx8L2csICcnKTtcbiAgICAgIGlmIChwYXJhbSAhPT0gJycpIHtcbiAgICAgICAgaWYgKElEX0lOVkVSU0VfUEFUVEVSTi50ZXN0KHBhcmFtKSkge1xuICAgICAgICAgIHRocm93IGdlbmVyYXRlU3ludGF4RXJyb3IoXG4gICAgICAgICAgICBcIkludmFsaWQgaWRlbnRpZmllciBmb3IgYmxvY2sgcGFyYW1ldGVycywgJ1wiICsgcGFyYW0gKyBcIidcIixcbiAgICAgICAgICAgIGVsZW1lbnQubG9jXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBwYXJhbXMucHVzaChwYXJhbSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IGdlbmVyYXRlU3ludGF4RXJyb3IoJ0Nhbm5vdCB1c2UgemVybyBibG9jayBwYXJhbWV0ZXJzJywgZWxlbWVudC5sb2MpO1xuICAgIH1cblxuICAgIGVsZW1lbnQuYXR0cmlidXRlcyA9IGVsZW1lbnQuYXR0cmlidXRlcy5zbGljZSgwLCBhc0luZGV4KTtcbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGlsZHJlbkZvcihcbiAgbm9kZTogQVNUdjEuQmxvY2sgfCBBU1R2MS5UZW1wbGF0ZSB8IEFTVHYxLkVsZW1lbnROb2RlXG4pOiBBU1R2MS5Ub3BMZXZlbFN0YXRlbWVudFtdIHtcbiAgc3dpdGNoIChub2RlLnR5cGUpIHtcbiAgICBjYXNlICdCbG9jayc6XG4gICAgY2FzZSAnVGVtcGxhdGUnOlxuICAgICAgcmV0dXJuIG5vZGUuYm9keTtcbiAgICBjYXNlICdFbGVtZW50Tm9kZSc6XG4gICAgICByZXR1cm4gbm9kZS5jaGlsZHJlbjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kQ2hpbGQoXG4gIHBhcmVudDogQVNUdjEuQmxvY2sgfCBBU1R2MS5UZW1wbGF0ZSB8IEFTVHYxLkVsZW1lbnROb2RlLFxuICBub2RlOiBBU1R2MS5TdGF0ZW1lbnRcbik6IHZvaWQge1xuICBjaGlsZHJlbkZvcihwYXJlbnQpLnB1c2gobm9kZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0hCU0xpdGVyYWwocGF0aDogSEJTLkV4cHJlc3Npb24pOiBwYXRoIGlzIEhCUy5MaXRlcmFsO1xuZXhwb3J0IGZ1bmN0aW9uIGlzSEJTTGl0ZXJhbChwYXRoOiBBU1R2MS5FeHByZXNzaW9uKTogcGF0aCBpcyBBU1R2MS5MaXRlcmFsO1xuZXhwb3J0IGZ1bmN0aW9uIGlzSEJTTGl0ZXJhbChcbiAgcGF0aDogSEJTLkV4cHJlc3Npb24gfCBBU1R2MS5FeHByZXNzaW9uXG4pOiBwYXRoIGlzIEhCUy5MaXRlcmFsIHwgQVNUdjEuTGl0ZXJhbCB7XG4gIHJldHVybiAoXG4gICAgcGF0aC50eXBlID09PSAnU3RyaW5nTGl0ZXJhbCcgfHxcbiAgICBwYXRoLnR5cGUgPT09ICdCb29sZWFuTGl0ZXJhbCcgfHxcbiAgICBwYXRoLnR5cGUgPT09ICdOdW1iZXJMaXRlcmFsJyB8fFxuICAgIHBhdGgudHlwZSA9PT0gJ051bGxMaXRlcmFsJyB8fFxuICAgIHBhdGgudHlwZSA9PT0gJ1VuZGVmaW5lZExpdGVyYWwnXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmludExpdGVyYWwobGl0ZXJhbDogQVNUdjEuTGl0ZXJhbCk6IHN0cmluZyB7XG4gIGlmIChsaXRlcmFsLnR5cGUgPT09ICdVbmRlZmluZWRMaXRlcmFsJykge1xuICAgIHJldHVybiAndW5kZWZpbmVkJztcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobGl0ZXJhbC52YWx1ZSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVXBwZXJDYXNlKHRhZzogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiB0YWdbMF0gPT09IHRhZ1swXS50b1VwcGVyQ2FzZSgpICYmIHRhZ1swXSAhPT0gdGFnWzBdLnRvTG93ZXJDYXNlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xvd2VyQ2FzZSh0YWc6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gdGFnWzBdID09PSB0YWdbMF0udG9Mb3dlckNhc2UoKSAmJiB0YWdbMF0gIT09IHRhZ1swXS50b1VwcGVyQ2FzZSgpO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==

@@ -33,3 +33,3 @@ import * as ASTv2 from './api';

/* Component */
);
, true);
} else {

@@ -123,2 +123,2 @@ return null;

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjItYS9sb29zZS1yZXNvbHV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBUCxLQUFBLE1BQUEsT0FBQTtBQVlBLE9BQU0sU0FBQSxpQkFBQSxDQUFBLElBQUEsRUFBcUQ7QUFDekQsTUFBSSxjQUFjLENBQWxCLElBQWtCLENBQWxCLEVBQTBCO0FBQ3hCLFdBQU8sS0FBSyxDQUFMLG1CQUFBLENBQUEsVUFBQSxDQUFvQztBQUFBO0FBQXBDLEtBQVA7QUFERixHQUFBLE1BRU87QUFDTCxXQUFBLElBQUE7QUFDRDtBQUNGO0FBRUQsT0FBTSxTQUFBLHFCQUFBLENBQUEsSUFBQSxFQUNnQztBQUVwQyxNQUFJLGNBQWMsQ0FBbEIsSUFBa0IsQ0FBbEIsRUFBMEI7QUFDeEIsV0FBTyxLQUFLLENBQUwsbUJBQUEsQ0FBQSxVQUFBLENBQW9DO0FBQUE7QUFBcEMsS0FBUDtBQURGLEdBQUEsTUFFTztBQUNMLFdBQUEsSUFBQTtBQUNEO0FBQ0Y7QUFFRCxPQUFNLFNBQUEsa0JBQUEsQ0FBQSxJQUFBLEVBQXVEO0FBQzNELE1BQUksY0FBYyxDQUFsQixJQUFrQixDQUFsQixFQUEwQjtBQUN4QixXQUFPLEtBQUssQ0FBTCxtQkFBQSxDQUFBLFVBQUEsQ0FBb0M7QUFBQTtBQUFwQyxLQUFQO0FBREYsR0FBQSxNQUVPO0FBQ0wsV0FBTyxLQUFLLENBQUwsbUJBQUEsQ0FBUCxRQUFPLEVBQVA7QUFDRDtBQUNGO0FBRUQsT0FBTSxTQUFBLHNCQUFBLENBQUEsSUFBQSxFQUEyRDtBQUMvRCxNQUFJLFlBQVksQ0FBaEIsSUFBZ0IsQ0FBaEIsRUFBd0I7QUFDdEIsV0FBTyxLQUFLLENBQUwsbUJBQUEsQ0FBQSxVQUFBLENBQW9DO0FBQUE7QUFBcEMsS0FBUDtBQURGLEdBQUEsTUFFTztBQUNMLFdBQUEsSUFBQTtBQUNEO0FBQ0Y7QUFFRDs7Ozs7QUFJQSxPQUFNLFNBQUEsc0JBQUEsQ0FBQSxJQUFBLEVBQThEO0FBQ2xFLE1BQUksUUFBUSxHQUFHLGNBQWMsQ0FBN0IsSUFBNkIsQ0FBN0I7QUFDQSxNQUFJLFFBQVEsR0FBRyxZQUFZLENBQTNCLElBQTJCLENBQTNCOztBQUVBLE1BQUEsUUFBQSxFQUFjO0FBQ1osV0FBTyxRQUFRLEdBQ1gsS0FBSyxDQUFMLG1CQUFBLENBQUEsVUFBQSxDQUFvQztBQUFBO0FBQXBDLEtBRFcsR0FFWCxLQUFLLENBQUwsbUJBQUEsQ0FGSixJQUVJLEVBRko7QUFERixHQUFBLE1BSU87QUFDTCxXQUFPLFFBQVEsR0FBRyxLQUFLLENBQVIsaUJBQUEsR0FBNkIsS0FBSyxDQUFMLG1CQUFBLENBQTVDLFFBQTRDLEVBQTVDO0FBQ0Q7QUFDRjtBQUVEOzs7OztBQUlBLE9BQU0sU0FBQSxtQkFBQSxDQUFBLElBQUEsRUFBMkQ7QUFDL0QsTUFBSSxRQUFRLEdBQUcsY0FBYyxDQUE3QixJQUE2QixDQUE3QjtBQUNBLE1BQUksUUFBUSxHQUFHLFlBQVksQ0FBM0IsSUFBMkIsQ0FBM0I7QUFDQSxNQUFJLFFBQVEsR0FBRyxJQUFJLENBQW5CLFFBQUE7O0FBRUEsTUFBQSxRQUFBLEVBQWM7QUFDWixXQUFPLFFBQVEsR0FDWCxLQUFLLENBQUwsbUJBQUEsQ0FBQSxjQUFBLENBQXlDO0FBQUUsTUFBQSxNQUFNLEVBQUU7QUFBVixLQUF6QyxDQURXLEdBRVgsS0FBSyxDQUFMLG1CQUFBLENBQUEsTUFBQSxDQUFpQztBQUFFLE1BQUEsTUFBTSxFQUFFO0FBQVYsS0FBakMsQ0FGSjtBQURGLEdBQUEsTUFJTztBQUNMLFdBQU8sS0FBSyxDQUFMLG1CQUFBLENBQVAsUUFBTyxFQUFQO0FBQ0Q7RUFPSDs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF5QkEsU0FBQSxjQUFBLENBQUEsSUFBQSxFQUEwQztBQUN4QyxNQUFJLElBQUksR0FBRyxJQUFJLENBQWYsSUFBQTtBQUVBLFNBQU8sWUFBWSxDQUFuQixJQUFtQixDQUFuQjtBQUNEOztBQUVELFNBQUEsWUFBQSxDQUFBLElBQUEsRUFBNEM7QUFDMUMsTUFBSSxJQUFJLENBQUosSUFBQSxLQUFBLGdCQUFBLElBQWtDLElBQUksQ0FBSixJQUFBLENBQUEsSUFBQSxLQUF0QyxTQUFBLEVBQW9FO0FBQ2xFLFdBQU8sSUFBSSxDQUFKLElBQUEsQ0FBQSxNQUFBLEtBQVAsQ0FBQTtBQURGLEdBQUEsTUFFTztBQUNMLFdBQUEsS0FBQTtBQUNEO0FBQ0Y7QUFFRDs7Ozs7QUFHQSxTQUFBLFlBQUEsQ0FBQSxJQUFBLEVBQXdDO0FBQ3RDLFNBQU8sSUFBSSxDQUFKLE1BQUEsQ0FBQSxNQUFBLEdBQUEsQ0FBQSxJQUEwQixJQUFJLENBQUosSUFBQSxDQUFBLEtBQUEsQ0FBQSxNQUFBLEdBQWpDLENBQUE7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEFTVHYxIGZyb20gJy4uL3YxL2FwaSc7XG5pbXBvcnQgKiBhcyBBU1R2MiBmcm9tICcuL2FwaSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXN0Q2FsbFBhcnRzIHtcbiAgcGF0aDogQVNUdjEuRXhwcmVzc2lvbjtcbiAgcGFyYW1zOiBBU1R2MS5FeHByZXNzaW9uW107XG4gIGhhc2g6IEFTVHYxLkhhc2g7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFyUGF0aCBleHRlbmRzIEFTVHYxLlBhdGhFeHByZXNzaW9uIHtcbiAgaGVhZDogQVNUdjEuVmFySGVhZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFNleHBTeW50YXhDb250ZXh0KG5vZGU6IEFTVHYxLlN1YkV4cHJlc3Npb24pOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbiB8IG51bGwge1xuICBpZiAoaXNTaW1wbGVDYWxsZWUobm9kZSkpIHtcbiAgICByZXR1cm4gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5uYW1lc3BhY2VkKEFTVHYyLkZyZWVWYXJOYW1lc3BhY2UuSGVscGVyKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gTW9kaWZpZXJTeW50YXhDb250ZXh0KFxuICBub2RlOiBBU1R2MS5FbGVtZW50TW9kaWZpZXJTdGF0ZW1lbnRcbik6IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uIHwgbnVsbCB7XG4gIGlmIChpc1NpbXBsZUNhbGxlZShub2RlKSkge1xuICAgIHJldHVybiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLm5hbWVzcGFjZWQoQVNUdjIuRnJlZVZhck5hbWVzcGFjZS5Nb2RpZmllcik7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEJsb2NrU3ludGF4Q29udGV4dChub2RlOiBBU1R2MS5CbG9ja1N0YXRlbWVudCk6IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uIHwgbnVsbCB7XG4gIGlmIChpc1NpbXBsZUNhbGxlZShub2RlKSkge1xuICAgIHJldHVybiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLm5hbWVzcGFjZWQoQVNUdjIuRnJlZVZhck5hbWVzcGFjZS5Db21wb25lbnQpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLmZhbGxiYWNrKCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENvbXBvbmVudFN5bnRheENvbnRleHQobm9kZTogQVNUdjEuUGF0aEV4cHJlc3Npb24pOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbiB8IG51bGwge1xuICBpZiAoaXNTaW1wbGVQYXRoKG5vZGUpKSB7XG4gICAgcmV0dXJuIEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24ubmFtZXNwYWNlZChBU1R2Mi5GcmVlVmFyTmFtZXNwYWNlLkNvbXBvbmVudCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGNvcnJlc3BvbmRzIHRvIGFwcGVuZCBwb3NpdGlvbnMgKHRleHQgY3VybGllcyBvciBhdHRyaWJ1dGVcbiAqIGN1cmxpZXMpLiBJbiBzdHJpY3QgbW9kZSwgdGhpcyBhbHNvIGNvcnJlc3BvbmRzIHRvIGFyZyBjdXJsaWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQXR0clZhbHVlU3ludGF4Q29udGV4dChub2RlOiBBU1R2MS5NdXN0YWNoZVN0YXRlbWVudCk6IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uIHtcbiAgbGV0IGlzU2ltcGxlID0gaXNTaW1wbGVDYWxsZWUobm9kZSk7XG4gIGxldCBpc0ludm9rZSA9IGlzSW52b2tlTm9kZShub2RlKTtcblxuICBpZiAoaXNTaW1wbGUpIHtcbiAgICByZXR1cm4gaXNJbnZva2VcbiAgICAgID8gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5uYW1lc3BhY2VkKEFTVHYyLkZyZWVWYXJOYW1lc3BhY2UuSGVscGVyKVxuICAgICAgOiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLmF0dHIoKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gaXNJbnZva2UgPyBBU1R2Mi5TVFJJQ1RfUkVTT0xVVElPTiA6IEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24uZmFsbGJhY2soKTtcbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgY29ycmVzcG9uZHMgdG8gYXBwZW5kIHBvc2l0aW9ucyAodGV4dCBjdXJsaWVzIG9yIGF0dHJpYnV0ZVxuICogY3VybGllcykuIEluIHN0cmljdCBtb2RlLCB0aGlzIGFsc28gY29ycmVzcG9uZHMgdG8gYXJnIGN1cmxpZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBBcHBlbmRTeW50YXhDb250ZXh0KG5vZGU6IEFTVHYxLk11c3RhY2hlU3RhdGVtZW50KTogQVNUdjIuRnJlZVZhclJlc29sdXRpb24ge1xuICBsZXQgaXNTaW1wbGUgPSBpc1NpbXBsZUNhbGxlZShub2RlKTtcbiAgbGV0IGlzSW52b2tlID0gaXNJbnZva2VOb2RlKG5vZGUpO1xuICBsZXQgdHJ1c3RpbmcgPSBub2RlLnRydXN0aW5nO1xuXG4gIGlmIChpc1NpbXBsZSkge1xuICAgIHJldHVybiB0cnVzdGluZ1xuICAgICAgPyBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLnRydXN0aW5nQXBwZW5kKHsgaW52b2tlOiBpc0ludm9rZSB9KVxuICAgICAgOiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLmFwcGVuZCh7IGludm9rZTogaXNJbnZva2UgfSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24uZmFsbGJhY2soKTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBSZXNvbHV0aW9uPFAgZXh0ZW5kcyBBc3RDYWxsUGFydHMgfCBBU1R2MS5QYXRoRXhwcmVzc2lvbj4gPSAoXG4gIGNhbGw6IFBcbikgPT4gQVNUdjIuRnJlZVZhclJlc29sdXRpb24gfCBudWxsO1xuXG4vLyBVVElMSVRJRVNcblxuLyoqXG4gKiBBIGNhbGwgbm9kZSBoYXMgYSBzaW1wbGUgY2FsbGVlIGlmIGl0cyBoZWFkIGlzOlxuICpcbiAqIC0gYSBgUGF0aEV4cHJlc3Npb25gXG4gKiAtIHRoZSBgUGF0aEV4cHJlc3Npb25gJ3MgaGVhZCBpcyBhIGBWYXJIZWFkYFxuICogLSBpdCBoYXMgbm8gdGFpbFxuICpcbiAqIFNpbXBsZSBoZWFkczpcbiAqXG4gKiBgYGBcbiAqIHt7eH19XG4gKiB7e3ggeX19XG4gKiBgYGBcbiAqXG4gKiBOb3Qgc2ltcGxlIGhlYWRzOlxuICpcbiAqIGBgYFxuICoge3t4Lnl9fVxuICoge3t4Lnkgen19XG4gKiB7e0B4fX1cbiAqIHt7QHggYX19XG4gKiB7e3RoaXN9fVxuICoge3t0aGlzIGF9fVxuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzU2ltcGxlQ2FsbGVlKG5vZGU6IEFzdENhbGxQYXJ0cyk6IGJvb2xlYW4ge1xuICBsZXQgcGF0aCA9IG5vZGUucGF0aDtcblxuICByZXR1cm4gaXNTaW1wbGVQYXRoKHBhdGgpO1xufVxuXG5mdW5jdGlvbiBpc1NpbXBsZVBhdGgobm9kZTogQVNUdjEuRXhwcmVzc2lvbik6IGJvb2xlYW4ge1xuICBpZiAobm9kZS50eXBlID09PSAnUGF0aEV4cHJlc3Npb24nICYmIG5vZGUuaGVhZC50eXBlID09PSAnVmFySGVhZCcpIHtcbiAgICByZXR1cm4gbm9kZS50YWlsLmxlbmd0aCA9PT0gMDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgY2FsbCBleHByZXNzaW9uIGhhcyBhdCBsZWFzdCBvbmUgYXJndW1lbnQuXG4gKi9cbmZ1bmN0aW9uIGlzSW52b2tlTm9kZShub2RlOiBBc3RDYWxsUGFydHMpOiBib29sZWFuIHtcbiAgcmV0dXJuIG5vZGUucGFyYW1zLmxlbmd0aCA+IDAgfHwgbm9kZS5oYXNoLnBhaXJzLmxlbmd0aCA+IDA7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjItYS9sb29zZS1yZXNvbHV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBUCxLQUFBLE1BQUEsT0FBQTtBQVlBLE9BQU0sU0FBQSxpQkFBQSxDQUFBLElBQUEsRUFBcUQ7QUFDekQsTUFBSSxjQUFjLENBQWxCLElBQWtCLENBQWxCLEVBQTBCO0FBQ3hCLFdBQU8sS0FBSyxDQUFMLG1CQUFBLENBQUEsVUFBQSxDQUFvQztBQUFBO0FBQXBDLEtBQVA7QUFERixHQUFBLE1BRU87QUFDTCxXQUFBLElBQUE7QUFDRDtBQUNGO0FBRUQsT0FBTSxTQUFBLHFCQUFBLENBQUEsSUFBQSxFQUNnQztBQUVwQyxNQUFJLGNBQWMsQ0FBbEIsSUFBa0IsQ0FBbEIsRUFBMEI7QUFDeEIsV0FBTyxLQUFLLENBQUwsbUJBQUEsQ0FBQSxVQUFBLENBQW9DO0FBQUE7QUFBcEMsS0FBUDtBQURGLEdBQUEsTUFFTztBQUNMLFdBQUEsSUFBQTtBQUNEO0FBQ0Y7QUFFRCxPQUFNLFNBQUEsa0JBQUEsQ0FBQSxJQUFBLEVBQXVEO0FBQzNELE1BQUksY0FBYyxDQUFsQixJQUFrQixDQUFsQixFQUEwQjtBQUN4QixXQUFPLEtBQUssQ0FBTCxtQkFBQSxDQUFBLFVBQUEsQ0FBb0M7QUFBQTtBQUFwQyxLQUFQO0FBREYsR0FBQSxNQUVPO0FBQ0wsV0FBTyxLQUFLLENBQUwsbUJBQUEsQ0FBUCxRQUFPLEVBQVA7QUFDRDtBQUNGO0FBRUQsT0FBTSxTQUFBLHNCQUFBLENBQUEsSUFBQSxFQUEyRDtBQUMvRCxNQUFJLFlBQVksQ0FBaEIsSUFBZ0IsQ0FBaEIsRUFBd0I7QUFDdEIsV0FBTyxLQUFLLENBQUwsbUJBQUEsQ0FBQSxVQUFBLENBQW9DO0FBQUE7QUFBcEMsTUFBUCxJQUFPLENBQVA7QUFERixHQUFBLE1BRU87QUFDTCxXQUFBLElBQUE7QUFDRDtBQUNGO0FBRUQ7Ozs7O0FBSUEsT0FBTSxTQUFBLHNCQUFBLENBQUEsSUFBQSxFQUE4RDtBQUNsRSxNQUFJLFFBQVEsR0FBRyxjQUFjLENBQTdCLElBQTZCLENBQTdCO0FBQ0EsTUFBSSxRQUFRLEdBQUcsWUFBWSxDQUEzQixJQUEyQixDQUEzQjs7QUFFQSxNQUFBLFFBQUEsRUFBYztBQUNaLFdBQU8sUUFBUSxHQUNYLEtBQUssQ0FBTCxtQkFBQSxDQUFBLFVBQUEsQ0FBb0M7QUFBQTtBQUFwQyxLQURXLEdBRVgsS0FBSyxDQUFMLG1CQUFBLENBRkosSUFFSSxFQUZKO0FBREYsR0FBQSxNQUlPO0FBQ0wsV0FBTyxRQUFRLEdBQUcsS0FBSyxDQUFSLGlCQUFBLEdBQTZCLEtBQUssQ0FBTCxtQkFBQSxDQUE1QyxRQUE0QyxFQUE1QztBQUNEO0FBQ0Y7QUFFRDs7Ozs7QUFJQSxPQUFNLFNBQUEsbUJBQUEsQ0FBQSxJQUFBLEVBQTJEO0FBQy9ELE1BQUksUUFBUSxHQUFHLGNBQWMsQ0FBN0IsSUFBNkIsQ0FBN0I7QUFDQSxNQUFJLFFBQVEsR0FBRyxZQUFZLENBQTNCLElBQTJCLENBQTNCO0FBQ0EsTUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFuQixRQUFBOztBQUVBLE1BQUEsUUFBQSxFQUFjO0FBQ1osV0FBTyxRQUFRLEdBQ1gsS0FBSyxDQUFMLG1CQUFBLENBQUEsY0FBQSxDQUF5QztBQUFFLE1BQUEsTUFBTSxFQUFFO0FBQVYsS0FBekMsQ0FEVyxHQUVYLEtBQUssQ0FBTCxtQkFBQSxDQUFBLE1BQUEsQ0FBaUM7QUFBRSxNQUFBLE1BQU0sRUFBRTtBQUFWLEtBQWpDLENBRko7QUFERixHQUFBLE1BSU87QUFDTCxXQUFPLEtBQUssQ0FBTCxtQkFBQSxDQUFQLFFBQU8sRUFBUDtBQUNEO0VBT0g7O0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBeUJBLFNBQUEsY0FBQSxDQUFBLElBQUEsRUFBMEM7QUFDeEMsTUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFmLElBQUE7QUFFQSxTQUFPLFlBQVksQ0FBbkIsSUFBbUIsQ0FBbkI7QUFDRDs7QUFFRCxTQUFBLFlBQUEsQ0FBQSxJQUFBLEVBQTRDO0FBQzFDLE1BQUksSUFBSSxDQUFKLElBQUEsS0FBQSxnQkFBQSxJQUFrQyxJQUFJLENBQUosSUFBQSxDQUFBLElBQUEsS0FBdEMsU0FBQSxFQUFvRTtBQUNsRSxXQUFPLElBQUksQ0FBSixJQUFBLENBQUEsTUFBQSxLQUFQLENBQUE7QUFERixHQUFBLE1BRU87QUFDTCxXQUFBLEtBQUE7QUFDRDtBQUNGO0FBRUQ7Ozs7O0FBR0EsU0FBQSxZQUFBLENBQUEsSUFBQSxFQUF3QztBQUN0QyxTQUFPLElBQUksQ0FBSixNQUFBLENBQUEsTUFBQSxHQUFBLENBQUEsSUFBMEIsSUFBSSxDQUFKLElBQUEsQ0FBQSxLQUFBLENBQUEsTUFBQSxHQUFqQyxDQUFBO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBBU1R2MSBmcm9tICcuLi92MS9hcGknO1xuaW1wb3J0ICogYXMgQVNUdjIgZnJvbSAnLi9hcGknO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFzdENhbGxQYXJ0cyB7XG4gIHBhdGg6IEFTVHYxLkV4cHJlc3Npb247XG4gIHBhcmFtczogQVNUdjEuRXhwcmVzc2lvbltdO1xuICBoYXNoOiBBU1R2MS5IYXNoO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZhclBhdGggZXh0ZW5kcyBBU1R2MS5QYXRoRXhwcmVzc2lvbiB7XG4gIGhlYWQ6IEFTVHYxLlZhckhlYWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTZXhwU3ludGF4Q29udGV4dChub2RlOiBBU1R2MS5TdWJFeHByZXNzaW9uKTogQVNUdjIuRnJlZVZhclJlc29sdXRpb24gfCBudWxsIHtcbiAgaWYgKGlzU2ltcGxlQ2FsbGVlKG5vZGUpKSB7XG4gICAgcmV0dXJuIEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24ubmFtZXNwYWNlZChBU1R2Mi5GcmVlVmFyTmFtZXNwYWNlLkhlbHBlcik7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGlmaWVyU3ludGF4Q29udGV4dChcbiAgbm9kZTogQVNUdjEuRWxlbWVudE1vZGlmaWVyU3RhdGVtZW50XG4pOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbiB8IG51bGwge1xuICBpZiAoaXNTaW1wbGVDYWxsZWUobm9kZSkpIHtcbiAgICByZXR1cm4gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5uYW1lc3BhY2VkKEFTVHYyLkZyZWVWYXJOYW1lc3BhY2UuTW9kaWZpZXIpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCbG9ja1N5bnRheENvbnRleHQobm9kZTogQVNUdjEuQmxvY2tTdGF0ZW1lbnQpOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbiB8IG51bGwge1xuICBpZiAoaXNTaW1wbGVDYWxsZWUobm9kZSkpIHtcbiAgICByZXR1cm4gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5uYW1lc3BhY2VkKEFTVHYyLkZyZWVWYXJOYW1lc3BhY2UuQ29tcG9uZW50KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5mYWxsYmFjaygpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDb21wb25lbnRTeW50YXhDb250ZXh0KG5vZGU6IEFTVHYxLlBhdGhFeHByZXNzaW9uKTogQVNUdjIuRnJlZVZhclJlc29sdXRpb24gfCBudWxsIHtcbiAgaWYgKGlzU2ltcGxlUGF0aChub2RlKSkge1xuICAgIHJldHVybiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLm5hbWVzcGFjZWQoQVNUdjIuRnJlZVZhck5hbWVzcGFjZS5Db21wb25lbnQsIHRydWUpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbi8qKlxuICogVGhpcyBjb3JyZXNwb25kcyB0byBhcHBlbmQgcG9zaXRpb25zICh0ZXh0IGN1cmxpZXMgb3IgYXR0cmlidXRlXG4gKiBjdXJsaWVzKS4gSW4gc3RyaWN0IG1vZGUsIHRoaXMgYWxzbyBjb3JyZXNwb25kcyB0byBhcmcgY3VybGllcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEF0dHJWYWx1ZVN5bnRheENvbnRleHQobm9kZTogQVNUdjEuTXVzdGFjaGVTdGF0ZW1lbnQpOiBBU1R2Mi5GcmVlVmFyUmVzb2x1dGlvbiB7XG4gIGxldCBpc1NpbXBsZSA9IGlzU2ltcGxlQ2FsbGVlKG5vZGUpO1xuICBsZXQgaXNJbnZva2UgPSBpc0ludm9rZU5vZGUobm9kZSk7XG5cbiAgaWYgKGlzU2ltcGxlKSB7XG4gICAgcmV0dXJuIGlzSW52b2tlXG4gICAgICA/IEFTVHYyLkxvb3NlTW9kZVJlc29sdXRpb24ubmFtZXNwYWNlZChBU1R2Mi5GcmVlVmFyTmFtZXNwYWNlLkhlbHBlcilcbiAgICAgIDogQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5hdHRyKCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGlzSW52b2tlID8gQVNUdjIuU1RSSUNUX1JFU09MVVRJT04gOiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLmZhbGxiYWNrKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGNvcnJlc3BvbmRzIHRvIGFwcGVuZCBwb3NpdGlvbnMgKHRleHQgY3VybGllcyBvciBhdHRyaWJ1dGVcbiAqIGN1cmxpZXMpLiBJbiBzdHJpY3QgbW9kZSwgdGhpcyBhbHNvIGNvcnJlc3BvbmRzIHRvIGFyZyBjdXJsaWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQXBwZW5kU3ludGF4Q29udGV4dChub2RlOiBBU1R2MS5NdXN0YWNoZVN0YXRlbWVudCk6IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uIHtcbiAgbGV0IGlzU2ltcGxlID0gaXNTaW1wbGVDYWxsZWUobm9kZSk7XG4gIGxldCBpc0ludm9rZSA9IGlzSW52b2tlTm9kZShub2RlKTtcbiAgbGV0IHRydXN0aW5nID0gbm9kZS50cnVzdGluZztcblxuICBpZiAoaXNTaW1wbGUpIHtcbiAgICByZXR1cm4gdHJ1c3RpbmdcbiAgICAgID8gQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi50cnVzdGluZ0FwcGVuZCh7IGludm9rZTogaXNJbnZva2UgfSlcbiAgICAgIDogQVNUdjIuTG9vc2VNb2RlUmVzb2x1dGlvbi5hcHBlbmQoeyBpbnZva2U6IGlzSW52b2tlIH0pO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBBU1R2Mi5Mb29zZU1vZGVSZXNvbHV0aW9uLmZhbGxiYWNrKCk7XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgUmVzb2x1dGlvbjxQIGV4dGVuZHMgQXN0Q2FsbFBhcnRzIHwgQVNUdjEuUGF0aEV4cHJlc3Npb24+ID0gKFxuICBjYWxsOiBQXG4pID0+IEFTVHYyLkZyZWVWYXJSZXNvbHV0aW9uIHwgbnVsbDtcblxuLy8gVVRJTElUSUVTXG5cbi8qKlxuICogQSBjYWxsIG5vZGUgaGFzIGEgc2ltcGxlIGNhbGxlZSBpZiBpdHMgaGVhZCBpczpcbiAqXG4gKiAtIGEgYFBhdGhFeHByZXNzaW9uYFxuICogLSB0aGUgYFBhdGhFeHByZXNzaW9uYCdzIGhlYWQgaXMgYSBgVmFySGVhZGBcbiAqIC0gaXQgaGFzIG5vIHRhaWxcbiAqXG4gKiBTaW1wbGUgaGVhZHM6XG4gKlxuICogYGBgXG4gKiB7e3h9fVxuICoge3t4IHl9fVxuICogYGBgXG4gKlxuICogTm90IHNpbXBsZSBoZWFkczpcbiAqXG4gKiBgYGBcbiAqIHt7eC55fX1cbiAqIHt7eC55IHp9fVxuICoge3tAeH19XG4gKiB7e0B4IGF9fVxuICoge3t0aGlzfX1cbiAqIHt7dGhpcyBhfX1cbiAqIGBgYFxuICovXG5mdW5jdGlvbiBpc1NpbXBsZUNhbGxlZShub2RlOiBBc3RDYWxsUGFydHMpOiBib29sZWFuIHtcbiAgbGV0IHBhdGggPSBub2RlLnBhdGg7XG5cbiAgcmV0dXJuIGlzU2ltcGxlUGF0aChwYXRoKTtcbn1cblxuZnVuY3Rpb24gaXNTaW1wbGVQYXRoKG5vZGU6IEFTVHYxLkV4cHJlc3Npb24pOiBib29sZWFuIHtcbiAgaWYgKG5vZGUudHlwZSA9PT0gJ1BhdGhFeHByZXNzaW9uJyAmJiBub2RlLmhlYWQudHlwZSA9PT0gJ1ZhckhlYWQnKSB7XG4gICAgcmV0dXJuIG5vZGUudGFpbC5sZW5ndGggPT09IDA7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogVGhlIGNhbGwgZXhwcmVzc2lvbiBoYXMgYXQgbGVhc3Qgb25lIGFyZ3VtZW50LlxuICovXG5mdW5jdGlvbiBpc0ludm9rZU5vZGUobm9kZTogQXN0Q2FsbFBhcnRzKTogYm9vbGVhbiB7XG4gIHJldHVybiBub2RlLnBhcmFtcy5sZW5ndGggPiAwIHx8IG5vZGUuaGFzaC5wYWlycy5sZW5ndGggPiAwO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==

@@ -16,3 +16,5 @@ /**

export var StrictResolution = /*#__PURE__*/function () {
function StrictResolution() {}
function StrictResolution() {
this.isAngleBracket = false;
}

@@ -45,4 +47,9 @@ var _proto = StrictResolution.prototype;

export var LooseModeResolution = /*#__PURE__*/function () {
function LooseModeResolution(ambiguity) {
function LooseModeResolution(ambiguity, isAngleBracket) {
if (isAngleBracket === void 0) {
isAngleBracket = false;
}
this.ambiguity = ambiguity;
this.isAngleBracket = isAngleBracket;
}

@@ -61,7 +68,11 @@ /**

LooseModeResolution.namespaced = function namespaced(namespace) {
LooseModeResolution.namespaced = function namespaced(namespace, isAngleBracket) {
if (isAngleBracket === void 0) {
isAngleBracket = false;
}
return new LooseModeResolution({
namespaces: [namespace],
fallback: false
});
}, isAngleBracket);
}

@@ -289,2 +300,2 @@ /**

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjItYS9vYmplY3RzL3Jlc29sdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0FBVUE7Ozs7OztBQU1BLFdBQU0sZ0JBQU47QUFBQTs7QUFBQTs7QUFBQSxTQUNFLFVBREYsR0FDRSxzQkFBVTtBQUNSLFdBQUE7QUFBQTtBQUFBO0FBQ0QsR0FISDs7QUFBQSxTQUtFLFNBTEYsR0FLRSxxQkFBUztBQUNQLFdBQUEsUUFBQTtBQUNELEdBUEg7O0FBQUE7QUFBQTtBQVVBLE9BQU8sSUFBTSxpQkFBaUIsR0FBRyxJQUExQixnQkFBMEIsRUFBMUI7QUFFUDs7Ozs7Ozs7OztBQVNBLFdBQU0sbUJBQU47QUFxR0UsK0JBQUEsU0FBQSxFQUF5QztBQUFwQixTQUFBLFNBQUEsR0FBQSxTQUFBO0FBQXdCO0FBcEc3Qzs7Ozs7Ozs7Ozs7O0FBREYsc0JBV0UsVUFYRixHQVdFLG9CQUFBLFNBQUEsRUFBNkM7QUFDM0MsV0FBTyxJQUFBLG1CQUFBLENBQXdCO0FBQzdCLE1BQUEsVUFBVSxFQUFFLENBRGlCLFNBQ2pCLENBRGlCO0FBRTdCLE1BQUEsUUFBUSxFQUFFO0FBRm1CLEtBQXhCLENBQVA7QUFJRDtBQUVEOzs7Ozs7Ozs7O0FBbEJGOztBQUFBLHNCQTRCRSxRQTVCRixHQTRCRSxvQkFBZTtBQUNiLFdBQU8sSUFBQSxtQkFBQSxDQUF3QjtBQUFFLE1BQUEsVUFBVSxFQUFaLEVBQUE7QUFBa0IsTUFBQSxRQUFRLEVBQUU7QUFBNUIsS0FBeEIsQ0FBUDtBQUNEO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFoQ0Y7O0FBQUEsc0JBbURFLE1BbkRGLEdBbURFLHNCQUE2QztBQUFBLFFBQTdCLE1BQTZCLFFBQTdCLE1BQTZCO0FBQzNDLFdBQU8sSUFBQSxtQkFBQSxDQUF3QjtBQUM3QixNQUFBLFVBQVUsRUFBRSxDQUFBO0FBQUE7QUFBQSxRQUFBO0FBQUE7QUFBQSxPQURpQjtBQUU3QixNQUFBLFFBQVEsRUFBRSxDQUFDO0FBRmtCLEtBQXhCLENBQVA7QUFJRDtBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMURGOztBQUFBLHNCQTZFRSxjQTdFRixHQTZFRSwrQkFBcUQ7QUFBQSxRQUE3QixNQUE2QixTQUE3QixNQUE2QjtBQUNuRCxXQUFPLElBQUEsbUJBQUEsQ0FBd0I7QUFDN0IsTUFBQSxVQUFVLEVBQUUsQ0FBQTtBQUFBO0FBQUEsT0FEaUI7QUFFN0IsTUFBQSxRQUFRLEVBQUUsQ0FBQztBQUZrQixLQUF4QixDQUFQO0FBSUQ7QUFFRDs7Ozs7Ozs7Ozs7OztBQXBGRjs7QUFBQSxzQkFpR0UsSUFqR0YsR0FpR0UsZ0JBQVc7QUFDVCxXQUFPLElBQUEsbUJBQUEsQ0FBd0I7QUFBRSxNQUFBLFVBQVUsRUFBRSxDQUFBO0FBQUE7QUFBQSxPQUFkO0FBQXlDLE1BQUEsUUFBUSxFQUFFO0FBQW5ELEtBQXhCLENBQVA7QUFDRCxHQW5HSDs7QUFBQTs7QUFBQSxVQXVHRSxVQXZHRixHQXVHRSxzQkFBVTtBQUNSLFFBQUksS0FBQSxTQUFBLENBQUEsVUFBQSxDQUFBLE1BQUEsS0FBSixDQUFBLEVBQTRDO0FBQzFDLGFBQUE7QUFBQTtBQUFBO0FBREYsS0FBQSxNQUVPLElBQUksS0FBQSxTQUFBLENBQUEsVUFBQSxDQUFBLE1BQUEsS0FBSixDQUFBLEVBQTRDO0FBQ2pELFVBQUksS0FBQSxTQUFBLENBQUosUUFBQSxFQUE2QjtBQUMzQjtBQUNBLGVBQUE7QUFBQTtBQUFBO0FBRkYsT0FBQSxNQUdPO0FBQ0w7QUFDQSxnQkFBUSxLQUFBLFNBQUEsQ0FBQSxVQUFBLENBQVIsQ0FBUSxDQUFSO0FBQ0UsZUFBQTtBQUFBO0FBQUE7QUFDRSxtQkFBQTtBQUFBO0FBQUE7O0FBQ0YsZUFBQTtBQUFBO0FBQUE7QUFDRSxtQkFBQTtBQUFBO0FBQUE7O0FBQ0YsZUFBQTtBQUFBO0FBQUE7QUFDRSxtQkFBQTtBQUFBO0FBQUE7QUFOSjtBQVFEO0FBZEksS0FBQSxNQWVBLElBQUksS0FBQSxTQUFBLENBQUosUUFBQSxFQUE2QjtBQUNsQztBQUNBLGFBQUE7QUFBQTtBQUFBO0FBRkssS0FBQSxNQUdBO0FBQ0w7QUFDQSxlQUFBO0FBQUE7QUFBQTtBQUNEO0FBQ0YsR0FoSUg7O0FBQUEsVUFrSUUsU0FsSUYsR0FrSUUscUJBQVM7QUFDUCxRQUFJLEtBQUEsU0FBQSxDQUFBLFVBQUEsQ0FBQSxNQUFBLEtBQUosQ0FBQSxFQUE0QztBQUMxQyxhQUFBLE9BQUE7QUFERixLQUFBLE1BRU8sSUFBSSxLQUFBLFNBQUEsQ0FBQSxVQUFBLENBQUEsTUFBQSxLQUFKLENBQUEsRUFBNEM7QUFDakQsVUFBSSxLQUFBLFNBQUEsQ0FBSixRQUFBLEVBQTZCO0FBQzNCO0FBQ0EsZUFBTyxDQUFBLFdBQUEsRUFBWTtBQUFBO0FBQVosU0FBUDtBQUZGLE9BQUEsTUFHTztBQUNMLGVBQU8sQ0FBQSxJQUFBLEVBQU8sS0FBQSxTQUFBLENBQUEsVUFBQSxDQUFkLENBQWMsQ0FBUCxDQUFQO0FBQ0Q7QUFOSSxLQUFBLE1BT0EsSUFBSSxLQUFBLFNBQUEsQ0FBSixRQUFBLEVBQTZCO0FBQ2xDO0FBQ0EsYUFBTyxDQUFBLFdBQUEsRUFBWTtBQUFBO0FBQVosT0FBUDtBQUZLLEtBQUEsTUFHQTtBQUNMO0FBQ0EsYUFBTyxDQUFBLFdBQUEsRUFBWTtBQUFBO0FBQVosT0FBUDtBQUNEO0FBQ0YsR0FuSkg7O0FBQUE7QUFBQTtBQXNKQSxPQUFPLElBQU0sbUJBQW1CLEdBQUcsbUJBQW1CLENBQS9DLFFBQTRCLEVBQTVCO0FBaUdQLE9BQU0sU0FBQSxjQUFBLENBQUEsVUFBQSxFQUF5RDtBQUM3RCxNQUFJLE9BQUEsVUFBQSxLQUFKLFFBQUEsRUFBb0M7QUFDbEMsWUFBQSxVQUFBO0FBQ0UsV0FBQSxPQUFBO0FBQ0UsZUFBTyxtQkFBbUIsQ0FBMUIsUUFBTyxFQUFQOztBQUNGLFdBQUEsUUFBQTtBQUNFLGVBQUEsaUJBQUE7QUFKSjtBQU1EOztBQUVELFVBQVEsVUFBVSxDQUFsQixDQUFrQixDQUFsQjtBQUNFLFNBQUEsV0FBQTtBQUNFLGNBQVEsVUFBVSxDQUFsQixDQUFrQixDQUFsQjtBQUNFLGFBQUE7QUFBQTtBQUFBO0FBQ0UsaUJBQU8sbUJBQW1CLENBQW5CLE1BQUEsQ0FBMkI7QUFBRSxZQUFBLE1BQU0sRUFBRTtBQUFWLFdBQTNCLENBQVA7O0FBQ0YsYUFBQTtBQUFBO0FBQUE7QUFDRSxpQkFBTyxtQkFBbUIsQ0FBMUIsSUFBTyxFQUFQOztBQUNGLGFBQUE7QUFBQTtBQUFBO0FBQ0UsaUJBQU8sbUJBQW1CLENBQW5CLE1BQUEsQ0FBMkI7QUFBRSxZQUFBLE1BQU0sRUFBRTtBQUFWLFdBQTNCLENBQVA7QUFOSjs7QUFTRixTQUFBLElBQUE7QUFDRSxhQUFPLG1CQUFtQixDQUFuQixVQUFBLENBQStCLFVBQVUsQ0FBaEQsQ0FBZ0QsQ0FBekMsQ0FBUDtBQVpKO0FBY0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEEgZnJlZSB2YXJpYWJsZSBpcyByZXNvbHZlZCBhY2NvcmRpbmcgdG8gYSByZXNvbHV0aW9uIHJ1bGU6XG4gKlxuICogMS4gU3RyaWN0IHJlc29sdXRpb25cbiAqIDIuIE5hbWVzcGFjZWQgcmVzb2x1dGlvblxuICogMy4gRmFsbGJhY2sgcmVzb2x1dGlvblxuICovXG5cbmltcG9ydCB7IEdldENvbnRleHR1YWxGcmVlT3AsIFNleHBPcGNvZGVzIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogU3RyaWN0IHJlc29sdXRpb24gaXMgdXNlZDpcbiAqXG4gKiAxLiBpbiBhIHN0cmljdCBtb2RlIHRlbXBsYXRlXG4gKiAyLiBpbiBhbiB1bmFtYmlndW91cyBpbnZvY2F0aW9uIHdpdGggZG90IHBhdGhzXG4gKi9cbmV4cG9ydCBjbGFzcyBTdHJpY3RSZXNvbHV0aW9uIHtcbiAgcmVzb2x1dGlvbigpOiBHZXRDb250ZXh0dWFsRnJlZU9wIHtcbiAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0U3RyaWN0RnJlZTtcbiAgfVxuXG4gIHNlcmlhbGl6ZSgpOiBTZXJpYWxpemVkUmVzb2x1dGlvbiB7XG4gICAgcmV0dXJuICdTdHJpY3QnO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBTVFJJQ1RfUkVTT0xVVElPTiA9IG5ldyBTdHJpY3RSZXNvbHV0aW9uKCk7XG5cbi8qKlxuICogQSBgTG9vc2VNb2RlUmVzb2x1dGlvbmAgaW5jbHVkZXM6XG4gKlxuICogLSAwIG9yIG1vcmUgbmFtZXNwYWNlcyB0byByZXNvbHZlIHRoZSB2YXJpYWJsZSBpblxuICogLSBvcHRpb25hbCBmYWxsYmFjayBiZWhhdmlvclxuICpcbiAqIEluIHByYWN0aWNlLCB0aGVyZSBhcmUgYSBsaW1pdGVkIG51bWJlciBvZiBwb3NzaWJsZSBjb21iaW5hdGlvbnMgb2YgdGhlc2UgZGVncmVlcyBvZiBmcmVlZG9tLFxuICogYW5kIHRoZXkgYXJlIGNhcHR1cmVkIGJ5IHRoZSBgQW1iaWd1aXR5YCB1bmlvbiBiZWxvdy5cbiAqL1xuZXhwb3J0IGNsYXNzIExvb3NlTW9kZVJlc29sdXRpb24ge1xuICAvKipcbiAgICogTmFtZXNwYWNlZCByZXNvbHV0aW9uIGlzIHVzZWQgaW4gYW4gdW5hbWJpZ3VvdXMgc3ludGF4IHBvc2l0aW9uOlxuICAgKlxuICAgKiAxLiBgKHNleHApYCAobmFtZXNwYWNlOiBgSGVscGVyYClcbiAgICogMi4gYHt7I2Jsb2NrfX1gIChuYW1lc3BhY2U6IGBDb21wb25lbnRgKVxuICAgKiAzLiBgPGEge3ttb2RpZmllcn19PmAgKG5hbWVzcGFjZTogYE1vZGlmaWVyYClcbiAgICogNC4gYDxDb21wb25lbnQgLz5gIChuYW1lc3BhY2U6IGBDb21wb25lbnRgKVxuICAgKlxuICAgKiBAc2VlIHtOYW1lc3BhY2VkQW1iaWd1aXR5fVxuICAgKi9cbiAgc3RhdGljIG5hbWVzcGFjZWQobmFtZXNwYWNlOiBGcmVlVmFyTmFtZXNwYWNlKTogTG9vc2VNb2RlUmVzb2x1dGlvbiB7XG4gICAgcmV0dXJuIG5ldyBMb29zZU1vZGVSZXNvbHV0aW9uKHtcbiAgICAgIG5hbWVzcGFjZXM6IFtuYW1lc3BhY2VdLFxuICAgICAgZmFsbGJhY2s6IGZhbHNlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZhbGxiYWNrIHJlc29sdXRpb24gaXMgdXNlZCB3aGVuIG5vIG5hbWVzcGFjZWQgcmVzb2x1dGlvbnMgYXJlIHBvc3NpYmxlLCBidXQgZmFsbGJhY2tcbiAgICogcmVzb2x1dGlvbiBpcyBzdGlsbCBhbGxvd2VkLlxuICAgKlxuICAgKiBgYGBoYnNcbiAgICoge3t4Lnl9fVxuICAgKiBgYGBcbiAgICpcbiAgICogQHNlZSB7RmFsbGJhY2tBbWJpZ3VpdHl9XG4gICAqL1xuICBzdGF0aWMgZmFsbGJhY2soKTogTG9vc2VNb2RlUmVzb2x1dGlvbiB7XG4gICAgcmV0dXJuIG5ldyBMb29zZU1vZGVSZXNvbHV0aW9uKHsgbmFtZXNwYWNlczogW10sIGZhbGxiYWNrOiB0cnVlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGVuZCByZXNvbHV0aW9uIGlzIHVzZWQgd2hlbiB0aGUgdmFyaWFibGUgc2hvdWxkIGJlIHJlc29sdmVkIGluIGJvdGggdGhlIGBjb21wb25lbnRgIGFuZFxuICAgKiBgaGVscGVyYCBuYW1lc3BhY2VzLiBGYWxsYmFjayByZXNvbHV0aW9uIGlzIG9wdGlvbmFsLlxuICAgKlxuICAgKiBgYGBoYnNcbiAgICoge3t4fX1cbiAgICogYGBgXG4gICAqXG4gICAqIF4gYHhgIHNob3VsZCBiZSByZXNvbHZlZCBpbiB0aGUgYGNvbXBvbmVudGAgYW5kIGBoZWxwZXJgIG5hbWVzcGFjZXMgd2l0aCBmYWxsYmFjayByZXNvbHV0aW9uLlxuICAgKlxuICAgKiBgYGBoYnNcbiAgICoge3t4IHl9fVxuICAgKiBgYGBcbiAgICpcbiAgICogXiBgeGAgc2hvdWxkIGJlIHJlc29sdmVkIGluIHRoZSBgY29tcG9uZW50YCBhbmQgYGhlbHBlcmAgbmFtZXNwYWNlcyB3aXRob3V0IGZhbGxiYWNrXG4gICAqIHJlc29sdXRpb24uXG4gICAqXG4gICAqIEBzZWUge0NvbXBvbmVudE9ySGVscGVyQW1iaWd1aXR5fVxuICAgKi9cbiAgc3RhdGljIGFwcGVuZCh7IGludm9rZSB9OiB7IGludm9rZTogYm9vbGVhbiB9KTogTG9vc2VNb2RlUmVzb2x1dGlvbiB7XG4gICAgcmV0dXJuIG5ldyBMb29zZU1vZGVSZXNvbHV0aW9uKHtcbiAgICAgIG5hbWVzcGFjZXM6IFtGcmVlVmFyTmFtZXNwYWNlLkNvbXBvbmVudCwgRnJlZVZhck5hbWVzcGFjZS5IZWxwZXJdLFxuICAgICAgZmFsbGJhY2s6ICFpbnZva2UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVHJ1c3RpbmcgYXBwZW5kIHJlc29sdXRpb24gaXMgdXNlZCB3aGVuIHRoZSB2YXJpYWJsZSBzaG91bGQgYmUgcmVzb2x2ZWQgaW4gYm90aCB0aGUgYGNvbXBvbmVudGAgYW5kXG4gICAqIGBoZWxwZXJgIG5hbWVzcGFjZXMuIEZhbGxiYWNrIHJlc29sdXRpb24gaXMgb3B0aW9uYWwuXG4gICAqXG4gICAqIGBgYGhic1xuICAgKiB7e3t4fX19XG4gICAqIGBgYFxuICAgKlxuICAgKiBeIGB4YCBzaG91bGQgYmUgcmVzb2x2ZWQgaW4gdGhlIGBjb21wb25lbnRgIGFuZCBgaGVscGVyYCBuYW1lc3BhY2VzIHdpdGggZmFsbGJhY2sgcmVzb2x1dGlvbi5cbiAgICpcbiAgICogYGBgaGJzXG4gICAqIHt7e3ggeX19fVxuICAgKiBgYGBcbiAgICpcbiAgICogXiBgeGAgc2hvdWxkIGJlIHJlc29sdmVkIGluIHRoZSBgY29tcG9uZW50YCBhbmQgYGhlbHBlcmAgbmFtZXNwYWNlcyB3aXRob3V0IGZhbGxiYWNrXG4gICAqIHJlc29sdXRpb24uXG4gICAqXG4gICAqIEBzZWUge0hlbHBlckFtYmlndWl0eX1cbiAgICovXG4gIHN0YXRpYyB0cnVzdGluZ0FwcGVuZCh7IGludm9rZSB9OiB7IGludm9rZTogYm9vbGVhbiB9KTogTG9vc2VNb2RlUmVzb2x1dGlvbiB7XG4gICAgcmV0dXJuIG5ldyBMb29zZU1vZGVSZXNvbHV0aW9uKHtcbiAgICAgIG5hbWVzcGFjZXM6IFtGcmVlVmFyTmFtZXNwYWNlLkhlbHBlcl0sXG4gICAgICBmYWxsYmFjazogIWludm9rZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgcmVzb2x1dGlvbiBpcyB1c2VkIHdoZW4gdGhlIHZhcmlhYmxlIHNob3VsZCBiZSByZXNvbHZlZCBhcyBhIGBoZWxwZXJgIHdpdGggZmFsbGJhY2tcbiAgICogcmVzb2x1dGlvbi5cbiAgICpcbiAgICogYGBgaGJzXG4gICAqIDxhIGhyZWY9e3t4fX0gLz5cbiAgICogPGEgaHJlZj1cInt7eH19Lmh0bWxcIiAvPlxuICAgKiBgYGBcbiAgICpcbiAgICogXiByZXNvbHZlZCBpbiB0aGUgYGhlbHBlcmAgbmFtZXNwYWNlIHdpdGggZmFsbGJhY2tcbiAgICpcbiAgICogQHNlZSB7SGVscGVyQW1iaWd1aXR5fVxuICAgKi9cbiAgc3RhdGljIGF0dHIoKTogTG9vc2VNb2RlUmVzb2x1dGlvbiB7XG4gICAgcmV0dXJuIG5ldyBMb29zZU1vZGVSZXNvbHV0aW9uKHsgbmFtZXNwYWNlczogW0ZyZWVWYXJOYW1lc3BhY2UuSGVscGVyXSwgZmFsbGJhY2s6IHRydWUgfSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBhbWJpZ3VpdHk6IEFtYmlndWl0eSkge31cblxuICByZXNvbHV0aW9uKCk6IEdldENvbnRleHR1YWxGcmVlT3Age1xuICAgIGlmICh0aGlzLmFtYmlndWl0eS5uYW1lc3BhY2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldEZyZWVBc0ZhbGxiYWNrO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hbWJpZ3VpdHkubmFtZXNwYWNlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGlmICh0aGlzLmFtYmlndWl0eS5mYWxsYmFjaykge1xuICAgICAgICAvLyBzaW1wbGUgbmFtZXNwYWNlZCByZXNvbHV0aW9uIHdpdGggZmFsbGJhY2sgbXVzdCBiZSBhdHRyPXt7eH19XG4gICAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNIZWxwZXJIZWFkT3JUaGlzRmFsbGJhY2s7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBzaW1wbGUgbmFtZXNwYWNlZCByZXNvbHV0aW9uIHdpdGhvdXQgZmFsbGJhY2tcbiAgICAgICAgc3dpdGNoICh0aGlzLmFtYmlndWl0eS5uYW1lc3BhY2VzWzBdKSB7XG4gICAgICAgICAgY2FzZSBGcmVlVmFyTmFtZXNwYWNlLkhlbHBlcjpcbiAgICAgICAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNIZWxwZXJIZWFkO1xuICAgICAgICAgIGNhc2UgRnJlZVZhck5hbWVzcGFjZS5Nb2RpZmllcjpcbiAgICAgICAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNNb2RpZmllckhlYWQ7XG4gICAgICAgICAgY2FzZSBGcmVlVmFyTmFtZXNwYWNlLkNvbXBvbmVudDpcbiAgICAgICAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNDb21wb25lbnRIZWFkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmFtYmlndWl0eS5mYWxsYmFjaykge1xuICAgICAgLy8gY29tcG9uZW50IG9yIGhlbHBlciArIGZhbGxiYWNrICh7e3NvbWV0aGluZ319KVxuICAgICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldEZyZWVBc0NvbXBvbmVudE9ySGVscGVySGVhZE9yVGhpc0ZhbGxiYWNrO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBjb21wb25lbnQgb3IgaGVscGVyIHdpdGhvdXQgZmFsbGJhY2sgKHt7c29tZXRoaW5nIHNvbWV0aGluZ319KVxuICAgICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldEZyZWVBc0NvbXBvbmVudE9ySGVscGVySGVhZDtcbiAgICB9XG4gIH1cblxuICBzZXJpYWxpemUoKTogU2VyaWFsaXplZFJlc29sdXRpb24ge1xuICAgIGlmICh0aGlzLmFtYmlndWl0eS5uYW1lc3BhY2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuICdMb29zZSc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFtYmlndWl0eS5uYW1lc3BhY2VzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgaWYgKHRoaXMuYW1iaWd1aXR5LmZhbGxiYWNrKSB7XG4gICAgICAgIC8vIHNpbXBsZSBuYW1lc3BhY2VkIHJlc29sdXRpb24gd2l0aCBmYWxsYmFjayBtdXN0IGJlIGF0dHI9e3t4fX1cbiAgICAgICAgcmV0dXJuIFsnYW1iaWd1b3VzJywgU2VyaWFsaXplZEFtYmlndWl0eS5BdHRyXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBbJ25zJywgdGhpcy5hbWJpZ3VpdHkubmFtZXNwYWNlc1swXV07XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmFtYmlndWl0eS5mYWxsYmFjaykge1xuICAgICAgLy8gY29tcG9uZW50IG9yIGhlbHBlciArIGZhbGxiYWNrICh7e3NvbWV0aGluZ319KVxuICAgICAgcmV0dXJuIFsnYW1iaWd1b3VzJywgU2VyaWFsaXplZEFtYmlndWl0eS5BcHBlbmRdO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBjb21wb25lbnQgb3IgaGVscGVyIHdpdGhvdXQgZmFsbGJhY2sgKHt7c29tZXRoaW5nIHNvbWV0aGluZ319KVxuICAgICAgcmV0dXJuIFsnYW1iaWd1b3VzJywgU2VyaWFsaXplZEFtYmlndWl0eS5JbnZva2VdO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQVJHVU1FTlRfUkVTT0xVVElPTiA9IExvb3NlTW9kZVJlc29sdXRpb24uZmFsbGJhY2soKTtcblxuZXhwb3J0IGNvbnN0IGVudW0gRnJlZVZhck5hbWVzcGFjZSB7XG4gIEhlbHBlciA9ICdIZWxwZXInLFxuICBNb2RpZmllciA9ICdNb2RpZmllcicsXG4gIENvbXBvbmVudCA9ICdDb21wb25lbnQnLFxufVxuXG4vKipcbiAqIEEgYENvbXBvbmVudE9ySGVscGVyQW1iaWd1aXR5YCBtaWdodCBiZSBhIGNvbXBvbmVudCBvciBhIGhlbHBlciwgd2l0aCBhbiBvcHRpb25hbCBmYWxsYmFja1xuICpcbiAqIGBgYGhic1xuICoge3t4fX1cbiAqIGBgYFxuICpcbiAqIF4gYHhgIGlzIHJlc29sdmVkIGluIHRoZSBgY29tcG9uZW50YCBhbmQgYGhlbHBlcmAgbmFtZXNwYWNlcywgd2l0aCBmYWxsYmFja1xuICpcbiAqIGBgYGhic1xuICoge3t4IHl9fVxuICogYGBgXG4gKlxuICogXiBgeGAgaXMgcmVzb2x2ZWQgaW4gdGhlIGBjb21wb25lbnRgIGFuZCBgaGVscGVyYCBuYW1lc3BhY2VzLCB3aXRob3V0IGZhbGxiYWNrXG4gKi9cbnR5cGUgQ29tcG9uZW50T3JIZWxwZXJBbWJpZ3VpdHkgPSB7XG4gIG5hbWVzcGFjZXM6IFtGcmVlVmFyTmFtZXNwYWNlLkNvbXBvbmVudCwgRnJlZVZhck5hbWVzcGFjZS5IZWxwZXJdO1xuICBmYWxsYmFjazogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogQSBgSGVscGVyQW1iaWd1aXR5YCBtdXN0IGJlIGEgaGVscGVyLCBidXQgaXQgaGFzIGZhbGxiYWNrLiBJZiBpdCBkaWRuJ3QgaGF2ZSBmYWxsYmFjaywgaXQgd291bGRcbiAqIGJlIGEgYE5hbWVzcGFjZWRBbWJpZ3VpdHlgLlxuICpcbiAqIGBgYGhic1xuICogPGEgaHJlZj17e3h9fSAvPlxuICogPGEgaHJlZj1cInt7eH19Lmh0bWxcIiAvPlxuICogYGBgXG4gKlxuICogXiBgeGAgaXMgcmVzb2x2ZWQgaW4gdGhlIGBoZWxwZXJgIG5hbWVzcGFjZSB3aXRoIGZhbGxiYWNrXG4gKi9cbnR5cGUgSGVscGVyQW1iaWd1aXR5ID0geyBuYW1lc3BhY2VzOiBbRnJlZVZhck5hbWVzcGFjZS5IZWxwZXJdOyBmYWxsYmFjazogYm9vbGVhbiB9O1xuXG4vKipcbiAqIEEgYE5hbWVzcGFjZWRBbWJpZ3VpdHlgIG11c3QgYmUgcmVzb2x2ZWQgaW4gYSBwYXJ0aWN1bGFyIG5hbWVzcGFjZSwgd2l0aG91dCBmYWxsYmFjay5cbiAqXG4gKiBgYGBoYnNcbiAqIDxYIC8+XG4gKiBgYGBcbiAqXG4gKiBeIGBYYCBpcyByZXNvbHZlZCBpbiB0aGUgYGNvbXBvbmVudGAgbmFtZXNwYWNlIHdpdGhvdXQgZmFsbGJhY2tcbiAqXG4gKiBgYGBoYnNcbiAqICh4KVxuICogYGBgXG4gKlxuICogXiBgeGAgaXMgcmVzb2x2ZWQgaW4gdGhlIGBoZWxwZXJgIG5hbWVzcGFjZSB3aXRob3V0IGZhbGxiYWNrXG4gKlxuICogYGBgaGJzXG4gKiA8YSB7e3h9fSAvPlxuICogYGBgXG4gKlxuICogXiBgeGAgaXMgcmVzb2x2ZWQgaW4gdGhlIGBtb2RpZmllcmAgbmFtZXNwYWNlIHdpdGhvdXQgZmFsbGJhY2tcbiAqL1xudHlwZSBOYW1lc3BhY2VkQW1iaWd1aXR5ID0ge1xuICBuYW1lc3BhY2VzOiBbRnJlZVZhck5hbWVzcGFjZS5Db21wb25lbnQgfCBGcmVlVmFyTmFtZXNwYWNlLkhlbHBlciB8IEZyZWVWYXJOYW1lc3BhY2UuTW9kaWZpZXJdO1xuICBmYWxsYmFjazogZmFsc2U7XG59O1xuXG50eXBlIEZhbGxiYWNrQW1iaWd1aXR5ID0ge1xuICBuYW1lc3BhY2VzOiBbXTtcbiAgZmFsbGJhY2s6IHRydWU7XG59O1xuXG50eXBlIEFtYmlndWl0eSA9XG4gIHwgQ29tcG9uZW50T3JIZWxwZXJBbWJpZ3VpdHlcbiAgfCBIZWxwZXJBbWJpZ3VpdHlcbiAgfCBOYW1lc3BhY2VkQW1iaWd1aXR5XG4gIHwgRmFsbGJhY2tBbWJpZ3VpdHk7XG5cbmV4cG9ydCB0eXBlIEZyZWVWYXJSZXNvbHV0aW9uID0gU3RyaWN0UmVzb2x1dGlvbiB8IExvb3NlTW9kZVJlc29sdXRpb247XG5cbi8vIFNlcmlhbGl6YXRpb25cblxuY29uc3QgZW51bSBTZXJpYWxpemVkQW1iaWd1aXR5IHtcbiAgLy8ge3t4fX1cbiAgQXBwZW5kID0gJ0FwcGVuZCcsXG4gIC8vIGhyZWY9e3t4fX1cbiAgQXR0ciA9ICdBdHRyJyxcbiAgLy8ge3t4IHl9fSAobm90IGF0dHIpXG4gIEludm9rZSA9ICdJbnZva2UnLFxufVxuXG5leHBvcnQgdHlwZSBTZXJpYWxpemVkUmVzb2x1dGlvbiA9XG4gIHwgJ1N0cmljdCdcbiAgfCAnTG9vc2UnXG4gIHwgWyducycsIEZyZWVWYXJOYW1lc3BhY2VdXG4gIHwgWydhbWJpZ3VvdXMnLCBTZXJpYWxpemVkQW1iaWd1aXR5XTtcblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRSZXNvbHV0aW9uKHJlc29sdXRpb246IFNlcmlhbGl6ZWRSZXNvbHV0aW9uKTogRnJlZVZhclJlc29sdXRpb24ge1xuICBpZiAodHlwZW9mIHJlc29sdXRpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgc3dpdGNoIChyZXNvbHV0aW9uKSB7XG4gICAgICBjYXNlICdMb29zZSc6XG4gICAgICAgIHJldHVybiBMb29zZU1vZGVSZXNvbHV0aW9uLmZhbGxiYWNrKCk7XG4gICAgICBjYXNlICdTdHJpY3QnOlxuICAgICAgICByZXR1cm4gU1RSSUNUX1JFU09MVVRJT047XG4gICAgfVxuICB9XG5cbiAgc3dpdGNoIChyZXNvbHV0aW9uWzBdKSB7XG4gICAgY2FzZSAnYW1iaWd1b3VzJzpcbiAgICAgIHN3aXRjaCAocmVzb2x1dGlvblsxXSkge1xuICAgICAgICBjYXNlIFNlcmlhbGl6ZWRBbWJpZ3VpdHkuQXBwZW5kOlxuICAgICAgICAgIHJldHVybiBMb29zZU1vZGVSZXNvbHV0aW9uLmFwcGVuZCh7IGludm9rZTogZmFsc2UgfSk7XG4gICAgICAgIGNhc2UgU2VyaWFsaXplZEFtYmlndWl0eS5BdHRyOlxuICAgICAgICAgIHJldHVybiBMb29zZU1vZGVSZXNvbHV0aW9uLmF0dHIoKTtcbiAgICAgICAgY2FzZSBTZXJpYWxpemVkQW1iaWd1aXR5Lkludm9rZTpcbiAgICAgICAgICByZXR1cm4gTG9vc2VNb2RlUmVzb2x1dGlvbi5hcHBlbmQoeyBpbnZva2U6IHRydWUgfSk7XG4gICAgICB9XG5cbiAgICBjYXNlICducyc6XG4gICAgICByZXR1cm4gTG9vc2VNb2RlUmVzb2x1dGlvbi5uYW1lc3BhY2VkKHJlc29sdXRpb25bMV0pO1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjItYS9vYmplY3RzL3Jlc29sdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0FBVUE7Ozs7OztBQU1BLFdBQU0sZ0JBQU47QUFBQSw4QkFBQTtBQVNXLFNBQUEsY0FBQSxHQUFBLEtBQUE7QUFDVjs7QUFWRDs7QUFBQSxTQUNFLFVBREYsR0FDRSxzQkFBVTtBQUNSLFdBQUE7QUFBQTtBQUFBO0FBQ0QsR0FISDs7QUFBQSxTQUtFLFNBTEYsR0FLRSxxQkFBUztBQUNQLFdBQUEsUUFBQTtBQUNELEdBUEg7O0FBQUE7QUFBQTtBQVlBLE9BQU8sSUFBTSxpQkFBaUIsR0FBRyxJQUExQixnQkFBMEIsRUFBMUI7QUFFUDs7Ozs7Ozs7OztBQVNBLFdBQU0sbUJBQU47QUF3R0UsK0JBQUEsU0FBQSxFQUFvRCxjQUFwRCxFQUEwRTtBQUFBLFFBQXRCLGNBQXNCO0FBQXRCLE1BQUEsY0FBc0IsR0FBMUUsS0FBMEU7QUFBQTs7QUFBckQsU0FBQSxTQUFBLEdBQUEsU0FBQTtBQUErQixTQUFBLGNBQUEsR0FBQSxjQUFBO0FBQTBCO0FBdkc5RTs7Ozs7Ozs7Ozs7O0FBREYsc0JBV0UsVUFYRixHQVdFLG9CQUFBLFNBQUEsRUFBK0MsY0FBL0MsRUFBcUU7QUFBQSxRQUF0QixjQUFzQjtBQUF0QixNQUFBLGNBQXNCLEdBQXJFLEtBQXFFO0FBQUE7O0FBQ25FLFdBQU8sSUFBQSxtQkFBQSxDQUNMO0FBQ0UsTUFBQSxVQUFVLEVBQUUsQ0FEZCxTQUNjLENBRGQ7QUFFRSxNQUFBLFFBQVEsRUFBRTtBQUZaLEtBREssRUFBUCxjQUFPLENBQVA7QUFPRDtBQUVEOzs7Ozs7Ozs7O0FBckJGOztBQUFBLHNCQStCRSxRQS9CRixHQStCRSxvQkFBZTtBQUNiLFdBQU8sSUFBQSxtQkFBQSxDQUF3QjtBQUFFLE1BQUEsVUFBVSxFQUFaLEVBQUE7QUFBa0IsTUFBQSxRQUFR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QUF5RDtBQUM3RCxNQUFJLE9BQUEsVUFBQSxLQUFKLFFBQUEsRUFBb0M7QUFDbEMsWUFBQSxVQUFBO0FBQ0UsV0FBQSxPQUFBO0FBQ0UsZUFBTyxtQkFBbUIsQ0FBMUIsUUFBTyxFQUFQOztBQUNGLFdBQUEsUUFBQTtBQUNFLGVBQUEsaUJBQUE7QUFKSjtBQU1EOztBQUVELFVBQVEsVUFBVSxDQUFsQixDQUFrQixDQUFsQjtBQUNFLFNBQUEsV0FBQTtBQUNFLGNBQVEsVUFBVSxDQUFsQixDQUFrQixDQUFsQjtBQUNFLGFBQUE7QUFBQTtBQUFBO0FBQ0UsaUJBQU8sbUJBQW1CLENBQW5CLE1BQUEsQ0FBMkI7QUFBRSxZQUFBLE1BQU0sRUFBRTtBQUFWLFdBQTNCLENBQVA7O0FBQ0YsYUFBQTtBQUFBO0FBQUE7QUFDRSxpQkFBTyxtQkFBbUIsQ0FBMUIsSUFBTyxFQUFQOztBQUNGLGFBQUE7QUFBQTtBQUFBO0FBQ0UsaUJBQU8sbUJBQW1CLENBQW5CLE1BQUEsQ0FBMkI7QUFBRSxZQUFBLE1BQU0sRUFBRTtBQUFWLFdBQTNCLENBQVA7QUFOSjs7QUFTRixTQUFBLElBQUE7QUFDRSxhQUFPLG1CQUFtQixDQUFuQixVQUFBLENBQStCLFVBQVUsQ0FBaEQsQ0FBZ0QsQ0FBekMsQ0FBUDtBQVpKO0FBY0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEEgZnJlZSB2YXJpYWJsZSBpcyByZXNvbHZlZCBhY2NvcmRpbmcgdG8gYSByZXNvbHV0aW9uIHJ1bGU6XG4gKlxuICogMS4gU3RyaWN0IHJlc29sdXRpb25cbiAqIDIuIE5hbWVzcGFjZWQgcmVzb2x1dGlvblxuICogMy4gRmFsbGJhY2sgcmVzb2x1dGlvblxuICovXG5cbmltcG9ydCB7IEdldENvbnRleHR1YWxGcmVlT3AsIFNleHBPcGNvZGVzIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogU3RyaWN0IHJlc29sdXRpb24gaXMgdXNlZDpcbiAqXG4gKiAxLiBpbiBhIHN0cmljdCBtb2RlIHRlbXBsYXRlXG4gKiAyLiBpbiBhbiB1bmFtYmlndW91cyBpbnZvY2F0aW9uIHdpdGggZG90IHBhdGhzXG4gKi9cbmV4cG9ydCBjbGFzcyBTdHJpY3RSZXNvbHV0aW9uIHtcbiAgcmVzb2x1dGlvbigpOiBHZXRDb250ZXh0dWFsRnJlZU9wIHtcbiAgICByZXR1cm4gU2V4cE9wY29kZXMuR2V0U3RyaWN0RnJlZTtcbiAgfVxuXG4gIHNlcmlhbGl6ZSgpOiBTZXJpYWxpemVkUmVzb2x1dGlvbiB7XG4gICAgcmV0dXJuICdTdHJpY3QnO1xuICB9XG5cbiAgcmVhZG9ubHkgaXNBbmdsZUJyYWNrZXQgPSBmYWxzZTtcbn1cblxuZXhwb3J0IGNvbnN0IFNUUklDVF9SRVNPTFVUSU9OID0gbmV3IFN0cmljdFJlc29sdXRpb24oKTtcblxuLyoqXG4gKiBBIGBMb29zZU1vZGVSZXNvbHV0aW9uYCBpbmNsdWRlczpcbiAqXG4gKiAtIDAgb3IgbW9yZSBuYW1lc3BhY2VzIHRvIHJlc29sdmUgdGhlIHZhcmlhYmxlIGluXG4gKiAtIG9wdGlvbmFsIGZhbGxiYWNrIGJlaGF2aW9yXG4gKlxuICogSW4gcHJhY3RpY2UsIHRoZXJlIGFyZSBhIGxpbWl0ZWQgbnVtYmVyIG9mIHBvc3NpYmxlIGNvbWJpbmF0aW9ucyBvZiB0aGVzZSBkZWdyZWVzIG9mIGZyZWVkb20sXG4gKiBhbmQgdGhleSBhcmUgY2FwdHVyZWQgYnkgdGhlIGBBbWJpZ3VpdHlgIHVuaW9uIGJlbG93LlxuICovXG5leHBvcnQgY2xhc3MgTG9vc2VNb2RlUmVzb2x1dGlvbiB7XG4gIC8qKlxuICAgKiBOYW1lc3BhY2VkIHJlc29sdXRpb24gaXMgdXNlZCBpbiBhbiB1bmFtYmlndW91cyBzeW50YXggcG9zaXRpb246XG4gICAqXG4gICAqIDEuIGAoc2V4cClgIChuYW1lc3BhY2U6IGBIZWxwZXJgKVxuICAgKiAyLiBge3sjYmxvY2t9fWAgKG5hbWVzcGFjZTogYENvbXBvbmVudGApXG4gICAqIDMuIGA8YSB7e21vZGlmaWVyfX0+YCAobmFtZXNwYWNlOiBgTW9kaWZpZXJgKVxuICAgKiA0LiBgPENvbXBvbmVudCAvPmAgKG5hbWVzcGFjZTogYENvbXBvbmVudGApXG4gICAqXG4gICAqIEBzZWUge05hbWVzcGFjZWRBbWJpZ3VpdHl9XG4gICAqL1xuICBzdGF0aWMgbmFtZXNwYWNlZChuYW1lc3BhY2U6IEZyZWVWYXJOYW1lc3BhY2UsIGlzQW5nbGVCcmFja2V0ID0gZmFsc2UpOiBMb29zZU1vZGVSZXNvbHV0aW9uIHtcbiAgICByZXR1cm4gbmV3IExvb3NlTW9kZVJlc29sdXRpb24oXG4gICAgICB7XG4gICAgICAgIG5hbWVzcGFjZXM6IFtuYW1lc3BhY2VdLFxuICAgICAgICBmYWxsYmFjazogZmFsc2UsXG4gICAgICB9LFxuICAgICAgaXNBbmdsZUJyYWNrZXRcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZhbGxiYWNrIHJlc29sdXRpb24gaXMgdXNlZCB3aGVuIG5vIG5hbWVzcGFjZWQgcmVzb2x1dGlvbnMgYXJlIHBvc3NpYmxlLCBidXQgZmFsbGJhY2tcbiAgICogcmVzb2x1dGlvbiBpcyBzdGlsbCBhbGxvd2VkLlxuICAgKlxuICAgKiBgYGBoYnNcbiAgICoge3t4Lnl9fVxuICAgKiBgYGBcbiAgICpcbiAgICogQHNlZSB7RmFsbGJhY2tBbWJpZ3VpdHl9XG4gICAqL1xuICBzdGF0aWMgZmFsbGJhY2soKTogTG9vc2VNb2RlUmVzb2x1dGlvbiB7XG4gICAgcmV0dXJuIG5ldyBMb29zZU1vZGVSZXNvbHV0aW9uKHsgbmFtZXNwYWNlczogW10sIGZhbGxiYWNrOiB0cnVlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGVuZCByZXNvbHV0aW9uIGlzIHVzZWQgd2hlbiB0aGUgdmFyaWFibGUgc2hvdWxkIGJlIHJlc29sdmVkIGluIGJvdGggdGhlIGBjb21wb25lbnRgIGFuZFxuICAgKiBgaGVscGVyYCBuYW1lc3BhY2VzLiBGYWxsYmFjayByZXNvbHV0aW9uIGlzIG9wdGlvbmFsLlxuICAgKlxuICAgKiBgYGBoYnNcbiAgICoge3t4fX1cbiAgICogYGBgXG4gICAqXG4gICAqIF4gYHhgIHNob3VsZCBiZSByZXNvbHZlZCBpbiB0aGUgYGNvbXBvbmVudGAgYW5kIGBoZWxwZXJgIG5hbWVzcGFjZXMgd2l0aCBmYWxsYmFjayByZXNvbHV0aW9uLlxuICAgKlxuICAgKiBgYGBoYnNcbiAgICoge3t4IHl9fVxuICAgKiBgYGBcbiAgICpcbiAgICogXiBgeGAgc2hvdWxkIGJlIHJlc29sdmVkIGluIHRoZSBgY29tcG9uZW50YCBhbmQgYGhlbHBlcmAgbmFtZXNwYWNlcyB3aXRob3V0IGZhbGxiYWNrXG4gICAqIHJlc29sdXRpb24uXG4gICAqXG4gICAqIEBzZWUge0NvbXBvbmVudE9ySGVscGVyQW1iaWd1aXR5fVxuICAgKi9cbiAgc3RhdGljIGFwcGVuZCh7IGludm9rZSB9OiB7IGludm9rZTogYm9vbGVhbiB9KTogTG9vc2VNb2RlUmVzb2x1dGlvbiB7XG4gICAgcmV0dXJuIG5ldyBMb29zZU1vZGVSZXNvbHV0aW9uKHtcbiAgICAgIG5hbWVzcGFjZXM6IFtGcmVlVmFyTmFtZXNwYWNlLkNvbXBvbmVudCwgRnJlZVZhck5hbWVzcGFjZS5IZWxwZXJdLFxuICAgICAgZmFsbGJhY2s6ICFpbnZva2UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVHJ1c3RpbmcgYXBwZW5kIHJlc29sdXRpb24gaXMgdXNlZCB3aGVuIHRoZSB2YXJpYWJsZSBzaG91bGQgYmUgcmVzb2x2ZWQgaW4gYm90aCB0aGUgYGNvbXBvbmVudGAgYW5kXG4gICAqIGBoZWxwZXJgIG5hbWVzcGFjZXMuIEZhbGxiYWNrIHJlc29sdXRpb24gaXMgb3B0aW9uYWwuXG4gICAqXG4gICAqIGBgYGhic1xuICAgKiB7e3t4fX19XG4gICAqIGBgYFxuICAgKlxuICAgKiBeIGB4YCBzaG91bGQgYmUgcmVzb2x2ZWQgaW4gdGhlIGBjb21wb25lbnRgIGFuZCBgaGVscGVyYCBuYW1lc3BhY2VzIHdpdGggZmFsbGJhY2sgcmVzb2x1dGlvbi5cbiAgICpcbiAgICogYGBgaGJzXG4gICAqIHt7e3ggeX19fVxuICAgKiBgYGBcbiAgICpcbiAgICogXiBgeGAgc2hvdWxkIGJlIHJlc29sdmVkIGluIHRoZSBgY29tcG9uZW50YCBhbmQgYGhlbHBlcmAgbmFtZXNwYWNlcyB3aXRob3V0IGZhbGxiYWNrXG4gICAqIHJlc29sdXRpb24uXG4gICAqXG4gICAqIEBzZWUge0hlbHBlckFtYmlndWl0eX1cbiAgICovXG4gIHN0YXRpYyB0cnVzdGluZ0FwcGVuZCh7IGludm9rZSB9OiB7IGludm9rZTogYm9vbGVhbiB9KTogTG9vc2VNb2RlUmVzb2x1dGlvbiB7XG4gICAgcmV0dXJuIG5ldyBMb29zZU1vZGVSZXNvbHV0aW9uKHtcbiAgICAgIG5hbWVzcGFjZXM6IFtGcmVlVmFyTmFtZXNwYWNlLkhlbHBlcl0sXG4gICAgICBmYWxsYmFjazogIWludm9rZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgcmVzb2x1dGlvbiBpcyB1c2VkIHdoZW4gdGhlIHZhcmlhYmxlIHNob3VsZCBiZSByZXNvbHZlZCBhcyBhIGBoZWxwZXJgIHdpdGggZmFsbGJhY2tcbiAgICogcmVzb2x1dGlvbi5cbiAgICpcbiAgICogYGBgaGJzXG4gICAqIDxhIGhyZWY9e3t4fX0gLz5cbiAgICogPGEgaHJlZj1cInt7eH19Lmh0bWxcIiAvPlxuICAgKiBgYGBcbiAgICpcbiAgICogXiByZXNvbHZlZCBpbiB0aGUgYGhlbHBlcmAgbmFtZXNwYWNlIHdpdGggZmFsbGJhY2tcbiAgICpcbiAgICogQHNlZSB7SGVscGVyQW1iaWd1aXR5fVxuICAgKi9cbiAgc3RhdGljIGF0dHIoKTogTG9vc2VNb2RlUmVzb2x1dGlvbiB7XG4gICAgcmV0dXJuIG5ldyBMb29zZU1vZGVSZXNvbHV0aW9uKHsgbmFtZXNwYWNlczogW0ZyZWVWYXJOYW1lc3BhY2UuSGVscGVyXSwgZmFsbGJhY2s6IHRydWUgfSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBhbWJpZ3VpdHk6IEFtYmlndWl0eSwgcmVhZG9ubHkgaXNBbmdsZUJyYWNrZXQgPSBmYWxzZSkge31cblxuICByZXNvbHV0aW9uKCk6IEdldENvbnRleHR1YWxGcmVlT3Age1xuICAgIGlmICh0aGlzLmFtYmlndWl0eS5uYW1lc3BhY2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldEZyZWVBc0ZhbGxiYWNrO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hbWJpZ3VpdHkubmFtZXNwYWNlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGlmICh0aGlzLmFtYmlndWl0eS5mYWxsYmFjaykge1xuICAgICAgICAvLyBzaW1wbGUgbmFtZXNwYWNlZCByZXNvbHV0aW9uIHdpdGggZmFsbGJhY2sgbXVzdCBiZSBhdHRyPXt7eH19XG4gICAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNIZWxwZXJIZWFkT3JUaGlzRmFsbGJhY2s7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBzaW1wbGUgbmFtZXNwYWNlZCByZXNvbHV0aW9uIHdpdGhvdXQgZmFsbGJhY2tcbiAgICAgICAgc3dpdGNoICh0aGlzLmFtYmlndWl0eS5uYW1lc3BhY2VzWzBdKSB7XG4gICAgICAgICAgY2FzZSBGcmVlVmFyTmFtZXNwYWNlLkhlbHBlcjpcbiAgICAgICAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNIZWxwZXJIZWFkO1xuICAgICAgICAgIGNhc2UgRnJlZVZhck5hbWVzcGFjZS5Nb2RpZmllcjpcbiAgICAgICAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNNb2RpZmllckhlYWQ7XG4gICAgICAgICAgY2FzZSBGcmVlVmFyTmFtZXNwYWNlLkNvbXBvbmVudDpcbiAgICAgICAgICAgIHJldHVybiBTZXhwT3Bjb2Rlcy5HZXRGcmVlQXNDb21wb25lbnRIZWFkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmFtYmlndWl0eS5mYWxsYmFjaykge1xuICAgICAgLy8gY29tcG9uZW50IG9yIGhlbHBlciArIGZhbGxiYWNrICh7e3NvbWV0aGluZ319KVxuICAgICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldEZyZWVBc0NvbXBvbmVudE9ySGVscGVySGVhZE9yVGhpc0ZhbGxiYWNrO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBjb21wb25lbnQgb3IgaGVscGVyIHdpdGhvdXQgZmFsbGJhY2sgKHt7c29tZXRoaW5nIHNvbWV0aGluZ319KVxuICAgICAgcmV0dXJuIFNleHBPcGNvZGVzLkdldEZyZWVBc0NvbXBvbmVudE9ySGVscGVySGVhZDtcbiAgICB9XG4gIH1cblxuICBzZXJpYWxpemUoKTogU2VyaWFsaXplZFJlc29sdXRpb24ge1xuICAgIGlmICh0aGlzLmFtYmlndWl0eS5uYW1lc3BhY2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuICdMb29zZSc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFtYmlndWl0eS5uYW1lc3BhY2VzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgaWYgKHRoaXMuYW1iaWd1aXR5LmZhbGxiYWNrKSB7XG4gICAgICAgIC8vIHNpbXBsZSBuYW1lc3BhY2VkIHJlc29sdXRpb24gd2l0aCBmYWxsYmFjayBtdXN0IGJlIGF0dHI9e3t4fX1cbiAgICAgICAgcmV0dXJuIFsnYW1iaWd1b3VzJywgU2VyaWFsaXplZEFtYmlndWl0eS5BdHRyXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBbJ25zJywgdGhpcy5hbWJpZ3VpdHkubmFtZXNwYWNlc1swXV07XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmFtYmlndWl0eS5mYWxsYmFjaykge1xuICAgICAgLy8gY29tcG9uZW50IG9yIGhlbHBlciArIGZhbGxiYWNrICh7e3NvbWV0aGluZ319KVxuICAgICAgcmV0dXJuIFsnYW1iaWd1b3VzJywgU2VyaWFsaXplZEFtYmlndWl0eS5BcHBlbmRdO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBjb21wb25lbnQgb3IgaGVscGVyIHdpdGhvdXQgZmFsbGJhY2sgKHt7c29tZXRoaW5nIHNvbWV0aGluZ319KVxuICAgICAgcmV0dXJuIFsnYW1iaWd1b3VzJywgU2VyaWFsaXplZEFtYmlndWl0eS5JbnZva2VdO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQVJHVU1FTlRfUkVTT0xVVElPTiA9IExvb3NlTW9kZVJlc29sdXRpb24uZmFsbGJhY2soKTtcblxuZXhwb3J0IGNvbnN0IGVudW0gRnJlZVZhck5hbWVzcGFjZSB7XG4gIEhlbHBlciA9ICdIZWxwZXInLFxuICBNb2RpZmllciA9ICdNb2RpZmllcicsXG4gIENvbXBvbmVudCA9ICdDb21wb25lbnQnLFxufVxuXG4vKipcbiAqIEEgYENvbXBvbmVudE9ySGVscGVyQW1iaWd1aXR5YCBtaWdodCBiZSBhIGNvbXBvbmVudCBvciBhIGhlbHBlciwgd2l0aCBhbiBvcHRpb25hbCBmYWxsYmFja1xuICpcbiAqIGBgYGhic1xuICoge3t4fX1cbiAqIGBgYFxuICpcbiAqIF4gYHhgIGlzIHJlc29sdmVkIGluIHRoZSBgY29tcG9uZW50YCBhbmQgYGhlbHBlcmAgbmFtZXNwYWNlcywgd2l0aCBmYWxsYmFja1xuICpcbiAqIGBgYGhic1xuICoge3t4IHl9fVxuICogYGBgXG4gKlxuICogXiBgeGAgaXMgcmVzb2x2ZWQgaW4gdGhlIGBjb21wb25lbnRgIGFuZCBgaGVscGVyYCBuYW1lc3BhY2VzLCB3aXRob3V0IGZhbGxiYWNrXG4gKi9cbnR5cGUgQ29tcG9uZW50T3JIZWxwZXJBbWJpZ3VpdHkgPSB7XG4gIG5hbWVzcGFjZXM6IFtGcmVlVmFyTmFtZXNwYWNlLkNvbXBvbmVudCwgRnJlZVZhck5hbWVzcGFjZS5IZWxwZXJdO1xuICBmYWxsYmFjazogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogQSBgSGVscGVyQW1iaWd1aXR5YCBtdXN0IGJlIGEgaGVscGVyLCBidXQgaXQgaGFzIGZhbGxiYWNrLiBJZiBpdCBkaWRuJ3QgaGF2ZSBmYWxsYmFjaywgaXQgd291bGRcbiAqIGJlIGEgYE5hbWVzcGFjZWRBbWJpZ3VpdHlgLlxuICpcbiAqIGBgYGhic1xuICogPGEgaHJlZj17e3h9fSAvPlxuICogPGEgaHJlZj1cInt7eH19Lmh0bWxcIiAvPlxuICogYGBgXG4gKlxuICogXiBgeGAgaXMgcmVzb2x2ZWQgaW4gdGhlIGBoZWxwZXJgIG5hbWVzcGFjZSB3aXRoIGZhbGxiYWNrXG4gKi9cbnR5cGUgSGVscGVyQW1iaWd1aXR5ID0geyBuYW1lc3BhY2VzOiBbRnJlZVZhck5hbWVzcGFjZS5IZWxwZXJdOyBmYWxsYmFjazogYm9vbGVhbiB9O1xuXG4vKipcbiAqIEEgYE5hbWVzcGFjZWRBbWJpZ3VpdHlgIG11c3QgYmUgcmVzb2x2ZWQgaW4gYSBwYXJ0aWN1bGFyIG5hbWVzcGFjZSwgd2l0aG91dCBmYWxsYmFjay5cbiAqXG4gKiBgYGBoYnNcbiAqIDxYIC8+XG4gKiBgYGBcbiAqXG4gKiBeIGBYYCBpcyByZXNvbHZlZCBpbiB0aGUgYGNvbXBvbmVudGAgbmFtZXNwYWNlIHdpdGhvdXQgZmFsbGJhY2tcbiAqXG4gKiBgYGBoYnNcbiAqICh4KVxuICogYGBgXG4gKlxuICogXiBgeGAgaXMgcmVzb2x2ZWQgaW4gdGhlIGBoZWxwZXJgIG5hbWVzcGFjZSB3aXRob3V0IGZhbGxiYWNrXG4gKlxuICogYGBgaGJzXG4gKiA8YSB7e3h9fSAvPlxuICogYGBgXG4gKlxuICogXiBgeGAgaXMgcmVzb2x2ZWQgaW4gdGhlIGBtb2RpZmllcmAgbmFtZXNwYWNlIHdpdGhvdXQgZmFsbGJhY2tcbiAqL1xudHlwZSBOYW1lc3BhY2VkQW1iaWd1aXR5ID0ge1xuICBuYW1lc3BhY2VzOiBbRnJlZVZhck5hbWVzcGFjZS5Db21wb25lbnQgfCBGcmVlVmFyTmFtZXNwYWNlLkhlbHBlciB8IEZyZWVWYXJOYW1lc3BhY2UuTW9kaWZpZXJdO1xuICBmYWxsYmFjazogZmFsc2U7XG59O1xuXG50eXBlIEZhbGxiYWNrQW1iaWd1aXR5ID0ge1xuICBuYW1lc3BhY2VzOiBbXTtcbiAgZmFsbGJhY2s6IHRydWU7XG59O1xuXG50eXBlIEFtYmlndWl0eSA9XG4gIHwgQ29tcG9uZW50T3JIZWxwZXJBbWJpZ3VpdHlcbiAgfCBIZWxwZXJBbWJpZ3VpdHlcbiAgfCBOYW1lc3BhY2VkQW1iaWd1aXR5XG4gIHwgRmFsbGJhY2tBbWJpZ3VpdHk7XG5cbmV4cG9ydCB0eXBlIEZyZWVWYXJSZXNvbHV0aW9uID0gU3RyaWN0UmVzb2x1dGlvbiB8IExvb3NlTW9kZVJlc29sdXRpb247XG5cbi8vIFNlcmlhbGl6YXRpb25cblxuY29uc3QgZW51bSBTZXJpYWxpemVkQW1iaWd1aXR5IHtcbiAgLy8ge3t4fX1cbiAgQXBwZW5kID0gJ0FwcGVuZCcsXG4gIC8vIGhyZWY9e3t4fX1cbiAgQXR0ciA9ICdBdHRyJyxcbiAgLy8ge3t4IHl9fSAobm90IGF0dHIpXG4gIEludm9rZSA9ICdJbnZva2UnLFxufVxuXG5leHBvcnQgdHlwZSBTZXJpYWxpemVkUmVzb2x1dGlvbiA9XG4gIHwgJ1N0cmljdCdcbiAgfCAnTG9vc2UnXG4gIHwgWyducycsIEZyZWVWYXJOYW1lc3BhY2VdXG4gIHwgWydhbWJpZ3VvdXMnLCBTZXJpYWxpemVkQW1iaWd1aXR5XTtcblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRSZXNvbHV0aW9uKHJlc29sdXRpb246IFNlcmlhbGl6ZWRSZXNvbHV0aW9uKTogRnJlZVZhclJlc29sdXRpb24ge1xuICBpZiAodHlwZW9mIHJlc29sdXRpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgc3dpdGNoIChyZXNvbHV0aW9uKSB7XG4gICAgICBjYXNlICdMb29zZSc6XG4gICAgICAgIHJldHVybiBMb29zZU1vZGVSZXNvbHV0aW9uLmZhbGxiYWNrKCk7XG4gICAgICBjYXNlICdTdHJpY3QnOlxuICAgICAgICByZXR1cm4gU1RSSUNUX1JFU09MVVRJT047XG4gICAgfVxuICB9XG5cbiAgc3dpdGNoIChyZXNvbHV0aW9uWzBdKSB7XG4gICAgY2FzZSAnYW1iaWd1b3VzJzpcbiAgICAgIHN3aXRjaCAocmVzb2x1dGlvblsxXSkge1xuICAgICAgICBjYXNlIFNlcmlhbGl6ZWRBbWJpZ3VpdHkuQXBwZW5kOlxuICAgICAgICAgIHJldHVybiBMb29zZU1vZGVSZXNvbHV0aW9uLmFwcGVuZCh7IGludm9rZTogZmFsc2UgfSk7XG4gICAgICAgIGNhc2UgU2VyaWFsaXplZEFtYmlndWl0eS5BdHRyOlxuICAgICAgICAgIHJldHVybiBMb29zZU1vZGVSZXNvbHV0aW9uLmF0dHIoKTtcbiAgICAgICAgY2FzZSBTZXJpYWxpemVkQW1iaWd1aXR5Lkludm9rZTpcbiAgICAgICAgICByZXR1cm4gTG9vc2VNb2RlUmVzb2x1dGlvbi5hcHBlbmQoeyBpbnZva2U6IHRydWUgfSk7XG4gICAgICB9XG5cbiAgICBjYXNlICducyc6XG4gICAgICByZXR1cm4gTG9vc2VNb2RlUmVzb2x1dGlvbi5uYW1lc3BhY2VkKHJlc29sdXRpb25bMV0pO1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9

@@ -9,2 +9,4 @@ import * as ASTv1 from './v1/api';

export declare function printLiteral(literal: ASTv1.Literal): string;
export declare function isUpperCase(tag: string): boolean;
export declare function isLowerCase(tag: string): boolean;
//# sourceMappingURL=utils.d.ts.map

@@ -18,2 +18,3 @@ /**

serialize(): SerializedResolution;
readonly isAngleBracket = false;
}

@@ -32,2 +33,3 @@ export declare const STRICT_RESOLUTION: StrictResolution;

readonly ambiguity: Ambiguity;
readonly isAngleBracket: boolean;
/**

@@ -43,3 +45,3 @@ * Namespaced resolution is used in an unambiguous syntax position:

*/
static namespaced(namespace: FreeVarNamespace): LooseModeResolution;
static namespaced(namespace: FreeVarNamespace, isAngleBracket?: boolean): LooseModeResolution;
/**

@@ -114,3 +116,3 @@ * Fallback resolution is used when no namespaced resolutions are possible, but fallback

static attr(): LooseModeResolution;
constructor(ambiguity: Ambiguity);
constructor(ambiguity: Ambiguity, isAngleBracket?: boolean);
resolution(): GetContextualFreeOp;

@@ -117,0 +119,0 @@ serialize(): SerializedResolution;

{
"name": "@glimmer/syntax",
"version": "0.73.2",
"version": "0.74.0",
"repository": "https://github.com/glimmerjs/glimmer-vm/tree/master/packages/@glimmer/syntax",
"dependencies": {
"@glimmer/interfaces": "0.73.2",
"@glimmer/util": "0.73.2",
"@glimmer/interfaces": "0.74.0",
"@glimmer/util": "0.74.0",
"@handlebars/parser": "^2.0.0",

@@ -12,3 +12,3 @@ "simple-html-tokenizer": "^0.5.10"

"devDependencies": {
"@glimmer/local-debug-flags": "0.73.2",
"@glimmer/local-debug-flags": "0.74.0",
"@types/qunit": "^2.9.0"

@@ -15,0 +15,0 @@ },

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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 too big to display

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

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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 too big to display

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