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

@kizahasi/flocon-script

Package Overview
Dependencies
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@kizahasi/flocon-script - npm Package Compare versions

Comparing version 0.7.0 to 0.7.1

2

dist/cjs/builtIn/Array.js

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

exports.arrayClass = new FArrayClass();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbHRJbi9BcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnREFBNEY7QUFDNUYsNkNBQTBDO0FBQzFDLDBCQUFpQztBQUVqQyxNQUFNLFdBQVksU0FBUSx1QkFBUztJQUMvQjtRQUNJLEtBQUssQ0FDRCxHQUFHLEVBQUU7WUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxFQUNELFNBQVMsRUFDVCxLQUFLLENBQ1IsQ0FBQztJQUNOLENBQUM7SUFFTyxNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBYyxFQUFFLE9BQTRCO1FBQzNFLElBQUksS0FBSyxFQUFFO1lBQ1AsTUFBTSxlQUFXLENBQUMsbUJBQW1CLENBQUMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3pEO0lBQ0wsQ0FBQztJQUVNLFNBQVMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQWlCO1FBQzVDLFFBQVEsR0FBRyxFQUFFO1lBQ1QsS0FBSyxTQUFTLENBQUMsQ0FBQztnQkFDWixPQUFPLGVBQU0sQ0FBQyxJQUFJLENBQ2QsSUFBSSx1QkFBUyxDQUNULENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtvQkFDaEIsV0FBVyxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztvQkFDaEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNwQixPQUFPLElBQUksc0JBQVEsQ0FBQyxDQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxJQUFJLE1BQUssbUJBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbkQsQ0FBQyxFQUNELElBQUksRUFDSixLQUFLLENBQ1IsQ0FDSixDQUFDO2FBQ0w7WUFDRDtnQkFDSSxPQUFPLGVBQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUM1QjtJQUNMLENBQUM7Q0FDSjtBQUVZLFFBQUEsVUFBVSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3RJbmZvLCBGQm9vbGVhbiwgRkZ1bmN0aW9uLCBGVHlwZSwgRlZhbHVlLCBHZXRDb3JlUGFyYW1zIH0gZnJvbSAnLi4vc2NyaXB0VmFsdWUnO1xyXG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tICdAa2l6YWhhc2kvb3B0aW9uJztcclxuaW1wb3J0IHsgU2NyaXB0RXJyb3IgfSBmcm9tICcuLic7XHJcblxyXG5jbGFzcyBGQXJyYXlDbGFzcyBleHRlbmRzIEZGdW5jdGlvbiB7XHJcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoXHJcbiAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQXJyYXkgY29uc3RydWN0b3IgaXMgbm90IHN1cHBvcnRlZCcpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgIGZhbHNlXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBwcmVwYXJlU3RhdGljTWV0aG9kKGlzTmV3OiBib29sZWFuLCBhc3RJbmZvOiBBc3RJbmZvIHwgdW5kZWZpbmVkKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGlzTmV3KSB7XHJcbiAgICAgICAgICAgIHRocm93IFNjcmlwdEVycm9yLm5vdENvbnN0cnVjdG9yRXJyb3IoYXN0SW5mbz8ucmFuZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25HZXR0aW5nKHsga2V5LCBhc3RJbmZvIH06IEdldENvcmVQYXJhbXMpOiBPcHRpb248RlZhbHVlPiB7XHJcbiAgICAgICAgc3dpdGNoIChrZXkpIHtcclxuICAgICAgICAgICAgY2FzZSAnaXNBcnJheSc6IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBPcHRpb24uc29tZShcclxuICAgICAgICAgICAgICAgICAgICBuZXcgRkZ1bmN0aW9uKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoeyBhcmdzLCBpc05ldyB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQXJyYXlDbGFzcy5wcmVwYXJlU3RhdGljTWV0aG9kKGlzTmV3LCBhc3RJbmZvKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFyZyA9IGFyZ3NbMF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZCb29sZWFuKGFyZz8udHlwZSA9PT0gRlR5cGUuQXJyYXkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmYWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHJldHVybiBPcHRpb24ubm9uZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGFycmF5Q2xhc3MgPSBuZXcgRkFycmF5Q2xhc3MoKTtcclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbHRJbi9BcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnREFBNEY7QUFDNUYsNkNBQTBDO0FBQzFDLDBCQUFpQztBQUVqQyxNQUFNLFdBQVksU0FBUSx1QkFBUztJQUMvQjtRQUNJLEtBQUssQ0FDRCxHQUFHLEVBQUU7WUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxFQUNELFNBQVMsRUFDVCxLQUFLLENBQ1IsQ0FBQztJQUNOLENBQUM7SUFFTyxNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBYyxFQUFFLE9BQTRCO1FBQzNFLElBQUksS0FBSyxFQUFFO1lBQ1AsTUFBTSxlQUFXLENBQUMsbUJBQW1CLENBQUMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3pEO0lBQ0wsQ0FBQztJQUVNLFNBQVMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQWlCO1FBQzVDLFFBQVEsR0FBRyxFQUFFO1lBQ1QsS0FBSyxTQUFTLENBQUMsQ0FBQztnQkFDWixPQUFPLGVBQU0sQ0FBQyxJQUFJLENBQ2QsSUFBSSx1QkFBUyxDQUNULENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtvQkFDaEIsV0FBVyxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztvQkFDaEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNwQixPQUFPLElBQUksc0JBQVEsQ0FBQyxDQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxJQUFJLE1BQUssbUJBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbkQsQ0FBQyxFQUNELElBQUksRUFDSixLQUFLLENBQ1IsQ0FDSixDQUFDO2FBQ0w7WUFDRDtnQkFDSSxPQUFPLGVBQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUM1QjtJQUNMLENBQUM7Q0FDSjtBQUVZLFFBQUEsVUFBVSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3RJbmZvLCBGQm9vbGVhbiwgRkZ1bmN0aW9uLCBGVHlwZSwgRlZhbHVlLCBHZXRDb3JlUGFyYW1zIH0gZnJvbSAnLi4vc2NyaXB0VmFsdWUnO1xuaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSAnQGtpemFoYXNpL29wdGlvbic7XG5pbXBvcnQgeyBTY3JpcHRFcnJvciB9IGZyb20gJy4uJztcblxuY2xhc3MgRkFycmF5Q2xhc3MgZXh0ZW5kcyBGRnVuY3Rpb24ge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBcnJheSBjb25zdHJ1Y3RvciBpcyBub3Qgc3VwcG9ydGVkJyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBwcmVwYXJlU3RhdGljTWV0aG9kKGlzTmV3OiBib29sZWFuLCBhc3RJbmZvOiBBc3RJbmZvIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgICAgIGlmIChpc05ldykge1xuICAgICAgICAgICAgdGhyb3cgU2NyaXB0RXJyb3Iubm90Q29uc3RydWN0b3JFcnJvcihhc3RJbmZvPy5yYW5nZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25HZXR0aW5nKHsga2V5LCBhc3RJbmZvIH06IEdldENvcmVQYXJhbXMpOiBPcHRpb248RlZhbHVlPiB7XG4gICAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgICAgICBjYXNlICdpc0FycmF5Jzoge1xuICAgICAgICAgICAgICAgIHJldHVybiBPcHRpb24uc29tZShcbiAgICAgICAgICAgICAgICAgICAgbmV3IEZGdW5jdGlvbihcbiAgICAgICAgICAgICAgICAgICAgICAgICh7IGFyZ3MsIGlzTmV3IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQXJyYXlDbGFzcy5wcmVwYXJlU3RhdGljTWV0aG9kKGlzTmV3LCBhc3RJbmZvKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhcmcgPSBhcmdzWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRkJvb2xlYW4oYXJnPy50eXBlID09PSBGVHlwZS5BcnJheSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gT3B0aW9uLm5vbmUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IGFycmF5Q2xhc3MgPSBuZXcgRkFycmF5Q2xhc3MoKTtcbiJdfQ==

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

exports.Context = Context;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwyREFBNkM7QUFJN0MsTUFBYSxPQUFPO0lBYWhCLFlBQTBCLFVBQStCO1FBQS9CLGVBQVUsR0FBVixVQUFVLENBQXFCO1FBWnpEOzs7Ozs7OztVQVFFO1FBQ00sY0FBUyxHQUEyQyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztRQUlwRSxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sR0FBRyxDQUFDLElBQVksRUFBRSxLQUF3QjtRQUM3QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUzthQUN2QixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzdCLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUM7YUFDaEMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEIsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3JCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNwQjtRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQzdCLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ3ZDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRTtTQUNyQixDQUFDLENBQUM7UUFDSCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBWSxFQUFFLFFBQTRCLEVBQUUsS0FBd0I7UUFDOUUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVM7YUFDdkIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM3QixNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDO2FBQ2hDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUNyQixJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7Z0JBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsSUFBSSxHQUFHLENBQUMsQ0FBQzthQUM1RDtZQUNELEtBQUssQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDO1lBQ3JCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQ2hCLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ3ZDLFFBQVE7WUFDUixPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUU7U0FDckIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE9BQU8sQ0FBQyxJQUFZLEVBQUUsS0FBeUIsRUFBRSxJQUFxQjtRQUN6RSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDN0M7UUFDRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztTQUN2RDtRQUNELFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFO1lBQ2YsR0FBRyxFQUFFLEtBQUs7WUFDVixPQUFPLEVBQUUsSUFBSSxLQUFLLE9BQU87U0FDNUIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE9BQU87UUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLFFBQVE7UUFDWCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7U0FDdkQ7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7Q0FDSjtBQS9FRCwwQkErRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSYW5nZSB9IGZyb20gJy4vcmFuZ2UnO1xyXG5pbXBvcnQgKiBhcyBTY3JpcHRWYWx1ZSBmcm9tICcuL3NjcmlwdFZhbHVlJztcclxuXHJcbnR5cGUgUmVmPFQ+ID0geyByZWY6IFQ7IGlzQ29uc3Q6IGJvb2xlYW4gfTtcclxuXHJcbmV4cG9ydCBjbGFzcyBDb250ZXh0IHtcclxuICAgIC8qXHJcbiAgICBsZXQgeCA9IDE7XHJcbiAgICBsZXQgZiA9ICgpID0+IHtcclxuICAgICAgICBsZXQgeCA9IDI7XHJcbiAgICAgICAgcmV0dXJuIDI7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIOOBruOCiOOBhuOBquOBqOOBjeOAgWxldCBmIOOBruaLrOW8p+OBruWkluOBp+OBryBbeyB4OiAxIH1d44CBbGV0IHggPSAyIOOBruOBmeOBkOS4iuOBp+OBryBbeyB4OiAxIH0sIHt9XeOAgeS4i+OBi+OCiSApIOOBvuOBp+OBryBbeyB4OiAxIH0sIHsgeDogMiB9XSDjgajjgarjgovjgIJcclxuICAgICovXHJcbiAgICBwcml2YXRlIHZhclRhYmxlczogTWFwPHN0cmluZywgUmVmPFNjcmlwdFZhbHVlLkZWYWx1ZT4+W10gPSBbbmV3IE1hcCgpXTtcclxuICAgIHB1YmxpYyBjdXJyZW50VGhpczogU2NyaXB0VmFsdWUuRlJlY29yZCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIGdsb2JhbFRoaXM6IFNjcmlwdFZhbHVlLkZSZWNvcmQpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRUaGlzID0gZ2xvYmFsVGhpcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0KG5hbWU6IHN0cmluZywgcmFuZ2U6IFJhbmdlIHwgdW5kZWZpbmVkKTogU2NyaXB0VmFsdWUuRlZhbHVlIHtcclxuICAgICAgICBjb25zdCBmb3VuZCA9IHRoaXMudmFyVGFibGVzXHJcbiAgICAgICAgICAgIC5tYXAodGFibGUgPT4gdGFibGUuZ2V0KG5hbWUpKVxyXG4gICAgICAgICAgICAuZmlsdGVyKHZhbCA9PiB2YWwgIT09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgLnJldmVyc2UoKVswXTtcclxuICAgICAgICBpZiAoZm91bmQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZm91bmQucmVmO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBwcm9wID0gdGhpcy5nbG9iYWxUaGlzLmdldCh7XHJcbiAgICAgICAgICAgIHByb3BlcnR5OiBuZXcgU2NyaXB0VmFsdWUuRlN0cmluZyhuYW1lKSxcclxuICAgICAgICAgICAgYXN0SW5mbzogeyByYW5nZSB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmIChwcm9wICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3A7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzc2lnbihuYW1lOiBzdHJpbmcsIG5ld1ZhbHVlOiBTY3JpcHRWYWx1ZS5GVmFsdWUsIHJhbmdlOiBSYW5nZSB8IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGZvdW5kID0gdGhpcy52YXJUYWJsZXNcclxuICAgICAgICAgICAgLm1hcCh0YWJsZSA9PiB0YWJsZS5nZXQobmFtZSkpXHJcbiAgICAgICAgICAgIC5maWx0ZXIodmFsID0+IHZhbCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICAucmV2ZXJzZSgpWzBdO1xyXG4gICAgICAgIGlmIChmb3VuZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGlmIChmb3VuZC5pc0NvbnN0KSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgYXNzaWdubWVudCB0byBjb25zdCAnJHtuYW1lfSdgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb3VuZC5yZWYgPSBuZXdWYWx1ZTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmdsb2JhbFRoaXMuc2V0KHtcclxuICAgICAgICAgICAgcHJvcGVydHk6IG5ldyBTY3JpcHRWYWx1ZS5GU3RyaW5nKG5hbWUpLFxyXG4gICAgICAgICAgICBuZXdWYWx1ZSxcclxuICAgICAgICAgICAgYXN0SW5mbzogeyByYW5nZSB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkZWNsYXJlKG5hbWU6IHN0cmluZywgdmFsdWU6IFNjcmlwdFZhbHVlLkZWYWx1ZSwgdHlwZTogJ2xldCcgfCAnY29uc3QnKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgdmFyVGFibGUgPSB0aGlzLnZhclRhYmxlc1t0aGlzLnZhclRhYmxlcy5sZW5ndGggLSAxXTtcclxuICAgICAgICBpZiAodmFyVGFibGUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RoaXMgc2hvdWxkIG5vdCBoYXBwZW4nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZm91bmQgPSB2YXJUYWJsZS5nZXQobmFtZSk7XHJcbiAgICAgICAgaWYgKGZvdW5kICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGByZWRlY2xhcmF0aW9uIG9mICR7dHlwZX0gJHtuYW1lfWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXJUYWJsZS5zZXQobmFtZSwge1xyXG4gICAgICAgICAgICByZWY6IHZhbHVlLFxyXG4gICAgICAgICAgICBpc0NvbnN0OiB0eXBlID09PSAnY29uc3QnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzY29wZUluKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmFyVGFibGVzLnB1c2gobmV3IE1hcCgpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2NvcGVPdXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMudmFyVGFibGVzLmxlbmd0aCA8PSAxKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigndGhpcy52YXJUYWJsZXMgbXVzdCBub3QgYmUgZW1wdHknKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy52YXJUYWJsZXMucG9wKCk7XHJcbiAgICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwyREFBNkM7QUFJN0MsTUFBYSxPQUFPO0lBYWhCLFlBQTBCLFVBQStCO1FBQS9CLGVBQVUsR0FBVixVQUFVLENBQXFCO1FBWnpEOzs7Ozs7OztVQVFFO1FBQ00sY0FBUyxHQUEyQyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztRQUlwRSxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sR0FBRyxDQUFDLElBQVksRUFBRSxLQUF3QjtRQUM3QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUzthQUN2QixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzdCLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUM7YUFDaEMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEIsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3JCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNwQjtRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQzdCLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ3ZDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRTtTQUNyQixDQUFDLENBQUM7UUFDSCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBWSxFQUFFLFFBQTRCLEVBQUUsS0FBd0I7UUFDOUUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVM7YUFDdkIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM3QixNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDO2FBQ2hDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUNyQixJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7Z0JBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsSUFBSSxHQUFHLENBQUMsQ0FBQzthQUM1RDtZQUNELEtBQUssQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDO1lBQ3JCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQ2hCLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ3ZDLFFBQVE7WUFDUixPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUU7U0FDckIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE9BQU8sQ0FBQyxJQUFZLEVBQUUsS0FBeUIsRUFBRSxJQUFxQjtRQUN6RSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDN0M7UUFDRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztTQUN2RDtRQUNELFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFO1lBQ2YsR0FBRyxFQUFFLEtBQUs7WUFDVixPQUFPLEVBQUUsSUFBSSxLQUFLLE9BQU87U0FDNUIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE9BQU87UUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLFFBQVE7UUFDWCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7U0FDdkQ7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7Q0FDSjtBQS9FRCwwQkErRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSYW5nZSB9IGZyb20gJy4vcmFuZ2UnO1xuaW1wb3J0ICogYXMgU2NyaXB0VmFsdWUgZnJvbSAnLi9zY3JpcHRWYWx1ZSc7XG5cbnR5cGUgUmVmPFQ+ID0geyByZWY6IFQ7IGlzQ29uc3Q6IGJvb2xlYW4gfTtcblxuZXhwb3J0IGNsYXNzIENvbnRleHQge1xuICAgIC8qXG4gICAgbGV0IHggPSAxO1xuICAgIGxldCBmID0gKCkgPT4ge1xuICAgICAgICBsZXQgeCA9IDI7XG4gICAgICAgIHJldHVybiAyO1xuICAgIH1cbiAgICBcbiAgICDjga7jgojjgYbjgarjgajjgY3jgIFsZXQgZiDjga7mi6zlvKfjga7lpJbjgafjga8gW3sgeDogMSB9XeOAgWxldCB4ID0gMiDjga7jgZnjgZDkuIrjgafjga8gW3sgeDogMSB9LCB7fV3jgIHkuIvjgYvjgokgKSDjgb7jgafjga8gW3sgeDogMSB9LCB7IHg6IDIgfV0g44Go44Gq44KL44CCXG4gICAgKi9cbiAgICBwcml2YXRlIHZhclRhYmxlczogTWFwPHN0cmluZywgUmVmPFNjcmlwdFZhbHVlLkZWYWx1ZT4+W10gPSBbbmV3IE1hcCgpXTtcbiAgICBwdWJsaWMgY3VycmVudFRoaXM6IFNjcmlwdFZhbHVlLkZSZWNvcmQgfCB1bmRlZmluZWQ7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIGdsb2JhbFRoaXM6IFNjcmlwdFZhbHVlLkZSZWNvcmQpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VGhpcyA9IGdsb2JhbFRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldChuYW1lOiBzdHJpbmcsIHJhbmdlOiBSYW5nZSB8IHVuZGVmaW5lZCk6IFNjcmlwdFZhbHVlLkZWYWx1ZSB7XG4gICAgICAgIGNvbnN0IGZvdW5kID0gdGhpcy52YXJUYWJsZXNcbiAgICAgICAgICAgIC5tYXAodGFibGUgPT4gdGFibGUuZ2V0KG5hbWUpKVxuICAgICAgICAgICAgLmZpbHRlcih2YWwgPT4gdmFsICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAucmV2ZXJzZSgpWzBdO1xuICAgICAgICBpZiAoZm91bmQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIGZvdW5kLnJlZjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwcm9wID0gdGhpcy5nbG9iYWxUaGlzLmdldCh7XG4gICAgICAgICAgICBwcm9wZXJ0eTogbmV3IFNjcmlwdFZhbHVlLkZTdHJpbmcobmFtZSksXG4gICAgICAgICAgICBhc3RJbmZvOiB7IHJhbmdlIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAocHJvcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJvcDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3NpZ24obmFtZTogc3RyaW5nLCBuZXdWYWx1ZTogU2NyaXB0VmFsdWUuRlZhbHVlLCByYW5nZTogUmFuZ2UgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZm91bmQgPSB0aGlzLnZhclRhYmxlc1xuICAgICAgICAgICAgLm1hcCh0YWJsZSA9PiB0YWJsZS5nZXQobmFtZSkpXG4gICAgICAgICAgICAuZmlsdGVyKHZhbCA9PiB2YWwgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIC5yZXZlcnNlKClbMF07XG4gICAgICAgIGlmIChmb3VuZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAoZm91bmQuaXNDb25zdCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCBhc3NpZ25tZW50IHRvIGNvbnN0ICcke25hbWV9J2ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm91bmQucmVmID0gbmV3VmFsdWU7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5nbG9iYWxUaGlzLnNldCh7XG4gICAgICAgICAgICBwcm9wZXJ0eTogbmV3IFNjcmlwdFZhbHVlLkZTdHJpbmcobmFtZSksXG4gICAgICAgICAgICBuZXdWYWx1ZSxcbiAgICAgICAgICAgIGFzdEluZm86IHsgcmFuZ2UgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlY2xhcmUobmFtZTogc3RyaW5nLCB2YWx1ZTogU2NyaXB0VmFsdWUuRlZhbHVlLCB0eXBlOiAnbGV0JyB8ICdjb25zdCcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFyVGFibGUgPSB0aGlzLnZhclRhYmxlc1t0aGlzLnZhclRhYmxlcy5sZW5ndGggLSAxXTtcbiAgICAgICAgaWYgKHZhclRhYmxlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigndGhpcyBzaG91bGQgbm90IGhhcHBlbicpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZvdW5kID0gdmFyVGFibGUuZ2V0KG5hbWUpO1xuICAgICAgICBpZiAoZm91bmQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGByZWRlY2xhcmF0aW9uIG9mICR7dHlwZX0gJHtuYW1lfWApO1xuICAgICAgICB9XG4gICAgICAgIHZhclRhYmxlLnNldChuYW1lLCB7XG4gICAgICAgICAgICByZWY6IHZhbHVlLFxuICAgICAgICAgICAgaXNDb25zdDogdHlwZSA9PT0gJ2NvbnN0JyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNjb3BlSW4oKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFyVGFibGVzLnB1c2gobmV3IE1hcCgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2NvcGVPdXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnZhclRhYmxlcy5sZW5ndGggPD0gMSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd0aGlzLnZhclRhYmxlcyBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudmFyVGFibGVzLnBvcCgpO1xuICAgIH1cbn1cbiJdfQ==

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

if (e.type === 'SpreadElement') {
throw new ScriptError_1.ScriptError('SpreadElement is not supported', range_1.toRange(expression));
throw new ScriptError_1.ScriptError('SpreadElement is not supported', (0, range_1.toRange)(expression));
}

@@ -25,3 +25,3 @@ return fExpression(e);

if (param.type !== 'Identifier') {
throw new ScriptError_1.ScriptError(`'${param.type}' is not supported`, range_1.toRange(expression));
throw new ScriptError_1.ScriptError(`'${param.type}' is not supported`, (0, range_1.toRange)(expression));
}

@@ -32,3 +32,3 @@ return param;

if (expression.body.type === 'BlockStatement') {
body = fStatement_1.fBlockStatement(expression.body);
body = (0, fStatement_1.fBlockStatement)(expression.body);
}

