cdk8s-cli 2.1.102 → 2.1.103

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { CodeMaker } from 'codemaker';
2
- import { ImportSpec } from '../config';
3
2
  import { GenerateOptions, ImportBase } from './base';
3
+ import { ImportSpec } from '../config';
4
4
  export interface ManifestObjectDefinition {
5
5
  apiVersion?: string;
6
6
  kind?: string;
package/lib/import/crd.js CHANGED
@@ -32,10 +32,10 @@ const path = __importStar(require("path"));
32
32
  const ajv_1 = __importDefault(require("ajv"));
33
33
  const codemaker_1 = require("codemaker");
34
34
  const json2jsii_1 = require("json2jsii");
35
- const reviver_1 = require("../reviver");
36
- const util_1 = require("../util");
37
35
  const base_1 = require("./base");
38
36
  const codegen_1 = require("./codegen");
37
+ const reviver_1 = require("../reviver");
38
+ const util_1 = require("../util");
39
39
  const CRD_KIND = 'CustomResourceDefinition';
40
40
  // all these APIs are compatible from our perspective.
41
41
  const SUPPORTED_API_VERSIONS = [
@@ -175,4 +175,4 @@ function safeParseCrds(manifest) {
175
175
  return crds;
176
176
  }
177
177
  exports.safeParseCrds = safeParseCrds;
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltcG9ydC9jcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBeUI7QUFDekIsMkNBQTZCO0FBQzdCLDhDQUFzQjtBQUN0Qix5Q0FBb0Q7QUFDcEQseUNBQTBDO0FBRTFDLHdDQUF5QztBQUN6QyxrQ0FBa0Q7QUFDbEQsaUNBQXFEO0FBQ3JELHVDQUEwRDtBQUUxRCxNQUFNLFFBQVEsR0FBRywwQkFBMEIsQ0FBQztBQTBCNUMsc0RBQXNEO0FBQ3RELE1BQU0sc0JBQXNCLEdBQUc7SUFDN0IsOEJBQThCO0lBQzlCLHlCQUF5QjtDQUMxQixDQUFDO0FBRUYsTUFBYSx3QkFBd0I7SUFPbkMsWUFBWSxRQUFrQzs7UUFDNUMsTUFBTSxVQUFVLEdBQUcsTUFBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsVUFBVSxtQ0FBSSxXQUFXLENBQUM7UUFDdkQsTUFBTSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxvQkFBb0IsVUFBVSw4QkFBOEIsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEssTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLG1CQUFtQixRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRW5FLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztTQUM5RDtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRSxJ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QUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3JDLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDaEI7WUFDRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO2dCQUN2QixXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3hCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXJCLE1BQU0sR0FBRyxHQUFHLElBQUksYUFBRyxFQUFFLENBQUM7SUFDdEIsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDbEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUU7UUFDdEIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDakM7UUFBQSxDQUFDO0tBQ0g7SUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7S0FDeEc7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUF6Q0Qsc0NBeUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBBanYgZnJvbSAnYWp2JztcbmltcG9ydCB7IENvZGVNYWtlciwgdG9QYXNjYWxDYXNlIH0gZnJvbSAnY29kZW1ha2VyJztcbmltcG9ydCB7IFR5cGVHZW5lcmF0b3IgfSBmcm9tICdqc29uMmpzaWknO1xuaW1wb3J0IHsgSW1wb3J0U3BlYyB9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBTYWZlUmV2aXZlciB9IGZyb20gJy4uL3Jldml2ZXInO1xuaW1wb3J0IHsgZG93bmxvYWQsIHNhZmVQYXJzZVlhbWwgfSBmcm9tICcuLi91dGlsJztcbmltcG9ydCB7IEdlbmVyYXRlT3B0aW9ucywgSW1wb3J0QmFzZSB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBlbWl0SGVhZGVyLCBnZW5lcmF0ZUNvbnN0cnVjdCB9IGZyb20gJy4vY29kZWdlbic7XG5cbmNvbnN0IENSRF9LSU5EID0gJ0N1c3RvbVJlc291cmNlRGVmaW5pdGlvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFuaWZlc3RPYmplY3REZWZpbml0aW9uIHtcbiAgYXBpVmVyc2lvbj86IHN0cmluZztcbiAga2luZD86IHN0cmluZztcbiAgaXRlbXM/OiBNYW5pZmVzdE9iamVjdERlZmluaXRpb25bXTsgLy8gaWYgYGtpbmRgIGlzIFwiTGlzdFwiXG4gIG1ldGFkYXRhPzoge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gIH07XG4gIHNwZWM/OiB7XG4gICAgZ3JvdXA6IHN0cmluZztcbiAgICBuYW1lczoge1xuICAgICAga2luZDogc3RyaW5nO1xuICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIH07XG4gICAgdmVyc2lvbnM/OiBBcnJheTx7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBzY2hlbWE/OiB7IG9wZW5BUElWM1NjaGVtYT86IGFueSB9O1xuICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIH0+O1xuICAgIHZlcnNpb24/OiBzdHJpbmc7XG4gICAgdmFsaWRhdGlvbj86IHsgb3BlbkFQSVYzU2NoZW1hPzogYW55IH07XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICB9O1xufVxuXG4vLyBhbGwgdGhlc2UgQVBJcyBhcmUgY29tcGF0aWJsZSBmcm9tIG91ciBwZXJzcGVjdGl2ZS5cbmNvbnN0IFNVUFBPUlRFRF9BUElfVkVSU0lPTlMgPSBbXG4gICdhcGlleHRlbnNpb25zLms4cy5pby92MWJldGExJyxcbiAgJ2FwaWV4dGVuc2lvbnMuazhzLmlvL3YxJyxcbl07XG5cbmV4cG9ydCBjbGFzcyBDdXN0b21SZXNvdXJjZURlZmluaXRpb24ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkga2luZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHZlcnNpb25zOiB7IG5hbWU6IHN0cmluZzsgc2NoZW1hPzogYW55IH1bXTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZ3JvdXA6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihtYW5pZmVzdDogTWFuaWZlc3RPYmplY3REZWZpbml0aW9uKSB7XG4gICAgY29uc3QgYXBpVmVyc2lvbiA9IG1hbmlmZXN0Py5hcGlWZXJzaW9uID8/ICd1bmRlZmluZWQnO1xuICAgIGFzc2VydChTVVBQT1JURURfQVBJX1ZFUlNJT05TLmluY2x1ZGVzKGFwaVZlcnNpb24pLCBgXCJhcGlWZXJzaW9uXCIgaXMgXCIke2FwaVZlcnNpb259XCIgYnV0IGl0IHNob3VsZCBiZSBvbmUgb2Y6ICR7U1VQUE9SVEVEX0FQSV9WRVJTSU9OUy5tYXAoeCA9PiBgXCIke3h9XCJgKS5qb2luKCcsICcpfWApO1xuICAgIGFzc2VydChtYW5pZmVzdC5raW5kID09PSBDUkRfS0lORCwgYFwia2luZFwiIG11c3QgYmUgXCIke0NSRF9LSU5EfVwiYCk7XG5cbiAgICBjb25zdCBzcGVjID0gbWFuaWZlc3Quc3BlYztcbiAgICBpZiAoIXNwZWMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWFuaWZlc3QgZG9lcyBub3QgaGF2ZSBhIFwic3BlY1wiIGF0dHJpYnV0ZScpO1xuICAgIH1cblxuICAgIGlmIChzcGVjLnZlcnNpb24pIHtcbiAgICAgIHRoaXMudmVyc2lvbnMgPSBbeyBuYW1lOiBzcGVjLnZlcnNpb24sIHNjaGVtYTogc3BlYy52YWxpZGF0aW9uPy5vcGVuQVBJVjNTY2hlbWEgfV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmVyc2lvbnMgPSAoc3BlYy52ZXJzaW9ucyA/PyBbXSkubWFwKHYgPT4gKHsgbmFtZTogdi5uYW1lLCBzY2hlbWE6IHYuc2NoZW1hPy5vcGVuQVBJVjNTY2hlbWEgPz8gc3BlYy52YWxpZGF0aW9uPy5vcGVuQVBJVjNTY2hlbWEgfSkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZlcnNpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd1bmFibGUgdG8gZGV0ZXJtaW5lIENSRCB2ZXJzaW9ucycpO1xuICAgIH1cblxuICAgIHRoaXMuZ3JvdXAgPSBzcGVjLmdyb3VwO1xuICAgIHRoaXMua2luZCA9IHNwZWMubmFtZXMua2luZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQga2V5KCkge1xuICAgIHJldHVybiBgJHt0aGlzLmdyb3VwfS8ke3RoaXMua2luZC50b0xvY2FsZUxvd2VyQ2FzZSgpfWA7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2VuZXJhdGVUeXBlU2NyaXB0KGNvZGU6IENvZGVNYWtlciwgb3B0aW9uczogR2VuZXJhdGVPcHRpb25zKSB7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudmVyc2lvbnMubGVuZ3RoOyBpKyspIHtcblxuICAgICAgY29uc3QgdmVyc2lvbiA9IHRoaXMudmVyc2lvbnNbaV07XG5cbiAgICAgIC8vIHRvIHByZXNldmUgYmFja3dhcmRzIGNvbXBhdGlibGl0eSwgb25seSBhcHBlbmQgYSBzdWZmaXggZm9yXG4gICAgICAvLyB0aGUgc2Vjb25kIHZlcnNpb24gb253YXJkcy5cbiAgICAgIGNvbnN0IHN1ZmZpeCA9IGkgPT09IDAgPyAnJyA6IHRvUGFzY2FsQ2FzZSh2ZXJzaW9uLm5hbWUpO1xuXG4gICAgICBjb25zdCB0eXBlcyA9IG5ldyBUeXBlR2VuZXJhdG9yKHt9KTtcblxuICAgICAgZ2VuZXJhdGVDb25zdHJ1Y3QodHlwZXMsIHtcbiAgICAgICAgZ3JvdXA6IHRoaXMuZ3JvdXAsXG4gICAgICAgIHZlcnNpb246IHZlcnNpb24ubmFtZSxcbiAgICAgICAga2luZDogdGhpcy5raW5kLFxuICAgICAgICBmcW46IGAke3RoaXMua2luZH0ke3N1ZmZpeH1gLFxuICAgICAgICBzY2hlbWE6IHZlcnNpb24uc2NoZW1hLFxuICAgICAgICBjdXN0b206IHRydWUsXG4gICAgICAgIHByZWZpeDogb3B0aW9ucy5jbGFzc05hbWVQcmVmaXgsXG4gICAgICAgIHN1ZmZpeCxcbiAgICAgIH0pO1xuXG4gICAgICBjb2RlLmxpbmUodHlwZXMucmVuZGVyKCkpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW1wb3J0Q3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uIGV4dGVuZHMgSW1wb3J0QmFzZSB7XG4gIHB1YmxpYyBzdGF0aWMgYXN5bmMgZnJvbVNwZWMoaW1wb3J0U3BlYzogSW1wb3J0U3BlYyk6IFByb21pc2U8SW1wb3J0Q3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uPiB7XG4gICAgY29uc3QgeyBzb3VyY2UgfSA9IGltcG9ydFNwZWM7XG4gICAgY29uc3QgbWFuaWZlc3QgPSBhd2FpdCBkb3dubG9hZChzb3VyY2UpO1xuICAgIHJldHVybiBuZXcgSW1wb3J0Q3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uKHNhZmVQYXJzZUNyZHMobWFuaWZlc3QpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZ3JvdXBzOiBSZWNvcmQ8c3RyaW5nLCBDdXN0b21SZXNvdXJjZURlZmluaXRpb25bXT4gPSB7IH07XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihtYW5pZmVzdDogTWFuaWZlc3RPYmplY3REZWZpbml0aW9uW10pIHtcbiAgICBzdXBlcigpO1xuXG4gICAgY29uc3QgY3JkczogUmVjb3JkPHN0cmluZywgQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uPiA9IHsgfTtcbiAgICBjb25zdCBncm91cHM6IFJlY29yZDxzdHJpbmcsIEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbltdPiA9IHsgfTtcblxuICAgIGZvciAoY29uc3Qgc3BlYyBvZiBtYW5pZmVzdCkge1xuICAgICAgY29uc3QgY3JkID0gbmV3IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbihzcGVjKTtcbiAgICAgIGNvbnN0IGtleSA9IGNyZC5rZXk7XG5cbiAgICAgIGlmIChrZXkgaW4gY3Jkcykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7a2V5fSBhbHJlYWR5IGV4aXN0c2ApO1xuICAgICAgfVxuICAgICAgY3Jkc1trZXldID0gY3JkO1xuICAgIH1cblxuICAgIC8vc29ydCB0byBlbnN1cmUgY29uc2lzdGVudCBvcmRlcmluZyBmb3Igc25hcHNob3QgY29tcGFyZVxuICAgIGNvbnN0IHNvcnRlZENyZHMgPSBPYmplY3QudmFsdWVzKGNyZHMpLnNvcnQoKGE6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbiwgYjogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uKSA9PiBhLmtleS5sb2NhbGVDb21wYXJlKGIua2V5KSk7XG5cbiAgICBmb3IgKGNvbnN0IGNyZCBvZiBzb3J0ZWRDcmRzKSB7XG4gICAgICBjb25zdCBnID0gY3JkLmdyb3VwO1xuICAgICAgaWYgKCAhKGcgaW4gZ3JvdXBzKSApIHtcbiAgICAgICAgZ3JvdXBzW2ddID0gbmV3IEFycmF5PEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbj4oKTtcbiAgICAgIH1cbiAgICAgIGdyb3Vwc1tnXS5wdXNoKGNyZCk7XG4gICAgfVxuXG4gICAgdGhpcy5ncm91cHMgPSBncm91cHM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1vZHVsZU5hbWVzKCkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmdyb3Vwcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZ2VuZXJhdGVUeXBlU2NyaXB0KGNvZGU6IENvZGVNYWtlciwgbW9kdWxlTmFtZTogc3RyaW5nLCBvcHRpb25zOiBHZW5lcmF0ZU9wdGlvbnMpIHtcbiAgICBjb25zdCBjcmRzID0gdGhpcy5ncm91cHNbbW9kdWxlTmFtZV07XG5cblxuICAgIGVtaXRIZWFkZXIoY29kZSwgdHJ1ZSk7XG5cbiAgICBmb3IgKGNvbnN0IGNyZCBvZiBjcmRzKSB7XG4gICAgICBjb25zb2xlLmxvZyhgICAke2NyZC5rZXl9YCk7XG4gICAgICBhd2FpdCBjcmQuZ2VuZXJhdGVUeXBlU2NyaXB0KGNvZGUsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhc3NlcnQoY29uZGl0aW9uOiBib29sZWFuLCBtZXNzYWdlOiBzdHJpbmcpIHtcbiAgaWYgKCFjb25kaXRpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uIG1hbmlmZXN0OiAke21lc3NhZ2V9YCk7XG4gIH1cbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gc2FmZVBhcnNlQ3JkcyhtYW5pZmVzdDogc3RyaW5nKTogTWFuaWZlc3RPYmplY3REZWZpbml0aW9uW10ge1xuICBjb25zdCBzY2hlbWFQYXRoID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJ3NjaGVtYXMnLCAnY3JkLnNjaGVtYS5qc29uJyk7XG4gIGNvbnN0IHNjaGVtYSA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHNjaGVtYVBhdGgsIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KSk7XG4gIGNvbnN0IHJldml2ZXIgPSBuZXcgU2FmZVJldml2ZXIoe1xuICAgIHNhbml0aXplcnM6IFtTYWZlUmV2aXZlci5ERVNDUklQVElPTl9TQU5JVElaRVIsIFNhZmVSZXZpdmVyLkxFR0FMX0NIQVJfU0FOSVRJWkVSXSxcbiAgfSk7XG5cbiAgLy8gZmlyc3QgcGFyc2UgYW5kIHN0cmlwXG4gIGNvbnN0IG9iamVjdHMgPSBzYWZlUGFyc2VZYW1sKG1hbmlmZXN0LCByZXZpdmVyKTtcblxuICAvLyBzaW5jZSB0aGUgbWFuaWZlc3QgY2FuIGNvbnRhaW4gbm9uIGNyZHMgYXMgd2VsbCwgd2UgZmlyc3RcbiAgLy8gY29sbGVjdCBhbGwgY3JkcyBhbmQgb25seSBhcHBseSBhIHNjaGVtYSB2YWxpZGF0aW9uIG9uIHRoZW0uXG5cbiAgY29uc3QgY3JkczogYW55W10gPSBbXTtcblxuICBmdW5jdGlvbiBjb2xsZWN0Q1JEcyhvYmpzOiBhbnlbXSkge1xuICAgIGZvciAoY29uc3Qgb2JqIG9mIG9ianMuZmlsdGVyKG8gPT4gbykpIHtcbiAgICAgIGlmIChvYmoua2luZCA9PT0gQ1JEX0tJTkQpIHtcbiAgICAgICAgY3Jkcy5wdXNoKG9iaik7XG4gICAgICB9XG4gICAgICBpZiAob2JqLmtpbmQgPT09ICdMaXN0Jykge1xuICAgICAgICBjb2xsZWN0Q1JEcyhvYmouaXRlbXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbGxlY3RDUkRzKG9iamVjdHMpO1xuXG4gIGNvbnN0IGFqdiA9IG5ldyBBanYoKTtcbiAgY29uc3QgdmFsaWRhdGUgPSBhanYuY29tcGlsZShzY2hlbWEpO1xuICBjb25zdCBlcnJvcnMgPSBbXTtcbiAgZm9yIChjb25zdCBjcmQgb2YgY3Jkcykge1xuICAgIHZhbGlkYXRlKGNyZCk7XG4gICAgaWYgKHZhbGlkYXRlLmVycm9ycykge1xuICAgICAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGUuZXJyb3JzKTtcbiAgICB9O1xuICB9XG4gIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgU2NoZW1hIHZhbGlkYXRpb24gZXJyb3JzIGRldGVjdGVkXFxuICR7ZXJyb3JzLm1hcChlID0+IGAqICR7ZS5tZXNzYWdlfWApLmpvaW4oJ1xcbicpfWApO1xuICB9XG4gIHJldHVybiBjcmRzO1xufVxuIl19
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltcG9ydC9jcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBeUI7QUFDekIsMkNBQTZCO0FBQzdCLDhDQUFzQjtBQUN0Qix5Q0FBb0Q7QUFDcEQseUNBQTBDO0FBQzFDLGlDQUFxRDtBQUNyRCx1Q0FBMEQ7QUFFMUQsd0NBQXlDO0FBQ3pDLGtDQUFrRDtBQUVsRCxNQUFNLFFBQVEsR0FBRywwQkFBMEIsQ0FBQztBQTBCNUMsc0RBQXNEO0FBQ3RELE1BQU0sc0JBQXNCLEdBQUc7SUFDN0IsOEJBQThCO0lBQzlCLHlCQUF5QjtDQUMxQixDQUFDO0FBRUYsTUFBYSx3QkFBd0I7SUFPbkMsWUFBWSxRQUFrQzs7UUFDNUMsTUFBTSxVQUFVLEdBQUcsTUFBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsVUFBVSxtQ0FBSSxXQUFXLENBQUM7UUFDdkQsTUFBTSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxvQkFBb0IsVUFBVSw4QkFBOEIsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEssTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLG1CQUFtQixRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRW5FLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztTQUM5RDtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRSxJ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QUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3JDLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDaEI7WUFDRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO2dCQUN2QixXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3hCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXJCLE1BQU0sR0FBRyxHQUFHLElBQUksYUFBRyxFQUFFLENBQUM7SUFDdEIsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDbEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUU7UUFDdEIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDakM7UUFBQSxDQUFDO0tBQ0g7SUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7S0FDeEc7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUF6Q0Qsc0NBeUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBBanYgZnJvbSAnYWp2JztcbmltcG9ydCB7IENvZGVNYWtlciwgdG9QYXNjYWxDYXNlIH0gZnJvbSAnY29kZW1ha2VyJztcbmltcG9ydCB7IFR5cGVHZW5lcmF0b3IgfSBmcm9tICdqc29uMmpzaWknO1xuaW1wb3J0IHsgR2VuZXJhdGVPcHRpb25zLCBJbXBvcnRCYXNlIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IGVtaXRIZWFkZXIsIGdlbmVyYXRlQ29uc3RydWN0IH0gZnJvbSAnLi9jb2RlZ2VuJztcbmltcG9ydCB7IEltcG9ydFNwZWMgfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHsgU2FmZVJldml2ZXIgfSBmcm9tICcuLi9yZXZpdmVyJztcbmltcG9ydCB7IGRvd25sb2FkLCBzYWZlUGFyc2VZYW1sIH0gZnJvbSAnLi4vdXRpbCc7XG5cbmNvbnN0IENSRF9LSU5EID0gJ0N1c3RvbVJlc291cmNlRGVmaW5pdGlvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFuaWZlc3RPYmplY3REZWZpbml0aW9uIHtcbiAgYXBpVmVyc2lvbj86IHN0cmluZztcbiAga2luZD86IHN0cmluZztcbiAgaXRlbXM/OiBNYW5pZmVzdE9iamVjdERlZmluaXRpb25bXTsgLy8gaWYgYGtpbmRgIGlzIFwiTGlzdFwiXG4gIG1ldGFkYXRhPzoge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gIH07XG4gIHNwZWM/OiB7XG4gICAgZ3JvdXA6IHN0cmluZztcbiAgICBuYW1lczoge1xuICAgICAga2luZDogc3RyaW5nO1xuICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIH07XG4gICAgdmVyc2lvbnM/OiBBcnJheTx7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBzY2hlbWE/OiB7IG9wZW5BUElWM1NjaGVtYT86IGFueSB9O1xuICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIH0+O1xuICAgIHZlcnNpb24/OiBzdHJpbmc7XG4gICAgdmFsaWRhdGlvbj86IHsgb3BlbkFQSVYzU2NoZW1hPzogYW55IH07XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICB9O1xufVxuXG4vLyBhbGwgdGhlc2UgQVBJcyBhcmUgY29tcGF0aWJsZSBmcm9tIG91ciBwZXJzcGVjdGl2ZS5cbmNvbnN0IFNVUFBPUlRFRF9BUElfVkVSU0lPTlMgPSBbXG4gICdhcGlleHRlbnNpb25zLms4cy5pby92MWJldGExJyxcbiAgJ2FwaWV4dGVuc2lvbnMuazhzLmlvL3YxJyxcbl07XG5cbmV4cG9ydCBjbGFzcyBDdXN0b21SZXNvdXJjZURlZmluaXRpb24ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkga2luZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHZlcnNpb25zOiB7IG5hbWU6IHN0cmluZzsgc2NoZW1hPzogYW55IH1bXTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZ3JvdXA6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihtYW5pZmVzdDogTWFuaWZlc3RPYmplY3REZWZpbml0aW9uKSB7XG4gICAgY29uc3QgYXBpVmVyc2lvbiA9IG1hbmlmZXN0Py5hcGlWZXJzaW9uID8/ICd1bmRlZmluZWQnO1xuICAgIGFzc2VydChTVVBQT1JURURfQVBJX1ZFUlNJT05TLmluY2x1ZGVzKGFwaVZlcnNpb24pLCBgXCJhcGlWZXJzaW9uXCIgaXMgXCIke2FwaVZlcnNpb259XCIgYnV0IGl0IHNob3VsZCBiZSBvbmUgb2Y6ICR7U1VQUE9SVEVEX0FQSV9WRVJTSU9OUy5tYXAoeCA9PiBgXCIke3h9XCJgKS5qb2luKCcsICcpfWApO1xuICAgIGFzc2VydChtYW5pZmVzdC5raW5kID09PSBDUkRfS0lORCwgYFwia2luZFwiIG11c3QgYmUgXCIke0NSRF9LSU5EfVwiYCk7XG5cbiAgICBjb25zdCBzcGVjID0gbWFuaWZlc3Quc3BlYztcbiAgICBpZiAoIXNwZWMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWFuaWZlc3QgZG9lcyBub3QgaGF2ZSBhIFwic3BlY1wiIGF0dHJpYnV0ZScpO1xuICAgIH1cblxuICAgIGlmIChzcGVjLnZlcnNpb24pIHtcbiAgICAgIHRoaXMudmVyc2lvbnMgPSBbeyBuYW1lOiBzcGVjLnZlcnNpb24sIHNjaGVtYTogc3BlYy52YWxpZGF0aW9uPy5vcGVuQVBJVjNTY2hlbWEgfV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmVyc2lvbnMgPSAoc3BlYy52ZXJzaW9ucyA/PyBbXSkubWFwKHYgPT4gKHsgbmFtZTogdi5uYW1lLCBzY2hlbWE6IHYuc2NoZW1hPy5vcGVuQVBJVjNTY2hlbWEgPz8gc3BlYy52YWxpZGF0aW9uPy5vcGVuQVBJVjNTY2hlbWEgfSkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZlcnNpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd1bmFibGUgdG8gZGV0ZXJtaW5lIENSRCB2ZXJzaW9ucycpO1xuICAgIH1cblxuICAgIHRoaXMuZ3JvdXAgPSBzcGVjLmdyb3VwO1xuICAgIHRoaXMua2luZCA9IHNwZWMubmFtZXMua2luZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQga2V5KCkge1xuICAgIHJldHVybiBgJHt0aGlzLmdyb3VwfS8ke3RoaXMua2luZC50b0xvY2FsZUxvd2VyQ2FzZSgpfWA7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2VuZXJhdGVUeXBlU2NyaXB0KGNvZGU6IENvZGVNYWtlciwgb3B0aW9uczogR2VuZXJhdGVPcHRpb25zKSB7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudmVyc2lvbnMubGVuZ3RoOyBpKyspIHtcblxuICAgICAgY29uc3QgdmVyc2lvbiA9IHRoaXMudmVyc2lvbnNbaV07XG5cbiAgICAgIC8vIHRvIHByZXNldmUgYmFja3dhcmRzIGNvbXBhdGlibGl0eSwgb25seSBhcHBlbmQgYSBzdWZmaXggZm9yXG4gICAgICAvLyB0aGUgc2Vjb25kIHZlcnNpb24gb253YXJkcy5cbiAgICAgIGNvbnN0IHN1ZmZpeCA9IGkgPT09IDAgPyAnJyA6IHRvUGFzY2FsQ2FzZSh2ZXJzaW9uLm5hbWUpO1xuXG4gICAgICBjb25zdCB0eXBlcyA9IG5ldyBUeXBlR2VuZXJhdG9yKHt9KTtcblxuICAgICAgZ2VuZXJhdGVDb25zdHJ1Y3QodHlwZXMsIHtcbiAgICAgICAgZ3JvdXA6IHRoaXMuZ3JvdXAsXG4gICAgICAgIHZlcnNpb246IHZlcnNpb24ubmFtZSxcbiAgICAgICAga2luZDogdGhpcy5raW5kLFxuICAgICAgICBmcW46IGAke3RoaXMua2luZH0ke3N1ZmZpeH1gLFxuICAgICAgICBzY2hlbWE6IHZlcnNpb24uc2NoZW1hLFxuICAgICAgICBjdXN0b206IHRydWUsXG4gICAgICAgIHByZWZpeDogb3B0aW9ucy5jbGFzc05hbWVQcmVmaXgsXG4gICAgICAgIHN1ZmZpeCxcbiAgICAgIH0pO1xuXG4gICAgICBjb2RlLmxpbmUodHlwZXMucmVuZGVyKCkpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW1wb3J0Q3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uIGV4dGVuZHMgSW1wb3J0QmFzZSB7XG4gIHB1YmxpYyBzdGF0aWMgYXN5bmMgZnJvbVNwZWMoaW1wb3J0U3BlYzogSW1wb3J0U3BlYyk6IFByb21pc2U8SW1wb3J0Q3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uPiB7XG4gICAgY29uc3QgeyBzb3VyY2UgfSA9IGltcG9ydFNwZWM7XG4gICAgY29uc3QgbWFuaWZlc3QgPSBhd2FpdCBkb3dubG9hZChzb3VyY2UpO1xuICAgIHJldHVybiBuZXcgSW1wb3J0Q3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uKHNhZmVQYXJzZUNyZHMobWFuaWZlc3QpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZ3JvdXBzOiBSZWNvcmQ8c3RyaW5nLCBDdXN0b21SZXNvdXJjZURlZmluaXRpb25bXT4gPSB7IH07XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihtYW5pZmVzdDogTWFuaWZlc3RPYmplY3REZWZpbml0aW9uW10pIHtcbiAgICBzdXBlcigpO1xuXG4gICAgY29uc3QgY3JkczogUmVjb3JkPHN0cmluZywgQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uPiA9IHsgfTtcbiAgICBjb25zdCBncm91cHM6IFJlY29yZDxzdHJpbmcsIEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbltdPiA9IHsgfTtcblxuICAgIGZvciAoY29uc3Qgc3BlYyBvZiBtYW5pZmVzdCkge1xuICAgICAgY29uc3QgY3JkID0gbmV3IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbihzcGVjKTtcbiAgICAgIGNvbnN0IGtleSA9IGNyZC5rZXk7XG5cbiAgICAgIGlmIChrZXkgaW4gY3Jkcykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7a2V5fSBhbHJlYWR5IGV4aXN0c2ApO1xuICAgICAgfVxuICAgICAgY3Jkc1trZXldID0gY3JkO1xuICAgIH1cblxuICAgIC8vc29ydCB0byBlbnN1cmUgY29uc2lzdGVudCBvcmRlcmluZyBmb3Igc25hcHNob3QgY29tcGFyZVxuICAgIGNvbnN0IHNvcnRlZENyZHMgPSBPYmplY3QudmFsdWVzKGNyZHMpLnNvcnQoKGE6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbiwgYjogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uKSA9PiBhLmtleS5sb2NhbGVDb21wYXJlKGIua2V5KSk7XG5cbiAgICBmb3IgKGNvbnN0IGNyZCBvZiBzb3J0ZWRDcmRzKSB7XG4gICAgICBjb25zdCBnID0gY3JkLmdyb3VwO1xuICAgICAgaWYgKCAhKGcgaW4gZ3JvdXBzKSApIHtcbiAgICAgICAgZ3JvdXBzW2ddID0gbmV3IEFycmF5PEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbj4oKTtcbiAgICAgIH1cbiAgICAgIGdyb3Vwc1tnXS5wdXNoKGNyZCk7XG4gICAgfVxuXG4gICAgdGhpcy5ncm91cHMgPSBncm91cHM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1vZHVsZU5hbWVzKCkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmdyb3Vwcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZ2VuZXJhdGVUeXBlU2NyaXB0KGNvZGU6IENvZGVNYWtlciwgbW9kdWxlTmFtZTogc3RyaW5nLCBvcHRpb25zOiBHZW5lcmF0ZU9wdGlvbnMpIHtcbiAgICBjb25zdCBjcmRzID0gdGhpcy5ncm91cHNbbW9kdWxlTmFtZV07XG5cblxuICAgIGVtaXRIZWFkZXIoY29kZSwgdHJ1ZSk7XG5cbiAgICBmb3IgKGNvbnN0IGNyZCBvZiBjcmRzKSB7XG4gICAgICBjb25zb2xlLmxvZyhgICAke2NyZC5rZXl9YCk7XG4gICAgICBhd2FpdCBjcmQuZ2VuZXJhdGVUeXBlU2NyaXB0KGNvZGUsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhc3NlcnQoY29uZGl0aW9uOiBib29sZWFuLCBtZXNzYWdlOiBzdHJpbmcpIHtcbiAgaWYgKCFjb25kaXRpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uIG1hbmlmZXN0OiAke21lc3NhZ2V9YCk7XG4gIH1cbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gc2FmZVBhcnNlQ3JkcyhtYW5pZmVzdDogc3RyaW5nKTogTWFuaWZlc3RPYmplY3REZWZpbml0aW9uW10ge1xuICBjb25zdCBzY2hlbWFQYXRoID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJ3NjaGVtYXMnLCAnY3JkLnNjaGVtYS5qc29uJyk7XG4gIGNvbnN0IHNjaGVtYSA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHNjaGVtYVBhdGgsIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KSk7XG4gIGNvbnN0IHJldml2ZXIgPSBuZXcgU2FmZVJldml2ZXIoe1xuICAgIHNhbml0aXplcnM6IFtTYWZlUmV2aXZlci5ERVNDUklQVElPTl9TQU5JVElaRVIsIFNhZmVSZXZpdmVyLkxFR0FMX0NIQVJfU0FOSVRJWkVSXSxcbiAgfSk7XG5cbiAgLy8gZmlyc3QgcGFyc2UgYW5kIHN0cmlwXG4gIGNvbnN0IG9iamVjdHMgPSBzYWZlUGFyc2VZYW1sKG1hbmlmZXN0LCByZXZpdmVyKTtcblxuICAvLyBzaW5jZSB0aGUgbWFuaWZlc3QgY2FuIGNvbnRhaW4gbm9uIGNyZHMgYXMgd2VsbCwgd2UgZmlyc3RcbiAgLy8gY29sbGVjdCBhbGwgY3JkcyBhbmQgb25seSBhcHBseSBhIHNjaGVtYSB2YWxpZGF0aW9uIG9uIHRoZW0uXG5cbiAgY29uc3QgY3JkczogYW55W10gPSBbXTtcblxuICBmdW5jdGlvbiBjb2xsZWN0Q1JEcyhvYmpzOiBhbnlbXSkge1xuICAgIGZvciAoY29uc3Qgb2JqIG9mIG9ianMuZmlsdGVyKG8gPT4gbykpIHtcbiAgICAgIGlmIChvYmoua2luZCA9PT0gQ1JEX0tJTkQpIHtcbiAgICAgICAgY3Jkcy5wdXNoKG9iaik7XG4gICAgICB9XG4gICAgICBpZiAob2JqLmtpbmQgPT09ICdMaXN0Jykge1xuICAgICAgICBjb2xsZWN0Q1JEcyhvYmouaXRlbXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbGxlY3RDUkRzKG9iamVjdHMpO1xuXG4gIGNvbnN0IGFqdiA9IG5ldyBBanYoKTtcbiAgY29uc3QgdmFsaWRhdGUgPSBhanYuY29tcGlsZShzY2hlbWEpO1xuICBjb25zdCBlcnJvcnMgPSBbXTtcbiAgZm9yIChjb25zdCBjcmQgb2YgY3Jkcykge1xuICAgIHZhbGlkYXRlKGNyZCk7XG4gICAgaWYgKHZhbGlkYXRlLmVycm9ycykge1xuICAgICAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGUuZXJyb3JzKTtcbiAgICB9O1xuICB9XG4gIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgU2NoZW1hIHZhbGlkYXRpb24gZXJyb3JzIGRldGVjdGVkXFxuICR7ZXJyb3JzLm1hcChlID0+IGAqICR7ZS5tZXNzYWdlfWApLmpvaW4oJ1xcbicpfWApO1xuICB9XG4gIHJldHVybiBjcmRzO1xufVxuIl19
@@ -1,3 +1,3 @@
1
- import { ImportSpec } from '../config';
2
1
  import { ImportOptions } from './base';
2
+ import { ImportSpec } from '../config';
3
3
  export declare function importDispatch(imports: ImportSpec[], argv: any, options: ImportOptions): Promise<void>;
@@ -32,4 +32,4 @@ async function matchImporter(importSpec, argv) {
32
32
  // default to a normal CRD
33
33
  return crd_1.ImportCustomResourceDefinition.fromSpec(importSpec);
34
34
  }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1wb3J0L2Rpc3BhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLCtCQUF1RDtBQUN2RCx5Q0FBNkM7QUFDN0MsK0JBQTRDO0FBRXJDLEtBQUssVUFBVSxjQUFjLENBQUMsT0FBcUIsRUFBRSxJQUFTLEVBQUUsT0FBc0I7SUFDM0YsS0FBSyxNQUFNLFVBQVUsSUFBSSxPQUFPLEVBQUU7UUFDaEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxhQUFhLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1NBQ3hFO1FBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1FBRXJFLE1BQU0sUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNwQixnQkFBZ0IsRUFBRSxVQUFVLENBQUMsZ0JBQWdCO1lBQzdDLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztLQUNKO0FBQ0gsQ0FBQztBQWZELHdDQWVDO0FBRUQsS0FBSyxVQUFVLGFBQWEsQ0FBQyxVQUFzQixFQUFFLElBQVM7SUFFNUQscUNBQXFDO0lBQ3JDLE1BQU0sR0FBRyxHQUFHLE1BQU0seUJBQW1CLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RCxJQUFJLEdBQUcsRUFBRTtRQUNQLE9BQU8sSUFBSSx5QkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUNyQztJQUVELHFDQUFxQztJQUNyQyxNQUFNLFVBQVUsR0FBRyxJQUFBLDBCQUFlLEVBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RELElBQUksVUFBVSxFQUFFO1FBQ2QsT0FBTyxvQ0FBOEIsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7S0FDdkg7SUFFRCwwQkFBMEI7SUFDMUIsT0FBTyxvQ0FBOEIsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDN0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEltcG9ydFNwZWMgfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHsgSW1wb3J0QmFzZSwgSW1wb3J0T3B0aW9ucyB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBJbXBvcnRDdXN0b21SZXNvdXJjZURlZmluaXRpb24gfSBmcm9tICcuL2NyZCc7XG5pbXBvcnQgeyBtYXRjaENyZHNEZXZVcmwgfSBmcm9tICcuL2NyZHMtZGV2JztcbmltcG9ydCB7IEltcG9ydEt1YmVybmV0ZXNBcGkgfSBmcm9tICcuL2s4cyc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbXBvcnREaXNwYXRjaChpbXBvcnRzOiBJbXBvcnRTcGVjW10sIGFyZ3Y6IGFueSwgb3B0aW9uczogSW1wb3J0T3B0aW9ucykge1xuICBmb3IgKGNvbnN0IGltcG9ydFNwZWMgb2YgaW1wb3J0cykge1xuICAgIGNvbnN0IGltcG9ydGVyID0gYXdhaXQgbWF0Y2hJbXBvcnRlcihpbXBvcnRTcGVjLCBhcmd2KTtcblxuICAgIGlmICghaW1wb3J0ZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdW5hYmxlIHRvIGRldGVybWluZSBpbXBvcnQgdHlwZSBmb3IgXCIke2ltcG9ydFNwZWN9XCJgKTtcbiAgICB9XG5cbiAgICBjb25zb2xlLmVycm9yKCdJbXBvcnRpbmcgcmVzb3VyY2VzLCB0aGlzIG1heSB0YWtlIGEgZmV3IG1vbWVudHMuLi4nKTtcblxuICAgIGF3YWl0IGltcG9ydGVyLmltcG9ydCh7XG4gICAgICBtb2R1bGVOYW1lUHJlZml4OiBpbXBvcnRTcGVjLm1vZHVsZU5hbWVQcmVmaXgsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIG1hdGNoSW1wb3J0ZXIoaW1wb3J0U3BlYzogSW1wb3J0U3BlYywgYXJndjogYW55KTogUHJvbWlzZTxJbXBvcnRCYXNlPiB7XG5cbiAgLy8gZmlyc3QgY2hlY2sgaWYgaXRzIGEgYGs4c0BgIGltcG9ydFxuICBjb25zdCBrOHMgPSBhd2FpdCBJbXBvcnRLdWJlcm5ldGVzQXBpLm1hdGNoKGltcG9ydFNwZWMsIGFyZ3YpO1xuICBpZiAoazhzKSB7XG4gICAgcmV0dXJuIG5ldyBJbXBvcnRLdWJlcm5ldGVzQXBpKGs4cyk7XG4gIH1cblxuICAvLyBub3cgY2hlY2sgaWYgaXRzIGEgY3Jkcy5kZXYgaW1wb3J0XG4gIGNvbnN0IGNyZHNEZXZVcmwgPSBtYXRjaENyZHNEZXZVcmwoaW1wb3J0U3BlYy5zb3VyY2UpO1xuICBpZiAoY3Jkc0RldlVybCkge1xuICAgIHJldHVybiBJbXBvcnRDdXN0b21SZXNvdXJjZURlZmluaXRpb24uZnJvbVNwZWMoeyBzb3VyY2U6IGNyZHNEZXZVcmwsIG1vZHVsZU5hbWVQcmVmaXg6IGltcG9ydFNwZWMubW9kdWxlTmFtZVByZWZpeCB9KTtcbiAgfVxuXG4gIC8vIGRlZmF1bHQgdG8gYSBub3JtYWwgQ1JEXG4gIHJldHVybiBJbXBvcnRDdXN0b21SZXNvdXJjZURlZmluaXRpb24uZnJvbVNwZWMoaW1wb3J0U3BlYyk7XG59XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1wb3J0L2Rpc3BhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLCtCQUF1RDtBQUN2RCx5Q0FBNkM7QUFDN0MsK0JBQTRDO0FBR3JDLEtBQUssVUFBVSxjQUFjLENBQUMsT0FBcUIsRUFBRSxJQUFTLEVBQUUsT0FBc0I7SUFDM0YsS0FBSyxNQUFNLFVBQVUsSUFBSSxPQUFPLEVBQUU7UUFDaEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxhQUFhLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1NBQ3hFO1FBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1FBRXJFLE1BQU0sUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNwQixnQkFBZ0IsRUFBRSxVQUFVLENBQUMsZ0JBQWdCO1lBQzdDLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztLQUNKO0FBQ0gsQ0FBQztBQWZELHdDQWVDO0FBRUQsS0FBSyxVQUFVLGFBQWEsQ0FBQyxVQUFzQixFQUFFLElBQVM7SUFFNUQscUNBQXFDO0lBQ3JDLE1BQU0sR0FBRyxHQUFHLE1BQU0seUJBQW1CLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RCxJQUFJLEdBQUcsRUFBRTtRQUNQLE9BQU8sSUFBSSx5QkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUNyQztJQUVELHFDQUFxQztJQUNyQyxNQUFNLFVBQVUsR0FBRyxJQUFBLDBCQUFlLEVBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RELElBQUksVUFBVSxFQUFFO1FBQ2QsT0FBTyxvQ0FBOEIsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7S0FDdkg7SUFFRCwwQkFBMEI7SUFDMUIsT0FBTyxvQ0FBOEIsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDN0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEltcG9ydEJhc2UsIEltcG9ydE9wdGlvbnMgfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgSW1wb3J0Q3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uIH0gZnJvbSAnLi9jcmQnO1xuaW1wb3J0IHsgbWF0Y2hDcmRzRGV2VXJsIH0gZnJvbSAnLi9jcmRzLWRldic7XG5pbXBvcnQgeyBJbXBvcnRLdWJlcm5ldGVzQXBpIH0gZnJvbSAnLi9rOHMnO1xuaW1wb3J0IHsgSW1wb3J0U3BlYyB9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbXBvcnREaXNwYXRjaChpbXBvcnRzOiBJbXBvcnRTcGVjW10sIGFyZ3Y6IGFueSwgb3B0aW9uczogSW1wb3J0T3B0aW9ucykge1xuICBmb3IgKGNvbnN0IGltcG9ydFNwZWMgb2YgaW1wb3J0cykge1xuICAgIGNvbnN0IGltcG9ydGVyID0gYXdhaXQgbWF0Y2hJbXBvcnRlcihpbXBvcnRTcGVjLCBhcmd2KTtcblxuICAgIGlmICghaW1wb3J0ZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdW5hYmxlIHRvIGRldGVybWluZSBpbXBvcnQgdHlwZSBmb3IgXCIke2ltcG9ydFNwZWN9XCJgKTtcbiAgICB9XG5cbiAgICBjb25zb2xlLmVycm9yKCdJbXBvcnRpbmcgcmVzb3VyY2VzLCB0aGlzIG1heSB0YWtlIGEgZmV3IG1vbWVudHMuLi4nKTtcblxuICAgIGF3YWl0IGltcG9ydGVyLmltcG9ydCh7XG4gICAgICBtb2R1bGVOYW1lUHJlZml4OiBpbXBvcnRTcGVjLm1vZHVsZU5hbWVQcmVmaXgsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIG1hdGNoSW1wb3J0ZXIoaW1wb3J0U3BlYzogSW1wb3J0U3BlYywgYXJndjogYW55KTogUHJvbWlzZTxJbXBvcnRCYXNlPiB7XG5cbiAgLy8gZmlyc3QgY2hlY2sgaWYgaXRzIGEgYGs4c0BgIGltcG9ydFxuICBjb25zdCBrOHMgPSBhd2FpdCBJbXBvcnRLdWJlcm5ldGVzQXBpLm1hdGNoKGltcG9ydFNwZWMsIGFyZ3YpO1xuICBpZiAoazhzKSB7XG4gICAgcmV0dXJuIG5ldyBJbXBvcnRLdWJlcm5ldGVzQXBpKGs4cyk7XG4gIH1cblxuICAvLyBub3cgY2hlY2sgaWYgaXRzIGEgY3Jkcy5kZXYgaW1wb3J0XG4gIGNvbnN0IGNyZHNEZXZVcmwgPSBtYXRjaENyZHNEZXZVcmwoaW1wb3J0U3BlYy5zb3VyY2UpO1xuICBpZiAoY3Jkc0RldlVybCkge1xuICAgIHJldHVybiBJbXBvcnRDdXN0b21SZXNvdXJjZURlZmluaXRpb24uZnJvbVNwZWMoeyBzb3VyY2U6IGNyZHNEZXZVcmwsIG1vZHVsZU5hbWVQcmVmaXg6IGltcG9ydFNwZWMubW9kdWxlTmFtZVByZWZpeCB9KTtcbiAgfVxuXG4gIC8vIGRlZmF1bHQgdG8gYSBub3JtYWwgQ1JEXG4gIHJldHVybiBJbXBvcnRDdXN0b21SZXNvdXJjZURlZmluaXRpb24uZnJvbVNwZWMoaW1wb3J0U3BlYyk7XG59XG4iXX0=
@@ -1,8 +1,8 @@
1
1
  import { CodeMaker } from 'codemaker';
2
2
  import { JSONSchema4 } from 'json-schema';
3
- import { ImportSpec } from '../config';
4
3
  import { GenerateOptions, ImportBase } from './base';
5
4
  import { ApiObjectDefinition } from './codegen';
5
+ import { ImportSpec } from '../config';
6
6
  export declare const DEFAULT_API_VERSION = "1.25.0";
7
7
  export interface ImportKubernetesApiOptions {
8
8
  /**
package/lib/import/k8s.js CHANGED
@@ -2,10 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.findApiObjectDefinitions = exports.ImportKubernetesApi = exports.DEFAULT_API_VERSION = void 0;
4
4
  const json2jsii_1 = require("json2jsii");
5
- const util_1 = require("../util");
6
5
  const base_1 = require("./base");
7
6
  const codegen_1 = require("./codegen");
8
7
  const k8s_util_1 = require("./k8s-util");
8
+ const util_1 = require("../util");
9
9
  exports.DEFAULT_API_VERSION = '1.25.0';
10
10
  const DEFAULT_CLASS_NAME_PREFIX = 'Kube';
11
11
  class ImportKubernetesApi extends base_1.ImportBase {
@@ -140,4 +140,4 @@ async function downloadSchema(apiVersion) {
140
140
  throw new Error(`Unable to parse schema at ${url}: ${e}`);
141
141
  }
142
142
  }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltcG9ydC9rOHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEseUNBQTBDO0FBRTFDLGtDQUFtQztBQUNuQyxpQ0FBcUQ7QUFDckQsdUNBQThHO0FBQzlHLHlDQUFtRTtBQUd0RCxRQUFBLG1CQUFtQixHQUFHLFFBQVEsQ0FBQztBQUU1QyxNQUFNLHlCQUF5QixHQUFHLE1BQU0sQ0FBQztBQWdCekMsTUFBYSxtQkFBb0IsU0FBUSxpQkFBVTtJQUUxQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFzQixFQUFFLElBQVM7O1FBQ3pELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxNQUFNLEtBQUssS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsRCxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELElBQUksVUFBVSxHQUFHLE1BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsbUNBQUksMkJBQW1CLENBQUM7UUFFN0QsTUFBTSxlQUFlLEdBQUcsaUJBQWlCLENBQUM7UUFDMUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsVUFBVSw4Q0FBOEMsQ0FBQyxDQUFDO1NBQ3BHO1FBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsVUFBVSxLQUFLLENBQUMsQ0FBQztRQUVqRCxPQUFPO1lBQ0wsVUFBVSxFQUFFLFVBQVU7WUFDdEIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBNkIsT0FBbUM7UUFDOUQsS0FBSyxFQUFFLENBQUM7UUFEbUIsWUFBTyxHQUFQLE9BQU8sQ0FBNEI7SUFFaEUs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SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQzNEO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZGVNYWtlciB9IGZyb20gJ2NvZGVtYWtlcic7XG5cbi8vIHdlIGp1c3QgbmVlZCB0aGUgdHlwZXMgZnJvbSBqc29uLXNjaGVtYVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0IHsgSlNPTlNjaGVtYTQgfSBmcm9tICdqc29uLXNjaGVtYSc7XG5cbmltcG9ydCB7IFR5cGVHZW5lcmF0b3IgfSBmcm9tICdqc29uMmpzaWknO1xuaW1wb3J0IHsgSW1wb3J0U3BlYyB9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBkb3dubG9hZCB9IGZyb20gJy4uL3V0aWwnO1xuaW1wb3J0IHsgR2VuZXJhdGVPcHRpb25zLCBJbXBvcnRCYXNlIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IEFwaU9iamVjdERlZmluaXRpb24sIGVtaXRIZWFkZXIsIGdlbmVyYXRlQ29uc3RydWN0LCBnZXRQcm9wc1R5cGVOYW1lLCBnZXRUeXBlTmFtZSB9IGZyb20gJy4vY29kZWdlbic7XG5pbXBvcnQgeyBwYXJzZUFwaVR5cGVOYW1lLCBzYWZlUGFyc2VKc29uU2NoZW1hIH0gZnJvbSAnLi9rOHMtdXRpbCc7XG5cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQVBJX1ZFUlNJT04gPSAnMS4yNS4wJztcblxuY29uc3QgREVGQVVMVF9DTEFTU19OQU1FX1BSRUZJWCA9ICdLdWJlJztcblxuZXhwb3J0IGludGVyZmFjZSBJbXBvcnRLdWJlcm5ldGVzQXBpT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgQVBJIHZlcnNpb24gdG8gZ2VuZXJhdGUuXG4gICAqL1xuICByZWFkb25seSBhcGlWZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERvIG5vdCBpbXBvcnQgdGhlc2UgdHlwZXMuIEluc3RlYWQsIHJlcHJlc2VudCB0aGVtIGFzIFwiYW55XCIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gaW5jbHVkZSBhbGwgdHlwZXMgdGhhdCBkZXJpdmUgZnJvbSB0aGUgcm9vdCB0eXBlcy5cbiAgICovXG4gIHJlYWRvbmx5IGV4Y2x1ZGU/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNsYXNzIEltcG9ydEt1YmVybmV0ZXNBcGkgZXh0ZW5kcyBJbXBvcnRCYXNlIHtcblxuICBwdWJsaWMgc3RhdGljIGFzeW5jIG1hdGNoKGltcG9ydFNwZWM6IEltcG9ydFNwZWMsIGFyZ3Y6IGFueSk6IFByb21pc2U8SW1wb3J0S3ViZXJuZXRlc0FwaU9wdGlvbnMgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCB7IHNvdXJjZSB9ID0gaW1wb3J0U3BlYztcbiAgICBpZiAoc291cmNlICE9PSAnazhzJyAmJiAhc291cmNlLnN0YXJ0c1dpdGgoJ2s4c0AnKSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBsZXQgazhzVmVyc2lvbiA9IHNvdXJjZS5zcGxpdCgnQCcpWzFdID8/IERFRkFVTFRfQVBJX1ZFUlNJT047XG5cbiAgICBjb25zdCBrOHNWZXJzaW9uUmVnZXggPSAvXlxcZCtcXC5cXGQrXFwuXFxkKyQvO1xuICAgIGlmICghazhzVmVyc2lvblJlZ2V4LnRlc3QoazhzVmVyc2lvbikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgazhzIHZlcnNpb24gXCIke2s4c1ZlcnNpb259XCIgdG8gbWF0Y2ggZm9ybWF0IFwiPG1ham9yPi48bWlub3I+LjxwYXRjaD5cIi5gKTtcbiAgICB9XG5cbiAgICBjb25zb2xlLmVycm9yKGBJbXBvcnRpbmcgazhzIHYke2s4c1ZlcnNpb259Li4uYCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgYXBpVmVyc2lvbjogazhzVmVyc2lvbixcbiAgICAgIGV4Y2x1ZGU6IGFyZ3YuZXhjbHVkZSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBJbXBvcnRLdWJlcm5ldGVzQXBpT3B0aW9ucykge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1vZHVsZU5hbWVzKCkge1xuICAgIHJldHVybiBbJ2s4cyddO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGdlbmVyYXRlVHlwZVNjcmlwdChjb2RlOiBDb2RlTWFrZXIsIG1vZHVsZU5hbWU6IHN0cmluZywgb3B0aW9uczogR2VuZXJhdGVPcHRpb25zKSB7XG4gICAgY29uc3Qgc2NoZW1hID0gYXdhaXQgZG93bmxvYWRTY2hlbWEodGhpcy5vcHRpb25zLmFwaVZlcnNpb24pO1xuXG4gICAgaWYgKG1vZHVsZU5hbWUgIT09ICdrOHMnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHVuZXhwZWN0ZWQgbW9kdWxlIG5hbWUgXCIke21vZHVsZU5hbWV9XCIgd2hlbiBpbXBvcnRpbmcgazhzIHR5cGVzIChleHBlY3RlZCBcIms4c1wiKWApO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWZpeCA9IG9wdGlvbnMuY2xhc3NOYW1lUHJlZml4ID8/IERFRkFVTFRfQ0xBU1NfTkFNRV9QUkVGSVg7XG4gICAgY29uc3QgdG9wTGV2ZWxPYmplY3RzID0gZmluZEFwaU9iamVjdERlZmluaXRpb25zKHNjaGVtYSwgcHJlZml4KTtcblxuICAgIGNvbnN0IHR5cGVHZW5lcmF0b3IgPSBuZXcgVHlwZUdlbmVyYXRvcih7XG4gICAgICBkZWZpbml0aW9uczogc2NoZW1hLmRlZmluaXRpb25zLFxuICAgICAgZXhjbHVkZTogdGhpcy5vcHRpb25zLmV4Y2x1ZGUsXG4gICAgICByZW5kZXJUeXBlTmFtZTogKGRlZjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlQXBpVHlwZU5hbWUoZGVmKTtcbiAgICAgICAgaWYgKCFwYXJzZWQudmVyc2lvbikge1xuICAgICAgICAgIC8vIG5vdCBhIHZlcnNpb25lZCBhcGkgdHlwZS4gcmV0dXJuIGJhc2VuYW1lXG4gICAgICAgICAgcmV0dXJuIHBhcnNlZC5iYXNlbmFtZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2V0VHlwZU5hbWUoZmFsc2UsIHBhcnNlZC5iYXNlbmFtZSwgcGFyc2VkLnZlcnNpb24ucmF3KTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyByZW5hbWUgXCJQcm9wc1wiIHR5cGUgZnJvbSB0aGVpciBvcmlnaW5hbCBuYW1lIGJhc2VkIG9uIHRoZSBBUEkgb2JqZWN0IGtpbmRcbiAgICAvLyAoZS5nLiBgRGVwbG95bWVudGApIHRvIHRoZWlyIGFjdHVhbCBwcm9wcyB0eXBlIChgS3ViZURlcGxveW1lbnRQcm9wc2ApIGluXG4gICAgLy8gb3JkZXIgdG8gYXZvaWQgY29uZnVzaW9uIGJldHdlZW4gY29uc3RydWN0cyAoYEt1YmVEZXBsb3ltZW50YCkgYW5kIHRob3NlXG4gICAgLy8gdHlwZXMuIFRoaXMgaXMgZG9uZSBieSBzaW1wbHkgcmVwbGFjaW5nIHRoZWlyIGRlZmluaXRpb24gaW4gdGhlIHNjaGVtYVxuICAgIC8vIHdpdGggYSAkcmVmIHRvIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBwcm9wcyB0eXBlLlxuICAgIGZvciAoY29uc3QgbyBvZiB0b3BMZXZlbE9iamVjdHMpIHtcbiAgICAgIHR5cGVHZW5lcmF0b3IuYWRkRGVmaW5pdGlvbihvLmZxbiwgeyAkcmVmOiBgIy9kZWZpbml0aW9ucy8ke2dldFByb3BzVHlwZU5hbWUobyl9YCB9KTtcbiAgICB9XG5cbiAgICAvLyBlbWl0IGNvbnN0cnVjdCB0eXBlcyAocmVjdXJzaXZlKVxuICAgIGZvciAoY29uc3QgbyBvZiB0b3BMZXZlbE9iamVjdHMpIHtcbiAgICAgIGdlbmVyYXRlQ29uc3RydWN0KHR5cGVHZW5lcmF0b3IsIG8pO1xuICAgIH1cblxuICAgIGVtaXRIZWFkZXIoY29kZSwgZmFsc2UpO1xuXG4gICAgY29kZS5saW5lKHR5cGVHZW5lcmF0b3IucmVuZGVyKCkpO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG1hcCBvZiBhbGwgQVBJIG9iamVjdHMgaW4gdGhlIHNwZWMgKG9iamVjdHMgdGhhdCBoYXZlIHRoZVxuICogJ3gta3ViZXJuZXRlcy1ncm91cC12ZXJzaW9uLWtpbmQnIGFubm90YXRpb24pLlxuICpcbiAqIFRoZSBrZXkgaXMgdGhlIGJhc2UgbmFtZSBvZiB0aGUgdHlwZSAoaS5lLiBgRGVwbG95bWVudGApLiBTaW5jZSBBUEkgb2JqZWN0c1xuICogbWF5IGhhdmUgbXVsdGlwbGUgdmVyc2lvbnMsIGVhY2ggdmFsdWUgaW4gdGhlIG1hcCBpcyBhbiBhcnJheSBvZiB0eXBlIGRlZmluaXRpb25zXG4gKiBhbG9uZyB3aXRoIHZlcnNpb24gaW5mb3JtYXRpb24uXG4gKlxuICogQHNlZSBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9vdmVydmlldy9rdWJlcm5ldGVzLWFwaS8jYXBpLXZlcnNpb25pbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRBcGlPYmplY3REZWZpbml0aW9ucyhzY2hlbWE6IEpTT05TY2hlbWE0LCBwcmVmaXg6IHN0cmluZyk6IEFwaU9iamVjdERlZmluaXRpb25bXSB7XG4gIGNvbnN0IHJlc3VsdCA9IG5ldyBBcnJheTxBcGlPYmplY3REZWZpbml0aW9uPigpO1xuXG4gIGZvciAoY29uc3QgW3R5cGVuYW1lLCBhcGlzY2hlbWFdIG9mIE9iamVjdC5lbnRyaWVzKHNjaGVtYS5kZWZpbml0aW9ucyB8fCB7IH0pKSB7XG4gICAgY29uc3Qgb2JqZWN0TmFtZSA9IHRyeUdldE9iamVjdE5hbWUoYXBpc2NoZW1hKTtcbiAgICBpZiAoIW9iamVjdE5hbWUpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHR5cGUgPSBwYXJzZUFwaVR5cGVOYW1lKHR5cGVuYW1lKTtcbiAgICBpZiAoIXR5cGUudmVyc2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gcGFyc2UgdmVyc2lvbiBmb3IgdHlwZTogJHt0eXBlbmFtZX1gKTtcbiAgICB9XG4gICAgcmVzdWx0LnB1c2goe1xuICAgICAgY3VzdG9tOiBmYWxzZSwgLy8gbm90IGEgQ1JEXG4gICAgICBmcW46IHR5cGUuZnVsbG5hbWUsXG4gICAgICBncm91cDogb2JqZWN0TmFtZS5ncm91cCxcbiAgICAgIGtpbmQ6IG9iamVjdE5hbWUua2luZCxcbiAgICAgIHZlcnNpb246IG9iamVjdE5hbWUudmVyc2lvbixcbiAgICAgIHNjaGVtYTogYXBpc2NoZW1hLFxuICAgICAgcHJlZml4LFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gdHJ5R2V0T2JqZWN0TmFtZShkZWY6IEpTT05TY2hlbWE0KTogR3JvdXBWZXJzaW9uS2luZCB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IG9iamVjdE5hbWVzID0gZGVmW1hfR1JPVVBfVkVSU0lPTl9LSU5EXSBhcyBHcm91cFZlcnNpb25LaW5kW107XG4gIGlmICghb2JqZWN0TmFtZXMpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3Qgb2JqZWN0TmFtZSA9IG9iamVjdE5hbWVzWzBdO1xuICBpZiAoIW9iamVjdE5hbWUpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLy8gc2tpcCBkZWZpbml0aW9ucyB3aXRob3V0IFwibWV0YWRhdGFcIi4gdGhleSBhcmUgbm90IEFQSSBvYmplY3RzIHRoYXQgY2FuIGJlIGRlZmluZWRcbiAgLy8gaW4gbWFuaWZlc3RzIChleGFtcGxlOiBpby5rOHMuYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuRGVsZXRlT3B0aW9ucylcbiAgLy8gdGhleSB3aWxsIGJlIHRyZWF0ZWQgYXMgZGF0YSB0eXBlc1xuICBpZiAoIWRlZi5wcm9wZXJ0aWVzPy5tZXRhZGF0YSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4gb2JqZWN0TmFtZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcm91cFZlcnNpb25LaW5kIHtcbiAgcmVhZG9ubHkgZ3JvdXA6IHN0cmluZztcbiAgcmVhZG9ubHkga2luZDogc3RyaW5nO1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbmNvbnN0IFhfR1JPVVBfVkVSU0lPTl9LSU5EID0gJ3gta3ViZXJuZXRlcy1ncm91cC12ZXJzaW9uLWtpbmQnO1xuXG5hc3luYyBmdW5jdGlvbiBkb3dubG9hZFNjaGVtYShhcGlWZXJzaW9uOiBzdHJpbmcpIHtcbiAgY29uc3QgdXJsID0gYGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9jZGs4cy10ZWFtL2NkazhzL21hc3Rlci9rdWJlcm5ldGVzLXNjaGVtYXMvdiR7YXBpVmVyc2lvbn0vX2RlZmluaXRpb25zLmpzb25gO1xuICBsZXQgb3V0cHV0O1xuICB0cnkge1xuICAgIG91dHB1dCA9IGF3YWl0IGRvd25sb2FkKHVybCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLmVycm9yKGBDb3VsZCBub3QgZmluZCBhIHNjaGVtYSBmb3IgazhzIHZlcnNpb24gJHthcGlWZXJzaW9ufS4gVGhlIGN1cnJlbnQgbGlzdCBvZiBhdmFpbGFibGUgc2NoZW1hcyBpcyBhdCBodHRwczovL2dpdGh1Yi5jb20vY2RrOHMtdGVhbS9jZGs4cy90cmVlL21hc3Rlci9rdWJlcm5ldGVzLXNjaGVtYXMuYCk7XG4gICAgdGhyb3cgZTtcbiAgfVxuICB0cnkge1xuICAgIHJldHVybiBzYWZlUGFyc2VKc29uU2NoZW1hKG91dHB1dCkgYXMgSlNPTlNjaGVtYTQ7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBwYXJzZSBzY2hlbWEgYXQgJHt1cmx9OiAke2V9YCk7XG4gIH1cbn1cbiJdfQ==
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltcG9ydC9rOHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEseUNBQTBDO0FBQzFDLGlDQUFxRDtBQUNyRCx1Q0FBOEc7QUFDOUcseUNBQW1FO0FBRW5FLGtDQUFtQztBQUd0QixRQUFBLG1CQUFtQixHQUFHLFFBQVEsQ0FBQztBQUU1QyxNQUFNLHlCQUF5QixHQUFHLE1BQU0sQ0FBQztBQWdCekMsTUFBYSxtQkFBb0IsU0FBUSxpQkFBVTtJQUUxQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFzQixFQUFFLElBQVM7O1FBQ3pELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxNQUFNLEtBQUssS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsRCxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELElBQUksVUFBVSxHQUFHLE1BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsbUNBQUksMkJBQW1CLENBQUM7UUFFN0QsTUFBTSxlQUFlLEdBQUcsaUJBQWlCLENBQUM7UUFDMUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsVUFBVSw4Q0FBOEMsQ0FBQyxDQUFDO1NBQ3BHO1FBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsVUFBVSxLQUFLLENBQUMsQ0FBQztRQUVqRCxPQUFPO1lBQ0wsVUFBVSxFQUFFLFVBQVU7WUFDdEIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBNkIsT0FBbUM7UUFDOUQsS0FBSyxFQUFFLENBQUM7UUFEbUIsWUFBTyxHQUFQLE9BQU8sQ0FBNEI7SUFFaEUs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SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQzNEO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZGVNYWtlciB9IGZyb20gJ2NvZGVtYWtlcic7XG5cbi8vIHdlIGp1c3QgbmVlZCB0aGUgdHlwZXMgZnJvbSBqc29uLXNjaGVtYVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0IHsgSlNPTlNjaGVtYTQgfSBmcm9tICdqc29uLXNjaGVtYSc7XG5cbmltcG9ydCB7IFR5cGVHZW5lcmF0b3IgfSBmcm9tICdqc29uMmpzaWknO1xuaW1wb3J0IHsgR2VuZXJhdGVPcHRpb25zLCBJbXBvcnRCYXNlIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IEFwaU9iamVjdERlZmluaXRpb24sIGVtaXRIZWFkZXIsIGdlbmVyYXRlQ29uc3RydWN0LCBnZXRQcm9wc1R5cGVOYW1lLCBnZXRUeXBlTmFtZSB9IGZyb20gJy4vY29kZWdlbic7XG5pbXBvcnQgeyBwYXJzZUFwaVR5cGVOYW1lLCBzYWZlUGFyc2VKc29uU2NoZW1hIH0gZnJvbSAnLi9rOHMtdXRpbCc7XG5pbXBvcnQgeyBJbXBvcnRTcGVjIH0gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7IGRvd25sb2FkIH0gZnJvbSAnLi4vdXRpbCc7XG5cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQVBJX1ZFUlNJT04gPSAnMS4yNS4wJztcblxuY29uc3QgREVGQVVMVF9DTEFTU19OQU1FX1BSRUZJWCA9ICdLdWJlJztcblxuZXhwb3J0IGludGVyZmFjZSBJbXBvcnRLdWJlcm5ldGVzQXBpT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgQVBJIHZlcnNpb24gdG8gZ2VuZXJhdGUuXG4gICAqL1xuICByZWFkb25seSBhcGlWZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERvIG5vdCBpbXBvcnQgdGhlc2UgdHlwZXMuIEluc3RlYWQsIHJlcHJlc2VudCB0aGVtIGFzIFwiYW55XCIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gaW5jbHVkZSBhbGwgdHlwZXMgdGhhdCBkZXJpdmUgZnJvbSB0aGUgcm9vdCB0eXBlcy5cbiAgICovXG4gIHJlYWRvbmx5IGV4Y2x1ZGU/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNsYXNzIEltcG9ydEt1YmVybmV0ZXNBcGkgZXh0ZW5kcyBJbXBvcnRCYXNlIHtcblxuICBwdWJsaWMgc3RhdGljIGFzeW5jIG1hdGNoKGltcG9ydFNwZWM6IEltcG9ydFNwZWMsIGFyZ3Y6IGFueSk6IFByb21pc2U8SW1wb3J0S3ViZXJuZXRlc0FwaU9wdGlvbnMgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCB7IHNvdXJjZSB9ID0gaW1wb3J0U3BlYztcbiAgICBpZiAoc291cmNlICE9PSAnazhzJyAmJiAhc291cmNlLnN0YXJ0c1dpdGgoJ2s4c0AnKSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBsZXQgazhzVmVyc2lvbiA9IHNvdXJjZS5zcGxpdCgnQCcpWzFdID8/IERFRkFVTFRfQVBJX1ZFUlNJT047XG5cbiAgICBjb25zdCBrOHNWZXJzaW9uUmVnZXggPSAvXlxcZCtcXC5cXGQrXFwuXFxkKyQvO1xuICAgIGlmICghazhzVmVyc2lvblJlZ2V4LnRlc3QoazhzVmVyc2lvbikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgazhzIHZlcnNpb24gXCIke2s4c1ZlcnNpb259XCIgdG8gbWF0Y2ggZm9ybWF0IFwiPG1ham9yPi48bWlub3I+LjxwYXRjaD5cIi5gKTtcbiAgICB9XG5cbiAgICBjb25zb2xlLmVycm9yKGBJbXBvcnRpbmcgazhzIHYke2s4c1ZlcnNpb259Li4uYCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgYXBpVmVyc2lvbjogazhzVmVyc2lvbixcbiAgICAgIGV4Y2x1ZGU6IGFyZ3YuZXhjbHVkZSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBJbXBvcnRLdWJlcm5ldGVzQXBpT3B0aW9ucykge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1vZHVsZU5hbWVzKCkge1xuICAgIHJldHVybiBbJ2s4cyddO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGdlbmVyYXRlVHlwZVNjcmlwdChjb2RlOiBDb2RlTWFrZXIsIG1vZHVsZU5hbWU6IHN0cmluZywgb3B0aW9uczogR2VuZXJhdGVPcHRpb25zKSB7XG4gICAgY29uc3Qgc2NoZW1hID0gYXdhaXQgZG93bmxvYWRTY2hlbWEodGhpcy5vcHRpb25zLmFwaVZlcnNpb24pO1xuXG4gICAgaWYgKG1vZHVsZU5hbWUgIT09ICdrOHMnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHVuZXhwZWN0ZWQgbW9kdWxlIG5hbWUgXCIke21vZHVsZU5hbWV9XCIgd2hlbiBpbXBvcnRpbmcgazhzIHR5cGVzIChleHBlY3RlZCBcIms4c1wiKWApO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWZpeCA9IG9wdGlvbnMuY2xhc3NOYW1lUHJlZml4ID8/IERFRkFVTFRfQ0xBU1NfTkFNRV9QUkVGSVg7XG4gICAgY29uc3QgdG9wTGV2ZWxPYmplY3RzID0gZmluZEFwaU9iamVjdERlZmluaXRpb25zKHNjaGVtYSwgcHJlZml4KTtcblxuICAgIGNvbnN0IHR5cGVHZW5lcmF0b3IgPSBuZXcgVHlwZUdlbmVyYXRvcih7XG4gICAgICBkZWZpbml0aW9uczogc2NoZW1hLmRlZmluaXRpb25zLFxuICAgICAgZXhjbHVkZTogdGhpcy5vcHRpb25zLmV4Y2x1ZGUsXG4gICAgICByZW5kZXJUeXBlTmFtZTogKGRlZjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlQXBpVHlwZU5hbWUoZGVmKTtcbiAgICAgICAgaWYgKCFwYXJzZWQudmVyc2lvbikge1xuICAgICAgICAgIC8vIG5vdCBhIHZlcnNpb25lZCBhcGkgdHlwZS4gcmV0dXJuIGJhc2VuYW1lXG4gICAgICAgICAgcmV0dXJuIHBhcnNlZC5iYXNlbmFtZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2V0VHlwZU5hbWUoZmFsc2UsIHBhcnNlZC5iYXNlbmFtZSwgcGFyc2VkLnZlcnNpb24ucmF3KTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyByZW5hbWUgXCJQcm9wc1wiIHR5cGUgZnJvbSB0aGVpciBvcmlnaW5hbCBuYW1lIGJhc2VkIG9uIHRoZSBBUEkgb2JqZWN0IGtpbmRcbiAgICAvLyAoZS5nLiBgRGVwbG95bWVudGApIHRvIHRoZWlyIGFjdHVhbCBwcm9wcyB0eXBlIChgS3ViZURlcGxveW1lbnRQcm9wc2ApIGluXG4gICAgLy8gb3JkZXIgdG8gYXZvaWQgY29uZnVzaW9uIGJldHdlZW4gY29uc3RydWN0cyAoYEt1YmVEZXBsb3ltZW50YCkgYW5kIHRob3NlXG4gICAgLy8gdHlwZXMuIFRoaXMgaXMgZG9uZSBieSBzaW1wbHkgcmVwbGFjaW5nIHRoZWlyIGRlZmluaXRpb24gaW4gdGhlIHNjaGVtYVxuICAgIC8vIHdpdGggYSAkcmVmIHRvIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBwcm9wcyB0eXBlLlxuICAgIGZvciAoY29uc3QgbyBvZiB0b3BMZXZlbE9iamVjdHMpIHtcbiAgICAgIHR5cGVHZW5lcmF0b3IuYWRkRGVmaW5pdGlvbihvLmZxbiwgeyAkcmVmOiBgIy9kZWZpbml0aW9ucy8ke2dldFByb3BzVHlwZU5hbWUobyl9YCB9KTtcbiAgICB9XG5cbiAgICAvLyBlbWl0IGNvbnN0cnVjdCB0eXBlcyAocmVjdXJzaXZlKVxuICAgIGZvciAoY29uc3QgbyBvZiB0b3BMZXZlbE9iamVjdHMpIHtcbiAgICAgIGdlbmVyYXRlQ29uc3RydWN0KHR5cGVHZW5lcmF0b3IsIG8pO1xuICAgIH1cblxuICAgIGVtaXRIZWFkZXIoY29kZSwgZmFsc2UpO1xuXG4gICAgY29kZS5saW5lKHR5cGVHZW5lcmF0b3IucmVuZGVyKCkpO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG1hcCBvZiBhbGwgQVBJIG9iamVjdHMgaW4gdGhlIHNwZWMgKG9iamVjdHMgdGhhdCBoYXZlIHRoZVxuICogJ3gta3ViZXJuZXRlcy1ncm91cC12ZXJzaW9uLWtpbmQnIGFubm90YXRpb24pLlxuICpcbiAqIFRoZSBrZXkgaXMgdGhlIGJhc2UgbmFtZSBvZiB0aGUgdHlwZSAoaS5lLiBgRGVwbG95bWVudGApLiBTaW5jZSBBUEkgb2JqZWN0c1xuICogbWF5IGhhdmUgbXVsdGlwbGUgdmVyc2lvbnMsIGVhY2ggdmFsdWUgaW4gdGhlIG1hcCBpcyBhbiBhcnJheSBvZiB0eXBlIGRlZmluaXRpb25zXG4gKiBhbG9uZyB3aXRoIHZlcnNpb24gaW5mb3JtYXRpb24uXG4gKlxuICogQHNlZSBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9vdmVydmlldy9rdWJlcm5ldGVzLWFwaS8jYXBpLXZlcnNpb25pbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRBcGlPYmplY3REZWZpbml0aW9ucyhzY2hlbWE6IEpTT05TY2hlbWE0LCBwcmVmaXg6IHN0cmluZyk6IEFwaU9iamVjdERlZmluaXRpb25bXSB7XG4gIGNvbnN0IHJlc3VsdCA9IG5ldyBBcnJheTxBcGlPYmplY3REZWZpbml0aW9uPigpO1xuXG4gIGZvciAoY29uc3QgW3R5cGVuYW1lLCBhcGlzY2hlbWFdIG9mIE9iamVjdC5lbnRyaWVzKHNjaGVtYS5kZWZpbml0aW9ucyB8fCB7IH0pKSB7XG4gICAgY29uc3Qgb2JqZWN0TmFtZSA9IHRyeUdldE9iamVjdE5hbWUoYXBpc2NoZW1hKTtcbiAgICBpZiAoIW9iamVjdE5hbWUpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHR5cGUgPSBwYXJzZUFwaVR5cGVOYW1lKHR5cGVuYW1lKTtcbiAgICBpZiAoIXR5cGUudmVyc2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gcGFyc2UgdmVyc2lvbiBmb3IgdHlwZTogJHt0eXBlbmFtZX1gKTtcbiAgICB9XG4gICAgcmVzdWx0LnB1c2goe1xuICAgICAgY3VzdG9tOiBmYWxzZSwgLy8gbm90IGEgQ1JEXG4gICAgICBmcW46IHR5cGUuZnVsbG5hbWUsXG4gICAgICBncm91cDogb2JqZWN0TmFtZS5ncm91cCxcbiAgICAgIGtpbmQ6IG9iamVjdE5hbWUua2luZCxcbiAgICAgIHZlcnNpb246IG9iamVjdE5hbWUudmVyc2lvbixcbiAgICAgIHNjaGVtYTogYXBpc2NoZW1hLFxuICAgICAgcHJlZml4LFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gdHJ5R2V0T2JqZWN0TmFtZShkZWY6IEpTT05TY2hlbWE0KTogR3JvdXBWZXJzaW9uS2luZCB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IG9iamVjdE5hbWVzID0gZGVmW1hfR1JPVVBfVkVSU0lPTl9LSU5EXSBhcyBHcm91cFZlcnNpb25LaW5kW107XG4gIGlmICghb2JqZWN0TmFtZXMpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3Qgb2JqZWN0TmFtZSA9IG9iamVjdE5hbWVzWzBdO1xuICBpZiAoIW9iamVjdE5hbWUpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLy8gc2tpcCBkZWZpbml0aW9ucyB3aXRob3V0IFwibWV0YWRhdGFcIi4gdGhleSBhcmUgbm90IEFQSSBvYmplY3RzIHRoYXQgY2FuIGJlIGRlZmluZWRcbiAgLy8gaW4gbWFuaWZlc3RzIChleGFtcGxlOiBpby5rOHMuYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuRGVsZXRlT3B0aW9ucylcbiAgLy8gdGhleSB3aWxsIGJlIHRyZWF0ZWQgYXMgZGF0YSB0eXBlc1xuICBpZiAoIWRlZi5wcm9wZXJ0aWVzPy5tZXRhZGF0YSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4gb2JqZWN0TmFtZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcm91cFZlcnNpb25LaW5kIHtcbiAgcmVhZG9ubHkgZ3JvdXA6IHN0cmluZztcbiAgcmVhZG9ubHkga2luZDogc3RyaW5nO1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbmNvbnN0IFhfR1JPVVBfVkVSU0lPTl9LSU5EID0gJ3gta3ViZXJuZXRlcy1ncm91cC12ZXJzaW9uLWtpbmQnO1xuXG5hc3luYyBmdW5jdGlvbiBkb3dubG9hZFNjaGVtYShhcGlWZXJzaW9uOiBzdHJpbmcpIHtcbiAgY29uc3QgdXJsID0gYGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9jZGs4cy10ZWFtL2NkazhzL21hc3Rlci9rdWJlcm5ldGVzLXNjaGVtYXMvdiR7YXBpVmVyc2lvbn0vX2RlZmluaXRpb25zLmpzb25gO1xuICBsZXQgb3V0cHV0O1xuICB0cnkge1xuICAgIG91dHB1dCA9IGF3YWl0IGRvd25sb2FkKHVybCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLmVycm9yKGBDb3VsZCBub3QgZmluZCBhIHNjaGVtYSBmb3IgazhzIHZlcnNpb24gJHthcGlWZXJzaW9ufS4gVGhlIGN1cnJlbnQgbGlzdCBvZiBhdmFpbGFibGUgc2NoZW1hcyBpcyBhdCBodHRwczovL2dpdGh1Yi5jb20vY2RrOHMtdGVhbS9jZGs4cy90cmVlL21hc3Rlci9rdWJlcm5ldGVzLXNjaGVtYXMuYCk7XG4gICAgdGhyb3cgZTtcbiAgfVxuICB0cnkge1xuICAgIHJldHVybiBzYWZlUGFyc2VKc29uU2NoZW1hKG91dHB1dCkgYXMgSlNPTlNjaGVtYTQ7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBwYXJzZSBzY2hlbWEgYXQgJHt1cmx9OiAke2V9YCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
+ import { PluginManager } from './_manager';
1
2
  import { ValidationConfig } from '../config';
2
3
  import { SynthesizedApp } from '../util';
3
- import { PluginManager } from './_manager';
4
4
  /**
5
5
  * Context available to plugins during validation.
6
6
  */
@@ -239,4 +239,4 @@ function red(s) {
239
239
  function bright(s) {
240
240
  return `\x1b[1m${s}`;
241
241
  }
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbHVnaW5zL3ZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBeUI7QUFDekIsdUNBQXlCO0FBQ3pCLGlDQUE4QjtBQUM5QiwyQ0FBNkI7QUFLN0I7O0dBRUc7QUFDSCxNQUFhLGlCQUFpQjtJQWdCNUI7SUFFRTs7T0FFRztJQUNhLFNBQTRCO0lBRTVDOztPQUVHO0lBQ2EsR0FBVztJQUUzQjs7T0FFRztJQUNhLE9BQWU7SUFFL0I7O09BRUc7SUFDYSxXQUFnRSxFQUFFO0lBRWxGOztPQUVHO0lBQ2EsTUFBZ0I7O1FBcEJoQixjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUs1QixRQUFHLEdBQUgsR0FBRyxDQUFRO1FBS1gsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUtmLGFBQVEsR0FBUixRQUFRLENBQTBEO1FBS2xFLFdBQU0sR0FBTixNQUFNLENBQVU7UUFFaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFBLElBQUksQ0FBQyxRQUFRLG1DQUFJLEVBQUUsRUFBRSxNQUFNLGFBQU4sTUFBTSxjQUFOLE1BQU0sR0FBSSxLQUFLLENBQUMsQ0FBQztRQUNqRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRU0sYUFBYSxDQUFDLFlBQW9CO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDNUYsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFD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QztJQUU1RCxDQUFDO0lBRU8sTUFBTSxDQUFDLHFCQUFxQixDQUFDLHFCQUE2QjtRQUNoRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMscUJBQXFCLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNGLE1BQU0sU0FBUyxHQUFpRCxFQUFFLENBQUM7UUFDbkUsSUFBSSxRQUFRLENBQUMsT0FBTyxLQUFLLE9BQU8sRUFBRTtZQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxxQkFBcUIsS0FBSyxRQUFRLENBQUMsT0FBTyxtQ0FBbUMsQ0FBQyxDQUFDO1NBQy9JO1FBQ0QsS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2pFLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRyxRQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3BEO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFFbkIsQ0FBQztDQUVGO0FBMUNELDRDQTBDQztBQWNELFNBQVMsS0FBSyxDQUFDLENBQVM7SUFDdEIsT0FBTyxHQUFHLENBQUMsU0FBUyxDQUFDO0FBQ3ZCLENBQUM7QUFFRCxTQUFTLEdBQUcsQ0FBQyxDQUFTO0lBQ3BCLE9BQU8sV0FBVyxDQUFDLEVBQUUsQ0FBQztBQUN4QixDQUFDO0FBRUQsU0FBUyxNQUFNLENBQUMsQ0FBUztJQUN2QixPQUFPLFVBQVUsQ0FBQyxFQUFFLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCB7IHRhYmxlIH0gZnJvbSAndGFibGUnO1xuaW1wb3J0ICogYXMgeWFtbCBmcm9tICd5YW1sJztcbmltcG9ydCB7IFZhbGlkYXRpb25Db25maWcgfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHsgU3ludGhlc2l6ZWRBcHAgfSBmcm9tICcuLi91dGlsJztcbmltcG9ydCB7IFBsdWdpbk1hbmFnZXIgfSBmcm9tICcuL19tYW5hZ2VyJztcblxuLyoqXG4gKiBDb250ZXh0IGF2YWlsYWJsZSB0byBwbHVnaW5zIGR1cmluZyB2YWxpZGF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbkNvbnRleHQge1xuXG4gIC8qKlxuICAgKiBSZXBvcnQgZW1pdHRlZCBieSB0aGUgdmFsaWRhdGlvbi5cbiAgICpcbiAgICogUGx1Z2lucyBzaG91bGQgaW50ZXJhY3Qgd2l0aCB0aGlzIG9iamVjdCB0byBnZW5lcmF0ZSB0aGUgcmVwb3J0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJlcG9ydDogVmFsaWRhdGlvblJlcG9ydDtcblxuICAvKipcbiAgICogTG9nZ2VyIGZvciB0aGUgdmFsaWRhdGlvbi5cbiAgICpcbiAgICogUGx1Z2lucyBzaG91bGQgaW50ZXJhY3Qgd2l0aCB0aGlzIG9iamVjdCB0byBsb2cgbWVzc2FnZXMgZHVyaW5nIHZhbGlkYXRpb24uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbG9nZ2VyOiBWYWxpZGF0aW9uTG9nZ2VyO1xuXG4gIGNvbnN0cnVjdG9yKFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxpc3Qgb2YgbWFuaWZlc3RzIHRvIHZhbGlkYXRlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBtYW5pZmVzdHM6IHJlYWRvbmx5IHN0cmluZ1tdLFxuXG4gICAgLyoqXG4gICAgICogVGhlIE5vZGVKUyBwYWNrYWdlIG5hbWUgb2YgdGhlIHBsdWdpbiBydW5uaW5nIHRoZSB2YWxpZGF0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBwa2c6IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBOb2RlSlMgcGFja2FnZSB0aGF0IHJ1bnMgdGhlIHZhbGlkYXRpb24uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdCBtZXRhZGF0YSBvZiByZXNvdXJjZXMgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBtZXRhZGF0YToge3JlYWRvbmx5IFtrZXk6IHN0cmluZ106IFJlc291cmNlQ29uc3RydWN0TWV0YWRhdGF9ID0ge30sXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgc3ludGggY29tbWFuZCB3YXMgZXhlY3V0ZWQgd2l0aCAtLXN0ZG91dC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc3Rkb3V0PzogYm9vbGVhbikge1xuXG4gICAgdGhpcy5yZXBvcnQgPSBuZXcgVmFsaWRhdGlvblJlcG9ydCh0aGlzLnBrZywgdGhpcy52ZXJzaW9uLCB0aGlzLm1ldGFkYXRhID8/IHt9LCBzdGRvdXQgPz8gZmFsc2UpO1xuICAgIHRoaXMubG9nZ2VyID0gbmV3IFZhbGlkYXRpb25Mb2dnZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXJzZU1hbmlmZXN0KG1hbmlmZXN0UGF0aDogc3RyaW5nKTogYW55W10ge1xuICAgIGNvbnN0IHBhcnNlZCA9IHlhbWwucGFyc2VBbGxEb2N1bWVudHMoZnMucmVhZEZpbGVTeW5jKG1hbmlmZXN0UGF0aCwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KSk7XG4gICAgY29uc3QgcmVzb3VyY2VzID0gQXJyYXkuaXNBcnJheShwYXJzZWQpID8gcGFyc2VkIDogW3BhcnNlZF07XG4gICAgcmV0dXJuIHJlc291cmNlcy5tYXAociA9PiByLnRvSlMoKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBMb2dnZXIgYXZhaWxhYmxlIHRvIHBsdWdpbnMgZHVyaW5nIHZhbGlkYXRpb24uIFVzZSB0aGlzIGluc3RlYWQgb2YgYGNvbnNvbGUubG9nYC5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25Mb2dnZXIge1xuXG4gIC8qKlxuICAgKiBMb2cgYSBtZXNzYWdlLlxuICAgKi9cbiAgcHVibGljIGxvZyhtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBjb25zb2xlLmxvZyhtZXNzYWdlKTtcbiAgfVxufVxuXG4vKipcbiAqIENvbnRyYWN0IGJldHdlZW4gY2RrOHMgYW5kIHRoaXJkLXBhcnRpZXMgbG9va2luZyB0byBpbXBsZW1lbnQgdmFsaWRhdGlvbiBwbHVnaW5zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb24ge1xuXG4gIC8qKlxuICAgKiBSdW4gdGhlIHZhbGlkYXRpb24gbG9naWMuXG4gICAqXG4gICAqIC0gVXNlIGBjb250ZXh0Lm1hbmlmZXN0c2AgdG8gcmV0cmlldmUgdGhlIGxpc3Qgb2YgbWFuaWZlc3RzIHRvIHZhbGlkYXRlLlxuICAgKiAtIFVzZSBgY29udGV4dC5yZXBvcnRgIHRvIGFjY2VzcyBhbmQgYnVpbGQgdGhlIHJlc3VsdGluZyByZXBvcnQuXG4gICAqXG4gICAqIE1ha2Ugc3VyZSB0byBjYWxsIGBjb250ZXh0LnJlcG9ydC5wYXNzKClgIG9yIGBjb250ZXh0LnJlcG9ydC5mYWlsKClgIGJlZm9yZSByZXR1cm5pbmcsIG90aGVyd2lzZSB0aGUgdmFsaWRhdGlvbiBpcyBjb25zaWRlcmVkIGluY29tcGxldGUuXG4gICAqL1xuICB2YWxpZGF0ZShjb250ZXh0OiBWYWxpZGF0aW9uQ29udGV4dCk6IFByb21pc2U8dm9pZD47XG5cbn1cblxuLyoqXG4gKiBSZXNvdXJjZSB2aW9sYXRpbmcgYSBzcGVjaWZpYyBydWxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25WaW9sYXRpbmdSZXNvdXJjZSB7XG5cbiAgLyoqXG4gICAqIFRoZSByZXNvdXJjZSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsb2NhdGlvbnMgaW4gaXRzIGNvbmZpZyB0aGF0IHBvc2UgdGhlIHZpb2xhdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBsb2NhdGlvbnM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbWFuaWZlc3QgdGhpcyByZXNvdXJjZSBpcyBkZWZpbmVkIGluLlxuICAgKi9cbiAgcmVhZG9ubHkgbWFuaWZlc3RQYXRoOiBzdHJpbmc7XG5cbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3QgdmlvbGF0aW5nIGEgc3BlY2lmaWMgcnVsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uVmlvbGF0aW5nQ29uc3RydWN0IGV4dGVuZHMgVmFsaWRhdGlvblZpb2xhdGluZ1Jlc291cmNlIHtcblxuICAvKipcbiAgICogVGhlIGNvbnN0cnVjdCBwYXRoIGFzIGRlZmluZWQgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uc3RydWN0UGF0aD86IHN0cmluZztcblxufVxuXG4vKipcbiAqIFZpb2xhdGlvbiBwcm9kdWNlZCBieSB0aGUgdmFsaWRhdGlvbiBwbHVnaW4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvblZpb2xhdGlvbiB7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBydWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgcnVsZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlY29tbWVuZGF0aW9uIHRvIHJlc29sdmUgdGhlIHZpb2xhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHJlY29tbWVuZGF0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEhvdyB0byBmaXggdGhlIHJlY29tbWVuZGF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZml4OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZXNvdXJjZXMgdmlvbGF0aW5nIHRoaXMgcnVsZS5cbiAgICovXG4gIHJlYWRvbmx5IHZpb2xhdGluZ1Jlc291cmNlczogcmVhZG9ubHkgVmFsaWRhdGlvblZpb2xhdGluZ1Jlc291cmNlW107XG5cbn1cblxuLyoqXG4gKiBWYWxpZGF0aW9uIHByb2R1Y2VkIGJ5IHRoZSB2YWxpZGF0aW9uIHBsdWdpbiwgaW4gY29uc3RydWN0IHRlcm1zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25WaW9sYXRpb25Db25zdHJ1Y3RBd2FyZSBleHRlbmRzIE9taXQ8VmFsaWRhdGlvblZpb2xhdGlvbiwgJ3Zpb2xhdGluZ1Jlc291cmNlcyc+IHtcblxuICAvKipcbiAgICogVGhlIGNvbnN0cnVjdHMgdmlvbGF0aW5nIHRoaXMgcnVsZS5cbiAgICovXG4gIHJlYWRvbmx5IHZpb2xhdGluZ0NvbnN0cnVjdHM6IHJlYWRvbmx5IFZhbGlkYXRpb25WaW9sYXRpbmdDb25zdHJ1Y3RbXTtcbn1cblxuLy8gd2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2UgYW4gZW51bSBzbyB0aGF0XG4vLyBwbHVnaW5zIGRvbid0IGhhdmUgdG8gaW1wb3J0IHRoZSBjbGkgYXQgcnVudGltZS5cbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25SZXBvcnRTdGF0dXMgPSAnc3VjY2VzcycgfCAnZmFpbHVyZSc7XG5cbi8qKlxuICogU3VtbWFyeSBvZiB0aGUgcmVwb3J0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25SZXBvcnRTdW1tYXJ5IHtcblxuICByZWFkb25seSBzdGF0dXM6IFZhbGlkYXRpb25SZXBvcnRTdGF0dXM7XG5cbiAgcmVhZG9ubHkgcGx1Z2luOiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IG1ldGFkYXRhPzogeyByZWFkb25seSBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxufVxuXG4vKipcbiAqIEpTT04gcmVwcmVzZW50YXRpb24gb2YgdGhlIHJlcG9ydC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uUmVwb3J0SnNvbiB7XG5cbiAgLyoqXG4gICAqIFJlcG9ydCB0aXRsZS5cbiAgICovXG4gIHJlYWRvbmx5IHRpdGxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgdmlvbGF0aW9ucyBpbiB0aGUgcmVycG90LlxuICAgKi9cbiAgcmVhZG9ubHkgdmlvbGF0aW9uczogcmVhZG9ubHkgVmFsaWRhdGlvblZpb2xhdGlvbkNvbnN0cnVjdEF3YXJlW107XG5cbiAgLyoqXG4gICAqIFJlcG9ydCBzdW1tYXJ5LlxuICAgKi9cbiAgcmVhZG9ubHkgc3VtbWFyeTogVmFsaWRhdGlvblJlcG9ydFN1bW1hcnk7XG5cbn1cblxuLyoqXG4gKiBUaGUgcmVwb3J0IGVtaXR0ZWQgYnkgdGhlIHBsdWdpbiBhZnRlciBldmFsdWF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvblJlcG9ydCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB2aW9sYXRpb25zOiBWYWxpZGF0aW9uVmlvbGF0aW9uQ29uc3RydWN0QXdhcmVbXSA9IFtdO1xuXG4gIHByaXZhdGUgX3N1bW1hcnk/OiBWYWxpZGF0aW9uUmVwb3J0U3VtbWFyeTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBrZzogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWV0YWRhdGE6IHtyZWFkb25seSBba2V5OiBzdHJpbmddOiBSZXNvdXJjZUNvbnN0cnVjdE1ldGFkYXRhfSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0ZG91dDogYm9vbGVhbikge1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHZpb2xhdGlvbiB0byB0aGUgcmVwb3J0LlxuICAgKi9cbiAgcHVibGljIGFkZFZpb2xhdGlvbih2aW9sYXRpb246IFZhbGlkYXRpb25WaW9sYXRpb24pIHtcbiAgICBpZiAodGhpcy5fc3VtbWFyeSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdWaW9sYXRpb25zIGNhbm5vdCBiZSBhZGRlZCB0byByZXBvcnQgYWZ0ZXIgaXRzIHN1Ym1pdHRlZCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHZpb2xhdGluZ0NvbnN0cnVjdHM6IFZhbGlkYXRpb25WaW9sYXRpbmdDb25zdHJ1Y3RbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCByZXNvdXJjZSBvZiB2aW9sYXRpb24udmlvbGF0aW5nUmVzb3VyY2VzKSB7XG4gICAgICBjb25zdCBjb25zdHJ1Y3RQYXRoID0gdGhpcy5tZXRhZGF0YVtyZXNvdXJjZS5yZXNvdXJjZU5hbWVdPy5wYXRoO1xuICAgICAgdmlvbGF0aW5nQ29uc3RydWN0cy5wdXNoKHtcbiAgICAgICAgLi4ucmVzb3VyY2UsXG5cbiAgICAgICAgLy8gYXVnbWVudCB3aXRoIGNvbnN0cnVjdCBtZXRhZGF0YVxuICAgICAgICBjb25zdHJ1Y3RQYXRoOiBjb25zdHJ1Y3RQYXRoLFxuXG4gICAgICAgIC8vIGlmIHN5bnRoIGlzIGV4ZWN1dGVkIHdpdGggLS1zdGRvdXQsIHRoZSBtYW5pZmVzdCBwYXRoXG4gICAgICAgIC8vIGhlcmUgaXMgdGVtcG9yYXJ5IGFuZCB3aWxsIGJlIGRlbGV0ZWQgb25jZSB0aGUgY29tbWFuZCBmaW5pc2hlcy5cbiAgICAgICAgbWFuaWZlc3RQYXRoOiB0aGlzLnN0ZG91dCA/ICdTVERPVVQnIDogcmVzb3VyY2UubWFuaWZlc3RQYXRoLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy52aW9sYXRpb25zLnB1c2goe1xuICAgICAgcnVsZU5hbWU6IHZpb2xhdGlvbi5ydWxlTmFtZSxcbiAgICAgIHJlY29tbWVuZGF0aW9uOiB2aW9sYXRpb24ucmVjb21tZW5kYXRpb24sXG4gICAgICB2aW9sYXRpbmdDb25zdHJ1Y3RzOiB2aW9sYXRpbmdDb25zdHJ1Y3RzLFxuICAgICAgZml4OiB2aW9sYXRpb24uZml4LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFN1Ym1pdCB0aGUgcmVwb3J0IHdpdGggYSBzdGF0dXMgYW5kIGFkZGl0aW9uYWwgbWV0YWRhdGEuXG4gICAqL1xuICBwdWJsaWMgc3VibWl0KHN0YXR1czogVmFsaWRhdGlvblJlcG9ydFN0YXR1cywgbWV0YWRhdGE/OiB7IHJlYWRvbmx5IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSB7XG4gICAgdGhpcy5fc3VtbWFyeSA9IHsgc3RhdHVzLCBwbHVnaW46IHRoaXMucGtnLCB2ZXJzaW9uOiB0aGlzLnZlcnNpb24sIG1ldGFkYXRhIH07XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIHJlcG9ydCB3YXMgc3VjY2Vzc2Z1bGwuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHN1Y2Nlc3MoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLl9zdW1tYXJ5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBkZXRlcm1pbmUgcmVwb3J0IHN0YXR1czogUmVwb3J0IGlzIGluY29tcGxldGUuIENhbGwgXFwncmVwb3J0LnN1Ym1pdFxcJycpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc3VtbWFyeS5zdGF0dXMgPT09ICdzdWNjZXNzJztcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gdGhlIHJlcG9ydCB0byBhIHdlbGwgZm9ybWF0dGVkIHRhYmxlIHN0cmluZy5cbiAgICovXG4gIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xuXG4gICAgY29uc3QganNvbiA9IHRoaXMudG9Kc29uKCk7XG4gICAgY29uc3Qgb3V0cHV0ID0gW2pzb24udGl0bGVdO1xuXG4gICAgb3V0cHV0LnB1c2goJy0nLnJlcGVhdChqc29uLnRpdGxlLmxlbmd0aCkpO1xuICAgIG91dHB1dC5wdXNoKCcnKTtcbiAgICBvdXRwdXQucHVzaCgnKFN1bW1hcnkpJyk7XG4gICAgb3V0cHV0LnB1c2goJycpO1xuICAgIG91dHB1dC5wdXNoKHRhYmxlKFtcbiAgICAgIFsnU3RhdHVzJywganNvbi5zdW1tYXJ5LnN0YXR1c10sXG4gICAgICBbJ1BsdWdpbicsIGpzb24uc3VtbWFyeS5wbHVnaW5dLFxuICAgICAgWydWZXJzaW9uJywganNvbi5zdW1tYXJ5LnZlcnNpb25dLFxuICAgICAgLi4uT2JqZWN0LmVudHJpZXMoanNvbi5zdW1tYXJ5Lm1ldGFkYXRhID8/IHt9KSxcbiAgICBdKSk7XG5cbiAgICBpZiAoanNvbi52aW9sYXRpb25zKSB7XG4gICAgICBvdXRwdXQucHVzaCgnJyk7XG4gICAgICBvdXRwdXQucHVzaCgnKFZpb2xhdGlvbnMpJyk7XG4gICAgfVxuICAgIGZvciAoY29uc3QgdmlvbGF0aW9uIG9mIGpzb24udmlvbGF0aW9ucykge1xuICAgICAgY29uc3Qgb2NjdXJyZW5jZXMgPSB2aW9sYXRpb24udmlvbGF0aW5nQ29uc3RydWN0cy5mbGF0TWFwKGMgPT4gYy5sb2NhdGlvbnMpLmxlbmd0aDtcbiAgICAgIGNvbnN0IHRpdGxlID0gcmVzZXQocmVkKGJyaWdodChgJHt2aW9sYXRpb24ucnVsZU5hbWV9ICgke29jY3VycmVuY2VzfSBvY2N1cnJlbmNlcylgKSkpO1xuICAgICAgb3V0cHV0LnB1c2goJycpO1xuICAgICAgb3V0cHV0LnB1c2godGl0bGUpO1xuICAgICAgb3V0cHV0LnB1c2goJycpO1xuICAgICAgb3V0cHV0LnB1c2goJyAgT2NjdXJyZW5jZXM6Jyk7XG4gICAgICBmb3IgKGNvbnN0IGNvbnN0cnVjdCBvZiB2aW9sYXRpb24udmlvbGF0aW5nQ29uc3RydWN0cykge1xuICAgICAgICBvdXRwdXQucHVzaCgnJyk7XG4gICAgICAgIG91dHB1dC5wdXNoKGAgICAgLSBDb25zdHJ1Y3QgUGF0aDogJHtjb25zdHJ1Y3QuY29uc3RydWN0UGF0aCA/PyAnTi9BJ31gKTtcbiAgICAgICAgb3V0cHV0LnB1c2goYCAgICAtIE1hbmlmZXN0IFBhdGg6ICR7Y29uc3RydWN0Lm1hbmlmZXN0UGF0aH1gKTtcbiAgICAgICAgb3V0cHV0LnB1c2goYCAgICAtIFJlc291cmNlIE5hbWU6ICR7Y29uc3RydWN0LnJlc291cmNlTmFtZX1gKTtcbiAgICAgICAgaWYgKGNvbnN0cnVjdC5sb2NhdGlvbnMpIHtcbiAgICAgICAgICBvdXRwdXQucHVzaCgnICAgIC0gTG9jYXRpb25zOicpO1xuICAgICAgICAgIGZvciAoY29uc3QgbG9jYXRpb24gb2YgY29uc3RydWN0LmxvY2F0aW9ucykge1xuICAgICAgICAgICAgb3V0cHV0LnB1c2goYCAgICAgID4gJHtsb2NhdGlvbn1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG91dHB1dC5wdXNoKCcnKTtcbiAgICAgIG91dHB1dC5wdXNoKGAgIFJlY29tbWVuZGF0aW9uOiAke3Zpb2xhdGlvbi5yZWNvbW1lbmRhdGlvbn1gKTtcbiAgICAgIG91dHB1dC5wdXNoKGAgIEhvdyB0byBmaXg6ICR7dmlvbGF0aW9uLmZpeH1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gb3V0cHV0LmpvaW4ob3MuRU9MKTtcblxuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0aGUgcmVwb3J0IGludG8gYSBKU09OIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyB0b0pzb24oKTogVmFsaWRhdGlvblJlcG9ydEpzb24ge1xuICAgIGlmICghdGhpcy5fc3VtbWFyeSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZGV0ZXJtaW5lIHJlcG9ydCByZXN1bHQ6IFJlcG9ydCBpcyBpbmNvbXBsZXRlLiBDYWxsIFxcJ3JlcG9ydC5zdWJtaXRcXCcnKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiBgVmFsaWRhdGlvbiBSZXBvcnQgKCR7dGhpcy5wa2d9QCR7dGhpcy52ZXJzaW9ufSlgLFxuICAgICAgdmlvbGF0aW9uczogdGhpcy52aW9sYXRpb25zLFxuICAgICAgc3VtbWFyeTogdGhpcy5fc3VtbWFyeSxcbiAgICB9O1xuICB9XG5cbn1cblxuLyoqXG4gKiBVdGlsaXkgY2xhc3MgZm9yIGxvYWRpbmcgdmFsaWRhdGlvbiBwbHVnaW5zLlxuICovXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvblBsdWdpbiB7XG5cbiAgLyoqXG4gICAqIExvYWQgdGhlIHZhbGlkYXRpb24gcGx1Z2luIGFuZCBjcmVhdGUgdGhlIG5lY2Vzc2FyeSBjb250ZXh0IGZvciBpdHMgZXhlY3V0aW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBsb2FkKFxuICAgIHZhbGlkYXRpb246IFZhbGlkYXRpb25Db25maWcsXG4gICAgYXBwOiBTeW50aGVzaXplZEFwcCxcbiAgICBzdGRvdXQ6IGJvb2xlYW4sXG4gICAgcGx1Z2luTWFuYWdlcjogUGx1Z2luTWFuYWdlcik6IHsgcGx1Z2luOiBWYWxpZGF0aW9uOyBjb250ZXh0OiBWYWxpZGF0aW9uQ29udGV4dCB9IHtcblxuICAgIGNvbnN0IHBsdWdpbiA9IHBsdWdpbk1hbmFnZXIubG9hZCh7XG4gICAgICBwa2c6IHZhbGlkYXRpb24ucGFja2FnZSxcbiAgICAgIHZlcnNpb246IHZhbGlkYXRpb24udmVyc2lvbixcbiAgICAgIGNsYXNzOiB2YWxpZGF0aW9uLmNsYXNzLFxuICAgICAgcHJvcGVydGllczogdmFsaWRhdGlvbi5wcm9wZXJ0aWVzLFxuICAgICAgaW5zdGFsbEVudjogdmFsaWRhdGlvbi5pbnN0YWxsRW52LFxuICAgIH0pO1xuXG4gICAgaWYgKHR5cGVvZigocGx1Z2luLmluc3RhbmNlIGFzIGFueSkudmFsaWRhdGUpICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEluc3RhbmNlIG9mIGNsYXNzICcke3ZhbGlkYXRpb24uY2xhc3N9JyBmcm9tIHBhY2thZ2UgJyR7dmFsaWRhdGlvbi5wYWNrYWdlfUAke3ZhbGlkYXRpb24udmVyc2lvbn0nIGlzIG5vdCBhIHZhbGlkYXRpb24gcGx1Z2luLiBBcmUgeW91IHN1cmUgeW91IHNwZWNpZmllZCB0aGUgY29ycmVjdCBjbGFzcz9gKTtcbiAgICB9XG5cbiAgICBjb25zdCBtZXRhZGF0YSA9IGFwcC5jb25zdHJ1Y3RNZXRhZGF0YSA/IHRoaXMubG9hZENvbnN0cnVjdE1ldGFkYXRhKGFwcC5jb25zdHJ1Y3RNZXRhZGF0YSkgOiB7fTtcbiAgICBjb25zdCBjb250ZXh0ID0gbmV3IFZhbGlkYXRpb25Db250ZXh0KGFwcC5tYW5pZmVzdHMsIHBsdWdpbi5wYWNrYWdlLnBrZywgcGx1Z2luLnBhY2thZ2UudmVyc2lvbiwgbWV0YWRhdGEsIHN0ZG91dCk7XG4gICAgcmV0dXJuIHsgcGx1Z2luOiBwbHVnaW4uaW5zdGFuY2UgYXMgVmFsaWRhdGlvbiwgY29udGV4dCB9O1xuXG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBsb2FkQ29uc3RydWN0TWV0YWRhdGEoY29uc3RydWN0TWV0YWRhdGFQYXRoOiBzdHJpbmcpOiB7IHJlYWRvbmx5IFtrZXk6IHN0cmluZ106IFJlc291cmNlQ29uc3RydWN0TWV0YWRhdGEgfSB7XG4gICAgY29uc3QgY29udGVudHMgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhjb25zdHJ1Y3RNZXRhZGF0YVBhdGgsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSkpO1xuICAgIGNvbnN0IHJlc291cmNlczogeyBba2V5OiBzdHJpbmddOiBSZXNvdXJjZUNvbnN0cnVjdE1ldGFkYXRhIH0gPSB7fTtcbiAgICBpZiAoY29udGVudHMudmVyc2lvbiAhPT0gJzEuMC4wJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHZlcnNpb24gb2YgY29uc3RydWN0IG1ldGFkYXRhIGF0ICR7Y29uc3RydWN0TWV0YWRhdGFQYXRofTogJHtjb250ZW50cy52ZXJzaW9ufS4gU3VwcG9ydGVkIHZlcnNpb25zIGFyZTogWzEuMC4wXWApO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IFtuYW1lLCBtZXRhZGF0YV0gb2YgT2JqZWN0LmVudHJpZXMoY29udGVudHMucmVzb3VyY2VzKSkge1xuICAgICAgcmVzb3VyY2VzW25hbWVdID0geyBwYXRoOiAobWV0YWRhdGEgYXMgYW55KS5wYXRoIH07XG4gICAgfVxuICAgIHJldHVybiByZXNvdXJjZXM7XG5cbiAgfVxuXG59XG5cbi8qKlxuICogQ29uc3RydWN0IHJlbGF0ZWQgbWV0YWRhdGEgb24gcmVzb3VyY2VzLlxuICovXG5pbnRlcmZhY2UgUmVzb3VyY2VDb25zdHJ1Y3RNZXRhZGF0YSB7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIG9mIHRoZSBjb25zdHJ1Y3QgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuXG59XG5cbmZ1bmN0aW9uIHJlc2V0KHM6IHN0cmluZykge1xuICByZXR1cm4gYCR7c31cXHgxYlswbWA7XG59XG5cbmZ1bmN0aW9uIHJlZChzOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGBcXHgxYlszMW0ke3N9YDtcbn1cblxuZnVuY3Rpb24gYnJpZ2h0KHM6IHN0cmluZykge1xuICByZXR1cm4gYFxceDFiWzFtJHtzfWA7XG59Il19
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbHVnaW5zL3ZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBeUI7QUFDekIsdUNBQXlCO0FBQ3pCLGlDQUE4QjtBQUM5QiwyQ0FBNkI7QUFLN0I7O0dBRUc7QUFDSCxNQUFhLGlCQUFpQjtJQWdCNUI7SUFFRTs7T0FFRztJQUNhLFNBQTRCO0lBRTVDOztPQUVHO0lBQ2EsR0FBVztJQUUzQjs7T0FFRztJQUNhLE9BQWU7SUFFL0I7O09BRUc7SUFDYSxXQUFnRSxFQUFFO0lBRWxGOztPQUVHO0lBQ2EsTUFBZ0I7O1FBcEJoQixjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUs1QixRQUFHLEdBQUgsR0FBRyxDQUFRO1FBS1gsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUtmLGFBQVEsR0FBUixRQUFRLENBQTBEO1FBS2xFLFdBQU0sR0FBTixNQUFNLENBQVU7UUFFaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFBLElBQUksQ0FBQyxRQUFRLG1DQUFJLEVBQUUsRUFBRSxNQUFNLGFBQU4sTUFBTSxjQUFOLE1BQU0sR0FBSSxLQUFLLENBQUMsQ0FBQztRQUNqRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRU0sYUFBYSxDQUFDLFlBQW9CO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDNUYsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFD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QztJQUU1RCxDQUFDO0lBRU8sTUFBTSxDQUFDLHFCQUFxQixDQUFDLHFCQUE2QjtRQUNoRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMscUJBQXFCLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNGLE1BQU0sU0FBUyxHQUFpRCxFQUFFLENBQUM7UUFDbkUsSUFBSSxRQUFRLENBQUMsT0FBTyxLQUFLLE9BQU8sRUFBRTtZQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxxQkFBcUIsS0FBSyxRQUFRLENBQUMsT0FBTyxtQ0FBbUMsQ0FBQyxDQUFDO1NBQy9JO1FBQ0QsS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2pFLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRyxRQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3BEO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFFbkIsQ0FBQztDQUVGO0FBMUNELDRDQTBDQztBQWNELFNBQVMsS0FBSyxDQUFDLENBQVM7SUFDdEIsT0FBTyxHQUFHLENBQUMsU0FBUyxDQUFDO0FBQ3ZCLENBQUM7QUFFRCxTQUFTLEdBQUcsQ0FBQyxDQUFTO0lBQ3BCLE9BQU8sV0FBVyxDQUFDLEVBQUUsQ0FBQztBQUN4QixDQUFDO0FBRUQsU0FBUyxNQUFNLENBQUMsQ0FBUztJQUN2QixPQUFPLFVBQVUsQ0FBQyxFQUFFLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCB7IHRhYmxlIH0gZnJvbSAndGFibGUnO1xuaW1wb3J0ICogYXMgeWFtbCBmcm9tICd5YW1sJztcbmltcG9ydCB7IFBsdWdpbk1hbmFnZXIgfSBmcm9tICcuL19tYW5hZ2VyJztcbmltcG9ydCB7IFZhbGlkYXRpb25Db25maWcgfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHsgU3ludGhlc2l6ZWRBcHAgfSBmcm9tICcuLi91dGlsJztcblxuLyoqXG4gKiBDb250ZXh0IGF2YWlsYWJsZSB0byBwbHVnaW5zIGR1cmluZyB2YWxpZGF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbkNvbnRleHQge1xuXG4gIC8qKlxuICAgKiBSZXBvcnQgZW1pdHRlZCBieSB0aGUgdmFsaWRhdGlvbi5cbiAgICpcbiAgICogUGx1Z2lucyBzaG91bGQgaW50ZXJhY3Qgd2l0aCB0aGlzIG9iamVjdCB0byBnZW5lcmF0ZSB0aGUgcmVwb3J0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJlcG9ydDogVmFsaWRhdGlvblJlcG9ydDtcblxuICAvKipcbiAgICogTG9nZ2VyIGZvciB0aGUgdmFsaWRhdGlvbi5cbiAgICpcbiAgICogUGx1Z2lucyBzaG91bGQgaW50ZXJhY3Qgd2l0aCB0aGlzIG9iamVjdCB0byBsb2cgbWVzc2FnZXMgZHVyaW5nIHZhbGlkYXRpb24uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbG9nZ2VyOiBWYWxpZGF0aW9uTG9nZ2VyO1xuXG4gIGNvbnN0cnVjdG9yKFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxpc3Qgb2YgbWFuaWZlc3RzIHRvIHZhbGlkYXRlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBtYW5pZmVzdHM6IHJlYWRvbmx5IHN0cmluZ1tdLFxuXG4gICAgLyoqXG4gICAgICogVGhlIE5vZGVKUyBwYWNrYWdlIG5hbWUgb2YgdGhlIHBsdWdpbiBydW5uaW5nIHRoZSB2YWxpZGF0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBwa2c6IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBOb2RlSlMgcGFja2FnZSB0aGF0IHJ1bnMgdGhlIHZhbGlkYXRpb24uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdCBtZXRhZGF0YSBvZiByZXNvdXJjZXMgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBtZXRhZGF0YToge3JlYWRvbmx5IFtrZXk6IHN0cmluZ106IFJlc291cmNlQ29uc3RydWN0TWV0YWRhdGF9ID0ge30sXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgc3ludGggY29tbWFuZCB3YXMgZXhlY3V0ZWQgd2l0aCAtLXN0ZG91dC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc3Rkb3V0PzogYm9vbGVhbikge1xuXG4gICAgdGhpcy5yZXBvcnQgPSBuZXcgVmFsaWRhdGlvblJlcG9ydCh0aGlzLnBrZywgdGhpcy52ZXJzaW9uLCB0aGlzLm1ldGFkYXRhID8/IHt9LCBzdGRvdXQgPz8gZmFsc2UpO1xuICAgIHRoaXMubG9nZ2VyID0gbmV3IFZhbGlkYXRpb25Mb2dnZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXJzZU1hbmlmZXN0KG1hbmlmZXN0UGF0aDogc3RyaW5nKTogYW55W10ge1xuICAgIGNvbnN0IHBhcnNlZCA9IHlhbWwucGFyc2VBbGxEb2N1bWVudHMoZnMucmVhZEZpbGVTeW5jKG1hbmlmZXN0UGF0aCwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KSk7XG4gICAgY29uc3QgcmVzb3VyY2VzID0gQXJyYXkuaXNBcnJheShwYXJzZWQpID8gcGFyc2VkIDogW3BhcnNlZF07XG4gICAgcmV0dXJuIHJlc291cmNlcy5tYXAociA9PiByLnRvSlMoKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBMb2dnZXIgYXZhaWxhYmxlIHRvIHBsdWdpbnMgZHVyaW5nIHZhbGlkYXRpb24uIFVzZSB0aGlzIGluc3RlYWQgb2YgYGNvbnNvbGUubG9nYC5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25Mb2dnZXIge1xuXG4gIC8qKlxuICAgKiBMb2cgYSBtZXNzYWdlLlxuICAgKi9cbiAgcHVibGljIGxvZyhtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBjb25zb2xlLmxvZyhtZXNzYWdlKTtcbiAgfVxufVxuXG4vKipcbiAqIENvbnRyYWN0IGJldHdlZW4gY2RrOHMgYW5kIHRoaXJkLXBhcnRpZXMgbG9va2luZyB0byBpbXBsZW1lbnQgdmFsaWRhdGlvbiBwbHVnaW5zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb24ge1xuXG4gIC8qKlxuICAgKiBSdW4gdGhlIHZhbGlkYXRpb24gbG9naWMuXG4gICAqXG4gICAqIC0gVXNlIGBjb250ZXh0Lm1hbmlmZXN0c2AgdG8gcmV0cmlldmUgdGhlIGxpc3Qgb2YgbWFuaWZlc3RzIHRvIHZhbGlkYXRlLlxuICAgKiAtIFVzZSBgY29udGV4dC5yZXBvcnRgIHRvIGFjY2VzcyBhbmQgYnVpbGQgdGhlIHJlc3VsdGluZyByZXBvcnQuXG4gICAqXG4gICAqIE1ha2Ugc3VyZSB0byBjYWxsIGBjb250ZXh0LnJlcG9ydC5wYXNzKClgIG9yIGBjb250ZXh0LnJlcG9ydC5mYWlsKClgIGJlZm9yZSByZXR1cm5pbmcsIG90aGVyd2lzZSB0aGUgdmFsaWRhdGlvbiBpcyBjb25zaWRlcmVkIGluY29tcGxldGUuXG4gICAqL1xuICB2YWxpZGF0ZShjb250ZXh0OiBWYWxpZGF0aW9uQ29udGV4dCk6IFByb21pc2U8dm9pZD47XG5cbn1cblxuLyoqXG4gKiBSZXNvdXJjZSB2aW9sYXRpbmcgYSBzcGVjaWZpYyBydWxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25WaW9sYXRpbmdSZXNvdXJjZSB7XG5cbiAgLyoqXG4gICAqIFRoZSByZXNvdXJjZSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsb2NhdGlvbnMgaW4gaXRzIGNvbmZpZyB0aGF0IHBvc2UgdGhlIHZpb2xhdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBsb2NhdGlvbnM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbWFuaWZlc3QgdGhpcyByZXNvdXJjZSBpcyBkZWZpbmVkIGluLlxuICAgKi9cbiAgcmVhZG9ubHkgbWFuaWZlc3RQYXRoOiBzdHJpbmc7XG5cbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3QgdmlvbGF0aW5nIGEgc3BlY2lmaWMgcnVsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uVmlvbGF0aW5nQ29uc3RydWN0IGV4dGVuZHMgVmFsaWRhdGlvblZpb2xhdGluZ1Jlc291cmNlIHtcblxuICAvKipcbiAgICogVGhlIGNvbnN0cnVjdCBwYXRoIGFzIGRlZmluZWQgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uc3RydWN0UGF0aD86IHN0cmluZztcblxufVxuXG4vKipcbiAqIFZpb2xhdGlvbiBwcm9kdWNlZCBieSB0aGUgdmFsaWRhdGlvbiBwbHVnaW4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvblZpb2xhdGlvbiB7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBydWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgcnVsZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlY29tbWVuZGF0aW9uIHRvIHJlc29sdmUgdGhlIHZpb2xhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHJlY29tbWVuZGF0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEhvdyB0byBmaXggdGhlIHJlY29tbWVuZGF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZml4OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZXNvdXJjZXMgdmlvbGF0aW5nIHRoaXMgcnVsZS5cbiAgICovXG4gIHJlYWRvbmx5IHZpb2xhdGluZ1Jlc291cmNlczogcmVhZG9ubHkgVmFsaWRhdGlvblZpb2xhdGluZ1Jlc291cmNlW107XG5cbn1cblxuLyoqXG4gKiBWYWxpZGF0aW9uIHByb2R1Y2VkIGJ5IHRoZSB2YWxpZGF0aW9uIHBsdWdpbiwgaW4gY29uc3RydWN0IHRlcm1zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25WaW9sYXRpb25Db25zdHJ1Y3RBd2FyZSBleHRlbmRzIE9taXQ8VmFsaWRhdGlvblZpb2xhdGlvbiwgJ3Zpb2xhdGluZ1Jlc291cmNlcyc+IHtcblxuICAvKipcbiAgICogVGhlIGNvbnN0cnVjdHMgdmlvbGF0aW5nIHRoaXMgcnVsZS5cbiAgICovXG4gIHJlYWRvbmx5IHZpb2xhdGluZ0NvbnN0cnVjdHM6IHJlYWRvbmx5IFZhbGlkYXRpb25WaW9sYXRpbmdDb25zdHJ1Y3RbXTtcbn1cblxuLy8gd2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2UgYW4gZW51bSBzbyB0aGF0XG4vLyBwbHVnaW5zIGRvbid0IGhhdmUgdG8gaW1wb3J0IHRoZSBjbGkgYXQgcnVudGltZS5cbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25SZXBvcnRTdGF0dXMgPSAnc3VjY2VzcycgfCAnZmFpbHVyZSc7XG5cbi8qKlxuICogU3VtbWFyeSBvZiB0aGUgcmVwb3J0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25SZXBvcnRTdW1tYXJ5IHtcblxuICByZWFkb25seSBzdGF0dXM6IFZhbGlkYXRpb25SZXBvcnRTdGF0dXM7XG5cbiAgcmVhZG9ubHkgcGx1Z2luOiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IG1ldGFkYXRhPzogeyByZWFkb25seSBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxufVxuXG4vKipcbiAqIEpTT04gcmVwcmVzZW50YXRpb24gb2YgdGhlIHJlcG9ydC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uUmVwb3J0SnNvbiB7XG5cbiAgLyoqXG4gICAqIFJlcG9ydCB0aXRsZS5cbiAgICovXG4gIHJlYWRvbmx5IHRpdGxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgdmlvbGF0aW9ucyBpbiB0aGUgcmVycG90LlxuICAgKi9cbiAgcmVhZG9ubHkgdmlvbGF0aW9uczogcmVhZG9ubHkgVmFsaWRhdGlvblZpb2xhdGlvbkNvbnN0cnVjdEF3YXJlW107XG5cbiAgLyoqXG4gICAqIFJlcG9ydCBzdW1tYXJ5LlxuICAgKi9cbiAgcmVhZG9ubHkgc3VtbWFyeTogVmFsaWRhdGlvblJlcG9ydFN1bW1hcnk7XG5cbn1cblxuLyoqXG4gKiBUaGUgcmVwb3J0IGVtaXR0ZWQgYnkgdGhlIHBsdWdpbiBhZnRlciBldmFsdWF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvblJlcG9ydCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB2aW9sYXRpb25zOiBWYWxpZGF0aW9uVmlvbGF0aW9uQ29uc3RydWN0QXdhcmVbXSA9IFtdO1xuXG4gIHByaXZhdGUgX3N1bW1hcnk/OiBWYWxpZGF0aW9uUmVwb3J0U3VtbWFyeTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBrZzogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWV0YWRhdGE6IHtyZWFkb25seSBba2V5OiBzdHJpbmddOiBSZXNvdXJjZUNvbnN0cnVjdE1ldGFkYXRhfSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0ZG91dDogYm9vbGVhbikge1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHZpb2xhdGlvbiB0byB0aGUgcmVwb3J0LlxuICAgKi9cbiAgcHVibGljIGFkZFZpb2xhdGlvbih2aW9sYXRpb246IFZhbGlkYXRpb25WaW9sYXRpb24pIHtcbiAgICBpZiAodGhpcy5fc3VtbWFyeSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdWaW9sYXRpb25zIGNhbm5vdCBiZSBhZGRlZCB0byByZXBvcnQgYWZ0ZXIgaXRzIHN1Ym1pdHRlZCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHZpb2xhdGluZ0NvbnN0cnVjdHM6IFZhbGlkYXRpb25WaW9sYXRpbmdDb25zdHJ1Y3RbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCByZXNvdXJjZSBvZiB2aW9sYXRpb24udmlvbGF0aW5nUmVzb3VyY2VzKSB7XG4gICAgICBjb25zdCBjb25zdHJ1Y3RQYXRoID0gdGhpcy5tZXRhZGF0YVtyZXNvdXJjZS5yZXNvdXJjZU5hbWVdPy5wYXRoO1xuICAgICAgdmlvbGF0aW5nQ29uc3RydWN0cy5wdXNoKHtcbiAgICAgICAgLi4ucmVzb3VyY2UsXG5cbiAgICAgICAgLy8gYXVnbWVudCB3aXRoIGNvbnN0cnVjdCBtZXRhZGF0YVxuICAgICAgICBjb25zdHJ1Y3RQYXRoOiBjb25zdHJ1Y3RQYXRoLFxuXG4gICAgICAgIC8vIGlmIHN5bnRoIGlzIGV4ZWN1dGVkIHdpdGggLS1zdGRvdXQsIHRoZSBtYW5pZmVzdCBwYXRoXG4gICAgICAgIC8vIGhlcmUgaXMgdGVtcG9yYXJ5IGFuZCB3aWxsIGJlIGRlbGV0ZWQgb25jZSB0aGUgY29tbWFuZCBmaW5pc2hlcy5cbiAgICAgICAgbWFuaWZlc3RQYXRoOiB0aGlzLnN0ZG91dCA/ICdTVERPVVQnIDogcmVzb3VyY2UubWFuaWZlc3RQYXRoLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy52aW9sYXRpb25zLnB1c2goe1xuICAgICAgcnVsZU5hbWU6IHZpb2xhdGlvbi5ydWxlTmFtZSxcbiAgICAgIHJlY29tbWVuZGF0aW9uOiB2aW9sYXRpb24ucmVjb21tZW5kYXRpb24sXG4gICAgICB2aW9sYXRpbmdDb25zdHJ1Y3RzOiB2aW9sYXRpbmdDb25zdHJ1Y3RzLFxuICAgICAgZml4OiB2aW9sYXRpb24uZml4LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFN1Ym1pdCB0aGUgcmVwb3J0IHdpdGggYSBzdGF0dXMgYW5kIGFkZGl0aW9uYWwgbWV0YWRhdGEuXG4gICAqL1xuICBwdWJsaWMgc3VibWl0KHN0YXR1czogVmFsaWRhdGlvblJlcG9ydFN0YXR1cywgbWV0YWRhdGE/OiB7IHJlYWRvbmx5IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSB7XG4gICAgdGhpcy5fc3VtbWFyeSA9IHsgc3RhdHVzLCBwbHVnaW46IHRoaXMucGtnLCB2ZXJzaW9uOiB0aGlzLnZlcnNpb24sIG1ldGFkYXRhIH07XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIHJlcG9ydCB3YXMgc3VjY2Vzc2Z1bGwuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHN1Y2Nlc3MoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLl9zdW1tYXJ5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBkZXRlcm1pbmUgcmVwb3J0IHN0YXR1czogUmVwb3J0IGlzIGluY29tcGxldGUuIENhbGwgXFwncmVwb3J0LnN1Ym1pdFxcJycpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc3VtbWFyeS5zdGF0dXMgPT09ICdzdWNjZXNzJztcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gdGhlIHJlcG9ydCB0byBhIHdlbGwgZm9ybWF0dGVkIHRhYmxlIHN0cmluZy5cbiAgICovXG4gIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xuXG4gICAgY29uc3QganNvbiA9IHRoaXMudG9Kc29uKCk7XG4gICAgY29uc3Qgb3V0cHV0ID0gW2pzb24udGl0bGVdO1xuXG4gICAgb3V0cHV0LnB1c2goJy0nLnJlcGVhdChqc29uLnRpdGxlLmxlbmd0aCkpO1xuICAgIG91dHB1dC5wdXNoKCcnKTtcbiAgICBvdXRwdXQucHVzaCgnKFN1bW1hcnkpJyk7XG4gICAgb3V0cHV0LnB1c2goJycpO1xuICAgIG91dHB1dC5wdXNoKHRhYmxlKFtcbiAgICAgIFsnU3RhdHVzJywganNvbi5zdW1tYXJ5LnN0YXR1c10sXG4gICAgICBbJ1BsdWdpbicsIGpzb24uc3VtbWFyeS5wbHVnaW5dLFxuICAgICAgWydWZXJzaW9uJywganNvbi5zdW1tYXJ5LnZlcnNpb25dLFxuICAgICAgLi4uT2JqZWN0LmVudHJpZXMoanNvbi5zdW1tYXJ5Lm1ldGFkYXRhID8/IHt9KSxcbiAgICBdKSk7XG5cbiAgICBpZiAoanNvbi52aW9sYXRpb25zKSB7XG4gICAgICBvdXRwdXQucHVzaCgnJyk7XG4gICAgICBvdXRwdXQucHVzaCgnKFZpb2xhdGlvbnMpJyk7XG4gICAgfVxuICAgIGZvciAoY29uc3QgdmlvbGF0aW9uIG9mIGpzb24udmlvbGF0aW9ucykge1xuICAgICAgY29uc3Qgb2NjdXJyZW5jZXMgPSB2aW9sYXRpb24udmlvbGF0aW5nQ29uc3RydWN0cy5mbGF0TWFwKGMgPT4gYy5sb2NhdGlvbnMpLmxlbmd0aDtcbiAgICAgIGNvbnN0IHRpdGxlID0gcmVzZXQocmVkKGJyaWdodChgJHt2aW9sYXRpb24ucnVsZU5hbWV9ICgke29jY3VycmVuY2VzfSBvY2N1cnJlbmNlcylgKSkpO1xuICAgICAgb3V0cHV0LnB1c2goJycpO1xuICAgICAgb3V0cHV0LnB1c2godGl0bGUpO1xuICAgICAgb3V0cHV0LnB1c2goJycpO1xuICAgICAgb3V0cHV0LnB1c2goJyAgT2NjdXJyZW5jZXM6Jyk7XG4gICAgICBmb3IgKGNvbnN0IGNvbnN0cnVjdCBvZiB2aW9sYXRpb24udmlvbGF0aW5nQ29uc3RydWN0cykge1xuICAgICAgICBvdXRwdXQucHVzaCgnJyk7XG4gICAgICAgIG91dHB1dC5wdXNoKGAgICAgLSBDb25zdHJ1Y3QgUGF0aDogJHtjb25zdHJ1Y3QuY29uc3RydWN0UGF0aCA/PyAnTi9BJ31gKTtcbiAgICAgICAgb3V0cHV0LnB1c2goYCAgICAtIE1hbmlmZXN0IFBhdGg6ICR7Y29uc3RydWN0Lm1hbmlmZXN0UGF0aH1gKTtcbiAgICAgICAgb3V0cHV0LnB1c2goYCAgICAtIFJlc291cmNlIE5hbWU6ICR7Y29uc3RydWN0LnJlc291cmNlTmFtZX1gKTtcbiAgICAgICAgaWYgKGNvbnN0cnVjdC5sb2NhdGlvbnMpIHtcbiAgICAgICAgICBvdXRwdXQucHVzaCgnICAgIC0gTG9jYXRpb25zOicpO1xuICAgICAgICAgIGZvciAoY29uc3QgbG9jYXRpb24gb2YgY29uc3RydWN0LmxvY2F0aW9ucykge1xuICAgICAgICAgICAgb3V0cHV0LnB1c2goYCAgICAgID4gJHtsb2NhdGlvbn1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG91dHB1dC5wdXNoKCcnKTtcbiAgICAgIG91dHB1dC5wdXNoKGAgIFJlY29tbWVuZGF0aW9uOiAke3Zpb2xhdGlvbi5yZWNvbW1lbmRhdGlvbn1gKTtcbiAgICAgIG91dHB1dC5wdXNoKGAgIEhvdyB0byBmaXg6ICR7dmlvbGF0aW9uLmZpeH1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gb3V0cHV0LmpvaW4ob3MuRU9MKTtcblxuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0aGUgcmVwb3J0IGludG8gYSBKU09OIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyB0b0pzb24oKTogVmFsaWRhdGlvblJlcG9ydEpzb24ge1xuICAgIGlmICghdGhpcy5fc3VtbWFyeSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZGV0ZXJtaW5lIHJlcG9ydCByZXN1bHQ6IFJlcG9ydCBpcyBpbmNvbXBsZXRlLiBDYWxsIFxcJ3JlcG9ydC5zdWJtaXRcXCcnKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiBgVmFsaWRhdGlvbiBSZXBvcnQgKCR7dGhpcy5wa2d9QCR7dGhpcy52ZXJzaW9ufSlgLFxuICAgICAgdmlvbGF0aW9uczogdGhpcy52aW9sYXRpb25zLFxuICAgICAgc3VtbWFyeTogdGhpcy5fc3VtbWFyeSxcbiAgICB9O1xuICB9XG5cbn1cblxuLyoqXG4gKiBVdGlsaXkgY2xhc3MgZm9yIGxvYWRpbmcgdmFsaWRhdGlvbiBwbHVnaW5zLlxuICovXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvblBsdWdpbiB7XG5cbiAgLyoqXG4gICAqIExvYWQgdGhlIHZhbGlkYXRpb24gcGx1Z2luIGFuZCBjcmVhdGUgdGhlIG5lY2Vzc2FyeSBjb250ZXh0IGZvciBpdHMgZXhlY3V0aW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBsb2FkKFxuICAgIHZhbGlkYXRpb246IFZhbGlkYXRpb25Db25maWcsXG4gICAgYXBwOiBTeW50aGVzaXplZEFwcCxcbiAgICBzdGRvdXQ6IGJvb2xlYW4sXG4gICAgcGx1Z2luTWFuYWdlcjogUGx1Z2luTWFuYWdlcik6IHsgcGx1Z2luOiBWYWxpZGF0aW9uOyBjb250ZXh0OiBWYWxpZGF0aW9uQ29udGV4dCB9IHtcblxuICAgIGNvbnN0IHBsdWdpbiA9IHBsdWdpbk1hbmFnZXIubG9hZCh7XG4gICAgICBwa2c6IHZhbGlkYXRpb24ucGFja2FnZSxcbiAgICAgIHZlcnNpb246IHZhbGlkYXRpb24udmVyc2lvbixcbiAgICAgIGNsYXNzOiB2YWxpZGF0aW9uLmNsYXNzLFxuICAgICAgcHJvcGVydGllczogdmFsaWRhdGlvbi5wcm9wZXJ0aWVzLFxuICAgICAgaW5zdGFsbEVudjogdmFsaWRhdGlvbi5pbnN0YWxsRW52LFxuICAgIH0pO1xuXG4gICAgaWYgKHR5cGVvZigocGx1Z2luLmluc3RhbmNlIGFzIGFueSkudmFsaWRhdGUpICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEluc3RhbmNlIG9mIGNsYXNzICcke3ZhbGlkYXRpb24uY2xhc3N9JyBmcm9tIHBhY2thZ2UgJyR7dmFsaWRhdGlvbi5wYWNrYWdlfUAke3ZhbGlkYXRpb24udmVyc2lvbn0nIGlzIG5vdCBhIHZhbGlkYXRpb24gcGx1Z2luLiBBcmUgeW91IHN1cmUgeW91IHNwZWNpZmllZCB0aGUgY29ycmVjdCBjbGFzcz9gKTtcbiAgICB9XG5cbiAgICBjb25zdCBtZXRhZGF0YSA9IGFwcC5jb25zdHJ1Y3RNZXRhZGF0YSA/IHRoaXMubG9hZENvbnN0cnVjdE1ldGFkYXRhKGFwcC5jb25zdHJ1Y3RNZXRhZGF0YSkgOiB7fTtcbiAgICBjb25zdCBjb250ZXh0ID0gbmV3IFZhbGlkYXRpb25Db250ZXh0KGFwcC5tYW5pZmVzdHMsIHBsdWdpbi5wYWNrYWdlLnBrZywgcGx1Z2luLnBhY2thZ2UudmVyc2lvbiwgbWV0YWRhdGEsIHN0ZG91dCk7XG4gICAgcmV0dXJuIHsgcGx1Z2luOiBwbHVnaW4uaW5zdGFuY2UgYXMgVmFsaWRhdGlvbiwgY29udGV4dCB9O1xuXG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBsb2FkQ29uc3RydWN0TWV0YWRhdGEoY29uc3RydWN0TWV0YWRhdGFQYXRoOiBzdHJpbmcpOiB7IHJlYWRvbmx5IFtrZXk6IHN0cmluZ106IFJlc291cmNlQ29uc3RydWN0TWV0YWRhdGEgfSB7XG4gICAgY29uc3QgY29udGVudHMgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhjb25zdHJ1Y3RNZXRhZGF0YVBhdGgsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSkpO1xuICAgIGNvbnN0IHJlc291cmNlczogeyBba2V5OiBzdHJpbmddOiBSZXNvdXJjZUNvbnN0cnVjdE1ldGFkYXRhIH0gPSB7fTtcbiAgICBpZiAoY29udGVudHMudmVyc2lvbiAhPT0gJzEuMC4wJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHZlcnNpb24gb2YgY29uc3RydWN0IG1ldGFkYXRhIGF0ICR7Y29uc3RydWN0TWV0YWRhdGFQYXRofTogJHtjb250ZW50cy52ZXJzaW9ufS4gU3VwcG9ydGVkIHZlcnNpb25zIGFyZTogWzEuMC4wXWApO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IFtuYW1lLCBtZXRhZGF0YV0gb2YgT2JqZWN0LmVudHJpZXMoY29udGVudHMucmVzb3VyY2VzKSkge1xuICAgICAgcmVzb3VyY2VzW25hbWVdID0geyBwYXRoOiAobWV0YWRhdGEgYXMgYW55KS5wYXRoIH07XG4gICAgfVxuICAgIHJldHVybiByZXNvdXJjZXM7XG5cbiAgfVxuXG59XG5cbi8qKlxuICogQ29uc3RydWN0IHJlbGF0ZWQgbWV0YWRhdGEgb24gcmVzb3VyY2VzLlxuICovXG5pbnRlcmZhY2UgUmVzb3VyY2VDb25zdHJ1Y3RNZXRhZGF0YSB7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIG9mIHRoZSBjb25zdHJ1Y3QgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuXG59XG5cbmZ1bmN0aW9uIHJlc2V0KHM6IHN0cmluZykge1xuICByZXR1cm4gYCR7c31cXHgxYlswbWA7XG59XG5cbmZ1bmN0aW9uIHJlZChzOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGBcXHgxYlszMW0ke3N9YDtcbn1cblxuZnVuY3Rpb24gYnJpZ2h0KHM6IHN0cmluZykge1xuICByZXR1cm4gYFxceDFiWzFtJHtzfWA7XG59Il19
package/package.json CHANGED
@@ -49,9 +49,9 @@
49
49
  "@typescript-eslint/eslint-plugin": "^5",
50
50
  "@typescript-eslint/parser": "^5",
51
51
  "eslint": "^8",
52
- "eslint-import-resolver-node": "^0.3.6",
52
+ "eslint-import-resolver-node": "^0.3.7",
53
53
  "eslint-import-resolver-typescript": "^2.7.1",
54
- "eslint-plugin-import": "^2.26.0",
54
+ "eslint-plugin-import": "^2.27.4",
55
55
  "glob": "^7.2.3",
56
56
  "jest": "^27",
57
57
  "jest-junit": "^13",
@@ -68,7 +68,7 @@
68
68
  "@types/node": "^14",
69
69
  "ajv": "^8.12.0",
70
70
  "cdk8s": "^2.6.15",
71
- "cdk8s-plus-25": "^2.3.19",
71
+ "cdk8s-plus-25": "^2.3.20",
72
72
  "codemaker": "^1.73.0",
73
73
  "colors": "1.4.0",
74
74
  "constructs": "^10.1.216",
@@ -95,7 +95,7 @@
95
95
  "node": ">= 14.17.0"
96
96
  },
97
97
  "license": "Apache-2.0",
98
- "version": "2.1.102",
98
+ "version": "2.1.103",
99
99
  "jest": {
100
100
  "testMatch": [
101
101
  "<rootDir>/src/**/__tests__/**/*.ts?(x)",