@trautonen/cdk-dns-validated-certificate 0.1.2 → 0.1.4

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.
package/.jsii CHANGED
@@ -3465,7 +3465,7 @@
3465
3465
  "stability": "stable"
3466
3466
  },
3467
3467
  "homepage": "https://github.com/trautonen/cdk-dns-validated-certificate.git",
3468
- "jsiiVersion": "5.0.21 (build 1951a18)",
3468
+ "jsiiVersion": "5.4.25 (build 09cecf6)",
3469
3469
  "keywords": [
3470
3470
  "aws",
3471
3471
  "cdk",
@@ -3906,6 +3906,6 @@
3906
3906
  "symbolId": "src/dns-validated-certificate:ValidationHostedZone"
3907
3907
  }
3908
3908
  },
3909
- "version": "0.1.2",
3910
- "fingerprint": "ddxewthuJyWEoLjH6Udu7+p3eO/YMSKc15BXyuayA+k="
3909
+ "version": "0.1.4",
3910
+ "fingerprint": "AIgtYVGG2SZBkNeW5zpLm6BVI9ZO7q2AqkP+GDWY2vs="
3911
3911
  }
@@ -264,4 +264,4 @@ const handler = async (event) => {
264
264
  throw new Error(`Invalid request type`);
265
265
  };
266
266
  exports.handler = handler;