@@ -62,7 +62,7 @@ else {

default:
throw new ScriptError_1.ScriptError(`'${expression.left.type}' is not supported`, range_1.toRange(expression));
throw new ScriptError_1.ScriptError(`'${expression.left.type}' is not supported`, (0, range_1.toRange)(expression));
}
return {
...expression,
operator: fAssignmentOperator(expression.operator, range_1.toRange(expression)),
operator: fAssignmentOperator(expression.operator, (0, range_1.toRange)(expression)),
left,

@@ -74,3 +74,3 @@ right: fExpression(expression.right),

if (expression.callee.type === 'Super') {
throw new ScriptError_1.ScriptError(`'${expression.callee.type}' is not supported`, range_1.toRange(expression));
throw new ScriptError_1.ScriptError(`'${expression.callee.type}' is not supported`, (0, range_1.toRange)(expression));
}

@@ -82,3 +82,3 @@ return {

if (arg.type === 'SpreadElement') {
throw new ScriptError_1.ScriptError(`'${arg.type} is not supported'`, range_1.toRange(arg));
throw new ScriptError_1.ScriptError(`'${arg.type} is not supported'`, (0, range_1.toRange)(arg));
}

@@ -101,3 +101,3 @@ return fExpression(arg);

...expression,
operator: fBinaryOperator(expression.operator, range_1.toRange(expression)),
operator: fBinaryOperator(expression.operator, (0, range_1.toRange)(expression)),
left: fExpression(expression.left),

@@ -129,6 +129,6 @@ right: fExpression(expression.right),

if ('bigint' in expression) {
throw new ScriptError_1.ScriptError(`'bigint' is not supported`, range_1.toRange(expression));
throw new ScriptError_1.ScriptError(`'bigint' is not supported`, (0, range_1.toRange)(expression));
}
if ('regex' in expression) {
throw new ScriptError_1.ScriptError(`'regex' is not supported`, range_1.toRange(expression));
throw new ScriptError_1.ScriptError(`'regex' is not supported`, (0, range_1.toRange)(expression));
}

@@ -146,7 +146,7 @@ return expression;

if (expression.object.type === 'Super') {
throw new ScriptError_1.ScriptError("'Super' is not supported", range_1.toRange(expression));
throw new ScriptError_1.ScriptError("'Super' is not supported", (0, range_1.toRange)(expression));
}
if (expression.property.type === 'PrivateIdentifier') {
// 用途が不明
throw new ScriptError_1.ScriptError("'PrivateIdentifier' is not supported", range_1.toRange(expression));
throw new ScriptError_1.ScriptError("'PrivateIdentifier' is not supported", (0, range_1.toRange)(expression));
}

@@ -171,3 +171,3 @@ return {

if (prop.type === 'SpreadElement') {
throw new ScriptError_1.ScriptError("'SpreadElement' is not supported", range_1.toRange(expression));
throw new ScriptError_1.ScriptError("'SpreadElement' is not supported", (0, range_1.toRange)(expression));
}

@@ -188,3 +188,3 @@ return fProperty(prop);

default:
throw new ScriptError_1.ScriptError(`'${property.key}' is not supported`, range_1.toRange(property.key));
throw new ScriptError_1.ScriptError(`'${property.key}' is not supported`, (0, range_1.toRange)(property.key));
}

@@ -196,3 +196,3 @@ switch (property.value.type) {

case 'AssignmentPattern': {
throw new ScriptError_1.ScriptError(`'${property.value.type}' is not supported`, range_1.toRange(property.value));
throw new ScriptError_1.ScriptError(`'${property.value.type}' is not supported`, (0, range_1.toRange)(property.value));
}

@@ -206,3 +206,3 @@ default:

default:
throw new ScriptError_1.ScriptError(`'${property.kind}' is not supported`, range_1.toRange(property.value));
throw new ScriptError_1.ScriptError(`'${property.kind}' is not supported`, (0, range_1.toRange)(property.value));
}

@@ -235,3 +235,3 @@ return {

...expression,
operator: fUnaryOperator(expression.operator, range_1.toRange(expression)),
operator: fUnaryOperator(expression.operator, (0, range_1.toRange)(expression)),
argument: fExpression(expression.argument),

@@ -273,6 +273,6 @@ };

default:
throw new ScriptError_1.ScriptError(`'${expression.type}' is not supported`, range_1.toRange(expression));
throw new ScriptError_1.ScriptError(`'${expression.type}' is not supported`, (0, range_1.toRange)(expression));
}
}
exports.fExpression = fExpression;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZkV4cHJlc3Npb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZkV4cHJlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBdUJBLDZDQUFnRTtBQUNoRSxtQ0FBeUM7QUFDekMsK0NBQTRDO0FBSzVDLFNBQVMsZ0JBQWdCLENBQUMsVUFBMkI7SUFDakQsT0FBTztRQUNILEdBQUcsVUFBVTtRQUNiLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7Z0JBQ1gsT0FBTyxDQUFDLENBQUM7YUFDWjtZQUNELElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUU7Z0JBQzVCLE1BQU0sSUFBSSx5QkFBVyxDQUFDLGdDQUFnQyxFQUFFLGVBQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2FBQ2hGO1lBQ0QsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDO0tBQ0wsQ0FBQztBQUNOLENBQUM7QUFNRCxTQUFTLHVCQUF1QixDQUFDLFVBQW1DO0lBQ2hFLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3pDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxZQUFZLEVBQUU7WUFDN0IsTUFBTSxJQUFJLHlCQUFXLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxvQkFBb0IsRUFBRSxlQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUNsRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxJQUFtQyxDQUFDO0lBQ3hDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLEVBQUU7UUFDM0MsSUFBSSxHQUFHLDRCQUFlLENBQUMsVUFBVSxDQUFDLElB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UUFDeEMsS0FBSyx1QkFBdUI7WUFDeEIsT0FBTyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxLQUFLLFlBQVk7WUFDYixPQUFPLFVBQVUsQ0FBQztRQUN0QixLQUFLLFNBQVM7WUFDVixPQUFPLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxLQUFLLG1CQUFtQjtZQUNwQixPQUFPLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLEtBQUssa0JBQWtCO1lBQ25CLE9BQU8saUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekMsS0FBSyxlQUFlO1lBQ2hCLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLEtBQUssa0JBQWtCO1lBQ25CLE9BQU8saUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekMsS0FBSyxnQkFBZ0I7WUFDakIsT0FBTyxVQUFVLENBQUM7UUFDdEIsS0FBSyxpQkFBaUI7WUFDbEIsT0FBTyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QztZQUNJLE1BQU0sSUFBSSx5QkFBVyxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksb0JBQW9CLEVBQUUsZUFBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7S0FDM0Y7QUFDTCxDQUFDO0FBbkNELGtDQW1DQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBcnJheUV4cHJlc3Npb24sXHJcbiAgICBBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbixcclxuICAgIEFzc2lnbm1lbnRFeHByZXNzaW9uLFxyXG4gICAgQXNzaWdubWVudE9wZXJhdG9yLFxyXG4gICAgQmFzZUNhbGxFeHByZXNzaW9uLFxyXG4gICAgQmluYXJ5RXhwcmVzc2lvbixcclxuICAgIEJpbmFyeU9wZXJhdG9yLFxyXG4gICAgQ2hhaW5FeHByZXNzaW9uLFxyXG4gICAgQ29uZGl0aW9uYWxFeHByZXNzaW9uLFxyXG4gICAgRXhwcmVzc2lvbixcclxuICAgIElkZW50aWZpZXIsXHJcbiAgICBMaXRlcmFsLFxyXG4gICAgTG9naWNhbEV4cHJlc3Npb24sXHJcbiAgICBNZW1iZXJFeHByZXNzaW9uLFxyXG4gICAgTmV3RXhwcmVzc2lvbixcclxuICAgIE9iamVjdEV4cHJlc3Npb24sXHJcbiAgICBQcm9wZXJ0eSxcclxuICAgIFNpbXBsZUNhbGxFeHByZXNzaW9uLFxyXG4gICAgVGhpc0V4cHJlc3Npb24sXHJcbiAgICBVbmFyeUV4cHJlc3Npb24sXHJcbiAgICBVbmFyeU9wZXJhdG9yLFxyXG59IGZyb20gJ2VzdHJlZSc7XHJcbmltcG9ydCB7IGZCbG9ja1N0YXRlbWVudCwgRkJsb2NrU3RhdGVtZW50IH0gZnJvbSAnLi9mU3RhdGVtZW50JztcclxuaW1wb3J0IHsgUmFuZ2UsIHRvUmFuZ2UgfSBmcm9tICcuL3JhbmdlJztcclxuaW1wb3J0IHsgU2NyaXB0RXJyb3IgfSBmcm9tICcuL1NjcmlwdEVycm9yJztcclxuXHJcbmV4cG9ydCB0eXBlIEZBcnJheUV4cHJlc3Npb24gPSBPbWl0PEFycmF5RXhwcmVzc2lvbiwgJ2VsZW1lbnRzJz4gJiB7XHJcbiAgICBlbGVtZW50czogQXJyYXk8RkV4cHJlc3Npb24gfCBudWxsPjtcclxufTtcclxuZnVuY3Rpb24gZkFycmF5RXhwcmVzc2lvbihleHByZXNzaW9uOiBBcnJheUV4cHJlc3Npb24pOiBGQXJyYXlFeHByZXNzaW9uIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4uZXhwcmVzc2lvbixcclxuICAgICAgICBlbGVtZW50czogZXhwcmVzc2lvbi5lbGVtZW50cy5tYXAoZSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlID09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChlLnR5cGUgPT09ICdTcHJlYWRFbGVtZW50Jykge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKCdTcHJlYWRFbGVtZW50IGlzIG5vdCBzdXBwb3J0ZWQnLCB0b1JhbmdlKGV4cHJlc3Npb24pKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gZkV4cHJlc3Npb24oZSk7XHJcbiAgICAgICAgfSksXHJcbiAgICB9O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24gPSBPbWl0PEFycm93RnVuY3Rpb25FeHByZXNzaW9uLCAnYm9keScgfCAncGFyYW1zJz4gJiB7XHJcbiAgICBib2R5OiBGQmxvY2tTdGF0ZW1lbnQgfCBGRXhwcmVzc2lvbjtcclxuICAgIHBhcmFtczogQXJyYXk8RklkZW50aWZpZXI+O1xyXG59O1xyXG5mdW5jdGlvbiBmQXJyb3dGdW50aW9uRXhwcmVzc2lvbihleHByZXNzaW9uOiBBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbik6IEZBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSBleHByZXNzaW9uLnBhcmFtcy5tYXAocGFyYW0gPT4ge1xyXG4gICAgICAgIGlmIChwYXJhbS50eXBlICE9PSAnSWRlbnRpZmllcicpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKGAnJHtwYXJhbS50eXBlfScgaXMgbm90IHN1cHBvcnRlZGAsIHRvUmFuZ2UoZXhwcmVzc2lvbikpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcGFyYW07XHJcbiAgICB9KTtcclxuICAgIGxldCBib2R5OiBGQmxvY2tTdGF0ZW1lbnQgfCBGRXhwcmVzc2lvbjtcclxuICAgIGlmIChleHByZXNzaW9uLmJvZHkudHlwZSA9PT0gJ0Jsb2NrU3RhdGVtZW50Jykge1xyXG4gICAgICAgIGJvZHkgPSBmQmxvY2tTdGF0ZW1lbnQoZXhwcmVzc2lvbi5ib2R5KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgYm9keSA9IGZFeHByZXNzaW9uKGV4cHJlc3Npb24uYm9keSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLmV4cHJlc3Npb24sXHJcbiAgICAgICAgYm9keSxcclxuICAgICAgICBwYXJhbXMsXHJcbiAgICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBmQXNzaWdubWVudE9wZXJhdG9yKG9wZXJhdG9yOiBBc3NpZ25tZW50T3BlcmF0b3IsIHJhbmdlOiBSYW5nZSB8IHVuZGVmaW5lZCkge1xyXG4gICAgc3dpdGNoIChvcGVyYXRvcikge1xyXG4gICAgICAgIGNhc2UgJz0nOlxyXG4gICAgICAgICAgICByZXR1cm4gb3BlcmF0b3I7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKGAnJHtvcGVyYXRvcn0nIGlzIG5vdCBzdXBwb3J0ZWRgLCByYW5nZSk7XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IHR5cGUgRkFzc2lnbm1lbnRPcGVyYXRvciA9IFJldHVyblR5cGU8dHlwZW9mIGZBc3NpZ25tZW50T3BlcmF0b3I+O1xyXG5cclxuZXhwb3J0IHR5cGUgRkFzc2lnbm1lbnRFeHByZXNzaW9uID0gT21pdDxBc3NpZ25tZW50RXhwcmVzc2lvbiwgJ29wZXJhdG9yJyB8ICdsZWZ0JyB8ICdyaWdodCc+ICYge1xyXG4gICAgb3BlcmF0b3I6IEZBc3NpZ25tZW50T3BlcmF0b3I7XHJcbiAgICBsZWZ0OiBGSWRlbnRpZmllciB8IEZNZW1iZXJFeHByZXNzaW9uO1xyXG4gICAgcmlnaHQ6IEZFeHByZXNzaW9uO1xyXG59O1xyXG5mdW5jdGlvbiBmQXNzaWdubWVudEV4cHJlc3Npb24oZXhwcmVzc2lvbjogQXNzaWdubWVudEV4cHJlc3Npb24pOiBGQXNzaWdubWVudEV4cHJlc3Npb24ge1xyXG4gICAgbGV0IGxlZnQ6IEZJZGVudGlmaWVyIHwgRk1lbWJlckV4cHJlc3Npb247XHJcbiAgICBzd2l0Y2ggKGV4cHJlc3Npb24ubGVmdC50eXBlKSB7XHJcbiAgICAgICAgY2FzZSAnSWRlbnRpZmllcic6XHJcbiAgICAgICAgICAgIGxlZnQgPSBleHByZXNzaW9uLmxlZnQ7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ01lbWJlckV4cHJlc3Npb24nOlxyXG4gICAgICAgICAgICBsZWZ0ID0gZk1lbWJlckV4cHJlc3Npb24oZXhwcmVzc2lvbi5sZWZ0KTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKFxyXG4gICAgICAgICAgICAgICAgYCcke2V4cHJlc3Npb24ubGVmdC50eXBlfScgaXMgbm90IHN1cHBvcnRlZGAsXHJcbiAgICAgICAgICAgICAgICB0b1JhbmdlKGV4cHJlc3Npb24pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLmV4cHJlc3Npb24sXHJcbiAgICAgICAgb3BlcmF0b3I6IGZBc3NpZ25tZW50T3BlcmF0b3IoZXhwcmVzc2lvbi5vcGVyYXRvciwgdG9SYW5nZShleHByZXNzaW9uKSksXHJcbiAgICAgICAgbGVmdCxcclxuICAgICAgICByaWdodDogZkV4cHJlc3Npb24oZXhwcmVzc2lvbi5yaWdodCksXHJcbiAgICB9O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGQmFzZUNhbGxFeHByZXNzaW9uID0gT21pdDxCYXNlQ2FsbEV4cHJlc3Npb24sICdjYWxsZWUnIHwgJ2FyZ3VtZW50cyc+ICYge1xyXG4gICAgY2FsbGVlOiBGRXhwcmVzc2lvbjtcclxuICAgIGFyZ3VtZW50czogQXJyYXk8RkV4cHJlc3Npb24+O1xyXG59O1xyXG5mdW5jdGlvbiBmQmFzZUNhbGxFeHByZXNzaW9uKGV4cHJlc3Npb246IEJhc2VDYWxsRXhwcmVzc2lvbik6IEZCYXNlQ2FsbEV4cHJlc3Npb24ge1xyXG4gICAgaWYgKGV4cHJlc3Npb24uY2FsbGVlLnR5cGUgPT09ICdTdXBlcicpIHtcclxuICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoYCcke2V4cHJlc3Npb24uY2FsbGVlLnR5cGV9JyBpcyBub3Qgc3VwcG9ydGVkYCwgdG9SYW5nZShleHByZXNzaW9uKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLmV4cHJlc3Npb24sXHJcbiAgICAgICAgY2FsbGVlOiBmRXhwcmVzc2lvbihleHByZXNzaW9uLmNhbGxlZSksXHJcbiAgICAgICAgYXJndW1lbnRzOiBleHByZXNzaW9uLmFyZ3VtZW50cy5tYXAoYXJnID0+IHtcclxuICAgICAgICAgICAgaWYgKGFyZy50eXBlID09PSAnU3ByZWFkRWxlbWVudCcpIHtcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihgJyR7YXJnLnR5cGV9IGlzIG5vdCBzdXBwb3J0ZWQnYCwgdG9SYW5nZShhcmcpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gZkV4cHJlc3Npb24oYXJnKTtcclxuICAgICAgICB9KSxcclxuICAgIH07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZCaW5hcnlPcGVyYXRvcihvcGVyYXRvcjogQmluYXJ5T3BlcmF0b3IsIHJhbmdlOiBSYW5nZSB8IHVuZGVmaW5lZCkge1xyXG4gICAgc3dpdGNoIChvcGVyYXRvcikge1xyXG4gICAgICAgIGNhc2UgJ2luJzpcclxuICAgICAgICBjYXNlICdpbnN0YW5jZW9mJzpcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKGAnJHtvcGVyYXRvcn0nIGlzIG5vdCBzdXBwb3J0ZWRgLCByYW5nZSk7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgcmV0dXJuIG9wZXJhdG9yO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCB0eXBlIEZCaW5hcnlPcGVyYXRvciA9IFJldHVyblR5cGU8dHlwZW9mIGZCaW5hcnlPcGVyYXRvcj47XHJcblxyXG5leHBvcnQgdHlwZSBGQmluYXJ5RXhwcmVzc2lvbiA9IE9taXQ8QmluYXJ5RXhwcmVzc2lvbiwgJ29wZXJhdG9yJyB8ICdsZWZ0JyB8ICdyaWdodCc+ICYge1xyXG4gICAgb3BlcmF0b3I6IEZCaW5hcnlPcGVyYXRvcjtcclxuICAgIGxlZnQ6IEZFeHByZXNzaW9uO1xyXG4gICAgcmlnaHQ6IEZFeHByZXNzaW9uO1xyXG59O1xyXG5mdW5jdGlvbiBmQmluYXJ5RXhwcmVzc2lvbihleHByZXNzaW9uOiBCaW5hcnlFeHByZXNzaW9uKTogRkJpbmFyeUV4cHJlc3Npb24ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5leHByZXNzaW9uLFxyXG4gICAgICAgIG9wZXJhdG9yOiBmQmluYXJ5T3BlcmF0b3IoZXhwcmVzc2lvbi5vcGVyYXRvciwgdG9SYW5nZShleHByZXNzaW9uKSksXHJcbiAgICAgICAgbGVmdDogZkV4cHJlc3Npb24oZXhwcmVzc2lvbi5sZWZ0KSxcclxuICAgICAgICByaWdodDogZkV4cHJlc3Npb24oZXhwcmVzc2lvbi5yaWdodCksXHJcbiAgICB9O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGQ2hhaW5FeHByZXNzaW9uID0gT21pdDxDaGFpbkV4cHJlc3Npb24sICdleHByZXNzaW9uJz4gJiB7XHJcbiAgICBleHByZXNzaW9uOiBGU2ltcGxlQ2FsbEV4cHJlc3Npb24gfCBGTWVtYmVyRXhwcmVzc2lvbjtcclxufTtcclxuZnVuY3Rpb24gZkNoYWluRXhwcmVzc2lvbihleHByZXNzaW9uOiBDaGFpbkV4cHJlc3Npb24pOiBGQ2hhaW5FeHByZXNzaW9uIHtcclxuICAgIGlmIChleHByZXNzaW9uLmV4cHJlc3Npb24udHlwZSA9PT0gJ0NhbGxFeHByZXNzaW9uJykge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLmV4cHJlc3Npb24sXHJcbiAgICAgICAgICAgIGV4cHJlc3Npb246IGZTaW1wbGVDYWxsRXhwcmVzc2lvbihleHByZXNzaW9uLmV4cHJlc3Npb24pLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLmV4cHJlc3Npb24sXHJcbiAgICAgICAgZXhwcmVzc2lvbjogZk1lbWJlckV4cHJlc3Npb24oZXhwcmVzc2lvbi5leHByZXNzaW9uKSxcclxuICAgIH07XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEZDb25kaXRpb25hbEV4cHJlc3Npb24gPSBPbWl0PFxyXG4gICAgQ29uZGl0aW9uYWxFeHByZXNzaW9uLFxyXG4gICAgJ3Rlc3QnIHwgJ2FsdGVybmF0ZScgfCAnY29uc2VxdWVudCdcclxuPiAmIHtcclxuICAgIHRlc3Q6IEZFeHByZXNzaW9uO1xyXG4gICAgYWx0ZXJuYXRlOiBGRXhwcmVzc2lvbjtcclxuICAgIGNvbnNlcXVlbnQ6IEZFeHByZXNzaW9uO1xyXG59O1xyXG5mdW5jdGlvbiBmQ29uZGl0aW9uYWxFeHByZXNzaW9uKGV4cHJlc3Npb246IENvbmRpdGlvbmFsRXhwcmVzc2lvbik6IEZDb25kaXRpb25hbEV4cHJlc3Npb24ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5leHByZXNzaW9uLFxyXG4gICAgICAgIHRlc3Q6IGZFeHByZXNzaW9uKGV4cHJlc3Npb24udGVzdCksXHJcbiAgICAgICAgYWx0ZXJuYXRlOiBmRXhwcmVzc2lvbihleHByZXNzaW9uLmFsdGVybmF0ZSksXHJcbiAgICAgICAgY29uc2VxdWVudDogZkV4cHJlc3Npb24oZXhwcmVzc2lvbi5jb25zZXF1ZW50KSxcclxuICAgIH07XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEZJZGVudGlmaWVyID0gSWRlbnRpZmllcjtcclxuXHJcbmZ1bmN0aW9uIGZMaXRlcmFsKGV4cHJlc3Npb246IExpdGVyYWwpIHtcclxuICAgIGlmICgnYmlnaW50JyBpbiBleHByZXNzaW9uKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKGAnYmlnaW50JyBpcyBub3Qgc3VwcG9ydGVkYCwgdG9SYW5nZShleHByZXNzaW9uKSk7XHJcbiAgICB9XHJcbiAgICBpZiAoJ3JlZ2V4JyBpbiBleHByZXNzaW9uKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKGAncmVnZXgnIGlzIG5vdCBzdXBwb3J0ZWRgLCB0b1JhbmdlKGV4cHJlc3Npb24pKTtcclxuICAgIH1cclxuICAgIHJldHVybiBleHByZXNzaW9uO1xyXG59XHJcbmV4cG9ydCB0eXBlIEZMaXRlcmFsID0gUmV0dXJuVHlwZTx0eXBlb2YgZkxpdGVyYWw+O1xyXG5cclxuZXhwb3J0IHR5cGUgRkxvZ2ljYWxFeHByZXNzaW9uID0gT21pdDxMb2dpY2FsRXhwcmVzc2lvbiwgJ2xlZnQnIHwgJ3JpZ2h0Jz4gJiB7XHJcbiAgICBsZWZ0OiBGRXhwcmVzc2lvbjtcclxuICAgIHJpZ2h0OiBGRXhwcmVzc2lvbjtcclxufTtcclxuZnVuY3Rpb24gZkxvZ2ljYWxFeHByZXNzaW9uKGV4cHJlc3Npb246IExvZ2ljYWxFeHByZXNzaW9uKTogRkxvZ2ljYWxFeHByZXNzaW9uIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4uZXhwcmVzc2lvbixcclxuICAgICAgICBsZWZ0OiBmRXhwcmVzc2lvbihleHByZXNzaW9uLmxlZnQpLFxyXG4gICAgICAgIHJpZ2h0OiBmRXhwcmVzc2lvbihleHByZXNzaW9uLnJpZ2h0KSxcclxuICAgIH07XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEZNZW1iZXJFeHByZXNzaW9uID0gT21pdDxNZW1iZXJFeHByZXNzaW9uLCAnb2JqZWN0JyB8ICdwcm9wZXJ0eSc+ICYge1xyXG4gICAgb2JqZWN0OiBGRXhwcmVzc2lvbjtcclxuICAgIHByb3BlcnR5OiBGRXhwcmVzc2lvbjtcclxufTtcclxuZnVuY3Rpb24gZk1lbWJlckV4cHJlc3Npb24oZXhwcmVzc2lvbjogTWVtYmVyRXhwcmVzc2lvbik6IEZNZW1iZXJFeHByZXNzaW9uIHtcclxuICAgIGlmIChleHByZXNzaW9uLm9iamVjdC50eXBlID09PSAnU3VwZXInKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKFwiJ1N1cGVyJyBpcyBub3Qgc3VwcG9ydGVkXCIsIHRvUmFuZ2UoZXhwcmVzc2lvbikpO1xyXG4gICAgfVxyXG4gICAgaWYgKGV4cHJlc3Npb24ucHJvcGVydHkudHlwZSA9PT0gJ1ByaXZhdGVJZGVudGlmaWVyJykge1xyXG4gICAgICAgIC8vIOeUqOmAlOOBjOS4jeaYjlxyXG4gICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihcIidQcml2YXRlSWRlbnRpZmllcicgaXMgbm90IHN1cHBvcnRlZFwiLCB0b1JhbmdlKGV4cHJlc3Npb24pKTtcclxuICAgIH1cclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4uZXhwcmVzc2lvbixcclxuICAgICAgICBvYmplY3Q6IGZFeHByZXNzaW9uKGV4cHJlc3Npb24ub2JqZWN0KSxcclxuICAgICAgICBwcm9wZXJ0eTogZkV4cHJlc3Npb24oZXhwcmVzc2lvbi5wcm9wZXJ0eSksXHJcbiAgICB9O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGTmV3RXhwcmVzc2lvbiA9IE9taXQ8TmV3RXhwcmVzc2lvbiwgJ2NhbGxlZScgfCAnYXJndW1lbnRzJz4gJiB7XHJcbiAgICBjYWxsZWU6IEZFeHByZXNzaW9uO1xyXG4gICAgYXJndW1lbnRzOiBBcnJheTxGRXhwcmVzc2lvbj47XHJcbn07XHJcbmZ1bmN0aW9uIGZOZXdFeHByZXNzaW9uKGV4cHJlc3Npb246IE5ld0V4cHJlc3Npb24pOiBGTmV3RXhwcmVzc2lvbiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLmV4cHJlc3Npb24sXHJcbiAgICAgICAgLi4uZkJhc2VDYWxsRXhwcmVzc2lvbihleHByZXNzaW9uKSxcclxuICAgICAgICB0eXBlOiBleHByZXNzaW9uLnR5cGUsXHJcbiAgICB9O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGT2JqZWN0RXhwcmVzc2lvbiA9IE9taXQ8T2JqZWN0RXhwcmVzc2lvbiwgJ3Byb3BlcnRpZXMnPiAmIHtcclxuICAgIHByb3BlcnRpZXM6IEFycmF5PEZQcm9wZXJ0eT47XHJcbn07XHJcbmZ1bmN0aW9uIGZPYmplY3RFeHByZXNzaW9uKGV4cHJlc3Npb246IE9iamVjdEV4cHJlc3Npb24pOiBGT2JqZWN0RXhwcmVzc2lvbiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLmV4cHJlc3Npb24sXHJcbiAgICAgICAgcHJvcGVydGllczogZXhwcmVzc2lvbi5wcm9wZXJ0aWVzLm1hcChwcm9wID0+IHtcclxuICAgICAgICAgICAgaWYgKHByb3AudHlwZSA9PT0gJ1NwcmVhZEVsZW1lbnQnKSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoXCInU3ByZWFkRWxlbWVudCcgaXMgbm90IHN1cHBvcnRlZFwiLCB0b1JhbmdlKGV4cHJlc3Npb24pKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gZlByb3BlcnR5KHByb3ApO1xyXG4gICAgICAgIH0pLFxyXG4gICAgfTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRlByb3BlcnR5ID0gT21pdDxQcm9wZXJ0eSwgJ2tleScgfCAndmFsdWUnIHwgJ2tpbmQnPiAmIHtcclxuICAgIGtleTogRklkZW50aWZpZXIgfCBGTGl0ZXJhbDtcclxuICAgIHZhbHVlOiBGRXhwcmVzc2lvbjtcclxuICAgIGtpbmQ6ICdpbml0JztcclxufTtcclxuZnVuY3Rpb24gZlByb3BlcnR5KHByb3BlcnR5OiBQcm9wZXJ0eSk6IEZQcm9wZXJ0eSB7XHJcbiAgICBsZXQga2V5OiBGSWRlbnRpZmllciB8IEZMaXRlcmFsO1xyXG4gICAgc3dpdGNoIChwcm9wZXJ0eS5rZXkudHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ0lkZW50aWZpZXInOlxyXG4gICAgICAgICAgICBrZXkgPSBwcm9wZXJ0eS5rZXk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ0xpdGVyYWwnOlxyXG4gICAgICAgICAgICBrZXkgPSBmTGl0ZXJhbChwcm9wZXJ0eS5rZXkpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoYCcke3Byb3BlcnR5LmtleX0nIGlzIG5vdCBzdXBwb3J0ZWRgLCB0b1JhbmdlKHByb3BlcnR5LmtleSkpO1xyXG4gICAgfVxyXG4gICAgc3dpdGNoIChwcm9wZXJ0eS52YWx1ZS50eXBlKSB7XHJcbiAgICAgICAgY2FzZSAnQXJyYXlQYXR0ZXJuJzpcclxuICAgICAgICBjYXNlICdPYmplY3RQYXR0ZXJuJzpcclxuICAgICAgICBjYXNlICdSZXN0RWxlbWVudCc6XHJcbiAgICAgICAgY2FzZSAnQXNzaWdubWVudFBhdHRlcm4nOiB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihcclxuICAgICAgICAgICAgICAgIGAnJHtwcm9wZXJ0eS52YWx1ZS50eXBlfScgaXMgbm90IHN1cHBvcnRlZGAsXHJcbiAgICAgICAgICAgICAgICB0b1JhbmdlKHByb3BlcnR5LnZhbHVlKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHN3aXRjaCAocHJvcGVydHkua2luZCkge1xyXG4gICAgICAgIGNhc2UgJ2luaXQnOlxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoYCcke3Byb3BlcnR5LmtpbmR9JyBpcyBub3Qgc3VwcG9ydGVkYCwgdG9SYW5nZShwcm9wZXJ0eS52YWx1ZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4ucHJvcGVydHksXHJcbiAgICAgICAga2V5LFxyXG4gICAgICAgIHZhbHVlOiBmRXhwcmVzc2lvbihwcm9wZXJ0eS52YWx1ZSksXHJcbiAgICAgICAga2luZDogcHJvcGVydHkua2luZCxcclxuICAgIH07XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEZTaW1wbGVDYWxsRXhwcmVzc2lvbiA9IE9taXQ8U2ltcGxlQ2FsbEV4cHJlc3Npb24sICdjYWxsZWUnIHwgJ2FyZ3VtZW50cyc+ICYge1xyXG4gICAgY2FsbGVlOiBGRXhwcmVzc2lvbjtcclxuICAgIGFyZ3VtZW50czogQXJyYXk8RkV4cHJlc3Npb24+O1xyXG59O1xyXG5mdW5jdGlvbiBmU2ltcGxlQ2FsbEV4cHJlc3Npb24oZXhwcmVzc2lvbjogU2ltcGxlQ2FsbEV4cHJlc3Npb24pOiBGU2ltcGxlQ2FsbEV4cHJlc3Npb24ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5leHByZXNzaW9uLFxyXG4gICAgICAgIC4uLmZCYXNlQ2FsbEV4cHJlc3Npb24oZXhwcmVzc2lvbiksXHJcbiAgICAgICAgdHlwZTogZXhwcmVzc2lvbi50eXBlLFxyXG4gICAgfTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRlRoaXNFeHByZXNzaW9uID0gVGhpc0V4cHJlc3Npb247XHJcblxyXG5mdW5jdGlvbiBmVW5hcnlPcGVyYXRvcihvcGVyYXRvcjogVW5hcnlPcGVyYXRvciwgcmFuZ2U6IFJhbmdlIHwgdW5kZWZpbmVkKSB7XHJcbiAgICBzd2l0Y2ggKG9wZXJhdG9yKSB7XHJcbiAgICAgICAgY2FzZSAnZGVsZXRlJzpcclxuICAgICAgICBjYXNlICd2b2lkJzpcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKGAnJHtvcGVyYXRvcn0nIGlzIG5vdCBzdXBwb3J0ZWRgLCByYW5nZSk7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgcmV0dXJuIG9wZXJhdG9yO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCB0eXBlIEZVbmFyeU9wZXJhdG9yID0gUmV0dXJuVHlwZTx0eXBlb2YgZlVuYXJ5T3BlcmF0b3I+O1xyXG5cclxuZXhwb3J0IHR5cGUgRlVuYXJ5RXhwcmVzc2lvbiA9IE9taXQ8VW5hcnlFeHByZXNzaW9uLCAnb3BlcmF0b3InIHwgJ2FyZ3VtZW50Jz4gJiB7XHJcbiAgICBvcGVyYXRvcjogRlVuYXJ5T3BlcmF0b3I7XHJcbiAgICBhcmd1bWVudDogRkV4cHJlc3Npb247XHJcbn07XHJcbmZ1bmN0aW9uIGZVbmFyeUV4cHJlc3Npb24oZXhwcmVzc2lvbjogVW5hcnlFeHByZXNzaW9uKTogRlVuYXJ5RXhwcmVzc2lvbiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLmV4cHJlc3Npb24sXHJcbiAgICAgICAgb3BlcmF0b3I6IGZVbmFyeU9wZXJhdG9yKGV4cHJlc3Npb24ub3BlcmF0b3IsIHRvUmFuZ2UoZXhwcmVzc2lvbikpLFxyXG4gICAgICAgIGFyZ3VtZW50OiBmRXhwcmVzc2lvbihleHByZXNzaW9uLmFyZ3VtZW50KSxcclxuICAgIH07XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEZFeHByZXNzaW9uID1cclxuICAgIHwgRkFycmF5RXhwcmVzc2lvblxyXG4gICAgfCBGQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cclxuICAgIHwgRkFzc2lnbm1lbnRFeHByZXNzaW9uXHJcbiAgICB8IEZCaW5hcnlFeHByZXNzaW9uXHJcbiAgICB8IEZDaGFpbkV4cHJlc3Npb25cclxuICAgIHwgRkNvbmRpdGlvbmFsRXhwcmVzc2lvblxyXG4gICAgfCBGSWRlbnRpZmllclxyXG4gICAgfCBGTGl0ZXJhbFxyXG4gICAgfCBGTG9naWNhbEV4cHJlc3Npb25cclxuICAgIHwgRk1lbWJlckV4cHJlc3Npb25cclxuICAgIHwgRk5ld0V4cHJlc3Npb25cclxuICAgIHwgRk9iamVjdEV4cHJlc3Npb25cclxuICAgIHwgRlRoaXNFeHByZXNzaW9uXHJcbiAgICB8IEZTaW1wbGVDYWxsRXhwcmVzc2lvblxyXG4gICAgfCBGVW5hcnlFeHByZXNzaW9uO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZFeHByZXNzaW9uKGV4cHJlc3Npb246IEV4cHJlc3Npb24pOiBGRXhwcmVzc2lvbiB7XHJcbiAgICBzd2l0Y2ggKGV4cHJlc3Npb24udHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ0FycmF5RXhwcmVzc2lvbic6XHJcbiAgICAgICAgICAgIHJldHVybiBmQXJyYXlFeHByZXNzaW9uKGV4cHJlc3Npb24pO1xyXG4gICAgICAgIGNhc2UgJ0Fycm93RnVuY3Rpb25FeHByZXNzaW9uJzpcclxuICAgICAgICAgICAgcmV0dXJuIGZBcnJvd0Z1bnRpb25FeHByZXNzaW9uKGV4cHJlc3Npb24pO1xyXG4gICAgICAgIGNhc2UgJ0Fzc2lnbm1lbnRFeHByZXNzaW9uJzpcclxuICAgICAgICAgICAgcmV0dXJuIGZBc3NpZ25tZW50RXhwcmVzc2lvbihleHByZXNzaW9uKTtcclxuICAgICAgICBjYXNlICdCaW5hcnlFeHByZXNzaW9uJzpcclxuICAgICAgICAgICAgcmV0dXJuIGZCaW5hcnlFeHByZXNzaW9uKGV4cHJlc3Npb24pO1xyXG4gICAgICAgIGNhc2UgJ0NhbGxFeHByZXNzaW9uJzpcclxuICAgICAgICAgICAgcmV0dXJuIGZTaW1wbGVDYWxsRXhwcmVzc2lvbihleHByZXNzaW9uKTtcclxuICAgICAgICBjYXNlICdDaGFpbkV4cHJlc3Npb24nOlxyXG4gICAgICAgICAgICByZXR1cm4gZkNoYWluRXhwcmVzc2lvbihleHByZXNzaW9uKTtcclxuICAgICAgICBjYXNlICdDb25kaXRpb25hbEV4cHJlc3Npb24nOlxyXG4gICAgICAgICAgICByZXR1cm4gZkNvbmRpdGlvbmFsRXhwcmVzc2lvbihleHByZXNzaW9uKTtcclxuICAgICAgICBjYXNlICdJZGVudGlmaWVyJzpcclxuICAgICAgICAgICAgcmV0dXJuIGV4cHJlc3Npb247XHJcbiAgICAgICAgY2FzZSAnTGl0ZXJhbCc6XHJcbiAgICAgICAgICAgIHJldHVybiBmTGl0ZXJhbChleHByZXNzaW9uKTtcclxuICAgICAgICBjYXNlICdMb2dpY2FsRXhwcmVzc2lvbic6XHJcbiAgICAgICAgICAgIHJldHVybiBmTG9naWNhbEV4cHJlc3Npb24oZXhwcmVzc2lvbik7XHJcbiAgICAgICAgY2FzZSAnTWVtYmVyRXhwcmVzc2lvbic6XHJcbiAgICAgICAgICAgIHJldHVybiBmTWVtYmVyRXhwcmVzc2lvbihleHByZXNzaW9uKTtcclxuICAgICAgICBjYXNlICdOZXdFeHByZXNzaW9uJzpcclxuICAgICAgICAgICAgcmV0dXJuIGZOZXdFeHByZXNzaW9uKGV4cHJlc3Npb24pO1xyXG4gICAgICAgIGNhc2UgJ09iamVjdEV4cHJlc3Npb24nOlxyXG4gICAgICAgICAgICByZXR1cm4gZk9iamVjdEV4cHJlc3Npb24oZXhwcmVzc2lvbik7XHJcbiAgICAgICAgY2FzZSAnVGhpc0V4cHJlc3Npb24nOlxyXG4gICAgICAgICAgICByZXR1cm4gZXhwcmVzc2lvbjtcclxuICAgICAgICBjYXNlICdVbmFyeUV4cHJlc3Npb24nOlxyXG4gICAgICAgICAgICByZXR1cm4gZlVuYXJ5RXhwcmVzc2lvbihleHByZXNzaW9uKTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoYCcke2V4cHJlc3Npb24udHlwZX0nIGlzIG5vdCBzdXBwb3J0ZWRgLCB0b1JhbmdlKGV4cHJlc3Npb24pKTtcclxuICAgIH1cclxufVxyXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZkV4cHJlc3Npb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZkV4cHJlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBdUJBLDZDQUFnRTtBQUNoRSxtQ0FBeUM7QUFDekMsK0NBQTRDO0FBSzVDLFNBQVMsZ0JBQWdCLENBQUMsVUFBMkI7SUFDakQsT0FBTztRQUNILEdBQUcsVUFBVTtRQUNiLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7Z0JBQ1gsT0FBTyxDQUFDLENBQUM7YUFDWjtZQUNELElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUU7Z0JBQzVCLE1BQU0sSUFBSSx5QkFBVyxDQUFDLGdDQUFnQyxFQUFFLElBQUEsZUFBTyxFQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7YUFDaEY7WUFDRCxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUM7S0FDTCxDQUFDO0FBQ04sQ0FBQztBQU1ELFNBQVMsdUJBQXVCLENBQUMsVUFBbUM7SUFDaEUsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDekMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFlBQVksRUFBRTtZQUM3QixNQUFNLElBQUkseUJBQVcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLG9CQUFvQixFQUFFLElBQUEsZUFBTyxFQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7U0FDbEY7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDLENBQUMsQ0FBQztJQUNILElBQUksSUFBbUMsQ0FBQztJQUN4QyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLGdCQUFnQixFQUFFO1FBQzNDLElBQUksR0FBRyxJQUFBLDRCQUFlLEVB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TyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QyxLQUFLLGlCQUFpQjtZQUNsQixPQUFPLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hDLEtBQUssdUJBQXVCO1lBQ3hCLE9BQU8sc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUMsS0FBSyxZQUFZO1lBQ2IsT0FBTyxVQUFVLENBQUM7UUFDdEIsS0FBSyxTQUFTO1lBQ1YsT0FBTyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsS0FBSyxtQkFBbUI7WUFDcEIsT0FBTyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQyxLQUFLLGtCQUFrQjtZQUNuQixPQUFPLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pDLEtBQUssZUFBZTtZQUNoQixPQUFPLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxLQUFLLGtCQUFrQjtZQUNuQixPQUFPLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pDLEtBQUssZ0JBQWdCO1lBQ2pCLE9BQU8sVUFBVSxDQUFDO1FBQ3RCLEtBQUssaUJBQWlCO1lBQ2xCLE9BQU8sZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEM7WUFDSSxNQUFNLElBQUkseUJBQVcsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLG9CQUFvQixFQUFFLElBQUEsZUFBTyxFQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7S0FDM0Y7QUFDTCxDQUFDO0FBbkNELGtDQW1DQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQXJyYXlFeHByZXNzaW9uLFxuICAgIEFycm93RnVuY3Rpb25FeHByZXNzaW9uLFxuICAgIEFzc2lnbm1lbnRFeHByZXNzaW9uLFxuICAgIEFzc2lnbm1lbnRPcGVyYXRvcixcbiAgICBCYXNlQ2FsbEV4cHJlc3Npb24sXG4gICAgQmluYXJ5RXhwcmVzc2lvbixcbiAgICBCaW5hcnlPcGVyYXRvcixcbiAgICBDaGFpbkV4cHJlc3Npb24sXG4gICAgQ29uZGl0aW9uYWxFeHByZXNzaW9uLFxuICAgIEV4cHJlc3Npb24sXG4gICAgSWRlbnRpZmllcixcbiAgICBMaXRlcmFsLFxuICAgIExvZ2ljYWxFeHByZXNzaW9uLFxuICAgIE1lbWJlckV4cHJlc3Npb24sXG4gICAgTmV3RXhwcmVzc2lvbixcbiAgICBPYmplY3RFeHByZXNzaW9uLFxuICAgIFByb3BlcnR5LFxuICAgIFNpbXBsZUNhbGxFeHByZXNzaW9uLFxuICAgIFRoaXNFeHByZXNzaW9uLFxuICAgIFVuYXJ5RXhwcmVzc2lvbixcbiAgICBVbmFyeU9wZXJhdG9yLFxufSBmcm9tICdlc3RyZWUnO1xuaW1wb3J0IHsgZkJsb2NrU3RhdGVtZW50LCBGQmxvY2tTdGF0ZW1lbnQgfSBmcm9tICcuL2ZTdGF0ZW1lbnQnO1xuaW1wb3J0IHsgUmFuZ2UsIHRvUmFuZ2UgfSBmcm9tICcuL3JhbmdlJztcbmltcG9ydCB7IFNjcmlwdEVycm9yIH0gZnJvbSAnLi9TY3JpcHRFcnJvcic7XG5cbmV4cG9ydCB0eXBlIEZBcnJheUV4cHJlc3Npb24gPSBPbWl0PEFycmF5RXhwcmVzc2lvbiwgJ2VsZW1lbnRzJz4gJiB7XG4gICAgZWxlbWVudHM6IEFycmF5PEZFeHByZXNzaW9uIHwgbnVsbD47XG59O1xuZnVuY3Rpb24gZkFycmF5RXhwcmVzc2lvbihleHByZXNzaW9uOiBBcnJheUV4cHJlc3Npb24pOiBGQXJyYXlFeHByZXNzaW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5leHByZXNzaW9uLFxuICAgICAgICBlbGVtZW50czogZXhwcmVzc2lvbi5lbGVtZW50cy5tYXAoZSA9PiB7XG4gICAgICAgICAgICBpZiAoZSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZS50eXBlID09PSAnU3ByZWFkRWxlbWVudCcpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoJ1NwcmVhZEVsZW1lbnQgaXMgbm90IHN1cHBvcnRlZCcsIHRvUmFuZ2UoZXhwcmVzc2lvbikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZFeHByZXNzaW9uKGUpO1xuICAgICAgICB9KSxcbiAgICB9O1xufVxuXG5leHBvcnQgdHlwZSBGQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24gPSBPbWl0PEFycm93RnVuY3Rpb25FeHByZXNzaW9uLCAnYm9keScgfCAncGFyYW1zJz4gJiB7XG4gICAgYm9keTogRkJsb2NrU3RhdGVtZW50IHwgRkV4cHJlc3Npb247XG4gICAgcGFyYW1zOiBBcnJheTxGSWRlbnRpZmllcj47XG59O1xuZnVuY3Rpb24gZkFycm93RnVudGlvbkV4cHJlc3Npb24oZXhwcmVzc2lvbjogQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24pOiBGQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24ge1xuICAgIGNvbnN0IHBhcmFtcyA9IGV4cHJlc3Npb24ucGFyYW1zLm1hcChwYXJhbSA9PiB7XG4gICAgICAgIGlmIChwYXJhbS50eXBlICE9PSAnSWRlbnRpZmllcicpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihgJyR7cGFyYW0udHlwZX0nIGlzIG5vdCBzdXBwb3J0ZWRgLCB0b1JhbmdlKGV4cHJlc3Npb24pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGFyYW07XG4gICAgfSk7XG4gICAgbGV0IGJvZHk6IEZCbG9ja1N0YXRlbWVudCB8IEZFeHByZXNzaW9uO1xuICAgIGlmIChleHByZXNzaW9uLmJvZHkudHlwZSA9PT0gJ0Jsb2NrU3RhdGVtZW50Jykge1xuICAgICAgICBib2R5ID0gZkJsb2NrU3RhdGVtZW50KGV4cHJlc3Npb24uYm9keSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgYm9keSA9IGZFeHByZXNzaW9uKGV4cHJlc3Npb24uYm9keSk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmV4cHJlc3Npb24sXG4gICAgICAgIGJvZHksXG4gICAgICAgIHBhcmFtcyxcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBmQXNzaWdubWVudE9wZXJhdG9yKG9wZXJhdG9yOiBBc3NpZ25tZW50T3BlcmF0b3IsIHJhbmdlOiBSYW5nZSB8IHVuZGVmaW5lZCkge1xuICAgIHN3aXRjaCAob3BlcmF0b3IpIHtcbiAgICAgICAgY2FzZSAnPSc6XG4gICAgICAgICAgICByZXR1cm4gb3BlcmF0b3I7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoYCcke29wZXJhdG9yfScgaXMgbm90IHN1cHBvcnRlZGAsIHJhbmdlKTtcbiAgICB9XG59XG5leHBvcnQgdHlwZSBGQXNzaWdubWVudE9wZXJhdG9yID0gUmV0dXJuVHlwZTx0eXBlb2YgZkFzc2lnbm1lbnRPcGVyYXRvcj47XG5cbmV4cG9ydCB0eXBlIEZBc3NpZ25tZW50RXhwcmVzc2lvbiA9IE9taXQ8QXNzaWdubWVudEV4cHJlc3Npb24sICdvcGVyYXRvcicgfCAnbGVmdCcgfCAncmlnaHQnPiAmIHtcbiAgICBvcGVyYXRvcjogRkFzc2lnbm1lbnRPcGVyYXRvcjtcbiAgICBsZWZ0OiBGSWRlbnRpZmllciB8IEZNZW1iZXJFeHByZXNzaW9uO1xuICAgIHJpZ2h0OiBGRXhwcmVzc2lvbjtcbn07XG5mdW5jdGlvbiBmQXNzaWdubWVudEV4cHJlc3Npb24oZXhwcmVzc2lvbjogQXNzaWdubWVudEV4cHJlc3Npb24pOiBGQXNzaWdubWVudEV4cHJlc3Npb24ge1xuICAgIGxldCBsZWZ0OiBGSWRlbnRpZmllciB8IEZNZW1iZXJFeHByZXNzaW9uO1xuICAgIHN3aXRjaCAoZXhwcmVzc2lvbi5sZWZ0LnR5cGUpIHtcbiAgICAgICAgY2FzZSAnSWRlbnRpZmllcic6XG4gICAgICAgICAgICBsZWZ0ID0gZXhwcmVzc2lvbi5sZWZ0O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ01lbWJlckV4cHJlc3Npb24nOlxuICAgICAgICAgICAgbGVmdCA9IGZNZW1iZXJFeHByZXNzaW9uKGV4cHJlc3Npb24ubGVmdCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihcbiAgICAgICAgICAgICAgICBgJyR7ZXhwcmVzc2lvbi5sZWZ0LnR5cGV9JyBpcyBub3Qgc3VwcG9ydGVkYCxcbiAgICAgICAgICAgICAgICB0b1JhbmdlKGV4cHJlc3Npb24pXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5leHByZXNzaW9uLFxuICAgICAgICBvcGVyYXRvcjogZkFzc2lnbm1lbnRPcGVyYXRvcihleHByZXNzaW9uLm9wZXJhdG9yLCB0b1JhbmdlKGV4cHJlc3Npb24pKSxcbiAgICAgICAgbGVmdCxcbiAgICAgICAgcmlnaHQ6IGZFeHByZXNzaW9uKGV4cHJlc3Npb24ucmlnaHQpLFxuICAgIH07XG59XG5cbmV4cG9ydCB0eXBlIEZCYXNlQ2FsbEV4cHJlc3Npb24gPSBPbWl0PEJhc2VDYWxsRXhwcmVzc2lvbiwgJ2NhbGxlZScgfCAnYXJndW1lbnRzJz4gJiB7XG4gICAgY2FsbGVlOiBGRXhwcmVzc2lvbjtcbiAgICBhcmd1bWVudHM6IEFycmF5PEZFeHByZXNzaW9uPjtcbn07XG5mdW5jdGlvbiBmQmFzZUNhbGxFeHByZXNzaW9uKGV4cHJlc3Npb246IEJhc2VDYWxsRXhwcmVzc2lvbik6IEZCYXNlQ2FsbEV4cHJlc3Npb24ge1xuICAgIGlmIChleHByZXNzaW9uLmNhbGxlZS50eXBlID09PSAnU3VwZXInKSB7XG4gICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihgJyR7ZXhwcmVzc2lvbi5jYWxsZWUudHlwZX0nIGlzIG5vdCBzdXBwb3J0ZWRgLCB0b1JhbmdlKGV4cHJlc3Npb24pKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZXhwcmVzc2lvbixcbiAgICAgICAgY2FsbGVlOiBmRXhwcmVzc2lvbihleHByZXNzaW9uLmNhbGxlZSksXG4gICAgICAgIGFyZ3VtZW50czogZXhwcmVzc2lvbi5hcmd1bWVudHMubWFwKGFyZyA9PiB7XG4gICAgICAgICAgICBpZiAoYXJnLnR5cGUgPT09ICdTcHJlYWRFbGVtZW50Jykge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihgJyR7YXJnLnR5cGV9IGlzIG5vdCBzdXBwb3J0ZWQnYCwgdG9SYW5nZShhcmcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmRXhwcmVzc2lvbihhcmcpO1xuICAgICAgICB9KSxcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBmQmluYXJ5T3BlcmF0b3Iob3BlcmF0b3I6IEJpbmFyeU9wZXJhdG9yLCByYW5nZTogUmFuZ2UgfCB1bmRlZmluZWQpIHtcbiAgICBzd2l0Y2ggKG9wZXJhdG9yKSB7XG4gICAgICAgIGNhc2UgJ2luJzpcbiAgICAgICAgY2FzZSAnaW5zdGFuY2VvZic6XG4gICAgICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoYCcke29wZXJhdG9yfScgaXMgbm90IHN1cHBvcnRlZGAsIHJhbmdlKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBvcGVyYXRvcjtcbiAgICB9XG59XG5leHBvcnQgdHlwZSBGQmluYXJ5T3BlcmF0b3IgPSBSZXR1cm5UeXBlPHR5cGVvZiBmQmluYXJ5T3BlcmF0b3I+O1xuXG5leHBvcnQgdHlwZSBGQmluYXJ5RXhwcmVzc2lvbiA9IE9taXQ8QmluYXJ5RXhwcmVzc2lvbiwgJ29wZXJhdG9yJyB8ICdsZWZ0JyB8ICdyaWdodCc+ICYge1xuICAgIG9wZXJhdG9yOiBGQmluYXJ5T3BlcmF0b3I7XG4gICAgbGVmdDogRkV4cHJlc3Npb247XG4gICAgcmlnaHQ6IEZFeHByZXNzaW9uO1xufTtcbmZ1bmN0aW9uIGZCaW5hcnlFeHByZXNzaW9uKGV4cHJlc3Npb246IEJpbmFyeUV4cHJlc3Npb24pOiBGQmluYXJ5RXhwcmVzc2lvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZXhwcmVzc2lvbixcbiAgICAgICAgb3BlcmF0b3I6IGZCaW5hcnlPcGVyYXRvcihleHByZXNzaW9uLm9wZXJhdG9yLCB0b1JhbmdlKGV4cHJlc3Npb24pKSxcbiAgICAgICAgbGVmdDogZkV4cHJlc3Npb24oZXhwcmVzc2lvbi5sZWZ0KSxcbiAgICAgICAgcmlnaHQ6IGZFeHByZXNzaW9uKGV4cHJlc3Npb24ucmlnaHQpLFxuICAgIH07XG59XG5cbmV4cG9ydCB0eXBlIEZDaGFpbkV4cHJlc3Npb24gPSBPbWl0PENoYWluRXhwcmVzc2lvbiwgJ2V4cHJlc3Npb24nPiAmIHtcbiAgICBleHByZXNzaW9uOiBGU2ltcGxlQ2FsbEV4cHJlc3Npb24gfCBGTWVtYmVyRXhwcmVzc2lvbjtcbn07XG5mdW5jdGlvbiBmQ2hhaW5FeHByZXNzaW9uKGV4cHJlc3Npb246IENoYWluRXhwcmVzc2lvbik6IEZDaGFpbkV4cHJlc3Npb24ge1xuICAgIGlmIChleHByZXNzaW9uLmV4cHJlc3Npb24udHlwZSA9PT0gJ0NhbGxFeHByZXNzaW9uJykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uZXhwcmVzc2lvbixcbiAgICAgICAgICAgIGV4cHJlc3Npb246IGZTaW1wbGVDYWxsRXhwcmVzc2lvbihleHByZXNzaW9uLmV4cHJlc3Npb24pLFxuICAgICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5leHByZXNzaW9uLFxuICAgICAgICBleHByZXNzaW9uOiBmTWVtYmVyRXhwcmVzc2lvbihleHByZXNzaW9uLmV4cHJlc3Npb24pLFxuICAgIH07XG59XG5cbmV4cG9ydCB0eXBlIEZDb25kaXRpb25hbEV4cHJlc3Npb24gPSBPbWl0PFxuICAgIENvbmRpdGlvbmFsRXhwcmVzc2lvbixcbiAgICAndGVzdCcgfCAnYWx0ZXJuYXRlJyB8ICdjb25zZXF1ZW50J1xuPiAmIHtcbiAgICB0ZXN0OiBGRXhwcmVzc2lvbjtcbiAgICBhbHRlcm5hdGU6IEZFeHByZXNzaW9uO1xuICAgIGNvbnNlcXVlbnQ6IEZFeHByZXNzaW9uO1xufTtcbmZ1bmN0aW9uIGZDb25kaXRpb25hbEV4cHJlc3Npb24oZXhwcmVzc2lvbjogQ29uZGl0aW9uYWxFeHByZXNzaW9uKTogRkNvbmRpdGlvbmFsRXhwcmVzc2lvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZXhwcmVzc2lvbixcbiAgICAgICAgdGVzdDogZkV4cHJlc3Npb24oZXhwcmVzc2lvbi50ZXN0KSxcbiAgICAgICAgYWx0ZXJuYXRlOiBmRXhwcmVzc2lvbihleHByZXNzaW9uLmFsdGVybmF0ZSksXG4gICAgICAgIGNvbnNlcXVlbnQ6IGZFeHByZXNzaW9uKGV4cHJlc3Npb24uY29uc2VxdWVudCksXG4gICAgfTtcbn1cblxuZXhwb3J0IHR5cGUgRklkZW50aWZpZXIgPSBJZGVudGlmaWVyO1xuXG5mdW5jdGlvbiBmTGl0ZXJhbChleHByZXNzaW9uOiBMaXRlcmFsKSB7XG4gICAgaWYgKCdiaWdpbnQnIGluIGV4cHJlc3Npb24pIHtcbiAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKGAnYmlnaW50JyBpcyBub3Qgc3VwcG9ydGVkYCwgdG9SYW5nZShleHByZXNzaW9uKSk7XG4gICAgfVxuICAgIGlmICgncmVnZXgnIGluIGV4cHJlc3Npb24pIHtcbiAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKGAncmVnZXgnIGlzIG5vdCBzdXBwb3J0ZWRgLCB0b1JhbmdlKGV4cHJlc3Npb24pKTtcbiAgICB9XG4gICAgcmV0dXJuIGV4cHJlc3Npb247XG59XG5leHBvcnQgdHlwZSBGTGl0ZXJhbCA9IFJldHVyblR5cGU8dHlwZW9mIGZMaXRlcmFsPjtcblxuZXhwb3J0IHR5cGUgRkxvZ2ljYWxFeHByZXNzaW9uID0gT21pdDxMb2dpY2FsRXhwcmVzc2lvbiwgJ2xlZnQnIHwgJ3JpZ2h0Jz4gJiB7XG4gICAgbGVmdDogRkV4cHJlc3Npb247XG4gICAgcmlnaHQ6IEZFeHByZXNzaW9uO1xufTtcbmZ1bmN0aW9uIGZMb2dpY2FsRXhwcmVzc2lvbihleHByZXNzaW9uOiBMb2dpY2FsRXhwcmVzc2lvbik6IEZMb2dpY2FsRXhwcmVzc2lvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZXhwcmVzc2lvbixcbiAgICAgICAgbGVmdDogZkV4cHJlc3Npb24oZXhwcmVzc2lvbi5sZWZ0KSxcbiAgICAgICAgcmlnaHQ6IGZFeHByZXNzaW9uKGV4cHJlc3Npb24ucmlnaHQpLFxuICAgIH07XG59XG5cbmV4cG9ydCB0eXBlIEZNZW1iZXJFeHByZXNzaW9uID0gT21pdDxNZW1iZXJFeHByZXNzaW9uLCAnb2JqZWN0JyB8ICdwcm9wZXJ0eSc+ICYge1xuICAgIG9iamVjdDogRkV4cHJlc3Npb247XG4gICAgcHJvcGVydHk6IEZFeHByZXNzaW9uO1xufTtcbmZ1bmN0aW9uIGZNZW1iZXJFeHByZXNzaW9uKGV4cHJlc3Npb246IE1lbWJlckV4cHJlc3Npb24pOiBGTWVtYmVyRXhwcmVzc2lvbiB7XG4gICAgaWYgKGV4cHJlc3Npb24ub2JqZWN0LnR5cGUgPT09ICdTdXBlcicpIHtcbiAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKFwiJ1N1cGVyJyBpcyBub3Qgc3VwcG9ydGVkXCIsIHRvUmFuZ2UoZXhwcmVzc2lvbikpO1xuICAgIH1cbiAgICBpZiAoZXhwcmVzc2lvbi5wcm9wZXJ0eS50eXBlID09PSAnUHJpdmF0ZUlkZW50aWZpZXInKSB7XG4gICAgICAgIC8vIOeUqOmAlOOBjOS4jeaYjlxuICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoXCInUHJpdmF0ZUlkZW50aWZpZXInIGlzIG5vdCBzdXBwb3J0ZWRcIiwgdG9SYW5nZShleHByZXNzaW9uKSk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmV4cHJlc3Npb24sXG4gICAgICAgIG9iamVjdDogZkV4cHJlc3Npb24oZXhwcmVzc2lvbi5vYmplY3QpLFxuICAgICAgICBwcm9wZXJ0eTogZkV4cHJlc3Npb24oZXhwcmVzc2lvbi5wcm9wZXJ0eSksXG4gICAgfTtcbn1cblxuZXhwb3J0IHR5cGUgRk5ld0V4cHJlc3Npb24gPSBPbWl0PE5ld0V4cHJlc3Npb24sICdjYWxsZWUnIHwgJ2FyZ3VtZW50cyc+ICYge1xuICAgIGNhbGxlZTogRkV4cHJlc3Npb247XG4gICAgYXJndW1lbnRzOiBBcnJheTxGRXhwcmVzc2lvbj47XG59O1xuZnVuY3Rpb24gZk5ld0V4cHJlc3Npb24oZXhwcmVzc2lvbjogTmV3RXhwcmVzc2lvbik6IEZOZXdFeHByZXNzaW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5leHByZXNzaW9uLFxuICAgICAgICAuLi5mQmFzZUNhbGxFeHByZXNzaW9uKGV4cHJlc3Npb24pLFxuICAgICAgICB0eXBlOiBleHByZXNzaW9uLnR5cGUsXG4gICAgfTtcbn1cblxuZXhwb3J0IHR5cGUgRk9iamVjdEV4cHJlc3Npb24gPSBPbWl0PE9iamVjdEV4cHJlc3Npb24sICdwcm9wZXJ0aWVzJz4gJiB7XG4gICAgcHJvcGVydGllczogQXJyYXk8RlByb3BlcnR5Pjtcbn07XG5mdW5jdGlvbiBmT2JqZWN0RXhwcmVzc2lvbihleHByZXNzaW9uOiBPYmplY3RFeHByZXNzaW9uKTogRk9iamVjdEV4cHJlc3Npb24ge1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmV4cHJlc3Npb24sXG4gICAgICAgIHByb3BlcnRpZXM6IGV4cHJlc3Npb24ucHJvcGVydGllcy5tYXAocHJvcCA9PiB7XG4gICAgICAgICAgICBpZiAocHJvcC50eXBlID09PSAnU3ByZWFkRWxlbWVudCcpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoXCInU3ByZWFkRWxlbWVudCcgaXMgbm90IHN1cHBvcnRlZFwiLCB0b1JhbmdlKGV4cHJlc3Npb24pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmUHJvcGVydHkocHJvcCk7XG4gICAgICAgIH0pLFxuICAgIH07XG59XG5cbmV4cG9ydCB0eXBlIEZQcm9wZXJ0eSA9IE9taXQ8UHJvcGVydHksICdrZXknIHwgJ3ZhbHVlJyB8ICdraW5kJz4gJiB7XG4gICAga2V5OiBGSWRlbnRpZmllciB8IEZMaXRlcmFsO1xuICAgIHZhbHVlOiBGRXhwcmVzc2lvbjtcbiAgICBraW5kOiAnaW5pdCc7XG59O1xuZnVuY3Rpb24gZlByb3BlcnR5KHByb3BlcnR5OiBQcm9wZXJ0eSk6IEZQcm9wZXJ0eSB7XG4gICAgbGV0IGtleTogRklkZW50aWZpZXIgfCBGTGl0ZXJhbDtcbiAgICBzd2l0Y2ggKHByb3BlcnR5LmtleS50eXBlKSB7XG4gICAgICAgIGNhc2UgJ0lkZW50aWZpZXInOlxuICAgICAgICAgICAga2V5ID0gcHJvcGVydHkua2V5O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ0xpdGVyYWwnOlxuICAgICAgICAgICAga2V5ID0gZkxpdGVyYWwocHJvcGVydHkua2V5KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKGAnJHtwcm9wZXJ0eS5rZXl9JyBpcyBub3Qgc3VwcG9ydGVkYCwgdG9SYW5nZShwcm9wZXJ0eS5rZXkpKTtcbiAgICB9XG4gICAgc3dpdGNoIChwcm9wZXJ0eS52YWx1ZS50eXBlKSB7XG4gICAgICAgIGNhc2UgJ0FycmF5UGF0dGVybic6XG4gICAgICAgIGNhc2UgJ09iamVjdFBhdHRlcm4nOlxuICAgICAgICBjYXNlICdSZXN0RWxlbWVudCc6XG4gICAgICAgIGNhc2UgJ0Fzc2lnbm1lbnRQYXR0ZXJuJzoge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKFxuICAgICAgICAgICAgICAgIGAnJHtwcm9wZXJ0eS52YWx1ZS50eXBlfScgaXMgbm90IHN1cHBvcnRlZGAsXG4gICAgICAgICAgICAgICAgdG9SYW5nZShwcm9wZXJ0eS52YWx1ZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBzd2l0Y2ggKHByb3BlcnR5LmtpbmQpIHtcbiAgICAgICAgY2FzZSAnaW5pdCc6XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihgJyR7cHJvcGVydHkua2luZH0nIGlzIG5vdCBzdXBwb3J0ZWRgLCB0b1JhbmdlKHByb3BlcnR5LnZhbHVlKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucHJvcGVydHksXG4gICAgICAgIGtleSxcbiAgICAgICAgdmFsdWU6IGZFeHByZXNzaW9uKHByb3BlcnR5LnZhbHVlKSxcbiAgICAgICAga2luZDogcHJvcGVydHkua2luZCxcbiAgICB9O1xufVxuXG5leHBvcnQgdHlwZSBGU2ltcGxlQ2FsbEV4cHJlc3Npb24gPSBPbWl0PFNpbXBsZUNhbGxFeHByZXNzaW9uLCAnY2FsbGVlJyB8ICdhcmd1bWVudHMnPiAmIHtcbiAgICBjYWxsZWU6IEZFeHByZXNzaW9uO1xuICAgIGFyZ3VtZW50czogQXJyYXk8RkV4cHJlc3Npb24+O1xufTtcbmZ1bmN0aW9uIGZTaW1wbGVDYWxsRXhwcmVzc2lvbihleHByZXNzaW9uOiBTaW1wbGVDYWxsRXhwcmVzc2lvbik6IEZTaW1wbGVDYWxsRXhwcmVzc2lvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZXhwcmVzc2lvbixcbiAgICAgICAgLi4uZkJhc2VDYWxsRXhwcmVzc2lvbihleHByZXNzaW9uKSxcbiAgICAgICAgdHlwZTogZXhwcmVzc2lvbi50eXBlLFxuICAgIH07XG59XG5cbmV4cG9ydCB0eXBlIEZUaGlzRXhwcmVzc2lvbiA9IFRoaXNFeHByZXNzaW9uO1xuXG5mdW5jdGlvbiBmVW5hcnlPcGVyYXRvcihvcGVyYXRvcjogVW5hcnlPcGVyYXRvciwgcmFuZ2U6IFJhbmdlIHwgdW5kZWZpbmVkKSB7XG4gICAgc3dpdGNoIChvcGVyYXRvcikge1xuICAgICAgICBjYXNlICdkZWxldGUnOlxuICAgICAgICBjYXNlICd2b2lkJzpcbiAgICAgICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihgJyR7b3BlcmF0b3J9JyBpcyBub3Qgc3VwcG9ydGVkYCwgcmFuZ2UpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIG9wZXJhdG9yO1xuICAgIH1cbn1cbmV4cG9ydCB0eXBlIEZVbmFyeU9wZXJhdG9yID0gUmV0dXJuVHlwZTx0eXBlb2YgZlVuYXJ5T3BlcmF0b3I+O1xuXG5leHBvcnQgdHlwZSBGVW5hcnlFeHByZXNzaW9uID0gT21pdDxVbmFyeUV4cHJlc3Npb24sICdvcGVyYXRvcicgfCAnYXJndW1lbnQnPiAmIHtcbiAgICBvcGVyYXRvcjogRlVuYXJ5T3BlcmF0b3I7XG4gICAgYXJndW1lbnQ6IEZFeHByZXNzaW9uO1xufTtcbmZ1bmN0aW9uIGZVbmFyeUV4cHJlc3Npb24oZXhwcmVzc2lvbjogVW5hcnlFeHByZXNzaW9uKTogRlVuYXJ5RXhwcmVzc2lvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZXhwcmVzc2lvbixcbiAgICAgICAgb3BlcmF0b3I6IGZVbmFyeU9wZXJhdG9yKGV4cHJlc3Npb24ub3BlcmF0b3IsIHRvUmFuZ2UoZXhwcmVzc2lvbikpLFxuICAgICAgICBhcmd1bWVudDogZkV4cHJlc3Npb24oZXhwcmVzc2lvbi5hcmd1bWVudCksXG4gICAgfTtcbn1cblxuZXhwb3J0IHR5cGUgRkV4cHJlc3Npb24gPVxuICAgIHwgRkFycmF5RXhwcmVzc2lvblxuICAgIHwgRkFycm93RnVuY3Rpb25FeHByZXNzaW9uXG4gICAgfCBGQXNzaWdubWVudEV4cHJlc3Npb25cbiAgICB8IEZCaW5hcnlFeHByZXNzaW9uXG4gICAgfCBGQ2hhaW5FeHByZXNzaW9uXG4gICAgfCBGQ29uZGl0aW9uYWxFeHByZXNzaW9uXG4gICAgfCBGSWRlbnRpZmllclxuICAgIHwgRkxpdGVyYWxcbiAgICB8IEZMb2dpY2FsRXhwcmVzc2lvblxuICAgIHwgRk1lbWJlckV4cHJlc3Npb25cbiAgICB8IEZOZXdFeHByZXNzaW9uXG4gICAgfCBGT2JqZWN0RXhwcmVzc2lvblxuICAgIHwgRlRoaXNFeHByZXNzaW9uXG4gICAgfCBGU2ltcGxlQ2FsbEV4cHJlc3Npb25cbiAgICB8IEZVbmFyeUV4cHJlc3Npb247XG5cbmV4cG9ydCBmdW5jdGlvbiBmRXhwcmVzc2lvbihleHByZXNzaW9uOiBFeHByZXNzaW9uKTogRkV4cHJlc3Npb24ge1xuICAgIHN3aXRjaCAoZXhwcmVzc2lvbi50eXBlKSB7XG4gICAgICAgIGNhc2UgJ0FycmF5RXhwcmVzc2lvbic6XG4gICAgICAgICAgICByZXR1cm4gZkFycmF5RXhwcmVzc2lvbihleHByZXNzaW9uKTtcbiAgICAgICAgY2FzZSAnQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24nOlxuICAgICAgICAgICAgcmV0dXJuIGZBcnJvd0Z1bnRpb25FeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuICAgICAgICBjYXNlICdBc3NpZ25tZW50RXhwcmVzc2lvbic6XG4gICAgICAgICAgICByZXR1cm4gZkFzc2lnbm1lbnRFeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuICAgICAgICBjYXNlICdCaW5hcnlFeHByZXNzaW9uJzpcbiAgICAgICAgICAgIHJldHVybiBmQmluYXJ5RXhwcmVzc2lvbihleHByZXNzaW9uKTtcbiAgICAgICAgY2FzZSAnQ2FsbEV4cHJlc3Npb24nOlxuICAgICAgICAgICAgcmV0dXJuIGZTaW1wbGVDYWxsRXhwcmVzc2lvbihleHByZXNzaW9uKTtcbiAgICAgICAgY2FzZSAnQ2hhaW5FeHByZXNzaW9uJzpcbiAgICAgICAgICAgIHJldHVybiBmQ2hhaW5FeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuICAgICAgICBjYXNlICdDb25kaXRpb25hbEV4cHJlc3Npb24nOlxuICAgICAgICAgICAgcmV0dXJuIGZDb25kaXRpb25hbEV4cHJlc3Npb24oZXhwcmVzc2lvbik7XG4gICAgICAgIGNhc2UgJ0lkZW50aWZpZXInOlxuICAgICAgICAgICAgcmV0dXJuIGV4cHJlc3Npb247XG4gICAgICAgIGNhc2UgJ0xpdGVyYWwnOlxuICAgICAgICAgICAgcmV0dXJuIGZMaXRlcmFsKGV4cHJlc3Npb24pO1xuICAgICAgICBjYXNlICdMb2dpY2FsRXhwcmVzc2lvbic6XG4gICAgICAgICAgICByZXR1cm4gZkxvZ2ljYWxFeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuICAgICAgICBjYXNlICdNZW1iZXJFeHByZXNzaW9uJzpcbiAgICAgICAgICAgIHJldHVybiBmTWVtYmVyRXhwcmVzc2lvbihleHByZXNzaW9uKTtcbiAgICAgICAgY2FzZSAnTmV3RXhwcmVzc2lvbic6XG4gICAgICAgICAgICByZXR1cm4gZk5ld0V4cHJlc3Npb24oZXhwcmVzc2lvbik7XG4gICAgICAgIGNhc2UgJ09iamVjdEV4cHJlc3Npb24nOlxuICAgICAgICAgICAgcmV0dXJuIGZPYmplY3RFeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuICAgICAgICBjYXNlICdUaGlzRXhwcmVzc2lvbic6XG4gICAgICAgICAgICByZXR1cm4gZXhwcmVzc2lvbjtcbiAgICAgICAgY2FzZSAnVW5hcnlFeHByZXNzaW9uJzpcbiAgICAgICAgICAgIHJldHVybiBmVW5hcnlFeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKGAnJHtleHByZXNzaW9uLnR5cGV9JyBpcyBub3Qgc3VwcG9ydGVkYCwgdG9SYW5nZShleHByZXNzaW9uKSk7XG4gICAgfVxufVxuIl19

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

...statement,
expression: fExpression_1.fExpression(statement.expression),
expression: (0, fExpression_1.fExpression)(statement.expression),
};

@@ -23,11 +23,11 @@ };

if (statement.kind === 'var') {
throw new ScriptError_1.ScriptError(`'${statement.kind}' is not supported. Use 'let' instead.`, range_1.toRange(statement));
throw new ScriptError_1.ScriptError(`'${statement.kind}' is not supported. Use 'let' instead.`, (0, range_1.toRange)(statement));
}
const declarations = statement.declarations.map(d => {
if (d.id.type !== 'Identifier') {
throw new ScriptError_1.ScriptError(`'${d.id.type}' is not supported`, range_1.toRange(d.id));
throw new ScriptError_1.ScriptError(`'${d.id.type}' is not supported`, (0, range_1.toRange)(d.id));
}
return {
...d,
init: d.init == null ? d.init : fExpression_1.fExpression(d.init),
init: d.init == null ? d.init : (0, fExpression_1.fExpression)(d.init),
};

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

consequent: fFStatement(statement.consequent),
test: fExpression_1.fExpression(statement.test),
test: (0, fExpression_1.fExpression)(statement.test),
};

@@ -66,3 +66,3 @@ case 'ReturnStatement':

? statement.argument
: fExpression_1.fExpression(statement.argument),
: (0, fExpression_1.fExpression)(statement.argument),
};

@@ -75,5 +75,5 @@ case 'SwitchStatement':

consequent: c.consequent.map(s => fFStatement(s)),
test: c.test == null ? c.test : fExpression_1.fExpression(c.test),
test: c.test == null ? c.test : (0, fExpression_1.fExpression)(c.test),
})),
discriminant: fExpression_1.fExpression(statement.discriminant),
discriminant: (0, fExpression_1.fExpression)(statement.discriminant),
};

@@ -83,6 +83,6 @@ case 'VariableDeclaration':