267
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydGlmaWNhdGUtcmVxdWVzdG9yLmxhbWJkYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jZXJ0aWZpY2F0ZS1yZXF1ZXN0b3IubGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlDQUFnQztBQUNoQyxvREFZNEI7QUFDNUIsOERBUWlDO0FBQ2pDLG9EQUEwRjtBQUcxRixtQ0FRZ0I7QUFzQmhCLE1BQU0sZUFBZSxHQUFHLENBQUMsVUFBK0IsRUFBYyxFQUFFO0lBQ3RFLGtEQUFrRDtJQUNsRCxPQUFPLFVBQW1DLENBQUE7QUFDNUMsQ0FBQyxDQUFBO0FBRUQsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLFdBQThCLEVBQThCLEVBQUU7SUFDbEcsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLHVCQUF1QixJQUFJLEVBQUUsQ0FBQTtJQUN6RCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLEVBQUU7UUFDMUUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxJQUFLLEVBQUUsR0FBRyxDQUFDLGNBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO1FBQ25ILE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2xDLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO2dCQUNqQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7Z0JBQ2pCLEdBQUcsRUFBRSxFQUFFO2dCQUNQLGVBQWUsRUFBRTtvQkFDZjt3QkFDRSxLQUFLLEVBQUUsTUFBTSxDQUFD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QkFDckcsY0FBYyxHQUFHLE1BQU0sa0JBQWtCLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFBO2FBQ3JGO1lBQ0QsSUFBSSxVQUFVLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ2pFLE1BQU0sT0FBTyxDQUFDLEdBQUcsRUFBRSxjQUFjLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFBO2FBQ3BEO1lBQ0QsT0FBTztnQkFDTCxrQkFBa0IsRUFBRSxjQUFjO2dCQUNsQyxJQUFJLEVBQUU7b0JBQ0osR0FBRyxFQUFFLGNBQWM7aUJBQ3BCO2FBQ0YsQ0FBQTtTQUNGO1FBQ0QsS0FBSyxRQUFRLENBQUMsQ0FBQztZQUNiLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQTtZQUMvQyxJQUFJLFVBQVUsQ0FBQyxhQUFhLEtBQUssU0FBUyxFQUFFO2dCQUMxQyxPQUFPLENBQUMsR0FBRyxDQUFDLG9EQUFvRCxJQUFBLHNCQUFjLEVBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFBO2dCQUM3RixNQUFNLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFBO2FBQ2xFO1lBQ0QsT0FBTztnQkFDTCxrQkFBa0IsRUFBRSxjQUFjO2dCQUNsQyxJQUFJLEVBQUU7b0JBQ0osR0FBRyxFQUFFLGNBQWM7aUJBQ3BCO2FBQ0YsQ0FBQTtTQUNGO0tBQ0Y7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUE7QUFDekMsQ0FBQyxDQUFBO0FBeERZLFFBQUEsT0FBTyxXQXdEbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJ1xuaW1wb3J0IHtcbiAgQUNNQ2xpZW50LFxuICBBZGRUYWdzVG9DZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIEFkZFRhZ3NUb0NlcnRpZmljYXRlQ29tbWFuZElucHV0LFxuICBDZXJ0aWZpY2F0ZURldGFpbCxcbiAgRGVsZXRlQ2VydGlmaWNhdGVDb21tYW5kLFxuICBEZWxldGVDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgRGVzY3JpYmVDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIERlc2NyaWJlQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gIFJlcXVlc3RDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIFJlcXVlc3RDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgd2FpdFVudGlsQ2VydGlmaWNhdGVWYWxpZGF0ZWQsXG59IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1hY20nXG5pbXBvcnQge1xuICBDaGFuZ2VBY3Rpb24sXG4gIENoYW5nZVJlc291cmNlUmVjb3JkU2V0c0NvbW1hbmQsXG4gIENoYW5nZVJlc291cmNlUmVjb3JkU2V0c0NvbW1hbmRJbnB1dCxcbiAgSW52YWxpZENoYW5nZUJhdGNoLFxuICBSZXNvdXJjZVJlY29yZFNldCxcbiAgUm91dGU1M0NsaWVudCxcbiAgd2FpdFVudGlsUmVzb3VyY2VSZWNvcmRTZXRzQ2hhbmdlZCxcbn0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXJvdXRlLTUzJ1xuaW1wb3J0IHsgQXNzdW1lUm9sZUNvbW1hbmQsIEFzc3VtZVJvbGVDb21tYW5kSW5wdXQsIFNUU0NsaWVudCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1zdHMnXG5pbXBvcnQgdHlwZSB7IEF3c0NyZWRlbnRpYWxJZGVudGl0eSwgUHJvdmlkZXIgfSBmcm9tICdAYXdzLXNkay90eXBlcydcbmltcG9ydCB0eXBlIHsgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50IH0gZnJvbSAnYXdzLWxhbWJkYSdcbmltcG9ydCB7XG4gIGNsZWFuQ2hhbmdlSWQsXG4gIGNsZWFuRG9tYWluTmFtZSxcbiAgY29udGFpbnNTYW1lLFxuICBvYmplY3RUb1N0cmluZyxcbiAgb3JkZXJCeVNpZ25pZmljYW5jZSxcbiAgc3RyaW5nVG9Cb29sZWFuLFxuICB0cnlGb3IsXG59IGZyb20gJy4vdXRpbHMnXG5cbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25Ib3N0ZWRab25lUHJvcGVydGllcyA9IHtcbiAgRG9tYWluTmFtZTogc3RyaW5nXG4gIEhvc3RlZFpvbmVJZDogc3RyaW5nXG4gIFZhbGlkYXRpb25Sb2xlQXJuPzogc3RyaW5nXG4gIFZhbGlkYXRpb25FeHRlcm5hbElkPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFByb3BlcnRpZXMgPSB7XG4gIERvbWFpbk5hbWU6IHN0cmluZ1xuICBBbHRlcm5hdGl2ZURvbWFpbk5hbWVzPzogc3RyaW5nW11cbiAgVmFsaWRhdGlvbkhvc3RlZFpvbmVzOiBSZWNvcmQ8c3RyaW5nLCBWYWxpZGF0aW9uSG9zdGVkWm9uZVByb3BlcnRpZXM+XG4gIENlcnRpZmljYXRlUmVnaW9uOiBzdHJpbmdcbiAgQ2xlYW51cFZhbGlkYXRpb25SZWNvcmRzOiBzdHJpbmdcbiAgVHJhbnNwYXJlbmN5TG9nZ2luZ0VuYWJsZWQ6IHN0cmluZ1xuICBUYWdzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICBSZW1vdmFsUG9saWN5OiBzdHJpbmdcbn1cblxudHlwZSBSb3V0ZTUzRmFjdG9yeSA9IChyb2xlQXJuOiBzdHJpbmcgfCB1bmRlZmluZWQsIGV4dGVybmFsSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCkgPT4gUm91dGU1M0NsaWVudFxuXG5jb25zdCBwYXJzZVByb3BlcnRpZXMgPSAocHJvcGVydGllczogUmVjb3JkPHN0cmluZywgYW55Pik6IFByb3BlcnRpZXMgPT4ge1xuICAvLyBtYXliZSBzaG91bGQgYWN0dWFsbHkgcGFyc2UgYW5kIG5vdCBqdXN0IGFzc3VtZVxuICByZXR1cm4gcHJvcGVydGllcyBhcyB1bmtub3duIGFzIFByb3BlcnRpZXNcbn1cblxuY29uc3QgcGFyc2VEb21haW5WYWxpZGF0aW9uUmVjb3JkcyA9IChjZXJ0aWZpY2F0ZTogQ2VydGlmaWNhdGVEZXRhaWwpOiBSZXNvdXJjZVJlY29yZFNldFtdIHwgbnVsbCA9PiB7XG4gIGNvbnN0IG9wdGlvbnMgPSBjZXJ0aWZpY2F0ZS5Eb21haW5WYWxpZGF0aW9uT3B0aW9ucyA/PyBbXVxuICBpZiAob3B0aW9ucy5sZW5ndGggPiAwICYmIG9wdGlvbnMuZXZlcnkoKG9wdCkgPT4gb3B0LlJlc291cmNlUmVjb3JkPy5OYW1lKSkge1xuICAgIGNvbnN0IHVuaXF1ZVJlY29yZHMgPSBbLi4ubmV3IE1hcChvcHRpb25zLm1hcCgob3B0KSA9PiBbb3B0LlJlc291cmNlUmVjb3JkPy5OYW1lISwgb3B0LlJlc291cmNlUmVjb3JkIV0pKS52YWx1ZXMoKV1cbiAgICByZXR1cm4gdW5pcXVlUmVjb3Jkcy5tYXAoKHJlY29yZCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgTmFtZTogcmVjb3JkLk5hbWUsXG4gICAgICAgIFR5cGU6IHJlY29yZC5UeXBlLFxuICAgICAgICBUVEw6IDMwLFxuICAgICAgICBSZXNvdXJjZVJlY29yZHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBWYWx1ZTogcmVjb3JkLlZhbHVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9XG4gICAgfSlcbiAgfVxuICByZXR1cm4gbnVsbFxufVxuXG5jb25zdCBjaGFuZ2VSZWNvcmRTZXRzID0gYXN5bmMgKFxuICByb3V0ZTUzOiBSb3V0ZTUzQ2xpZW50LFxuICBhY3Rpb246IENoYW5nZUFjdGlvbixcbiAgcmVjb3JkczogUmVzb3VyY2VSZWNvcmRTZXRbXSxcbiAgaG9zdGVkWm9uZUlkOiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBjaGFuZ2VSZWNvcmRTZXRzSW5wdXQ6IENoYW5nZVJlc291cmNlUmVjb3JkU2V0c0NvbW1hbmRJbnB1dCA9IHtcbiAgICBIb3N0ZWRab25lSWQ6IGhvc3RlZFpvbmVJZCxcbiAgICBDaGFuZ2VCYXRjaDoge1xuICAgICAgQ2hhbmdlczogcmVjb3Jkcy5tYXAoKHJlY29yZCkgPT4gKHtcbiAgICAgICAgQWN0aW9uOiBhY3Rpb24sXG4gICAgICAgIFJlc291cmNlUmVjb3JkU2V0OiByZWNvcmQsXG4gICAgICB9KSksXG4gICAgfSxcbiAgfVxuICB0cnkge1xuICAgIGNvbnN0IHsgQ2hhbmdlSW5mbyB9ID0gYXdhaXQgcm91dGU1My5zZW5kKG5ldyBDaGFuZ2VSZXNvdXJjZVJlY29yZFNldHNDb21tYW5kKGNoYW5nZVJlY29yZFNldHNJbnB1dCkpXG4gICAgY29uc3QgY2hhbmdlSWQgPSBDaGFuZ2VJbmZvPy5JZCFcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB3YWl0VW50aWxSZXNvdXJjZVJlY29yZFNldHNDaGFuZ2VkKHsgY2xpZW50OiByb3V0ZTUzLCBtYXhXYWl0VGltZTogMTgwIH0sIHsgSWQ6IGNoYW5nZUlkIH0pXG4gICAgaWYgKHJlc3VsdC5zdGF0ZSAhPT0gJ1NVQ0NFU1MnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBWYWxpZGF0aW9uIHJlY29yZHMgbmV2ZXIgY2hhbmdlZCBmb3IgaG9zdGVkIHpvbmUgJHtob3N0ZWRab25lSWR9OiBbJHtyZXN1bHQuc3RhdGV9XSAke3Jlc3VsdC5yZWFzb24gPz8gJyd9YFxuICAgICAgKVxuICAgIH1cbiAgICBjb25zdCBvcGVyYXRpb24gPSBhY3Rpb24gPT09ICdDUkVBVEUnIHx8IGFjdGlvbiA9PT0gJ1VQU0VSVCcgPyAnY2hhbmdlZCcgOiAnZGVsZXRlZCdcbiAgICBjb25zdCBjaGFuZ2UgPSBjbGVhbkNoYW5nZUlkKGNoYW5nZUlkKVxuICAgIGNvbnNvbGUubG9nKGBWYWxpZGF0aW9uIHJlY29yZHMgc3VjY2VzZnVsbHkgJHtvcGVyYXRpb259IGZvciBob3N0ZWQgem9uZSAke2hvc3RlZFpvbmVJZH0gd2l0aCBjaGFuZ2UgaWQgJHtjaGFuZ2V9YClcbiAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICBpZiAoYWN0aW9uID09PSAnREVMRVRFJyAmJiBlcnJvciBpbnN0YW5jZW9mIEludmFsaWRDaGFuZ2VCYXRjaCAmJiBlcnJvci5tZXNzYWdlLmluY2x1ZGVzKCdub3QgZm91bmQnKSkge1xuICAgICAgLy8gdGhlcmUncyBhIGRlbGV0aW9uIHJhY2UgY29uZGl0aW9uIHdoZXJlIHNvbWUgb3RoZXIgY2VydGlmaWNhdGUgaGFzIGFscmVhZHkgZGVsZXRlZCB0aGUgcmVjb3Jkc1xuICAgICAgY29uc29sZS5sb2coYEFsbCB2YWxpZGF0aW9uIHJlY29yZHMgaGF2ZSBhbHJlYWR5IGJlZW4gcmVtb3ZlZCBieSBzb21lIG90aGVyIGNlcnRpZmljYXRlYClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgZXJyb3JcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgZ2V0UmVjb3Jkc0ZvclpvbmVOYW1lcyA9IChcbiAgcmVjb3JkczogUmVzb3VyY2VSZWNvcmRTZXRbXSxcbiAgem9uZU5hbWVzOiBzdHJpbmdbXSxcbiAgcmVzdWx0PzogUmVjb3JkPHN0cmluZywgUmVzb3VyY2VSZWNvcmRTZXRbXT5cbik6IFJlY29yZDxzdHJpbmcsIFJlc291cmNlUmVjb3JkU2V0W10+ID0+IHtcbiAgY29uc3QgW3pvbmVOYW1lLCAuLi5yZXN0Wm9uZU5hbWVzXSA9IHpvbmVOYW1lc1xuICBpZiAoIXpvbmVOYW1lKSB7XG4gICAgcmV0dXJuIHJlc3VsdCA/PyB7fVxuICB9XG4gIGNvbnN0IG1hdGNoaW5nUmVjb3JkczogUmVzb3VyY2VSZWNvcmRTZXRbXSA9IFtdXG4gIGNvbnN0IHVubWF0Y2hpbmdSZWNvcmRzOiBSZXNvdXJjZVJlY29yZFNldFtdID0gW11cbiAgZm9yIChjb25zdCByZWNvcmQgb2YgcmVjb3Jkcykge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRSZWNvcmROYW1lID0gY2xlYW5Eb21haW5OYW1lKHJlY29yZC5OYW1lISlcbiAgICBpZiAobm9ybWFsaXplZFJlY29yZE5hbWUuZW5kc1dpdGgoem9uZU5hbWUpKSB7XG4gICAgICBtYXRjaGluZ1JlY29yZHMucHVzaChyZWNvcmQpXG4gICAgfSBlbHNlIHtcbiAgICAgIHVubWF0Y2hpbmdSZWNvcmRzLnB1c2gocmVjb3JkKVxuICAgIH1cbiAgfVxuICByZXR1cm4gZ2V0UmVjb3Jkc0ZvclpvbmVOYW1lcyh1bm1hdGNoaW5nUmVjb3JkcywgcmVzdFpvbmVOYW1lcywge1xuICAgIC4uLihyZXN1bHQgPz8ge30pLFxuICAgIFt6b25lTmFtZV06IG1hdGNoaW5nUmVjb3JkcyxcbiAgfSlcbn1cblxuY29uc3QgcmVxdWVzdENlcnRpZmljYXRlID0gYXN5bmMgKFxuICBhY206IEFDTUNsaWVudCxcbiAgcm91dGU1MzogUm91dGU1M0ZhY3RvcnksXG4gIHJlcXVlc3RJZDogc3RyaW5nLFxuICBwcm9wZXJ0aWVzOiBQcm9wZXJ0aWVzXG4pOiBQcm9taXNlPHN0cmluZz4gPT4ge1xuICBjb25zdCB7IERvbWFpbk5hbWUsIEFsdGVybmF0aXZlRG9tYWluTmFtZXMsIFRyYW5zcGFyZW5jeUxvZ2dpbmdFbmFibGVkIH0gPSBwcm9wZXJ0aWVzXG5cbiAgY29uc29sZS5sb2coYFJlcXVlc3RpbmcgY2VydGlmaWNhdGUgZm9yICR7RG9tYWluTmFtZX1gKVxuXG4gIGNvbnN0IHJlcXVlc3RDZXJ0aWZpY2F0ZUlucHV0OiBSZXF1ZXN0Q2VydGlmaWNhdGVDb21tYW5kSW5wdXQgPSB7XG4gICAgRG9tYWluTmFtZSxcbiAgICBTdWJqZWN0QWx0ZXJuYXRpdmVOYW1lczogQWx0ZXJuYXRpdmVEb21haW5OYW1lcyxcbiAgICBJZGVtcG90ZW5jeVRva2VuOiBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKHJlcXVlc3RJZCkuZGlnZXN0KCdoZXgnKS5zbGljZSgwLCAzMiksXG4gICAgVmFsaWRhdGlvbk1ldGhvZDogJ0ROUycsXG4gICAgT3B0aW9uczoge1xuICAgICAgQ2VydGlmaWNhdGVUcmFuc3BhcmVuY3lMb2dnaW5nUHJlZmVyZW5jZTogVHJhbnNwYXJlbmN5TG9nZ2luZ0VuYWJsZWQgPyAnRU5BQkxFRCcgOiAnRElTQUJMRUQnLFxuICAgIH0sXG4gIH1cbiAgY29uc3QgeyBDZXJ0aWZpY2F0ZUFybiB9ID0gYXdhaXQgYWNtLnNlbmQobmV3IFJlcXVlc3RDZXJ0aWZpY2F0ZUNvbW1hbmQocmVxdWVzdENlcnRpZmljYXRlSW5wdXQpKVxuXG4gIGNvbnNvbGUubG9nKGBDZXJ0aWZpY2F0ZSAke0NlcnRpZmljYXRlQXJufSByZXF1ZXN0ZWRgKVxuXG4gIGNvbnN0IHZhbGlkYXRpb25NYXhTZWNvbmRzID0gMTgwXG4gIGNvbnN0IHZhbGlkYXRpb25UaW1lb3V0RXJyb3IgPSBgRG9tYWluIHZhbGlkYXRpb24gb3B0aW9ucyB3ZXJlIG5vdCBmb3VuZCBpbiAke3ZhbGlkYXRpb25NYXhTZWNvbmRzfSBzZWNvbmRzYFxuICBjb25zdCB2YWxpZGF0aW9uUmVjb3JkcyA9IGF3YWl0IHRyeUZvcih2YWxpZGF0aW9uTWF4U2Vjb25kcywgdmFsaWRhdGlvblRpbWVvdXRFcnJvciwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGRlc2NyaWJlQ2VydGlmaWNhdGVJbnB1dDogRGVzY3JpYmVDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCA9IHtcbiAgICAgIENlcnRpZmljYXRlQXJuLFxuICAgIH1cbiAgICBjb25zdCB7IENlcnRpZmljYXRlIH0gPSBhd2FpdCBhY20uc2VuZChuZXcgRGVzY3JpYmVDZXJ0aWZpY2F0ZUNvbW1hbmQoZGVzY3JpYmVDZXJ0aWZpY2F0ZUlucHV0KSlcbiAgICByZXR1cm4gcGFyc2VEb21haW5WYWxpZGF0aW9uUmVjb3JkcyhDZXJ0aWZpY2F0ZSEpXG4gIH0pXG5cbiAgY29uc3QgaG9zdGVkWm9uZXMgPSBPYmplY3QudmFsdWVzKHByb3BlcnRpZXMuVmFsaWRhdGlvbkhvc3RlZFpvbmVzKVxuICBjb25zdCBob3N0ZWRab25lSWRzID0gaG9zdGVkWm9uZXMubWFwKCh6b25lKSA9PiB6b25lLkhvc3RlZFpvbmVJZClcblxuICBjb25zb2xlLmxvZyhcbiAgICBgVXBzZXJ0aW5nICR7dmFsaWRhdGlvblJlY29yZHMubGVuZ3RofSB2YWxpZGF0aW9uIHJlY29yZChzKSBpbnRvIGhvc3RlZCB6b25lKHMpICR7aG9zdGVkWm9uZUlkcy5qb2luKCcsICcpfTpgXG4gIClcbiAgdmFsaWRhdGlvblJlY29yZHMuZm9yRWFjaCgocmVjb3JkKSA9PlxuICAgIGNvbnNvbGUubG9nKGAke3JlY29yZC5OYW1lfSAke3JlY29yZC5UeXBlfSAke3JlY29yZC5SZXNvdXJjZVJlY29yZHM/Lm1hcCgocnIpID0+IHJyLlZhbHVlKS5qb2luKCcsJyl9YClcbiAgKVxuXG4gIGNvbnN0IHJlY29yZHNGb3Jab25lTmFtZXMgPSBnZXRSZWNvcmRzRm9yWm9uZU5hbWVzKFxuICAgIHZhbGlkYXRpb25SZWNvcmRzLFxuICAgIG9yZGVyQnlTaWduaWZpY2FuY2UoT2JqZWN0LmtleXMocHJvcGVydGllcy5WYWxpZGF0aW9uSG9zdGVkWm9uZXMpKVxuICApXG4gIGZvciAoY29uc3QgaG9zdGVkWm9uZSBvZiBob3N0ZWRab25lcykge1xuICAgIGNvbnN0IHJlY29yZHMgPSByZWNvcmRzRm9yWm9uZU5hbWVzW2hvc3RlZFpvbmUuRG9tYWluTmFtZV1cbiAgICBpZiAocmVjb3Jkcy5sZW5ndGggPiAwKSB7XG4gICAgICBhd2FpdCBjaGFuZ2VSZWNvcmRTZXRzKFxuICAgICAgICByb3V0ZTUzKGhvc3RlZFpvbmUuVmFsaWRhdGlvblJvbGVBcm4sIGhvc3RlZFpvbmUuVmFsaWRhdGlvbkV4dGVybmFsSWQpLFxuICAgICAgICAnVVBTRVJUJyxcbiAgICAgICAgcmVjb3JkcyxcbiAgICAgICAgaG9zdGVkWm9uZS5Ib3N0ZWRab25lSWRcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBjb25zb2xlLmxvZyhgV2FpdGluZyBmb3IgY2VydGlmaWNhdGUgJHtDZXJ0aWZpY2F0ZUFybn0gdG8gdmFsaWRhdGVgKVxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB3YWl0VW50aWxDZXJ0aWZpY2F0ZVZhbGlkYXRlZCh7IGNsaWVudDogYWNtLCBtYXhXYWl0VGltZTogMzAwIH0sIHsgQ2VydGlmaWNhdGVBcm4gfSlcbiAgaWYgKHJlc3VsdC5zdGF0ZSAhPT0gJ1NVQ0NFU1MnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDZXJ0aWZpY2F0ZSBmYWlsZWQgJHtDZXJ0aWZpY2F0ZUFybn0gdG8gdmFsaWRhdGU6IFske3Jlc3VsdC5zdGF0ZX1dICR7cmVzdWx0LnJlYXNvbiA/PyAnJ31gKVxuICB9XG4gIGNvbnNvbGUubG9nKGBDZXJ0aWZpY2F0ZSAke0NlcnRpZmljYXRlQXJufSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkYClcbiAgcmV0dXJuIENlcnRpZmljYXRlQXJuIVxufVxuXG5jb25zdCBkZWxldGVDZXJ0aWZpY2F0ZSA9IGFzeW5jIChcbiAgYWNtOiBBQ01DbGllbnQsXG4gIHJvdXRlNTM6IFJvdXRlNTNGYWN0b3J5LFxuICBjZXJ0aWZpY2F0ZUFybjogc3RyaW5nLFxuICBwcm9wZXJ0aWVzOiBQcm9wZXJ0aWVzXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc29sZS5sb2coYFdhaXRpbmcgZm9yIGNlcnRpZmljYXRlICR7Y2VydGlmaWNhdGVBcm59IHVzYWdlIHRvIGRyYWluIGJlZm9yZSBkZWxldGlvbmApXG5cbiAgY29uc3Qgd2FpdFVzYWdlTWF4U2Vjb25kcyA9IDYwMFxuICBjb25zdCB3YWl0VXNhZ2VUaW1lb3V0RXJyb3IgPSBgQ2VydGlmaWNhdGUgd2FzIHN0aWxsIGluIHVzZSBhZnRlciAke3dhaXRVc2FnZU1heFNlY29uZHN9IHNlY29uZHNgXG4gIGNvbnN0IGNlcnRpZmljYXRlID0gYXdhaXQgdHJ5Rm9yKHdhaXRVc2FnZU1heFNlY29uZHMsIHdhaXRVc2FnZVRpbWVvdXRFcnJvciwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGRlc2NyaWJlQ2VydGlmaWNhdGVJbnB1dDogRGVzY3JpYmVDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCA9IHtcbiAgICAgIENlcnRpZmljYXRlQXJuOiBjZXJ0aWZpY2F0ZUFybixcbiAgICB9XG4gICAgY29uc3QgeyBDZXJ0aWZpY2F0ZSB9ID0gYXdhaXQgYWNtLnNlbmQobmV3IERlc2NyaWJlQ2VydGlmaWNhdGVDb21tYW5kKGRlc2NyaWJlQ2VydGlmaWNhdGVJbnB1dCkpXG4gICAgY29uc3QgaW5Vc2VCeSA9IENlcnRpZmljYXRlPy5JblVzZUJ5ID8/IFtdXG4gICAgaWYgKGluVXNlQnkubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgcmV0dXJuIENlcnRpZmljYXRlIVxuICB9KVxuICBjb25zb2xlLmxvZygnQ2VydGlmaWNhdGUgaXMgdW51c2VkIGFuZCB3aWxsIGJlIGRlbGV0ZWQnKVxuXG4gIGNvbnN0IHZhbGlkYXRpb25SZWNvcmRzID0gcGFyc2VEb21haW5WYWxpZGF0aW9uUmVjb3JkcyhjZXJ0aWZpY2F0ZSlcbiAgaWYgKHZhbGlkYXRpb25SZWNvcmRzICYmIHN0cmluZ1RvQm9vbGVhbihwcm9wZXJ0aWVzLkNsZWFudXBWYWxpZGF0aW9uUmVjb3JkcykpIHtcbiAgICBjb25zdCBob3N0ZWRab25lcyA9IE9iamVjdC52YWx1ZXMocHJvcGVydGllcy5WYWxpZGF0aW9uSG9zdGVkWm9uZXMpXG4gICAgY29uc3QgaG9zdGVkWm9uZUlkcyA9IGhvc3RlZFpvbmVzLm1hcCgoem9uZSkgPT4gem9uZS5Ib3N0ZWRab25lSWQpXG5cbiAgICBjb25zb2xlLmxvZyhcbiAgICAgIGBEZWxldGluZyAke3ZhbGlkYXRpb25SZWNvcmRzLmxlbmd0aH0gdmFsaWRhdGlvbiByZWNvcmQocykgZnJvbSBob3N0ZWQgem9uZShzKSAke2hvc3RlZFpvbmVJZHMuam9pbignLCAnKX1gXG4gICAgKVxuXG4gICAgY29uc3QgcmVjb3Jkc0ZvclpvbmVOYW1lcyA9IGdldFJlY29yZHNGb3Jab25lTmFtZXMoXG4gICAgICB2YWxpZGF0aW9uUmVjb3JkcyxcbiAgICAgIG9yZGVyQnlTaWduaWZpY2FuY2UoT2JqZWN0LmtleXMocHJvcGVydGllcy5WYWxpZGF0aW9uSG9zdGVkWm9uZXMpKVxuICAgIClcbiAgICBmb3IgKGNvbnN0IGhvc3RlZFpvbmUgb2YgaG9zdGVkWm9uZXMpIHtcbiAgICAgIGNvbnN0IHJlY29yZHMgPSByZWNvcmRzRm9yWm9uZU5hbWVzW2hvc3RlZFpvbmUuRG9tYWluTmFtZV1cbiAgICAgIGlmIChyZWNvcmRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgYXdhaXQgY2hhbmdlUmVjb3JkU2V0cyhcbiAgICAgICAgICByb3V0ZTUzKGhvc3RlZFpvbmUuVmFsaWRhdGlvblJvbGVBcm4sIGhvc3RlZFpvbmUuVmFsaWRhdGlvbkV4dGVybmFsSWQpLFxuICAgICAgICAgICdERUxFVEUnLFxuICAgICAgICAgIHJlY29yZHMsXG4gICAgICAgICAgaG9zdGVkWm9uZS5Ib3N0ZWRab25lSWRcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnNvbGUubG9nKGBEZWxldGluZyBjZXJ0aWZpY2F0ZSAke2NlcnRpZmljYXRlQXJufSBmcm9tIEFDTWApXG4gIGNvbnN0IGRlbGV0ZUNlcnRpZmljYXRlSW5wdXQ6IERlbGV0ZUNlcnRpZmljYXRlQ29tbWFuZElucHV0ID0ge1xuICAgIENlcnRpZmljYXRlQXJuOiBjZXJ0aWZpY2F0ZUFybixcbiAgfVxuICBhd2FpdCBhY20uc2VuZChuZXcgRGVsZXRlQ2VydGlmaWNhdGVDb21tYW5kKGRlbGV0ZUNlcnRpZmljYXRlSW5wdXQpKVxuICBjb25zb2xlLmxvZyhgQ2VydGlmaWNhdGUgJHtjZXJ0aWZpY2F0ZUFybn0gc3VjY2Vzc2Z1bGx5IGRlbGV0ZWRgKVxufVxuXG5jb25zdCBhZGRUYWdzID0gYXN5bmMgKGFjbTogQUNNQ2xpZW50LCBjZXJ0aWZpY2F0ZUFybjogc3RyaW5nLCB0YWdzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSA9PiB7XG4gIGNvbnN0IHRhZ0xpc3QgPSBBcnJheS5mcm9tKE9iamVjdC5lbnRyaWVzKHRhZ3MpLm1hcCgoW0tleSwgVmFsdWVdKSA9PiAoeyBLZXksIFZhbHVlIH0pKSlcbiAgY29uc3QgYWRkVGFnc0lucHV0OiBBZGRUYWdzVG9DZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCA9IHtcbiAgICBDZXJ0aWZpY2F0ZUFybjogY2VydGlmaWNhdGVBcm4sXG4gICAgVGFnczogdGFnTGlzdCxcbiAgfVxuXG4gIGNvbnNvbGUubG9nKGBBZGRpbmcgJHt0YWdMaXN0Lmxlbmd0aH0gdGFncyB0byBjZXJ0aWZpY2F0ZSAke2NlcnRpZmljYXRlQXJufWApXG4gIGF3YWl0IGFjbS5zZW5kKG5ldyBBZGRUYWdzVG9DZXJ0aWZpY2F0ZUNvbW1hbmQoYWRkVGFnc0lucHV0KSlcbiAgY29uc29sZS5sb2coYEFsbCB0YWdzIHN1Y2Nlc3NmdWxseSBhZGRlZCB0byBjZXJ0aWZpY2F0ZSAke2NlcnRpZmljYXRlQXJufWApXG59XG5cbmNvbnN0IHNob3VsZFJlcXVlc3ROZXcgPSAob2xkUHJvcGVydGllczogUHJvcGVydGllcywgbmV3UHJvcGVydGllczogUHJvcGVydGllcyk6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBvbGRIb3N0ZWRab25lSWRzID0gT2JqZWN0LnZhbHVlcyhvbGRQcm9wZXJ0aWVzLlZhbGlkYXRpb25Ib3N0ZWRab25lcyA/PyB7fSkubWFwKCh6b25lKSA9PiB6b25lLkhvc3RlZFpvbmVJZClcbiAgY29uc3QgbmV3SG9zdGVkWm9uZUlkcyA9IE9iamVjdC52YWx1ZXMobmV3UHJvcGVydGllcy5WYWxpZGF0aW9uSG9zdGVkWm9uZXMgPz8ge30pLm1hcCgoem9uZSkgPT4gem9uZS5Ib3N0ZWRab25lSWQpXG4gIGlmICghY29udGFpbnNTYW1lKG9sZEhvc3RlZFpvbmVJZHMsIG5ld0hvc3RlZFpvbmVJZHMpKSByZXR1cm4gdHJ1ZVxuICBpZiAob2xkUHJvcGVydGllcy5Eb21haW5OYW1lICE9PSBuZXdQcm9wZXJ0aWVzLkRvbWFpbk5hbWUpIHJldHVybiB0cnVlXG4gIGlmICghY29udGFpbnNTYW1lKG9sZFByb3BlcnRpZXMuQWx0ZXJuYXRpdmVEb21haW5OYW1lcyA/PyBbXSwgbmV3UHJvcGVydGllcy5BbHRlcm5hdGl2ZURvbWFpbk5hbWVzID8/IFtdKSkgcmV0dXJuIHRydWVcbiAgaWYgKG9sZFByb3BlcnRpZXMuQ2VydGlmaWNhdGVSZWdpb24gIT09IG5ld1Byb3BlcnRpZXMuQ2VydGlmaWNhdGVSZWdpb24pIHJldHVybiB0cnVlXG4gIGlmIChvbGRQcm9wZXJ0aWVzLkNsZWFudXBWYWxpZGF0aW9uUmVjb3JkcyAhPT0gbmV3UHJvcGVydGllcy5DbGVhbnVwVmFsaWRhdGlvblJlY29yZHMpIHJldHVybiB0cnVlXG4gIGlmIChvbGRQcm9wZXJ0aWVzLlRyYW5zcGFyZW5jeUxvZ2dpbmdFbmFibGVkICE9PSBuZXdQcm9wZXJ0aWVzLlRyYW5zcGFyZW5jeUxvZ2dpbmdFbmFibGVkKSByZXR1cm4gdHJ1ZVxuICBpZiAob2xkUHJvcGVydGllcy5SZW1vdmFsUG9saWN5ICE9PSBuZXdQcm9wZXJ0aWVzLlJlbW92YWxQb2xpY3kpIHJldHVybiB0cnVlXG4gIHJldHVybiBmYWxzZVxufVxuXG5jb25zdCBhc3N1bWVSb2xlID0gKFxuICByb2xlQXJuOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIGV4dGVybmFsSWQ6IHN0cmluZyB8IHVuZGVmaW5lZFxuKTogUHJvdmlkZXI8QXdzQ3JlZGVudGlhbElkZW50aXR5PiB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmICghcm9sZUFybikge1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuICByZXR1cm4gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHN0cyA9IG5ldyBTVFNDbGllbnQoeyByZXRyeU1vZGU6ICdhZGFwdGl2ZScgfSlcbiAgICBjb25zdCBhc3N1bWVSb2xlSW5wdXQ6IEFzc3VtZVJvbGVDb21tYW5kSW5wdXQgPSB7XG4gICAgICBSb2xlQXJuOiByb2xlQXJuLFxuICAgICAgUm9sZVNlc3Npb25OYW1lOiAnQ2VydGlmaWNhdGVSZXF1ZXN0b3InLFxuICAgICAgRXh0ZXJuYWxJZDogZXh0ZXJuYWxJZCxcbiAgICB9XG4gICAgY29uc3QgeyBDcmVkZW50aWFscyB9ID0gYXdhaXQgc3RzLnNlbmQobmV3IEFzc3VtZVJvbGVDb21tYW5kKGFzc3VtZVJvbGVJbnB1dCkpXG4gICAgcmV0dXJuIHtcbiAgICAgIGFjY2Vzc0tleUlkOiBDcmVkZW50aWFscz8uQWNjZXNzS2V5SWQhLFxuICAgICAgc2VjcmV0QWNjZXNzS2V5OiBDcmVkZW50aWFscz8uU2VjcmV0QWNjZXNzS2V5ISxcbiAgICAgIHNlc3Npb25Ub2tlbjogQ3JlZGVudGlhbHM/LlNlc3Npb25Ub2tlbiEsXG4gICAgICBleHBpcmF0aW9uOiBDcmVkZW50aWFscz8uRXhwaXJhdGlvbixcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGhhbmRsZXIgPSBhc3luYyAoZXZlbnQ6IENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCkgPT4ge1xuICBjb25zdCBwcm9wZXJ0aWVzID0gcGFyc2VQcm9wZXJ0aWVzKGV2ZW50LlJlc291cmNlUHJvcGVydGllcylcblxuICBjb25zdCBhY20gPSBuZXcgQUNNQ2xpZW50KHsgcmVnaW9uOiBwcm9wZXJ0aWVzLkNlcnRpZmljYXRlUmVnaW9uLCByZXRyeU1vZGU6ICdhZGFwdGl2ZScgfSlcbiAgY29uc3Qgcm91dGU1MyA9IChyb2xlQXJuOiBzdHJpbmcgfCB1bmRlZmluZWQsIGV4dGVybmFsSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IFJvdXRlNTNDbGllbnQgPT4ge1xuICAgIHJldHVybiBuZXcgUm91dGU1M0NsaWVudCh7XG4gICAgICByZXRyeU1vZGU6ICdhZGFwdGl2ZScsXG4gICAgICBjcmVkZW50aWFsczogYXNzdW1lUm9sZShyb2xlQXJuLCBleHRlcm5hbElkKSxcbiAgICB9KVxuICB9XG5cbiAgc3dpdGNoIChldmVudC5SZXF1ZXN0VHlwZSkge1xuICAgIGNhc2UgJ0NyZWF0ZSc6IHtcbiAgICAgIGNvbnNvbGUubG9nKGBSZXF1ZXN0aW5nIG5ldyBjZXJ0aWZpY2F0ZTpcXG4ke29iamVjdFRvU3RyaW5nKHByb3BlcnRpZXMpfWApXG4gICAgICBjb25zdCBjZXJ0aWZpY2F0ZUFybiA9IGF3YWl0IHJlcXVlc3RDZXJ0aWZpY2F0ZShhY20sIHJvdXRlNTMsIGV2ZW50LlJlcXVlc3RJZCwgcHJvcGVydGllcylcbiAgICAgIGlmIChwcm9wZXJ0aWVzLlRhZ3MgJiYgT2JqZWN0LmVudHJpZXMocHJvcGVydGllcy5UYWdzKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGF3YWl0IGFkZFRhZ3MoYWNtLCBjZXJ0aWZpY2F0ZUFybiwgcHJvcGVydGllcy5UYWdzKVxuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBjZXJ0aWZpY2F0ZUFybixcbiAgICAgICAgRGF0YToge1xuICAgICAgICAgIEFybjogY2VydGlmaWNhdGVBcm4sXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgfVxuICAgIGNhc2UgJ1VwZGF0ZSc6IHtcbiAgICAgIGxldCBjZXJ0aWZpY2F0ZUFybiA9IGV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZFxuICAgICAgaWYgKHNob3VsZFJlcXVlc3ROZXcocGFyc2VQcm9wZXJ0aWVzKGV2ZW50Lk9sZFJlc291cmNlUHJvcGVydGllcyksIHByb3BlcnRpZXMpKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBSZXF1ZXN0aW5nIG5ldyBjZXJ0aWZpY2F0ZSBkdWUgdG8gY2hhbmdlIG9mIHByb3BlcnRpZXM6XFxuJHtvYmplY3RUb1N0cmluZyhwcm9wZXJ0aWVzKX1gKVxuICAgICAgICBjZXJ0aWZpY2F0ZUFybiA9IGF3YWl0IHJlcXVlc3RDZXJ0aWZpY2F0ZShhY20sIHJvdXRlNTMsIGV2ZW50LlJlcXVlc3RJZCwgcHJvcGVydGllcylcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wZXJ0aWVzLlRhZ3MgJiYgT2JqZWN0LmVudHJpZXMocHJvcGVydGllcy5UYWdzKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGF3YWl0IGFkZFRhZ3MoYWNtLCBjZXJ0aWZpY2F0ZUFybiwgcHJvcGVydGllcy5UYWdzKVxuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBjZXJ0aWZpY2F0ZUFybixcbiAgICAgICAgRGF0YToge1xuICAgICAgICAgIEFybjogY2VydGlmaWNhdGVBcm4sXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgfVxuICAgIGNhc2UgJ0RlbGV0ZSc6IHtcbiAgICAgIGNvbnN0IGNlcnRpZmljYXRlQXJuID0gZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkXG4gICAgICBpZiAocHJvcGVydGllcy5SZW1vdmFsUG9saWN5ID09PSAnZGVzdHJveScpIHtcbiAgICAgICAgY29uc29sZS5sb2coYERlbGV0aW5nIG9sZCBjZXJ0aWZpY2F0ZSBhcyBwZXIgcmVtb3ZhbCBwb2xpY3k6XFxuJHtvYmplY3RUb1N0cmluZyhwcm9wZXJ0aWVzKX1gKVxuICAgICAgICBhd2FpdCBkZWxldGVDZXJ0aWZpY2F0ZShhY20sIHJvdXRlNTMsIGNlcnRpZmljYXRlQXJuLCBwcm9wZXJ0aWVzKVxuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBjZXJ0aWZpY2F0ZUFybixcbiAgICAgICAgRGF0YToge1xuICAgICAgICAgIEFybjogY2VydGlmaWNhdGVBcm4sXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCByZXF1ZXN0IHR5cGVgKVxufVxuIl19
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydGlmaWNhdGUtcmVxdWVzdG9yLmxhbWJkYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jZXJ0aWZpY2F0ZS1yZXF1ZXN0b3IubGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlDQUFnQztBQUNoQyxvREFZNEI7QUFDNUIsOERBUWlDO0FBQ2pDLG9EQUEwRjtBQUcxRixtQ0FRZ0I7QUFzQmhCLE1BQU0sZUFBZSxHQUFHLENBQUMsVUFBK0IsRUFBYyxFQUFFO0lBQ3RFLGtEQUFrRDtJQUNsRCxPQUFPLFVBQW1DLENBQUE7QUFDNUMsQ0FBQyxDQUFBO0FBRUQsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLFdBQThCLEVBQThCLEVBQUU7SUFDbEcsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLHVCQUF1QixJQUFJLEVBQUUsQ0FBQTtJQUN6RCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUMzRSxNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLElBQUssRUFBRSxHQUFHLENBQUMsY0FBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFDbkgsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbEMsT0FBTztnQkFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7Z0JBQ2pCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtnQkFDakIsR0FBRyxFQUFFLEVBQUU7Z0JBQ1AsZUFBZSxFQUFFO29CQUNmO3dCQUNFLEtBQUssRUFBRSxNQUFN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bEMsSUFBSSxFQUFFO29CQUNKLEdBQUcsRUFBRSxjQUFjO2lCQUNwQjthQUNGLENBQUE7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtBQUN6QyxDQUFDLENBQUE7QUF4RFksUUFBQSxPQUFPLFdBd0RuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNyeXB0byBmcm9tICdjcnlwdG8nXG5pbXBvcnQge1xuICBBQ01DbGllbnQsXG4gIEFkZFRhZ3NUb0NlcnRpZmljYXRlQ29tbWFuZCxcbiAgQWRkVGFnc1RvQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gIENlcnRpZmljYXRlRGV0YWlsLFxuICBEZWxldGVDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIERlbGV0ZUNlcnRpZmljYXRlQ29tbWFuZElucHV0LFxuICBEZXNjcmliZUNlcnRpZmljYXRlQ29tbWFuZCxcbiAgRGVzY3JpYmVDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgUmVxdWVzdENlcnRpZmljYXRlQ29tbWFuZCxcbiAgUmVxdWVzdENlcnRpZmljYXRlQ29tbWFuZElucHV0LFxuICB3YWl0VW50aWxDZXJ0aWZpY2F0ZVZhbGlkYXRlZCxcbn0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWFjbSdcbmltcG9ydCB7XG4gIENoYW5nZUFjdGlvbixcbiAgQ2hhbmdlUmVzb3VyY2VSZWNvcmRTZXRzQ29tbWFuZCxcbiAgQ2hhbmdlUmVzb3VyY2VSZWNvcmRTZXRzQ29tbWFuZElucHV0LFxuICBJbnZhbGlkQ2hhbmdlQmF0Y2gsXG4gIFJlc291cmNlUmVjb3JkU2V0LFxuICBSb3V0ZTUzQ2xpZW50LFxuICB3YWl0VW50aWxSZXNvdXJjZVJlY29yZFNldHNDaGFuZ2VkLFxufSBmcm9tICdAYXdzLXNkay9jbGllbnQtcm91dGUtNTMnXG5pbXBvcnQgeyBBc3N1bWVSb2xlQ29tbWFuZCwgQXNzdW1lUm9sZUNvbW1hbmRJbnB1dCwgU1RTQ2xpZW50IH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXN0cydcbmltcG9ydCB0eXBlIHsgQXdzQ3JlZGVudGlhbElkZW50aXR5LCBQcm92aWRlciB9IGZyb20gJ0Bhd3Mtc2RrL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRXZlbnQgfSBmcm9tICdhd3MtbGFtYmRhJ1xuaW1wb3J0IHtcbiAgY2xlYW5DaGFuZ2VJZCxcbiAgY2xlYW5Eb21haW5OYW1lLFxuICBjb250YWluc1NhbWUsXG4gIG9iamVjdFRvU3RyaW5nLFxuICBvcmRlckJ5U2lnbmlmaWNhbmNlLFxuICBzdHJpbmdUb0Jvb2xlYW4sXG4gIHRyeUZvcixcbn0gZnJvbSAnLi91dGlscydcblxuZXhwb3J0IHR5cGUgVmFsaWRhdGlvbkhvc3RlZFpvbmVQcm9wZXJ0aWVzID0ge1xuICBEb21haW5OYW1lOiBzdHJpbmdcbiAgSG9zdGVkWm9uZUlkOiBzdHJpbmdcbiAgVmFsaWRhdGlvblJvbGVBcm4/OiBzdHJpbmdcbiAgVmFsaWRhdGlvbkV4dGVybmFsSWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgUHJvcGVydGllcyA9IHtcbiAgRG9tYWluTmFtZTogc3RyaW5nXG4gIEFsdGVybmF0aXZlRG9tYWluTmFtZXM/OiBzdHJpbmdbXVxuICBWYWxpZGF0aW9uSG9zdGVkWm9uZXM6IFJlY29yZDxzdHJpbmcsIFZhbGlkYXRpb25Ib3N0ZWRab25lUHJvcGVydGllcz5cbiAgQ2VydGlmaWNhdGVSZWdpb246IHN0cmluZ1xuICBDbGVhbnVwVmFsaWRhdGlvblJlY29yZHM6IHN0cmluZ1xuICBUcmFuc3BhcmVuY3lMb2dnaW5nRW5hYmxlZDogc3RyaW5nXG4gIFRhZ3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gIFJlbW92YWxQb2xpY3k6IHN0cmluZ1xufVxuXG50eXBlIFJvdXRlNTNGYWN0b3J5ID0gKHJvbGVBcm46IHN0cmluZyB8IHVuZGVmaW5lZCwgZXh0ZXJuYWxJZDogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiBSb3V0ZTUzQ2xpZW50XG5cbmNvbnN0IHBhcnNlUHJvcGVydGllcyA9IChwcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUHJvcGVydGllcyA9PiB7XG4gIC8vIG1heWJlIHNob3VsZCBhY3R1YWxseSBwYXJzZSBhbmQgbm90IGp1c3QgYXNzdW1lXG4gIHJldHVybiBwcm9wZXJ0aWVzIGFzIHVua25vd24gYXMgUHJvcGVydGllc1xufVxuXG5jb25zdCBwYXJzZURvbWFpblZhbGlkYXRpb25SZWNvcmRzID0gKGNlcnRpZmljYXRlOiBDZXJ0aWZpY2F0ZURldGFpbCk6IFJlc291cmNlUmVjb3JkU2V0W10gfCBudWxsID0+IHtcbiAgY29uc3Qgb3B0aW9ucyA9IGNlcnRpZmljYXRlLkRvbWFpblZhbGlkYXRpb25PcHRpb25zID8/IFtdXG4gIGlmIChvcHRpb25zLmxlbmd0aCA+IDAgJiYgb3B0aW9ucy5ldmVyeSgob3B0KSA9PiBvcHQuUmVzb3VyY2VSZWNvcmQ/Lk5hbWUpKSB7XG4gICAgY29uc3QgdW5pcXVlUmVjb3JkcyA9IFsuLi5uZXcgTWFwKG9wdGlvbnMubWFwKChvcHQpID0+IFtvcHQuUmVzb3VyY2VSZWNvcmQ/Lk5hbWUhLCBvcHQuUmVzb3VyY2VSZWNvcmQhXSkpLnZhbHVlcygpXVxuICAgIHJldHVybiB1bmlxdWVSZWNvcmRzLm1hcCgocmVjb3JkKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBOYW1lOiByZWNvcmQuTmFtZSxcbiAgICAgICAgVHlwZTogcmVjb3JkLlR5cGUsXG4gICAgICAgIFRUTDogMzAsXG4gICAgICAgIFJlc291cmNlUmVjb3JkczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFZhbHVlOiByZWNvcmQuVmFsdWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH1cbiAgICB9KVxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmNvbnN0IGNoYW5nZVJlY29yZFNldHMgPSBhc3luYyAoXG4gIHJvdXRlNTM6IFJvdXRlNTNDbGllbnQsXG4gIGFjdGlvbjogQ2hhbmdlQWN0aW9uLFxuICByZWNvcmRzOiBSZXNvdXJjZVJlY29yZFNldFtdLFxuICBob3N0ZWRab25lSWQ6IHN0cmluZ1xuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGNvbnN0IGNoYW5nZVJlY29yZFNldHNJbnB1dDogQ2hhbmdlUmVzb3VyY2VSZWNvcmRTZXRzQ29tbWFuZElucHV0ID0ge1xuICAgIEhvc3RlZFpvbmVJZDogaG9zdGVkWm9uZUlkLFxuICAgIENoYW5nZUJhdGNoOiB7XG4gICAgICBDaGFuZ2VzOiByZWNvcmRzLm1hcCgocmVjb3JkKSA9PiAoe1xuICAgICAgICBBY3Rpb246IGFjdGlvbixcbiAgICAgICAgUmVzb3VyY2VSZWNvcmRTZXQ6IHJlY29yZCxcbiAgICAgIH0pKSxcbiAgICB9LFxuICB9XG4gIHRyeSB7XG4gICAgY29uc3QgeyBDaGFuZ2VJbmZvIH0gPSBhd2FpdCByb3V0ZTUzLnNlbmQobmV3IENoYW5nZVJlc291cmNlUmVjb3JkU2V0c0NvbW1hbmQoY2hhbmdlUmVjb3JkU2V0c0lucHV0KSlcbiAgICBjb25zdCBjaGFuZ2VJZCA9IENoYW5nZUluZm8/LklkIVxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHdhaXRVbnRpbFJlc291cmNlUmVjb3JkU2V0c0NoYW5nZWQoeyBjbGllbnQ6IHJvdXRlNTMsIG1heFdhaXRUaW1lOiAxODAgfSwgeyBJZDogY2hhbmdlSWQgfSlcbiAgICBpZiAocmVzdWx0LnN0YXRlICE9PSAnU1VDQ0VTUycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFZhbGlkYXRpb24gcmVjb3JkcyBuZXZlciBjaGFuZ2VkIGZvciBob3N0ZWQgem9uZSAke2hvc3RlZFpvbmVJZH06IFske3Jlc3VsdC5zdGF0ZX1dICR7cmVzdWx0LnJlYXNvbiA/PyAnJ31gXG4gICAgICApXG4gICAgfVxuICAgIGNvbnN0IG9wZXJhdGlvbiA9IGFjdGlvbiA9PT0gJ0NSRUFURScgfHwgYWN0aW9uID09PSAnVVBTRVJUJyA/ICdjaGFuZ2VkJyA6ICdkZWxldGVkJ1xuICAgIGNvbnN0IGNoYW5nZSA9IGNsZWFuQ2hhbmdlSWQoY2hhbmdlSWQpXG4gICAgY29uc29sZS5sb2coYFZhbGlkYXRpb24gcmVjb3JkcyBzdWNjZXNmdWxseSAke29wZXJhdGlvbn0gZm9yIGhvc3RlZCB6b25lICR7aG9zdGVkWm9uZUlkfSB3aXRoIGNoYW5nZSBpZCAke2NoYW5nZX1gKVxuICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgIGlmIChhY3Rpb24gPT09ICdERUxFVEUnICYmIGVycm9yIGluc3RhbmNlb2YgSW52YWxpZENoYW5nZUJhdGNoICYmIGVycm9yLm1lc3NhZ2UuaW5jbHVkZXMoJ25vdCBmb3VuZCcpKSB7XG4gICAgICAvLyB0aGVyZSdzIGEgZGVsZXRpb24gcmFjZSBjb25kaXRpb24gd2hlcmUgc29tZSBvdGhlciBjZXJ0aWZpY2F0ZSBoYXMgYWxyZWFkeSBkZWxldGVkIHRoZSByZWNvcmRzXG4gICAgICBjb25zb2xlLmxvZyhgQWxsIHZhbGlkYXRpb24gcmVjb3JkcyBoYXZlIGFscmVhZHkgYmVlbiByZW1vdmVkIGJ5IHNvbWUgb3RoZXIgY2VydGlmaWNhdGVgKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBlcnJvclxuICAgIH1cbiAgfVxufVxuXG5jb25zdCBnZXRSZWNvcmRzRm9yWm9uZU5hbWVzID0gKFxuICByZWNvcmRzOiBSZXNvdXJjZVJlY29yZFNldFtdLFxuICB6b25lTmFtZXM6IHN0cmluZ1tdLFxuICByZXN1bHQ/OiBSZWNvcmQ8c3RyaW5nLCBSZXNvdXJjZVJlY29yZFNldFtdPlxuKTogUmVjb3JkPHN0cmluZywgUmVzb3VyY2VSZWNvcmRTZXRbXT4gPT4ge1xuICBjb25zdCBbem9uZU5hbWUsIC4uLnJlc3Rab25lTmFtZXNdID0gem9uZU5hbWVzXG4gIGlmICghem9uZU5hbWUpIHtcbiAgICByZXR1cm4gcmVzdWx0ID8/IHt9XG4gIH1cbiAgY29uc3QgbWF0Y2hpbmdSZWNvcmRzOiBSZXNvdXJjZVJlY29yZFNldFtdID0gW11cbiAgY29uc3QgdW5tYXRjaGluZ1JlY29yZHM6IFJlc291cmNlUmVjb3JkU2V0W10gPSBbXVxuICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XG4gICAgY29uc3Qgbm9ybWFsaXplZFJlY29yZE5hbWUgPSBjbGVhbkRvbWFpbk5hbWUocmVjb3JkLk5hbWUhKVxuICAgIGlmIChub3JtYWxpemVkUmVjb3JkTmFtZS5lbmRzV2l0aCh6b25lTmFtZSkpIHtcbiAgICAgIG1hdGNoaW5nUmVjb3Jkcy5wdXNoKHJlY29yZClcbiAgICB9IGVsc2Uge1xuICAgICAgdW5tYXRjaGluZ1JlY29yZHMucHVzaChyZWNvcmQpXG4gICAgfVxuICB9XG4gIHJldHVybiBnZXRSZWNvcmRzRm9yWm9uZU5hbWVzKHVubWF0Y2hpbmdSZWNvcmRzLCByZXN0Wm9uZU5hbWVzLCB7XG4gICAgLi4uKHJlc3VsdCA/PyB7fSksXG4gICAgW3pvbmVOYW1lXTogbWF0Y2hpbmdSZWNvcmRzLFxuICB9KVxufVxuXG5jb25zdCByZXF1ZXN0Q2VydGlmaWNhdGUgPSBhc3luYyAoXG4gIGFjbTogQUNNQ2xpZW50LFxuICByb3V0ZTUzOiBSb3V0ZTUzRmFjdG9yeSxcbiAgcmVxdWVzdElkOiBzdHJpbmcsXG4gIHByb3BlcnRpZXM6IFByb3BlcnRpZXNcbik6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gIGNvbnN0IHsgRG9tYWluTmFtZSwgQWx0ZXJuYXRpdmVEb21haW5OYW1lcywgVHJhbnNwYXJlbmN5TG9nZ2luZ0VuYWJsZWQgfSA9IHByb3BlcnRpZXNcblxuICBjb25zb2xlLmxvZyhgUmVxdWVzdGluZyBjZXJ0aWZpY2F0ZSBmb3IgJHtEb21haW5OYW1lfWApXG5cbiAgY29uc3QgcmVxdWVzdENlcnRpZmljYXRlSW5wdXQ6IFJlcXVlc3RDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCA9IHtcbiAgICBEb21haW5OYW1lLFxuICAgIFN1YmplY3RBbHRlcm5hdGl2ZU5hbWVzOiBBbHRlcm5hdGl2ZURvbWFpbk5hbWVzLFxuICAgIElkZW1wb3RlbmN5VG9rZW46IGNyeXB0by5jcmVhdGVIYXNoKCdzaGEyNTYnKS51cGRhdGUocmVxdWVzdElkKS5kaWdlc3QoJ2hleCcpLnNsaWNlKDAsIDMyKSxcbiAgICBWYWxpZGF0aW9uTWV0aG9kOiAnRE5TJyxcbiAgICBPcHRpb25zOiB7XG4gICAgICBDZXJ0aWZpY2F0ZVRyYW5zcGFyZW5jeUxvZ2dpbmdQcmVmZXJlbmNlOiBUcmFuc3BhcmVuY3lMb2dnaW5nRW5hYmxlZCA/ICdFTkFCTEVEJyA6ICdESVNBQkxFRCcsXG4gICAgfSxcbiAgfVxuICBjb25zdCB7IENlcnRpZmljYXRlQXJuIH0gPSBhd2FpdCBhY20uc2VuZChuZXcgUmVxdWVzdENlcnRpZmljYXRlQ29tbWFuZChyZXF1ZXN0Q2VydGlmaWNhdGVJbnB1dCkpXG5cbiAgY29uc29sZS5sb2coYENlcnRpZmljYXRlICR7Q2VydGlmaWNhdGVBcm59IHJlcXVlc3RlZGApXG5cbiAgY29uc3QgdmFsaWRhdGlvbk1heFNlY29uZHMgPSAxODBcbiAgY29uc3QgdmFsaWRhdGlvblRpbWVvdXRFcnJvciA9IGBEb21haW4gdmFsaWRhdGlvbiBvcHRpb25zIHdlcmUgbm90IGZvdW5kIGluICR7dmFsaWRhdGlvbk1heFNlY29uZHN9IHNlY29uZHNgXG4gIGNvbnN0IHZhbGlkYXRpb25SZWNvcmRzID0gYXdhaXQgdHJ5Rm9yKHZhbGlkYXRpb25NYXhTZWNvbmRzLCB2YWxpZGF0aW9uVGltZW91dEVycm9yLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZGVzY3JpYmVDZXJ0aWZpY2F0ZUlucHV0OiBEZXNjcmliZUNlcnRpZmljYXRlQ29tbWFuZElucHV0ID0ge1xuICAgICAgQ2VydGlmaWNhdGVBcm4sXG4gICAgfVxuICAgIGNvbnN0IHsgQ2VydGlmaWNhdGUgfSA9IGF3YWl0IGFjbS5zZW5kKG5ldyBEZXNjcmliZUNlcnRpZmljYXRlQ29tbWFuZChkZXNjcmliZUNlcnRpZmljYXRlSW5wdXQpKVxuICAgIHJldHVybiBwYXJzZURvbWFpblZhbGlkYXRpb25SZWNvcmRzKENlcnRpZmljYXRlISlcbiAgfSlcblxuICBjb25zdCBob3N0ZWRab25lcyA9IE9iamVjdC52YWx1ZXMocHJvcGVydGllcy5WYWxpZGF0aW9uSG9zdGVkWm9uZXMpXG4gIGNvbnN0IGhvc3RlZFpvbmVJZHMgPSBob3N0ZWRab25lcy5tYXAoKHpvbmUpID0+IHpvbmUuSG9zdGVkWm9uZUlkKVxuXG4gIGNvbnNvbGUubG9nKFxuICAgIGBVcHNlcnRpbmcgJHt2YWxpZGF0aW9uUmVjb3Jkcy5sZW5ndGh9IHZhbGlkYXRpb24gcmVjb3JkKHMpIGludG8gaG9zdGVkIHpvbmUocykgJHtob3N0ZWRab25lSWRzLmpvaW4oJywgJyl9OmBcbiAgKVxuICB2YWxpZGF0aW9uUmVjb3Jkcy5mb3JFYWNoKChyZWNvcmQpID0+XG4gICAgY29uc29sZS5sb2coYCR7cmVjb3JkLk5hbWV9ICR7cmVjb3JkLlR5cGV9ICR7cmVjb3JkLlJlc291cmNlUmVjb3Jkcz8ubWFwKChycikgPT4gcnIuVmFsdWUpLmpvaW4oJywnKX1gKVxuICApXG5cbiAgY29uc3QgcmVjb3Jkc0ZvclpvbmVOYW1lcyA9IGdldFJlY29yZHNGb3Jab25lTmFtZXMoXG4gICAgdmFsaWRhdGlvblJlY29yZHMsXG4gICAgb3JkZXJCeVNpZ25pZmljYW5jZShPYmplY3Qua2V5cyhwcm9wZXJ0aWVzLlZhbGlkYXRpb25Ib3N0ZWRab25lcykpXG4gIClcbiAgZm9yIChjb25zdCBob3N0ZWRab25lIG9mIGhvc3RlZFpvbmVzKSB7XG4gICAgY29uc3QgcmVjb3JkcyA9IHJlY29yZHNGb3Jab25lTmFtZXNbaG9zdGVkWm9uZS5Eb21haW5OYW1lXVxuICAgIGlmIChyZWNvcmRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGF3YWl0IGNoYW5nZVJlY29yZFNldHMoXG4gICAgICAgIHJvdXRlNTMoaG9zdGVkWm9uZS5WYWxpZGF0aW9uUm9sZUFybiwgaG9zdGVkWm9uZS5WYWxpZGF0aW9uRXh0ZXJuYWxJZCksXG4gICAgICAgICdVUFNFUlQnLFxuICAgICAgICByZWNvcmRzLFxuICAgICAgICBob3N0ZWRab25lLkhvc3RlZFpvbmVJZFxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIGNvbnNvbGUubG9nKGBXYWl0aW5nIGZvciBjZXJ0aWZpY2F0ZSAke0NlcnRpZmljYXRlQXJufSB0byB2YWxpZGF0ZWApXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHdhaXRVbnRpbENlcnRpZmljYXRlVmFsaWRhdGVkKHsgY2xpZW50OiBhY20sIG1heFdhaXRUaW1lOiAzMDAgfSwgeyBDZXJ0aWZpY2F0ZUFybiB9KVxuICBpZiAocmVzdWx0LnN0YXRlICE9PSAnU1VDQ0VTUycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENlcnRpZmljYXRlIGZhaWxlZCAke0NlcnRpZmljYXRlQXJufSB0byB2YWxpZGF0ZTogWyR7cmVzdWx0LnN0YXRlfV0gJHtyZXN1bHQucmVhc29uID8/ICcnfWApXG4gIH1cbiAgY29uc29sZS5sb2coYENlcnRpZmljYXRlICR7Q2VydGlmaWNhdGVBcm59IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWRgKVxuICByZXR1cm4gQ2VydGlmaWNhdGVBcm4hXG59XG5cbmNvbnN0IGRlbGV0ZUNlcnRpZmljYXRlID0gYXN5bmMgKFxuICBhY206IEFDTUNsaWVudCxcbiAgcm91dGU1MzogUm91dGU1M0ZhY3RvcnksXG4gIGNlcnRpZmljYXRlQXJuOiBzdHJpbmcsXG4gIHByb3BlcnRpZXM6IFByb3BlcnRpZXNcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zb2xlLmxvZyhgV2FpdGluZyBmb3IgY2VydGlmaWNhdGUgJHtjZXJ0aWZpY2F0ZUFybn0gdXNhZ2UgdG8gZHJhaW4gYmVmb3JlIGRlbGV0aW9uYClcblxuICBjb25zdCB3YWl0VXNhZ2VNYXhTZWNvbmRzID0gNjAwXG4gIGNvbnN0IHdhaXRVc2FnZVRpbWVvdXRFcnJvciA9IGBDZXJ0aWZpY2F0ZSB3YXMgc3RpbGwgaW4gdXNlIGFmdGVyICR7d2FpdFVzYWdlTWF4U2Vjb25kc30gc2Vjb25kc2BcbiAgY29uc3QgY2VydGlmaWNhdGUgPSBhd2FpdCB0cnlGb3Iod2FpdFVzYWdlTWF4U2Vjb25kcywgd2FpdFVzYWdlVGltZW91dEVycm9yLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZGVzY3JpYmVDZXJ0aWZpY2F0ZUlucHV0OiBEZXNjcmliZUNlcnRpZmljYXRlQ29tbWFuZElucHV0ID0ge1xuICAgICAgQ2VydGlmaWNhdGVBcm46IGNlcnRpZmljYXRlQXJuLFxuICAgIH1cbiAgICBjb25zdCB7IENlcnRpZmljYXRlIH0gPSBhd2FpdCBhY20uc2VuZChuZXcgRGVzY3JpYmVDZXJ0aWZpY2F0ZUNvbW1hbmQoZGVzY3JpYmVDZXJ0aWZpY2F0ZUlucHV0KSlcbiAgICBjb25zdCBpblVzZUJ5ID0gQ2VydGlmaWNhdGU/LkluVXNlQnkgPz8gW11cbiAgICBpZiAoaW5Vc2VCeS5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICByZXR1cm4gQ2VydGlmaWNhdGUhXG4gIH0pXG4gIGNvbnNvbGUubG9nKCdDZXJ0aWZpY2F0ZSBpcyB1bnVzZWQgYW5kIHdpbGwgYmUgZGVsZXRlZCcpXG5cbiAgY29uc3QgdmFsaWRhdGlvblJlY29yZHMgPSBwYXJzZURvbWFpblZhbGlkYXRpb25SZWNvcmRzKGNlcnRpZmljYXRlKVxuICBpZiAodmFsaWRhdGlvblJlY29yZHMgJiYgc3RyaW5nVG9Cb29sZWFuKHByb3BlcnRpZXMuQ2xlYW51cFZhbGlkYXRpb25SZWNvcmRzKSkge1xuICAgIGNvbnN0IGhvc3RlZFpvbmVzID0gT2JqZWN0LnZhbHVlcyhwcm9wZXJ0aWVzLlZhbGlkYXRpb25Ib3N0ZWRab25lcylcbiAgICBjb25zdCBob3N0ZWRab25lSWRzID0gaG9zdGVkWm9uZXMubWFwKCh6b25lKSA9PiB6b25lLkhvc3RlZFpvbmVJZClcblxuICAgIGNvbnNvbGUubG9nKFxuICAgICAgYERlbGV0aW5nICR7dmFsaWRhdGlvblJlY29yZHMubGVuZ3RofSB2YWxpZGF0aW9uIHJlY29yZChzKSBmcm9tIGhvc3RlZCB6b25lKHMpICR7aG9zdGVkWm9uZUlkcy5qb2luKCcsICcpfWBcbiAgICApXG5cbiAgICBjb25zdCByZWNvcmRzRm9yWm9uZU5hbWVzID0gZ2V0UmVjb3Jkc0ZvclpvbmVOYW1lcyhcbiAgICAgIHZhbGlkYXRpb25SZWNvcmRzLFxuICAgICAgb3JkZXJCeVNpZ25pZmljYW5jZShPYmplY3Qua2V5cyhwcm9wZXJ0aWVzLlZhbGlkYXRpb25Ib3N0ZWRab25lcykpXG4gICAgKVxuICAgIGZvciAoY29uc3QgaG9zdGVkWm9uZSBvZiBob3N0ZWRab25lcykge1xuICAgICAgY29uc3QgcmVjb3JkcyA9IHJlY29yZHNGb3Jab25lTmFtZXNbaG9zdGVkWm9uZS5Eb21haW5OYW1lXVxuICAgICAgaWYgKHJlY29yZHMubGVuZ3RoID4gMCkge1xuICAgICAgICBhd2FpdCBjaGFuZ2VSZWNvcmRTZXRzKFxuICAgICAgICAgIHJvdXRlNTMoaG9zdGVkWm9uZS5WYWxpZGF0aW9uUm9sZUFybiwgaG9zdGVkWm9uZS5WYWxpZGF0aW9uRXh0ZXJuYWxJZCksXG4gICAgICAgICAgJ0RFTEVURScsXG4gICAgICAgICAgcmVjb3JkcyxcbiAgICAgICAgICBob3N0ZWRab25lLkhvc3RlZFpvbmVJZFxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc29sZS5sb2coYERlbGV0aW5nIGNlcnRpZmljYXRlICR7Y2VydGlmaWNhdGVBcm59IGZyb20gQUNNYClcbiAgY29uc3QgZGVsZXRlQ2VydGlmaWNhdGVJbnB1dDogRGVsZXRlQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQgPSB7XG4gICAgQ2VydGlmaWNhdGVBcm46IGNlcnRpZmljYXRlQXJuLFxuICB9XG4gIGF3YWl0IGFjbS5zZW5kKG5ldyBEZWxldGVDZXJ0aWZpY2F0ZUNvbW1hbmQoZGVsZXRlQ2VydGlmaWNhdGVJbnB1dCkpXG4gIGNvbnNvbGUubG9nKGBDZXJ0aWZpY2F0ZSAke2NlcnRpZmljYXRlQXJufSBzdWNjZXNzZnVsbHkgZGVsZXRlZGApXG59XG5cbmNvbnN0IGFkZFRhZ3MgPSBhc3luYyAoYWNtOiBBQ01DbGllbnQsIGNlcnRpZmljYXRlQXJuOiBzdHJpbmcsIHRhZ3M6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pID0+IHtcbiAgY29uc3QgdGFnTGlzdCA9IEFycmF5LmZyb20oT2JqZWN0LmVudHJpZXModGFncykubWFwKChbS2V5LCBWYWx1ZV0pID0+ICh7IEtleSwgVmFsdWUgfSkpKVxuICBjb25zdCBhZGRUYWdzSW5wdXQ6IEFkZFRhZ3NUb0NlcnRpZmljYXRlQ29tbWFuZElucHV0ID0ge1xuICAgIENlcnRpZmljYXRlQXJuOiBjZXJ0aWZpY2F0ZUFybixcbiAgICBUYWdzOiB0YWdMaXN0LFxuICB9XG5cbiAgY29uc29sZS5sb2coYEFkZGluZyAke3RhZ0xpc3QubGVuZ3RofSB0YWdzIHRvIGNlcnRpZmljYXRlICR7Y2VydGlmaWNhdGVBcm59YClcbiAgYXdhaXQgYWNtLnNlbmQobmV3IEFkZFRhZ3NUb0NlcnRpZmljYXRlQ29tbWFuZChhZGRUYWdzSW5wdXQpKVxuICBjb25zb2xlLmxvZyhgQWxsIHRhZ3Mgc3VjY2Vzc2Z1bGx5IGFkZGVkIHRvIGNlcnRpZmljYXRlICR7Y2VydGlmaWNhdGVBcm59YClcbn1cblxuY29uc3Qgc2hvdWxkUmVxdWVzdE5ldyA9IChvbGRQcm9wZXJ0aWVzOiBQcm9wZXJ0aWVzLCBuZXdQcm9wZXJ0aWVzOiBQcm9wZXJ0aWVzKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IG9sZEhvc3RlZFpvbmVJZHMgPSBPYmplY3QudmFsdWVzKG9sZFByb3BlcnRpZXMuVmFsaWRhdGlvbkhvc3RlZFpvbmVzID8/IHt9KS5tYXAoKHpvbmUpID0+IHpvbmUuSG9zdGVkWm9uZUlkKVxuICBjb25zdCBuZXdIb3N0ZWRab25lSWRzID0gT2JqZWN0LnZhbHVlcyhuZXdQcm9wZXJ0aWVzLlZhbGlkYXRpb25Ib3N0ZWRab25lcyA/PyB7fSkubWFwKCh6b25lKSA9PiB6b25lLkhvc3RlZFpvbmVJZClcbiAgaWYgKCFjb250YWluc1NhbWUob2xkSG9zdGVkWm9uZUlkcywgbmV3SG9zdGVkWm9uZUlkcykpIHJldHVybiB0cnVlXG4gIGlmIChvbGRQcm9wZXJ0aWVzLkRvbWFpbk5hbWUgIT09IG5ld1Byb3BlcnRpZXMuRG9tYWluTmFtZSkgcmV0dXJuIHRydWVcbiAgaWYgKCFjb250YWluc1NhbWUob2xkUHJvcGVydGllcy5BbHRlcm5hdGl2ZURvbWFpbk5hbWVzID8/IFtdLCBuZXdQcm9wZXJ0aWVzLkFsdGVybmF0aXZlRG9tYWluTmFtZXMgPz8gW10pKSByZXR1cm4gdHJ1ZVxuICBpZiAob2xkUHJvcGVydGllcy5DZXJ0aWZpY2F0ZVJlZ2lvbiAhPT0gbmV3UHJvcGVydGllcy5DZXJ0aWZpY2F0ZVJlZ2lvbikgcmV0dXJuIHRydWVcbiAgaWYgKG9sZFByb3BlcnRpZXMuQ2xlYW51cFZhbGlkYXRpb25SZWNvcmRzICE9PSBuZXdQcm9wZXJ0aWVzLkNsZWFudXBWYWxpZGF0aW9uUmVjb3JkcykgcmV0dXJuIHRydWVcbiAgaWYgKG9sZFByb3BlcnRpZXMuVHJhbnNwYXJlbmN5TG9nZ2luZ0VuYWJsZWQgIT09IG5ld1Byb3BlcnRpZXMuVHJhbnNwYXJlbmN5TG9nZ2luZ0VuYWJsZWQpIHJldHVybiB0cnVlXG4gIGlmIChvbGRQcm9wZXJ0aWVzLlJlbW92YWxQb2xpY3kgIT09IG5ld1Byb3BlcnRpZXMuUmVtb3ZhbFBvbGljeSkgcmV0dXJuIHRydWVcbiAgcmV0dXJuIGZhbHNlXG59XG5cbmNvbnN0IGFzc3VtZVJvbGUgPSAoXG4gIHJvbGVBcm46IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgZXh0ZXJuYWxJZDogc3RyaW5nIHwgdW5kZWZpbmVkXG4pOiBQcm92aWRlcjxBd3NDcmVkZW50aWFsSWRlbnRpdHk+IHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKCFyb2xlQXJuKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG4gIHJldHVybiBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc3RzID0gbmV3IFNUU0NsaWVudCh7IHJldHJ5TW9kZTogJ2FkYXB0aXZlJyB9KVxuICAgIGNvbnN0IGFzc3VtZVJvbGVJbnB1dDogQXNzdW1lUm9sZUNvbW1hbmRJbnB1dCA9IHtcbiAgICAgIFJvbGVBcm46IHJvbGVBcm4sXG4gICAgICBSb2xlU2Vzc2lvbk5hbWU6ICdDZXJ0aWZpY2F0ZVJlcXVlc3RvcicsXG4gICAgICBFeHRlcm5hbElkOiBleHRlcm5hbElkLFxuICAgIH1cbiAgICBjb25zdCB7IENyZWRlbnRpYWxzIH0gPSBhd2FpdCBzdHMuc2VuZChuZXcgQXNzdW1lUm9sZUNvbW1hbmQoYXNzdW1lUm9sZUlucHV0KSlcbiAgICByZXR1cm4ge1xuICAgICAgYWNjZXNzS2V5SWQ6IENyZWRlbnRpYWxzPy5BY2Nlc3NLZXlJZCEsXG4gICAgICBzZWNyZXRBY2Nlc3NLZXk6IENyZWRlbnRpYWxzPy5TZWNyZXRBY2Nlc3NLZXkhLFxuICAgICAgc2Vzc2lvblRva2VuOiBDcmVkZW50aWFscz8uU2Vzc2lvblRva2VuISxcbiAgICAgIGV4cGlyYXRpb246IENyZWRlbnRpYWxzPy5FeHBpcmF0aW9uLFxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY29uc3QgaGFuZGxlciA9IGFzeW5jIChldmVudDogQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50KSA9PiB7XG4gIGNvbnN0IHByb3BlcnRpZXMgPSBwYXJzZVByb3BlcnRpZXMoZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzKVxuXG4gIGNvbnN0IGFjbSA9IG5ldyBBQ01DbGllbnQoeyByZWdpb246IHByb3BlcnRpZXMuQ2VydGlmaWNhdGVSZWdpb24sIHJldHJ5TW9kZTogJ2FkYXB0aXZlJyB9KVxuICBjb25zdCByb3V0ZTUzID0gKHJvbGVBcm46IHN0cmluZyB8IHVuZGVmaW5lZCwgZXh0ZXJuYWxJZDogc3RyaW5nIHwgdW5kZWZpbmVkKTogUm91dGU1M0NsaWVudCA9PiB7XG4gICAgcmV0dXJuIG5ldyBSb3V0ZTUzQ2xpZW50KHtcbiAgICAgIHJldHJ5TW9kZTogJ2FkYXB0aXZlJyxcbiAgICAgIGNyZWRlbnRpYWxzOiBhc3N1bWVSb2xlKHJvbGVBcm4sIGV4dGVybmFsSWQpLFxuICAgIH0pXG4gIH1cblxuICBzd2l0Y2ggKGV2ZW50LlJlcXVlc3RUeXBlKSB7XG4gICAgY2FzZSAnQ3JlYXRlJzoge1xuICAgICAgY29uc29sZS5sb2coYFJlcXVlc3RpbmcgbmV3IGNlcnRpZmljYXRlOlxcbiR7b2JqZWN0VG9TdHJpbmcocHJvcGVydGllcyl9YClcbiAgICAgIGNvbnN0IGNlcnRpZmljYXRlQXJuID0gYXdhaXQgcmVxdWVzdENlcnRpZmljYXRlKGFjbSwgcm91dGU1MywgZXZlbnQuUmVxdWVzdElkLCBwcm9wZXJ0aWVzKVxuICAgICAgaWYgKHByb3BlcnRpZXMuVGFncyAmJiBPYmplY3QuZW50cmllcyhwcm9wZXJ0aWVzLlRhZ3MpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgYXdhaXQgYWRkVGFncyhhY20sIGNlcnRpZmljYXRlQXJuLCBwcm9wZXJ0aWVzLlRhZ3MpXG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBQaHlzaWNhbFJlc291cmNlSWQ6IGNlcnRpZmljYXRlQXJuLFxuICAgICAgICBEYXRhOiB7XG4gICAgICAgICAgQXJuOiBjZXJ0aWZpY2F0ZUFybixcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9XG4gICAgY2FzZSAnVXBkYXRlJzoge1xuICAgICAgbGV0IGNlcnRpZmljYXRlQXJuID0gZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkXG4gICAgICBpZiAoc2hvdWxkUmVxdWVzdE5ldyhwYXJzZVByb3BlcnRpZXMoZXZlbnQuT2xkUmVzb3VyY2VQcm9wZXJ0aWVzKSwgcHJvcGVydGllcykpIHtcbiAgICAgICAgY29uc29sZS5sb2coYFJlcXVlc3RpbmcgbmV3IGNlcnRpZmljYXRlIGR1ZSB0byBjaGFuZ2Ugb2YgcHJvcGVydGllczpcXG4ke29iamVjdFRvU3RyaW5nKHByb3BlcnRpZXMpfWApXG4gICAgICAgIGNlcnRpZmljYXRlQXJuID0gYXdhaXQgcmVxdWVzdENlcnRpZmljYXRlKGFjbSwgcm91dGU1MywgZXZlbnQuUmVxdWVzdElkLCBwcm9wZXJ0aWVzKVxuICAgICAgfVxuICAgICAgaWYgKHByb3BlcnRpZXMuVGFncyAmJiBPYmplY3QuZW50cmllcyhwcm9wZXJ0aWVzLlRhZ3MpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgYXdhaXQgYWRkVGFncyhhY20sIGNlcnRpZmljYXRlQXJuLCBwcm9wZXJ0aWVzLlRhZ3MpXG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBQaHlzaWNhbFJlc291cmNlSWQ6IGNlcnRpZmljYXRlQXJuLFxuICAgICAgICBEYXRhOiB7XG4gICAgICAgICAgQXJuOiBjZXJ0aWZpY2F0ZUFybixcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9XG4gICAgY2FzZSAnRGVsZXRlJzoge1xuICAgICAgY29uc3QgY2VydGlmaWNhdGVBcm4gPSBldmVudC5QaHlzaWNhbFJlc291cmNlSWRcbiAgICAgIGlmIChwcm9wZXJ0aWVzLlJlbW92YWxQb2xpY3kgPT09ICdkZXN0cm95Jykge1xuICAgICAgICBjb25zb2xlLmxvZyhgRGVsZXRpbmcgb2xkIGNlcnRpZmljYXRlIGFzIHBlciByZW1vdmFsIHBvbGljeTpcXG4ke29iamVjdFRvU3RyaW5nKHByb3BlcnRpZXMpfWApXG4gICAgICAgIGF3YWl0IGRlbGV0ZUNlcnRpZmljYXRlKGFjbSwgcm91dGU1MywgY2VydGlmaWNhdGVBcm4sIHByb3BlcnRpZXMpXG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBQaHlzaWNhbFJlc291cmNlSWQ6IGNlcnRpZmljYXRlQXJuLFxuICAgICAgICBEYXRhOiB7XG4gICAgICAgICAgQXJuOiBjZXJ0aWZpY2F0ZUFybixcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlcXVlc3QgdHlwZWApXG59XG4iXX0=
@@ -136,7 +136,7 @@ class DnsValidatedCertificate extends cdk.Resource {
136
136
  },
137
137
  'ForAllValues:StringLike': {
138
138
  'route53:ChangeResourceRecordSetsNormalizedRecordNames': domainNames.map((name, index) => {
139
- return this.wildcardDomainName(`DomainWildcard${zone.hostedZone.hostedZoneId}${index}`, name);
139
+ return this.wildcardDomainName(`DomainWildcard${zone.hostedZone.node.id}${index}`, name);
140
140
  }),
141
141
  },
142
142
  },
@@ -221,7 +221,7 @@ class DnsValidatedCertificate extends cdk.Resource {
221
221
  return errors;
222
222
  }
223
223
  }
224
- _a = JSII_RTTI_SYMBOL_1;
225
- DnsValidatedCertificate[_a] = { fqn: "@trautonen/cdk-dns-validated-certificate.DnsValidatedCertificate", version: "0.1.2" };
226
224
  exports.DnsValidatedCertificate = DnsValidatedCertificate;
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLXZhbGlkYXRlZC1jZXJ0aWZpY2F0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kbnMtdmFsaWRhdGVkLWNlcnRpZmljYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQWtDO0FBRWxDLHlEQUF3RDtBQUN4RCwyQ0FBMEM7QUFDMUMsaURBQWdEO0FBRWhELGlFQUFnRTtBQUVoRSxxRkFBK0U7QUFFL0UsbUNBQWdHO0FBaUhoRyxNQUFNLDhCQUE4QixHQUFHLGlDQUFpQyxDQUFBO0FBQ3hFLE1BQU0sMEJBQTBCLEdBQUcsc0NBQXNDLENBQUE7QUFFekU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUVHO0FBQ0gsTUFBYSx1QkFBd0IsU0FBUSxHQUFHLENBQUMsUUFBUTtJQWF2RDs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW1DO1FBQzNFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFaEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUM3RCxNQUFNLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLENBQ3pGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUNoRCxDQUFBO1FBQ0QsTUFBTSxVQUFVLEdBQUcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLHNCQUFzQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFFbEUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQTtRQUNyRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksR0FB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QUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ3ZELFVBQVUsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDO1NBQy9DLENBQUMsQ0FBQTtRQUNGLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxVQUFVLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQzNGLENBQUM7SUFFTyw0QkFBNEIsQ0FBQyxXQUFxQixFQUFFLFNBQW1CO1FBQzdFLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQTtRQUMzQixLQUFLLE1BQU0sVUFBVSxJQUFJLFdBQVcsRUFBRTtZQUNwQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDaEUsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7WUFDM0YsSUFBSSxvQkFBb0IsSUFBSSxtQkFBbUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRTtnQkFDL0csTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLFVBQVUsaURBQWlELENBQUMsQ0FBQTthQUNuRjtTQUNGO1FBQ0QsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDOzs7O0FBOUxVLDBEQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYidcbmltcG9ydCAqIGFzIGNlcnRpZmljYXRlbWFuYWdlciBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyJ1xuaW1wb3J0ICogYXMgY2xvdWR3YXRjaCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCdcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJ1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnXG5pbXBvcnQgKiBhcyByb3V0ZTUzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1yb3V0ZTUzJ1xuaW1wb3J0ICogYXMgY3VzdG9tX3Jlc291cmNlcyBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJ1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cydcbmltcG9ydCB7IENlcnRpZmljYXRlUmVxdWVzdG9yRnVuY3Rpb24gfSBmcm9tICcuL2NlcnRpZmljYXRlLXJlcXVlc3Rvci1mdW5jdGlvbidcbmltcG9ydCB7IFByb3BlcnRpZXMsIFZhbGlkYXRpb25Ib3N0ZWRab25lUHJvcGVydGllcyB9IGZyb20gJy4vY2VydGlmaWNhdGUtcmVxdWVzdG9yLmxhbWJkYSdcbmltcG9ydCB7IGJvb2xlYW5Ub1N0cmluZywgY2xlYW5Eb21haW5OYW1lLCBjbGVhbkhvc3RlZFpvbmVJZCwgbWF0Y2hOYW1lc1RvWm9uZXMgfSBmcm9tICcuL3V0aWxzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25Ib3N0ZWRab25lIHtcbiAgLyoqXG4gICAqIEhvc3RlZCB6b25lIHRvIHVzZSBmb3IgRE5TIHZhbGlkYXRpb24uIFRoZSB6b25lIG5hbWUgaXMgbWF0Y2hlZCB0byBkb21haW4gbmFtZSB0byB1c2UgdGhlIHJpZ2h0XG4gICAqIGhvc3RlZCB6b25lIGZvciB2YWxpZGF0aW9uLlxuICAgKlxuICAgKiBJZiB0aGUgaG9zdGVkIHpvbmUgaXMgbm90IG1hbmFnZWQgYnkgdGhlIENESyBhcHBsaWNhdGlvbiwgaXQgbmVlZHMgdG8gYmUgcHJvdmlkZWQgdmlhXG4gICAqIGBgSG9zdGVkWm9uZS5mcm9tSG9zdGVkWm9uZUF0dHJpYnV0ZXMoKWBgLlxuICAgKi9cbiAgcmVhZG9ubHkgaG9zdGVkWm9uZTogcm91dGU1My5JSG9zdGVkWm9uZVxuXG4gIC8qKlxuICAgKiBUaGUgcm9sZSB0aGF0IGlzIGFzc3VtZWQgZm9yIEROUyByZWNvcmQgY2hhbmdlcyBmb3IgY2VydGlmaWNhdGUgdmFsaWRhdGlvbi5cbiAgICpcbiAgICogVGhpcyByb2xlIHNob3VsZCBleGlzdCBpbiB0aGUgc2FtZSBhY2NvdW50IGFzIHRoZSBob3N0ZWQgem9uZSBhbmQgaW5jbHVkZSBwZXJtaXNzaW9ucyB0byBjaGFuZ2UgdGhlIEROUyByZWNvcmRzXG4gICAqIGZvciB0aGUgZ2l2ZW4gYGBob3N0ZWRab25lYGAuIFRoZSBgYGN1c3RvbVJlc291cmNlUm9sZWBgIG9yIHRoZSBkZWZhdWx0IGV4ZWN1dGlvbiByb2xlIGlzIGdpdmVuIHBlcm1pc3Npb24gdG9cbiAgICogYXNzdW1lIHRoaXMgcm9sZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBzZXBhcmF0ZSByb2xlIGZvciBETlMgcmVjb3JkIGNoYW5nZXMuIFRoZSBnaXZlbiBjdXN0b21SZXNvdXJjZVJvbGUgb3IgdGhlIGRlZmF1bHQgcm9sZSBpcyB1c2VkXG4gICAqIGZvciBETlMgcmVjb3JkIGNoYW5nZXMuXG4gICAqL1xuICByZWFkb25seSB2YWxpZGF0aW9uUm9sZT86IGlhbS5JUm9sZVxuXG4gIC8qKlxuICAgKiBFeHRlcm5hbCBpZCBmb3IgYGB2YWxpZGF0aW9uUm9sZWBgIHJvbGUgYXNzdW1lIHZlcmlmaWNhdGlvbi5cbiAgICpcbiAgICogVGhpcyBzaG91bGQgYmUgdXNlZCBvbmx5IHdoZW4gYGB2YWxpZGF0aW9uUm9sZWBgIGlzIGdpdmVuIGFuZCB0aGUgcm9sZSBleHBlY3RzIGFuIGV4dGVybmFsIGlkIHByb3ZpZGVkIG9uIGFzc3VtZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBleHRlcm5hbCBpZCBwcm92aWRlZCBkdXJpbmcgYXNzdW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsaWRhdGlvbkV4dGVybmFsSWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEbnNWYWxpZGF0ZWRDZXJ0aWZpY2F0ZVByb3BzIHtcbiAgLyoqXG4gICAqIEZ1bGx5LXF1YWxpZmllZCBkb21haW4gbmFtZSB0byByZXF1ZXN0IGEgY2VydGlmaWNhdGUgZm9yLlxuICAgKlxuICAgKiBNYXkgY29udGFpbiB3aWxkY2FyZHMsIHN1Y2ggYXMgYGAqLmRvbWFpbi5jb21gYC5cbiAgICovXG4gIHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBGdWxseS1xdWFsaWZpZWQgYWx0ZXJuYXRpdmUgZG9tYWluIG5hbWVzIHRvIHJlcXVlc3QgYSBjZXJ0aWZpY2F0ZSBmb3IuXG4gICAqXG4gICAqIE1heSBjb250YWluIHdpbGRjYXJkcywgc3VjaCBhcyBgYCoub3RoZXJkb21haW4uY29tYGAuXG4gICAqL1xuICByZWFkb25seSBhbHRlcm5hdGl2ZURvbWFpbk5hbWVzPzogc3RyaW5nW11cblxuICAvKipcbiAgICogTGlzdCBvZiBob3N0ZWQgem9uZXMgdG8gdXNlIGZvciB2YWxpZGF0aW9uLiBIb3N0ZWQgem9uZXMgYXJlIG1hcHBlZCB0byBkb21haW4gbmFtZXMgYnkgdGhlIHpvbmUgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IHZhbGlkYXRpb25Ib3N0ZWRab25lczogVmFsaWRhdGlvbkhvc3RlZFpvbmVbXVxuXG4gIC8qKlxuICAgKiBBV1MgcmVnaW9uIHdoZXJlIHRoZSBjZXJ0aWZpY2F0ZSBpcyBkZXBsb3llZC5cbiAgICpcbiAgICogWW91IHNob3VsZCB1c2UgdGhlIGRlZmF1bHQgYGBDZXJ0aWZpY2F0ZWBgIGNvbnN0cnVjdCBpbnN0ZWFkIGlmIHRoZSByZWdpb24gaXMgc2FtZSBhcyB0aGUgc3RhY2sncyBhbmQgdGhlIGhvc3RlZFxuICAgKiB6b25lIGlzIGluIHRoZSBzYW1lIGFjY291bnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gU2FtZSByZWdpb24gYXMgdGhlIHN0YWNrLlxuICAgKi9cbiAgcmVhZG9ubHkgY2VydGlmaWNhdGVSZWdpb24/OiBzdHJpbmdcblxuICAvKipcbiAgICogVGhlIHJvbGUgdGhhdCBpcyB1c2VkIGZvciB0aGUgY3VzdG9tIHJlc291cmNlIExhbWJkYSBleGVjdXRpb24uXG4gICAqXG4gICAqIFRoZSByb2xlIGlzIGdpdmVuIHBlcm1pc3Npb25zIHRvIHJlcXVlc3QgY2VydGlmaWNhdGVzIGZyb20gQUNNLiBJZiB0aGVyZSBhcmUgYW55IGBgdmFsaWRhdGlvblJvbGVgYHMgcHJvdmlkZWQsXG4gICAqIHRoaXMgcm9sZSBpcyBhbHNvIGdpdmVuIHBlcm1pc3Npb24gdG8gYXNzdW1lIHRoZSBgYHZhbGlkYXRpb25Sb2xlYGAuIE90aGVyd2lzZSBpdCBpcyBhc3N1bWVkIHRoYXQgdGhlIGhvc3RlZCB6b25lXG4gICAqIGlzIGluIHNhbWUgYWNjb3VudCBhbmQgdGhlIGV4ZWN1dGlvbiByb2xlIGlzIGdpdmVuIHBlcm1pc3Npb25zIHRvIGNoYW5nZSBETlMgcmVjb3JkcyBmb3IgdGhlIGdpdmVuIGBgZG9tYWluTmFtZWBgLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIExhbWJkYSBjcmVhdGVzIGEgZGVmYXVsdCBleGVjdXRpb24gcm9sZS5cbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbVJlc291cmNlUm9sZT86IGlhbS5JUm9sZVxuXG4gIC8qKlxuICAgKiBFbmFibGUgb3IgZGlzYWJsZSBjbGVhbmluZyBvZiB2YWxpZGF0aW9uIEROUyByZWNvcmRzIGZyb20gdGhlIGhvc3RlZCB6b25lLlxuICAgKlxuICAgKiBJZiB0aGVyZSdzIG11bHRpcGxlIGNlcnRpZmljYXRlcyBjcmVhdGVkIGZvciBzYW1lIGRvbWFpbiwgaXQgaXMgcG9zc2libGUgdG8gZW5jb3V0ZXIgYSByYWNlIGNvbmRpdGlvbiB3aGVyZSBzb21lXG4gICAqIGNlcnRpZmljYXRlIGlzIHJlbW92ZWQgYW5kIGFub3RoZXIgY2VydGlmaWNhdGUgd291bGQgbmVlZCB0aGUgc2FtZSB2YWxpZGF0aW9uIHJlY29yZC4gUHJlZmVyIHNpbmdsZSBjZXJ0aWZpY2F0ZVxuICAgKiBmb3IgYSBkb21haW4gb3Igc2V0IHRoaXMgdG8gZmFsc2UgYW5kIGNsZWFudXAgcmVjb3JkcyBtYW51YWxseSB3aGVuIG5vdCBuZWVkZWQgYW55bW9yZS4gSWYgeW91IGNoYW5nZSB0aGlzXG4gICAqIHByb3BlcnR5IGFmdGVyIGNyZWF0aW9uLCBhIG5ldyBjZXJ0aWZpY2F0ZSB3aWxsIGJlIHJlcXVlc3RlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgY2xlYW51cFZhbGlkYXRpb25SZWNvcmRzPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBFbmFibGUgb3IgZGlzYWJsZSB0cmFuc3BhcmVuY3kgbG9nZ2luZyBmb3IgdGhpcyBjZXJ0aWZpY2F0ZS5cbiAgICpcbiAgICogT25jZSBhIGNlcnRpZmljYXRlIGhhcyBiZWVuIGxvZ2dlZCwgaXQgY2Fubm90IGJlIHJlbW92ZWQgZnJvbSB0aGUgbG9nLiBPcHRpbmcgb3V0IGF0IHRoYXQgcG9pbnQgd2lsbCBoYXZlIG5vXG4gICAqIGVmZmVjdC4gSWYgeW91IGNoYW5nZSB0aGlzIHByb3BlcnR5IGFmdGVyIGNyZWF0aW9uLCBhIG5ldyBjZXJ0aWZpY2F0ZSB3aWxsIGJlIHJlcXVlc3RlZC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNtL2xhdGVzdC91c2VyZ3VpZGUvYWNtLWJlc3RwcmFjdGljZXMuaHRtbCNiZXN0LXByYWN0aWNlcy10cmFuc3BhcmVuY3lcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNwYXJlbmN5TG9nZ2luZ0VuYWJsZWQ/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIEFwcGx5IHRoZSBnaXZlbiByZW1vdmFsIHBvbGljeSB0byB0aGlzIHJlc291cmNlLlxuICAgKlxuICAgKiBUaGUgcmVtb3ZhbCBwb2xpY3kgY29udHJvbHMgd2hhdCBoYXBwZW5zIHRvIHRoaXMgcmVzb3VyY2Ugd2hlbiBpdCBzdG9wcyBiZWluZyBtYW5hZ2VkIGJ5IENsb3VkRm9ybWF0aW9uLCBlaXRoZXJcbiAgICogYmVjYXVzZSB5b3UndmUgcmVtb3ZlZCBpdCBmcm9tIHRoZSBDREsgYXBwbGljYXRpb24gb3IgYmVjYXVzZSB5b3UndmUgbWFkZSBhIGNoYW5nZSB0aGF0IHJlcXVpcmVzIHRoZSByZXNvdXJjZSB0b1xuICAgKiBiZSByZXBsYWNlZC4gVGhlIHJlc291cmNlIGNhbiBiZSBkZWxldGVkIChgYFJlbW92YWxQb2xpY3kuREVTVFJPWWBgKSwgb3IgbGVmdCBpbiB5b3VyIEFXUyBhY2NvdW50IGZvciBkYXRhXG4gICAqIHJlY292ZXJ5IGFuZCBjbGVhbnVwIGxhdGVyIChgYFJlbW92YWxQb2xpY3kuUkVUQUlOYGApLiBJZiB5b3UgY2hhbmdlIHRoaXMgcHJvcGVydHkgYWZ0ZXIgY3JlYXRpb24sIGEgbmV3XG4gICAqIGNlcnRpZmljYXRlIHdpbGwgYmUgcmVxdWVzdGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBSZW1vdmFsUG9saWN5LkRFU1RST1lcbiAgICovXG4gIHJlYWRvbmx5IHJlbW92YWxQb2xpY3k/OiBjZGsuUmVtb3ZhbFBvbGljeVxufVxuXG5jb25zdCBETlNfVkFMSURBVEVEX0NFUlRJRklDQVRFX1RZUEUgPSAnQ3VzdG9tOjpEbnNWYWxpZGF0ZWRDZXJ0aWZpY2F0ZSdcbmNvbnN0IENFUlRUSUZJQ0FURV9SRVNPVVJDRV9UWVBFID0gJ0FXUzo6Q2VydGlmaWNhdGVNYW5hZ2VyOjpDZXJ0aWZpY2F0ZSdcblxuLyoqXG4gKiBBIGNlcnRpZmljYXRlIG1hbmFnZWQgYnkgQVdTIENlcnRpZmljYXRlIE1hbmFnZXIuIFdpbGwgYmUgYXV0b21hdGljYWxseSB2YWxpZGF0ZWQgdXNpbmcgRE5TIHZhbGlkYXRpb24gYWdhaW5zdCB0aGVcbiAqIHNwZWNpZmllZCBSb3V0ZSA1MyBob3N0ZWQgem9uZS4gVGhpcyBjb25zdHJ1Y3Qgc2hvdWxkIGJlIHVzZWQgb25seSBmb3IgY3Jvc3MtcmVnaW9uIG9yIGNyb3NzLWFjY291bnQgY2VydGlmaWNhdGVcbiAqIHZhbGlkYXRpb25zLiBUaGUgZGVmYXVsdCBgYENlcnRpZmljYXRlYGAgY29uc3RydWN0IGlzIGJldHRlciBpbiBjYXNlcyB3aGVyZSBldmVyeXRoaW5nIGlzIG1hbmFnZWQgYnkgdGhlIENES1xuICogYXBwbGljYXRpb24uXG4gKlxuICogUGxlYXNlIG5vdGUgdGhhdCB0aGlzIGNvbnN0cnVjdCBkb2VzIG5vdCBzdXBwb3J0IGFsdGVybmF0aXZlIG5hbWVzIHlldCBhcyBpdCB3b3VsZCByZXF1aXJlIGRvbWFpbiB0byByb2xlIG1hcHBpbmcuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vICMjIyBDcm9zcy1yZWdpb24gY2VydGlmaWNhdGUgdmFsaWRhdGlvblxuICogLy8gaG9zdGVkIHpvbmUgbWFuYWdlZCBieSB0aGUgQ0RLIGFwcGxpY2F0aW9uXG4gKiBjb25zdCBob3N0ZWRab25lOiByb3V0ZTUzLklIb3N0ZWRab25lID0gLi4uXG4gKiAvLyBubyBzZXBhcmF0ZSB2YWxpZGF0aW9uIHJvbGUgaXMgbmVlZGVkXG4gKiBjb25zdCBjZXJ0aWZpY2F0ZSA9IG5ldyBEbnNWYWxpZGF0ZWRDZXJ0aWZpY2F0ZSh0aGlzLCAnQ3Jvc3NSZWdpb25DZXJ0aWZpY2F0ZScsIHtcbiAqICAgZG9tYWluTmFtZTogJ2V4YW1wbGUuY29tJywgICAgIC8vIG11c3QgYmUgY29tcGF0aWJsZSB3aXRoIHRoZSBob3N0ZWQgem9uZVxuICogICB2YWxpZGF0aW9uSG9zdGVkWm9uZXM6IFt7ICAgICAgLy8gaG9zdGVkIHpvbmUgdXNlZCB3aXRoIHRoZSBleGVjdXRpb24gcm9sZSdzIHBlcm1pc3Npb25zXG4gKiAgICAgaG9zdGVkWm9uZTogaG9zdGVkWm9uZVxuICogICB9XSxcbiAqICAgY2VydGlmaWNhdGVSZWdpb246ICd1cy1lYXN0LTEnIC8vIHVzZWQgYnkgZm9yIGV4YW1wbGUgQ2xvdWRGcm9udFxuICogfSlcbiAqIC8vICMjIyBDcm9zcy1hY2NvdW50IGNlcnRpZmljYXRlIHZhbGlkYXRpb25cbiAqIC8vIGV4dGVybmFsIGhvc3RlZCB6b25lXG4gKiBjb25zdCBob3N0ZWRab25lOiByb3V0ZTUzLklIb3N0ZWRab25lID1cbiAqICAgcm91dGU1My5Ib3N0ZWRab25lLmZyb21Ib3N0ZWRab25lQXR0cmlidXRlcyh0aGlzLCAnSG9zdGVkWm9uZScsIHtcbiAqICAgICBob3N0ZWRab25lSWQ6ICdaNTMyREdERURGUzEyMzQ1Njc4OScsXG4gKiAgICAgem9uZU5hbWU6ICdleGFtcGxlLmNvbSdcbiAqICAgfSlcbiAqIC8vIHZhbGlkYXRpb24gcm9sZSBpbiB0aGUgc2FtZSBhY2NvdW50IGFzIHRoZSBob3N0ZWQgem9uZVxuICogY29uc3Qgcm9sZUFybiA9ICdhcm46YXdzOmlhbTo6MTIzNDU2Nzg5OnJvbGUvQ2hhbmdlRG5zUmVjb3Jkc1JvbGUnXG4gKiBjb25zdCBleHRlcm5hbElkID0gJ2RvbWFpbi1hc3N1bWUnXG4gKiBjb25zdCB2YWxpZGF0aW9uUm9sZTogaWFtLklSb2xlID1cbiAqICAgaWFtLlJvbGUuZnJvbVJvbGVBcm4odGhpcywgJ1ZhbGlkYXRpb25Sb2xlJywgcm9sZUFybilcbiAqIGNvbnN0IGNlcnRpZmljYXRlID0gbmV3IERuc1ZhbGlkYXRlZENlcnRpZmljYXRlKHRoaXMsICdDcm9zc0FjY291bnRDZXJ0aWZpY2F0ZScsIHtcbiAqICAgZG9tYWluTmFtZTogJ2V4YW1wbGUuY29tJyxcbiAqICAgdmFsaWRhdGlvbkhvc3RlZFpvbmVzOiBbe1xuICogICAgIGhvc3RlZFpvbmU6IGhvc3RlZFpvbmUsXG4gKiAgICAgdmFsaWRhdGlvblJvbGU6IHZhbGlkYXRpb25Sb2xlLFxuICogICAgIHZhbGlkYXRpb25FeHRlcm5hbElkOiBleHRlcm5hbElkXG4gKiAgIH1dXG4gKiB9KVxuICogLy8gIyMjIENyb3NzLWFjY291bnQgYWx0ZXJuYXRpdmUgbmFtZSB2YWxpZGF0aW9uXG4gKiAvLyBleGFtcGxlLmNvbSBpcyB2YWxpZGF0ZWQgb24gc2FtZSBhY2NvdW50IGFnYWluc3QgbWFuYWdlZCBob3N0ZWQgem9uZVxuICogLy8gYW5kIHNlY29uZGFyeS5jb20gaXMgdmFsaWRhdGVkIGFnYWluc3QgZXh0ZXJuYWwgaG9zdGVkIHpvbmUgb24gb3RoZXIgYWNjb3VudFxuICogY29uc3QgaG9zdGVkWm9uZUZvck1haW46IHJvdXRlNTMuSUhvc3RlZFpvbmUgPSAuLi5cbiAqIGNvbnN0IGhvc3RlZFpvbmVGb3JBbHRlcm5hdGl2ZTogcm91dGU1My5JSG9zdGVkWm9uZSA9XG4gKiAgIHJvdXRlNTMuSG9zdGVkWm9uZS5mcm9tSG9zdGVkWm9uZUF0dHJpYnV0ZXModGhpcywgJ1NlY29uZGFyeUhvc3RlZFpvbmUnLCB7XG4gKiAgICAgaG9zdGVkWm9uZUlkOiAnWjUzMkRHREVERlMxMjM0NTY3ODknLFxuICogICAgIHpvbmVOYW1lOiAnc2Vjb25kYXJ5LmNvbSdcbiAqICAgfSlcbiAqIGNvbnN0IGNlcnRpZmljYXRlID0gbmV3IERuc1ZhbGlkYXRlZENlcnRpZmljYXRlKHRoaXMsICdDcm9zc0FjY291bnRDZXJ0aWZpY2F0ZScsIHtcbiAqICAgZG9tYWluTmFtZTogJ2V4YW1wbGUuY29tJyxcbiAqICAgYWx0ZXJuYXRpdmVEb21haW5OYW1lczogWydzZWNvbmRhcnkuY29tJ10sXG4gKiAgIHZhbGlkYXRpb25Ib3N0ZWRab25lczogW3tcbiAqICAgICBob3N0ZWRab25lOiBob3N0ZWRab25lRm9yTWFpblxuICogICB9LHtcbiAqICAgICBob3N0ZWRab25lOiBob3N0ZWRab25lRm9yQWx0ZXJuYXRpdmUsXG4gKiAgICAgdmFsaWRhdGlvblJvbGU6IGlhbS5Sb2xlLmZyb21Sb2xlQXJuKFxuICogICAgICAgdGhpcywgJ1NlY29uZGFyeVZhbGlkYXRpb25Sb2xlJywgJ2Fybjphd3M6aWFtOjoxMjM0NTY3ODk6cm9sZS9DaGFuZ2VEbnNSZWNvcmRzUm9sZSdcbiAqICAgICApLFxuICogICAgIHZhbGlkYXRpb25FeHRlcm5hbElkOiAnZG9tYWluLWFzc3VtZSdcbiAqICAgfV1cbiAqIH0pXG4gKlxuICogQHJlc291cmNlIEN1c3RvbTo6RG5zVmFsaWRhdGVkQ2VydGlmaWNhdGVcbiAqIEByZXNvdXJjZSBBV1M6OkNlcnRpZmljYXRlTWFuYWdlcjo6Q2VydGlmaWNhdGVcbiAqL1xuZXhwb3J0IGNsYXNzIERuc1ZhbGlkYXRlZENlcnRpZmljYXRlIGV4dGVuZHMgY2RrLlJlc291cmNlIGltcGxlbWVudHMgY2VydGlmaWNhdGVtYW5hZ2VyLklDZXJ0aWZpY2F0ZSwgY2RrLklUYWdnYWJsZSB7XG4gIC8qKiBUaGUgY2VydGlmaWNhdGUncyBBUk4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGNlcnRpZmljYXRlQXJuOiBzdHJpbmdcblxuICAvKiogVGhlIHJlZ2lvbiB3aGVyZSB0aGUgY2VydGlmaWNhdGUgaXMgZGVwbG95ZWQgdG8gKi9cbiAgcHVibGljIHJlYWRvbmx5IGNlcnRpZmljYXRlUmVnaW9uOiBzdHJpbmdcblxuICAvKiogVGhlIHRhZyBtYW5hZ2VyIHRvIHNldCwgcmVtb3ZlIGFuZCBmb3JtYXQgdGFncyBmb3IgdGhlIGNlcnRpZmljYXRlICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdGFnczogY2RrLlRhZ01hbmFnZXJcblxuICAvKiogVGhlIHJlbW92YWwgcG9saWN5IGZvciB0aGUgY2VydGlmaWNhdGUgKi9cbiAgcHJpdmF0ZSByZW1vdmFsUG9saWN5OiBjZGsuUmVtb3ZhbFBvbGljeVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIERuc1ZhbGlkYXRlZENlcnRpZmljYXRlIGNvbnN0cnVjdC5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIGNvbnN0cnVjdCBob3N0aW5nIHRoaXMgY29uc3RydWN0XG4gICAqIEBwYXJhbSBpZCBjb25zdHJ1Y3QncyBpZGVudGlmaWVyXG4gICAqIEBwYXJhbSBwcm9wcyBwcm9wZXJ0aWVzIGZvciB0aGUgY29uc3RydWN0XG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIGNvbnN0IGRvbWFpbk5hbWUgPSB0aGlzLm5vcm1hbGl6ZURvbWFpbk5hbWUocHJvcHMuZG9tYWluTmFtZSlcbiAgICBjb25zdCBhbHRlcm5hdGl2ZURvbWFpbk5hbWVzID0gcHJvcHMuYWx0ZXJuYXRpdmVEb21haW5OYW1lcz8ubWFwKChhbHRlcm5hdGl2ZURvbWFpbk5hbWUpID0+XG4gICAgICB0aGlzLm5vcm1hbGl6ZURvbWFpbk5hbWUoYWx0ZXJuYXRpdmVEb21haW5OYW1lKVxuICAgIClcbiAgICBjb25zdCBhbGxEb21haW5zID0gW2RvbWFpbk5hbWUsIC4uLihhbHRlcm5hdGl2ZURvbWFpbk5hbWVzID8/IFtdKV1cblxuICAgIHRoaXMuY2VydGlmaWNhdGVSZWdpb24gPSBwcm9wcy5jZXJ0aWZpY2F0ZVJlZ2lvbiA/PyB0aGlzLnN0YWNrLnJlZ2lvblxuICAgIHRoaXMudGFncyA9IG5ldyBjZGsuVGFnTWFuYWdlcihjZGsuVGFnVHlwZS5NQVAsIENFUlRUSUZJQ0FURV9SRVNPVVJDRV9UWVBFKVxuICAgIHRoaXMucmVtb3ZhbFBvbGljeSA9IHByb3BzLnJlbW92YWxQb2xpY3kgPz8gY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWVxuXG4gICAgY29uc3QgcmVxdWVzdG9yRnVuY3Rpb24gPSBuZXcgQ2VydGlmaWNhdGVSZXF1ZXN0b3JGdW5jdGlvbih0aGlzLCAnUmVxdWVzdG9yRnVuY3Rpb24nLCB7XG4gICAgICBhcmNoaXRlY3R1cmU6IGxhbWJkYS5BcmNoaXRlY3R1cmUuQVJNXzY0LFxuICAgICAgdGltZW91dDogY2RrLkR1cmF0aW9uLm1pbnV0ZXMoMTQpLFxuICAgICAgcm9sZTogcHJvcHMuY3VzdG9tUmVzb3VyY2VSb2xlLFxuICAgIH0pXG5cbiAgICByZXF1ZXN0b3JGdW5jdGlvbi5hZGRUb1JvbGVQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICdhY206UmVxdWVzdENlcnRpZmljYXRlJyxcbiAgICAgICAgICAnYWNtOkRlc2NyaWJlQ2VydGlmaWNhdGUnLFxuICAgICAgICAgICdhY206RGVsZXRlQ2VydGlmaWNhdGUnLFxuICAgICAgICAgICdhY206QWRkVGFnc1RvQ2VydGlmaWNhdGUnLFxuICAgICAgICBdLFxuICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgfSlcbiAgICApXG5cbiAgICBjb25zdCBkb21haW5zVG9ab25lcyA9IG1hdGNoTmFtZXNUb1pvbmVzKFxuICAgICAgcHJvcHMudmFsaWRhdGlvbkhvc3RlZFpvbmVzLm1hcCgoem9uZSkgPT4gem9uZS5ob3N0ZWRab25lLnpvbmVOYW1lKSxcbiAgICAgIGFsbERvbWFpbnMsXG4gICAgICAoZG9tYWluKSA9PiBkb21haW5cbiAgICApXG4gICAgY29uc3QgaG9zdGVkWm9uZXNXaXRoUm9sZSA9IHByb3BzLnZhbGlkYXRpb25Ib3N0ZWRab25lcy5maWx0ZXIoKHpvbmUpID0+IHpvbmUudmFsaWRhdGlvblJvbGUgIT09IHVuZGVmaW5lZClcbiAgICBjb25zdCBob3N0ZWRab25lc1dpdGhvdXRSb2xlID0gcHJvcHMudmFsaWRhdGlvbkhvc3RlZFpvbmVzLmZpbHRlcigoem9uZSkgPT4gem9uZS52YWxpZGF0aW9uUm9sZSA9PT0gdW5kZWZpbmVkKVxuXG4gICAgaG9zdGVkWm9uZXNXaXRoUm9sZS5mb3JFYWNoKCh6b25lKSA9PiB7XG4gICAgICByZXF1ZXN0b3JGdW5jdGlvbi5hZGRUb1JvbGVQb2xpY3koXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgYWN0aW9uczogWydzdHM6QXNzdW1lUm9sZSddLFxuICAgICAgICAgIHJlc291cmNlczogW3pvbmUudmFsaWRhdGlvblJvbGUhLnJvbGVBcm5dLFxuICAgICAgICB9KVxuICAgICAgKVxuICAgIH0pXG5cbiAgICBob3N0ZWRab25lc1dpdGhvdXRSb2xlLmZvckVhY2goKHpvbmUpID0+IHtcbiAgICAgIHJlcXVlc3RvckZ1bmN0aW9uLmFkZFRvUm9sZVBvbGljeShcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFsncm91dGU1MzpHZXRDaGFuZ2UnXSxcbiAgICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgY29uc3QgZG9tYWluTmFtZXMgPSBkb21haW5zVG9ab25lc1t6b25lLmhvc3RlZFpvbmUuem9uZU5hbWVdXG4gICAgICBpZiAoZG9tYWluTmFtZXMgJiYgZG9tYWluTmFtZXMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXF1ZXN0b3JGdW5jdGlvbi5hZGRUb1JvbGVQb2xpY3koXG4gICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgYWN0aW9uczogWydyb3V0ZTUzOkNoYW5nZVJlc291cmNlUmVjb3JkU2V0cyddLFxuICAgICAgICAgICAgcmVzb3VyY2VzOiBbYGFybjphd3M6cm91dGU1Mzo6Omhvc3RlZHpvbmUvJHt0aGlzLm5vcm1hbGl6ZUhvc3RlZFpvbmVJZCh6b25lLmhvc3RlZFpvbmUuaG9zdGVkWm9uZUlkKX1gXSxcbiAgICAgICAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgICAgICAgJ0ZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHMnOiB7XG4gICAgICAgICAgICAgICAgJ3JvdXRlNTM6Q2hhbmdlUmVzb3VyY2VSZWNvcmRTZXRzUmVjb3JkVHlwZXMnOiBbJ0NOQU1FJ10sXG4gICAgICAgICAgICAgICAgJ3JvdXRlNTM6Q2hhbmdlUmVzb3VyY2VSZWNvcmRTZXRzQWN0aW9ucyc6IFsnVVBTRVJUJywgJ0RFTEVURSddLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAnRm9yQWxsVmFsdWVzOlN0cmluZ0xpa2UnOiB7XG4gICAgICAgICAgICAgICAgJ3JvdXRlNTM6Q2hhbmdlUmVzb3VyY2VSZWNvcmRTZXRzTm9ybWFsaXplZFJlY29yZE5hbWVzJzogZG9tYWluTmFtZXMubWFwKChuYW1lLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMud2lsZGNhcmREb21haW5OYW1lKGBEb21haW5XaWxkY2FyZCR7em9uZS5ob3N0ZWRab25lLmhvc3RlZFpvbmVJZH0ke2luZGV4fWAsIG5hbWUpXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgY29uc3QgcmVxdWVzdG9yUHJvdmlkZXIgPSBuZXcgY3VzdG9tX3Jlc291cmNlcy5Qcm92aWRlcih0aGlzLCAnUmVxdWVzdG9yUHJvdmlkZXInLCB7XG4gICAgICBvbkV2ZW50SGFuZGxlcjogcmVxdWVzdG9yRnVuY3Rpb24sXG4gICAgfSlcblxuICAgIGNvbnN0IHZhbGlkYXRpb25Ib3N0ZWRab25lcyA9IHByb3BzLnZhbGlkYXRpb25Ib3N0ZWRab25lcy5tYXA8W3N0cmluZywgVmFsaWRhdGlvbkhvc3RlZFpvbmVQcm9wZXJ0aWVzXT4oKHpvbmUpID0+IHtcbiAgICAgIGNvbnN0IHByb3BlcnRpZXM6IFZhbGlkYXRpb25Ib3N0ZWRab25lUHJvcGVydGllcyA9IHtcbiAgICAgICAgRG9tYWluTmFtZTogdGhpcy5ub3JtYWxpemVEb21haW5OYW1lKHpvbmUuaG9zdGVkWm9uZS56b25lTmFtZSksXG4gICAgICAgIEhvc3RlZFpvbmVJZDogdGhpcy5ub3JtYWxpemVIb3N0ZWRab25lSWQoem9uZS5ob3N0ZWRab25lLmhvc3RlZFpvbmVJZCksXG4gICAgICAgIFZhbGlkYXRpb25Sb2xlQXJuOiB6b25lLnZhbGlkYXRpb25Sb2xlPy5yb2xlQXJuLFxuICAgICAgICBWYWxpZGF0aW9uRXh0ZXJuYWxJZDogem9uZS52YWxpZGF0aW9uRXh0ZXJuYWxJZCxcbiAgICAgIH1cbiAgICAgIHJldHVybiBbcHJvcGVydGllcy5Eb21haW5OYW1lLCBwcm9wZXJ0aWVzXVxuICAgIH0pXG5cbiAgICBjb25zdCBwcm9wZXJ0aWVzOiBQcm9wZXJ0aWVzID0ge1xuICAgICAgRG9tYWluTmFtZTogZG9tYWluTmFtZSxcbiAgICAgIEFsdGVybmF0aXZlRG9tYWluTmFtZXM6IGFsdGVybmF0aXZlRG9tYWluTmFtZXMsXG4gICAgICBWYWxpZGF0aW9uSG9zdGVkWm9uZXM6IE9iamVjdC5mcm9tRW50cmllcyh2YWxpZGF0aW9uSG9zdGVkWm9uZXMpLFxuICAgICAgQ2VydGlmaWNhdGVSZWdpb246IHRoaXMuY2VydGlmaWNhdGVSZWdpb24sXG4gICAgICBDbGVhbnVwVmFsaWRhdGlvblJlY29yZHM6IGJvb2xlYW5Ub1N0cmluZyhwcm9wcy5jbGVhbnVwVmFsaWRhdGlvblJlY29yZHMgPz8gdHJ1ZSksXG4gICAgICBUcmFuc3BhcmVuY3lMb2dnaW5nRW5hYmxlZDogYm9vbGVhblRvU3RyaW5nKHByb3BzLnRyYW5zcGFyZW5jeUxvZ2dpbmdFbmFibGVkID8/IHRydWUpLFxuICAgICAgVGFnczogY2RrLkxhenkuYW55KHsgcHJvZHVjZTogKCkgPT4gdGhpcy50YWdzLnJlbmRlclRhZ3MoKSB9KSBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgICBSZW1vdmFsUG9saWN5OiBjZGsuTGF6eS5zdHJpbmcoeyBwcm9kdWNlOiAoKSA9PiB0aGlzLnJlbW92YWxQb2xpY3kgfSksXG4gICAgfVxuXG4gICAgY29uc3QgY2VydGlmaWNhdGUgPSBuZXcgY2RrLkN1c3RvbVJlc291cmNlKHRoaXMsICdSZXF1ZXN0b3JSZXNvdXJjZScsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogcmVxdWVzdG9yUHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcmVzb3VyY2VUeXBlOiBETlNfVkFMSURBVEVEX0NFUlRJRklDQVRFX1RZUEUsXG4gICAgICBwcm9wZXJ0aWVzLFxuICAgIH0pXG5cbiAgICB0aGlzLmNlcnRpZmljYXRlQXJuID0gY2VydGlmaWNhdGUuZ2V0QXR0U3RyaW5nKCdBcm4nKVxuXG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24oe1xuICAgICAgdmFsaWRhdGU6ICgpID0+XG4gICAgICAgIHRoaXMudmFsaWRhdGVEb21haW5zVG9Ib3N0ZWRab25lcyhcbiAgICAgICAgICBhbGxEb21haW5zLFxuICAgICAgICAgIHZhbGlkYXRpb25Ib3N0ZWRab25lcy5tYXAoKFt6b25lTmFtZSwgX10pID0+IHpvbmVOYW1lKVxuICAgICAgICApLFxuICAgIH0pXG4gIH1cblxuICBtZXRyaWNEYXlzVG9FeHBpcnkocHJvcHM/OiBjZGsuYXdzX2Nsb3Vkd2F0Y2guTWV0cmljT3B0aW9ucyB8IHVuZGVmaW5lZCk6IGNkay5hd3NfY2xvdWR3YXRjaC5NZXRyaWMge1xuICAgIHJldHVybiBuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uZGF5cygxKSxcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZGltZW5zaW9uc01hcDogeyBDZXJ0aWZpY2F0ZUFybjogdGhpcy5jZXJ0aWZpY2F0ZUFybiB9LFxuICAgICAgbWV0cmljTmFtZTogJ0RheXNUb0V4cGlyeScsXG4gICAgICBuYW1lc3BhY2U6ICdBV1MvQ2VydGlmaWNhdGVNYW5hZ2VyJyxcbiAgICAgIHJlZ2lvbjogdGhpcy5jZXJ0aWZpY2F0ZVJlZ2lvbixcbiAgICAgIHN0YXRpc3RpYzogY2xvdWR3YXRjaC5TdGF0cy5NSU5JTVVNLFxuICAgIH0pXG4gIH1cblxuICBhcHBseVJlbW92YWxQb2xpY3kocG9saWN5OiBjZGsuUmVtb3ZhbFBvbGljeSk6IHZvaWQge1xuICAgIHRoaXMucmVtb3ZhbFBvbGljeSA9IHBvbGljeVxuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVEb21haW5OYW1lKGRvbWFpbk5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKGNkay5Ub2tlbi5pc1VucmVzb2x2ZWQoZG9tYWluTmFtZSkpIHtcbiAgICAgIHJldHVybiBkb21haW5OYW1lXG4gICAgfVxuICAgIHJldHVybiBjbGVhbkRvbWFpbk5hbWUoZG9tYWluTmFtZSlcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplSG9zdGVkWm9uZUlkKGhvc3RlZFpvbmVJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoY2RrLlRva2VuLmlzVW5yZXNvbHZlZChob3N0ZWRab25lSWQpKSB7XG4gICAgICByZXR1cm4gaG9zdGVkWm9uZUlkXG4gICAgfVxuICAgIHJldHVybiBjbGVhbkhvc3RlZFpvbmVJZChob3N0ZWRab25lSWQpXG4gIH1cblxuICBwcml2YXRlIHdpbGRjYXJkRG9tYWluTmFtZShpZDogc3RyaW5nLCBkb21haW5OYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhcnRzID0gY2RrLkZuLnNwbGl0KCcuJywgZG9tYWluTmFtZSlcbiAgICBjb25zdCBmaXJzdCA9IGNkay5Gbi5zZWxlY3QoMCwgcGFydHMpXG4gICAgY29uc3QgaXNXaWxkY2FyZCA9IG5ldyBjZGsuQ2ZuQ29uZGl0aW9uKHRoaXMsIGBJcyR7aWR9YCwge1xuICAgICAgZXhwcmVzc2lvbjogY2RrLkZuLmNvbmRpdGlvbkVxdWFscyhmaXJzdCwgJyonKSxcbiAgICB9KVxuICAgIHJldHVybiBjZGsuRm4uY29uZGl0aW9uSWYoaXNXaWxkY2FyZC5sb2dpY2FsSWQsIGRvbWFpbk5hbWUsIGAqLiR7ZG9tYWluTmFtZX1gKS50b1N0cmluZygpXG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlRG9tYWluc1RvSG9zdGVkWm9uZXMoZG9tYWluTmFtZXM6IHN0cmluZ1tdLCB6b25lTmFtZXM6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXVxuICAgIGZvciAoY29uc3QgZG9tYWluTmFtZSBvZiBkb21haW5OYW1lcykge1xuICAgICAgY29uc3QgcmVzb2x2YWJsZURvbWFpbk5hbWUgPSAhY2RrLlRva2VuLmlzVW5yZXNvbHZlZChkb21haW5OYW1lKVxuICAgICAgY29uc3QgcmVzb2x2YWJsZVpvbmVOYW1lcyA9ICF6b25lTmFtZXMuc29tZSgoem9uZU5hbWUpID0+IGNkay5Ub2tlbi5pc1VucmVzb2x2ZWQoem9uZU5hbWUpKVxuICAgICAgaWYgKHJlc29sdmFibGVEb21haW5OYW1lICYmIHJlc29sdmFibGVab25lTmFtZXMgJiYgIXpvbmVOYW1lcy5zb21lKCh6b25lTmFtZSkgPT4gZG9tYWluTmFtZS5lbmRzV2l0aCh6b25lTmFtZSkpKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKGBEb21haW4gJHtkb21haW5OYW1lfSBpcyBub3QgcHJvdmlkZWQgd2l0aCBhdXRob3JpdGF0aXZlIGhvc3RlZCB6b25lYClcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGVycm9yc1xuICB9XG59XG4iXX0=
225
+ _a = JSII_RTTI_SYMBOL_1;
226
+ DnsValidatedCertificate[_a] = { fqn: "@trautonen/cdk-dns-validated-certificate.DnsValidatedCertificate", version: "0.1.4" };
227
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLXZhbGlkYXRlZC1jZXJ0aWZpY2F0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kbnMtdmFsaWRhdGVkLWNlcnRpZmljYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQWtDO0FBRWxDLHlEQUF3RDtBQUN4RCwyQ0FBMEM7QUFDMUMsaURBQWdEO0FBRWhELGlFQUFnRTtBQUVoRSxxRkFBK0U7QUFFL0UsbUNBQWdHO0FBaUhoRyxNQUFNLDhCQUE4QixHQUFHLGlDQUFpQyxDQUFBO0FBQ3hFLE1BQU0sMEJBQTBCLEdBQUcsc0NBQXNDLENBQUE7QUFFekU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUVHO0FBQ0gsTUFBYSx1QkFBd0IsU0FBUSxHQUFHLENBQUMsUUFBUTtJQWF2RDs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW1DO1FBQzNFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFaEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUM3RCxNQUFNLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLENBQ3pGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUNoRCxDQUFBO1FBQ0QsTUFBTSxVQUFVLEdBQUcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLHNCQUFzQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFFbEUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQTtRQUNyRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksR0FB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QU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUN2RCxVQUFVLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQztTQUMvQyxDQUFDLENBQUE7UUFDRixPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssVUFBVSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUMzRixDQUFDO0lBRU8sNEJBQTRCLENBQUMsV0FBcUIsRUFBRSxTQUFtQjtRQUM3RSxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUE7UUFDM0IsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNyQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDaEUsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7WUFDM0YsSUFBSSxvQkFBb0IsSUFBSSxtQkFBbUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNoSCxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsVUFBVSxpREFBaUQsQ0FBQyxDQUFBO1lBQ3BGLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDOztBQTlMSCwwREErTEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInXG5pbXBvcnQgKiBhcyBjZXJ0aWZpY2F0ZW1hbmFnZXIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNlcnRpZmljYXRlbWFuYWdlcidcbmltcG9ydCAqIGFzIGNsb3Vkd2F0Y2ggZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnXG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSdcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJ1xuaW1wb3J0ICogYXMgcm91dGU1MyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtcm91dGU1MydcbmltcG9ydCAqIGFzIGN1c3RvbV9yZXNvdXJjZXMgZnJvbSAnYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcydcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnXG5pbXBvcnQgeyBDZXJ0aWZpY2F0ZVJlcXVlc3RvckZ1bmN0aW9uIH0gZnJvbSAnLi9jZXJ0aWZpY2F0ZS1yZXF1ZXN0b3ItZnVuY3Rpb24nXG5pbXBvcnQgeyBQcm9wZXJ0aWVzLCBWYWxpZGF0aW9uSG9zdGVkWm9uZVByb3BlcnRpZXMgfSBmcm9tICcuL2NlcnRpZmljYXRlLXJlcXVlc3Rvci5sYW1iZGEnXG5pbXBvcnQgeyBib29sZWFuVG9TdHJpbmcsIGNsZWFuRG9tYWluTmFtZSwgY2xlYW5Ib3N0ZWRab25lSWQsIG1hdGNoTmFtZXNUb1pvbmVzIH0gZnJvbSAnLi91dGlscydcblxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uSG9zdGVkWm9uZSB7XG4gIC8qKlxuICAgKiBIb3N0ZWQgem9uZSB0byB1c2UgZm9yIEROUyB2YWxpZGF0aW9uLiBUaGUgem9uZSBuYW1lIGlzIG1hdGNoZWQgdG8gZG9tYWluIG5hbWUgdG8gdXNlIHRoZSByaWdodFxuICAgKiBob3N0ZWQgem9uZSBmb3IgdmFsaWRhdGlvbi5cbiAgICpcbiAgICogSWYgdGhlIGhvc3RlZCB6b25lIGlzIG5vdCBtYW5hZ2VkIGJ5IHRoZSBDREsgYXBwbGljYXRpb24sIGl0IG5lZWRzIHRvIGJlIHByb3ZpZGVkIHZpYVxuICAgKiBgYEhvc3RlZFpvbmUuZnJvbUhvc3RlZFpvbmVBdHRyaWJ1dGVzKClgYC5cbiAgICovXG4gIHJlYWRvbmx5IGhvc3RlZFpvbmU6IHJvdXRlNTMuSUhvc3RlZFpvbmVcblxuICAvKipcbiAgICogVGhlIHJvbGUgdGhhdCBpcyBhc3N1bWVkIGZvciBETlMgcmVjb3JkIGNoYW5nZXMgZm9yIGNlcnRpZmljYXRlIHZhbGlkYXRpb24uXG4gICAqXG4gICAqIFRoaXMgcm9sZSBzaG91bGQgZXhpc3QgaW4gdGhlIHNhbWUgYWNjb3VudCBhcyB0aGUgaG9zdGVkIHpvbmUgYW5kIGluY2x1ZGUgcGVybWlzc2lvbnMgdG8gY2hhbmdlIHRoZSBETlMgcmVjb3Jkc1xuICAgKiBmb3IgdGhlIGdpdmVuIGBgaG9zdGVkWm9uZWBgLiBUaGUgYGBjdXN0b21SZXNvdXJjZVJvbGVgYCBvciB0aGUgZGVmYXVsdCBleGVjdXRpb24gcm9sZSBpcyBnaXZlbiBwZXJtaXNzaW9uIHRvXG4gICAqIGFzc3VtZSB0aGlzIHJvbGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gc2VwYXJhdGUgcm9sZSBmb3IgRE5TIHJlY29yZCBjaGFuZ2VzLiBUaGUgZ2l2ZW4gY3VzdG9tUmVzb3VyY2VSb2xlIG9yIHRoZSBkZWZhdWx0IHJvbGUgaXMgdXNlZFxuICAgKiBmb3IgRE5TIHJlY29yZCBjaGFuZ2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsaWRhdGlvblJvbGU/OiBpYW0uSVJvbGVcblxuICAvKipcbiAgICogRXh0ZXJuYWwgaWQgZm9yIGBgdmFsaWRhdGlvblJvbGVgYCByb2xlIGFzc3VtZSB2ZXJpZmljYXRpb24uXG4gICAqXG4gICAqIFRoaXMgc2hvdWxkIGJlIHVzZWQgb25seSB3aGVuIGBgdmFsaWRhdGlvblJvbGVgYCBpcyBnaXZlbiBhbmQgdGhlIHJvbGUgZXhwZWN0cyBhbiBleHRlcm5hbCBpZCBwcm92aWRlZCBvbiBhc3N1bWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gZXh0ZXJuYWwgaWQgcHJvdmlkZWQgZHVyaW5nIGFzc3VtZS5cbiAgICovXG4gIHJlYWRvbmx5IHZhbGlkYXRpb25FeHRlcm5hbElkPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGVQcm9wcyB7XG4gIC8qKlxuICAgKiBGdWxseS1xdWFsaWZpZWQgZG9tYWluIG5hbWUgdG8gcmVxdWVzdCBhIGNlcnRpZmljYXRlIGZvci5cbiAgICpcbiAgICogTWF5IGNvbnRhaW4gd2lsZGNhcmRzLCBzdWNoIGFzIGBgKi5kb21haW4uY29tYGAuXG4gICAqL1xuICByZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogRnVsbHktcXVhbGlmaWVkIGFsdGVybmF0aXZlIGRvbWFpbiBuYW1lcyB0byByZXF1ZXN0IGEgY2VydGlmaWNhdGUgZm9yLlxuICAgKlxuICAgKiBNYXkgY29udGFpbiB3aWxkY2FyZHMsIHN1Y2ggYXMgYGAqLm90aGVyZG9tYWluLmNvbWBgLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0ZXJuYXRpdmVEb21haW5OYW1lcz86IHN0cmluZ1tdXG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgaG9zdGVkIHpvbmVzIHRvIHVzZSBmb3IgdmFsaWRhdGlvbi4gSG9zdGVkIHpvbmVzIGFyZSBtYXBwZWQgdG8gZG9tYWluIG5hbWVzIGJ5IHRoZSB6b25lIG5hbWUuXG4gICAqL1xuICByZWFkb25seSB2YWxpZGF0aW9uSG9zdGVkWm9uZXM6IFZhbGlkYXRpb25Ib3N0ZWRab25lW11cblxuICAvKipcbiAgICogQVdTIHJlZ2lvbiB3aGVyZSB0aGUgY2VydGlmaWNhdGUgaXMgZGVwbG95ZWQuXG4gICAqXG4gICAqIFlvdSBzaG91bGQgdXNlIHRoZSBkZWZhdWx0IGBgQ2VydGlmaWNhdGVgYCBjb25zdHJ1Y3QgaW5zdGVhZCBpZiB0aGUgcmVnaW9uIGlzIHNhbWUgYXMgdGhlIHN0YWNrJ3MgYW5kIHRoZSBob3N0ZWRcbiAgICogem9uZSBpcyBpbiB0aGUgc2FtZSBhY2NvdW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFNhbWUgcmVnaW9uIGFzIHRoZSBzdGFjay5cbiAgICovXG4gIHJlYWRvbmx5IGNlcnRpZmljYXRlUmVnaW9uPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFRoZSByb2xlIHRoYXQgaXMgdXNlZCBmb3IgdGhlIGN1c3RvbSByZXNvdXJjZSBMYW1iZGEgZXhlY3V0aW9uLlxuICAgKlxuICAgKiBUaGUgcm9sZSBpcyBnaXZlbiBwZXJtaXNzaW9ucyB0byByZXF1ZXN0IGNlcnRpZmljYXRlcyBmcm9tIEFDTS4gSWYgdGhlcmUgYXJlIGFueSBgYHZhbGlkYXRpb25Sb2xlYGBzIHByb3ZpZGVkLFxuICAgKiB0aGlzIHJvbGUgaXMgYWxzbyBnaXZlbiBwZXJtaXNzaW9uIHRvIGFzc3VtZSB0aGUgYGB2YWxpZGF0aW9uUm9sZWBgLiBPdGhlcndpc2UgaXQgaXMgYXNzdW1lZCB0aGF0IHRoZSBob3N0ZWQgem9uZVxuICAgKiBpcyBpbiBzYW1lIGFjY291bnQgYW5kIHRoZSBleGVjdXRpb24gcm9sZSBpcyBnaXZlbiBwZXJtaXNzaW9ucyB0byBjaGFuZ2UgRE5TIHJlY29yZHMgZm9yIHRoZSBnaXZlbiBgYGRvbWFpbk5hbWVgYC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBMYW1iZGEgY3JlYXRlcyBhIGRlZmF1bHQgZXhlY3V0aW9uIHJvbGUuXG4gICAqL1xuICByZWFkb25seSBjdXN0b21SZXNvdXJjZVJvbGU/OiBpYW0uSVJvbGVcblxuICAvKipcbiAgICogRW5hYmxlIG9yIGRpc2FibGUgY2xlYW5pbmcgb2YgdmFsaWRhdGlvbiBETlMgcmVjb3JkcyBmcm9tIHRoZSBob3N0ZWQgem9uZS5cbiAgICpcbiAgICogSWYgdGhlcmUncyBtdWx0aXBsZSBjZXJ0aWZpY2F0ZXMgY3JlYXRlZCBmb3Igc2FtZSBkb21haW4sIGl0IGlzIHBvc3NpYmxlIHRvIGVuY291dGVyIGEgcmFjZSBjb25kaXRpb24gd2hlcmUgc29tZVxuICAgKiBjZXJ0aWZpY2F0ZSBpcyByZW1vdmVkIGFuZCBhbm90aGVyIGNlcnRpZmljYXRlIHdvdWxkIG5lZWQgdGhlIHNhbWUgdmFsaWRhdGlvbiByZWNvcmQuIFByZWZlciBzaW5nbGUgY2VydGlmaWNhdGVcbiAgICogZm9yIGEgZG9tYWluIG9yIHNldCB0aGlzIHRvIGZhbHNlIGFuZCBjbGVhbnVwIHJlY29yZHMgbWFudWFsbHkgd2hlbiBub3QgbmVlZGVkIGFueW1vcmUuIElmIHlvdSBjaGFuZ2UgdGhpc1xuICAgKiBwcm9wZXJ0eSBhZnRlciBjcmVhdGlvbiwgYSBuZXcgY2VydGlmaWNhdGUgd2lsbCBiZSByZXF1ZXN0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGNsZWFudXBWYWxpZGF0aW9uUmVjb3Jkcz86IGJvb2xlYW5cblxuICAvKipcbiAgICogRW5hYmxlIG9yIGRpc2FibGUgdHJhbnNwYXJlbmN5IGxvZ2dpbmcgZm9yIHRoaXMgY2VydGlmaWNhdGUuXG4gICAqXG4gICAqIE9uY2UgYSBjZXJ0aWZpY2F0ZSBoYXMgYmVlbiBsb2dnZWQsIGl0IGNhbm5vdCBiZSByZW1vdmVkIGZyb20gdGhlIGxvZy4gT3B0aW5nIG91dCBhdCB0aGF0IHBvaW50IHdpbGwgaGF2ZSBub1xuICAgKiBlZmZlY3QuIElmIHlvdSBjaGFuZ2UgdGhpcyBwcm9wZXJ0eSBhZnRlciBjcmVhdGlvbiwgYSBuZXcgY2VydGlmaWNhdGUgd2lsbCBiZSByZXF1ZXN0ZWQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjbS9sYXRlc3QvdXNlcmd1aWRlL2FjbS1iZXN0cHJhY3RpY2VzLmh0bWwjYmVzdC1wcmFjdGljZXMtdHJhbnNwYXJlbmN5XG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zcGFyZW5jeUxvZ2dpbmdFbmFibGVkPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBBcHBseSB0aGUgZ2l2ZW4gcmVtb3ZhbCBwb2xpY3kgdG8gdGhpcyByZXNvdXJjZS5cbiAgICpcbiAgICogVGhlIHJlbW92YWwgcG9saWN5IGNvbnRyb2xzIHdoYXQgaGFwcGVucyB0byB0aGlzIHJlc291cmNlIHdoZW4gaXQgc3RvcHMgYmVpbmcgbWFuYWdlZCBieSBDbG91ZEZvcm1hdGlvbiwgZWl0aGVyXG4gICAqIGJlY2F1c2UgeW91J3ZlIHJlbW92ZWQgaXQgZnJvbSB0aGUgQ0RLIGFwcGxpY2F0aW9uIG9yIGJlY2F1c2UgeW91J3ZlIG1hZGUgYSBjaGFuZ2UgdGhhdCByZXF1aXJlcyB0aGUgcmVzb3VyY2UgdG9cbiAgICogYmUgcmVwbGFjZWQuIFRoZSByZXNvdXJjZSBjYW4gYmUgZGVsZXRlZCAoYGBSZW1vdmFsUG9saWN5LkRFU1RST1lgYCksIG9yIGxlZnQgaW4geW91ciBBV1MgYWNjb3VudCBmb3IgZGF0YVxuICAgKiByZWNvdmVyeSBhbmQgY2xlYW51cCBsYXRlciAoYGBSZW1vdmFsUG9saWN5LlJFVEFJTmBgKS4gSWYgeW91IGNoYW5nZSB0aGlzIHByb3BlcnR5IGFmdGVyIGNyZWF0aW9uLCBhIG5ld1xuICAgKiBjZXJ0aWZpY2F0ZSB3aWxsIGJlIHJlcXVlc3RlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgUmVtb3ZhbFBvbGljeS5ERVNUUk9ZXG4gICAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogY2RrLlJlbW92YWxQb2xpY3lcbn1cblxuY29uc3QgRE5TX1ZBTElEQVRFRF9DRVJUSUZJQ0FURV9UWVBFID0gJ0N1c3RvbTo6RG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUnXG5jb25zdCBDRVJUVElGSUNBVEVfUkVTT1VSQ0VfVFlQRSA9ICdBV1M6OkNlcnRpZmljYXRlTWFuYWdlcjo6Q2VydGlmaWNhdGUnXG5cbi8qKlxuICogQSBjZXJ0aWZpY2F0ZSBtYW5hZ2VkIGJ5IEFXUyBDZXJ0aWZpY2F0ZSBNYW5hZ2VyLiBXaWxsIGJlIGF1dG9tYXRpY2FsbHkgdmFsaWRhdGVkIHVzaW5nIEROUyB2YWxpZGF0aW9uIGFnYWluc3QgdGhlXG4gKiBzcGVjaWZpZWQgUm91dGUgNTMgaG9zdGVkIHpvbmUuIFRoaXMgY29uc3RydWN0IHNob3VsZCBiZSB1c2VkIG9ubHkgZm9yIGNyb3NzLXJlZ2lvbiBvciBjcm9zcy1hY2NvdW50IGNlcnRpZmljYXRlXG4gKiB2YWxpZGF0aW9ucy4gVGhlIGRlZmF1bHQgYGBDZXJ0aWZpY2F0ZWBgIGNvbnN0cnVjdCBpcyBiZXR0ZXIgaW4gY2FzZXMgd2hlcmUgZXZlcnl0aGluZyBpcyBtYW5hZ2VkIGJ5IHRoZSBDREtcbiAqIGFwcGxpY2F0aW9uLlxuICpcbiAqIFBsZWFzZSBub3RlIHRoYXQgdGhpcyBjb25zdHJ1Y3QgZG9lcyBub3Qgc3VwcG9ydCBhbHRlcm5hdGl2ZSBuYW1lcyB5ZXQgYXMgaXQgd291bGQgcmVxdWlyZSBkb21haW4gdG8gcm9sZSBtYXBwaW5nLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyAjIyMgQ3Jvc3MtcmVnaW9uIGNlcnRpZmljYXRlIHZhbGlkYXRpb25cbiAqIC8vIGhvc3RlZCB6b25lIG1hbmFnZWQgYnkgdGhlIENESyBhcHBsaWNhdGlvblxuICogY29uc3QgaG9zdGVkWm9uZTogcm91dGU1My5JSG9zdGVkWm9uZSA9IC4uLlxuICogLy8gbm8gc2VwYXJhdGUgdmFsaWRhdGlvbiByb2xlIGlzIG5lZWRlZFxuICogY29uc3QgY2VydGlmaWNhdGUgPSBuZXcgRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUodGhpcywgJ0Nyb3NzUmVnaW9uQ2VydGlmaWNhdGUnLCB7XG4gKiAgIGRvbWFpbk5hbWU6ICdleGFtcGxlLmNvbScsICAgICAvLyBtdXN0IGJlIGNvbXBhdGlibGUgd2l0aCB0aGUgaG9zdGVkIHpvbmVcbiAqICAgdmFsaWRhdGlvbkhvc3RlZFpvbmVzOiBbeyAgICAgIC8vIGhvc3RlZCB6b25lIHVzZWQgd2l0aCB0aGUgZXhlY3V0aW9uIHJvbGUncyBwZXJtaXNzaW9uc1xuICogICAgIGhvc3RlZFpvbmU6IGhvc3RlZFpvbmVcbiAqICAgfV0sXG4gKiAgIGNlcnRpZmljYXRlUmVnaW9uOiAndXMtZWFzdC0xJyAvLyB1c2VkIGJ5IGZvciBleGFtcGxlIENsb3VkRnJvbnRcbiAqIH0pXG4gKiAvLyAjIyMgQ3Jvc3MtYWNjb3VudCBjZXJ0aWZpY2F0ZSB2YWxpZGF0aW9uXG4gKiAvLyBleHRlcm5hbCBob3N0ZWQgem9uZVxuICogY29uc3QgaG9zdGVkWm9uZTogcm91dGU1My5JSG9zdGVkWm9uZSA9XG4gKiAgIHJvdXRlNTMuSG9zdGVkWm9uZS5mcm9tSG9zdGVkWm9uZUF0dHJpYnV0ZXModGhpcywgJ0hvc3RlZFpvbmUnLCB7XG4gKiAgICAgaG9zdGVkWm9uZUlkOiAnWjUzMkRHREVERlMxMjM0NTY3ODknLFxuICogICAgIHpvbmVOYW1lOiAnZXhhbXBsZS5jb20nXG4gKiAgIH0pXG4gKiAvLyB2YWxpZGF0aW9uIHJvbGUgaW4gdGhlIHNhbWUgYWNjb3VudCBhcyB0aGUgaG9zdGVkIHpvbmVcbiAqIGNvbnN0IHJvbGVBcm4gPSAnYXJuOmF3czppYW06OjEyMzQ1Njc4OTpyb2xlL0NoYW5nZURuc1JlY29yZHNSb2xlJ1xuICogY29uc3QgZXh0ZXJuYWxJZCA9ICdkb21haW4tYXNzdW1lJ1xuICogY29uc3QgdmFsaWRhdGlvblJvbGU6IGlhbS5JUm9sZSA9XG4gKiAgIGlhbS5Sb2xlLmZyb21Sb2xlQXJuKHRoaXMsICdWYWxpZGF0aW9uUm9sZScsIHJvbGVBcm4pXG4gKiBjb25zdCBjZXJ0aWZpY2F0ZSA9IG5ldyBEbnNWYWxpZGF0ZWRDZXJ0aWZpY2F0ZSh0aGlzLCAnQ3Jvc3NBY2NvdW50Q2VydGlmaWNhdGUnLCB7XG4gKiAgIGRvbWFpbk5hbWU6ICdleGFtcGxlLmNvbScsXG4gKiAgIHZhbGlkYXRpb25Ib3N0ZWRab25lczogW3tcbiAqICAgICBob3N0ZWRab25lOiBob3N0ZWRab25lLFxuICogICAgIHZhbGlkYXRpb25Sb2xlOiB2YWxpZGF0aW9uUm9sZSxcbiAqICAgICB2YWxpZGF0aW9uRXh0ZXJuYWxJZDogZXh0ZXJuYWxJZFxuICogICB9XVxuICogfSlcbiAqIC8vICMjIyBDcm9zcy1hY2NvdW50IGFsdGVybmF0aXZlIG5hbWUgdmFsaWRhdGlvblxuICogLy8gZXhhbXBsZS5jb20gaXMgdmFsaWRhdGVkIG9uIHNhbWUgYWNjb3VudCBhZ2FpbnN0IG1hbmFnZWQgaG9zdGVkIHpvbmVcbiAqIC8vIGFuZCBzZWNvbmRhcnkuY29tIGlzIHZhbGlkYXRlZCBhZ2FpbnN0IGV4dGVybmFsIGhvc3RlZCB6b25lIG9uIG90aGVyIGFjY291bnRcbiAqIGNvbnN0IGhvc3RlZFpvbmVGb3JNYWluOiByb3V0ZTUzLklIb3N0ZWRab25lID0gLi4uXG4gKiBjb25zdCBob3N0ZWRab25lRm9yQWx0ZXJuYXRpdmU6IHJvdXRlNTMuSUhvc3RlZFpvbmUgPVxuICogICByb3V0ZTUzLkhvc3RlZFpvbmUuZnJvbUhvc3RlZFpvbmVBdHRyaWJ1dGVzKHRoaXMsICdTZWNvbmRhcnlIb3N0ZWRab25lJywge1xuICogICAgIGhvc3RlZFpvbmVJZDogJ1o1MzJER0RFREZTMTIzNDU2Nzg5JyxcbiAqICAgICB6b25lTmFtZTogJ3NlY29uZGFyeS5jb20nXG4gKiAgIH0pXG4gKiBjb25zdCBjZXJ0aWZpY2F0ZSA9IG5ldyBEbnNWYWxpZGF0ZWRDZXJ0aWZpY2F0ZSh0aGlzLCAnQ3Jvc3NBY2NvdW50Q2VydGlmaWNhdGUnLCB7XG4gKiAgIGRvbWFpbk5hbWU6ICdleGFtcGxlLmNvbScsXG4gKiAgIGFsdGVybmF0aXZlRG9tYWluTmFtZXM6IFsnc2Vjb25kYXJ5LmNvbSddLFxuICogICB2YWxpZGF0aW9uSG9zdGVkWm9uZXM6IFt7XG4gKiAgICAgaG9zdGVkWm9uZTogaG9zdGVkWm9uZUZvck1haW5cbiAqICAgfSx7XG4gKiAgICAgaG9zdGVkWm9uZTogaG9zdGVkWm9uZUZvckFsdGVybmF0aXZlLFxuICogICAgIHZhbGlkYXRpb25Sb2xlOiBpYW0uUm9sZS5mcm9tUm9sZUFybihcbiAqICAgICAgIHRoaXMsICdTZWNvbmRhcnlWYWxpZGF0aW9uUm9sZScsICdhcm46YXdzOmlhbTo6MTIzNDU2Nzg5OnJvbGUvQ2hhbmdlRG5zUmVjb3Jkc1JvbGUnXG4gKiAgICAgKSxcbiAqICAgICB2YWxpZGF0aW9uRXh0ZXJuYWxJZDogJ2RvbWFpbi1hc3N1bWUnXG4gKiAgIH1dXG4gKiB9KVxuICpcbiAqIEByZXNvdXJjZSBDdXN0b206OkRuc1ZhbGlkYXRlZENlcnRpZmljYXRlXG4gKiBAcmVzb3VyY2UgQVdTOjpDZXJ0aWZpY2F0ZU1hbmFnZXI6OkNlcnRpZmljYXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBEbnNWYWxpZGF0ZWRDZXJ0aWZpY2F0ZSBleHRlbmRzIGNkay5SZXNvdXJjZSBpbXBsZW1lbnRzIGNlcnRpZmljYXRlbWFuYWdlci5JQ2VydGlmaWNhdGUsIGNkay5JVGFnZ2FibGUge1xuICAvKiogVGhlIGNlcnRpZmljYXRlJ3MgQVJOICovXG4gIHB1YmxpYyByZWFkb25seSBjZXJ0aWZpY2F0ZUFybjogc3RyaW5nXG5cbiAgLyoqIFRoZSByZWdpb24gd2hlcmUgdGhlIGNlcnRpZmljYXRlIGlzIGRlcGxveWVkIHRvICovXG4gIHB1YmxpYyByZWFkb25seSBjZXJ0aWZpY2F0ZVJlZ2lvbjogc3RyaW5nXG5cbiAgLyoqIFRoZSB0YWcgbWFuYWdlciB0byBzZXQsIHJlbW92ZSBhbmQgZm9ybWF0IHRhZ3MgZm9yIHRoZSBjZXJ0aWZpY2F0ZSAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRhZ3M6IGNkay5UYWdNYW5hZ2VyXG5cbiAgLyoqIFRoZSByZW1vdmFsIHBvbGljeSBmb3IgdGhlIGNlcnRpZmljYXRlICovXG4gIHByaXZhdGUgcmVtb3ZhbFBvbGljeTogY2RrLlJlbW92YWxQb2xpY3lcblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBEbnNWYWxpZGF0ZWRDZXJ0aWZpY2F0ZSBjb25zdHJ1Y3QuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBjb25zdHJ1Y3QgaG9zdGluZyB0aGlzIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gaWQgY29uc3RydWN0J3MgaWRlbnRpZmllclxuICAgKiBAcGFyYW0gcHJvcHMgcHJvcGVydGllcyBmb3IgdGhlIGNvbnN0cnVjdFxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERuc1ZhbGlkYXRlZENlcnRpZmljYXRlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICBjb25zdCBkb21haW5OYW1lID0gdGhpcy5ub3JtYWxpemVEb21haW5OYW1lKHByb3BzLmRvbWFpbk5hbWUpXG4gICAgY29uc3QgYWx0ZXJuYXRpdmVEb21haW5OYW1lcyA9IHByb3BzLmFsdGVybmF0aXZlRG9tYWluTmFtZXM/Lm1hcCgoYWx0ZXJuYXRpdmVEb21haW5OYW1lKSA9PlxuICAgICAgdGhpcy5ub3JtYWxpemVEb21haW5OYW1lKGFsdGVybmF0aXZlRG9tYWluTmFtZSlcbiAgICApXG4gICAgY29uc3QgYWxsRG9tYWlucyA9IFtkb21haW5OYW1lLCAuLi4oYWx0ZXJuYXRpdmVEb21haW5OYW1lcyA/PyBbXSldXG5cbiAgICB0aGlzLmNlcnRpZmljYXRlUmVnaW9uID0gcHJvcHMuY2VydGlmaWNhdGVSZWdpb24gPz8gdGhpcy5zdGFjay5yZWdpb25cbiAgICB0aGlzLnRhZ3MgPSBuZXcgY2RrLlRhZ01hbmFnZXIoY2RrLlRhZ1R5cGUuTUFQLCBDRVJUVElGSUNBVEVfUkVTT1VSQ0VfVFlQRSlcbiAgICB0aGlzLnJlbW92YWxQb2xpY3kgPSBwcm9wcy5yZW1vdmFsUG9saWN5ID8/IGNkay5SZW1vdmFsUG9saWN5LkRFU1RST1lcblxuICAgIGNvbnN0IHJlcXVlc3RvckZ1bmN0aW9uID0gbmV3IENlcnRpZmljYXRlUmVxdWVzdG9yRnVuY3Rpb24odGhpcywgJ1JlcXVlc3RvckZ1bmN0aW9uJywge1xuICAgICAgYXJjaGl0ZWN0dXJlOiBsYW1iZGEuQXJjaGl0ZWN0dXJlLkFSTV82NCxcbiAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5taW51dGVzKDE0KSxcbiAgICAgIHJvbGU6IHByb3BzLmN1c3RvbVJlc291cmNlUm9sZSxcbiAgICB9KVxuXG4gICAgcmVxdWVzdG9yRnVuY3Rpb24uYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAnYWNtOlJlcXVlc3RDZXJ0aWZpY2F0ZScsXG4gICAgICAgICAgJ2FjbTpEZXNjcmliZUNlcnRpZmljYXRlJyxcbiAgICAgICAgICAnYWNtOkRlbGV0ZUNlcnRpZmljYXRlJyxcbiAgICAgICAgICAnYWNtOkFkZFRhZ3NUb0NlcnRpZmljYXRlJyxcbiAgICAgICAgXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgIH0pXG4gICAgKVxuXG4gICAgY29uc3QgZG9tYWluc1RvWm9uZXMgPSBtYXRjaE5hbWVzVG9ab25lcyhcbiAgICAgIHByb3BzLnZhbGlkYXRpb25Ib3N0ZWRab25lcy5tYXAoKHpvbmUpID0+IHpvbmUuaG9zdGVkWm9uZS56b25lTmFtZSksXG4gICAgICBhbGxEb21haW5zLFxuICAgICAgKGRvbWFpbikgPT4gZG9tYWluXG4gICAgKVxuICAgIGNvbnN0IGhvc3RlZFpvbmVzV2l0aFJvbGUgPSBwcm9wcy52YWxpZGF0aW9uSG9zdGVkWm9uZXMuZmlsdGVyKCh6b25lKSA9PiB6b25lLnZhbGlkYXRpb25Sb2xlICE9PSB1bmRlZmluZWQpXG4gICAgY29uc3QgaG9zdGVkWm9uZXNXaXRob3V0Um9sZSA9IHByb3BzLnZhbGlkYXRpb25Ib3N0ZWRab25lcy5maWx0ZXIoKHpvbmUpID0+IHpvbmUudmFsaWRhdGlvblJvbGUgPT09IHVuZGVmaW5lZClcblxuICAgIGhvc3RlZFpvbmVzV2l0aFJvbGUuZm9yRWFjaCgoem9uZSkgPT4ge1xuICAgICAgcmVxdWVzdG9yRnVuY3Rpb24uYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgIGFjdGlvbnM6IFsnc3RzOkFzc3VtZVJvbGUnXSxcbiAgICAgICAgICByZXNvdXJjZXM6IFt6b25lLnZhbGlkYXRpb25Sb2xlIS5yb2xlQXJuXSxcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICB9KVxuXG4gICAgaG9zdGVkWm9uZXNXaXRob3V0Um9sZS5mb3JFYWNoKCh6b25lKSA9PiB7XG4gICAgICByZXF1ZXN0b3JGdW5jdGlvbi5hZGRUb1JvbGVQb2xpY3koXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbJ3JvdXRlNTM6R2V0Q2hhbmdlJ10sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIGNvbnN0IGRvbWFpbk5hbWVzID0gZG9tYWluc1RvWm9uZXNbem9uZS5ob3N0ZWRab25lLnpvbmVOYW1lXVxuICAgICAgaWYgKGRvbWFpbk5hbWVzICYmIGRvbWFpbk5hbWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmVxdWVzdG9yRnVuY3Rpb24uYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgIGFjdGlvbnM6IFsncm91dGU1MzpDaGFuZ2VSZXNvdXJjZVJlY29yZFNldHMnXSxcbiAgICAgICAgICAgIHJlc291cmNlczogW2Bhcm46YXdzOnJvdXRlNTM6Ojpob3N0ZWR6b25lLyR7dGhpcy5ub3JtYWxpemVIb3N0ZWRab25lSWQoem9uZS5ob3N0ZWRab25lLmhvc3RlZFpvbmVJZCl9YF0sXG4gICAgICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgICAgICdGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzJzoge1xuICAgICAgICAgICAgICAgICdyb3V0ZTUzOkNoYW5nZVJlc291cmNlUmVjb3JkU2V0c1JlY29yZFR5cGVzJzogWydDTkFNRSddLFxuICAgICAgICAgICAgICAgICdyb3V0ZTUzOkNoYW5nZVJlc291cmNlUmVjb3JkU2V0c0FjdGlvbnMnOiBbJ1VQU0VSVCcsICdERUxFVEUnXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgJ0ZvckFsbFZhbHVlczpTdHJpbmdMaWtlJzoge1xuICAgICAgICAgICAgICAgICdyb3V0ZTUzOkNoYW5nZVJlc291cmNlUmVjb3JkU2V0c05vcm1hbGl6ZWRSZWNvcmROYW1lcyc6IGRvbWFpbk5hbWVzLm1hcCgobmFtZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLndpbGRjYXJkRG9tYWluTmFtZShgRG9tYWluV2lsZGNhcmQke3pvbmUuaG9zdGVkWm9uZS5ub2RlLmlkfSR7aW5kZXh9YCwgbmFtZSlcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0pXG5cbiAgICBjb25zdCByZXF1ZXN0b3JQcm92aWRlciA9IG5ldyBjdXN0b21fcmVzb3VyY2VzLlByb3ZpZGVyKHRoaXMsICdSZXF1ZXN0b3JQcm92aWRlcicsIHtcbiAgICAgIG9uRXZlbnRIYW5kbGVyOiByZXF1ZXN0b3JGdW5jdGlvbixcbiAgICB9KVxuXG4gICAgY29uc3QgdmFsaWRhdGlvbkhvc3RlZFpvbmVzID0gcHJvcHMudmFsaWRhdGlvbkhvc3RlZFpvbmVzLm1hcDxbc3RyaW5nLCBWYWxpZGF0aW9uSG9zdGVkWm9uZVByb3BlcnRpZXNdPigoem9uZSkgPT4ge1xuICAgICAgY29uc3QgcHJvcGVydGllczogVmFsaWRhdGlvbkhvc3RlZFpvbmVQcm9wZXJ0aWVzID0ge1xuICAgICAgICBEb21haW5OYW1lOiB0aGlzLm5vcm1hbGl6ZURvbWFpbk5hbWUoem9uZS5ob3N0ZWRab25lLnpvbmVOYW1lKSxcbiAgICAgICAgSG9zdGVkWm9uZUlkOiB0aGlzLm5vcm1hbGl6ZUhvc3RlZFpvbmVJZCh6b25lLmhvc3RlZFpvbmUuaG9zdGVkWm9uZUlkKSxcbiAgICAgICAgVmFsaWRhdGlvblJvbGVBcm46IHpvbmUudmFsaWRhdGlvblJvbGU/LnJvbGVBcm4sXG4gICAgICAgIFZhbGlkYXRpb25FeHRlcm5hbElkOiB6b25lLnZhbGlkYXRpb25FeHRlcm5hbElkLFxuICAgICAgfVxuICAgICAgcmV0dXJuIFtwcm9wZXJ0aWVzLkRvbWFpbk5hbWUsIHByb3BlcnRpZXNdXG4gICAgfSlcblxuICAgIGNvbnN0IHByb3BlcnRpZXM6IFByb3BlcnRpZXMgPSB7XG4gICAgICBEb21haW5OYW1lOiBkb21haW5OYW1lLFxuICAgICAgQWx0ZXJuYXRpdmVEb21haW5OYW1lczogYWx0ZXJuYXRpdmVEb21haW5OYW1lcyxcbiAgICAgIFZhbGlkYXRpb25Ib3N0ZWRab25lczogT2JqZWN0LmZyb21FbnRyaWVzKHZhbGlkYXRpb25Ib3N0ZWRab25lcyksXG4gICAgICBDZXJ0aWZpY2F0ZVJlZ2lvbjogdGhpcy5jZXJ0aWZpY2F0ZVJlZ2lvbixcbiAgICAgIENsZWFudXBWYWxpZGF0aW9uUmVjb3JkczogYm9vbGVhblRvU3RyaW5nKHByb3BzLmNsZWFudXBWYWxpZGF0aW9uUmVjb3JkcyA/PyB0cnVlKSxcbiAgICAgIFRyYW5zcGFyZW5jeUxvZ2dpbmdFbmFibGVkOiBib29sZWFuVG9TdHJpbmcocHJvcHMudHJhbnNwYXJlbmN5TG9nZ2luZ0VuYWJsZWQgPz8gdHJ1ZSksXG4gICAgICBUYWdzOiBjZGsuTGF6eS5hbnkoeyBwcm9kdWNlOiAoKSA9PiB0aGlzLnRhZ3MucmVuZGVyVGFncygpIH0pIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgICAgIFJlbW92YWxQb2xpY3k6IGNkay5MYXp5LnN0cmluZyh7IHByb2R1Y2U6ICgpID0+IHRoaXMucmVtb3ZhbFBvbGljeSB9KSxcbiAgICB9XG5cbiAgICBjb25zdCBjZXJ0aWZpY2F0ZSA9IG5ldyBjZGsuQ3VzdG9tUmVzb3VyY2UodGhpcywgJ1JlcXVlc3RvclJlc291cmNlJywge1xuICAgICAgc2VydmljZVRva2VuOiByZXF1ZXN0b3JQcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICByZXNvdXJjZVR5cGU6IEROU19WQUxJREFURURfQ0VSVElGSUNBVEVfVFlQRSxcbiAgICAgIHByb3BlcnRpZXMsXG4gICAgfSlcblxuICAgIHRoaXMuY2VydGlmaWNhdGVBcm4gPSBjZXJ0aWZpY2F0ZS5nZXRBdHRTdHJpbmcoJ0FybicpXG5cbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih7XG4gICAgICB2YWxpZGF0ZTogKCkgPT5cbiAgICAgICAgdGhpcy52YWxpZGF0ZURvbWFpbnNUb0hvc3RlZFpvbmVzKFxuICAgICAgICAgIGFsbERvbWFpbnMsXG4gICAgICAgICAgdmFsaWRhdGlvbkhvc3RlZFpvbmVzLm1hcCgoW3pvbmVOYW1lLCBfXSkgPT4gem9uZU5hbWUpXG4gICAgICAgICksXG4gICAgfSlcbiAgfVxuXG4gIG1ldHJpY0RheXNUb0V4cGlyeShwcm9wcz86IGNkay5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIHwgdW5kZWZpbmVkKTogY2RrLmF3c19jbG91ZHdhdGNoLk1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBwZXJpb2Q6IGNkay5EdXJhdGlvbi5kYXlzKDEpLFxuICAgICAgLi4ucHJvcHMsXG4gICAgICBkaW1lbnNpb25zTWFwOiB7IENlcnRpZmljYXRlQXJuOiB0aGlzLmNlcnRpZmljYXRlQXJuIH0sXG4gICAgICBtZXRyaWNOYW1lOiAnRGF5c1RvRXhwaXJ5JyxcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9DZXJ0aWZpY2F0ZU1hbmFnZXInLFxuICAgICAgcmVnaW9uOiB0aGlzLmNlcnRpZmljYXRlUmVnaW9uLFxuICAgICAgc3RhdGlzdGljOiBjbG91ZHdhdGNoLlN0YXRzLk1JTklNVU0sXG4gICAgfSlcbiAgfVxuXG4gIGFwcGx5UmVtb3ZhbFBvbGljeShwb2xpY3k6IGNkay5SZW1vdmFsUG9saWN5KTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmFsUG9saWN5ID0gcG9saWN5XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZURvbWFpbk5hbWUoZG9tYWluTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoY2RrLlRva2VuLmlzVW5yZXNvbHZlZChkb21haW5OYW1lKSkge1xuICAgICAgcmV0dXJuIGRvbWFpbk5hbWVcbiAgICB9XG4gICAgcmV0dXJuIGNsZWFuRG9tYWluTmFtZShkb21haW5OYW1lKVxuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVIb3N0ZWRab25lSWQoaG9zdGVkWm9uZUlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChjZGsuVG9rZW4uaXNVbnJlc29sdmVkKGhvc3RlZFpvbmVJZCkpIHtcbiAgICAgIHJldHVybiBob3N0ZWRab25lSWRcbiAgICB9XG4gICAgcmV0dXJuIGNsZWFuSG9zdGVkWm9uZUlkKGhvc3RlZFpvbmVJZClcbiAgfVxuXG4gIHByaXZhdGUgd2lsZGNhcmREb21haW5OYW1lKGlkOiBzdHJpbmcsIGRvbWFpbk5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFydHMgPSBjZGsuRm4uc3BsaXQoJy4nLCBkb21haW5OYW1lKVxuICAgIGNvbnN0IGZpcnN0ID0gY2RrLkZuLnNlbGVjdCgwLCBwYXJ0cylcbiAgICBjb25zdCBpc1dpbGRjYXJkID0gbmV3IGNkay5DZm5Db25kaXRpb24odGhpcywgYElzJHtpZH1gLCB7XG4gICAgICBleHByZXNzaW9uOiBjZGsuRm4uY29uZGl0aW9uRXF1YWxzKGZpcnN0LCAnKicpLFxuICAgIH0pXG4gICAgcmV0dXJuIGNkay5Gbi5jb25kaXRpb25JZihpc1dpbGRjYXJkLmxvZ2ljYWxJZCwgZG9tYWluTmFtZSwgYCouJHtkb21haW5OYW1lfWApLnRvU3RyaW5nKClcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVEb21haW5zVG9Ib3N0ZWRab25lcyhkb21haW5OYW1lczogc3RyaW5nW10sIHpvbmVOYW1lczogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdXG4gICAgZm9yIChjb25zdCBkb21haW5OYW1lIG9mIGRvbWFpbk5hbWVzKSB7XG4gICAgICBjb25zdCByZXNvbHZhYmxlRG9tYWluTmFtZSA9ICFjZGsuVG9rZW4uaXNVbnJlc29sdmVkKGRvbWFpbk5hbWUpXG4gICAgICBjb25zdCByZXNvbHZhYmxlWm9uZU5hbWVzID0gIXpvbmVOYW1lcy5zb21lKCh6b25lTmFtZSkgPT4gY2RrLlRva2VuLmlzVW5yZXNvbHZlZCh6b25lTmFtZSkpXG4gICAgICBpZiAocmVzb2x2YWJsZURvbWFpbk5hbWUgJiYgcmVzb2x2YWJsZVpvbmVOYW1lcyAmJiAhem9uZU5hbWVzLnNvbWUoKHpvbmVOYW1lKSA9PiBkb21haW5OYW1lLmVuZHNXaXRoKHpvbmVOYW1lKSkpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goYERvbWFpbiAke2RvbWFpbk5hbWV9IGlzIG5vdCBwcm92aWRlZCB3aXRoIGF1dGhvcml0YXRpdmUgaG9zdGVkIHpvbmVgKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZXJyb3JzXG4gIH1cbn1cbiJdfQ==
package/lib/utils.js CHANGED
@@ -94,4 +94,4 @@ const tryFor = async (maxSeconds, timeoutError, fn) => {
94
94
  }
95
95
  };
96
96
  exports.tryFor = tryFor;
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQU8sTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFBekUsUUFBQSxLQUFLLFNBQW9FO0FBRS9FLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBYyxFQUFVLEVBQUU7SUFDeEQsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBO0FBQ2pDLENBQUMsQ0FBQTtBQUZZLFFBQUEsZUFBZSxtQkFFM0I7QUFFTSxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQWEsRUFBVyxFQUFFO0lBQ3hELE9BQU8sS0FBSyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7QUFDeEMsQ0FBQyxDQUFBO0FBRlksUUFBQSxlQUFlLG1CQUUzQjtBQUVNLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBYSxFQUFVLEVBQUU7SUFDdEQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDNUMsQ0FBQyxDQUFBO0FBRlksUUFBQSxjQUFjLGtCQUUxQjtBQUVNLE1BQU0sWUFBWSxHQUFHLENBQUksTUFBVyxFQUFFLE1BQVcsRUFBVyxFQUFFO0lBQ25FLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsTUFBTTtRQUFFLE9BQU8sS0FBSyxDQUFBO0lBQ2pELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQ2xE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QUFBO0lBQ0QsT0FBTyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQy9DLENBQUMsQ0FBQTtBQTNCWSxRQUFBLGlCQUFpQixxQkEyQjdCO0FBRU0sTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUFLLFVBQWtCLEVBQUUsWUFBb0IsRUFBRSxFQUEyQixFQUFjLEVBQUU7SUFDbkgsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBQzVCLGlEQUFpRDtJQUNqRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDekIsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxHQUFHLFVBQVUsR0FBRyxJQUFJLEVBQUU7WUFDOUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQTtTQUM5QjtRQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sRUFBRSxFQUFFLENBQUE7UUFDekIsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ25CLE9BQU8sTUFBTSxDQUFBO1NBQ2Q7UUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUMzQixNQUFNLElBQUEsYUFBSyxFQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQTtLQUNwRDtBQUNILENBQUMsQ0FBQTtBQWRZLFFBQUEsTUFBTSxVQWNsQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBzbGVlcCA9IChtczogbnVtYmVyKSA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpXG5cbmV4cG9ydCBjb25zdCBib29sZWFuVG9TdHJpbmcgPSAodmFsdWU6IGJvb2xlYW4pOiBzdHJpbmcgPT4ge1xuICByZXR1cm4gdmFsdWUgPyAndHJ1ZScgOiAnZmFsc2UnXG59XG5cbmV4cG9ydCBjb25zdCBzdHJpbmdUb0Jvb2xlYW4gPSAodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICByZXR1cm4gdmFsdWUgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZVxufVxuXG5leHBvcnQgY29uc3Qgb2JqZWN0VG9TdHJpbmcgPSAodmFsdWU6IG9iamVjdCk6IHN0cmluZyA9PiB7XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSwgdW5kZWZpbmVkLCAyKVxufVxuXG5leHBvcnQgY29uc3QgY29udGFpbnNTYW1lID0gPFQ+KGFycmF5MTogVFtdLCBhcnJheTI6IFRbXSk6IGJvb2xlYW4gPT4ge1xuICBpZiAoYXJyYXkxLmxlbmd0aCAhPT0gYXJyYXkyLmxlbmd0aCkgcmV0dXJuIGZhbHNlXG4gIHJldHVybiBhcnJheTEuZXZlcnkoKHYxKSA9PiBhcnJheTIuaW5jbHVkZXModjEpKVxufVxuXG5leHBvcnQgY29uc3Qgb3JkZXJCeVNpZ25pZmljYW5jZSA9IChkb21haW5zOiBzdHJpbmdbXSk6IHN0cmluZ1tdID0+IHtcbiAgY29uc3QgY29weSA9IFsuLi5kb21haW5zXVxuICBjb3B5LnNvcnQoKGEsIGIpID0+IHtcbiAgICBjb25zdCBhYyA9IGNsZWFuRG9tYWluTmFtZShhKS5zcGxpdCgnLicpLmxlbmd0aFxuICAgIGNvbnN0IGJjID0gY2xlYW5Eb21haW5OYW1lKGIpLnNwbGl0KCcuJykubGVuZ3RoXG4gICAgaWYgKGFjID4gYmMpIHtcbiAgICAgIHJldHVybiAtMVxuICAgIH1cbiAgICBpZiAoYWMgPCBiYykge1xuICAgICAgcmV0dXJuIDFcbiAgICB9XG4gICAgcmV0dXJuIDBcbiAgfSlcbiAgcmV0dXJuIGNvcHlcbn1cblxuZXhwb3J0IGNvbnN0IGNsZWFuRG9tYWluTmFtZSA9IChkb21haW5OYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBpZiAoZG9tYWluTmFtZS5lbmRzV2l0aCgnLicpKSB7XG4gICAgcmV0dXJuIGRvbWFpbk5hbWUuc2xpY2UoMCwgLTEpXG4gIH1cbiAgcmV0dXJuIGRvbWFpbk5hbWVcbn1cblxuZXhwb3J0IGNvbnN0IGNsZWFuSG9zdGVkWm9uZUlkID0gKGhvc3RlZFpvbmVJZDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIGhvc3RlZFpvbmVJZC5yZXBsYWNlKC9eXFwvaG9zdGVkem9uZVxcLy8sICcnKVxufVxuXG5leHBvcnQgY29uc3QgY2xlYW5DaGFuZ2VJZCA9IChjaGFuZ2VJZDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIGNoYW5nZUlkLnJlcGxhY2UoJy9jaGFuZ2UvJywgJycpXG59XG5cbmV4cG9ydCBjb25zdCBtYXRjaE5hbWVzVG9ab25lcyA9IDxUPihcbiAgem9uZU5hbWVzOiBzdHJpbmdbXSxcbiAgcmVjb3JkczogVFtdLFxuICBuYW1lOiAocmVjb3JkOiBUKSA9PiBzdHJpbmdcbik6IFJlY29yZDxzdHJpbmcsIFRbXT4gPT4ge1xuICBjb25zdCBvcmRlcmVkWm9uZU5hbWVzID0gb3JkZXJCeVNpZ25pZmljYW5jZSh6b25lTmFtZXMpXG4gIGNvbnN0IG1hdGNoZXIgPSAoem9uZXM6IHN0cmluZ1tdLCBpdGVtczogVFtdLCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFRbXT4pOiBSZWNvcmQ8c3RyaW5nLCBUW10+ID0+IHtcbiAgICBjb25zdCBbZmlyc3Rab25lLCAuLi5yZXN0Wm9uZXNdID0gem9uZXNcbiAgICBpZiAoIWZpcnN0Wm9uZSkge1xuICAgICAgcmV0dXJuIHJlc3VsdFxuICAgIH1cbiAgICBjb25zdCBtYXRjaGluZ0l0ZW1zOiBUW10gPSBbXVxuICAgIGNvbnN0IHVubWF0Y2hpbmdJdGVtczogVFtdID0gW11cbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRSZWNvcmROYW1lID0gY2xlYW5Eb21haW5OYW1lKG5hbWUoaXRlbSkpXG4gICAgICBpZiAobm9ybWFsaXplZFJlY29yZE5hbWUuZW5kc1dpdGgoY2xlYW5Eb21haW5OYW1lKGZpcnN0Wm9uZSkpKSB7XG4gICAgICAgIG1hdGNoaW5nSXRlbXMucHVzaChpdGVtKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdW5tYXRjaGluZ0l0ZW1zLnB1c2goaXRlbSlcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1hdGNoZXIocmVzdFpvbmVzLCB1bm1hdGNoaW5nSXRlbXMsIHtcbiAgICAgIC4uLnJlc3VsdCxcbiAgICAgIFtmaXJzdFpvbmVdOiBtYXRjaGluZ0l0ZW1zLFxuICAgIH0pXG4gIH1cbiAgcmV0dXJuIG1hdGNoZXIob3JkZXJlZFpvbmVOYW1lcywgcmVjb3Jkcywge30pXG59XG5cbmV4cG9ydCBjb25zdCB0cnlGb3IgPSBhc3luYyA8VD4obWF4U2Vjb25kczogbnVtYmVyLCB0aW1lb3V0RXJyb3I6IHN0cmluZywgZm46ICgpID0+IFByb21pc2U8VCB8IG51bGw+KTogUHJvbWlzZTxUPiA9PiB7XG4gIGNvbnN0IHN0YXJ0VGltZSA9IERhdGUubm93KClcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnN0YW50LWNvbmRpdGlvblxuICBmb3IgKGxldCBpID0gMDsgdHJ1ZTsgaSsrKSB7XG4gICAgaWYgKERhdGUubm93KCkgPiBzdGFydFRpbWUgKyBtYXhTZWNvbmRzICogMTAwMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRpbWVvdXRFcnJvcilcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZm4oKVxuICAgIGlmIChyZXN1bHQgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiByZXN1bHRcbiAgICB9XG4gICAgY29uc3QgYmFzZSA9IE1hdGgucG93KDIsIGkpXG4gICAgYXdhaXQgc2xlZXAoTWF0aC5yYW5kb20oKSAqIGJhc2UgKiA1MCArIGJhc2UgKiAxNTApXG4gIH1cbn1cbiJdfQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQU8sTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFBekUsUUFBQSxLQUFLLFNBQW9FO0FBRS9FLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBYyxFQUFVLEVBQUU7SUFDeEQsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBO0FBQ2pDLENBQUMsQ0FBQTtBQUZZLFFBQUEsZUFBZSxtQkFFM0I7QUFFTSxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQWEsRUFBVyxFQUFFO0lBQ3hELE9BQU8sS0FBSyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7QUFDeEMsQ0FBQyxDQUFBO0FBRlksUUFBQSxlQUFlLG1CQUUzQjtBQUVNLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBYSxFQUFVLEVBQUU7SUFDdEQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDNUMsQ0FBQyxDQUFBO0FBRlksUUFBQSxjQUFjLGtCQUUxQjtBQUVNLE1BQU0sWUFBWSxHQUFHLENBQUksTUFBVyxFQUFFLE1BQVcsRUFBVyxFQUFFO0lBQ25FLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsTUFBTTtRQUFFLE9BQU8sS0FBSyxDQUFBO0lBQ2pELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQ2xE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ekMsR0FBRyxNQUFNO1lBQ1QsQ0FBQyxTQUFTLENBQUMsRUFBRSxhQUFhO1NBQzNCLENBQUMsQ0FBQTtJQUNKLENBQUMsQ0FBQTtJQUNELE9BQU8sT0FBTyxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUMvQyxDQUFDLENBQUE7QUEzQlksUUFBQSxpQkFBaUIscUJBMkI3QjtBQUVNLE1BQU0sTUFBTSxHQUFHLEtBQUssRUFBSyxVQUFrQixFQUFFLFlBQW9CLEVBQUUsRUFBMkIsRUFBYyxFQUFFO0lBQ25ILE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQTtJQUM1QixpREFBaUQ7SUFDakQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxHQUFHLFVBQVUsR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUMvQyxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQy9CLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxNQUFNLEVBQUUsRUFBRSxDQUFBO1FBQ3pCLElBQUksTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3BCLE9BQU8sTUFBTSxDQUFBO1FBQ2YsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQzNCLE1BQU0sSUFBQSxhQUFLLEVBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFBO0lBQ3JELENBQUM7QUFDSCxDQUFDLENBQUE7QUFkWSxRQUFBLE1BQU0sVUFjbEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3Qgc2xlZXAgPSAobXM6IG51bWJlcikgPT4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpKVxuXG5leHBvcnQgY29uc3QgYm9vbGVhblRvU3RyaW5nID0gKHZhbHVlOiBib29sZWFuKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIHZhbHVlID8gJ3RydWUnIDogJ2ZhbHNlJ1xufVxuXG5leHBvcnQgY29uc3Qgc3RyaW5nVG9Cb29sZWFuID0gKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgcmV0dXJuIHZhbHVlID09PSAndHJ1ZScgPyB0cnVlIDogZmFsc2Vcbn1cblxuZXhwb3J0IGNvbnN0IG9iamVjdFRvU3RyaW5nID0gKHZhbHVlOiBvYmplY3QpOiBzdHJpbmcgPT4ge1xuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUsIHVuZGVmaW5lZCwgMilcbn1cblxuZXhwb3J0IGNvbnN0IGNvbnRhaW5zU2FtZSA9IDxUPihhcnJheTE6IFRbXSwgYXJyYXkyOiBUW10pOiBib29sZWFuID0+IHtcbiAgaWYgKGFycmF5MS5sZW5ndGggIT09IGFycmF5Mi5sZW5ndGgpIHJldHVybiBmYWxzZVxuICByZXR1cm4gYXJyYXkxLmV2ZXJ5KCh2MSkgPT4gYXJyYXkyLmluY2x1ZGVzKHYxKSlcbn1cblxuZXhwb3J0IGNvbnN0IG9yZGVyQnlTaWduaWZpY2FuY2UgPSAoZG9tYWluczogc3RyaW5nW10pOiBzdHJpbmdbXSA9PiB7XG4gIGNvbnN0IGNvcHkgPSBbLi4uZG9tYWluc11cbiAgY29weS5zb3J0KChhLCBiKSA9PiB7XG4gICAgY29uc3QgYWMgPSBjbGVhbkRvbWFpbk5hbWUoYSkuc3BsaXQoJy4nKS5sZW5ndGhcbiAgICBjb25zdCBiYyA9IGNsZWFuRG9tYWluTmFtZShiKS5zcGxpdCgnLicpLmxlbmd0aFxuICAgIGlmIChhYyA+IGJjKSB7XG4gICAgICByZXR1cm4gLTFcbiAgICB9XG4gICAgaWYgKGFjIDwgYmMpIHtcbiAgICAgIHJldHVybiAxXG4gICAgfVxuICAgIHJldHVybiAwXG4gIH0pXG4gIHJldHVybiBjb3B5XG59XG5cbmV4cG9ydCBjb25zdCBjbGVhbkRvbWFpbk5hbWUgPSAoZG9tYWluTmFtZTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgaWYgKGRvbWFpbk5hbWUuZW5kc1dpdGgoJy4nKSkge1xuICAgIHJldHVybiBkb21haW5OYW1lLnNsaWNlKDAsIC0xKVxuICB9XG4gIHJldHVybiBkb21haW5OYW1lXG59XG5cbmV4cG9ydCBjb25zdCBjbGVhbkhvc3RlZFpvbmVJZCA9IChob3N0ZWRab25lSWQ6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIHJldHVybiBob3N0ZWRab25lSWQucmVwbGFjZSgvXlxcL2hvc3RlZHpvbmVcXC8vLCAnJylcbn1cblxuZXhwb3J0IGNvbnN0IGNsZWFuQ2hhbmdlSWQgPSAoY2hhbmdlSWQ6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIHJldHVybiBjaGFuZ2VJZC5yZXBsYWNlKCcvY2hhbmdlLycsICcnKVxufVxuXG5leHBvcnQgY29uc3QgbWF0Y2hOYW1lc1RvWm9uZXMgPSA8VD4oXG4gIHpvbmVOYW1lczogc3RyaW5nW10sXG4gIHJlY29yZHM6IFRbXSxcbiAgbmFtZTogKHJlY29yZDogVCkgPT4gc3RyaW5nXG4pOiBSZWNvcmQ8c3RyaW5nLCBUW10+ID0+IHtcbiAgY29uc3Qgb3JkZXJlZFpvbmVOYW1lcyA9IG9yZGVyQnlTaWduaWZpY2FuY2Uoem9uZU5hbWVzKVxuICBjb25zdCBtYXRjaGVyID0gKHpvbmVzOiBzdHJpbmdbXSwgaXRlbXM6IFRbXSwgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBUW10+KTogUmVjb3JkPHN0cmluZywgVFtdPiA9PiB7XG4gICAgY29uc3QgW2ZpcnN0Wm9uZSwgLi4ucmVzdFpvbmVzXSA9IHpvbmVzXG4gICAgaWYgKCFmaXJzdFpvbmUpIHtcbiAgICAgIHJldHVybiByZXN1bHRcbiAgICB9XG4gICAgY29uc3QgbWF0Y2hpbmdJdGVtczogVFtdID0gW11cbiAgICBjb25zdCB1bm1hdGNoaW5nSXRlbXM6IFRbXSA9IFtdXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICBjb25zdCBub3JtYWxpemVkUmVjb3JkTmFtZSA9IGNsZWFuRG9tYWluTmFtZShuYW1lKGl0ZW0pKVxuICAgICAgaWYgKG5vcm1hbGl6ZWRSZWNvcmROYW1lLmVuZHNXaXRoKGNsZWFuRG9tYWluTmFtZShmaXJzdFpvbmUpKSkge1xuICAgICAgICBtYXRjaGluZ0l0ZW1zLnB1c2goaXRlbSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVubWF0Y2hpbmdJdGVtcy5wdXNoKGl0ZW0pXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtYXRjaGVyKHJlc3Rab25lcywgdW5tYXRjaGluZ0l0ZW1zLCB7XG4gICAgICAuLi5yZXN1bHQsXG4gICAgICBbZmlyc3Rab25lXTogbWF0Y2hpbmdJdGVtcyxcbiAgICB9KVxuICB9XG4gIHJldHVybiBtYXRjaGVyKG9yZGVyZWRab25lTmFtZXMsIHJlY29yZHMsIHt9KVxufVxuXG5leHBvcnQgY29uc3QgdHJ5Rm9yID0gYXN5bmMgPFQ+KG1heFNlY29uZHM6IG51bWJlciwgdGltZW91dEVycm9yOiBzdHJpbmcsIGZuOiAoKSA9PiBQcm9taXNlPFQgfCBudWxsPik6IFByb21pc2U8VD4gPT4ge1xuICBjb25zdCBzdGFydFRpbWUgPSBEYXRlLm5vdygpXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zdGFudC1jb25kaXRpb25cbiAgZm9yIChsZXQgaSA9IDA7IHRydWU7IGkrKykge1xuICAgIGlmIChEYXRlLm5vdygpID4gc3RhcnRUaW1lICsgbWF4U2Vjb25kcyAqIDEwMDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0aW1lb3V0RXJyb3IpXG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZuKClcbiAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gcmVzdWx0XG4gICAgfVxuICAgIGNvbnN0IGJhc2UgPSBNYXRoLnBvdygyLCBpKVxuICAgIGF3YWl0IHNsZWVwKE1hdGgucmFuZG9tKCkgKiBiYXNlICogNTAgKyBiYXNlICogMTUwKVxuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -58,11 +58,11 @@
58
58
  "eslint-plugin-prettier": "^4.2.1",
59
59
  "jest": "^29.7.0",
60
60
  "jest-junit": "^15",
61
- "jsii": "~5.0.0",
61
+ "jsii": "~5.4.0",
62
62
  "jsii-diff": "^1.97.0",
63
63
  "jsii-docgen": "^8.0.56",
64
64
  "jsii-pacmak": "^1.97.0",
65
- "jsii-rosetta": "~5.0.0",
65
+ "jsii-rosetta": "~5.4.0",
66
66
  "prettier": "^2.8.8",
67
67
  "projen": "^0.81.4",
68
68
  "standard-version": "^9",
@@ -87,11 +87,11 @@
87
87
  "publishConfig": {
88
88
  "access": "public"
89
89
  },
90
- "version": "0.1.2",
90
+ "version": "0.1.4",
91
91
  "jest": {
92
92
  "testMatch": [
93
93
  "<rootDir>/src/**/__tests__/**/*.ts?(x)",
94
- "<rootDir>/(test|src)/**/*(*.)@(spec|test).ts?(x)"
94
+ "<rootDir>/@(test|src)/**/*(*.)@(spec|test).ts?(x)"
95
95
  ],
96
96
  "clearMocks": true,
97
97
  "collectCoverage": true,