default:
throw new ScriptError_1.ScriptError(`'${statement.type}' is not supported`, range_1.toRange(statement));
throw new ScriptError_1.ScriptError(`'${statement.type}' is not supported`, (0, range_1.toRange)(statement));
}
}
exports.fFStatement = fFStatement;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZlN0YXRlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mU3RhdGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWNBLCtDQUF5RDtBQUN6RCxtQ0FBa0M7QUFDbEMsK0NBQTRDO0FBWTVDLFNBQWdCLGVBQWUsQ0FBQyxTQUF5QjtJQUNyRCxPQUFPO1FBQ0gsR0FBRyxTQUFTO1FBQ1osSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2hELENBQUM7QUFDTixDQUFDO0FBTEQsMENBS0M7QUFJRCxNQUFNLG9CQUFvQixHQUFHLENBQUMsU0FBOEIsRUFBRSxFQUFFO0lBQzVELE9BQU87UUFDSCxHQUFHLFNBQVM7UUFDWixVQUFVLEVBQUUseUJBQVcsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO0tBQ2hELENBQUM7QUFDTixDQUFDLENBQUM7QUFzQkYsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFNBQThCLEVBQUUsRUFBRTtJQUM1RCxJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssS0FBSyxFQUFFO1FBQzFCLE1BQU0sSUFBSSx5QkFBVyxDQUNqQixJQUFJLFNBQVMsQ0FBQyxJQUFJLHdDQUF3QyxFQUMxRCxlQUFPLENBQUMsU0FBUyxDQUFDLENBQ3JCLENBQUM7S0FDTDtJQUNELE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ2hELElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUFFO1lBQzVCLE1BQU0sSUFBSSx5QkFBVyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLG9CQUFvQixFQUFFLGVBQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMzRTtRQUNELE9BQU87WUFDSCxHQUFHLENBQUM7WUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHlCQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUN0RCxDQUFDO0lBQ04sQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPO1FBQ0gsR0FBRyxTQUFTO1FBQ1osSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1FBQ3BCLFlBQVk7S0FDZixDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBYUYsU0FBZ0IsV0FBVyxDQUFDLFNBQW9EO0lBQzVFLFFBQVEsU0FBUyxDQUFDLElBQUksRUFBRTtRQUNwQixLQUFLLGdCQUFnQjtZQUNqQixPQUFPLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0QyxLQUFLLGdCQUFnQjtZQUNqQixPQUFPLFNBQVMsQ0FBQztRQUNyQixLQUFLLG1CQUFtQjtZQUNwQixPQUFPLFNBQVMsQ0FBQztRQUNyQixLQUFLLHFCQUFxQjtZQUN0QixPQUFPLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNDLEtBQUssYUFBYTtZQUNkLE9BQU87Z0JBQ0gsR0FBRyxTQUFTO2dCQUNaLFNBQVMsRUFDTCxTQUFTLENBQUMsU0FBUyxJQUFJLElBQUk7b0JBQ3ZCLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUztvQkFDckIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO2dCQUMxQyxVQUFVLEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7Z0JBQzdDLElBQUksRUFBRSx5QkFBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7YUFDcEMsQ0FBQztRQUNOLEtBQUssaUJBQWlCO1lBQ2xCLE9BQU87Z0JBQ0gsR0FBRyxTQUFTO2dCQUNaLFFBQVEsRUFDSixTQUFTLENBQUMsUUFBUSxJQUFJLElBQUk7b0JBQ3RCLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUTtvQkFDcEIsQ0FBQyxDQUFDLHlCQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUM1QyxDQUFDO1FBQ04sS0FBSyxpQkFBaUI7WUFDbEIsT0FBTztnQkFDSCxHQUFHLFNBQVM7Z0JBQ1osS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDN0IsR0FBRyxDQUFDO29CQUNKLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDakQsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyx5QkFBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7aUJBQ3RELENBQUMsQ0FBQztnQkFDSCxZQUFZLEVBQUUseUJBQVcsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO2FBQ3BELENBQUM7UUFDTixLQUFLLHFCQUFxQjtZQUN0QixPQUFPLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNDO1lBQ0ksTUFBTSxJQUFJLHlCQUFXLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxvQkFBb0IsRUFBRSxlQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztLQUN6RjtBQUNMLENBQUM7QUEzQ0Qsa0NBMkNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEJsb2NrU3RhdGVtZW50LFxyXG4gICAgQnJlYWtTdGF0ZW1lbnQsXHJcbiAgICBDb250aW51ZVN0YXRlbWVudCxcclxuICAgIERpcmVjdGl2ZSxcclxuICAgIEV4cHJlc3Npb25TdGF0ZW1lbnQsXHJcbiAgICBJZlN0YXRlbWVudCxcclxuICAgIE1vZHVsZURlY2xhcmF0aW9uLFxyXG4gICAgUmV0dXJuU3RhdGVtZW50LFxyXG4gICAgU3RhdGVtZW50LFxyXG4gICAgU3dpdGNoQ2FzZSxcclxuICAgIFN3aXRjaFN0YXRlbWVudCxcclxuICAgIFZhcmlhYmxlRGVjbGFyYXRpb24sXHJcbn0gZnJvbSAnZXN0cmVlJztcclxuaW1wb3J0IHsgRkV4cHJlc3Npb24sIGZFeHByZXNzaW9uIH0gZnJvbSAnLi9mRXhwcmVzc2lvbic7XHJcbmltcG9ydCB7IHRvUmFuZ2UgfSBmcm9tICcuL3JhbmdlJztcclxuaW1wb3J0IHsgU2NyaXB0RXJyb3IgfSBmcm9tICcuL1NjcmlwdEVycm9yJztcclxuXHJcbi8qXHJcbmNsYXNz44KEdmFy44Gq44Gp44CB5a++5b+c44GX44Gm44GE44Gq44GE44KC44Gu44Gv44GT44GT44Gn5by+44GE44Gm44GE44KL44CC44K544Kv44Oq44OX44OI5a6f6KGM44Gu44Kz44O844OJ44Go5YiG6Zui44GX44Gm44GE44KL44Gf44KB44CB44Ko44OH44Kj44K/44O844Gn44CM5Z+65pys55qE44Gr44GvamF2YXNjcmlwdOOBruaWh+azleOBp+ODgeOCp+ODg+OCr+OBmeOCi+OBjOOAgeOCteODneODvOODiOWkluOBruOCreODvOODr+ODvOODieOBquOBqeOBjOimi+OBpOOBi+OBo+OBn+WgtOWQiOOBr+OCqOODqeODvOOCkui/lOOBmeOAjeOBqOOBhOOBhuWHpueQhuOCkuOBleOBm+OCi+OBruOBjOewoeWNmOOBq+OBquOCi+OAglxyXG5cclxu5b2T5Yid44Gv44CM44GT44Gu44OV44Kh44Kk44Or44KS5L2c44KJ44Ga44CBb2ZFeHByZXNzaW9u44KEb2ZTdGF0ZW1lbnTjga5jb250ZXh044GrbnVsbOOCkua4oeOBl+OBn+OCieaWh+azleODgeOCp+ODg+OCr+ODouODvOODieOBqOOBmeOCi+OAjeOBqOOBhOOBhuS9nOaIpuOCkuOBqOOBo+OBpuOBhOOBn+OAglxyXG7jgaDjgYzjgIHkvovjgYjjgbAgYSA/IGYoKSA6IGcoKSDjga7jgojjgYbjgarjgrPjg7zjg4njga9mKCnjgahnKCnjga7jgYTjgZrjgozjgYvjga7jgb/lrp/ooYzjgZXjgozjgovjgILjgaDjgYzjgIHmlofms5Xjg4Hjgqfjg4Pjgq/jg6Ljg7zjg4njgafjga/kuKHmlrnjgajjgoLlrp/ooYzjgZfjgarjgZHjgozjgbDjgarjgonjgarjgYTjgILjgZPjga7jgojjgYbjgarloLTlkIjliIbjgZHjgYzlv4XopoHjgavjgarjgaPjgabjgZfjgb7jgYTjgIHjgrPjg7zjg4njgYzopIfpm5HljJbjgZnjgovjgZPjgajjgYzkuojmg7PjgZXjgozjgZ/jga7jgafljbTkuIvjgIJcclxuKi9cclxuXHJcbmV4cG9ydCB0eXBlIEZCbG9ja1N0YXRlbWVudCA9IE9taXQ8QmxvY2tTdGF0ZW1lbnQsICdib2R5Jz4gJiB7XHJcbiAgICBib2R5OiBBcnJheTxGU3RhdGVtZW50PjtcclxufTtcclxuZXhwb3J0IGZ1bmN0aW9uIGZCbG9ja1N0YXRlbWVudChzdGF0ZW1lbnQ6IEJsb2NrU3RhdGVtZW50KTogRkJsb2NrU3RhdGVtZW50IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4uc3RhdGVtZW50LFxyXG4gICAgICAgIGJvZHk6IHN0YXRlbWVudC5ib2R5Lm1hcCh4ID0+IGZGU3RhdGVtZW50KHgpKSxcclxuICAgIH07XHJcbn1cclxuXHJcbnR5cGUgRkJyZWFrU3RhdGVtZW50ID0gT21pdDxCcmVha1N0YXRlbWVudCwgJ2xhYmVsJz47XHJcblxyXG5jb25zdCBmRXhwcmVzc2lvblN0YXRlbWVudCA9IChzdGF0ZW1lbnQ6IEV4cHJlc3Npb25TdGF0ZW1lbnQpID0+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4uc3RhdGVtZW50LFxyXG4gICAgICAgIGV4cHJlc3Npb246IGZFeHByZXNzaW9uKHN0YXRlbWVudC5leHByZXNzaW9uKSxcclxuICAgIH07XHJcbn07XHJcbnR5cGUgRkV4cHJlc3Npb25TdGF0ZW1lbnQgPSBSZXR1cm5UeXBlPHR5cGVvZiBmRXhwcmVzc2lvblN0YXRlbWVudD47XHJcblxyXG50eXBlIEZJZlN0YXRlbWVudCA9IE9taXQ8SWZTdGF0ZW1lbnQsICdhbHRlcm5hdGUnIHwgJ2NvbnNlcXVlbnQnIHwgJ3Rlc3QnPiAmIHtcclxuICAgIGFsdGVybmF0ZT86IEZTdGF0ZW1lbnQgfCBudWxsO1xyXG4gICAgY29uc2VxdWVudDogRlN0YXRlbWVudDtcclxuICAgIHRlc3Q6IEZFeHByZXNzaW9uO1xyXG59O1xyXG5cclxudHlwZSBGUmV0dXJuU3RhdGVtZW50ID0gT21pdDxSZXR1cm5TdGF0ZW1lbnQsICdhcmd1bWVudCc+ICYge1xyXG4gICAgYXJndW1lbnQ/OiBGRXhwcmVzc2lvbiB8IG51bGw7XHJcbn07XHJcblxyXG50eXBlIEZTd2l0Y2hDYXNlID0gT21pdDxTd2l0Y2hDYXNlLCAnY29uc2VxdWVudCcgfCAndGVzdCc+ICYge1xyXG4gICAgdGVzdD86IEZFeHByZXNzaW9uIHwgbnVsbDtcclxuICAgIGNvbnNlcXVlbnQ6IEFycmF5PEZTdGF0ZW1lbnQ+O1xyXG59O1xyXG50eXBlIEZTd2l0Y2hTdGF0ZW1lbnQgPSBPbWl0PFN3aXRjaFN0YXRlbWVudCwgJ2FsdGVybmF0ZScgfCAnY29uc2VxdWVudCcgfCAndGVzdCc+ICYge1xyXG4gICAgZGlzY3JpbWluYW50OiBGRXhwcmVzc2lvbjtcclxuICAgIGNhc2VzOiBBcnJheTxGU3dpdGNoQ2FzZT47XHJcbn07XHJcblxyXG5jb25zdCBmVmFyaWFibGVEZWNsYXJhdGlvbiA9IChzdGF0ZW1lbnQ6IFZhcmlhYmxlRGVjbGFyYXRpb24pID0+IHtcclxuICAgIGlmIChzdGF0ZW1lbnQua2luZCA9PT0gJ3ZhcicpIHtcclxuICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoXHJcbiAgICAgICAgICAgIGAnJHtzdGF0ZW1lbnQua2luZH0nIGlzIG5vdCBzdXBwb3J0ZWQuIFVzZSAnbGV0JyBpbnN0ZWFkLmAsXHJcbiAgICAgICAgICAgIHRvUmFuZ2Uoc3RhdGVtZW50KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBkZWNsYXJhdGlvbnMgPSBzdGF0ZW1lbnQuZGVjbGFyYXRpb25zLm1hcChkID0+IHtcclxuICAgICAgICBpZiAoZC5pZC50eXBlICE9PSAnSWRlbnRpZmllcicpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKGAnJHtkLmlkLnR5cGV9JyBpcyBub3Qgc3VwcG9ydGVkYCwgdG9SYW5nZShkLmlkKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLmQsXHJcbiAgICAgICAgICAgIGluaXQ6IGQuaW5pdCA9PSBudWxsID8gZC5pbml0IDogZkV4cHJlc3Npb24oZC5pbml0KSxcclxuICAgICAgICB9O1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLnN0YXRlbWVudCxcclxuICAgICAgICBraW5kOiBzdGF0ZW1lbnQua2luZCxcclxuICAgICAgICBkZWNsYXJhdGlvbnMsXHJcbiAgICB9O1xyXG59O1xyXG50eXBlIEZWYXJpYWJsZURlY2xhcmF0aW9uID0gUmV0dXJuVHlwZTx0eXBlb2YgZlZhcmlhYmxlRGVjbGFyYXRpb24+O1xyXG5cclxuZXhwb3J0IHR5cGUgRlN0YXRlbWVudCA9XHJcbiAgICB8IEZCbG9ja1N0YXRlbWVudFxyXG4gICAgfCBGQnJlYWtTdGF0ZW1lbnRcclxuICAgIHwgQ29udGludWVTdGF0ZW1lbnRcclxuICAgIHwgRklmU3RhdGVtZW50XHJcbiAgICB8IEZFeHByZXNzaW9uU3RhdGVtZW50XHJcbiAgICB8IEZSZXR1cm5TdGF0ZW1lbnRcclxuICAgIHwgRlN3aXRjaFN0YXRlbWVudFxyXG4gICAgfCBGVmFyaWFibGVEZWNsYXJhdGlvbjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmRlN0YXRlbWVudChzdGF0ZW1lbnQ6IERpcmVjdGl2ZSB8IFN0YXRlbWVudCB8IE1vZHVsZURlY2xhcmF0aW9uKTogRlN0YXRlbWVudCB7XHJcbiAgICBzd2l0Y2ggKHN0YXRlbWVudC50eXBlKSB7XHJcbiAgICAgICAgY2FzZSAnQmxvY2tTdGF0ZW1lbnQnOlxyXG4gICAgICAgICAgICByZXR1cm4gZkJsb2NrU3RhdGVtZW50KHN0YXRlbWVudCk7XHJcbiAgICAgICAgY2FzZSAnQnJlYWtTdGF0ZW1lbnQnOlxyXG4gICAgICAgICAgICByZXR1cm4gc3RhdGVtZW50O1xyXG4gICAgICAgIGNhc2UgJ0NvbnRpbnVlU3RhdGVtZW50JzpcclxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlbWVudDtcclxuICAgICAgICBjYXNlICdFeHByZXNzaW9uU3RhdGVtZW50JzpcclxuICAgICAgICAgICAgcmV0dXJuIGZFeHByZXNzaW9uU3RhdGVtZW50KHN0YXRlbWVudCk7XHJcbiAgICAgICAgY2FzZSAnSWZTdGF0ZW1lbnQnOlxyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgLi4uc3RhdGVtZW50LFxyXG4gICAgICAgICAgICAgICAgYWx0ZXJuYXRlOlxyXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudC5hbHRlcm5hdGUgPT0gbnVsbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHN0YXRlbWVudC5hbHRlcm5hdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBmRlN0YXRlbWVudChzdGF0ZW1lbnQuYWx0ZXJuYXRlKSxcclxuICAgICAgICAgICAgICAgIGNvbnNlcXVlbnQ6IGZGU3RhdGVtZW50KHN0YXRlbWVudC5jb25zZXF1ZW50KSxcclxuICAgICAgICAgICAgICAgIHRlc3Q6IGZFeHByZXNzaW9uKHN0YXRlbWVudC50ZXN0KSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICBjYXNlICdSZXR1cm5TdGF0ZW1lbnQnOlxyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgLi4uc3RhdGVtZW50LFxyXG4gICAgICAgICAgICAgICAgYXJndW1lbnQ6XHJcbiAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50LmFyZ3VtZW50ID09IG51bGxcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBzdGF0ZW1lbnQuYXJndW1lbnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBmRXhwcmVzc2lvbihzdGF0ZW1lbnQuYXJndW1lbnQpLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIGNhc2UgJ1N3aXRjaFN0YXRlbWVudCc6XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZW1lbnQsXHJcbiAgICAgICAgICAgICAgICBjYXNlczogc3RhdGVtZW50LmNhc2VzLm1hcChjID0+ICh7XHJcbiAgICAgICAgICAgICAgICAgICAgLi4uYyxcclxuICAgICAgICAgICAgICAgICAgICBjb25zZXF1ZW50OiBjLmNvbnNlcXVlbnQubWFwKHMgPT4gZkZTdGF0ZW1lbnQocykpLFxyXG4gICAgICAgICAgICAgICAgICAgIHRlc3Q6IGMudGVzdCA9PSBudWxsID8gYy50ZXN0IDogZkV4cHJlc3Npb24oYy50ZXN0KSxcclxuICAgICAgICAgICAgICAgIH0pKSxcclxuICAgICAgICAgICAgICAgIGRpc2NyaW1pbmFudDogZkV4cHJlc3Npb24oc3RhdGVtZW50LmRpc2NyaW1pbmFudCksXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgY2FzZSAnVmFyaWFibGVEZWNsYXJhdGlvbic6XHJcbiAgICAgICAgICAgIHJldHVybiBmVmFyaWFibGVEZWNsYXJhdGlvbihzdGF0ZW1lbnQpO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihgJyR7c3RhdGVtZW50LnR5cGV9JyBpcyBub3Qgc3VwcG9ydGVkYCwgdG9SYW5nZShzdGF0ZW1lbnQpKTtcclxuICAgIH1cclxufVxyXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZlN0YXRlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mU3RhdGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWNBLCtDQUF5RDtBQUN6RCxtQ0FBa0M7QUFDbEMsK0NBQTRDO0FBWTVDLFNBQWdCLGVBQWUsQ0FBQyxTQUF5QjtJQUNyRCxPQUFPO1FBQ0gsR0FBRyxTQUFTO1FBQ1osSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2hELENBQUM7QUFDTixDQUFDO0FBTEQsMENBS0M7QUFJRCxNQUFNLG9CQUFvQixHQUFHLENBQUMsU0FBOEIsRUFBRSxFQUFFO0lBQzVELE9BQU87UUFDSCxHQUFHLFNBQVM7UUFDWixVQUFVLEVBQUUsSUFBQSx5QkFBVyxFQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7S0FDaEQsQ0FBQztBQUNOLENBQUMsQ0FBQztBQXNCRixNQUFNLG9CQUFvQixHQUFHLENBQUMsU0FBOEIsRUFBRSxFQUFFO0lBQzVELElBQUksU0FBUyxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUU7UUFDMUIsTUFBTSxJQUFJLHlCQUFXLENBQ2pCLElBQUksU0FBUyxDQUFDLElBQUksd0NBQXdDLEVBQzFELElBQUEsZUFBTyxFQUFDLFNBQVMsQ0FBQyxDQUNyQixDQUFDO0tBQ0w7SUFDRCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNoRCxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLFlBQVksRUFBRTtZQUM1QixNQUFNLElBQUkseUJBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxvQkFBb0IsRUFBRSxJQUFBLGVBQU8sRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMzRTtRQUNELE9BQU87WUFDSCxHQUFHLENBQUM7WUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUEseUJBQVcsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQ3RELENBQUM7SUFDTixDQUFDLENBQUMsQ0FBQztJQUNILE9BQU87UUFDSCxHQUFHLFNBQVM7UUFDWixJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDcEIsWUFBWTtLQUNmLENBQUM7QUFDTixDQUFDLENBQUM7QUFhRixTQUFnQixXQUFXLENBQUMsU0FBb0Q7SUFDNUUsUUFBUSxTQUFTLENBQUMsSUFBSSxFQUFFO1FBQ3BCLEtBQUssZ0JBQWdCO1lBQ2pCLE9BQU8sZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RDLEtBQUssZ0JBQWdCO1lBQ2pCLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLEtBQUssbUJBQW1CO1lBQ3BCLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLEtBQUsscUJBQXFCO1lBQ3RCLE9BQU8sb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0MsS0FBSyxhQUFhO1lBQ2QsT0FBTztnQkFDSCxHQUFHLFNBQVM7Z0JBQ1osU0FBUyxFQUNMLFNBQVMsQ0FBQyxTQUFTLElBQUksSUFBSTtvQkFDdkIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTO29CQUNyQixDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7Z0JBQzFDLFVBQVUsRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztnQkFDN0MsSUFBSSxFQUFFLElBQUEseUJBQVcsRUFBQyxTQUFTLENBQUMsSUFBSSxDQUFDO2FBQ3BDLENBQUM7UUFDTixLQUFLLGlCQUFpQjtZQUNsQixPQUFPO2dCQUNILEdBQUcsU0FBUztnQkFDWixRQUFRLEVBQ0osU0FBUyxDQUFDLFFBQVEsSUFBSSxJQUFJO29CQUN0QixDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVE7b0JBQ3BCLENBQUMsQ0FBQyxJQUFBLHlCQUFXLEVBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUM1QyxDQUFDO1FBQ04sS0FBSyxpQkFBaUI7WUFDbEIsT0FBTztnQkFDSCxHQUFHLFNBQVM7Z0JBQ1osS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDN0IsR0FBRyxDQUFDO29CQUNKLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDakQsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFBLHlCQUFXLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztpQkFDdEQsQ0FBQyxDQUFDO2dCQUNILFlBQVksRUFBRSxJQUFBLHlCQUFXLEVBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQzthQUNwRCxDQUFDO1FBQ04sS0FBSyxxQkFBcUI7WUFDdEIsT0FBTyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQztZQUNJLE1BQU0sSUFBSSx5QkFBVyxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksb0JBQW9CLEVBQUUsSUFBQSxlQUFPLEVBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztLQUN6RjtBQUNMLENBQUM7QUEzQ0Qsa0NBMkNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBCbG9ja1N0YXRlbWVudCxcbiAgICBCcmVha1N0YXRlbWVudCxcbiAgICBDb250aW51ZVN0YXRlbWVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRXhwcmVzc2lvblN0YXRlbWVudCxcbiAgICBJZlN0YXRlbWVudCxcbiAgICBNb2R1bGVEZWNsYXJhdGlvbixcbiAgICBSZXR1cm5TdGF0ZW1lbnQsXG4gICAgU3RhdGVtZW50LFxuICAgIFN3aXRjaENhc2UsXG4gICAgU3dpdGNoU3RhdGVtZW50LFxuICAgIFZhcmlhYmxlRGVjbGFyYXRpb24sXG59IGZyb20gJ2VzdHJlZSc7XG5pbXBvcnQgeyBGRXhwcmVzc2lvbiwgZkV4cHJlc3Npb24gfSBmcm9tICcuL2ZFeHByZXNzaW9uJztcbmltcG9ydCB7IHRvUmFuZ2UgfSBmcm9tICcuL3JhbmdlJztcbmltcG9ydCB7IFNjcmlwdEVycm9yIH0gZnJvbSAnLi9TY3JpcHRFcnJvcic7XG5cbi8qXG5jbGFzc+OChHZhcuOBquOBqeOAgeWvvuW/nOOBl+OBpuOBhOOBquOBhOOCguOBruOBr+OBk+OBk+OBp+W8vuOBhOOBpuOBhOOCi+OAguOCueOCr+ODquODl+ODiOWun+ihjOOBruOCs+ODvOODieOBqOWIhumbouOBl+OBpuOBhOOCi+OBn+OCgeOAgeOCqOODh+OCo+OCv+ODvOOBp+OAjOWfuuacrOeahOOBq+OBr2phdmFzY3JpcHTjga7mlofms5Xjgafjg4Hjgqfjg4Pjgq/jgZnjgovjgYzjgIHjgrXjg53jg7zjg4jlpJbjga7jgq3jg7zjg6/jg7zjg4njgarjganjgYzopovjgaTjgYvjgaPjgZ/loLTlkIjjga/jgqjjg6njg7zjgpLov5TjgZnjgI3jgajjgYTjgYblh6bnkIbjgpLjgZXjgZvjgovjga7jgYznsKHljZjjgavjgarjgovjgIJcblxu5b2T5Yid44Gv44CM44GT44Gu44OV44Kh44Kk44Or44KS5L2c44KJ44Ga44CBb2ZFeHByZXNzaW9u44KEb2ZTdGF0ZW1lbnTjga5jb250ZXh044GrbnVsbOOCkua4oeOBl+OBn+OCieaWh+azleODgeOCp+ODg+OCr+ODouODvOODieOBqOOBmeOCi+OAjeOBqOOBhOOBhuS9nOaIpuOCkuOBqOOBo+OBpuOBhOOBn+OAglxu44Gg44GM44CB5L6L44GI44GwIGEgPyBmKCkgOiBnKCkg44Gu44KI44GG44Gq44Kz44O844OJ44GvZigp44GoZygp44Gu44GE44Ga44KM44GL44Gu44G/5a6f6KGM44GV44KM44KL44CC44Gg44GM44CB5paH5rOV44OB44Kn44OD44Kv44Oi44O844OJ44Gn44Gv5Lih5pa544Go44KC5a6f6KGM44GX44Gq44GR44KM44Gw44Gq44KJ44Gq44GE44CC44GT44Gu44KI44GG44Gq5aC05ZCI5YiG44GR44GM5b+F6KaB44Gr44Gq44Gj44Gm44GX44G+44GE44CB44Kz44O844OJ44GM6KSH6ZuR5YyW44GZ44KL44GT44Go44GM5LqI5oOz44GV44KM44Gf44Gu44Gn5Y205LiL44CCXG4qL1xuXG5leHBvcnQgdHlwZSBGQmxvY2tTdGF0ZW1lbnQgPSBPbWl0PEJsb2NrU3RhdGVtZW50LCAnYm9keSc+ICYge1xuICAgIGJvZHk6IEFycmF5PEZTdGF0ZW1lbnQ+O1xufTtcbmV4cG9ydCBmdW5jdGlvbiBmQmxvY2tTdGF0ZW1lbnQoc3RhdGVtZW50OiBCbG9ja1N0YXRlbWVudCk6IEZCbG9ja1N0YXRlbWVudCB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGVtZW50LFxuICAgICAgICBib2R5OiBzdGF0ZW1lbnQuYm9keS5tYXAoeCA9PiBmRlN0YXRlbWVudCh4KSksXG4gICAgfTtcbn1cblxudHlwZSBGQnJlYWtTdGF0ZW1lbnQgPSBPbWl0PEJyZWFrU3RhdGVtZW50LCAnbGFiZWwnPjtcblxuY29uc3QgZkV4cHJlc3Npb25TdGF0ZW1lbnQgPSAoc3RhdGVtZW50OiBFeHByZXNzaW9uU3RhdGVtZW50KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGVtZW50LFxuICAgICAgICBleHByZXNzaW9uOiBmRXhwcmVzc2lvbihzdGF0ZW1lbnQuZXhwcmVzc2lvbiksXG4gICAgfTtcbn07XG50eXBlIEZFeHByZXNzaW9uU3RhdGVtZW50ID0gUmV0dXJuVHlwZTx0eXBlb2YgZkV4cHJlc3Npb25TdGF0ZW1lbnQ+O1xuXG50eXBlIEZJZlN0YXRlbWVudCA9IE9taXQ8SWZTdGF0ZW1lbnQsICdhbHRlcm5hdGUnIHwgJ2NvbnNlcXVlbnQnIHwgJ3Rlc3QnPiAmIHtcbiAgICBhbHRlcm5hdGU/OiBGU3RhdGVtZW50IHwgbnVsbDtcbiAgICBjb25zZXF1ZW50OiBGU3RhdGVtZW50O1xuICAgIHRlc3Q6IEZFeHByZXNzaW9uO1xufTtcblxudHlwZSBGUmV0dXJuU3RhdGVtZW50ID0gT21pdDxSZXR1cm5TdGF0ZW1lbnQsICdhcmd1bWVudCc+ICYge1xuICAgIGFyZ3VtZW50PzogRkV4cHJlc3Npb24gfCBudWxsO1xufTtcblxudHlwZSBGU3dpdGNoQ2FzZSA9IE9taXQ8U3dpdGNoQ2FzZSwgJ2NvbnNlcXVlbnQnIHwgJ3Rlc3QnPiAmIHtcbiAgICB0ZXN0PzogRkV4cHJlc3Npb24gfCBudWxsO1xuICAgIGNvbnNlcXVlbnQ6IEFycmF5PEZTdGF0ZW1lbnQ+O1xufTtcbnR5cGUgRlN3aXRjaFN0YXRlbWVudCA9IE9taXQ8U3dpdGNoU3RhdGVtZW50LCAnYWx0ZXJuYXRlJyB8ICdjb25zZXF1ZW50JyB8ICd0ZXN0Jz4gJiB7XG4gICAgZGlzY3JpbWluYW50OiBGRXhwcmVzc2lvbjtcbiAgICBjYXNlczogQXJyYXk8RlN3aXRjaENhc2U+O1xufTtcblxuY29uc3QgZlZhcmlhYmxlRGVjbGFyYXRpb24gPSAoc3RhdGVtZW50OiBWYXJpYWJsZURlY2xhcmF0aW9uKSA9PiB7XG4gICAgaWYgKHN0YXRlbWVudC5raW5kID09PSAndmFyJykge1xuICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoXG4gICAgICAgICAgICBgJyR7c3RhdGVtZW50LmtpbmR9JyBpcyBub3Qgc3VwcG9ydGVkLiBVc2UgJ2xldCcgaW5zdGVhZC5gLFxuICAgICAgICAgICAgdG9SYW5nZShzdGF0ZW1lbnQpXG4gICAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGRlY2xhcmF0aW9ucyA9IHN0YXRlbWVudC5kZWNsYXJhdGlvbnMubWFwKGQgPT4ge1xuICAgICAgICBpZiAoZC5pZC50eXBlICE9PSAnSWRlbnRpZmllcicpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihgJyR7ZC5pZC50eXBlfScgaXMgbm90IHN1cHBvcnRlZGAsIHRvUmFuZ2UoZC5pZCkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5kLFxuICAgICAgICAgICAgaW5pdDogZC5pbml0ID09IG51bGwgPyBkLmluaXQgOiBmRXhwcmVzc2lvbihkLmluaXQpLFxuICAgICAgICB9O1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlbWVudCxcbiAgICAgICAga2luZDogc3RhdGVtZW50LmtpbmQsXG4gICAgICAgIGRlY2xhcmF0aW9ucyxcbiAgICB9O1xufTtcbnR5cGUgRlZhcmlhYmxlRGVjbGFyYXRpb24gPSBSZXR1cm5UeXBlPHR5cGVvZiBmVmFyaWFibGVEZWNsYXJhdGlvbj47XG5cbmV4cG9ydCB0eXBlIEZTdGF0ZW1lbnQgPVxuICAgIHwgRkJsb2NrU3RhdGVtZW50XG4gICAgfCBGQnJlYWtTdGF0ZW1lbnRcbiAgICB8IENvbnRpbnVlU3RhdGVtZW50XG4gICAgfCBGSWZTdGF0ZW1lbnRcbiAgICB8IEZFeHByZXNzaW9uU3RhdGVtZW50XG4gICAgfCBGUmV0dXJuU3RhdGVtZW50XG4gICAgfCBGU3dpdGNoU3RhdGVtZW50XG4gICAgfCBGVmFyaWFibGVEZWNsYXJhdGlvbjtcblxuZXhwb3J0IGZ1bmN0aW9uIGZGU3RhdGVtZW50KHN0YXRlbWVudDogRGlyZWN0aXZlIHwgU3RhdGVtZW50IHwgTW9kdWxlRGVjbGFyYXRpb24pOiBGU3RhdGVtZW50IHtcbiAgICBzd2l0Y2ggKHN0YXRlbWVudC50eXBlKSB7XG4gICAgICAgIGNhc2UgJ0Jsb2NrU3RhdGVtZW50JzpcbiAgICAgICAgICAgIHJldHVybiBmQmxvY2tTdGF0ZW1lbnQoc3RhdGVtZW50KTtcbiAgICAgICAgY2FzZSAnQnJlYWtTdGF0ZW1lbnQnOlxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlbWVudDtcbiAgICAgICAgY2FzZSAnQ29udGludWVTdGF0ZW1lbnQnOlxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlbWVudDtcbiAgICAgICAgY2FzZSAnRXhwcmVzc2lvblN0YXRlbWVudCc6XG4gICAgICAgICAgICByZXR1cm4gZkV4cHJlc3Npb25TdGF0ZW1lbnQoc3RhdGVtZW50KTtcbiAgICAgICAgY2FzZSAnSWZTdGF0ZW1lbnQnOlxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZW1lbnQsXG4gICAgICAgICAgICAgICAgYWx0ZXJuYXRlOlxuICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQuYWx0ZXJuYXRlID09IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgID8gc3RhdGVtZW50LmFsdGVybmF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBmRlN0YXRlbWVudChzdGF0ZW1lbnQuYWx0ZXJuYXRlKSxcbiAgICAgICAgICAgICAgICBjb25zZXF1ZW50OiBmRlN0YXRlbWVudChzdGF0ZW1lbnQuY29uc2VxdWVudCksXG4gICAgICAgICAgICAgICAgdGVzdDogZkV4cHJlc3Npb24oc3RhdGVtZW50LnRlc3QpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgY2FzZSAnUmV0dXJuU3RhdGVtZW50JzpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGVtZW50LFxuICAgICAgICAgICAgICAgIGFyZ3VtZW50OlxuICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQuYXJndW1lbnQgPT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBzdGF0ZW1lbnQuYXJndW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZkV4cHJlc3Npb24oc3RhdGVtZW50LmFyZ3VtZW50KSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIGNhc2UgJ1N3aXRjaFN0YXRlbWVudCc6XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLnN0YXRlbWVudCxcbiAgICAgICAgICAgICAgICBjYXNlczogc3RhdGVtZW50LmNhc2VzLm1hcChjID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIC4uLmMsXG4gICAgICAgICAgICAgICAgICAgIGNvbnNlcXVlbnQ6IGMuY29uc2VxdWVudC5tYXAocyA9PiBmRlN0YXRlbWVudChzKSksXG4gICAgICAgICAgICAgICAgICAgIHRlc3Q6IGMudGVzdCA9PSBudWxsID8gYy50ZXN0IDogZkV4cHJlc3Npb24oYy50ZXN0KSxcbiAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgZGlzY3JpbWluYW50OiBmRXhwcmVzc2lvbihzdGF0ZW1lbnQuZGlzY3JpbWluYW50KSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIGNhc2UgJ1ZhcmlhYmxlRGVjbGFyYXRpb24nOlxuICAgICAgICAgICAgcmV0dXJuIGZWYXJpYWJsZURlY2xhcmF0aW9uKHN0YXRlbWVudCk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoYCcke3N0YXRlbWVudC50eXBlfScgaXMgbm90IHN1cHBvcnRlZGAsIHRvUmFuZ2Uoc3RhdGVtZW50KSk7XG4gICAgfVxufVxuIl19

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

Object.defineProperty(exports, "ScriptError", { enumerable: true, get: function () { return ScriptError_1.ScriptError; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQW9DO0FBQTNCLDRGQUFBLElBQUksT0FBQTtBQUFFLDRGQUFBLElBQUksT0FBQTtBQUNuQix5Q0FBNkM7QUFBcEMsbUdBQUEsVUFBVSxPQUFBO0FBQ25CLDZDQXFCdUI7QUFwQm5CLDJHQUFBLFlBQVksT0FBQTtBQUNaLHdHQUFBLFNBQVMsT0FBQTtBQUNULHlHQUFBLFVBQVUsT0FBQTtBQUVWLHFHQUFBLE1BQU0sT0FBQTtBQUNOLDBHQUFBLFdBQVcsT0FBQTtBQUNYLHVHQUFBLFFBQVEsT0FBQTtBQUNSLHdHQUFBLFNBQVMsT0FBQTtBQUNULHNHQUFBLE9BQU8sT0FBQTtBQUNQLHNHQUFBLE9BQU8sT0FBQTtBQUNQLHNHQUFBLE9BQU8sT0FBQTtBQUNQLHNHQUFBLE9BQU8sT0FBQTtBQUVQLG9HQUFBLEtBQUssT0FBQTtBQVFULDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBleGVjLCB0ZXN0IH0gZnJvbSAnLi9tYWluJztcclxuZXhwb3J0IHsgYXJyYXlDbGFzcyB9IGZyb20gJy4vYnVpbHRJbi9BcnJheSc7XHJcbmV4cG9ydCB7XHJcbiAgICBjcmVhdGVGVmFsdWUsXHJcbiAgICBiZWdpbkNhc3QsXHJcbiAgICB0b1R5cGVOYW1lLFxyXG4gICAgQXN0SW5mbyxcclxuICAgIEZBcnJheSxcclxuICAgIEZUeXBlZEFycmF5LFxyXG4gICAgRkJvb2xlYW4sXHJcbiAgICBGRnVuY3Rpb24sXHJcbiAgICBGTnVtYmVyLFxyXG4gICAgRk9iamVjdCxcclxuICAgIEZSZWNvcmQsXHJcbiAgICBGU3RyaW5nLFxyXG4gICAgRlZhbHVlLFxyXG4gICAgRlR5cGUsXHJcbiAgICBHZXRQYXJhbXMsXHJcbiAgICBTZXRQYXJhbXMsXHJcbiAgICBPbkdldHRpbmdQYXJhbXMsXHJcbiAgICBPblNldHRpbmdQYXJhbXMsXHJcbiAgICBHZXRDb3JlUGFyYW1zLFxyXG4gICAgU2V0Q29yZVBhcmFtcyxcclxufSBmcm9tICcuL3NjcmlwdFZhbHVlJztcclxuZXhwb3J0IHsgU2NyaXB0RXJyb3IgfSBmcm9tICcuL1NjcmlwdEVycm9yJztcclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQW9DO0FBQTNCLDRGQUFBLElBQUksT0FBQTtBQUFFLDRGQUFBLElBQUksT0FBQTtBQUNuQix5Q0FBNkM7QUFBcEMsbUdBQUEsVUFBVSxPQUFBO0FBQ25CLDZDQXFCdUI7QUFwQm5CLDJHQUFBLFlBQVksT0FBQTtBQUNaLHdHQUFBLFNBQVMsT0FBQTtBQUNULHlHQUFBLFVBQVUsT0FBQTtBQUVWLHFHQUFBLE1BQU0sT0FBQTtBQUNOLDBHQUFBLFdBQVcsT0FBQTtBQUNYLHVHQUFBLFFBQVEsT0FBQTtBQUNSLHdHQUFBLFNBQVMsT0FBQTtBQUNULHNHQUFBLE9BQU8sT0FBQTtBQUNQLHNHQUFBLE9BQU8sT0FBQTtBQUNQLHNHQUFBLE9BQU8sT0FBQTtBQUNQLHNHQUFBLE9BQU8sT0FBQTtBQUVQLG9HQUFBLEtBQUssT0FBQTtBQVFULDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBleGVjLCB0ZXN0IH0gZnJvbSAnLi9tYWluJztcbmV4cG9ydCB7IGFycmF5Q2xhc3MgfSBmcm9tICcuL2J1aWx0SW4vQXJyYXknO1xuZXhwb3J0IHtcbiAgICBjcmVhdGVGVmFsdWUsXG4gICAgYmVnaW5DYXN0LFxuICAgIHRvVHlwZU5hbWUsXG4gICAgQXN0SW5mbyxcbiAgICBGQXJyYXksXG4gICAgRlR5cGVkQXJyYXksXG4gICAgRkJvb2xlYW4sXG4gICAgRkZ1bmN0aW9uLFxuICAgIEZOdW1iZXIsXG4gICAgRk9iamVjdCxcbiAgICBGUmVjb3JkLFxuICAgIEZTdHJpbmcsXG4gICAgRlZhbHVlLFxuICAgIEZUeXBlLFxuICAgIEdldFBhcmFtcyxcbiAgICBTZXRQYXJhbXMsXG4gICAgT25HZXR0aW5nUGFyYW1zLFxuICAgIE9uU2V0dGluZ1BhcmFtcyxcbiAgICBHZXRDb3JlUGFyYW1zLFxuICAgIFNldENvcmVQYXJhbXMsXG59IGZyb20gJy4vc2NyaXB0VmFsdWUnO1xuZXhwb3J0IHsgU2NyaXB0RXJyb3IgfSBmcm9tICcuL1NjcmlwdEVycm9yJztcbiJdfQ==

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

exports.toRange = toRange;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmFuZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSU8sTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFrRCxFQUFxQixFQUFFO0lBQzdGLElBQUksTUFBTSxJQUFJLElBQUksRUFBRTtRQUNoQixPQUFPLFNBQVMsQ0FBQztLQUNwQjtJQUNELG9FQUFvRTtJQUNwRSxNQUFNLEtBQUssR0FBRyxNQUE0QyxDQUFDO0lBQzNELElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxPQUFPLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFO1FBQ2xFLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUNuQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUMsQ0FBQztBQVZXLFFBQUEsT0FBTyxXQVVsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VOb2RlV2l0aG91dENvbW1lbnRzIH0gZnJvbSAnZXN0cmVlJztcclxuXHJcbmV4cG9ydCB0eXBlIFJhbmdlID0gcmVhZG9ubHkgW251bWJlciwgbnVtYmVyXTtcclxuXHJcbmV4cG9ydCBjb25zdCB0b1JhbmdlID0gKHNvdXJjZTogQmFzZU5vZGVXaXRob3V0Q29tbWVudHMgfCBudWxsIHwgdW5kZWZpbmVkKTogUmFuZ2UgfCB1bmRlZmluZWQgPT4ge1xyXG4gICAgaWYgKHNvdXJjZSA9PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIC8vIEB0eXBlcy9lc3RyZWXjgahhY29ybuOBp+OBr+Wei+OBjOeVsOOBquOCi+OAguOBk+OBruODqeOCpOODluODqeODquOBp+OBr2Fjb3Ju44KS55So44GE44Gm44GE44KL44Gf44KB44CB44Gd44KM44Gr5ZCI44KP44Gb44Gm5Z6L5aSJ5o+b44GX44Gm44GE44KL44CCXHJcbiAgICBjb25zdCByYW5nZSA9IHNvdXJjZSBhcyB7IHN0YXJ0PzogdW5rbm93bjsgZW5kPzogdW5rbm93biB9O1xyXG4gICAgaWYgKHR5cGVvZiByYW5nZS5zdGFydCA9PT0gJ251bWJlcicgJiYgdHlwZW9mIHJhbmdlLmVuZCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICByZXR1cm4gW3JhbmdlLnN0YXJ0LCByYW5nZS5lbmRdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxufTtcclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmFuZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSU8sTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFrRCxFQUFxQixFQUFFO0lBQzdGLElBQUksTUFBTSxJQUFJLElBQUksRUFBRTtRQUNoQixPQUFPLFNBQVMsQ0FBQztLQUNwQjtJQUNELG9FQUFvRTtJQUNwRSxNQUFNLEtBQUssR0FBRyxNQUE0QyxDQUFDO0lBQzNELElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxPQUFPLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFO1FBQ2xFLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUNuQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUMsQ0FBQztBQVZXLFFBQUEsT0FBTyxXQVVsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VOb2RlV2l0aG91dENvbW1lbnRzIH0gZnJvbSAnZXN0cmVlJztcblxuZXhwb3J0IHR5cGUgUmFuZ2UgPSByZWFkb25seSBbbnVtYmVyLCBudW1iZXJdO1xuXG5leHBvcnQgY29uc3QgdG9SYW5nZSA9IChzb3VyY2U6IEJhc2VOb2RlV2l0aG91dENvbW1lbnRzIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFJhbmdlIHwgdW5kZWZpbmVkID0+IHtcbiAgICBpZiAoc291cmNlID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgLy8gQHR5cGVzL2VzdHJlZeOBqGFjb3Ju44Gn44Gv5Z6L44GM55Ww44Gq44KL44CC44GT44Gu44Op44Kk44OW44Op44Oq44Gn44GvYWNvcm7jgpLnlKjjgYTjgabjgYTjgovjgZ/jgoHjgIHjgZ3jgozjgavlkIjjgo/jgZvjgablnovlpInmj5vjgZfjgabjgYTjgovjgIJcbiAgICBjb25zdCByYW5nZSA9IHNvdXJjZSBhcyB7IHN0YXJ0PzogdW5rbm93bjsgZW5kPzogdW5rbm93biB9O1xuICAgIGlmICh0eXBlb2YgcmFuZ2Uuc3RhcnQgPT09ICdudW1iZXInICYmIHR5cGVvZiByYW5nZS5lbmQgPT09ICdudW1iZXInKSB7XG4gICAgICAgIHJldHVybiBbcmFuZ2Uuc3RhcnQsIHJhbmdlLmVuZF07XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59O1xuIl19

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

exports.ScriptError = ScriptError;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NyaXB0RXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NyaXB0RXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsTUFBYSxXQUFZLFNBQVEsS0FBSztJQUNsQyxZQUFtQixPQUFnQixFQUFrQixLQUFhO1FBQzlELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURrQyxVQUFLLEdBQUwsS0FBSyxDQUFRO0lBRWxFLENBQUM7SUFFTSxNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBYTtRQUMzQyxPQUFPLElBQUksV0FBVyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FDSjtBQVJELGtDQVFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmFuZ2UgfSBmcm9tICcuL3JhbmdlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBTY3JpcHRFcnJvciBleHRlbmRzIEVycm9yIHtcclxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nLCBwdWJsaWMgcmVhZG9ubHkgcmFuZ2U/OiBSYW5nZSkge1xyXG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgbm90Q29uc3RydWN0b3JFcnJvcihyYW5nZT86IFJhbmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBTY3JpcHRFcnJvcignTm90IGEgY29uc3RydWN0b3InLCByYW5nZSk7XHJcbiAgICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NyaXB0RXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NyaXB0RXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsTUFBYSxXQUFZLFNBQVEsS0FBSztJQUNsQyxZQUFtQixPQUFnQixFQUFrQixLQUFhO1FBQzlELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURrQyxVQUFLLEdBQUwsS0FBSyxDQUFRO0lBRWxFLENBQUM7SUFFTSxNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBYTtRQUMzQyxPQUFPLElBQUksV0FBVyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FDSjtBQVJELGtDQVFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmFuZ2UgfSBmcm9tICcuL3JhbmdlJztcblxuZXhwb3J0IGNsYXNzIFNjcmlwdEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nLCBwdWJsaWMgcmVhZG9ubHkgcmFuZ2U/OiBSYW5nZSkge1xuICAgICAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIG5vdENvbnN0cnVjdG9yRXJyb3IocmFuZ2U/OiBSYW5nZSkge1xuICAgICAgICByZXR1cm4gbmV3IFNjcmlwdEVycm9yKCdOb3QgYSBjb25zdHJ1Y3RvcicsIHJhbmdlKTtcbiAgICB9XG59XG4iXX0=

@@ -30,2 +30,2 @@ import { FBoolean, FFunction, FType } from '../scriptValue';

export const arrayClass = new FArrayClass();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbHRJbi9BcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsUUFBUSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXlCLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFakMsTUFBTSxXQUFZLFNBQVEsU0FBUztJQUMvQjtRQUNJLEtBQUssQ0FDRCxHQUFHLEVBQUU7WUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxFQUNELFNBQVMsRUFDVCxLQUFLLENBQ1IsQ0FBQztJQUNOLENBQUM7SUFFTyxNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBYyxFQUFFLE9BQTRCO1FBQzNFLElBQUksS0FBSyxFQUFFO1lBQ1AsTUFBTSxXQUFXLENBQUMsbUJBQW1CLENBQUMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3pEO0lBQ0wsQ0FBQztJQUVNLFNBQVMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQWlCO1FBQzVDLFFBQVEsR0FBRyxFQUFFO1lBQ1QsS0FBSyxTQUFTLENBQUMsQ0FBQztnQkFDWixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQ2QsSUFBSSxTQUFTLENBQ1QsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO29CQUNoQixXQUFXLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUNoRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BCLE9BQU8sSUFBSSxRQUFRLENBQUMsQ0FBQSxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsSUFBSSxNQUFLLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbkQsQ0FBQyxFQUNELElBQUksRUFDSixLQUFLLENBQ1IsQ0FDSixDQUFDO2FBQ0w7WUFDRDtnQkFDSSxPQUFPLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUM1QjtJQUNMLENBQUM7Q0FDSjtBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN0SW5mbywgRkJvb2xlYW4sIEZGdW5jdGlvbiwgRlR5cGUsIEZWYWx1ZSwgR2V0Q29yZVBhcmFtcyB9IGZyb20gJy4uL3NjcmlwdFZhbHVlJztcclxuaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSAnQGtpemFoYXNpL29wdGlvbic7XHJcbmltcG9ydCB7IFNjcmlwdEVycm9yIH0gZnJvbSAnLi4nO1xyXG5cclxuY2xhc3MgRkFycmF5Q2xhc3MgZXh0ZW5kcyBGRnVuY3Rpb24ge1xyXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKFxyXG4gICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FycmF5IGNvbnN0cnVjdG9yIGlzIG5vdCBzdXBwb3J0ZWQnKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICBmYWxzZVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgcHJlcGFyZVN0YXRpY01ldGhvZChpc05ldzogYm9vbGVhbiwgYXN0SW5mbzogQXN0SW5mbyB8IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChpc05ldykge1xyXG4gICAgICAgICAgICB0aHJvdyBTY3JpcHRFcnJvci5ub3RDb25zdHJ1Y3RvckVycm9yKGFzdEluZm8/LnJhbmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uR2V0dGluZyh7IGtleSwgYXN0SW5mbyB9OiBHZXRDb3JlUGFyYW1zKTogT3B0aW9uPEZWYWx1ZT4ge1xyXG4gICAgICAgIHN3aXRjaCAoa2V5KSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ2lzQXJyYXknOiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gT3B0aW9uLnNvbWUoXHJcbiAgICAgICAgICAgICAgICAgICAgbmV3IEZGdW5jdGlvbihcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHsgYXJncywgaXNOZXcgfSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFycmF5Q2xhc3MucHJlcGFyZVN0YXRpY01ldGhvZChpc05ldywgYXN0SW5mbyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhcmcgPSBhcmdzWzBdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGQm9vbGVhbihhcmc/LnR5cGUgPT09IEZUeXBlLkFycmF5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gT3B0aW9uLm5vbmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBhcnJheUNsYXNzID0gbmV3IEZBcnJheUNsYXNzKCk7XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbHRJbi9BcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsUUFBUSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXlCLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFakMsTUFBTSxXQUFZLFNBQVEsU0FBUztJQUMvQjtRQUNJLEtBQUssQ0FDRCxHQUFHLEVBQUU7WUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxFQUNELFNBQVMsRUFDVCxLQUFLLENBQ1IsQ0FBQztJQUNOLENBQUM7SUFFTyxNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBYyxFQUFFLE9BQTRCO1FBQzNFLElBQUksS0FBSyxFQUFFO1lBQ1AsTUFBTSxXQUFXLENBQUMsbUJBQW1CLENBQUMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3pEO0lBQ0wsQ0FBQztJQUVNLFNBQVMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQWlCO1FBQzVDLFFBQVEsR0FBRyxFQUFFO1lBQ1QsS0FBSyxTQUFTLENBQUMsQ0FBQztnQkFDWixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQ2QsSUFBSSxTQUFTLENBQ1QsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO29CQUNoQixXQUFXLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUNoRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BCLE9BQU8sSUFBSSxRQUFRLENBQUMsQ0FBQSxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsSUFBSSxNQUFLLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbkQsQ0FBQyxFQUNELElBQUksRUFDSixLQUFLLENBQ1IsQ0FDSixDQUFDO2FBQ0w7WUFDRDtnQkFDSSxPQUFPLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUM1QjtJQUNMLENBQUM7Q0FDSjtBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN0SW5mbywgRkJvb2xlYW4sIEZGdW5jdGlvbiwgRlR5cGUsIEZWYWx1ZSwgR2V0Q29yZVBhcmFtcyB9IGZyb20gJy4uL3NjcmlwdFZhbHVlJztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gJ0BraXphaGFzaS9vcHRpb24nO1xuaW1wb3J0IHsgU2NyaXB0RXJyb3IgfSBmcm9tICcuLic7XG5cbmNsYXNzIEZBcnJheUNsYXNzIGV4dGVuZHMgRkZ1bmN0aW9uIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQXJyYXkgY29uc3RydWN0b3IgaXMgbm90IHN1cHBvcnRlZCcpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgcHJlcGFyZVN0YXRpY01ldGhvZChpc05ldzogYm9vbGVhbiwgYXN0SW5mbzogQXN0SW5mbyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgICAgICBpZiAoaXNOZXcpIHtcbiAgICAgICAgICAgIHRocm93IFNjcmlwdEVycm9yLm5vdENvbnN0cnVjdG9yRXJyb3IoYXN0SW5mbz8ucmFuZ2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uR2V0dGluZyh7IGtleSwgYXN0SW5mbyB9OiBHZXRDb3JlUGFyYW1zKTogT3B0aW9uPEZWYWx1ZT4ge1xuICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgICAgY2FzZSAnaXNBcnJheSc6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gT3B0aW9uLnNvbWUoXG4gICAgICAgICAgICAgICAgICAgIG5ldyBGRnVuY3Rpb24oXG4gICAgICAgICAgICAgICAgICAgICAgICAoeyBhcmdzLCBpc05ldyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFycmF5Q2xhc3MucHJlcGFyZVN0YXRpY01ldGhvZChpc05ldywgYXN0SW5mbyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJnID0gYXJnc1swXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZCb29sZWFuKGFyZz8udHlwZSA9PT0gRlR5cGUuQXJyYXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBmYWxzZVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE9wdGlvbi5ub25lKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBhcnJheUNsYXNzID0gbmV3IEZBcnJheUNsYXNzKCk7XG4iXX0=

@@ -76,2 +76,2 @@ import * as ScriptValue from './scriptValue';

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxXQUFXLE1BQU0sZUFBZSxDQUFDO0FBSTdDLE1BQU0sT0FBTyxPQUFPO0lBYWhCLFlBQTBCLFVBQStCO1FBQS9CLGVBQVUsR0FBVixVQUFVLENBQXFCO1FBWnpEOzs7Ozs7OztVQVFFO1FBQ00sY0FBUyxHQUEyQyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztRQUlwRSxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sR0FBRyxDQUFDLElBQVksRUFBRSxLQUF3QjtRQUM3QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUzthQUN2QixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzdCLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUM7YUFDaEMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEIsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3JCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNwQjtRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQzdCLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ3ZDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRTtTQUNyQixDQUFDLENBQUM7UUFDSCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBWSxFQUFFLFFBQTRCLEVBQUUsS0FBd0I7UUFDOUUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVM7YUFDdkIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM3QixNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDO2FBQ2hDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUNyQixJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7Z0JBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsSUFBSSxHQUFHLENBQUMsQ0FBQzthQUM1RDtZQUNELEtBQUssQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDO1lBQ3JCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQ2hCLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ3ZDLFFBQVE7WUFDUixPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUU7U0FDckIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE9BQU8sQ0FBQyxJQUFZLEVBQUUsS0FBeUIsRUFBRSxJQUFxQjtRQUN6RSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDN0M7UUFDRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztTQUN2RDtRQUNELFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFO1lBQ2YsR0FBRyxFQUFFLEtBQUs7WUFDVixPQUFPLEVBQUUsSUFBSSxLQUFLLE9BQU87U0FDNUIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE9BQU87UUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLFFBQVE7UUFDWCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7U0FDdkQ7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJhbmdlIH0gZnJvbSAnLi9yYW5nZSc7XHJcbmltcG9ydCAqIGFzIFNjcmlwdFZhbHVlIGZyb20gJy4vc2NyaXB0VmFsdWUnO1xyXG5cclxudHlwZSBSZWY8VD4gPSB7IHJlZjogVDsgaXNDb25zdDogYm9vbGVhbiB9O1xyXG5cclxuZXhwb3J0IGNsYXNzIENvbnRleHQge1xyXG4gICAgLypcclxuICAgIGxldCB4ID0gMTtcclxuICAgIGxldCBmID0gKCkgPT4ge1xyXG4gICAgICAgIGxldCB4ID0gMjtcclxuICAgICAgICByZXR1cm4gMjtcclxuICAgIH1cclxuICAgIFxyXG4gICAg44Gu44KI44GG44Gq44Go44GN44CBbGV0IGYg44Gu5ous5byn44Gu5aSW44Gn44GvIFt7IHg6IDEgfV3jgIFsZXQgeCA9IDIg44Gu44GZ44GQ5LiK44Gn44GvIFt7IHg6IDEgfSwge31d44CB5LiL44GL44KJICkg44G+44Gn44GvIFt7IHg6IDEgfSwgeyB4OiAyIH1dIOOBqOOBquOCi+OAglxyXG4gICAgKi9cclxuICAgIHByaXZhdGUgdmFyVGFibGVzOiBNYXA8c3RyaW5nLCBSZWY8U2NyaXB0VmFsdWUuRlZhbHVlPj5bXSA9IFtuZXcgTWFwKCldO1xyXG4gICAgcHVibGljIGN1cnJlbnRUaGlzOiBTY3JpcHRWYWx1ZS5GUmVjb3JkIHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgZ2xvYmFsVGhpczogU2NyaXB0VmFsdWUuRlJlY29yZCkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRoaXMgPSBnbG9iYWxUaGlzO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQobmFtZTogc3RyaW5nLCByYW5nZTogUmFuZ2UgfCB1bmRlZmluZWQpOiBTY3JpcHRWYWx1ZS5GVmFsdWUge1xyXG4gICAgICAgIGNvbnN0IGZvdW5kID0gdGhpcy52YXJUYWJsZXNcclxuICAgICAgICAgICAgLm1hcCh0YWJsZSA9PiB0YWJsZS5nZXQobmFtZSkpXHJcbiAgICAgICAgICAgIC5maWx0ZXIodmFsID0+IHZhbCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICAucmV2ZXJzZSgpWzBdO1xyXG4gICAgICAgIGlmIChmb3VuZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmb3VuZC5yZWY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHByb3AgPSB0aGlzLmdsb2JhbFRoaXMuZ2V0KHtcclxuICAgICAgICAgICAgcHJvcGVydHk6IG5ldyBTY3JpcHRWYWx1ZS5GU3RyaW5nKG5hbWUpLFxyXG4gICAgICAgICAgICBhc3RJbmZvOiB7IHJhbmdlIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKHByb3AgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gcHJvcDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXNzaWduKG5hbWU6IHN0cmluZywgbmV3VmFsdWU6IFNjcmlwdFZhbHVlLkZWYWx1ZSwgcmFuZ2U6IFJhbmdlIHwgdW5kZWZpbmVkKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZm91bmQgPSB0aGlzLnZhclRhYmxlc1xyXG4gICAgICAgICAgICAubWFwKHRhYmxlID0+IHRhYmxlLmdldChuYW1lKSlcclxuICAgICAgICAgICAgLmZpbHRlcih2YWwgPT4gdmFsICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIC5yZXZlcnNlKClbMF07XHJcbiAgICAgICAgaWYgKGZvdW5kICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgaWYgKGZvdW5kLmlzQ29uc3QpIHtcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCBhc3NpZ25tZW50IHRvIGNvbnN0ICcke25hbWV9J2ApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvdW5kLnJlZiA9IG5ld1ZhbHVlO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZ2xvYmFsVGhpcy5zZXQoe1xyXG4gICAgICAgICAgICBwcm9wZXJ0eTogbmV3IFNjcmlwdFZhbHVlLkZTdHJpbmcobmFtZSksXHJcbiAgICAgICAgICAgIG5ld1ZhbHVlLFxyXG4gICAgICAgICAgICBhc3RJbmZvOiB7IHJhbmdlIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRlY2xhcmUobmFtZTogc3RyaW5nLCB2YWx1ZTogU2NyaXB0VmFsdWUuRlZhbHVlLCB0eXBlOiAnbGV0JyB8ICdjb25zdCcpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB2YXJUYWJsZSA9IHRoaXMudmFyVGFibGVzW3RoaXMudmFyVGFibGVzLmxlbmd0aCAtIDFdO1xyXG4gICAgICAgIGlmICh2YXJUYWJsZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigndGhpcyBzaG91bGQgbm90IGhhcHBlbicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBmb3VuZCA9IHZhclRhYmxlLmdldChuYW1lKTtcclxuICAgICAgICBpZiAoZm91bmQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHJlZGVjbGFyYXRpb24gb2YgJHt0eXBlfSAke25hbWV9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHZhclRhYmxlLnNldChuYW1lLCB7XHJcbiAgICAgICAgICAgIHJlZjogdmFsdWUsXHJcbiAgICAgICAgICAgIGlzQ29uc3Q6IHR5cGUgPT09ICdjb25zdCcsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNjb3BlSW4oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52YXJUYWJsZXMucHVzaChuZXcgTWFwKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzY29wZU91dCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy52YXJUYWJsZXMubGVuZ3RoIDw9IDEpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd0aGlzLnZhclRhYmxlcyBtdXN0IG5vdCBiZSBlbXB0eScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnZhclRhYmxlcy5wb3AoKTtcclxuICAgIH1cclxufVxyXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxXQUFXLE1BQU0sZUFBZSxDQUFDO0FBSTdDLE1BQU0sT0FBTyxPQUFPO0lBYWhCLFlBQTBCLFVBQStCO1FBQS9CLGVBQVUsR0FBVixVQUFVLENBQXFCO1FBWnpEOzs7Ozs7OztVQVFFO1FBQ00sY0FBUyxHQUEyQyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztRQUlwRSxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sR0FBRyxDQUFDLElBQVksRUFBRSxLQUF3QjtRQUM3QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUzthQUN2QixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzdCLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUM7YUFDaEMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEIsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3JCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNwQjtRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQzdCLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ3ZDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRTtTQUNyQixDQUFDLENBQUM7UUFDSCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBWSxFQUFFLFFBQTRCLEVBQUUsS0FBd0I7UUFDOUUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVM7YUFDdkIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM3QixNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDO2FBQ2hDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUNyQixJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7Z0JBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsSUFBSSxHQUFHLENBQUMsQ0FBQzthQUM1RDtZQUNELEtBQUssQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDO1lBQ3JCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQ2hCLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ3ZDLFFBQVE7WUFDUixPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUU7U0FDckIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE9BQU8sQ0FBQyxJQUFZLEVBQUUsS0FBeUIsRUFBRSxJQUFxQjtRQUN6RSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDN0M7UUFDRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztTQUN2RDtRQUNELFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFO1lBQ2YsR0FBRyxFQUFFLEtBQUs7WUFDVixPQUFPLEVBQUUsSUFBSSxLQUFLLE9BQU87U0FDNUIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE9BQU87UUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLFFBQVE7UUFDWCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7U0FDdkQ7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJhbmdlIH0gZnJvbSAnLi9yYW5nZSc7XG5pbXBvcnQgKiBhcyBTY3JpcHRWYWx1ZSBmcm9tICcuL3NjcmlwdFZhbHVlJztcblxudHlwZSBSZWY8VD4gPSB7IHJlZjogVDsgaXNDb25zdDogYm9vbGVhbiB9O1xuXG5leHBvcnQgY2xhc3MgQ29udGV4dCB7XG4gICAgLypcbiAgICBsZXQgeCA9IDE7XG4gICAgbGV0IGYgPSAoKSA9PiB7XG4gICAgICAgIGxldCB4ID0gMjtcbiAgICAgICAgcmV0dXJuIDI7XG4gICAgfVxuICAgIFxuICAgIOOBruOCiOOBhuOBquOBqOOBjeOAgWxldCBmIOOBruaLrOW8p+OBruWkluOBp+OBryBbeyB4OiAxIH1d44CBbGV0IHggPSAyIOOBruOBmeOBkOS4iuOBp+OBryBbeyB4OiAxIH0sIHt9XeOAgeS4i+OBi+OCiSApIOOBvuOBp+OBryBbeyB4OiAxIH0sIHsgeDogMiB9XSDjgajjgarjgovjgIJcbiAgICAqL1xuICAgIHByaXZhdGUgdmFyVGFibGVzOiBNYXA8c3RyaW5nLCBSZWY8U2NyaXB0VmFsdWUuRlZhbHVlPj5bXSA9IFtuZXcgTWFwKCldO1xuICAgIHB1YmxpYyBjdXJyZW50VGhpczogU2NyaXB0VmFsdWUuRlJlY29yZCB8IHVuZGVmaW5lZDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgZ2xvYmFsVGhpczogU2NyaXB0VmFsdWUuRlJlY29yZCkge1xuICAgICAgICB0aGlzLmN1cnJlbnRUaGlzID0gZ2xvYmFsVGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0KG5hbWU6IHN0cmluZywgcmFuZ2U6IFJhbmdlIHwgdW5kZWZpbmVkKTogU2NyaXB0VmFsdWUuRlZhbHVlIHtcbiAgICAgICAgY29uc3QgZm91bmQgPSB0aGlzLnZhclRhYmxlc1xuICAgICAgICAgICAgLm1hcCh0YWJsZSA9PiB0YWJsZS5nZXQobmFtZSkpXG4gICAgICAgICAgICAuZmlsdGVyKHZhbCA9PiB2YWwgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIC5yZXZlcnNlKClbMF07XG4gICAgICAgIGlmIChmb3VuZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZm91bmQucmVmO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHByb3AgPSB0aGlzLmdsb2JhbFRoaXMuZ2V0KHtcbiAgICAgICAgICAgIHByb3BlcnR5OiBuZXcgU2NyaXB0VmFsdWUuRlN0cmluZyhuYW1lKSxcbiAgICAgICAgICAgIGFzdEluZm86IHsgcmFuZ2UgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChwcm9wICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBwcm9wO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGFzc2lnbihuYW1lOiBzdHJpbmcsIG5ld1ZhbHVlOiBTY3JpcHRWYWx1ZS5GVmFsdWUsIHJhbmdlOiBSYW5nZSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgICAgICBjb25zdCBmb3VuZCA9IHRoaXMudmFyVGFibGVzXG4gICAgICAgICAgICAubWFwKHRhYmxlID0+IHRhYmxlLmdldChuYW1lKSlcbiAgICAgICAgICAgIC5maWx0ZXIodmFsID0+IHZhbCAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgLnJldmVyc2UoKVswXTtcbiAgICAgICAgaWYgKGZvdW5kICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmIChmb3VuZC5pc0NvbnN0KSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIGFzc2lnbm1lbnQgdG8gY29uc3QgJyR7bmFtZX0nYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3VuZC5yZWYgPSBuZXdWYWx1ZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdsb2JhbFRoaXMuc2V0KHtcbiAgICAgICAgICAgIHByb3BlcnR5OiBuZXcgU2NyaXB0VmFsdWUuRlN0cmluZyhuYW1lKSxcbiAgICAgICAgICAgIG5ld1ZhbHVlLFxuICAgICAgICAgICAgYXN0SW5mbzogeyByYW5nZSB9LFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVjbGFyZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBTY3JpcHRWYWx1ZS5GVmFsdWUsIHR5cGU6ICdsZXQnIHwgJ2NvbnN0Jyk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YXJUYWJsZSA9IHRoaXMudmFyVGFibGVzW3RoaXMudmFyVGFibGVzLmxlbmd0aCAtIDFdO1xuICAgICAgICBpZiAodmFyVGFibGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd0aGlzIHNob3VsZCBub3QgaGFwcGVuJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZm91bmQgPSB2YXJUYWJsZS5nZXQobmFtZSk7XG4gICAgICAgIGlmIChmb3VuZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHJlZGVjbGFyYXRpb24gb2YgJHt0eXBlfSAke25hbWV9YCk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyVGFibGUuc2V0KG5hbWUsIHtcbiAgICAgICAgICAgIHJlZjogdmFsdWUsXG4gICAgICAgICAgICBpc0NvbnN0OiB0eXBlID09PSAnY29uc3QnLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2NvcGVJbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YXJUYWJsZXMucHVzaChuZXcgTWFwKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzY29wZU91dCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudmFyVGFibGVzLmxlbmd0aCA8PSAxKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RoaXMudmFyVGFibGVzIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52YXJUYWJsZXMucG9wKCk7XG4gICAgfVxufVxuIl19

@@ -259,2 +259,2 @@ import { fBlockStatement } from './fStatement';

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZkV4cHJlc3Npb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZkV4cHJlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUJBLE9BQU8sRUFBRSxlQUFlLEVBQW1CLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBUyxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUs1QyxTQUFTLGdCQUFnQixDQUFDLFVBQTJCO0lBQ2pELE9BQU87UUFDSCxHQUFHLFVBQVU7UUFDYixRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxDQUFDO2FBQ1o7WUFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssZUFBZSxFQUFFO2dCQUM1QixNQUFNLElBQUksV0FBVyxDQUFDLGdDQUFnQyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2FBQ2hGO1lBQ0QsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDO0tBQ0wsQ0FBQztBQUNOLENBQUM7QUFNRCxTQUFTLHVCQUF1QixDQUFDLFVBQW1DO0lBQ2hFLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3pDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxZQUFZLEVBQUU7WUFDN0IsTUFBTSxJQUFJLFdBQVcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1NBQ2xGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDSCxJQUFJLElBQW1DLENBQUM7SUFDeEMsSUFBSSxV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QVUsQ0FBQyxDQUFDO1FBQzdDLEtBQUssaUJBQWlCO1lBQ2xCLE9BQU8sZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEMsS0FBSyx1QkFBdUI7WUFDeEIsT0FBTyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxLQUFLLFlBQVk7WUFDYixPQUFPLFVBQVUsQ0FBQztRQUN0QixLQUFLLFNBQVM7WUFDVixPQUFPLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxLQUFLLG1CQUFtQjtZQUNwQixPQUFPLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLEtBQUssa0JBQWtCO1lBQ25CLE9BQU8saUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekMsS0FBSyxlQUFlO1lBQ2hCLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLEtBQUssa0JBQWtCO1lBQ25CLE9BQU8saUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekMsS0FBSyxnQkFBZ0I7WUFDakIsT0FBTyxVQUFVLENBQUM7UUFDdEIsS0FBSyxpQkFBaUI7WUFDbEIsT0FBTyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QztZQUNJLE1BQU0sSUFBSSxXQUFXLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxvQkFBb0IsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztLQUMzRjtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQXJyYXlFeHByZXNzaW9uLFxyXG4gICAgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24sXHJcbiAgICBBc3NpZ25tZW50RXhwcmVzc2lvbixcclxuICAgIEFzc2lnbm1lbnRPcGVyYXRvcixcclxuICAgIEJhc2VDYWxsRXhwcmVzc2lvbixcclxuICAgIEJpbmFyeUV4cHJlc3Npb24sXHJcbiAgICBCaW5hcnlPcGVyYXRvcixcclxuICAgIENoYWluRXhwcmVzc2lvbixcclxuICAgIENvbmRpdGlvbmFsRXhwcmVzc2lvbixcclxuICAgIEV4cHJlc3Npb24sXHJcbiAgICBJZGVudGlmaWVyLFxyXG4gICAgTGl0ZXJhbCxcclxuICAgIExvZ2ljYWxFeHByZXNzaW9uLFxyXG4gICAgTWVtYmVyRXhwcmVzc2lvbixcclxuICAgIE5ld0V4cHJlc3Npb24sXHJcbiAgICBPYmplY3RFeHByZXNzaW9uLFxyXG4gICAgUHJvcGVydHksXHJcbiAgICBTaW1wbGVDYWxsRXhwcmVzc2lvbixcclxuICAgIFRoaXNFeHByZXNzaW9uLFxyXG4gICAgVW5hcnlFeHByZXNzaW9uLFxyXG4gICAgVW5hcnlPcGVyYXRvcixcclxufSBmcm9tICdlc3RyZWUnO1xyXG5pbXBvcnQgeyBmQmxvY2tTdGF0ZW1lbnQsIEZCbG9ja1N0YXRlbWVudCB9IGZyb20gJy4vZlN0YXRlbWVudCc7XHJcbmltcG9ydCB7IFJhbmdlLCB0b1JhbmdlIH0gZnJvbSAnLi9yYW5nZSc7XHJcbmltcG9ydCB7IFNjcmlwdEVycm9yIH0gZnJvbSAnLi9TY3JpcHRFcnJvcic7XHJcblxyXG5leHBvcnQgdHlwZSBGQXJyYXlFeHByZXNzaW9uID0gT21pdDxBcnJheUV4cHJlc3Npb24sICdlbGVtZW50cyc+ICYge1xyXG4gICAgZWxlbWVudHM6IEFycmF5PEZFeHByZXNzaW9uIHwgbnVsbD47XHJcbn07XHJcbmZ1bmN0aW9uIGZBcnJheUV4cHJlc3Npb24oZXhwcmVzc2lvbjogQXJyYXlFeHByZXNzaW9uKTogRkFycmF5RXhwcmVzc2lvbiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLmV4cHJlc3Npb24sXHJcbiAgICAgICAgZWxlbWVudHM6IGV4cHJlc3Npb24uZWxlbWVudHMubWFwKGUgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZSA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoZS50eXBlID09PSAnU3ByZWFkRWxlbWVudCcpIHtcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcignU3ByZWFkRWxlbWVudCBpcyBub3Qgc3VwcG9ydGVkJywgdG9SYW5nZShleHByZXNzaW9uKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGZFeHByZXNzaW9uKGUpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgfTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRkFycm93RnVuY3Rpb25FeHByZXNzaW9uID0gT21pdDxBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiwgJ2JvZHknIHwgJ3BhcmFtcyc+ICYge1xyXG4gICAgYm9keTogRkJsb2NrU3RhdGVtZW50IHwgRkV4cHJlc3Npb247XHJcbiAgICBwYXJhbXM6IEFycmF5PEZJZGVudGlmaWVyPjtcclxufTtcclxuZnVuY3Rpb24gZkFycm93RnVudGlvbkV4cHJlc3Npb24oZXhwcmVzc2lvbjogQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24pOiBGQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24ge1xyXG4gICAgY29uc3QgcGFyYW1zID0gZXhwcmVzc2lvbi5wYXJhbXMubWFwKHBhcmFtID0+IHtcclxuICAgICAgICBpZiAocGFyYW0udHlwZSAhPT0gJ0lkZW50aWZpZXInKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihgJyR7cGFyYW0udHlwZX0nIGlzIG5vdCBzdXBwb3J0ZWRgLCB0b1JhbmdlKGV4cHJlc3Npb24pKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBhcmFtO1xyXG4gICAgfSk7XHJcbiAgICBsZXQgYm9keTogRkJsb2NrU3RhdGVtZW50IHwgRkV4cHJlc3Npb247XHJcbiAgICBpZiAoZXhwcmVzc2lvbi5ib2R5LnR5cGUgPT09ICdCbG9ja1N0YXRlbWVudCcpIHtcclxuICAgICAgICBib2R5ID0gZkJsb2NrU3RhdGVtZW50KGV4cHJlc3Npb24uYm9keSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIGJvZHkgPSBmRXhwcmVzc2lvbihleHByZXNzaW9uLmJvZHkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5leHByZXNzaW9uLFxyXG4gICAgICAgIGJvZHksXHJcbiAgICAgICAgcGFyYW1zLFxyXG4gICAgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gZkFzc2lnbm1lbnRPcGVyYXRvcihvcGVyYXRvcjogQXNzaWdubWVudE9wZXJhdG9yLCByYW5nZTogUmFuZ2UgfCB1bmRlZmluZWQpIHtcclxuICAgIHN3aXRjaCAob3BlcmF0b3IpIHtcclxuICAgICAgICBjYXNlICc9JzpcclxuICAgICAgICAgICAgcmV0dXJuIG9wZXJhdG9yO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihgJyR7b3BlcmF0b3J9JyBpcyBub3Qgc3VwcG9ydGVkYCwgcmFuZ2UpO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCB0eXBlIEZBc3NpZ25tZW50T3BlcmF0b3IgPSBSZXR1cm5UeXBlPHR5cGVvZiBmQXNzaWdubWVudE9wZXJhdG9yPjtcclxuXHJcbmV4cG9ydCB0eXBlIEZBc3NpZ25tZW50RXhwcmVzc2lvbiA9IE9taXQ8QXNzaWdubWVudEV4cHJlc3Npb24sICdvcGVyYXRvcicgfCAnbGVmdCcgfCAncmlnaHQnPiAmIHtcclxuICAgIG9wZXJhdG9yOiBGQXNzaWdubWVudE9wZXJhdG9yO1xyXG4gICAgbGVmdDogRklkZW50aWZpZXIgfCBGTWVtYmVyRXhwcmVzc2lvbjtcclxuICAgIHJpZ2h0OiBGRXhwcmVzc2lvbjtcclxufTtcclxuZnVuY3Rpb24gZkFzc2lnbm1lbnRFeHByZXNzaW9uKGV4cHJlc3Npb246IEFzc2lnbm1lbnRFeHByZXNzaW9uKTogRkFzc2lnbm1lbnRFeHByZXNzaW9uIHtcclxuICAgIGxldCBsZWZ0OiBGSWRlbnRpZmllciB8IEZNZW1iZXJFeHByZXNzaW9uO1xyXG4gICAgc3dpdGNoIChleHByZXNzaW9uLmxlZnQudHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ0lkZW50aWZpZXInOlxyXG4gICAgICAgICAgICBsZWZ0ID0gZXhwcmVzc2lvbi5sZWZ0O1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdNZW1iZXJFeHByZXNzaW9uJzpcclxuICAgICAgICAgICAgbGVmdCA9IGZNZW1iZXJFeHByZXNzaW9uKGV4cHJlc3Npb24ubGVmdCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihcclxuICAgICAgICAgICAgICAgIGAnJHtleHByZXNzaW9uLmxlZnQudHlwZX0nIGlzIG5vdCBzdXBwb3J0ZWRgLFxyXG4gICAgICAgICAgICAgICAgdG9SYW5nZShleHByZXNzaW9uKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5leHByZXNzaW9uLFxyXG4gICAgICAgIG9wZXJhdG9yOiBmQXNzaWdubWVudE9wZXJhdG9yKGV4cHJlc3Npb24ub3BlcmF0b3IsIHRvUmFuZ2UoZXhwcmVzc2lvbikpLFxyXG4gICAgICAgIGxlZnQsXHJcbiAgICAgICAgcmlnaHQ6IGZFeHByZXNzaW9uKGV4cHJlc3Npb24ucmlnaHQpLFxyXG4gICAgfTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRkJhc2VDYWxsRXhwcmVzc2lvbiA9IE9taXQ8QmFzZUNhbGxFeHByZXNzaW9uLCAnY2FsbGVlJyB8ICdhcmd1bWVudHMnPiAmIHtcclxuICAgIGNhbGxlZTogRkV4cHJlc3Npb247XHJcbiAgICBhcmd1bWVudHM6IEFycmF5PEZFeHByZXNzaW9uPjtcclxufTtcclxuZnVuY3Rpb24gZkJhc2VDYWxsRXhwcmVzc2lvbihleHByZXNzaW9uOiBCYXNlQ2FsbEV4cHJlc3Npb24pOiBGQmFzZUNhbGxFeHByZXNzaW9uIHtcclxuICAgIGlmIChleHByZXNzaW9uLmNhbGxlZS50eXBlID09PSAnU3VwZXInKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKGAnJHtleHByZXNzaW9uLmNhbGxlZS50eXBlfScgaXMgbm90IHN1cHBvcnRlZGAsIHRvUmFuZ2UoZXhwcmVzc2lvbikpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5leHByZXNzaW9uLFxyXG4gICAgICAgIGNhbGxlZTogZkV4cHJlc3Npb24oZXhwcmVzc2lvbi5jYWxsZWUpLFxyXG4gICAgICAgIGFyZ3VtZW50czogZXhwcmVzc2lvbi5hcmd1bWVudHMubWFwKGFyZyA9PiB7XHJcbiAgICAgICAgICAgIGlmIChhcmcudHlwZSA9PT0gJ1NwcmVhZEVsZW1lbnQnKSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoYCcke2FyZy50eXBlfSBpcyBub3Qgc3VwcG9ydGVkJ2AsIHRvUmFuZ2UoYXJnKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGZFeHByZXNzaW9uKGFyZyk7XHJcbiAgICAgICAgfSksXHJcbiAgICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBmQmluYXJ5T3BlcmF0b3Iob3BlcmF0b3I6IEJpbmFyeU9wZXJhdG9yLCByYW5nZTogUmFuZ2UgfCB1bmRlZmluZWQpIHtcclxuICAgIHN3aXRjaCAob3BlcmF0b3IpIHtcclxuICAgICAgICBjYXNlICdpbic6XHJcbiAgICAgICAgY2FzZSAnaW5zdGFuY2VvZic6XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihgJyR7b3BlcmF0b3J9JyBpcyBub3Qgc3VwcG9ydGVkYCwgcmFuZ2UpO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIHJldHVybiBvcGVyYXRvcjtcclxuICAgIH1cclxufVxyXG5leHBvcnQgdHlwZSBGQmluYXJ5T3BlcmF0b3IgPSBSZXR1cm5UeXBlPHR5cGVvZiBmQmluYXJ5T3BlcmF0b3I+O1xyXG5cclxuZXhwb3J0IHR5cGUgRkJpbmFyeUV4cHJlc3Npb24gPSBPbWl0PEJpbmFyeUV4cHJlc3Npb24sICdvcGVyYXRvcicgfCAnbGVmdCcgfCAncmlnaHQnPiAmIHtcclxuICAgIG9wZXJhdG9yOiBGQmluYXJ5T3BlcmF0b3I7XHJcbiAgICBsZWZ0OiBGRXhwcmVzc2lvbjtcclxuICAgIHJpZ2h0OiBGRXhwcmVzc2lvbjtcclxufTtcclxuZnVuY3Rpb24gZkJpbmFyeUV4cHJlc3Npb24oZXhwcmVzc2lvbjogQmluYXJ5RXhwcmVzc2lvbik6IEZCaW5hcnlFeHByZXNzaW9uIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4uZXhwcmVzc2lvbixcclxuICAgICAgICBvcGVyYXRvcjogZkJpbmFyeU9wZXJhdG9yKGV4cHJlc3Npb24ub3BlcmF0b3IsIHRvUmFuZ2UoZXhwcmVzc2lvbikpLFxyXG4gICAgICAgIGxlZnQ6IGZFeHByZXNzaW9uKGV4cHJlc3Npb24ubGVmdCksXHJcbiAgICAgICAgcmlnaHQ6IGZFeHByZXNzaW9uKGV4cHJlc3Npb24ucmlnaHQpLFxyXG4gICAgfTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRkNoYWluRXhwcmVzc2lvbiA9IE9taXQ8Q2hhaW5FeHByZXNzaW9uLCAnZXhwcmVzc2lvbic+ICYge1xyXG4gICAgZXhwcmVzc2lvbjogRlNpbXBsZUNhbGxFeHByZXNzaW9uIHwgRk1lbWJlckV4cHJlc3Npb247XHJcbn07XHJcbmZ1bmN0aW9uIGZDaGFpbkV4cHJlc3Npb24oZXhwcmVzc2lvbjogQ2hhaW5FeHByZXNzaW9uKTogRkNoYWluRXhwcmVzc2lvbiB7XHJcbiAgICBpZiAoZXhwcmVzc2lvbi5leHByZXNzaW9uLnR5cGUgPT09ICdDYWxsRXhwcmVzc2lvbicpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5leHByZXNzaW9uLFxyXG4gICAgICAgICAgICBleHByZXNzaW9uOiBmU2ltcGxlQ2FsbEV4cHJlc3Npb24oZXhwcmVzc2lvbi5leHByZXNzaW9uKSxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5leHByZXNzaW9uLFxyXG4gICAgICAgIGV4cHJlc3Npb246IGZNZW1iZXJFeHByZXNzaW9uKGV4cHJlc3Npb24uZXhwcmVzc2lvbiksXHJcbiAgICB9O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGQ29uZGl0aW9uYWxFeHByZXNzaW9uID0gT21pdDxcclxuICAgIENvbmRpdGlvbmFsRXhwcmVzc2lvbixcclxuICAgICd0ZXN0JyB8ICdhbHRlcm5hdGUnIHwgJ2NvbnNlcXVlbnQnXHJcbj4gJiB7XHJcbiAgICB0ZXN0OiBGRXhwcmVzc2lvbjtcclxuICAgIGFsdGVybmF0ZTogRkV4cHJlc3Npb247XHJcbiAgICBjb25zZXF1ZW50OiBGRXhwcmVzc2lvbjtcclxufTtcclxuZnVuY3Rpb24gZkNvbmRpdGlvbmFsRXhwcmVzc2lvbihleHByZXNzaW9uOiBDb25kaXRpb25hbEV4cHJlc3Npb24pOiBGQ29uZGl0aW9uYWxFeHByZXNzaW9uIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4uZXhwcmVzc2lvbixcclxuICAgICAgICB0ZXN0OiBmRXhwcmVzc2lvbihleHByZXNzaW9uLnRlc3QpLFxyXG4gICAgICAgIGFsdGVybmF0ZTogZkV4cHJlc3Npb24oZXhwcmVzc2lvbi5hbHRlcm5hdGUpLFxyXG4gICAgICAgIGNvbnNlcXVlbnQ6IGZFeHByZXNzaW9uKGV4cHJlc3Npb24uY29uc2VxdWVudCksXHJcbiAgICB9O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGSWRlbnRpZmllciA9IElkZW50aWZpZXI7XHJcblxyXG5mdW5jdGlvbiBmTGl0ZXJhbChleHByZXNzaW9uOiBMaXRlcmFsKSB7XHJcbiAgICBpZiAoJ2JpZ2ludCcgaW4gZXhwcmVzc2lvbikge1xyXG4gICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihgJ2JpZ2ludCcgaXMgbm90IHN1cHBvcnRlZGAsIHRvUmFuZ2UoZXhwcmVzc2lvbikpO1xyXG4gICAgfVxyXG4gICAgaWYgKCdyZWdleCcgaW4gZXhwcmVzc2lvbikge1xyXG4gICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihgJ3JlZ2V4JyBpcyBub3Qgc3VwcG9ydGVkYCwgdG9SYW5nZShleHByZXNzaW9uKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZXhwcmVzc2lvbjtcclxufVxyXG5leHBvcnQgdHlwZSBGTGl0ZXJhbCA9IFJldHVyblR5cGU8dHlwZW9mIGZMaXRlcmFsPjtcclxuXHJcbmV4cG9ydCB0eXBlIEZMb2dpY2FsRXhwcmVzc2lvbiA9IE9taXQ8TG9naWNhbEV4cHJlc3Npb24sICdsZWZ0JyB8ICdyaWdodCc+ICYge1xyXG4gICAgbGVmdDogRkV4cHJlc3Npb247XHJcbiAgICByaWdodDogRkV4cHJlc3Npb247XHJcbn07XHJcbmZ1bmN0aW9uIGZMb2dpY2FsRXhwcmVzc2lvbihleHByZXNzaW9uOiBMb2dpY2FsRXhwcmVzc2lvbik6IEZMb2dpY2FsRXhwcmVzc2lvbiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLmV4cHJlc3Npb24sXHJcbiAgICAgICAgbGVmdDogZkV4cHJlc3Npb24oZXhwcmVzc2lvbi5sZWZ0KSxcclxuICAgICAgICByaWdodDogZkV4cHJlc3Npb24oZXhwcmVzc2lvbi5yaWdodCksXHJcbiAgICB9O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGTWVtYmVyRXhwcmVzc2lvbiA9IE9taXQ8TWVtYmVyRXhwcmVzc2lvbiwgJ29iamVjdCcgfCAncHJvcGVydHknPiAmIHtcclxuICAgIG9iamVjdDogRkV4cHJlc3Npb247XHJcbiAgICBwcm9wZXJ0eTogRkV4cHJlc3Npb247XHJcbn07XHJcbmZ1bmN0aW9uIGZNZW1iZXJFeHByZXNzaW9uKGV4cHJlc3Npb246IE1lbWJlckV4cHJlc3Npb24pOiBGTWVtYmVyRXhwcmVzc2lvbiB7XHJcbiAgICBpZiAoZXhwcmVzc2lvbi5vYmplY3QudHlwZSA9PT0gJ1N1cGVyJykge1xyXG4gICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihcIidTdXBlcicgaXMgbm90IHN1cHBvcnRlZFwiLCB0b1JhbmdlKGV4cHJlc3Npb24pKTtcclxuICAgIH1cclxuICAgIGlmIChleHByZXNzaW9uLnByb3BlcnR5LnR5cGUgPT09ICdQcml2YXRlSWRlbnRpZmllcicpIHtcclxuICAgICAgICAvLyDnlKjpgJTjgYzkuI3mmI5cclxuICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoXCInUHJpdmF0ZUlkZW50aWZpZXInIGlzIG5vdCBzdXBwb3J0ZWRcIiwgdG9SYW5nZShleHByZXNzaW9uKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLmV4cHJlc3Npb24sXHJcbiAgICAgICAgb2JqZWN0OiBmRXhwcmVzc2lvbihleHByZXNzaW9uLm9iamVjdCksXHJcbiAgICAgICAgcHJvcGVydHk6IGZFeHByZXNzaW9uKGV4cHJlc3Npb24ucHJvcGVydHkpLFxyXG4gICAgfTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRk5ld0V4cHJlc3Npb24gPSBPbWl0PE5ld0V4cHJlc3Npb24sICdjYWxsZWUnIHwgJ2FyZ3VtZW50cyc+ICYge1xyXG4gICAgY2FsbGVlOiBGRXhwcmVzc2lvbjtcclxuICAgIGFyZ3VtZW50czogQXJyYXk8RkV4cHJlc3Npb24+O1xyXG59O1xyXG5mdW5jdGlvbiBmTmV3RXhwcmVzc2lvbihleHByZXNzaW9uOiBOZXdFeHByZXNzaW9uKTogRk5ld0V4cHJlc3Npb24ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5leHByZXNzaW9uLFxyXG4gICAgICAgIC4uLmZCYXNlQ2FsbEV4cHJlc3Npb24oZXhwcmVzc2lvbiksXHJcbiAgICAgICAgdHlwZTogZXhwcmVzc2lvbi50eXBlLFxyXG4gICAgfTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRk9iamVjdEV4cHJlc3Npb24gPSBPbWl0PE9iamVjdEV4cHJlc3Npb24sICdwcm9wZXJ0aWVzJz4gJiB7XHJcbiAgICBwcm9wZXJ0aWVzOiBBcnJheTxGUHJvcGVydHk+O1xyXG59O1xyXG5mdW5jdGlvbiBmT2JqZWN0RXhwcmVzc2lvbihleHByZXNzaW9uOiBPYmplY3RFeHByZXNzaW9uKTogRk9iamVjdEV4cHJlc3Npb24ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5leHByZXNzaW9uLFxyXG4gICAgICAgIHByb3BlcnRpZXM6IGV4cHJlc3Npb24ucHJvcGVydGllcy5tYXAocHJvcCA9PiB7XHJcbiAgICAgICAgICAgIGlmIChwcm9wLnR5cGUgPT09ICdTcHJlYWRFbGVtZW50Jykge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKFwiJ1NwcmVhZEVsZW1lbnQnIGlzIG5vdCBzdXBwb3J0ZWRcIiwgdG9SYW5nZShleHByZXNzaW9uKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGZQcm9wZXJ0eShwcm9wKTtcclxuICAgICAgICB9KSxcclxuICAgIH07XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEZQcm9wZXJ0eSA9IE9taXQ8UHJvcGVydHksICdrZXknIHwgJ3ZhbHVlJyB8ICdraW5kJz4gJiB7XHJcbiAgICBrZXk6IEZJZGVudGlmaWVyIHwgRkxpdGVyYWw7XHJcbiAgICB2YWx1ZTogRkV4cHJlc3Npb247XHJcbiAgICBraW5kOiAnaW5pdCc7XHJcbn07XHJcbmZ1bmN0aW9uIGZQcm9wZXJ0eShwcm9wZXJ0eTogUHJvcGVydHkpOiBGUHJvcGVydHkge1xyXG4gICAgbGV0IGtleTogRklkZW50aWZpZXIgfCBGTGl0ZXJhbDtcclxuICAgIHN3aXRjaCAocHJvcGVydHkua2V5LnR5cGUpIHtcclxuICAgICAgICBjYXNlICdJZGVudGlmaWVyJzpcclxuICAgICAgICAgICAga2V5ID0gcHJvcGVydHkua2V5O1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdMaXRlcmFsJzpcclxuICAgICAgICAgICAga2V5ID0gZkxpdGVyYWwocHJvcGVydHkua2V5KTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKGAnJHtwcm9wZXJ0eS5rZXl9JyBpcyBub3Qgc3VwcG9ydGVkYCwgdG9SYW5nZShwcm9wZXJ0eS5rZXkpKTtcclxuICAgIH1cclxuICAgIHN3aXRjaCAocHJvcGVydHkudmFsdWUudHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ0FycmF5UGF0dGVybic6XHJcbiAgICAgICAgY2FzZSAnT2JqZWN0UGF0dGVybic6XHJcbiAgICAgICAgY2FzZSAnUmVzdEVsZW1lbnQnOlxyXG4gICAgICAgIGNhc2UgJ0Fzc2lnbm1lbnRQYXR0ZXJuJzoge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoXHJcbiAgICAgICAgICAgICAgICBgJyR7cHJvcGVydHkudmFsdWUudHlwZX0nIGlzIG5vdCBzdXBwb3J0ZWRgLFxyXG4gICAgICAgICAgICAgICAgdG9SYW5nZShwcm9wZXJ0eS52YWx1ZSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBzd2l0Y2ggKHByb3BlcnR5LmtpbmQpIHtcclxuICAgICAgICBjYXNlICdpbml0JzpcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKGAnJHtwcm9wZXJ0eS5raW5kfScgaXMgbm90IHN1cHBvcnRlZGAsIHRvUmFuZ2UocHJvcGVydHkudmFsdWUpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLnByb3BlcnR5LFxyXG4gICAgICAgIGtleSxcclxuICAgICAgICB2YWx1ZTogZkV4cHJlc3Npb24ocHJvcGVydHkudmFsdWUpLFxyXG4gICAgICAgIGtpbmQ6IHByb3BlcnR5LmtpbmQsXHJcbiAgICB9O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGU2ltcGxlQ2FsbEV4cHJlc3Npb24gPSBPbWl0PFNpbXBsZUNhbGxFeHByZXNzaW9uLCAnY2FsbGVlJyB8ICdhcmd1bWVudHMnPiAmIHtcclxuICAgIGNhbGxlZTogRkV4cHJlc3Npb247XHJcbiAgICBhcmd1bWVudHM6IEFycmF5PEZFeHByZXNzaW9uPjtcclxufTtcclxuZnVuY3Rpb24gZlNpbXBsZUNhbGxFeHByZXNzaW9uKGV4cHJlc3Npb246IFNpbXBsZUNhbGxFeHByZXNzaW9uKTogRlNpbXBsZUNhbGxFeHByZXNzaW9uIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4uZXhwcmVzc2lvbixcclxuICAgICAgICAuLi5mQmFzZUNhbGxFeHByZXNzaW9uKGV4cHJlc3Npb24pLFxyXG4gICAgICAgIHR5cGU6IGV4cHJlc3Npb24udHlwZSxcclxuICAgIH07XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEZUaGlzRXhwcmVzc2lvbiA9IFRoaXNFeHByZXNzaW9uO1xyXG5cclxuZnVuY3Rpb24gZlVuYXJ5T3BlcmF0b3Iob3BlcmF0b3I6IFVuYXJ5T3BlcmF0b3IsIHJhbmdlOiBSYW5nZSB8IHVuZGVmaW5lZCkge1xyXG4gICAgc3dpdGNoIChvcGVyYXRvcikge1xyXG4gICAgICAgIGNhc2UgJ2RlbGV0ZSc6XHJcbiAgICAgICAgY2FzZSAndm9pZCc6XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihgJyR7b3BlcmF0b3J9JyBpcyBub3Qgc3VwcG9ydGVkYCwgcmFuZ2UpO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIHJldHVybiBvcGVyYXRvcjtcclxuICAgIH1cclxufVxyXG5leHBvcnQgdHlwZSBGVW5hcnlPcGVyYXRvciA9IFJldHVyblR5cGU8dHlwZW9mIGZVbmFyeU9wZXJhdG9yPjtcclxuXHJcbmV4cG9ydCB0eXBlIEZVbmFyeUV4cHJlc3Npb24gPSBPbWl0PFVuYXJ5RXhwcmVzc2lvbiwgJ29wZXJhdG9yJyB8ICdhcmd1bWVudCc+ICYge1xyXG4gICAgb3BlcmF0b3I6IEZVbmFyeU9wZXJhdG9yO1xyXG4gICAgYXJndW1lbnQ6IEZFeHByZXNzaW9uO1xyXG59O1xyXG5mdW5jdGlvbiBmVW5hcnlFeHByZXNzaW9uKGV4cHJlc3Npb246IFVuYXJ5RXhwcmVzc2lvbik6IEZVbmFyeUV4cHJlc3Npb24ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5leHByZXNzaW9uLFxyXG4gICAgICAgIG9wZXJhdG9yOiBmVW5hcnlPcGVyYXRvcihleHByZXNzaW9uLm9wZXJhdG9yLCB0b1JhbmdlKGV4cHJlc3Npb24pKSxcclxuICAgICAgICBhcmd1bWVudDogZkV4cHJlc3Npb24oZXhwcmVzc2lvbi5hcmd1bWVudCksXHJcbiAgICB9O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGRXhwcmVzc2lvbiA9XHJcbiAgICB8IEZBcnJheUV4cHJlc3Npb25cclxuICAgIHwgRkFycm93RnVuY3Rpb25FeHByZXNzaW9uXHJcbiAgICB8IEZBc3NpZ25tZW50RXhwcmVzc2lvblxyXG4gICAgfCBGQmluYXJ5RXhwcmVzc2lvblxyXG4gICAgfCBGQ2hhaW5FeHByZXNzaW9uXHJcbiAgICB8IEZDb25kaXRpb25hbEV4cHJlc3Npb25cclxuICAgIHwgRklkZW50aWZpZXJcclxuICAgIHwgRkxpdGVyYWxcclxuICAgIHwgRkxvZ2ljYWxFeHByZXNzaW9uXHJcbiAgICB8IEZNZW1iZXJFeHByZXNzaW9uXHJcbiAgICB8IEZOZXdFeHByZXNzaW9uXHJcbiAgICB8IEZPYmplY3RFeHByZXNzaW9uXHJcbiAgICB8IEZUaGlzRXhwcmVzc2lvblxyXG4gICAgfCBGU2ltcGxlQ2FsbEV4cHJlc3Npb25cclxuICAgIHwgRlVuYXJ5RXhwcmVzc2lvbjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmRXhwcmVzc2lvbihleHByZXNzaW9uOiBFeHByZXNzaW9uKTogRkV4cHJlc3Npb24ge1xyXG4gICAgc3dpdGNoIChleHByZXNzaW9uLnR5cGUpIHtcclxuICAgICAgICBjYXNlICdBcnJheUV4cHJlc3Npb24nOlxyXG4gICAgICAgICAgICByZXR1cm4gZkFycmF5RXhwcmVzc2lvbihleHByZXNzaW9uKTtcclxuICAgICAgICBjYXNlICdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbic6XHJcbiAgICAgICAgICAgIHJldHVybiBmQXJyb3dGdW50aW9uRXhwcmVzc2lvbihleHByZXNzaW9uKTtcclxuICAgICAgICBjYXNlICdBc3NpZ25tZW50RXhwcmVzc2lvbic6XHJcbiAgICAgICAgICAgIHJldHVybiBmQXNzaWdubWVudEV4cHJlc3Npb24oZXhwcmVzc2lvbik7XHJcbiAgICAgICAgY2FzZSAnQmluYXJ5RXhwcmVzc2lvbic6XHJcbiAgICAgICAgICAgIHJldHVybiBmQmluYXJ5RXhwcmVzc2lvbihleHByZXNzaW9uKTtcclxuICAgICAgICBjYXNlICdDYWxsRXhwcmVzc2lvbic6XHJcbiAgICAgICAgICAgIHJldHVybiBmU2ltcGxlQ2FsbEV4cHJlc3Npb24oZXhwcmVzc2lvbik7XHJcbiAgICAgICAgY2FzZSAnQ2hhaW5FeHByZXNzaW9uJzpcclxuICAgICAgICAgICAgcmV0dXJuIGZDaGFpbkV4cHJlc3Npb24oZXhwcmVzc2lvbik7XHJcbiAgICAgICAgY2FzZSAnQ29uZGl0aW9uYWxFeHByZXNzaW9uJzpcclxuICAgICAgICAgICAgcmV0dXJuIGZDb25kaXRpb25hbEV4cHJlc3Npb24oZXhwcmVzc2lvbik7XHJcbiAgICAgICAgY2FzZSAnSWRlbnRpZmllcic6XHJcbiAgICAgICAgICAgIHJldHVybiBleHByZXNzaW9uO1xyXG4gICAgICAgIGNhc2UgJ0xpdGVyYWwnOlxyXG4gICAgICAgICAgICByZXR1cm4gZkxpdGVyYWwoZXhwcmVzc2lvbik7XHJcbiAgICAgICAgY2FzZSAnTG9naWNhbEV4cHJlc3Npb24nOlxyXG4gICAgICAgICAgICByZXR1cm4gZkxvZ2ljYWxFeHByZXNzaW9uKGV4cHJlc3Npb24pO1xyXG4gICAgICAgIGNhc2UgJ01lbWJlckV4cHJlc3Npb24nOlxyXG4gICAgICAgICAgICByZXR1cm4gZk1lbWJlckV4cHJlc3Npb24oZXhwcmVzc2lvbik7XHJcbiAgICAgICAgY2FzZSAnTmV3RXhwcmVzc2lvbic6XHJcbiAgICAgICAgICAgIHJldHVybiBmTmV3RXhwcmVzc2lvbihleHByZXNzaW9uKTtcclxuICAgICAgICBjYXNlICdPYmplY3RFeHByZXNzaW9uJzpcclxuICAgICAgICAgICAgcmV0dXJuIGZPYmplY3RFeHByZXNzaW9uKGV4cHJlc3Npb24pO1xyXG4gICAgICAgIGNhc2UgJ1RoaXNFeHByZXNzaW9uJzpcclxuICAgICAgICAgICAgcmV0dXJuIGV4cHJlc3Npb247XHJcbiAgICAgICAgY2FzZSAnVW5hcnlFeHByZXNzaW9uJzpcclxuICAgICAgICAgICAgcmV0dXJuIGZVbmFyeUV4cHJlc3Npb24oZXhwcmVzc2lvbik7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKGAnJHtleHByZXNzaW9uLnR5cGV9JyBpcyBub3Qgc3VwcG9ydGVkYCwgdG9SYW5nZShleHByZXNzaW9uKSk7XHJcbiAgICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZkV4cHJlc3Npb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZkV4cHJlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUJBLE9BQU8sRUFBRSxlQUFlLEVBQW1CLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBUyxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUs1QyxTQUFTLGdCQUFnQixDQUFDLFVBQTJCO0lBQ2pELE9BQU87UUFDSCxHQUFHLFVBQVU7UUFDYixRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxDQUFDO2FBQ1o7WUFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssZUFBZSxFQUFFO2dCQUM1QixNQUFNLElBQUksV0FBVyxDQUFDLGdDQUFnQyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2FBQ2hGO1lBQ0QsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDO0tBQ0wsQ0FBQztBQUNOLENBQUM7QUFNRCxTQUFTLHVCQUF1QixDQUFDLFVBQW1DO0lBQ2hFLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3pDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxZQUFZLEVBQUU7WUFDN0IsTUFBTSxJQUFJLFdBQVcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1NBQ2xGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDSCxJQUFJLElBQW1DLENBQUM7SUFDeEMsSUFBSSxV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QVUsQ0FBQyxDQUFDO1FBQzdDLEtBQUssaUJBQWlCO1lBQ2xCLE9BQU8sZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEMsS0FBSyx1QkFBdUI7WUFDeEIsT0FBTyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxLQUFLLFlBQVk7WUFDYixPQUFPLFVBQVUsQ0FBQztRQUN0QixLQUFLLFNBQVM7WUFDVixPQUFPLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxLQUFLLG1CQUFtQjtZQUNwQixPQUFPLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLEtBQUssa0JBQWtCO1lBQ25CLE9BQU8saUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekMsS0FBSyxlQUFlO1lBQ2hCLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLEtBQUssa0JBQWtCO1lBQ25CLE9BQU8saUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekMsS0FBSyxnQkFBZ0I7WUFDakIsT0FBTyxVQUFVLENBQUM7UUFDdEIsS0FBSyxpQkFBaUI7WUFDbEIsT0FBTyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QztZQUNJLE1BQU0sSUFBSSxXQUFXLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxvQkFBb0IsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztLQUMzRjtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFycmF5RXhwcmVzc2lvbixcbiAgICBBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbixcbiAgICBBc3NpZ25tZW50RXhwcmVzc2lvbixcbiAgICBBc3NpZ25tZW50T3BlcmF0b3IsXG4gICAgQmFzZUNhbGxFeHByZXNzaW9uLFxuICAgIEJpbmFyeUV4cHJlc3Npb24sXG4gICAgQmluYXJ5T3BlcmF0b3IsXG4gICAgQ2hhaW5FeHByZXNzaW9uLFxuICAgIENvbmRpdGlvbmFsRXhwcmVzc2lvbixcbiAgICBFeHByZXNzaW9uLFxuICAgIElkZW50aWZpZXIsXG4gICAgTGl0ZXJhbCxcbiAgICBMb2dpY2FsRXhwcmVzc2lvbixcbiAgICBNZW1iZXJFeHByZXNzaW9uLFxuICAgIE5ld0V4cHJlc3Npb24sXG4gICAgT2JqZWN0RXhwcmVzc2lvbixcbiAgICBQcm9wZXJ0eSxcbiAgICBTaW1wbGVDYWxsRXhwcmVzc2lvbixcbiAgICBUaGlzRXhwcmVzc2lvbixcbiAgICBVbmFyeUV4cHJlc3Npb24sXG4gICAgVW5hcnlPcGVyYXRvcixcbn0gZnJvbSAnZXN0cmVlJztcbmltcG9ydCB7IGZCbG9ja1N0YXRlbWVudCwgRkJsb2NrU3RhdGVtZW50IH0gZnJvbSAnLi9mU3RhdGVtZW50JztcbmltcG9ydCB7IFJhbmdlLCB0b1JhbmdlIH0gZnJvbSAnLi9yYW5nZSc7XG5pbXBvcnQgeyBTY3JpcHRFcnJvciB9IGZyb20gJy4vU2NyaXB0RXJyb3InO1xuXG5leHBvcnQgdHlwZSBGQXJyYXlFeHByZXNzaW9uID0gT21pdDxBcnJheUV4cHJlc3Npb24sICdlbGVtZW50cyc+ICYge1xuICAgIGVsZW1lbnRzOiBBcnJheTxGRXhwcmVzc2lvbiB8IG51bGw+O1xufTtcbmZ1bmN0aW9uIGZBcnJheUV4cHJlc3Npb24oZXhwcmVzc2lvbjogQXJyYXlFeHByZXNzaW9uKTogRkFycmF5RXhwcmVzc2lvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZXhwcmVzc2lvbixcbiAgICAgICAgZWxlbWVudHM6IGV4cHJlc3Npb24uZWxlbWVudHMubWFwKGUgPT4ge1xuICAgICAgICAgICAgaWYgKGUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGUudHlwZSA9PT0gJ1NwcmVhZEVsZW1lbnQnKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKCdTcHJlYWRFbGVtZW50IGlzIG5vdCBzdXBwb3J0ZWQnLCB0b1JhbmdlKGV4cHJlc3Npb24pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmRXhwcmVzc2lvbihlKTtcbiAgICAgICAgfSksXG4gICAgfTtcbn1cblxuZXhwb3J0IHR5cGUgRkFycm93RnVuY3Rpb25FeHByZXNzaW9uID0gT21pdDxBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiwgJ2JvZHknIHwgJ3BhcmFtcyc+ICYge1xuICAgIGJvZHk6IEZCbG9ja1N0YXRlbWVudCB8IEZFeHByZXNzaW9uO1xuICAgIHBhcmFtczogQXJyYXk8RklkZW50aWZpZXI+O1xufTtcbmZ1bmN0aW9uIGZBcnJvd0Z1bnRpb25FeHByZXNzaW9uKGV4cHJlc3Npb246IEFycm93RnVuY3Rpb25FeHByZXNzaW9uKTogRkFycm93RnVuY3Rpb25FeHByZXNzaW9uIHtcbiAgICBjb25zdCBwYXJhbXMgPSBleHByZXNzaW9uLnBhcmFtcy5tYXAocGFyYW0gPT4ge1xuICAgICAgICBpZiAocGFyYW0udHlwZSAhPT0gJ0lkZW50aWZpZXInKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoYCcke3BhcmFtLnR5cGV9JyBpcyBub3Qgc3VwcG9ydGVkYCwgdG9SYW5nZShleHByZXNzaW9uKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhcmFtO1xuICAgIH0pO1xuICAgIGxldCBib2R5OiBGQmxvY2tTdGF0ZW1lbnQgfCBGRXhwcmVzc2lvbjtcbiAgICBpZiAoZXhwcmVzc2lvbi5ib2R5LnR5cGUgPT09ICdCbG9ja1N0YXRlbWVudCcpIHtcbiAgICAgICAgYm9keSA9IGZCbG9ja1N0YXRlbWVudChleHByZXNzaW9uLmJvZHkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGJvZHkgPSBmRXhwcmVzc2lvbihleHByZXNzaW9uLmJvZHkpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5leHByZXNzaW9uLFxuICAgICAgICBib2R5LFxuICAgICAgICBwYXJhbXMsXG4gICAgfTtcbn1cblxuZnVuY3Rpb24gZkFzc2lnbm1lbnRPcGVyYXRvcihvcGVyYXRvcjogQXNzaWdubWVudE9wZXJhdG9yLCByYW5nZTogUmFuZ2UgfCB1bmRlZmluZWQpIHtcbiAgICBzd2l0Y2ggKG9wZXJhdG9yKSB7XG4gICAgICAgIGNhc2UgJz0nOlxuICAgICAgICAgICAgcmV0dXJuIG9wZXJhdG9yO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKGAnJHtvcGVyYXRvcn0nIGlzIG5vdCBzdXBwb3J0ZWRgLCByYW5nZSk7XG4gICAgfVxufVxuZXhwb3J0IHR5cGUgRkFzc2lnbm1lbnRPcGVyYXRvciA9IFJldHVyblR5cGU8dHlwZW9mIGZBc3NpZ25tZW50T3BlcmF0b3I+O1xuXG5leHBvcnQgdHlwZSBGQXNzaWdubWVudEV4cHJlc3Npb24gPSBPbWl0PEFzc2lnbm1lbnRFeHByZXNzaW9uLCAnb3BlcmF0b3InIHwgJ2xlZnQnIHwgJ3JpZ2h0Jz4gJiB7XG4gICAgb3BlcmF0b3I6IEZBc3NpZ25tZW50T3BlcmF0b3I7XG4gICAgbGVmdDogRklkZW50aWZpZXIgfCBGTWVtYmVyRXhwcmVzc2lvbjtcbiAgICByaWdodDogRkV4cHJlc3Npb247XG59O1xuZnVuY3Rpb24gZkFzc2lnbm1lbnRFeHByZXNzaW9uKGV4cHJlc3Npb246IEFzc2lnbm1lbnRFeHByZXNzaW9uKTogRkFzc2lnbm1lbnRFeHByZXNzaW9uIHtcbiAgICBsZXQgbGVmdDogRklkZW50aWZpZXIgfCBGTWVtYmVyRXhwcmVzc2lvbjtcbiAgICBzd2l0Y2ggKGV4cHJlc3Npb24ubGVmdC50eXBlKSB7XG4gICAgICAgIGNhc2UgJ0lkZW50aWZpZXInOlxuICAgICAgICAgICAgbGVmdCA9IGV4cHJlc3Npb24ubGVmdDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdNZW1iZXJFeHByZXNzaW9uJzpcbiAgICAgICAgICAgIGxlZnQgPSBmTWVtYmVyRXhwcmVzc2lvbihleHByZXNzaW9uLmxlZnQpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoXG4gICAgICAgICAgICAgICAgYCcke2V4cHJlc3Npb24ubGVmdC50eXBlfScgaXMgbm90IHN1cHBvcnRlZGAsXG4gICAgICAgICAgICAgICAgdG9SYW5nZShleHByZXNzaW9uKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZXhwcmVzc2lvbixcbiAgICAgICAgb3BlcmF0b3I6IGZBc3NpZ25tZW50T3BlcmF0b3IoZXhwcmVzc2lvbi5vcGVyYXRvciwgdG9SYW5nZShleHByZXNzaW9uKSksXG4gICAgICAgIGxlZnQsXG4gICAgICAgIHJpZ2h0OiBmRXhwcmVzc2lvbihleHByZXNzaW9uLnJpZ2h0KSxcbiAgICB9O1xufVxuXG5leHBvcnQgdHlwZSBGQmFzZUNhbGxFeHByZXNzaW9uID0gT21pdDxCYXNlQ2FsbEV4cHJlc3Npb24sICdjYWxsZWUnIHwgJ2FyZ3VtZW50cyc+ICYge1xuICAgIGNhbGxlZTogRkV4cHJlc3Npb247XG4gICAgYXJndW1lbnRzOiBBcnJheTxGRXhwcmVzc2lvbj47XG59O1xuZnVuY3Rpb24gZkJhc2VDYWxsRXhwcmVzc2lvbihleHByZXNzaW9uOiBCYXNlQ2FsbEV4cHJlc3Npb24pOiBGQmFzZUNhbGxFeHByZXNzaW9uIHtcbiAgICBpZiAoZXhwcmVzc2lvbi5jYWxsZWUudHlwZSA9PT0gJ1N1cGVyJykge1xuICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoYCcke2V4cHJlc3Npb24uY2FsbGVlLnR5cGV9JyBpcyBub3Qgc3VwcG9ydGVkYCwgdG9SYW5nZShleHByZXNzaW9uKSk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmV4cHJlc3Npb24sXG4gICAgICAgIGNhbGxlZTogZkV4cHJlc3Npb24oZXhwcmVzc2lvbi5jYWxsZWUpLFxuICAgICAgICBhcmd1bWVudHM6IGV4cHJlc3Npb24uYXJndW1lbnRzLm1hcChhcmcgPT4ge1xuICAgICAgICAgICAgaWYgKGFyZy50eXBlID09PSAnU3ByZWFkRWxlbWVudCcpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoYCcke2FyZy50eXBlfSBpcyBub3Qgc3VwcG9ydGVkJ2AsIHRvUmFuZ2UoYXJnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZkV4cHJlc3Npb24oYXJnKTtcbiAgICAgICAgfSksXG4gICAgfTtcbn1cblxuZnVuY3Rpb24gZkJpbmFyeU9wZXJhdG9yKG9wZXJhdG9yOiBCaW5hcnlPcGVyYXRvciwgcmFuZ2U6IFJhbmdlIHwgdW5kZWZpbmVkKSB7XG4gICAgc3dpdGNoIChvcGVyYXRvcikge1xuICAgICAgICBjYXNlICdpbic6XG4gICAgICAgIGNhc2UgJ2luc3RhbmNlb2YnOlxuICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKGAnJHtvcGVyYXRvcn0nIGlzIG5vdCBzdXBwb3J0ZWRgLCByYW5nZSk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gb3BlcmF0b3I7XG4gICAgfVxufVxuZXhwb3J0IHR5cGUgRkJpbmFyeU9wZXJhdG9yID0gUmV0dXJuVHlwZTx0eXBlb2YgZkJpbmFyeU9wZXJhdG9yPjtcblxuZXhwb3J0IHR5cGUgRkJpbmFyeUV4cHJlc3Npb24gPSBPbWl0PEJpbmFyeUV4cHJlc3Npb24sICdvcGVyYXRvcicgfCAnbGVmdCcgfCAncmlnaHQnPiAmIHtcbiAgICBvcGVyYXRvcjogRkJpbmFyeU9wZXJhdG9yO1xuICAgIGxlZnQ6IEZFeHByZXNzaW9uO1xuICAgIHJpZ2h0OiBGRXhwcmVzc2lvbjtcbn07XG5mdW5jdGlvbiBmQmluYXJ5RXhwcmVzc2lvbihleHByZXNzaW9uOiBCaW5hcnlFeHByZXNzaW9uKTogRkJpbmFyeUV4cHJlc3Npb24ge1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmV4cHJlc3Npb24sXG4gICAgICAgIG9wZXJhdG9yOiBmQmluYXJ5T3BlcmF0b3IoZXhwcmVzc2lvbi5vcGVyYXRvciwgdG9SYW5nZShleHByZXNzaW9uKSksXG4gICAgICAgIGxlZnQ6IGZFeHByZXNzaW9uKGV4cHJlc3Npb24ubGVmdCksXG4gICAgICAgIHJpZ2h0OiBmRXhwcmVzc2lvbihleHByZXNzaW9uLnJpZ2h0KSxcbiAgICB9O1xufVxuXG5leHBvcnQgdHlwZSBGQ2hhaW5FeHByZXNzaW9uID0gT21pdDxDaGFpbkV4cHJlc3Npb24sICdleHByZXNzaW9uJz4gJiB7XG4gICAgZXhwcmVzc2lvbjogRlNpbXBsZUNhbGxFeHByZXNzaW9uIHwgRk1lbWJlckV4cHJlc3Npb247XG59O1xuZnVuY3Rpb24gZkNoYWluRXhwcmVzc2lvbihleHByZXNzaW9uOiBDaGFpbkV4cHJlc3Npb24pOiBGQ2hhaW5FeHByZXNzaW9uIHtcbiAgICBpZiAoZXhwcmVzc2lvbi5leHByZXNzaW9uLnR5cGUgPT09ICdDYWxsRXhwcmVzc2lvbicpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmV4cHJlc3Npb24sXG4gICAgICAgICAgICBleHByZXNzaW9uOiBmU2ltcGxlQ2FsbEV4cHJlc3Npb24oZXhwcmVzc2lvbi5leHByZXNzaW9uKSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZXhwcmVzc2lvbixcbiAgICAgICAgZXhwcmVzc2lvbjogZk1lbWJlckV4cHJlc3Npb24oZXhwcmVzc2lvbi5leHByZXNzaW9uKSxcbiAgICB9O1xufVxuXG5leHBvcnQgdHlwZSBGQ29uZGl0aW9uYWxFeHByZXNzaW9uID0gT21pdDxcbiAgICBDb25kaXRpb25hbEV4cHJlc3Npb24sXG4gICAgJ3Rlc3QnIHwgJ2FsdGVybmF0ZScgfCAnY29uc2VxdWVudCdcbj4gJiB7XG4gICAgdGVzdDogRkV4cHJlc3Npb247XG4gICAgYWx0ZXJuYXRlOiBGRXhwcmVzc2lvbjtcbiAgICBjb25zZXF1ZW50OiBGRXhwcmVzc2lvbjtcbn07XG5mdW5jdGlvbiBmQ29uZGl0aW9uYWxFeHByZXNzaW9uKGV4cHJlc3Npb246IENvbmRpdGlvbmFsRXhwcmVzc2lvbik6IEZDb25kaXRpb25hbEV4cHJlc3Npb24ge1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmV4cHJlc3Npb24sXG4gICAgICAgIHRlc3Q6IGZFeHByZXNzaW9uKGV4cHJlc3Npb24udGVzdCksXG4gICAgICAgIGFsdGVybmF0ZTogZkV4cHJlc3Npb24oZXhwcmVzc2lvbi5hbHRlcm5hdGUpLFxuICAgICAgICBjb25zZXF1ZW50OiBmRXhwcmVzc2lvbihleHByZXNzaW9uLmNvbnNlcXVlbnQpLFxuICAgIH07XG59XG5cbmV4cG9ydCB0eXBlIEZJZGVudGlmaWVyID0gSWRlbnRpZmllcjtcblxuZnVuY3Rpb24gZkxpdGVyYWwoZXhwcmVzc2lvbjogTGl0ZXJhbCkge1xuICAgIGlmICgnYmlnaW50JyBpbiBleHByZXNzaW9uKSB7XG4gICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihgJ2JpZ2ludCcgaXMgbm90IHN1cHBvcnRlZGAsIHRvUmFuZ2UoZXhwcmVzc2lvbikpO1xuICAgIH1cbiAgICBpZiAoJ3JlZ2V4JyBpbiBleHByZXNzaW9uKSB7XG4gICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihgJ3JlZ2V4JyBpcyBub3Qgc3VwcG9ydGVkYCwgdG9SYW5nZShleHByZXNzaW9uKSk7XG4gICAgfVxuICAgIHJldHVybiBleHByZXNzaW9uO1xufVxuZXhwb3J0IHR5cGUgRkxpdGVyYWwgPSBSZXR1cm5UeXBlPHR5cGVvZiBmTGl0ZXJhbD47XG5cbmV4cG9ydCB0eXBlIEZMb2dpY2FsRXhwcmVzc2lvbiA9IE9taXQ8TG9naWNhbEV4cHJlc3Npb24sICdsZWZ0JyB8ICdyaWdodCc+ICYge1xuICAgIGxlZnQ6IEZFeHByZXNzaW9uO1xuICAgIHJpZ2h0OiBGRXhwcmVzc2lvbjtcbn07XG5mdW5jdGlvbiBmTG9naWNhbEV4cHJlc3Npb24oZXhwcmVzc2lvbjogTG9naWNhbEV4cHJlc3Npb24pOiBGTG9naWNhbEV4cHJlc3Npb24ge1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmV4cHJlc3Npb24sXG4gICAgICAgIGxlZnQ6IGZFeHByZXNzaW9uKGV4cHJlc3Npb24ubGVmdCksXG4gICAgICAgIHJpZ2h0OiBmRXhwcmVzc2lvbihleHByZXNzaW9uLnJpZ2h0KSxcbiAgICB9O1xufVxuXG5leHBvcnQgdHlwZSBGTWVtYmVyRXhwcmVzc2lvbiA9IE9taXQ8TWVtYmVyRXhwcmVzc2lvbiwgJ29iamVjdCcgfCAncHJvcGVydHknPiAmIHtcbiAgICBvYmplY3Q6IEZFeHByZXNzaW9uO1xuICAgIHByb3BlcnR5OiBGRXhwcmVzc2lvbjtcbn07XG5mdW5jdGlvbiBmTWVtYmVyRXhwcmVzc2lvbihleHByZXNzaW9uOiBNZW1iZXJFeHByZXNzaW9uKTogRk1lbWJlckV4cHJlc3Npb24ge1xuICAgIGlmIChleHByZXNzaW9uLm9iamVjdC50eXBlID09PSAnU3VwZXInKSB7XG4gICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihcIidTdXBlcicgaXMgbm90IHN1cHBvcnRlZFwiLCB0b1JhbmdlKGV4cHJlc3Npb24pKTtcbiAgICB9XG4gICAgaWYgKGV4cHJlc3Npb24ucHJvcGVydHkudHlwZSA9PT0gJ1ByaXZhdGVJZGVudGlmaWVyJykge1xuICAgICAgICAvLyDnlKjpgJTjgYzkuI3mmI5cbiAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKFwiJ1ByaXZhdGVJZGVudGlmaWVyJyBpcyBub3Qgc3VwcG9ydGVkXCIsIHRvUmFuZ2UoZXhwcmVzc2lvbikpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5leHByZXNzaW9uLFxuICAgICAgICBvYmplY3Q6IGZFeHByZXNzaW9uKGV4cHJlc3Npb24ub2JqZWN0KSxcbiAgICAgICAgcHJvcGVydHk6IGZFeHByZXNzaW9uKGV4cHJlc3Npb24ucHJvcGVydHkpLFxuICAgIH07XG59XG5cbmV4cG9ydCB0eXBlIEZOZXdFeHByZXNzaW9uID0gT21pdDxOZXdFeHByZXNzaW9uLCAnY2FsbGVlJyB8ICdhcmd1bWVudHMnPiAmIHtcbiAgICBjYWxsZWU6IEZFeHByZXNzaW9uO1xuICAgIGFyZ3VtZW50czogQXJyYXk8RkV4cHJlc3Npb24+O1xufTtcbmZ1bmN0aW9uIGZOZXdFeHByZXNzaW9uKGV4cHJlc3Npb246IE5ld0V4cHJlc3Npb24pOiBGTmV3RXhwcmVzc2lvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZXhwcmVzc2lvbixcbiAgICAgICAgLi4uZkJhc2VDYWxsRXhwcmVzc2lvbihleHByZXNzaW9uKSxcbiAgICAgICAgdHlwZTogZXhwcmVzc2lvbi50eXBlLFxuICAgIH07XG59XG5cbmV4cG9ydCB0eXBlIEZPYmplY3RFeHByZXNzaW9uID0gT21pdDxPYmplY3RFeHByZXNzaW9uLCAncHJvcGVydGllcyc+ICYge1xuICAgIHByb3BlcnRpZXM6IEFycmF5PEZQcm9wZXJ0eT47XG59O1xuZnVuY3Rpb24gZk9iamVjdEV4cHJlc3Npb24oZXhwcmVzc2lvbjogT2JqZWN0RXhwcmVzc2lvbik6IEZPYmplY3RFeHByZXNzaW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5leHByZXNzaW9uLFxuICAgICAgICBwcm9wZXJ0aWVzOiBleHByZXNzaW9uLnByb3BlcnRpZXMubWFwKHByb3AgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3AudHlwZSA9PT0gJ1NwcmVhZEVsZW1lbnQnKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKFwiJ1NwcmVhZEVsZW1lbnQnIGlzIG5vdCBzdXBwb3J0ZWRcIiwgdG9SYW5nZShleHByZXNzaW9uKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZlByb3BlcnR5KHByb3ApO1xuICAgICAgICB9KSxcbiAgICB9O1xufVxuXG5leHBvcnQgdHlwZSBGUHJvcGVydHkgPSBPbWl0PFByb3BlcnR5LCAna2V5JyB8ICd2YWx1ZScgfCAna2luZCc+ICYge1xuICAgIGtleTogRklkZW50aWZpZXIgfCBGTGl0ZXJhbDtcbiAgICB2YWx1ZTogRkV4cHJlc3Npb247XG4gICAga2luZDogJ2luaXQnO1xufTtcbmZ1bmN0aW9uIGZQcm9wZXJ0eShwcm9wZXJ0eTogUHJvcGVydHkpOiBGUHJvcGVydHkge1xuICAgIGxldCBrZXk6IEZJZGVudGlmaWVyIHwgRkxpdGVyYWw7XG4gICAgc3dpdGNoIChwcm9wZXJ0eS5rZXkudHlwZSkge1xuICAgICAgICBjYXNlICdJZGVudGlmaWVyJzpcbiAgICAgICAgICAgIGtleSA9IHByb3BlcnR5LmtleTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdMaXRlcmFsJzpcbiAgICAgICAgICAgIGtleSA9IGZMaXRlcmFsKHByb3BlcnR5LmtleSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihgJyR7cHJvcGVydHkua2V5fScgaXMgbm90IHN1cHBvcnRlZGAsIHRvUmFuZ2UocHJvcGVydHkua2V5KSk7XG4gICAgfVxuICAgIHN3aXRjaCAocHJvcGVydHkudmFsdWUudHlwZSkge1xuICAgICAgICBjYXNlICdBcnJheVBhdHRlcm4nOlxuICAgICAgICBjYXNlICdPYmplY3RQYXR0ZXJuJzpcbiAgICAgICAgY2FzZSAnUmVzdEVsZW1lbnQnOlxuICAgICAgICBjYXNlICdBc3NpZ25tZW50UGF0dGVybic6IHtcbiAgICAgICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihcbiAgICAgICAgICAgICAgICBgJyR7cHJvcGVydHkudmFsdWUudHlwZX0nIGlzIG5vdCBzdXBwb3J0ZWRgLFxuICAgICAgICAgICAgICAgIHRvUmFuZ2UocHJvcGVydHkudmFsdWUpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG4gICAgc3dpdGNoIChwcm9wZXJ0eS5raW5kKSB7XG4gICAgICAgIGNhc2UgJ2luaXQnOlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoYCcke3Byb3BlcnR5LmtpbmR9JyBpcyBub3Qgc3VwcG9ydGVkYCwgdG9SYW5nZShwcm9wZXJ0eS52YWx1ZSkpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIC4uLnByb3BlcnR5LFxuICAgICAgICBrZXksXG4gICAgICAgIHZhbHVlOiBmRXhwcmVzc2lvbihwcm9wZXJ0eS52YWx1ZSksXG4gICAgICAgIGtpbmQ6IHByb3BlcnR5LmtpbmQsXG4gICAgfTtcbn1cblxuZXhwb3J0IHR5cGUgRlNpbXBsZUNhbGxFeHByZXNzaW9uID0gT21pdDxTaW1wbGVDYWxsRXhwcmVzc2lvbiwgJ2NhbGxlZScgfCAnYXJndW1lbnRzJz4gJiB7XG4gICAgY2FsbGVlOiBGRXhwcmVzc2lvbjtcbiAgICBhcmd1bWVudHM6IEFycmF5PEZFeHByZXNzaW9uPjtcbn07XG5mdW5jdGlvbiBmU2ltcGxlQ2FsbEV4cHJlc3Npb24oZXhwcmVzc2lvbjogU2ltcGxlQ2FsbEV4cHJlc3Npb24pOiBGU2ltcGxlQ2FsbEV4cHJlc3Npb24ge1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmV4cHJlc3Npb24sXG4gICAgICAgIC4uLmZCYXNlQ2FsbEV4cHJlc3Npb24oZXhwcmVzc2lvbiksXG4gICAgICAgIHR5cGU6IGV4cHJlc3Npb24udHlwZSxcbiAgICB9O1xufVxuXG5leHBvcnQgdHlwZSBGVGhpc0V4cHJlc3Npb24gPSBUaGlzRXhwcmVzc2lvbjtcblxuZnVuY3Rpb24gZlVuYXJ5T3BlcmF0b3Iob3BlcmF0b3I6IFVuYXJ5T3BlcmF0b3IsIHJhbmdlOiBSYW5nZSB8IHVuZGVmaW5lZCkge1xuICAgIHN3aXRjaCAob3BlcmF0b3IpIHtcbiAgICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgICAgY2FzZSAndm9pZCc6XG4gICAgICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoYCcke29wZXJhdG9yfScgaXMgbm90IHN1cHBvcnRlZGAsIHJhbmdlKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBvcGVyYXRvcjtcbiAgICB9XG59XG5leHBvcnQgdHlwZSBGVW5hcnlPcGVyYXRvciA9IFJldHVyblR5cGU8dHlwZW9mIGZVbmFyeU9wZXJhdG9yPjtcblxuZXhwb3J0IHR5cGUgRlVuYXJ5RXhwcmVzc2lvbiA9IE9taXQ8VW5hcnlFeHByZXNzaW9uLCAnb3BlcmF0b3InIHwgJ2FyZ3VtZW50Jz4gJiB7XG4gICAgb3BlcmF0b3I6IEZVbmFyeU9wZXJhdG9yO1xuICAgIGFyZ3VtZW50OiBGRXhwcmVzc2lvbjtcbn07XG5mdW5jdGlvbiBmVW5hcnlFeHByZXNzaW9uKGV4cHJlc3Npb246IFVuYXJ5RXhwcmVzc2lvbik6IEZVbmFyeUV4cHJlc3Npb24ge1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmV4cHJlc3Npb24sXG4gICAgICAgIG9wZXJhdG9yOiBmVW5hcnlPcGVyYXRvcihleHByZXNzaW9uLm9wZXJhdG9yLCB0b1JhbmdlKGV4cHJlc3Npb24pKSxcbiAgICAgICAgYXJndW1lbnQ6IGZFeHByZXNzaW9uKGV4cHJlc3Npb24uYXJndW1lbnQpLFxuICAgIH07XG59XG5cbmV4cG9ydCB0eXBlIEZFeHByZXNzaW9uID1cbiAgICB8IEZBcnJheUV4cHJlc3Npb25cbiAgICB8IEZBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblxuICAgIHwgRkFzc2lnbm1lbnRFeHByZXNzaW9uXG4gICAgfCBGQmluYXJ5RXhwcmVzc2lvblxuICAgIHwgRkNoYWluRXhwcmVzc2lvblxuICAgIHwgRkNvbmRpdGlvbmFsRXhwcmVzc2lvblxuICAgIHwgRklkZW50aWZpZXJcbiAgICB8IEZMaXRlcmFsXG4gICAgfCBGTG9naWNhbEV4cHJlc3Npb25cbiAgICB8IEZNZW1iZXJFeHByZXNzaW9uXG4gICAgfCBGTmV3RXhwcmVzc2lvblxuICAgIHwgRk9iamVjdEV4cHJlc3Npb25cbiAgICB8IEZUaGlzRXhwcmVzc2lvblxuICAgIHwgRlNpbXBsZUNhbGxFeHByZXNzaW9uXG4gICAgfCBGVW5hcnlFeHByZXNzaW9uO1xuXG5leHBvcnQgZnVuY3Rpb24gZkV4cHJlc3Npb24oZXhwcmVzc2lvbjogRXhwcmVzc2lvbik6IEZFeHByZXNzaW9uIHtcbiAgICBzd2l0Y2ggKGV4cHJlc3Npb24udHlwZSkge1xuICAgICAgICBjYXNlICdBcnJheUV4cHJlc3Npb24nOlxuICAgICAgICAgICAgcmV0dXJuIGZBcnJheUV4cHJlc3Npb24oZXhwcmVzc2lvbik7XG4gICAgICAgIGNhc2UgJ0Fycm93RnVuY3Rpb25FeHByZXNzaW9uJzpcbiAgICAgICAgICAgIHJldHVybiBmQXJyb3dGdW50aW9uRXhwcmVzc2lvbihleHByZXNzaW9uKTtcbiAgICAgICAgY2FzZSAnQXNzaWdubWVudEV4cHJlc3Npb24nOlxuICAgICAgICAgICAgcmV0dXJuIGZBc3NpZ25tZW50RXhwcmVzc2lvbihleHByZXNzaW9uKTtcbiAgICAgICAgY2FzZSAnQmluYXJ5RXhwcmVzc2lvbic6XG4gICAgICAgICAgICByZXR1cm4gZkJpbmFyeUV4cHJlc3Npb24oZXhwcmVzc2lvbik7XG4gICAgICAgIGNhc2UgJ0NhbGxFeHByZXNzaW9uJzpcbiAgICAgICAgICAgIHJldHVybiBmU2ltcGxlQ2FsbEV4cHJlc3Npb24oZXhwcmVzc2lvbik7XG4gICAgICAgIGNhc2UgJ0NoYWluRXhwcmVzc2lvbic6XG4gICAgICAgICAgICByZXR1cm4gZkNoYWluRXhwcmVzc2lvbihleHByZXNzaW9uKTtcbiAgICAgICAgY2FzZSAnQ29uZGl0aW9uYWxFeHByZXNzaW9uJzpcbiAgICAgICAgICAgIHJldHVybiBmQ29uZGl0aW9uYWxFeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuICAgICAgICBjYXNlICdJZGVudGlmaWVyJzpcbiAgICAgICAgICAgIHJldHVybiBleHByZXNzaW9uO1xuICAgICAgICBjYXNlICdMaXRlcmFsJzpcbiAgICAgICAgICAgIHJldHVybiBmTGl0ZXJhbChleHByZXNzaW9uKTtcbiAgICAgICAgY2FzZSAnTG9naWNhbEV4cHJlc3Npb24nOlxuICAgICAgICAgICAgcmV0dXJuIGZMb2dpY2FsRXhwcmVzc2lvbihleHByZXNzaW9uKTtcbiAgICAgICAgY2FzZSAnTWVtYmVyRXhwcmVzc2lvbic6XG4gICAgICAgICAgICByZXR1cm4gZk1lbWJlckV4cHJlc3Npb24oZXhwcmVzc2lvbik7XG4gICAgICAgIGNhc2UgJ05ld0V4cHJlc3Npb24nOlxuICAgICAgICAgICAgcmV0dXJuIGZOZXdFeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuICAgICAgICBjYXNlICdPYmplY3RFeHByZXNzaW9uJzpcbiAgICAgICAgICAgIHJldHVybiBmT2JqZWN0RXhwcmVzc2lvbihleHByZXNzaW9uKTtcbiAgICAgICAgY2FzZSAnVGhpc0V4cHJlc3Npb24nOlxuICAgICAgICAgICAgcmV0dXJuIGV4cHJlc3Npb247XG4gICAgICAgIGNhc2UgJ1VuYXJ5RXhwcmVzc2lvbic6XG4gICAgICAgICAgICByZXR1cm4gZlVuYXJ5RXhwcmVzc2lvbihleHByZXNzaW9uKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihgJyR7ZXhwcmVzc2lvbi50eXBlfScgaXMgbm90IHN1cHBvcnRlZGAsIHRvUmFuZ2UoZXhwcmVzc2lvbikpO1xuICAgIH1cbn1cbiJdfQ==

@@ -77,2 +77,2 @@ import { fExpression } from './fExpression';

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZlN0YXRlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mU3RhdGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNBLE9BQU8sRUFBZSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBWTVDLE1BQU0sVUFBVSxlQUFlLENBQUMsU0FBeUI7SUFDckQsT0FBTztRQUNILEdBQUcsU0FBUztRQUNaLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNoRCxDQUFDO0FBQ04sQ0FBQztBQUlELE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxTQUE4QixFQUFFLEVBQUU7SUFDNUQsT0FBTztRQUNILEdBQUcsU0FBUztRQUNaLFVBQVUsRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztLQUNoRCxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBc0JGLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxTQUE4QixFQUFFLEVBQUU7SUFDNUQsSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRTtRQUMxQixNQUFNLElBQUksV0FBVyxDQUNqQixJQUFJLFNBQVMsQ0FBQyxJQUFJLHdDQUF3QyxFQUMxRCxPQUFPLENBQUMsU0FBUyxDQUFDLENBQ3JCLENBQUM7S0FDTDtJQUNELE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ2hELElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUFFO1lBQzVCLE1BQU0sSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksb0JBQW9CLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzNFO1FBQ0QsT0FBTztZQUNILEdBQUcsQ0FBQztZQUNKLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDdEQsQ0FBQztJQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTztRQUNILEdBQUcsU0FBUztRQUNaLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtRQUNwQixZQUFZO0tBQ2YsQ0FBQztBQUNOLENBQUMsQ0FBQztBQWFGLE1BQU0sVUFBVSxXQUFXLENBQUMsU0FBb0Q7SUFDNUUsUUFBUSxTQUFTLENBQUMsSUFBSSxFQUFFO1FBQ3BCLEtBQUssZ0JBQWdCO1lBQ2pCLE9BQU8sZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RDLEtBQUssZ0JBQWdCO1lBQ2pCLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLEtBQUssbUJBQW1CO1lBQ3BCLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLEtBQUsscUJBQXFCO1lBQ3RCLE9BQU8sb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0MsS0FBSyxhQUFhO1lBQ2QsT0FBTztnQkFDSCxHQUFHLFNBQVM7Z0JBQ1osU0FBUyxFQUNMLFNBQVMsQ0FBQyxTQUFTLElBQUksSUFBSTtvQkFDdkIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTO29CQUNyQixDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7Z0JBQzFDLFVBQVUsRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztnQkFDN0MsSUFBSSxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO2FBQ3BDLENBQUM7UUFDTixLQUFLLGlCQUFpQjtZQUNsQixPQUFPO2dCQUNILEdBQUcsU0FBUztnQkFDWixRQUFRLEVBQ0osU0FBUyxDQUFDLFFBQVEsSUFBSSxJQUFJO29CQUN0QixDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVE7b0JBQ3BCLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUM1QyxDQUFDO1FBQ04sS0FBSyxpQkFBaUI7WUFDbEIsT0FBTztnQkFDSCxHQUFHLFNBQVM7Z0JBQ1osS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDN0IsR0FBRyxDQUFDO29CQUNKLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDakQsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztpQkFDdEQsQ0FBQyxDQUFDO2dCQUNILFlBQVksRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQzthQUNwRCxDQUFDO1FBQ04sS0FBSyxxQkFBcUI7WUFDdEIsT0FBTyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQztZQUNJLE1BQU0sSUFBSSxXQUFXLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxvQkFBb0IsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztLQUN6RjtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQmxvY2tTdGF0ZW1lbnQsXHJcbiAgICBCcmVha1N0YXRlbWVudCxcclxuICAgIENvbnRpbnVlU3RhdGVtZW50LFxyXG4gICAgRGlyZWN0aXZlLFxyXG4gICAgRXhwcmVzc2lvblN0YXRlbWVudCxcclxuICAgIElmU3RhdGVtZW50LFxyXG4gICAgTW9kdWxlRGVjbGFyYXRpb24sXHJcbiAgICBSZXR1cm5TdGF0ZW1lbnQsXHJcbiAgICBTdGF0ZW1lbnQsXHJcbiAgICBTd2l0Y2hDYXNlLFxyXG4gICAgU3dpdGNoU3RhdGVtZW50LFxyXG4gICAgVmFyaWFibGVEZWNsYXJhdGlvbixcclxufSBmcm9tICdlc3RyZWUnO1xyXG5pbXBvcnQgeyBGRXhwcmVzc2lvbiwgZkV4cHJlc3Npb24gfSBmcm9tICcuL2ZFeHByZXNzaW9uJztcclxuaW1wb3J0IHsgdG9SYW5nZSB9IGZyb20gJy4vcmFuZ2UnO1xyXG5pbXBvcnQgeyBTY3JpcHRFcnJvciB9IGZyb20gJy4vU2NyaXB0RXJyb3InO1xyXG5cclxuLypcclxuY2xhc3PjgoR2YXLjgarjganjgIHlr77lv5zjgZfjgabjgYTjgarjgYTjgoLjga7jga/jgZPjgZPjgaflvL7jgYTjgabjgYTjgovjgILjgrnjgq/jg6rjg5fjg4jlrp/ooYzjga7jgrPjg7zjg4njgajliIbpm6LjgZfjgabjgYTjgovjgZ/jgoHjgIHjgqjjg4fjgqPjgr/jg7zjgafjgIzln7rmnKznmoTjgavjga9qYXZhc2NyaXB044Gu5paH5rOV44Gn44OB44Kn44OD44Kv44GZ44KL44GM44CB44K144Od44O844OI5aSW44Gu44Kt44O844Ov44O844OJ44Gq44Gp44GM6KaL44Gk44GL44Gj44Gf5aC05ZCI44Gv44Ko44Op44O844KS6L+U44GZ44CN44Go44GE44GG5Yem55CG44KS44GV44Gb44KL44Gu44GM57Ch5Y2Y44Gr44Gq44KL44CCXHJcblxyXG7lvZPliJ3jga/jgIzjgZPjga7jg5XjgqHjgqTjg6vjgpLkvZzjgonjgZrjgIFvZkV4cHJlc3Npb27jgoRvZlN0YXRlbWVudOOBrmNvbnRleHTjgatudWxs44KS5rih44GX44Gf44KJ5paH5rOV44OB44Kn44OD44Kv44Oi44O844OJ44Go44GZ44KL44CN44Go44GE44GG5L2c5oim44KS44Go44Gj44Gm44GE44Gf44CCXHJcbuOBoOOBjOOAgeS+i+OBiOOBsCBhID8gZigpIDogZygpIOOBruOCiOOBhuOBquOCs+ODvOODieOBr2YoKeOBqGcoKeOBruOBhOOBmuOCjOOBi+OBruOBv+Wun+ihjOOBleOCjOOCi+OAguOBoOOBjOOAgeaWh+azleODgeOCp+ODg+OCr+ODouODvOODieOBp+OBr+S4oeaWueOBqOOCguWun+ihjOOBl+OBquOBkeOCjOOBsOOBquOCieOBquOBhOOAguOBk+OBruOCiOOBhuOBquWgtOWQiOWIhuOBkeOBjOW/heimgeOBq+OBquOBo+OBpuOBl+OBvuOBhOOAgeOCs+ODvOODieOBjOikh+mbkeWMluOBmeOCi+OBk+OBqOOBjOS6iOaDs+OBleOCjOOBn+OBruOBp+WNtOS4i+OAglxyXG4qL1xyXG5cclxuZXhwb3J0IHR5cGUgRkJsb2NrU3RhdGVtZW50ID0gT21pdDxCbG9ja1N0YXRlbWVudCwgJ2JvZHknPiAmIHtcclxuICAgIGJvZHk6IEFycmF5PEZTdGF0ZW1lbnQ+O1xyXG59O1xyXG5leHBvcnQgZnVuY3Rpb24gZkJsb2NrU3RhdGVtZW50KHN0YXRlbWVudDogQmxvY2tTdGF0ZW1lbnQpOiBGQmxvY2tTdGF0ZW1lbnQge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5zdGF0ZW1lbnQsXHJcbiAgICAgICAgYm9keTogc3RhdGVtZW50LmJvZHkubWFwKHggPT4gZkZTdGF0ZW1lbnQoeCkpLFxyXG4gICAgfTtcclxufVxyXG5cclxudHlwZSBGQnJlYWtTdGF0ZW1lbnQgPSBPbWl0PEJyZWFrU3RhdGVtZW50LCAnbGFiZWwnPjtcclxuXHJcbmNvbnN0IGZFeHByZXNzaW9uU3RhdGVtZW50ID0gKHN0YXRlbWVudDogRXhwcmVzc2lvblN0YXRlbWVudCkgPT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5zdGF0ZW1lbnQsXHJcbiAgICAgICAgZXhwcmVzc2lvbjogZkV4cHJlc3Npb24oc3RhdGVtZW50LmV4cHJlc3Npb24pLFxyXG4gICAgfTtcclxufTtcclxudHlwZSBGRXhwcmVzc2lvblN0YXRlbWVudCA9IFJldHVyblR5cGU8dHlwZW9mIGZFeHByZXNzaW9uU3RhdGVtZW50PjtcclxuXHJcbnR5cGUgRklmU3RhdGVtZW50ID0gT21pdDxJZlN0YXRlbWVudCwgJ2FsdGVybmF0ZScgfCAnY29uc2VxdWVudCcgfCAndGVzdCc+ICYge1xyXG4gICAgYWx0ZXJuYXRlPzogRlN0YXRlbWVudCB8IG51bGw7XHJcbiAgICBjb25zZXF1ZW50OiBGU3RhdGVtZW50O1xyXG4gICAgdGVzdDogRkV4cHJlc3Npb247XHJcbn07XHJcblxyXG50eXBlIEZSZXR1cm5TdGF0ZW1lbnQgPSBPbWl0PFJldHVyblN0YXRlbWVudCwgJ2FyZ3VtZW50Jz4gJiB7XHJcbiAgICBhcmd1bWVudD86IEZFeHByZXNzaW9uIHwgbnVsbDtcclxufTtcclxuXHJcbnR5cGUgRlN3aXRjaENhc2UgPSBPbWl0PFN3aXRjaENhc2UsICdjb25zZXF1ZW50JyB8ICd0ZXN0Jz4gJiB7XHJcbiAgICB0ZXN0PzogRkV4cHJlc3Npb24gfCBudWxsO1xyXG4gICAgY29uc2VxdWVudDogQXJyYXk8RlN0YXRlbWVudD47XHJcbn07XHJcbnR5cGUgRlN3aXRjaFN0YXRlbWVudCA9IE9taXQ8U3dpdGNoU3RhdGVtZW50LCAnYWx0ZXJuYXRlJyB8ICdjb25zZXF1ZW50JyB8ICd0ZXN0Jz4gJiB7XHJcbiAgICBkaXNjcmltaW5hbnQ6IEZFeHByZXNzaW9uO1xyXG4gICAgY2FzZXM6IEFycmF5PEZTd2l0Y2hDYXNlPjtcclxufTtcclxuXHJcbmNvbnN0IGZWYXJpYWJsZURlY2xhcmF0aW9uID0gKHN0YXRlbWVudDogVmFyaWFibGVEZWNsYXJhdGlvbikgPT4ge1xyXG4gICAgaWYgKHN0YXRlbWVudC5raW5kID09PSAndmFyJykge1xyXG4gICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihcclxuICAgICAgICAgICAgYCcke3N0YXRlbWVudC5raW5kfScgaXMgbm90IHN1cHBvcnRlZC4gVXNlICdsZXQnIGluc3RlYWQuYCxcclxuICAgICAgICAgICAgdG9SYW5nZShzdGF0ZW1lbnQpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGRlY2xhcmF0aW9ucyA9IHN0YXRlbWVudC5kZWNsYXJhdGlvbnMubWFwKGQgPT4ge1xyXG4gICAgICAgIGlmIChkLmlkLnR5cGUgIT09ICdJZGVudGlmaWVyJykge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgU2NyaXB0RXJyb3IoYCcke2QuaWQudHlwZX0nIGlzIG5vdCBzdXBwb3J0ZWRgLCB0b1JhbmdlKGQuaWQpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uZCxcclxuICAgICAgICAgICAgaW5pdDogZC5pbml0ID09IG51bGwgPyBkLmluaXQgOiBmRXhwcmVzc2lvbihkLmluaXQpLFxyXG4gICAgICAgIH07XHJcbiAgICB9KTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4uc3RhdGVtZW50LFxyXG4gICAgICAgIGtpbmQ6IHN0YXRlbWVudC5raW5kLFxyXG4gICAgICAgIGRlY2xhcmF0aW9ucyxcclxuICAgIH07XHJcbn07XHJcbnR5cGUgRlZhcmlhYmxlRGVjbGFyYXRpb24gPSBSZXR1cm5UeXBlPHR5cGVvZiBmVmFyaWFibGVEZWNsYXJhdGlvbj47XHJcblxyXG5leHBvcnQgdHlwZSBGU3RhdGVtZW50ID1cclxuICAgIHwgRkJsb2NrU3RhdGVtZW50XHJcbiAgICB8IEZCcmVha1N0YXRlbWVudFxyXG4gICAgfCBDb250aW51ZVN0YXRlbWVudFxyXG4gICAgfCBGSWZTdGF0ZW1lbnRcclxuICAgIHwgRkV4cHJlc3Npb25TdGF0ZW1lbnRcclxuICAgIHwgRlJldHVyblN0YXRlbWVudFxyXG4gICAgfCBGU3dpdGNoU3RhdGVtZW50XHJcbiAgICB8IEZWYXJpYWJsZURlY2xhcmF0aW9uO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZGU3RhdGVtZW50KHN0YXRlbWVudDogRGlyZWN0aXZlIHwgU3RhdGVtZW50IHwgTW9kdWxlRGVjbGFyYXRpb24pOiBGU3RhdGVtZW50IHtcclxuICAgIHN3aXRjaCAoc3RhdGVtZW50LnR5cGUpIHtcclxuICAgICAgICBjYXNlICdCbG9ja1N0YXRlbWVudCc6XHJcbiAgICAgICAgICAgIHJldHVybiBmQmxvY2tTdGF0ZW1lbnQoc3RhdGVtZW50KTtcclxuICAgICAgICBjYXNlICdCcmVha1N0YXRlbWVudCc6XHJcbiAgICAgICAgICAgIHJldHVybiBzdGF0ZW1lbnQ7XHJcbiAgICAgICAgY2FzZSAnQ29udGludWVTdGF0ZW1lbnQnOlxyXG4gICAgICAgICAgICByZXR1cm4gc3RhdGVtZW50O1xyXG4gICAgICAgIGNhc2UgJ0V4cHJlc3Npb25TdGF0ZW1lbnQnOlxyXG4gICAgICAgICAgICByZXR1cm4gZkV4cHJlc3Npb25TdGF0ZW1lbnQoc3RhdGVtZW50KTtcclxuICAgICAgICBjYXNlICdJZlN0YXRlbWVudCc6XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZW1lbnQsXHJcbiAgICAgICAgICAgICAgICBhbHRlcm5hdGU6XHJcbiAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50LmFsdGVybmF0ZSA9PSBudWxsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gc3RhdGVtZW50LmFsdGVybmF0ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGZGU3RhdGVtZW50KHN0YXRlbWVudC5hbHRlcm5hdGUpLFxyXG4gICAgICAgICAgICAgICAgY29uc2VxdWVudDogZkZTdGF0ZW1lbnQoc3RhdGVtZW50LmNvbnNlcXVlbnQpLFxyXG4gICAgICAgICAgICAgICAgdGVzdDogZkV4cHJlc3Npb24oc3RhdGVtZW50LnRlc3QpLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIGNhc2UgJ1JldHVyblN0YXRlbWVudCc6XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZW1lbnQsXHJcbiAgICAgICAgICAgICAgICBhcmd1bWVudDpcclxuICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQuYXJndW1lbnQgPT0gbnVsbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHN0YXRlbWVudC5hcmd1bWVudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGZFeHByZXNzaW9uKHN0YXRlbWVudC5hcmd1bWVudCksXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgY2FzZSAnU3dpdGNoU3RhdGVtZW50JzpcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIC4uLnN0YXRlbWVudCxcclxuICAgICAgICAgICAgICAgIGNhc2VzOiBzdGF0ZW1lbnQuY2FzZXMubWFwKGMgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5jLFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNlcXVlbnQ6IGMuY29uc2VxdWVudC5tYXAocyA9PiBmRlN0YXRlbWVudChzKSksXHJcbiAgICAgICAgICAgICAgICAgICAgdGVzdDogYy50ZXN0ID09IG51bGwgPyBjLnRlc3QgOiBmRXhwcmVzc2lvbihjLnRlc3QpLFxyXG4gICAgICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICAgICAgZGlzY3JpbWluYW50OiBmRXhwcmVzc2lvbihzdGF0ZW1lbnQuZGlzY3JpbWluYW50KSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICBjYXNlICdWYXJpYWJsZURlY2xhcmF0aW9uJzpcclxuICAgICAgICAgICAgcmV0dXJuIGZWYXJpYWJsZURlY2xhcmF0aW9uKHN0YXRlbWVudCk7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKGAnJHtzdGF0ZW1lbnQudHlwZX0nIGlzIG5vdCBzdXBwb3J0ZWRgLCB0b1JhbmdlKHN0YXRlbWVudCkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZlN0YXRlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mU3RhdGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNBLE9BQU8sRUFBZSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBWTVDLE1BQU0sVUFBVSxlQUFlLENBQUMsU0FBeUI7SUFDckQsT0FBTztRQUNILEdBQUcsU0FBUztRQUNaLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNoRCxDQUFDO0FBQ04sQ0FBQztBQUlELE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxTQUE4QixFQUFFLEVBQUU7SUFDNUQsT0FBTztRQUNILEdBQUcsU0FBUztRQUNaLFVBQVUsRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztLQUNoRCxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBc0JGLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxTQUE4QixFQUFFLEVBQUU7SUFDNUQsSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRTtRQUMxQixNQUFNLElBQUksV0FBVyxDQUNqQixJQUFJLFNBQVMsQ0FBQyxJQUFJLHdDQUF3QyxFQUMxRCxPQUFPLENBQUMsU0FBUyxDQUFDLENBQ3JCLENBQUM7S0FDTDtJQUNELE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ2hELElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUFFO1lBQzVCLE1BQU0sSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksb0JBQW9CLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzNFO1FBQ0QsT0FBTztZQUNILEdBQUcsQ0FBQztZQUNKLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDdEQsQ0FBQztJQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTztRQUNILEdBQUcsU0FBUztRQUNaLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtRQUNwQixZQUFZO0tBQ2YsQ0FBQztBQUNOLENBQUMsQ0FBQztBQWFGLE1BQU0sVUFBVSxXQUFXLENBQUMsU0FBb0Q7SUFDNUUsUUFBUSxTQUFTLENBQUMsSUFBSSxFQUFFO1FBQ3BCLEtBQUssZ0JBQWdCO1lBQ2pCLE9BQU8sZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RDLEtBQUssZ0JBQWdCO1lBQ2pCLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLEtBQUssbUJBQW1CO1lBQ3BCLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLEtBQUsscUJBQXFCO1lBQ3RCLE9BQU8sb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0MsS0FBSyxhQUFhO1lBQ2QsT0FBTztnQkFDSCxHQUFHLFNBQVM7Z0JBQ1osU0FBUyxFQUNMLFNBQVMsQ0FBQyxTQUFTLElBQUksSUFBSTtvQkFDdkIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTO29CQUNyQixDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7Z0JBQzFDLFVBQVUsRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztnQkFDN0MsSUFBSSxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO2FBQ3BDLENBQUM7UUFDTixLQUFLLGlCQUFpQjtZQUNsQixPQUFPO2dCQUNILEdBQUcsU0FBUztnQkFDWixRQUFRLEVBQ0osU0FBUyxDQUFDLFFBQVEsSUFBSSxJQUFJO29CQUN0QixDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVE7b0JBQ3BCLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUM1QyxDQUFDO1FBQ04sS0FBSyxpQkFBaUI7WUFDbEIsT0FBTztnQkFDSCxHQUFHLFNBQVM7Z0JBQ1osS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDN0IsR0FBRyxDQUFDO29CQUNKLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDakQsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztpQkFDdEQsQ0FBQyxDQUFDO2dCQUNILFlBQVksRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQzthQUNwRCxDQUFDO1FBQ04sS0FBSyxxQkFBcUI7WUFDdEIsT0FBTyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQztZQUNJLE1BQU0sSUFBSSxXQUFXLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxvQkFBb0IsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztLQUN6RjtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEJsb2NrU3RhdGVtZW50LFxuICAgIEJyZWFrU3RhdGVtZW50LFxuICAgIENvbnRpbnVlU3RhdGVtZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFeHByZXNzaW9uU3RhdGVtZW50LFxuICAgIElmU3RhdGVtZW50LFxuICAgIE1vZHVsZURlY2xhcmF0aW9uLFxuICAgIFJldHVyblN0YXRlbWVudCxcbiAgICBTdGF0ZW1lbnQsXG4gICAgU3dpdGNoQ2FzZSxcbiAgICBTd2l0Y2hTdGF0ZW1lbnQsXG4gICAgVmFyaWFibGVEZWNsYXJhdGlvbixcbn0gZnJvbSAnZXN0cmVlJztcbmltcG9ydCB7IEZFeHByZXNzaW9uLCBmRXhwcmVzc2lvbiB9IGZyb20gJy4vZkV4cHJlc3Npb24nO1xuaW1wb3J0IHsgdG9SYW5nZSB9IGZyb20gJy4vcmFuZ2UnO1xuaW1wb3J0IHsgU2NyaXB0RXJyb3IgfSBmcm9tICcuL1NjcmlwdEVycm9yJztcblxuLypcbmNsYXNz44KEdmFy44Gq44Gp44CB5a++5b+c44GX44Gm44GE44Gq44GE44KC44Gu44Gv44GT44GT44Gn5by+44GE44Gm44GE44KL44CC44K544Kv44Oq44OX44OI5a6f6KGM44Gu44Kz44O844OJ44Go5YiG6Zui44GX44Gm44GE44KL44Gf44KB44CB44Ko44OH44Kj44K/44O844Gn44CM5Z+65pys55qE44Gr44GvamF2YXNjcmlwdOOBruaWh+azleOBp+ODgeOCp+ODg+OCr+OBmeOCi+OBjOOAgeOCteODneODvOODiOWkluOBruOCreODvOODr+ODvOODieOBquOBqeOBjOimi+OBpOOBi+OBo+OBn+WgtOWQiOOBr+OCqOODqeODvOOCkui/lOOBmeOAjeOBqOOBhOOBhuWHpueQhuOCkuOBleOBm+OCi+OBruOBjOewoeWNmOOBq+OBquOCi+OAglxuXG7lvZPliJ3jga/jgIzjgZPjga7jg5XjgqHjgqTjg6vjgpLkvZzjgonjgZrjgIFvZkV4cHJlc3Npb27jgoRvZlN0YXRlbWVudOOBrmNvbnRleHTjgatudWxs44KS5rih44GX44Gf44KJ5paH5rOV44OB44Kn44OD44Kv44Oi44O844OJ44Go44GZ44KL44CN44Go44GE44GG5L2c5oim44KS44Go44Gj44Gm44GE44Gf44CCXG7jgaDjgYzjgIHkvovjgYjjgbAgYSA/IGYoKSA6IGcoKSDjga7jgojjgYbjgarjgrPjg7zjg4njga9mKCnjgahnKCnjga7jgYTjgZrjgozjgYvjga7jgb/lrp/ooYzjgZXjgozjgovjgILjgaDjgYzjgIHmlofms5Xjg4Hjgqfjg4Pjgq/jg6Ljg7zjg4njgafjga/kuKHmlrnjgajjgoLlrp/ooYzjgZfjgarjgZHjgozjgbDjgarjgonjgarjgYTjgILjgZPjga7jgojjgYbjgarloLTlkIjliIbjgZHjgYzlv4XopoHjgavjgarjgaPjgabjgZfjgb7jgYTjgIHjgrPjg7zjg4njgYzopIfpm5HljJbjgZnjgovjgZPjgajjgYzkuojmg7PjgZXjgozjgZ/jga7jgafljbTkuIvjgIJcbiovXG5cbmV4cG9ydCB0eXBlIEZCbG9ja1N0YXRlbWVudCA9IE9taXQ8QmxvY2tTdGF0ZW1lbnQsICdib2R5Jz4gJiB7XG4gICAgYm9keTogQXJyYXk8RlN0YXRlbWVudD47XG59O1xuZXhwb3J0IGZ1bmN0aW9uIGZCbG9ja1N0YXRlbWVudChzdGF0ZW1lbnQ6IEJsb2NrU3RhdGVtZW50KTogRkJsb2NrU3RhdGVtZW50IHtcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZW1lbnQsXG4gICAgICAgIGJvZHk6IHN0YXRlbWVudC5ib2R5Lm1hcCh4ID0+IGZGU3RhdGVtZW50KHgpKSxcbiAgICB9O1xufVxuXG50eXBlIEZCcmVha1N0YXRlbWVudCA9IE9taXQ8QnJlYWtTdGF0ZW1lbnQsICdsYWJlbCc+O1xuXG5jb25zdCBmRXhwcmVzc2lvblN0YXRlbWVudCA9IChzdGF0ZW1lbnQ6IEV4cHJlc3Npb25TdGF0ZW1lbnQpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZW1lbnQsXG4gICAgICAgIGV4cHJlc3Npb246IGZFeHByZXNzaW9uKHN0YXRlbWVudC5leHByZXNzaW9uKSxcbiAgICB9O1xufTtcbnR5cGUgRkV4cHJlc3Npb25TdGF0ZW1lbnQgPSBSZXR1cm5UeXBlPHR5cGVvZiBmRXhwcmVzc2lvblN0YXRlbWVudD47XG5cbnR5cGUgRklmU3RhdGVtZW50ID0gT21pdDxJZlN0YXRlbWVudCwgJ2FsdGVybmF0ZScgfCAnY29uc2VxdWVudCcgfCAndGVzdCc+ICYge1xuICAgIGFsdGVybmF0ZT86IEZTdGF0ZW1lbnQgfCBudWxsO1xuICAgIGNvbnNlcXVlbnQ6IEZTdGF0ZW1lbnQ7XG4gICAgdGVzdDogRkV4cHJlc3Npb247XG59O1xuXG50eXBlIEZSZXR1cm5TdGF0ZW1lbnQgPSBPbWl0PFJldHVyblN0YXRlbWVudCwgJ2FyZ3VtZW50Jz4gJiB7XG4gICAgYXJndW1lbnQ/OiBGRXhwcmVzc2lvbiB8IG51bGw7XG59O1xuXG50eXBlIEZTd2l0Y2hDYXNlID0gT21pdDxTd2l0Y2hDYXNlLCAnY29uc2VxdWVudCcgfCAndGVzdCc+ICYge1xuICAgIHRlc3Q/OiBGRXhwcmVzc2lvbiB8IG51bGw7XG4gICAgY29uc2VxdWVudDogQXJyYXk8RlN0YXRlbWVudD47XG59O1xudHlwZSBGU3dpdGNoU3RhdGVtZW50ID0gT21pdDxTd2l0Y2hTdGF0ZW1lbnQsICdhbHRlcm5hdGUnIHwgJ2NvbnNlcXVlbnQnIHwgJ3Rlc3QnPiAmIHtcbiAgICBkaXNjcmltaW5hbnQ6IEZFeHByZXNzaW9uO1xuICAgIGNhc2VzOiBBcnJheTxGU3dpdGNoQ2FzZT47XG59O1xuXG5jb25zdCBmVmFyaWFibGVEZWNsYXJhdGlvbiA9IChzdGF0ZW1lbnQ6IFZhcmlhYmxlRGVjbGFyYXRpb24pID0+IHtcbiAgICBpZiAoc3RhdGVtZW50LmtpbmQgPT09ICd2YXInKSB7XG4gICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihcbiAgICAgICAgICAgIGAnJHtzdGF0ZW1lbnQua2luZH0nIGlzIG5vdCBzdXBwb3J0ZWQuIFVzZSAnbGV0JyBpbnN0ZWFkLmAsXG4gICAgICAgICAgICB0b1JhbmdlKHN0YXRlbWVudClcbiAgICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgZGVjbGFyYXRpb25zID0gc3RhdGVtZW50LmRlY2xhcmF0aW9ucy5tYXAoZCA9PiB7XG4gICAgICAgIGlmIChkLmlkLnR5cGUgIT09ICdJZGVudGlmaWVyJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFNjcmlwdEVycm9yKGAnJHtkLmlkLnR5cGV9JyBpcyBub3Qgc3VwcG9ydGVkYCwgdG9SYW5nZShkLmlkKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmQsXG4gICAgICAgICAgICBpbml0OiBkLmluaXQgPT0gbnVsbCA/IGQuaW5pdCA6IGZFeHByZXNzaW9uKGQuaW5pdCksXG4gICAgICAgIH07XG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGVtZW50LFxuICAgICAgICBraW5kOiBzdGF0ZW1lbnQua2luZCxcbiAgICAgICAgZGVjbGFyYXRpb25zLFxuICAgIH07XG59O1xudHlwZSBGVmFyaWFibGVEZWNsYXJhdGlvbiA9IFJldHVyblR5cGU8dHlwZW9mIGZWYXJpYWJsZURlY2xhcmF0aW9uPjtcblxuZXhwb3J0IHR5cGUgRlN0YXRlbWVudCA9XG4gICAgfCBGQmxvY2tTdGF0ZW1lbnRcbiAgICB8IEZCcmVha1N0YXRlbWVudFxuICAgIHwgQ29udGludWVTdGF0ZW1lbnRcbiAgICB8IEZJZlN0YXRlbWVudFxuICAgIHwgRkV4cHJlc3Npb25TdGF0ZW1lbnRcbiAgICB8IEZSZXR1cm5TdGF0ZW1lbnRcbiAgICB8IEZTd2l0Y2hTdGF0ZW1lbnRcbiAgICB8IEZWYXJpYWJsZURlY2xhcmF0aW9uO1xuXG5leHBvcnQgZnVuY3Rpb24gZkZTdGF0ZW1lbnQoc3RhdGVtZW50OiBEaXJlY3RpdmUgfCBTdGF0ZW1lbnQgfCBNb2R1bGVEZWNsYXJhdGlvbik6IEZTdGF0ZW1lbnQge1xuICAgIHN3aXRjaCAoc3RhdGVtZW50LnR5cGUpIHtcbiAgICAgICAgY2FzZSAnQmxvY2tTdGF0ZW1lbnQnOlxuICAgICAgICAgICAgcmV0dXJuIGZCbG9ja1N0YXRlbWVudChzdGF0ZW1lbnQpO1xuICAgICAgICBjYXNlICdCcmVha1N0YXRlbWVudCc6XG4gICAgICAgICAgICByZXR1cm4gc3RhdGVtZW50O1xuICAgICAgICBjYXNlICdDb250aW51ZVN0YXRlbWVudCc6XG4gICAgICAgICAgICByZXR1cm4gc3RhdGVtZW50O1xuICAgICAgICBjYXNlICdFeHByZXNzaW9uU3RhdGVtZW50JzpcbiAgICAgICAgICAgIHJldHVybiBmRXhwcmVzc2lvblN0YXRlbWVudChzdGF0ZW1lbnQpO1xuICAgICAgICBjYXNlICdJZlN0YXRlbWVudCc6XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLnN0YXRlbWVudCxcbiAgICAgICAgICAgICAgICBhbHRlcm5hdGU6XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudC5hbHRlcm5hdGUgPT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBzdGF0ZW1lbnQuYWx0ZXJuYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGZGU3RhdGVtZW50KHN0YXRlbWVudC5hbHRlcm5hdGUpLFxuICAgICAgICAgICAgICAgIGNvbnNlcXVlbnQ6IGZGU3RhdGVtZW50KHN0YXRlbWVudC5jb25zZXF1ZW50KSxcbiAgICAgICAgICAgICAgICB0ZXN0OiBmRXhwcmVzc2lvbihzdGF0ZW1lbnQudGVzdCksXG4gICAgICAgICAgICB9O1xuICAgICAgICBjYXNlICdSZXR1cm5TdGF0ZW1lbnQnOlxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZW1lbnQsXG4gICAgICAgICAgICAgICAgYXJndW1lbnQ6XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudC5hcmd1bWVudCA9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHN0YXRlbWVudC5hcmd1bWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBmRXhwcmVzc2lvbihzdGF0ZW1lbnQuYXJndW1lbnQpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgY2FzZSAnU3dpdGNoU3RhdGVtZW50JzpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGVtZW50LFxuICAgICAgICAgICAgICAgIGNhc2VzOiBzdGF0ZW1lbnQuY2FzZXMubWFwKGMgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYyxcbiAgICAgICAgICAgICAgICAgICAgY29uc2VxdWVudDogYy5jb25zZXF1ZW50Lm1hcChzID0+IGZGU3RhdGVtZW50KHMpKSxcbiAgICAgICAgICAgICAgICAgICAgdGVzdDogYy50ZXN0ID09IG51bGwgPyBjLnRlc3QgOiBmRXhwcmVzc2lvbihjLnRlc3QpLFxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICBkaXNjcmltaW5hbnQ6IGZFeHByZXNzaW9uKHN0YXRlbWVudC5kaXNjcmltaW5hbnQpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgY2FzZSAnVmFyaWFibGVEZWNsYXJhdGlvbic6XG4gICAgICAgICAgICByZXR1cm4gZlZhcmlhYmxlRGVjbGFyYXRpb24oc3RhdGVtZW50KTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IG5ldyBTY3JpcHRFcnJvcihgJyR7c3RhdGVtZW50LnR5cGV9JyBpcyBub3Qgc3VwcG9ydGVkYCwgdG9SYW5nZShzdGF0ZW1lbnQpKTtcbiAgICB9XG59XG4iXX0=

@@ -5,2 +5,2 @@ export { exec, test } from './main';

export { ScriptError } from './ScriptError';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDSCxZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFFVixNQUFNLEVBQ04sV0FBVyxFQUNYLFFBQVEsRUFDUixTQUFTLEVBQ1QsT0FBTyxFQUNQLE9BQU8sRUFDUCxPQUFPLEVBQ1AsT0FBTyxFQUVQLEtBQUssR0FPUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZXhlYywgdGVzdCB9IGZyb20gJy4vbWFpbic7XHJcbmV4cG9ydCB7IGFycmF5Q2xhc3MgfSBmcm9tICcuL2J1aWx0SW4vQXJyYXknO1xyXG5leHBvcnQge1xyXG4gICAgY3JlYXRlRlZhbHVlLFxyXG4gICAgYmVnaW5DYXN0LFxyXG4gICAgdG9UeXBlTmFtZSxcclxuICAgIEFzdEluZm8sXHJcbiAgICBGQXJyYXksXHJcbiAgICBGVHlwZWRBcnJheSxcclxuICAgIEZCb29sZWFuLFxyXG4gICAgRkZ1bmN0aW9uLFxyXG4gICAgRk51bWJlcixcclxuICAgIEZPYmplY3QsXHJcbiAgICBGUmVjb3JkLFxyXG4gICAgRlN0cmluZyxcclxuICAgIEZWYWx1ZSxcclxuICAgIEZUeXBlLFxyXG4gICAgR2V0UGFyYW1zLFxyXG4gICAgU2V0UGFyYW1zLFxyXG4gICAgT25HZXR0aW5nUGFyYW1zLFxyXG4gICAgT25TZXR0aW5nUGFyYW1zLFxyXG4gICAgR2V0Q29yZVBhcmFtcyxcclxuICAgIFNldENvcmVQYXJhbXMsXHJcbn0gZnJvbSAnLi9zY3JpcHRWYWx1ZSc7XHJcbmV4cG9ydCB7IFNjcmlwdEVycm9yIH0gZnJvbSAnLi9TY3JpcHRFcnJvcic7XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDSCxZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFFVixNQUFNLEVBQ04sV0FBVyxFQUNYLFFBQVEsRUFDUixTQUFTLEVBQ1QsT0FBTyxFQUNQLE9BQU8sRUFDUCxPQUFPLEVBQ1AsT0FBTyxFQUVQLEtBQUssR0FPUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZXhlYywgdGVzdCB9IGZyb20gJy4vbWFpbic7XG5leHBvcnQgeyBhcnJheUNsYXNzIH0gZnJvbSAnLi9idWlsdEluL0FycmF5JztcbmV4cG9ydCB7XG4gICAgY3JlYXRlRlZhbHVlLFxuICAgIGJlZ2luQ2FzdCxcbiAgICB0b1R5cGVOYW1lLFxuICAgIEFzdEluZm8sXG4gICAgRkFycmF5LFxuICAgIEZUeXBlZEFycmF5LFxuICAgIEZCb29sZWFuLFxuICAgIEZGdW5jdGlvbixcbiAgICBGTnVtYmVyLFxuICAgIEZPYmplY3QsXG4gICAgRlJlY29yZCxcbiAgICBGU3RyaW5nLFxuICAgIEZWYWx1ZSxcbiAgICBGVHlwZSxcbiAgICBHZXRQYXJhbXMsXG4gICAgU2V0UGFyYW1zLFxuICAgIE9uR2V0dGluZ1BhcmFtcyxcbiAgICBPblNldHRpbmdQYXJhbXMsXG4gICAgR2V0Q29yZVBhcmFtcyxcbiAgICBTZXRDb3JlUGFyYW1zLFxufSBmcm9tICcuL3NjcmlwdFZhbHVlJztcbmV4cG9ydCB7IFNjcmlwdEVycm9yIH0gZnJvbSAnLi9TY3JpcHRFcnJvcic7XG4iXX0=

@@ -12,2 +12,2 @@ export const toRange = (source) => {

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmFuZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBa0QsRUFBcUIsRUFBRTtJQUM3RixJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7UUFDaEIsT0FBTyxTQUFTLENBQUM7S0FDcEI7SUFDRCxvRUFBb0U7SUFDcEUsTUFBTSxLQUFLLEdBQUcsTUFBNEMsQ0FBQztJQUMzRCxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksT0FBTyxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsRUFBRTtRQUNsRSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDbkM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlTm9kZVdpdGhvdXRDb21tZW50cyB9IGZyb20gJ2VzdHJlZSc7XHJcblxyXG5leHBvcnQgdHlwZSBSYW5nZSA9IHJlYWRvbmx5IFtudW1iZXIsIG51bWJlcl07XHJcblxyXG5leHBvcnQgY29uc3QgdG9SYW5nZSA9IChzb3VyY2U6IEJhc2VOb2RlV2l0aG91dENvbW1lbnRzIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFJhbmdlIHwgdW5kZWZpbmVkID0+IHtcclxuICAgIGlmIChzb3VyY2UgPT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICAvLyBAdHlwZXMvZXN0cmVl44GoYWNvcm7jgafjga/lnovjgYznlbDjgarjgovjgILjgZPjga7jg6njgqTjg5bjg6njg6rjgafjga9hY29ybuOCkueUqOOBhOOBpuOBhOOCi+OBn+OCgeOAgeOBneOCjOOBq+WQiOOCj+OBm+OBpuWei+WkieaPm+OBl+OBpuOBhOOCi+OAglxyXG4gICAgY29uc3QgcmFuZ2UgPSBzb3VyY2UgYXMgeyBzdGFydD86IHVua25vd247IGVuZD86IHVua25vd24gfTtcclxuICAgIGlmICh0eXBlb2YgcmFuZ2Uuc3RhcnQgPT09ICdudW1iZXInICYmIHR5cGVvZiByYW5nZS5lbmQgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgcmV0dXJuIFtyYW5nZS5zdGFydCwgcmFuZ2UuZW5kXTtcclxuICAgIH1cclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbn07XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmFuZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBa0QsRUFBcUIsRUFBRTtJQUM3RixJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7UUFDaEIsT0FBTyxTQUFTLENBQUM7S0FDcEI7SUFDRCxvRUFBb0U7SUFDcEUsTUFBTSxLQUFLLEdBQUcsTUFBNEMsQ0FBQztJQUMzRCxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksT0FBTyxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsRUFBRTtRQUNsRSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDbkM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlTm9kZVdpdGhvdXRDb21tZW50cyB9IGZyb20gJ2VzdHJlZSc7XG5cbmV4cG9ydCB0eXBlIFJhbmdlID0gcmVhZG9ubHkgW251bWJlciwgbnVtYmVyXTtcblxuZXhwb3J0IGNvbnN0IHRvUmFuZ2UgPSAoc291cmNlOiBCYXNlTm9kZVdpdGhvdXRDb21tZW50cyB8IG51bGwgfCB1bmRlZmluZWQpOiBSYW5nZSB8IHVuZGVmaW5lZCA9PiB7XG4gICAgaWYgKHNvdXJjZSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIC8vIEB0eXBlcy9lc3RyZWXjgahhY29ybuOBp+OBr+Wei+OBjOeVsOOBquOCi+OAguOBk+OBruODqeOCpOODluODqeODquOBp+OBr2Fjb3Ju44KS55So44GE44Gm44GE44KL44Gf44KB44CB44Gd44KM44Gr5ZCI44KP44Gb44Gm5Z6L5aSJ5o+b44GX44Gm44GE44KL44CCXG4gICAgY29uc3QgcmFuZ2UgPSBzb3VyY2UgYXMgeyBzdGFydD86IHVua25vd247IGVuZD86IHVua25vd24gfTtcbiAgICBpZiAodHlwZW9mIHJhbmdlLnN0YXJ0ID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgcmFuZ2UuZW5kID09PSAnbnVtYmVyJykge1xuICAgICAgICByZXR1cm4gW3JhbmdlLnN0YXJ0LCByYW5nZS5lbmRdO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufTtcbiJdfQ==

@@ -10,2 +10,2 @@ export class ScriptError extends Error {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NyaXB0RXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NyaXB0RXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFdBQVksU0FBUSxLQUFLO0lBQ2xDLFlBQW1CLE9BQWdCLEVBQWtCLEtBQWE7UUFDOUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRGtDLFVBQUssR0FBTCxLQUFLLENBQVE7SUFFbEUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxLQUFhO1FBQzNDLE9BQU8sSUFBSSxXQUFXLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmFuZ2UgfSBmcm9tICcuL3JhbmdlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBTY3JpcHRFcnJvciBleHRlbmRzIEVycm9yIHtcclxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nLCBwdWJsaWMgcmVhZG9ubHkgcmFuZ2U/OiBSYW5nZSkge1xyXG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgbm90Q29uc3RydWN0b3JFcnJvcihyYW5nZT86IFJhbmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBTY3JpcHRFcnJvcignTm90IGEgY29uc3RydWN0b3InLCByYW5nZSk7XHJcbiAgICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NyaXB0RXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NyaXB0RXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFdBQVksU0FBUSxLQUFLO0lBQ2xDLFlBQW1CLE9BQWdCLEVBQWtCLEtBQWE7UUFDOUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRGtDLFVBQUssR0FBTCxLQUFLLENBQVE7SUFFbEUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxLQUFhO1FBQzNDLE9BQU8sSUFBSSxXQUFXLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmFuZ2UgfSBmcm9tICcuL3JhbmdlJztcblxuZXhwb3J0IGNsYXNzIFNjcmlwdEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nLCBwdWJsaWMgcmVhZG9ubHkgcmFuZ2U/OiBSYW5nZSkge1xuICAgICAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIG5vdENvbnN0cnVjdG9yRXJyb3IocmFuZ2U/OiBSYW5nZSkge1xuICAgICAgICByZXR1cm4gbmV3IFNjcmlwdEVycm9yKCdOb3QgYSBjb25zdHJ1Y3RvcicsIHJhbmdlKTtcbiAgICB9XG59XG4iXX0=
{
"version": "0.7.0",
"version": "0.7.1",
"license": "MIT",

@@ -14,7 +14,8 @@ "main": "dist/cjs/index.js",

"scripts": {
"build": "yarn lint && yarn prettier && rimraf ./dist && tsc -p tsconfig.build-cjs.json && tsc -p tsconfig.build-esm.json && tsc -p tsconfig.build-types.json",
"build": "rimraf ./dist && tsc -p tsconfig.build-cjs.json && tsc -p tsconfig.build-esm.json && tsc -p tsconfig.build-types.json",
"test": "jest",
"prepare": "yarn build && husky install",
"prepare": "husky install",
"lint": "eslint src test",
"prettier": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\" \".github/**/*.yml\""
"prettier": "yarn prettier:base --write",
"prettier:base": "prettier \"**/*.{ts,js,json,yml,md}\""
},

@@ -27,3 +28,2 @@ "prettier": {

"tabWidth": 4,
"endOfLine": "crlf",
"arrowParens": "avoid"

@@ -40,19 +40,19 @@ },

"@types/estree": "0.0.50",
"@types/jest": "27.0.1",
"@typescript-eslint/eslint-plugin": "4.29.1",
"@typescript-eslint/parser": "4.29.1",
"@types/jest": "27.0.2",
"@typescript-eslint/eslint-plugin": "4.31.2",
"@typescript-eslint/parser": "4.31.2",
"eslint": "7.32.0",
"eslint-config-prettier": "8.3.0",
"jest": "27.0.6",
"prettier": "2.3.2",
"husky": "7.0.2",
"jest": "27.2.1",
"prettier": "2.4.1",
"rimraf": "3.0.2",
"ts-jest": "27.0.4",
"typescript": "4.3.5",
"husky": "7.0.1"
"ts-jest": "27.0.5",
"typescript": "4.4.3"
},
"dependencies": {
"@kizahasi/option": "^1.0.0",
"@kizahasi/util": "^0.8.0",
"acorn": "^8.4.1"
"@kizahasi/util": "^0.9.1",
"acorn": "^8.5.0"
}
}
# @kizahasi/flocon-script
![GitHub](https://img.shields.io/github/license/kizahasi/flocon-script) [![npm version](https://img.shields.io/npm/v/@kizahasi/flocon-script.svg?style=flat)](https://www.npmjs.com/package/@kizahasi/flocon-script) [![CI](https://github.com/kizahasi/flocon-script/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/kizahasi/flocon-script/actions/workflows/main.yml) [![publish](https://github.com/kizahasi/flocon-script/actions/workflows/publish.yml/badge.svg?branch=release)](https://github.com/kizahasi/flocon-script/actions/workflows/publish.yml)
![GitHub](https://img.shields.io/github/license/kizahasi/flocon-script) [![npm version](https://img.shields.io/npm/v/@kizahasi/flocon-script.svg?style=flat)](https://www.npmjs.com/package/@kizahasi/flocon-script) [![CI](https://github.com/kizahasi/flocon-script/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/kizahasi/flocon-script/actions/workflows/ci.yml) [![publish](https://github.com/kizahasi/flocon-script/actions/workflows/publish.yml/badge.svg?branch=release)](https://github.com/kizahasi/flocon-script/actions/workflows/publish.yml)
Executes javascript safely, but some features are not supported.

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

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

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

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

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc