truemark-cdk-lib 1.21.0-beta.1765347306 → 1.21.0-beta.1766964363
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.
|
@@ -22,6 +22,7 @@ var NodeVersion;
|
|
|
22
22
|
NodeVersion["NODE_18"] = "18";
|
|
23
23
|
NodeVersion["NODE_20"] = "20";
|
|
24
24
|
NodeVersion["NODE_22"] = "22";
|
|
25
|
+
NodeVersion["NODE_24"] = "24";
|
|
25
26
|
})(NodeVersion || (exports.NodeVersion = NodeVersion = {}));
|
|
26
27
|
/**
|
|
27
28
|
* Go runtimes supported by CodeBuild
|
|
@@ -210,7 +211,7 @@ class CdkPipeline extends constructs_1.Construct {
|
|
|
210
211
|
phases: {
|
|
211
212
|
install: {
|
|
212
213
|
'runtime-versions': {
|
|
213
|
-
nodejs: (_q = props.nodeVersion) !== null && _q !== void 0 ? _q : NodeVersion.
|
|
214
|
+
nodejs: (_q = props.nodeVersion) !== null && _q !== void 0 ? _q : NodeVersion.NODE_24,
|
|
214
215
|
go: props.goVersion,
|
|
215
216
|
java: props.javaVersion,
|
|
216
217
|
dotnet: props.dotnetVersion,
|
|
@@ -295,4 +296,4 @@ class CdkPipeline extends constructs_1.Construct {
|
|
|
295
296
|
}
|
|
296
297
|
}
|
|
297
298
|
exports.CdkPipeline = CdkPipeline;
|
|
298
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXBpcGVsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXBpcGVsaW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFxQztBQUNyQyxtRUFJc0M7QUFDdEMsaURBQXdDO0FBQ3hDLHVEQUFpRDtBQUNqRCxxREFTK0I7QUFDL0IsNkRBS21DO0FBQ25DLDZFQUFzRTtBQUN0RSw2Q0FBOEM7QUFDOUMsK0RBQXNEO0FBQ3RELG1DQUEyQztBQUMzQyxpREFBNEQ7QUFJNUQ7OztHQUdHO0FBQ0gsSUFBWSxXQUtYO0FBTEQsV0FBWSxXQUFXO0lBQ3JCLDZCQUFjLENBQUE7SUFDZCw2QkFBYyxDQUFBO0lBQ2QsNkJBQWMsQ0FBQTtJQUNkLDZCQUFjLENBQUE7QUFDaEIsQ0FBQyxFQUxXLFdBQVcsMkJBQVgsV0FBVyxRQUt0QjtBQUVEOzs7R0FHRztBQUNILElBQVksU0FhWDtBQWJELFdBQVksU0FBUztJQUNuQiw2QkFBZ0IsQ0FBQTtJQUNoQiw2QkFBZ0IsQ0FBQTtJQUNoQiw2QkFBZ0IsQ0FBQTtJQUNoQiw2QkFBZ0IsQ0FBQTtJQUNoQiw2QkFBZ0IsQ0FBQTtJQUNoQiw2QkFBZ0IsQ0FBQTtJQUNoQiw2QkFBZ0IsQ0FBQTtJQUNoQiw2QkFBZ0IsQ0FBQTtJQUNoQiw2QkFBZ0IsQ0FBQTtJQUNoQiw2QkFBZ0IsQ0FBQTtJQUNoQiw2QkFBZ0IsQ0FBQTtJQUNoQiw2QkFBZ0IsQ0FBQTtBQUNsQixDQUFDLEVBYlcsU0FBUyx5QkFBVCxTQUFTLFFBYXBCO0FBRUQ7OztHQUdHO0FBQ0gsSUFBWSxXQUtYO0FBTEQsV0FBWSxXQUFXO0lBQ3JCLG1DQUFvQixDQUFBO0lBQ3BCLHFDQUFzQixDQUFBO0lBQ3RCLHFDQUFzQixDQUFBO0lBQ3RCLHFDQUFzQixDQUFBO0FBQ3hCLENBQUMsRUFMVyxXQUFXLDJCQUFYLFdBQVcsUUFLdEI7QUFFRDs7O0dBR0c7QUFDSCxJQUFZLGFBS1g7QUFMRCxXQUFZLGFBQWE7SUFDdkIsbUNBQWtC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QUNoRSxDQUFDO2lCQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLENBQ3JELG1CQUFtQixFQUNuQixLQUFLLENBQUMsb0JBQW9CLENBQzNCLENBQUM7Z0JBQ0YsS0FBSyxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWSxFQUFFLE9BQXNCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxPQUFPLENBQUMsRUFBVSxFQUFFLE9BQXFCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDRjtBQW5RRCxrQ0FtUUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnN0cnVjdH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQge1xuICBDZm5QaXBlbGluZSxcbiAgUGlwZWxpbmUsXG4gIFBpcGVsaW5lVHlwZSxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZSc7XG5pbXBvcnQge0tleX0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWttcyc7XG5pbXBvcnQge0FydGlmYWN0QnVja2V0fSBmcm9tICcuL2FydGlmYWN0LWJ1Y2tldCc7XG5pbXBvcnQge1xuICBBZGRTdGFnZU9wdHMsXG4gIENvZGVQaXBlbGluZSxcbiAgQ29kZVBpcGVsaW5lU291cmNlLFxuICBJRmlsZVNldFByb2R1Y2VyLFxuICBTaGVsbFN0ZXAsXG4gIFN0YWdlRGVwbG95bWVudCxcbiAgV2F2ZSxcbiAgV2F2ZU9wdGlvbnMsXG59IGZyb20gJ2F3cy1jZGstbGliL3BpcGVsaW5lcyc7XG5pbXBvcnQge1xuICBCdWlsZFNwZWMsXG4gIENvbXB1dGVUeXBlLFxuICBJQnVpbGRJbWFnZSxcbiAgTGludXhCdWlsZEltYWdlLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCB7UGlwZWxpbmVOb3RpZmljYXRpb25SdWxlfSBmcm9tICcuL3BpcGVsaW5lLW5vdGlmaWNhdGlvbi1ydWxlJztcbmltcG9ydCB7QXJuLCBTdGFjaywgU3RhZ2V9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7UmVwb3NpdG9yeX0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZGVjb21taXQnO1xuaW1wb3J0IHtOb2RlUGFja2FnZU1hbmFnZXJ9IGZyb20gJy4vZW51bXMnO1xuaW1wb3J0IHtFZmZlY3QsIFBvbGljeVN0YXRlbWVudH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQge0lTbGFja0NoYW5uZWxDb25maWd1cmF0aW9ufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2hhdGJvdCc7XG5pbXBvcnQge0lUb3BpY30gZnJvbSAnYXdzLWNkay1saWIvYXdzLXNucyc7XG5cbi8qKlxuICogTm9kZSBydW50aW1lcyBzdXBwb3J0ZWQgYnkgQ29kZWJCdWlsZFxuICogU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2RlYnVpbGQvbGF0ZXN0L3VzZXJndWlkZS9hdmFpbGFibGUtcnVudGltZXMuaHRtbFxuICovXG5leHBvcnQgZW51bSBOb2RlVmVyc2lvbiB7XG4gIE5PREVfMTYgPSAnMTYnLFxuICBOT0RFXzE4ID0gJzE4JyxcbiAgTk9ERV8yMCA9ICcyMCcsXG4gIE5PREVfMjIgPSAnMjInLFxufVxuXG4vKipcbiAqIEdvIHJ1bnRpbWVzIHN1cHBvcnRlZCBieSBDb2RlQnVpbGRcbiAqIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29kZWJ1aWxkL2xhdGVzdC91c2VyZ3VpZGUvYXZhaWxhYmxlLXJ1bnRpbWVzLmh0bWxcbiAqL1xuZXhwb3J0IGVudW0gR29WZXJzaW9uIHtcbiAgR09fMV8xMiA9ICcxLjEyJyxcbiAgR09fMV8xMyA9ICcxLjEzJyxcbiAgR09fMV8xNCA9ICcxLjE0JyxcbiAgR09fMV8xNSA9ICcxLjE1JyxcbiAgR09fMV8xNiA9ICcxLjE2JyxcbiAgR09fMV8xNyA9ICcxLjE3JyxcbiAgR09fMV8xOCA9ICcxLjE4JyxcbiAgR09fMV8yMCA9ICcxLjIwJyxcbiAgR09fMV8yMSA9ICcxLjIxJyxcbiAgR09fMV8yMiA9ICcxLjIyJyxcbiAgR09fMV8yMyA9ICcxLjIzJyxcbiAgR09fMV8yNCA9ICcxLjI0Jyxcbn1cblxuLyoqXG4gKiBKYXZhIHJ1bnRpbWVzIHN1cHBvcnRlZCBieSBDb2RlQnVpbGRcbiAqIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29kZWJ1aWxkL2xhdGVzdC91c2VyZ3VpZGUvYXZhaWxhYmxlLXJ1bnRpbWVzLmh0bWxcbiAqL1xuZXhwb3J0IGVudW0gSmF2YVZlcnNpb24ge1xuICBKQVZBXzggPSAnY29ycmV0dG84JyxcbiAgSkFWQV8xMSA9ICdjb3JyZXR0bzExJyxcbiAgSkFWQV8xNiA9ICdjb3JyZXR0bzE3JyxcbiAgSkFWQV8yMSA9ICdjb3JyZXR0bzIxJyxcbn1cblxuLyoqXG4gKiBEb3RuZXQgcnVudGltZXMgc3VwcG9ydGVkIGJ5IENvZGVCdWlsZFxuICogU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2RlYnVpbGQvbGF0ZXN0L3VzZXJndWlkZS9hdmFpbGFibGUtcnVudGltZXMuaHRtbGRvdG5ldFxuICovXG5leHBvcnQgZW51bSBEb3RuZXRWZXJzaW9uIHtcbiAgRE9UTkVUXzNfMSA9ICczLjEnLFxuICBET1RORVRfNV8wID0gJzUuMCcsXG4gIERPVE5FVF82XzAgPSAnNi4wJyxcbiAgRE9UTkVUXzhfMCA9ICc4LjAnLFxufVxuXG5leHBvcnQgZW51bSBQeXRob25WZXJzaW9uIHtcbiAgUFlUSE9OXzNfNyA9ICczLjcnLFxuICBQWVRIT05fM184ID0gJzMuOCcsXG4gIFBZVEhPTl8zXzkgPSAnMy45JyxcbiAgUFlUSE9OXzNfMTAgPSAnMy4xMCcsXG4gIFBZVEhPTl8zXzExID0gJzMuMTEnLFxuICBQWVRIT05fM18xMiA9ICczLjEyJyxcbiAgUFlUSE9OXzNfMTMgPSAnMy4xMycsXG59XG5cbmNvbnN0IERPQ0tFUl9CVUlMRFhfU0VUVVBfQ09NTUFORFMgPSBbXG4gIFwiZWNobyAnIyEvYmluL2Jhc2gnID4gL3Vzci9sb2NhbC9iaW4vYnVpbGR4LnNoXCIsXG4gICdlY2hvIFxcJ1tbIFwiJDFcIiA9PSBcImJ1aWxkXCIgXV0gJiYgZG9ja2VyIGJ1aWxkeCBidWlsZCAtLWxvYWQgXCIke0A6Mn1cIiB8fCBkb2NrZXIgXCIkQFwiXFwnID4+IC91c3IvbG9jYWwvYmluL2J1aWxkeC5zaCcsXG4gICdjaG1vZCAreCAvdXNyL2xvY2FsL2Jpbi9idWlsZHguc2gnLFxuICAnZWNobyBcIkFyY2hpdGVjdHVyZTogJCh1bmFtZSAtbSlcIicsXG4gICdkb2NrZXIgYnVpbGR4IGNyZWF0ZSAtLXVzZSAtLW5hbWUgbXVsdGktYXJjaC1idWlsZGVyJyxcbiAgJ2RvY2tlciBidWlsZHggbHMnLFxuXTtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBDZGtQaXBlbGluZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENka1BpcGVsaW5lUHJvcHMge1xuICAvKipcbiAgICogQnkgZGVmYXVsdCwgQ0RLIHdpbGwgbmFtZSB0aGUgcGlwZWxpbmUuIFNldCB0aGlzIHRvIG92ZXJyaWRlIHRoZSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgcGlwZWxpbmVOYW1lPzogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IHBpcGVsaW5lVHlwZT86IFBpcGVsaW5lVHlwZTtcblxuICAvKipcbiAgICogQnkgZGVmYXVsdCwgQ0RLIHdpbGwgY3JlYXRlIEtNUyBrZXlzIGZvciBjcm9zcyBhY2NvdW50IGRlcGxveW1lbnRzLiBUaGlzXG4gICAqIGNhbiBiZSBjb3N0bHkgaWYgeW91IGhhdmUgYSBsYXJnZSBudW1iZXIgb2YgcGlwZWxpbmVzLiBUaGlzIHByb3BlcnR5XG4gICAqIGFsbG93cyBhIGNvbW1vbiBrZXkgdG8gYmUgc2hhcmVkIGFjcm9zcyBwaXBlbGluZXMuXG4gICAqXG4gICAqIFlvdSBtdXN0IGNoYW5nZSBAYXdzLWNkay9hd3MtY29kZXBpcGVsaW5lOmNyb3NzQWNjb3VudEtleXNEZWZhdWx0VmFsdWVUb0ZhbHNlIHRvIGZhbHNlIGluIHlvdXIgY2RrLmpzb25cbiAgICogZmlsZSB0byBhdm9pZCBlcnJvcnMuXG4gICAqL1xuICByZWFkb25seSBrZXlBcm46IHN0cmluZztcblxuICAvKipcbiAgICogTGlzdCBvZiBhY2NvdW50IElEcyB0aGlzIHBpcGVsaW5lIHdpbGwgZGVwbG95IGludG8uXG4gICAqL1xuICByZWFkb25seSBhY2NvdW50SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFybiBvZiB0aGUgQ29kZVN0YXIgY29ubmVjdGlvbiB1c2VkIHRvIGFjY2VzcyB0aGUgc291cmNlIGNvZGUgcmVwb3NpdG9yeS4gSWYgbm90IHNldCwgdGhpc1xuICAgKiBjb25zdHJ1Y3QgYXNzdW1lcyB0aGUgcmVwb3NpdG9yeSBpcyBpbiBBV1MgQ29kZUNvbW1pdC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbm5lY3Rpb25Bcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNvdXJjZSBjb2RlIHJlcG9zaXRvcnkuXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJyYW5jaCB0byB1c2UgaW5zaWRlIHRoZSBzb3VyY2UgY29kZSByZXBvc2l0b3J5LlxuICAgKi9cbiAgcmVhZG9ubHkgYnJhbmNoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIHNlbGYtbXV0YXRpb24uIFVzZWZ1bCBmb3IgY2RrIHBpcGVsaW5lIGRldmVsb3BtZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzZWxmTXV0YXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZG9ja2VyIGZvciB0aGUgJ3N5bnRoJyBzdGVwLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBkb2NrZXJFbmFibGVkRm9yU3ludGg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZG9ja2VyIGZvciB0aGUgc2VsZi1tdXRhdGUgc3RlcC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZG9ja2VyRW5hYmxlZEZvclNlbGZNdXRhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFR5cGUgb2YgY29tcHV0ZSB0byB1c2UgZm9yIHRoaXMgYnVpbGQuIERlZmF1bHQgaXMgQ29tcHV0ZVR5cGUuU01BTEwuXG4gICAqL1xuICByZWFkb25seSBjb21wdXRlVHlwZT86IENvbXB1dGVUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgaW1hZ2UgdG8gdXNlIGZvciBidWlsZHMuIElmIG5vbmUgaXMgc2VsZWN0ZWQgdGhlIGRlZmF1bHQgZGVmaW5lZCBpbiBBV1MgQ0RLIGlzIHVzZWQuXG4gICAqL1xuICByZWFkb25seSBidWlsZEltYWdlPzogSUJ1aWxkSW1hZ2U7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIFNsYWNrIGNoYW5uZWwgY29uZmlndXJhdGlvbiB0byB1c2UgZm9yIG5vdGlmaWNhdGlvbnMuIE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIHNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb24uXG4gICAqL1xuICByZWFkb25seSBzbGFja0NoYW5uZWxDb25maWd1cmF0aW9uQXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgU2xhY2sgY2hhbm5lbCBjb25maWd1cmF0aW9uIHRvIHVzZSBmb3Igbm90aWZpY2F0aW9ucy4gTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFybi5cbiAgICovXG4gIHJlYWRvbmx5IHNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb24/OiBJU2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIFNOUyB0b3BpYyB0byB1c2UgZm9yIG5vdGlmaWNhdGlvbnMuIE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIG5vdGlmaWNhdGlvblRvcGljLlxuICAgKi9cbiAgcmVhZG9ubHkgbm90aWZpY2F0aW9uVG9waWNBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBTTlMgdG9waWMgdG8gdXNlIGZvciBub3RpZmljYXRpb25zLiBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBub3RpZmljYXRpb25Ub3BpY0Fybi5cbiAgICovXG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvblRvcGljPzogSVRvcGljO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBub3RpZmljYXRpb24gZXZlbnRzIHRvIHJlY2VpdmUuRGVmYXVsdCBpcyBERUZBVUxUX0VWRU5UU1xuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9kdGNvbnNvbGUvbGF0ZXN0L3VzZXJndWlkZS9jb25jZXB0cy5odG1sI2V2ZW50cy1yZWYtcGlwZWxpbmVcbiAgICovXG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvbkV2ZW50cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIEZpbGVTZXRzIHRvIHB1dCBpbiBvdGhlciBkaXJlY3Rvcmllc1xuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbElucHV0cz86IFJlY29yZDxzdHJpbmcsIElGaWxlU2V0UHJvZHVjZXI+O1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGNvbW1hbmRzIHRvIHJ1biBiZWZvcmUgaW5zdGFsbC4gSWYgeW91IG92ZXJyaWRlIHRoZSBjb21tYW5kcyBwcm9wZXJ0eSwgdGhpcyBoYXMgbm8gZWZmZWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgcHJlQnVpbGRDb21tYW5kcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBPdmVycmlkZXMgZGVmYXVsdCBjb21tYW5kcy5cbiAgICovXG4gIHJlYWRvbmx5IGNvbW1hbmRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFB1YmxpYyBhc3NldHMgaW4gbXVsdGlwbGUgQ29kZUJ1aWxkIHByb2plY3RzLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaEFzc2V0c0luUGFyYWxsZWw/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQYWNrYWdlIG1hbmFnZXIgdG8gdXNlIHdoZW4gZXhlY3V0aW5nIENESy5cbiAgICpcbiAgICogQGRlZmF1bHQgTm9kZVBhY2thZ2VNYW5hZ2VyLlBOUE1cbiAgICovXG4gIHJlYWRvbmx5IHBhY2thZ2VNYW5hZ2VyPzogTm9kZVBhY2thZ2VNYW5hZ2VyO1xuXG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0b3J5IHRoZSBDREsgcHJvamVjdCBpcyBsb2NhdGVkIGluIHRoZSByZXBvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFwiLlwiXG4gICAqL1xuICByZWFkb25seSBjZGtEaXJlY3Rvcnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBvbGljeSBzdGF0ZW1lbnRzIHRvIGFkZCB0byB0aGUgcm9sZSB1c2VkIGJ5IHN5bnRoLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZVBvbGljeT86IFBvbGljeVN0YXRlbWVudFtdO1xuXG4gIC8qKlxuICAgKiBHcmFudHMgcmVhZCBhY2Nlc3MgdG8gdGhlIHByb3ZpZGVkIEFXUyBDb2RlQXJ0aWZhY3QgZG9tYWlucy5cbiAgICovXG4gIHJlYWRvbmx5IGNvZGVBcnRpZmFjdERvbWFpbnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogR3JhbnRzIHJlYWQgYWNjZXNzIHRvIHRoZSBwcm92aWRlZCBBV1MgQ29kZUFydGlmYWN0IHJlcG9zaXRvcmllcy5cbiAgICovXG4gIHJlYWRvbmx5IGNvZGVBcnRpZmFjdFJlcG9zaXRvcmllcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIE5vZGUgdG8gdXNlIGluIHRoZSBwaXBlbGluZS4gRGVmYXVsdCBpcyBOT0RFXzIwXG4gICAqL1xuICByZWFkb25seSBub2RlVmVyc2lvbj86IE5vZGVWZXJzaW9uIHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIEdvIHRvIGluc3RhbGwuIERlZmF1bHQgaXMgbm9uZS5cbiAgICovXG4gIHJlYWRvbmx5IGdvVmVyc2lvbj86IEdvVmVyc2lvbiB8IHN0cmluZztcblxuICAvKipcbiAgICogVmVyc2lvbiBvZiBKYXZhIHRvIGluc3RhbGwuIERlZmF1bHQgaXMgbm9uZS5cbiAgICovXG4gIHJlYWRvbmx5IGphdmFWZXJzaW9uPzogSmF2YVZlcnNpb24gfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgRG90bmV0IHRvIGluc3RhbGwuIERlZmF1bHQgaXMgbm9uZS5cbiAgICovXG4gIHJlYWRvbmx5IGRvdG5ldFZlcnNpb24/OiBEb3RuZXRWZXJzaW9uIHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIFB5dGhvbiB0byBpbnN0YWxsLiBEZWZhdWx0IGlzIG5vbmUuXG4gICAqL1xuICByZWFkb25seSBweXRob25WZXJzaW9uPzogUHl0aG9uVmVyc2lvbiB8IHN0cmluZztcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBjb21tYW5kcyB0byBydW4gZHVyaW5nIHRoZSBpbnN0YWxsIHBoYXNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbEluc3RhbGxDb21tYW5kcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNsb25lIHRoZSBDb2RlQ29tbWl0IHJlcG9zaXRvcnkgaW50byB0aGUgQ29kZUJ1aWxkIHByb2plY3QuXG4gICAqL1xuICByZWFkb25seSBjb2RlQnVpbGRDbG9uZU91dHB1dD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgdGhlIHVzZSBvZiBcImRvY2tlciBidWlsZHhcIiBpbiB0aGUgYXNzZXQgcHVibGlzaGluZyBzdGVwLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqL1xuICByZWFkb25seSBlbmFibGVEb2NrZXJCdWlsZHhPbkFzc2V0UHVibGlzaD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc2FibGUgYXV0b21hdGljIHRyaWdnZXJpbmcgb24gc291cmNlIGNvZGUgY2hhbmdlcy4gV2hlbiB0cnVlLCB0aGUgcGlwZWxpbmVcbiAgICogbXVzdCBiZSBtYW51YWxseSBzdGFydGVkLiBVc2VmdWwgZm9yIGRldmVsb3BtZW50IGVudmlyb25tZW50cy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2UgKGF1dG8tdHJpZ2dlciBlbmFibGVkKVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZUF1dG9UcmlnZ2VyPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBbiBhYnN0cmFjdGlvbiB0byBlYXNlIENESyBwaXBlbGluZSBjcmVhdGlvbiBhbmQgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIENka1BpcGVsaW5lIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgcGlwZWxpbmU6IENvZGVQaXBlbGluZTtcbiAgcmVhZG9ubHkgcGlwZWxpbmVOb3RpZmljYXRpb25SdWxlPzogUGlwZWxpbmVOb3RpZmljYXRpb25SdWxlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDZGtQaXBlbGluZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGVuY3J5cHRpb25LZXkgPSBLZXkuZnJvbUtleUFybih0aGlzLCAnRW5jcnlwdGlvbktleScsIHByb3BzLmtleUFybik7XG5cbiAgICBjb25zdCBhcnRpZmFjdEJ1Y2tldCA9IG5ldyBBcnRpZmFjdEJ1Y2tldCh0aGlzLCAnQXJ0aWZhY3RCdWNrZXQnLCB7XG4gICAgICBlbmNyeXB0aW9uS2V5LFxuICAgICAgYWNjb3VudElkczogcHJvcHMuYWNjb3VudElkcyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHVuZGVybHlpbmdQaXBlbGluZSA9IG5ldyBQaXBlbGluZSh0aGlzLCAnUGlwZWxpbmUnLCB7XG4gICAgICBwaXBlbGluZVR5cGU6IHByb3BzLnBpcGVsaW5lVHlwZSA/PyBQaXBlbGluZVR5cGUuVjIsXG4gICAgICBhcnRpZmFjdEJ1Y2tldCxcbiAgICAgIHBpcGVsaW5lTmFtZTogcHJvcHMucGlwZWxpbmVOYW1lLFxuICAgIH0pO1xuXG4gICAgbGV0IGlucHV0OiBDb2RlUGlwZWxpbmVTb3VyY2U7XG4gICAgaWYgKHByb3BzLmNvbm5lY3Rpb25Bcm4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgaW5wdXQgPSBDb2RlUGlwZWxpbmVTb3VyY2UuY29ubmVjdGlvbihwcm9wcy5yZXBvc2l0b3J5LCBwcm9wcy5icmFuY2gsIHtcbiAgICAgICAgY29ubmVjdGlvbkFybjogcHJvcHMuY29ubmVjdGlvbkFybixcbiAgICAgICAgLy8gVXNlZCBwZXIgd29ya2Fyb3VuZCBpbiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzExMzk5I2lzc3VlY29tbWVudC0xMzY3MTgwNjk2XG4gICAgICAgIGNvZGVCdWlsZENsb25lT3V0cHV0OiBwcm9wcy5jb2RlQnVpbGRDbG9uZU91dHB1dCA/PyBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZXBvc2l0b3J5ID0gcHJvcHMucmVwb3NpdG9yeS5zdGFydHNXaXRoKCdhcm46JylcbiAgICAgICAgPyBSZXBvc2l0b3J5LmZyb21SZXBvc2l0b3J5QXJuKHRoaXMsICdSZXBvc2l0b3J5JywgcHJvcHMucmVwb3NpdG9yeSlcbiAgICAgICAgOiBSZXBvc2l0b3J5LmZyb21SZXBvc2l0b3J5TmFtZSh0aGlzLCAnUmVwb3NpdG9yeScsIHByb3BzLnJlcG9zaXRvcnkpO1xuICAgICAgaW5wdXQgPSBDb2RlUGlwZWxpbmVTb3VyY2UuY29kZUNvbW1pdChyZXBvc2l0b3J5LCBwcm9wcy5icmFuY2gsIHtcbiAgICAgICAgLy8gVXNlZCBwZXIgd29ya2Fyb3VuZCBpbiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzExMzk5I2lzc3VlY29tbWVudC0xMzY3MTgwNjk2XG4gICAgICAgIGNvZGVCdWlsZENsb25lT3V0cHV0OiBwcm9wcy5jb2RlQnVpbGRDbG9uZU91dHB1dCA/PyBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YWNrTmFtZSA9IFN0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZTtcbiAgICBjb25zdCBjZGtEaXJlY3RvcnkgPSBwcm9wcy5jZGtEaXJlY3RvcnkgPz8gJy4nO1xuXG4gICAgbGV0IGNvbW1hbmRzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCA9IHByb3BzLmNvbW1hbmRzO1xuICAgIGlmIChcbiAgICAgIGNvbW1hbmRzID09PSB1bmRlZmluZWQgJiZcbiAgICAgIHByb3BzLnBhY2thZ2VNYW5hZ2VyID09PSBOb2RlUGFja2FnZU1hbmFnZXIuUE5QTVxuICAgICkge1xuICAgICAgY29tbWFuZHMgPSBbXG4gICAgICAgIGBjZCAke2Nka0RpcmVjdG9yeSA/PyAnLid9YCxcbiAgICAgICAgJ25wbSAtZyBpIHBucG0nLFxuICAgICAgICAncG5wbSBpIC0tZnJvemVuLWxvY2tmaWxlIC0tcHJlZmVyLW9mZmxpbmUnLFxuICAgICAgICAuLi4ocHJvcHMucHJlQnVpbGRDb21tYW5kcyA/PyBbXSksXG4gICAgICAgICdwbnBtIHJ1biBidWlsZCcsXG4gICAgICAgICdwbnBtIHJ1biB0ZXN0JyxcbiAgICAgICAgYHBucHggY2RrIHN5bnRoICR7c3RhY2tOYW1lfWAsXG4gICAgICBdO1xuICAgIH0gZWxzZSBpZiAoY29tbWFuZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29tbWFuZHMgPSBbXG4gICAgICAgIGBjZCAke2Nka0RpcmVjdG9yeSA/PyAnLid9YCxcbiAgICAgICAgJ25wbSBjaSAtLXByZWZlci1vZmZsaW5lJyxcbiAgICAgICAgLi4uKHByb3BzLnByZUJ1aWxkQ29tbWFuZHMgPz8gW10pLFxuICAgICAgICAnbnBtIHJ1biBidWlsZCcsXG4gICAgICAgICducG0gcnVuIHRlc3QnLFxuICAgICAgICBgbnB4IGNkayBzeW50aCAke3N0YWNrTmFtZX1gLFxuICAgICAgXTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHRoaXMpO1xuXG4gICAgY29uc3QgY29kZUFydGlmYWN0RG9tYWlucyA9IHByb3BzLmNvZGVBcnRpZmFjdERvbWFpbnM/Lm1hcCgoZG9tYWluKSA9PiB7XG4gICAgICByZXR1cm4gZG9tYWluLnN0YXJ0c1dpdGgoJ2Fybjphd3MnKVxuICAgICAgICA/IGRvbWFpblxuICAgICAgICA6IEFybi5mb3JtYXQoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHNlcnZpY2U6ICdjb2RlYXJ0aWZhY3QnLFxuICAgICAgICAgICAgICByZXNvdXJjZTogJ2RvbWFpbicsXG4gICAgICAgICAgICAgIHJlc291cmNlTmFtZTogZG9tYWluLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN0YWNrLFxuICAgICAgICAgICk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBjb2RlQXJ0aWZhY3RSZXBvc2l0b3JpZXMgPSBwcm9wcy5jb2RlQXJ0aWZhY3RSZXBvc2l0b3JpZXM/Lm1hcChcbiAgICAgIChyZXBvc2l0b3J5KSA9PiB7XG4gICAgICAgIHJldHVybiByZXBvc2l0b3J5LnN0YXJ0c1dpdGgoJ2Fybjphd3MnKVxuICAgICAgICAgID8gcmVwb3NpdG9yeVxuICAgICAgICAgIDogQXJuLmZvcm1hdChcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHNlcnZpY2U6ICdjb2RlYXJ0aWZhY3QnLFxuICAgICAgICAgICAgICAgIHJlc291cmNlOiAncmVwb3NpdG9yeScsXG4gICAgICAgICAgICAgICAgcmVzb3VyY2VOYW1lOiByZXBvc2l0b3J5LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBzdGFjayxcbiAgICAgICAgICAgICk7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjb25zdCByb2xlUG9saWN5ID0gcHJvcHMucm9sZVBvbGljeSA/PyBbXTtcbiAgICBpZiAoY29kZUFydGlmYWN0RG9tYWlucykge1xuICAgICAgcm9sZVBvbGljeS5wdXNoKFxuICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICByZXNvdXJjZXM6IGNvZGVBcnRpZmFjdERvbWFpbnMsXG4gICAgICAgICAgYWN0aW9uczogWydjb2RlYXJ0aWZhY3Q6R2V0QXV0aG9yaXphdGlvblRva2VuJ10sXG4gICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICAgIHJvbGVQb2xpY3kucHVzaChcbiAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgICBhY3Rpb25zOiBbJ3N0czpHZXRTZXJ2aWNlQmVhcmVyVG9rZW4nXSxcbiAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoY29kZUFydGlmYWN0UmVwb3NpdG9yaWVzKSB7XG4gICAgICByb2xlUG9saWN5LnB1c2goXG4gICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIHJlc291cmNlczogY29kZUFydGlmYWN0UmVwb3NpdG9yaWVzLFxuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICdjb2RlYXJ0aWZhY3Q6RGVzY3JpYmVQYWNrYWdlVmVyc2lvbicsXG4gICAgICAgICAgICAnY29kZWFydGlmYWN0OkRlc2NyaWJlUmVwb3NpdG9yeScsXG4gICAgICAgICAgICAnY29kZWFydGlmYWN0OkdldFBhY2thZ2VWZXJzaW9uUmVhZG1lJyxcbiAgICAgICAgICAgICdjb2RlYXJ0aWZhY3Q6R2V0UmVwb3NpdG9yeUVuZHBvaW50JyxcbiAgICAgICAgICAgICdjb2RlYXJ0aWZhY3Q6TGlzdFBhY2thZ2VzJyxcbiAgICAgICAgICAgICdjb2RlYXJ0aWZhY3Q6TGlzdFBhY2thZ2VWZXJzaW9ucycsXG4gICAgICAgICAgICAnY29kZWFydGlmYWN0Okxpc3RQYWNrYWdlVmVyc2lvbkFzc2V0cycsXG4gICAgICAgICAgICAnY29kZWFydGlmYWN0Okxpc3RQYWNrYWdlVmVyc2lvbkRlcGVuZGVuY2llcycsXG4gICAgICAgICAgICAnY29kZWFydGlmYWN0OlJlYWRGcm9tUmVwb3NpdG9yeScsXG4gICAgICAgICAgXSxcbiAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMucGlwZWxpbmUgPSBuZXcgQ29kZVBpcGVsaW5lKHRoaXMsICdDb2RlUGlwZWxpbmUnLCB7XG4gICAgICBjb2RlUGlwZWxpbmU6IHVuZGVybHlpbmdQaXBlbGluZSxcbiAgICAgIHNlbGZNdXRhdGlvbjogcHJvcHMuc2VsZk11dGF0aW9uID8/IHRydWUsXG4gICAgICBkb2NrZXJFbmFibGVkRm9yU3ludGg6IHByb3BzLmRvY2tlckVuYWJsZWRGb3JTeW50aCA/PyB0cnVlLFxuICAgICAgZG9ja2VyRW5hYmxlZEZvclNlbGZNdXRhdGlvbjogcHJvcHMuZG9ja2VyRW5hYmxlZEZvclNlbGZNdXRhdGlvbiA/PyB0cnVlLFxuICAgICAgcHVibGlzaEFzc2V0c0luUGFyYWxsZWw6IHByb3BzLnB1Ymxpc2hBc3NldHNJblBhcmFsbGVsID8/IGZhbHNlLFxuICAgICAgc3ludGg6IG5ldyBTaGVsbFN0ZXAoJ1N5bnRoJywge1xuICAgICAgICBwcmltYXJ5T3V0cHV0RGlyZWN0b3J5OiBgJHtjZGtEaXJlY3Rvcnl9L2Nkay5vdXRgLFxuICAgICAgICBpbnB1dCxcbiAgICAgICAgY29tbWFuZHMsXG4gICAgICAgIGFkZGl0aW9uYWxJbnB1dHM6IHByb3BzLmFkZGl0aW9uYWxJbnB1dHMgPz8ge30sXG4gICAgICB9KSxcbiAgICAgIHN5bnRoQ29kZUJ1aWxkRGVmYXVsdHM6IHtcbiAgICAgICAgcGFydGlhbEJ1aWxkU3BlYzogQnVpbGRTcGVjLmZyb21PYmplY3Qoe1xuICAgICAgICAgIGNhY2hlOiB7XG4gICAgICAgICAgICBwYXRoczogWycvcm9vdC8ubnBtLyoqLyonLCAnL3Jvb3QvLnBucG0tc3RvcmUvKiovKiddLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGhhc2VzOiB7XG4gICAgICAgICAgICBpbnN0YWxsOiB7XG4gICAgICAgICAgICAgICdydW50aW1lLXZlcnNpb25zJzoge1xuICAgICAgICAgICAgICAgIG5vZGVqczogcHJvcHMubm9kZVZlcnNpb24gPz8gTm9kZVZlcnNpb24uTk9ERV8yMixcbiAgICAgICAgICAgICAgICBnbzogcHJvcHMuZ29WZXJzaW9uLFxuICAgICAgICAgICAgICAgIGphdmE6IHByb3BzLmphdmFWZXJzaW9uLFxuICAgICAgICAgICAgICAgIGRvdG5ldDogcHJvcHMuZG90bmV0VmVyc2lvbixcbiAgICAgICAgICAgICAgICBweXRob246IHByb3BzLnB5dGhvblZlcnNpb24sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICdjb21tYW5kcyc6IFsnbnBtIGNvbmZpZyBzZXQgZnVuZCBmYWxzZScsICducG0gLWcgaSBlc2J1aWxkJ11cbiAgICAgICAgICAgICAgICAuY29uY2F0KHByb3BzLmFkZGl0aW9uYWxJbnN0YWxsQ29tbWFuZHMgPz8gW10pXG4gICAgICAgICAgICAgICAgLmNvbmNhdChbJ25vZGUgLS12ZXJzaW9uJ10pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICAgYnVpbGRFbnZpcm9ubWVudDoge1xuICAgICAgICAgIHByaXZpbGVnZWQ6IHRydWUsXG4gICAgICAgICAgY29tcHV0ZVR5cGU6IHByb3BzLmNvbXB1dGVUeXBlID8/IENvbXB1dGVUeXBlLlNNQUxMLFxuICAgICAgICAgIGJ1aWxkSW1hZ2U6IHByb3BzLmJ1aWxkSW1hZ2UgPz8gTGludXhCdWlsZEltYWdlLkFNQVpPTl9MSU5VWF8yXzUsXG4gICAgICAgIH0sXG4gICAgICAgIHJvbGVQb2xpY3ksXG4gICAgICB9LFxuICAgICAgYXNzZXRQdWJsaXNoaW5nQ29kZUJ1aWxkRGVmYXVsdHM6IHtcbiAgICAgICAgcGFydGlhbEJ1aWxkU3BlYzogQnVpbGRTcGVjLmZyb21PYmplY3Qoe1xuICAgICAgICAgIGVudjoge1xuICAgICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICAgIC4uLigocHJvcHMuZW5hYmxlRG9ja2VyQnVpbGR4T25Bc3NldFB1Ymxpc2ggPz8gdHJ1ZSlcbiAgICAgICAgICAgICAgICA/IHtDREtfRE9DS0VSOiAnL3Vzci9sb2NhbC9iaW4vYnVpbGR4LnNoJ31cbiAgICAgICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwaGFzZXM6IHtcbiAgICAgICAgICAgIGluc3RhbGw6IHtcbiAgICAgICAgICAgICAgY29tbWFuZHM6XG4gICAgICAgICAgICAgICAgKHByb3BzLmVuYWJsZURvY2tlckJ1aWxkeE9uQXNzZXRQdWJsaXNoID8/IHRydWUpXG4gICAgICAgICAgICAgICAgICA/IERPQ0tFUl9CVUlMRFhfU0VUVVBfQ09NTUFORFNcbiAgICAgICAgICAgICAgICAgIDogW10sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIERpc2FibGUgYXV0b21hdGljIHRyaWdnZXJpbmcgaWYgcmVxdWVzdGVkXG4gICAgaWYgKHByb3BzLmRpc2FibGVBdXRvVHJpZ2dlcikge1xuICAgICAgY29uc3QgY2ZuUGlwZWxpbmUgPSB1bmRlcmx5aW5nUGlwZWxpbmUubm9kZS5kZWZhdWx0Q2hpbGQgYXMgQ2ZuUGlwZWxpbmU7XG4gICAgICBjZm5QaXBlbGluZS5hZGRQcm9wZXJ0eU92ZXJyaWRlKFxuICAgICAgICAnU3RhZ2VzLjAuQWN0aW9ucy4wLkNvbmZpZ3VyYXRpb24uVHJpZ2dlckNvbmZpZ3VyYXRpb24nLFxuICAgICAgICB7XG4gICAgICAgICAgUHJvdmlkZXJUeXBlOiAnQ29kZVN0YXJTb3VyY2VDb25uZWN0aW9uJyxcbiAgICAgICAgICBUcmlnZ2VyRXZlbnRzOiAnTk9ORScsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIEhhbmRsZSBwaXBlbGluZSBub3RpZmljYXRpb25zXG4gICAgaWYgKHByb3BzLnNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb24gJiYgcHJvcHMuc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFybikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnT25seSBvbmUgb2Ygc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbiBhbmQgc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFybiBjYW4gYmUgc3BlY2lmaWVkJyxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChwcm9wcy5ub3RpZmljYXRpb25Ub3BpYyAmJiBwcm9wcy5ub3RpZmljYXRpb25Ub3BpY0Fybikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnT25seSBvbmUgb2Ygbm90aWZpY2F0aW9uVG9waWMgYW5kIG5vdGlmaWNhdGlvblRvcGljQXJuIGNhbiBiZSBzcGVjaWZpZWQnLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgcHJvcHMuc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbiB8fFxuICAgICAgcHJvcHMuc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFybiB8fFxuICAgICAgcHJvcHMubm90aWZpY2F0aW9uVG9waWNBcm4gfHxcbiAgICAgIHByb3BzLm5vdGlmaWNhdGlvblRvcGljXG4gICAgKSB7XG4gICAgICB0aGlzLnBpcGVsaW5lTm90aWZpY2F0aW9uUnVsZSA9IG5ldyBQaXBlbGluZU5vdGlmaWNhdGlvblJ1bGUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgICdOb3RpZmljYXRpb24nLFxuICAgICAgICB7XG4gICAgICAgICAgZXZlbnRzOiBwcm9wcy5ub3RpZmljYXRpb25FdmVudHMsXG4gICAgICAgICAgc291cmNlOiB1bmRlcmx5aW5nUGlwZWxpbmUsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgICAgaWYgKHByb3BzLnNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgdGhpcy5waXBlbGluZU5vdGlmaWNhdGlvblJ1bGUuYWRkU2xhY2tDaGFubmVsKFxuICAgICAgICAgIHByb3BzLnNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb24sXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHByb3BzLnNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb25Bcm4pIHtcbiAgICAgICAgdGhpcy5waXBlbGluZU5vdGlmaWNhdGlvblJ1bGUuYWRkU2xhY2tDaGFubmVsQXJuKFxuICAgICAgICAgICdTbGFja0NoYW5uZWwnLFxuICAgICAgICAgIHByb3BzLnNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb25Bcm4sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMubm90aWZpY2F0aW9uVG9waWMpIHtcbiAgICAgICAgdGhpcy5waXBlbGluZU5vdGlmaWNhdGlvblJ1bGUuYWRkVG9waWMocHJvcHMubm90aWZpY2F0aW9uVG9waWMpO1xuICAgICAgICBwcm9wcy5ub3RpZmljYXRpb25Ub3BpYy5ncmFudFB1Ymxpc2godW5kZXJseWluZ1BpcGVsaW5lLnJvbGUpO1xuICAgICAgfSBlbHNlIGlmIChwcm9wcy5ub3RpZmljYXRpb25Ub3BpY0Fybikge1xuICAgICAgICBjb25zdCB0b3BpYyA9IHRoaXMucGlwZWxpbmVOb3RpZmljYXRpb25SdWxlLmFkZFRvcGljQXJuKFxuICAgICAgICAgICdOb3RpZmljYXRpb25Ub3BpYycsXG4gICAgICAgICAgcHJvcHMubm90aWZpY2F0aW9uVG9waWNBcm4sXG4gICAgICAgICk7XG4gICAgICAgIHRvcGljLmdyYW50UHVibGlzaCh1bmRlcmx5aW5nUGlwZWxpbmUucm9sZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYWRkU3RhZ2Uoc3RhZ2U6IFN0YWdlLCBvcHRpb25zPzogQWRkU3RhZ2VPcHRzKTogU3RhZ2VEZXBsb3ltZW50IHtcbiAgICByZXR1cm4gdGhpcy5waXBlbGluZS5hZGRTdGFnZShzdGFnZSwgb3B0aW9ucyk7XG4gIH1cblxuICBhZGRXYXZlKGlkOiBzdHJpbmcsIG9wdGlvbnM/OiBXYXZlT3B0aW9ucyk6IFdhdmUge1xuICAgIHJldHVybiB0aGlzLnBpcGVsaW5lLmFkZFdhdmUoaWQsIG9wdGlvbnMpO1xuICB9XG59XG4iXX0=
|
|
299
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXBpcGVsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXBpcGVsaW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFxQztBQUNyQyxtRUFJc0M7QUFDdEMsaURBQXdDO0FBQ3hDLHVEQUFpRDtBQUNqRCxxREFTK0I7QUFDL0IsNkRBS21DO0FBQ25DLDZFQUFzRTtBQUN0RSw2Q0FBOEM7QUFDOUMsK0RBQXNEO0FBQ3RELG1DQUEyQztBQUMzQyxpREFBNEQ7QUFJNUQ7OztHQUdHO0FBQ0gsSUFBWSxXQU1YO0FBTkQsV0FBWSxXQUFXO0lBQ3JCLDZCQUFjLENBQUE7SUFDZCw2QkFBYyxDQUFBO0lBQ2QsNkJBQWMsQ0FBQTtJQUNkLDZCQUFjLENBQUE7SUFDZCw2QkFBYyxDQUFBO0FBQ2hCLENBQUMsRUFOVyxXQUFXLDJCQUFYLFdBQVcsUUFNdEI7QUFFRDs7O0dBR0c7QUFDSCxJQUFZLFNBYVg7QUFiRCxXQUFZLFNBQVM7SUFDbkIsNkJBQWdCLENBQUE7SUFDaEIsNkJBQWdCLENBQUE7SUFDaEIsNkJBQWdCLENBQUE7SUFDaEIsNkJBQWdCLENBQUE7SUFDaEIsNkJBQWdCLENBQUE7SUFDaEIsNkJBQWdCLENBQUE7SUFDaEIsNkJBQWdCLENBQUE7SUFDaEIsNkJBQWdCLENBQUE7SUFDaEIsNkJBQWdCLENBQUE7SUFDaEIsNkJBQWdCLENBQUE7SUFDaEIsNkJBQWdCLENBQUE7SUFDaEIsNkJBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQWJXLFNBQVMseUJBQVQsU0FBUyxRQWFwQjtBQUVEOzs7R0FHRztBQUNILElBQVksV0FLWDtBQUxELFdBQVksV0FBVztJQUNyQixtQ0FBb0IsQ0FBQTtJQUNwQixxQ0FBc0IsQ0FBQTtJQUN0QixxQ0FBc0IsQ0FBQTtJQUN0QixxQ0FBc0IsQ0FBQTtBQUN4QixDQUFDLEVBTFcsV0FBVywyQkFBWCxXQUFXLFFBS3RCO0FBRUQ7OztHQUdHO0FBQ0gsSUFBWSxhQUtYO0FBTEQsV0FBWSxh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SUFBSSxDQUFDLENBQUM7WUFDaEUsQ0FBQztpQkFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2dCQUN0QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsV0FBVyxDQUNyRCxtQkFBbUIsRUFDbkIsS0FBSyxDQUFDLG9CQUFvQixDQUMzQixDQUFDO2dCQUNGLEtBQUssQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVksRUFBRSxPQUFzQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsT0FBTyxDQUFDLEVBQVUsRUFBRSxPQUFxQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBQ0Y7QUFuUUQsa0NBbVFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHtcbiAgQ2ZuUGlwZWxpbmUsXG4gIFBpcGVsaW5lLFxuICBQaXBlbGluZVR5cGUsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmUnO1xuaW1wb3J0IHtLZXl9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1rbXMnO1xuaW1wb3J0IHtBcnRpZmFjdEJ1Y2tldH0gZnJvbSAnLi9hcnRpZmFjdC1idWNrZXQnO1xuaW1wb3J0IHtcbiAgQWRkU3RhZ2VPcHRzLFxuICBDb2RlUGlwZWxpbmUsXG4gIENvZGVQaXBlbGluZVNvdXJjZSxcbiAgSUZpbGVTZXRQcm9kdWNlcixcbiAgU2hlbGxTdGVwLFxuICBTdGFnZURlcGxveW1lbnQsXG4gIFdhdmUsXG4gIFdhdmVPcHRpb25zLFxufSBmcm9tICdhd3MtY2RrLWxpYi9waXBlbGluZXMnO1xuaW1wb3J0IHtcbiAgQnVpbGRTcGVjLFxuICBDb21wdXRlVHlwZSxcbiAgSUJ1aWxkSW1hZ2UsXG4gIExpbnV4QnVpbGRJbWFnZSxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZGVidWlsZCc7XG5pbXBvcnQge1BpcGVsaW5lTm90aWZpY2F0aW9uUnVsZX0gZnJvbSAnLi9waXBlbGluZS1ub3RpZmljYXRpb24tcnVsZSc7XG5pbXBvcnQge0FybiwgU3RhY2ssIFN0YWdlfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1JlcG9zaXRvcnl9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlY29tbWl0JztcbmltcG9ydCB7Tm9kZVBhY2thZ2VNYW5hZ2VyfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7RWZmZWN0LCBQb2xpY3lTdGF0ZW1lbnR9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHtJU2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNoYXRib3QnO1xuaW1wb3J0IHtJVG9waWN9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zbnMnO1xuXG4vKipcbiAqIE5vZGUgcnVudGltZXMgc3VwcG9ydGVkIGJ5IENvZGViQnVpbGRcbiAqIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29kZWJ1aWxkL2xhdGVzdC91c2VyZ3VpZGUvYXZhaWxhYmxlLXJ1bnRpbWVzLmh0bWxcbiAqL1xuZXhwb3J0IGVudW0gTm9kZVZlcnNpb24ge1xuICBOT0RFXzE2ID0gJzE2JyxcbiAgTk9ERV8xOCA9ICcxOCcsXG4gIE5PREVfMjAgPSAnMjAnLFxuICBOT0RFXzIyID0gJzIyJyxcbiAgTk9ERV8yNCA9ICcyNCcsXG59XG5cbi8qKlxuICogR28gcnVudGltZXMgc3VwcG9ydGVkIGJ5IENvZGVCdWlsZFxuICogU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2RlYnVpbGQvbGF0ZXN0L3VzZXJndWlkZS9hdmFpbGFibGUtcnVudGltZXMuaHRtbFxuICovXG5leHBvcnQgZW51bSBHb1ZlcnNpb24ge1xuICBHT18xXzEyID0gJzEuMTInLFxuICBHT18xXzEzID0gJzEuMTMnLFxuICBHT18xXzE0ID0gJzEuMTQnLFxuICBHT18xXzE1ID0gJzEuMTUnLFxuICBHT18xXzE2ID0gJzEuMTYnLFxuICBHT18xXzE3ID0gJzEuMTcnLFxuICBHT18xXzE4ID0gJzEuMTgnLFxuICBHT18xXzIwID0gJzEuMjAnLFxuICBHT18xXzIxID0gJzEuMjEnLFxuICBHT18xXzIyID0gJzEuMjInLFxuICBHT18xXzIzID0gJzEuMjMnLFxuICBHT18xXzI0ID0gJzEuMjQnLFxufVxuXG4vKipcbiAqIEphdmEgcnVudGltZXMgc3VwcG9ydGVkIGJ5IENvZGVCdWlsZFxuICogU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2RlYnVpbGQvbGF0ZXN0L3VzZXJndWlkZS9hdmFpbGFibGUtcnVudGltZXMuaHRtbFxuICovXG5leHBvcnQgZW51bSBKYXZhVmVyc2lvbiB7XG4gIEpBVkFfOCA9ICdjb3JyZXR0bzgnLFxuICBKQVZBXzExID0gJ2NvcnJldHRvMTEnLFxuICBKQVZBXzE2ID0gJ2NvcnJldHRvMTcnLFxuICBKQVZBXzIxID0gJ2NvcnJldHRvMjEnLFxufVxuXG4vKipcbiAqIERvdG5ldCBydW50aW1lcyBzdXBwb3J0ZWQgYnkgQ29kZUJ1aWxkXG4gKiBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NvZGVidWlsZC9sYXRlc3QvdXNlcmd1aWRlL2F2YWlsYWJsZS1ydW50aW1lcy5odG1sZG90bmV0XG4gKi9cbmV4cG9ydCBlbnVtIERvdG5ldFZlcnNpb24ge1xuICBET1RORVRfM18xID0gJzMuMScsXG4gIERPVE5FVF81XzAgPSAnNS4wJyxcbiAgRE9UTkVUXzZfMCA9ICc2LjAnLFxuICBET1RORVRfOF8wID0gJzguMCcsXG59XG5cbmV4cG9ydCBlbnVtIFB5dGhvblZlcnNpb24ge1xuICBQWVRIT05fM183ID0gJzMuNycsXG4gIFBZVEhPTl8zXzggPSAnMy44JyxcbiAgUFlUSE9OXzNfOSA9ICczLjknLFxuICBQWVRIT05fM18xMCA9ICczLjEwJyxcbiAgUFlUSE9OXzNfMTEgPSAnMy4xMScsXG4gIFBZVEhPTl8zXzEyID0gJzMuMTInLFxuICBQWVRIT05fM18xMyA9ICczLjEzJyxcbn1cblxuY29uc3QgRE9DS0VSX0JVSUxEWF9TRVRVUF9DT01NQU5EUyA9IFtcbiAgXCJlY2hvICcjIS9iaW4vYmFzaCcgPiAvdXNyL2xvY2FsL2Jpbi9idWlsZHguc2hcIixcbiAgJ2VjaG8gXFwnW1sgXCIkMVwiID09IFwiYnVpbGRcIiBdXSAmJiBkb2NrZXIgYnVpbGR4IGJ1aWxkIC0tbG9hZCBcIiR7QDoyfVwiIHx8IGRvY2tlciBcIiRAXCJcXCcgPj4gL3Vzci9sb2NhbC9iaW4vYnVpbGR4LnNoJyxcbiAgJ2NobW9kICt4IC91c3IvbG9jYWwvYmluL2J1aWxkeC5zaCcsXG4gICdlY2hvIFwiQXJjaGl0ZWN0dXJlOiAkKHVuYW1lIC1tKVwiJyxcbiAgJ2RvY2tlciBidWlsZHggY3JlYXRlIC0tdXNlIC0tbmFtZSBtdWx0aS1hcmNoLWJ1aWxkZXInLFxuICAnZG9ja2VyIGJ1aWxkeCBscycsXG5dO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIENka1BpcGVsaW5lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrUGlwZWxpbmVQcm9wcyB7XG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCBDREsgd2lsbCBuYW1lIHRoZSBwaXBlbGluZS4gU2V0IHRoaXMgdG8gb3ZlcnJpZGUgdGhlIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBwaXBlbGluZU5hbWU/OiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgcGlwZWxpbmVUeXBlPzogUGlwZWxpbmVUeXBlO1xuXG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCBDREsgd2lsbCBjcmVhdGUgS01TIGtleXMgZm9yIGNyb3NzIGFjY291bnQgZGVwbG95bWVudHMuIFRoaXNcbiAgICogY2FuIGJlIGNvc3RseSBpZiB5b3UgaGF2ZSBhIGxhcmdlIG51bWJlciBvZiBwaXBlbGluZXMuIFRoaXMgcHJvcGVydHlcbiAgICogYWxsb3dzIGEgY29tbW9uIGtleSB0byBiZSBzaGFyZWQgYWNyb3NzIHBpcGVsaW5lcy5cbiAgICpcbiAgICogWW91IG11c3QgY2hhbmdlIEBhd3MtY2RrL2F3cy1jb2RlcGlwZWxpbmU6Y3Jvc3NBY2NvdW50S2V5c0RlZmF1bHRWYWx1ZVRvRmFsc2UgdG8gZmFsc2UgaW4geW91ciBjZGsuanNvblxuICAgKiBmaWxlIHRvIGF2b2lkIGVycm9ycy5cbiAgICovXG4gIHJlYWRvbmx5IGtleUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGFjY291bnQgSURzIHRoaXMgcGlwZWxpbmUgd2lsbCBkZXBsb3kgaW50by5cbiAgICovXG4gIHJlYWRvbmx5IGFjY291bnRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQXJuIG9mIHRoZSBDb2RlU3RhciBjb25uZWN0aW9uIHVzZWQgdG8gYWNjZXNzIHRoZSBzb3VyY2UgY29kZSByZXBvc2l0b3J5LiBJZiBub3Qgc2V0LCB0aGlzXG4gICAqIGNvbnN0cnVjdCBhc3N1bWVzIHRoZSByZXBvc2l0b3J5IGlzIGluIEFXUyBDb2RlQ29tbWl0LlxuICAgKi9cbiAgcmVhZG9ubHkgY29ubmVjdGlvbkFybj86IHN0cmluZztcblxuICAvKipcbiAgICogU291cmNlIGNvZGUgcmVwb3NpdG9yeS5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG9zaXRvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogQnJhbmNoIHRvIHVzZSBpbnNpZGUgdGhlIHNvdXJjZSBjb2RlIHJlcG9zaXRvcnkuXG4gICAqL1xuICByZWFkb25seSBicmFuY2g6IHN0cmluZztcblxuICAvKipcbiAgICogRW5hYmxlIG9yIGRpc2FibGUgc2VsZi1tdXRhdGlvbi4gVXNlZnVsIGZvciBjZGsgcGlwZWxpbmUgZGV2ZWxvcG1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNlbGZNdXRhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBkb2NrZXIgZm9yIHRoZSAnc3ludGgnIHN0ZXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRvY2tlckVuYWJsZWRGb3JTeW50aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBkb2NrZXIgZm9yIHRoZSBzZWxmLW11dGF0ZSBzdGVwLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBkb2NrZXJFbmFibGVkRm9yU2VsZk11dGF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVHlwZSBvZiBjb21wdXRlIHRvIHVzZSBmb3IgdGhpcyBidWlsZC4gRGVmYXVsdCBpcyBDb21wdXRlVHlwZS5TTUFMTC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbXB1dGVUeXBlPzogQ29tcHV0ZVR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSBpbWFnZSB0byB1c2UgZm9yIGJ1aWxkcy4gSWYgbm9uZSBpcyBzZWxlY3RlZCB0aGUgZGVmYXVsdCBkZWZpbmVkIGluIEFXUyBDREsgaXMgdXNlZC5cbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkSW1hZ2U/OiBJQnVpbGRJbWFnZTtcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgU2xhY2sgY2hhbm5lbCBjb25maWd1cmF0aW9uIHRvIHVzZSBmb3Igbm90aWZpY2F0aW9ucy4gTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb25Bcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBTbGFjayBjaGFubmVsIGNvbmZpZ3VyYXRpb24gdG8gdXNlIGZvciBub3RpZmljYXRpb25zLiBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBzbGFja0NoYW5uZWxDb25maWd1cmF0aW9uQXJuLlxuICAgKi9cbiAgcmVhZG9ubHkgc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbj86IElTbGFja0NoYW5uZWxDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgU05TIHRvcGljIHRvIHVzZSBmb3Igbm90aWZpY2F0aW9ucy4gTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggbm90aWZpY2F0aW9uVG9waWMuXG4gICAqL1xuICByZWFkb25seSBub3RpZmljYXRpb25Ub3BpY0Fybj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFNOUyB0b3BpYyB0byB1c2UgZm9yIG5vdGlmaWNhdGlvbnMuIE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIG5vdGlmaWNhdGlvblRvcGljQXJuLlxuICAgKi9cbiAgcmVhZG9ubHkgbm90aWZpY2F0aW9uVG9waWM/OiBJVG9waWM7XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIG5vdGlmaWNhdGlvbiBldmVudHMgdG8gcmVjZWl2ZS5EZWZhdWx0IGlzIERFRkFVTFRfRVZFTlRTXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2R0Y29uc29sZS9sYXRlc3QvdXNlcmd1aWRlL2NvbmNlcHRzLmh0bWwjZXZlbnRzLXJlZi1waXBlbGluZVxuICAgKi9cbiAgcmVhZG9ubHkgbm90aWZpY2F0aW9uRXZlbnRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgRmlsZVNldHMgdG8gcHV0IGluIG90aGVyIGRpcmVjdG9yaWVzXG4gICAqL1xuICByZWFkb25seSBhZGRpdGlvbmFsSW5wdXRzPzogUmVjb3JkPHN0cmluZywgSUZpbGVTZXRQcm9kdWNlcj47XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgY29tbWFuZHMgdG8gcnVuIGJlZm9yZSBpbnN0YWxsLiBJZiB5b3Ugb3ZlcnJpZGUgdGhlIGNvbW1hbmRzIHByb3BlcnR5LCB0aGlzIGhhcyBubyBlZmZlY3QuXG4gICAqL1xuICByZWFkb25seSBwcmVCdWlsZENvbW1hbmRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyBkZWZhdWx0IGNvbW1hbmRzLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWFuZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUHVibGljIGFzc2V0cyBpbiBtdWx0aXBsZSBDb2RlQnVpbGQgcHJvamVjdHMuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoQXNzZXRzSW5QYXJhbGxlbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBhY2thZ2UgbWFuYWdlciB0byB1c2Ugd2hlbiBleGVjdXRpbmcgQ0RLLlxuICAgKlxuICAgKiBAZGVmYXVsdCBOb2RlUGFja2FnZU1hbmFnZXIuUE5QTVxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZU1hbmFnZXI/OiBOb2RlUGFja2FnZU1hbmFnZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBkaXJlY3RvcnkgdGhlIENESyBwcm9qZWN0IGlzIGxvY2F0ZWQgaW4gdGhlIHJlcG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gXCIuXCJcbiAgICovXG4gIHJlYWRvbmx5IGNka0RpcmVjdG9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogUG9saWN5IHN0YXRlbWVudHMgdG8gYWRkIHRvIHRoZSByb2xlIHVzZWQgYnkgc3ludGguXG4gICAqL1xuICByZWFkb25seSByb2xlUG9saWN5PzogUG9saWN5U3RhdGVtZW50W107XG5cbiAgLyoqXG4gICAqIEdyYW50cyByZWFkIGFjY2VzcyB0byB0aGUgcHJvdmlkZWQgQVdTIENvZGVBcnRpZmFjdCBkb21haW5zLlxuICAgKi9cbiAgcmVhZG9ubHkgY29kZUFydGlmYWN0RG9tYWlucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBHcmFudHMgcmVhZCBhY2Nlc3MgdG8gdGhlIHByb3ZpZGVkIEFXUyBDb2RlQXJ0aWZhY3QgcmVwb3NpdG9yaWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgY29kZUFydGlmYWN0UmVwb3NpdG9yaWVzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgTm9kZSB0byB1c2UgaW4gdGhlIHBpcGVsaW5lLiBEZWZhdWx0IGlzIE5PREVfMjBcbiAgICovXG4gIHJlYWRvbmx5IG5vZGVWZXJzaW9uPzogTm9kZVZlcnNpb24gfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgR28gdG8gaW5zdGFsbC4gRGVmYXVsdCBpcyBub25lLlxuICAgKi9cbiAgcmVhZG9ubHkgZ29WZXJzaW9uPzogR29WZXJzaW9uIHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIEphdmEgdG8gaW5zdGFsbC4gRGVmYXVsdCBpcyBub25lLlxuICAgKi9cbiAgcmVhZG9ubHkgamF2YVZlcnNpb24/OiBKYXZhVmVyc2lvbiB8IHN0cmluZztcblxuICAvKipcbiAgICogVmVyc2lvbiBvZiBEb3RuZXQgdG8gaW5zdGFsbC4gRGVmYXVsdCBpcyBub25lLlxuICAgKi9cbiAgcmVhZG9ubHkgZG90bmV0VmVyc2lvbj86IERvdG5ldFZlcnNpb24gfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgUHl0aG9uIHRvIGluc3RhbGwuIERlZmF1bHQgaXMgbm9uZS5cbiAgICovXG4gIHJlYWRvbmx5IHB5dGhvblZlcnNpb24/OiBQeXRob25WZXJzaW9uIHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGNvbW1hbmRzIHRvIHJ1biBkdXJpbmcgdGhlIGluc3RhbGwgcGhhc2UuXG4gICAqL1xuICByZWFkb25seSBhZGRpdGlvbmFsSW5zdGFsbENvbW1hbmRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY2xvbmUgdGhlIENvZGVDb21taXQgcmVwb3NpdG9yeSBpbnRvIHRoZSBDb2RlQnVpbGQgcHJvamVjdC5cbiAgICovXG4gIHJlYWRvbmx5IGNvZGVCdWlsZENsb25lT3V0cHV0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlcyB0aGUgdXNlIG9mIFwiZG9ja2VyIGJ1aWxkeFwiIGluIHRoZSBhc3NldCBwdWJsaXNoaW5nIHN0ZXAuIERlZmF1bHQgaXMgdHJ1ZS5cbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZURvY2tlckJ1aWxkeE9uQXNzZXRQdWJsaXNoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGlzYWJsZSBhdXRvbWF0aWMgdHJpZ2dlcmluZyBvbiBzb3VyY2UgY29kZSBjaGFuZ2VzLiBXaGVuIHRydWUsIHRoZSBwaXBlbGluZVxuICAgKiBtdXN0IGJlIG1hbnVhbGx5IHN0YXJ0ZWQuIFVzZWZ1bCBmb3IgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZSAoYXV0by10cmlnZ2VyIGVuYWJsZWQpXG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlQXV0b1RyaWdnZXI/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEFuIGFic3RyYWN0aW9uIHRvIGVhc2UgQ0RLIHBpcGVsaW5lIGNyZWF0aW9uIGFuZCBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgQ2RrUGlwZWxpbmUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICByZWFkb25seSBwaXBlbGluZTogQ29kZVBpcGVsaW5lO1xuICByZWFkb25seSBwaXBlbGluZU5vdGlmaWNhdGlvblJ1bGU/OiBQaXBlbGluZU5vdGlmaWNhdGlvblJ1bGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IENka1BpcGVsaW5lUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZW5jcnlwdGlvbktleSA9IEtleS5mcm9tS2V5QXJuKHRoaXMsICdFbmNyeXB0aW9uS2V5JywgcHJvcHMua2V5QXJuKTtcblxuICAgIGNvbnN0IGFydGlmYWN0QnVja2V0ID0gbmV3IEFydGlmYWN0QnVja2V0KHRoaXMsICdBcnRpZmFjdEJ1Y2tldCcsIHtcbiAgICAgIGVuY3J5cHRpb25LZXksXG4gICAgICBhY2NvdW50SWRzOiBwcm9wcy5hY2NvdW50SWRzLFxuICAgIH0pO1xuXG4gICAgY29uc3QgdW5kZXJseWluZ1BpcGVsaW5lID0gbmV3IFBpcGVsaW5lKHRoaXMsICdQaXBlbGluZScsIHtcbiAgICAgIHBpcGVsaW5lVHlwZTogcHJvcHMucGlwZWxpbmVUeXBlID8/IFBpcGVsaW5lVHlwZS5WMixcbiAgICAgIGFydGlmYWN0QnVja2V0LFxuICAgICAgcGlwZWxpbmVOYW1lOiBwcm9wcy5waXBlbGluZU5hbWUsXG4gICAgfSk7XG5cbiAgICBsZXQgaW5wdXQ6IENvZGVQaXBlbGluZVNvdXJjZTtcbiAgICBpZiAocHJvcHMuY29ubmVjdGlvbkFybiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpbnB1dCA9IENvZGVQaXBlbGluZVNvdXJjZS5jb25uZWN0aW9uKHByb3BzLnJlcG9zaXRvcnksIHByb3BzLmJyYW5jaCwge1xuICAgICAgICBjb25uZWN0aW9uQXJuOiBwcm9wcy5jb25uZWN0aW9uQXJuLFxuICAgICAgICAvLyBVc2VkIHBlciB3b3JrYXJvdW5kIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMTEzOTkjaXNzdWVjb21tZW50LTEzNjcxODA2OTZcbiAgICAgICAgY29kZUJ1aWxkQ2xvbmVPdXRwdXQ6IHByb3BzLmNvZGVCdWlsZENsb25lT3V0cHV0ID8/IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJlcG9zaXRvcnkgPSBwcm9wcy5yZXBvc2l0b3J5LnN0YXJ0c1dpdGgoJ2FybjonKVxuICAgICAgICA/IFJlcG9zaXRvcnkuZnJvbVJlcG9zaXRvcnlBcm4odGhpcywgJ1JlcG9zaXRvcnknLCBwcm9wcy5yZXBvc2l0b3J5KVxuICAgICAgICA6IFJlcG9zaXRvcnkuZnJvbVJlcG9zaXRvcnlOYW1lKHRoaXMsICdSZXBvc2l0b3J5JywgcHJvcHMucmVwb3NpdG9yeSk7XG4gICAgICBpbnB1dCA9IENvZGVQaXBlbGluZVNvdXJjZS5jb2RlQ29tbWl0KHJlcG9zaXRvcnksIHByb3BzLmJyYW5jaCwge1xuICAgICAgICAvLyBVc2VkIHBlciB3b3JrYXJvdW5kIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMTEzOTkjaXNzdWVjb21tZW50LTEzNjcxODA2OTZcbiAgICAgICAgY29kZUJ1aWxkQ2xvbmVPdXRwdXQ6IHByb3BzLmNvZGVCdWlsZENsb25lT3V0cHV0ID8/IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhY2tOYW1lID0gU3RhY2sub2YodGhpcykuc3RhY2tOYW1lO1xuICAgIGNvbnN0IGNka0RpcmVjdG9yeSA9IHByb3BzLmNka0RpcmVjdG9yeSA/PyAnLic7XG5cbiAgICBsZXQgY29tbWFuZHM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkID0gcHJvcHMuY29tbWFuZHM7XG4gICAgaWYgKFxuICAgICAgY29tbWFuZHMgPT09IHVuZGVmaW5lZCAmJlxuICAgICAgcHJvcHMucGFja2FnZU1hbmFnZXIgPT09IE5vZGVQYWNrYWdlTWFuYWdlci5QTlBNXG4gICAgKSB7XG4gICAgICBjb21tYW5kcyA9IFtcbiAgICAgICAgYGNkICR7Y2RrRGlyZWN0b3J5ID8/ICcuJ31gLFxuICAgICAgICAnbnBtIC1nIGkgcG5wbScsXG4gICAgICAgICdwbnBtIGkgLS1mcm96ZW4tbG9ja2ZpbGUgLS1wcmVmZXItb2ZmbGluZScsXG4gICAgICAgIC4uLihwcm9wcy5wcmVCdWlsZENvbW1hbmRzID8/IFtdKSxcbiAgICAgICAgJ3BucG0gcnVuIGJ1aWxkJyxcbiAgICAgICAgJ3BucG0gcnVuIHRlc3QnLFxuICAgICAgICBgcG5weCBjZGsgc3ludGggJHtzdGFja05hbWV9YCxcbiAgICAgIF07XG4gICAgfSBlbHNlIGlmIChjb21tYW5kcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb21tYW5kcyA9IFtcbiAgICAgICAgYGNkICR7Y2RrRGlyZWN0b3J5ID8/ICcuJ31gLFxuICAgICAgICAnbnBtIGNpIC0tcHJlZmVyLW9mZmxpbmUnLFxuICAgICAgICAuLi4ocHJvcHMucHJlQnVpbGRDb21tYW5kcyA/PyBbXSksXG4gICAgICAgICducG0gcnVuIGJ1aWxkJyxcbiAgICAgICAgJ25wbSBydW4gdGVzdCcsXG4gICAgICAgIGBucHggY2RrIHN5bnRoICR7c3RhY2tOYW1lfWAsXG4gICAgICBdO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2YodGhpcyk7XG5cbiAgICBjb25zdCBjb2RlQXJ0aWZhY3REb21haW5zID0gcHJvcHMuY29kZUFydGlmYWN0RG9tYWlucz8ubWFwKChkb21haW4pID0+IHtcbiAgICAgIHJldHVybiBkb21haW4uc3RhcnRzV2l0aCgnYXJuOmF3cycpXG4gICAgICAgID8gZG9tYWluXG4gICAgICAgIDogQXJuLmZvcm1hdChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc2VydmljZTogJ2NvZGVhcnRpZmFjdCcsXG4gICAgICAgICAgICAgIHJlc291cmNlOiAnZG9tYWluJyxcbiAgICAgICAgICAgICAgcmVzb3VyY2VOYW1lOiBkb21haW4sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3RhY2ssXG4gICAgICAgICAgKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvZGVBcnRpZmFjdFJlcG9zaXRvcmllcyA9IHByb3BzLmNvZGVBcnRpZmFjdFJlcG9zaXRvcmllcz8ubWFwKFxuICAgICAgKHJlcG9zaXRvcnkpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlcG9zaXRvcnkuc3RhcnRzV2l0aCgnYXJuOmF3cycpXG4gICAgICAgICAgPyByZXBvc2l0b3J5XG4gICAgICAgICAgOiBBcm4uZm9ybWF0KFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc2VydmljZTogJ2NvZGVhcnRpZmFjdCcsXG4gICAgICAgICAgICAgICAgcmVzb3VyY2U6ICdyZXBvc2l0b3J5JyxcbiAgICAgICAgICAgICAgICByZXNvdXJjZU5hbWU6IHJlcG9zaXRvcnksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHN0YWNrLFxuICAgICAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNvbnN0IHJvbGVQb2xpY3kgPSBwcm9wcy5yb2xlUG9saWN5ID8/IFtdO1xuICAgIGlmIChjb2RlQXJ0aWZhY3REb21haW5zKSB7XG4gICAgICByb2xlUG9saWN5LnB1c2goXG4gICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIHJlc291cmNlczogY29kZUFydGlmYWN0RG9tYWlucyxcbiAgICAgICAgICBhY3Rpb25zOiBbJ2NvZGVhcnRpZmFjdDpHZXRBdXRob3JpemF0aW9uVG9rZW4nXSxcbiAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgICAgcm9sZVBvbGljeS5wdXNoKFxuICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICAgIGFjdGlvbnM6IFsnc3RzOkdldFNlcnZpY2VCZWFyZXJUb2tlbiddLFxuICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChjb2RlQXJ0aWZhY3RSZXBvc2l0b3JpZXMpIHtcbiAgICAgIHJvbGVQb2xpY3kucHVzaChcbiAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgcmVzb3VyY2VzOiBjb2RlQXJ0aWZhY3RSZXBvc2l0b3JpZXMsXG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgJ2NvZGVhcnRpZmFjdDpEZXNjcmliZVBhY2thZ2VWZXJzaW9uJyxcbiAgICAgICAgICAgICdjb2RlYXJ0aWZhY3Q6RGVzY3JpYmVSZXBvc2l0b3J5JyxcbiAgICAgICAgICAgICdjb2RlYXJ0aWZhY3Q6R2V0UGFja2FnZVZlcnNpb25SZWFkbWUnLFxuICAgICAgICAgICAgJ2NvZGVhcnRpZmFjdDpHZXRSZXBvc2l0b3J5RW5kcG9pbnQnLFxuICAgICAgICAgICAgJ2NvZGVhcnRpZmFjdDpMaXN0UGFja2FnZXMnLFxuICAgICAgICAgICAgJ2NvZGVhcnRpZmFjdDpMaXN0UGFja2FnZVZlcnNpb25zJyxcbiAgICAgICAgICAgICdjb2RlYXJ0aWZhY3Q6TGlzdFBhY2thZ2VWZXJzaW9uQXNzZXRzJyxcbiAgICAgICAgICAgICdjb2RlYXJ0aWZhY3Q6TGlzdFBhY2thZ2VWZXJzaW9uRGVwZW5kZW5jaWVzJyxcbiAgICAgICAgICAgICdjb2RlYXJ0aWZhY3Q6UmVhZEZyb21SZXBvc2l0b3J5JyxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5waXBlbGluZSA9IG5ldyBDb2RlUGlwZWxpbmUodGhpcywgJ0NvZGVQaXBlbGluZScsIHtcbiAgICAgIGNvZGVQaXBlbGluZTogdW5kZXJseWluZ1BpcGVsaW5lLFxuICAgICAgc2VsZk11dGF0aW9uOiBwcm9wcy5zZWxmTXV0YXRpb24gPz8gdHJ1ZSxcbiAgICAgIGRvY2tlckVuYWJsZWRGb3JTeW50aDogcHJvcHMuZG9ja2VyRW5hYmxlZEZvclN5bnRoID8/IHRydWUsXG4gICAgICBkb2NrZXJFbmFibGVkRm9yU2VsZk11dGF0aW9uOiBwcm9wcy5kb2NrZXJFbmFibGVkRm9yU2VsZk11dGF0aW9uID8/IHRydWUsXG4gICAgICBwdWJsaXNoQXNzZXRzSW5QYXJhbGxlbDogcHJvcHMucHVibGlzaEFzc2V0c0luUGFyYWxsZWwgPz8gZmFsc2UsXG4gICAgICBzeW50aDogbmV3IFNoZWxsU3RlcCgnU3ludGgnLCB7XG4gICAgICAgIHByaW1hcnlPdXRwdXREaXJlY3Rvcnk6IGAke2Nka0RpcmVjdG9yeX0vY2RrLm91dGAsXG4gICAgICAgIGlucHV0LFxuICAgICAgICBjb21tYW5kcyxcbiAgICAgICAgYWRkaXRpb25hbElucHV0czogcHJvcHMuYWRkaXRpb25hbElucHV0cyA/PyB7fSxcbiAgICAgIH0pLFxuICAgICAgc3ludGhDb2RlQnVpbGREZWZhdWx0czoge1xuICAgICAgICBwYXJ0aWFsQnVpbGRTcGVjOiBCdWlsZFNwZWMuZnJvbU9iamVjdCh7XG4gICAgICAgICAgY2FjaGU6IHtcbiAgICAgICAgICAgIHBhdGhzOiBbJy9yb290Ly5ucG0vKiovKicsICcvcm9vdC8ucG5wbS1zdG9yZS8qKi8qJ10sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwaGFzZXM6IHtcbiAgICAgICAgICAgIGluc3RhbGw6IHtcbiAgICAgICAgICAgICAgJ3J1bnRpbWUtdmVyc2lvbnMnOiB7XG4gICAgICAgICAgICAgICAgbm9kZWpzOiBwcm9wcy5ub2RlVmVyc2lvbiA/PyBOb2RlVmVyc2lvbi5OT0RFXzI0LFxuICAgICAgICAgICAgICAgIGdvOiBwcm9wcy5nb1ZlcnNpb24sXG4gICAgICAgICAgICAgICAgamF2YTogcHJvcHMuamF2YVZlcnNpb24sXG4gICAgICAgICAgICAgICAgZG90bmV0OiBwcm9wcy5kb3RuZXRWZXJzaW9uLFxuICAgICAgICAgICAgICAgIHB5dGhvbjogcHJvcHMucHl0aG9uVmVyc2lvbixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgJ2NvbW1hbmRzJzogWyducG0gY29uZmlnIHNldCBmdW5kIGZhbHNlJywgJ25wbSAtZyBpIGVzYnVpbGQnXVxuICAgICAgICAgICAgICAgIC5jb25jYXQocHJvcHMuYWRkaXRpb25hbEluc3RhbGxDb21tYW5kcyA/PyBbXSlcbiAgICAgICAgICAgICAgICAuY29uY2F0KFsnbm9kZSAtLXZlcnNpb24nXSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgICBidWlsZEVudmlyb25tZW50OiB7XG4gICAgICAgICAgcHJpdmlsZWdlZDogdHJ1ZSxcbiAgICAgICAgICBjb21wdXRlVHlwZTogcHJvcHMuY29tcHV0ZVR5cGUgPz8gQ29tcHV0ZVR5cGUuU01BTEwsXG4gICAgICAgICAgYnVpbGRJbWFnZTogcHJvcHMuYnVpbGRJbWFnZSA/PyBMaW51eEJ1aWxkSW1hZ2UuQU1BWk9OX0xJTlVYXzJfNSxcbiAgICAgICAgfSxcbiAgICAgICAgcm9sZVBvbGljeSxcbiAgICAgIH0sXG4gICAgICBhc3NldFB1Ymxpc2hpbmdDb2RlQnVpbGREZWZhdWx0czoge1xuICAgICAgICBwYXJ0aWFsQnVpbGRTcGVjOiBCdWlsZFNwZWMuZnJvbU9iamVjdCh7XG4gICAgICAgICAgZW52OiB7XG4gICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgLi4uKChwcm9wcy5lbmFibGVEb2NrZXJCdWlsZHhPbkFzc2V0UHVibGlzaCA/PyB0cnVlKVxuICAgICAgICAgICAgICAgID8ge0NES19ET0NLRVI6ICcvdXNyL2xvY2FsL2Jpbi9idWlsZHguc2gnfVxuICAgICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHBoYXNlczoge1xuICAgICAgICAgICAgaW5zdGFsbDoge1xuICAgICAgICAgICAgICBjb21tYW5kczpcbiAgICAgICAgICAgICAgICAocHJvcHMuZW5hYmxlRG9ja2VyQnVpbGR4T25Bc3NldFB1Ymxpc2ggPz8gdHJ1ZSlcbiAgICAgICAgICAgICAgICAgID8gRE9DS0VSX0JVSUxEWF9TRVRVUF9DT01NQU5EU1xuICAgICAgICAgICAgICAgICAgOiBbXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gRGlzYWJsZSBhdXRvbWF0aWMgdHJpZ2dlcmluZyBpZiByZXF1ZXN0ZWRcbiAgICBpZiAocHJvcHMuZGlzYWJsZUF1dG9UcmlnZ2VyKSB7XG4gICAgICBjb25zdCBjZm5QaXBlbGluZSA9IHVuZGVybHlpbmdQaXBlbGluZS5ub2RlLmRlZmF1bHRDaGlsZCBhcyBDZm5QaXBlbGluZTtcbiAgICAgIGNmblBpcGVsaW5lLmFkZFByb3BlcnR5T3ZlcnJpZGUoXG4gICAgICAgICdTdGFnZXMuMC5BY3Rpb25zLjAuQ29uZmlndXJhdGlvbi5UcmlnZ2VyQ29uZmlndXJhdGlvbicsXG4gICAgICAgIHtcbiAgICAgICAgICBQcm92aWRlclR5cGU6ICdDb2RlU3RhclNvdXJjZUNvbm5lY3Rpb24nLFxuICAgICAgICAgIFRyaWdnZXJFdmVudHM6ICdOT05FJyxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIHBpcGVsaW5lIG5vdGlmaWNhdGlvbnNcbiAgICBpZiAocHJvcHMuc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbiAmJiBwcm9wcy5zbGFja0NoYW5uZWxDb25maWd1cmF0aW9uQXJuKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdPbmx5IG9uZSBvZiBzbGFja0NoYW5uZWxDb25maWd1cmF0aW9uIGFuZCBzbGFja0NoYW5uZWxDb25maWd1cmF0aW9uQXJuIGNhbiBiZSBzcGVjaWZpZWQnLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHByb3BzLm5vdGlmaWNhdGlvblRvcGljICYmIHByb3BzLm5vdGlmaWNhdGlvblRvcGljQXJuKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdPbmx5IG9uZSBvZiBub3RpZmljYXRpb25Ub3BpYyBhbmQgbm90aWZpY2F0aW9uVG9waWNBcm4gY2FuIGJlIHNwZWNpZmllZCcsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBwcm9wcy5zbGFja0NoYW5uZWxDb25maWd1cmF0aW9uIHx8XG4gICAgICBwcm9wcy5zbGFja0NoYW5uZWxDb25maWd1cmF0aW9uQXJuIHx8XG4gICAgICBwcm9wcy5ub3RpZmljYXRpb25Ub3BpY0FybiB8fFxuICAgICAgcHJvcHMubm90aWZpY2F0aW9uVG9waWNcbiAgICApIHtcbiAgICAgIHRoaXMucGlwZWxpbmVOb3RpZmljYXRpb25SdWxlID0gbmV3IFBpcGVsaW5lTm90aWZpY2F0aW9uUnVsZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgJ05vdGlmaWNhdGlvbicsXG4gICAgICAgIHtcbiAgICAgICAgICBldmVudHM6IHByb3BzLm5vdGlmaWNhdGlvbkV2ZW50cyxcbiAgICAgICAgICBzb3VyY2U6IHVuZGVybHlpbmdQaXBlbGluZSxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgICBpZiAocHJvcHMuc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbikge1xuICAgICAgICB0aGlzLnBpcGVsaW5lTm90aWZpY2F0aW9uUnVsZS5hZGRTbGFja0NoYW5uZWwoXG4gICAgICAgICAgcHJvcHMuc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbixcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAocHJvcHMuc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFybikge1xuICAgICAgICB0aGlzLnBpcGVsaW5lTm90aWZpY2F0aW9uUnVsZS5hZGRTbGFja0NoYW5uZWxBcm4oXG4gICAgICAgICAgJ1NsYWNrQ2hhbm5lbCcsXG4gICAgICAgICAgcHJvcHMuc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFybixcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5ub3RpZmljYXRpb25Ub3BpYykge1xuICAgICAgICB0aGlzLnBpcGVsaW5lTm90aWZpY2F0aW9uUnVsZS5hZGRUb3BpYyhwcm9wcy5ub3RpZmljYXRpb25Ub3BpYyk7XG4gICAgICAgIHByb3BzLm5vdGlmaWNhdGlvblRvcGljLmdyYW50UHVibGlzaCh1bmRlcmx5aW5nUGlwZWxpbmUucm9sZSk7XG4gICAgICB9IGVsc2UgaWYgKHByb3BzLm5vdGlmaWNhdGlvblRvcGljQXJuKSB7XG4gICAgICAgIGNvbnN0IHRvcGljID0gdGhpcy5waXBlbGluZU5vdGlmaWNhdGlvblJ1bGUuYWRkVG9waWNBcm4oXG4gICAgICAgICAgJ05vdGlmaWNhdGlvblRvcGljJyxcbiAgICAgICAgICBwcm9wcy5ub3RpZmljYXRpb25Ub3BpY0FybixcbiAgICAgICAgKTtcbiAgICAgICAgdG9waWMuZ3JhbnRQdWJsaXNoKHVuZGVybHlpbmdQaXBlbGluZS5yb2xlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhZGRTdGFnZShzdGFnZTogU3RhZ2UsIG9wdGlvbnM/OiBBZGRTdGFnZU9wdHMpOiBTdGFnZURlcGxveW1lbnQge1xuICAgIHJldHVybiB0aGlzLnBpcGVsaW5lLmFkZFN0YWdlKHN0YWdlLCBvcHRpb25zKTtcbiAgfVxuXG4gIGFkZFdhdmUoaWQ6IHN0cmluZywgb3B0aW9ucz86IFdhdmVPcHRpb25zKTogV2F2ZSB7XG4gICAgcmV0dXJuIHRoaXMucGlwZWxpbmUuYWRkV2F2ZShpZCwgb3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as lambda from 'aws-cdk-lib/aws-lambda';
|
|
2
|
-
import {
|
|
2
|
+
import { RetentionDays } from 'aws-cdk-lib/aws-logs';
|
|
3
3
|
import { Construct } from 'constructs';
|
|
4
4
|
/**
|
|
5
5
|
* Configuration for function logs. By default the log group will be destroyed
|
|
@@ -35,4 +35,4 @@ export interface FunctionLogOptions {
|
|
|
35
35
|
* @param props The properties of the function.
|
|
36
36
|
* @returns The log group, or undefined if it was not configured.
|
|
37
37
|
*/
|
|
38
|
-
export declare function configureLogGroupForFunction(scope: Construct, id: string, props: lambda.FunctionOptions):
|
|
38
|
+
export declare function configureLogGroupForFunction(scope: Construct, id: string, props: lambda.FunctionOptions): import("aws-cdk-lib/aws-logs").ILogGroup | undefined;
|
|
@@ -12,28 +12,39 @@ const aws_logs_1 = require("aws-cdk-lib/aws-logs");
|
|
|
12
12
|
* @returns The log group, or undefined if it was not configured.
|
|
13
13
|
*/
|
|
14
14
|
function configureLogGroupForFunction(scope, id, props) {
|
|
15
|
-
var _a, _b;
|
|
15
|
+
var _a, _b, _c;
|
|
16
16
|
let logConfig;
|
|
17
17
|
if (props.logConfig) {
|
|
18
18
|
logConfig = props.logConfig;
|
|
19
19
|
}
|
|
20
|
+
if (logConfig && props.logGroup) {
|
|
21
|
+
throw new Error('Cannot specify both logGroup and logConfig.');
|
|
22
|
+
}
|
|
23
|
+
if (logConfig && props.logRetention) {
|
|
24
|
+
throw new Error('Cannot specify both logRetention and logConfig.');
|
|
25
|
+
}
|
|
20
26
|
if (props.logGroup && logConfig) {
|
|
21
27
|
throw new Error('Cannot specify both logGroup and logConfig.');
|
|
22
28
|
}
|
|
23
29
|
if (props.logRetention && logConfig) {
|
|
24
30
|
throw new Error('Cannot specify both logRetention and logConfig.');
|
|
25
31
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
retention: (_b = logConfig === null || logConfig === void 0 ? void 0 : logConfig.retention) !== null && _b !== void 0 ? _b : aws_logs_1.RetentionDays.THREE_DAYS,
|
|
34
|
-
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
|
|
35
|
-
});
|
|
32
|
+
// Use the logGroup is one is passed in
|
|
33
|
+
if (props.logGroup) {
|
|
34
|
+
return props.logGroup;
|
|
35
|
+
}
|
|
36
|
+
// If log retention is defined, fallback to deprecated behavior
|
|
37
|
+
if (props.logRetention) {
|
|
38
|
+
return undefined;
|
|
36
39
|
}
|
|
37
|
-
|
|
40
|
+
// Calculate the function name that CDK will generate
|
|
41
|
+
// This mimics CDK's default naming: {StackName}-{ConstructId}-{UniqueHash}
|
|
42
|
+
const uniqueId = aws_cdk_lib_1.Names.uniqueId(scope).substring(0, 8);
|
|
43
|
+
const functionName = (_a = props.functionName) !== null && _a !== void 0 ? _a : `${aws_cdk_lib_1.Stack.of(scope).stackName}-${id}-${uniqueId}`.substring(0, 64);
|
|
44
|
+
return new aws_logs_1.LogGroup(scope, `${id}LogGroup`, {
|
|
45
|
+
logGroupName: (_b = logConfig === null || logConfig === void 0 ? void 0 : logConfig.logGroupName) !== null && _b !== void 0 ? _b : `/aws/lambda/${functionName}`,
|
|
46
|
+
retention: (_c = logConfig === null || logConfig === void 0 ? void 0 : logConfig.retention) !== null && _c !== void 0 ? _c : aws_logs_1.RetentionDays.THREE_DAYS,
|
|
47
|
+
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
|
|
48
|
+
});
|
|
38
49
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24tbG9nLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJmdW5jdGlvbi1sb2ctb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXlDQSxvRUF5Q0M7QUFsRkQsNkNBQXdEO0FBRXhELG1EQUE2RDtBQStCN0Q7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLDRCQUE0QixDQUMxQyxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBNkI7O0lBRTdCLElBQUksU0FBd0MsQ0FBQztJQUM3QyxJQUFLLEtBQTRCLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDNUMsU0FBUyxHQUFJLEtBQTRCLENBQUMsU0FBUyxDQUFDO0lBQ3RELENBQUM7SUFDRCxJQUFJLFNBQVMsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDRCxJQUFJLFNBQVMsSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksU0FBUyxFQUFFLENBQUM7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxZQUFZLElBQUksU0FBUyxFQUFFLENBQUM7UUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFDRCx1Q0FBdUM7SUFDdkMsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkIsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDO0lBQ3hCLENBQUM7SUFDRCwrREFBK0Q7SUFDL0QsSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELHFEQUFxRDtJQUNyRCwyRUFBMkU7SUFDM0UsTUFBTSxRQUFRLEdBQUcsbUJBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2RCxNQUFNLFlBQVksR0FDaEIsTUFBQSxLQUFLLENBQUMsWUFBWSxtQ0FDbEIsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLElBQUksRUFBRSxJQUFJLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFcEUsT0FBTyxJQUFJLG1CQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUU7UUFDMUMsWUFBWSxFQUFFLE1BQUEsU0FBUyxhQUFULFNBQVMsdUJBQVQsU0FBUyxDQUFFLFlBQVksbUNBQUksZUFBZSxZQUFZLEVBQUU7UUFDdEUsU0FBUyxFQUFFLE1BQUEsU0FBUyxhQUFULFNBQVMsdUJBQVQsU0FBUyxDQUFFLFNBQVMsbUNBQUksd0JBQWEsQ0FBQyxVQUFVO1FBQzNELGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87S0FDckMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmFtZXMsIFJlbW92YWxQb2xpY3ksIFN0YWNrfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQge0xvZ0dyb3VwLCBSZXRlbnRpb25EYXlzfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQge0NvbnN0cnVjdH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgZnVuY3Rpb24gbG9ncy4gQnkgZGVmYXVsdCB0aGUgbG9nIGdyb3VwIHdpbGwgYmUgZGVzdHJveWVkXG4gKiB3aGVuIHRoZSBzdGFjayBpcyBkZXN0cm95ZWQuIElmIHlvdSByZXF1aXJlIGEgZGlmZmVyZW50IGJlaGF2aW9yIG9yIGhhdmVcbiAqIG90aGVyIGxvZyByZXF1aXJlbWVudHMsIGl0J3MgcmVjb21tZW5kZWQgdG8gY3JlYXRlIGEgbG9nIGdyb3VwIGFuZCBzZXRcbiAqIGxvZ0dyb3VwIGV4cGxpY2l0bHkgaW5zdGVhZCBvZiB1c2luZyB0aGlzIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25Mb2dDb25maWcge1xuICAvKipcbiAgICogVGhlIHJldGVudGlvbiBwZXJpb2QgZm9yIHRoZSBsb2cgZ3JvdXAuIERlZmF1bHQgaXMgMyBkYXlzLlxuICAgKi9cbiAgcmVhZG9ubHkgcmV0ZW50aW9uPzogUmV0ZW50aW9uRGF5cztcbiAgLyoqXG4gICAqIFRoZSBsb2cgZ3JvdXAgdG8gdXNlIGZvciB0aGUgZnVuY3Rpb24gbG9ncy4gSWYgbm90IHByb3ZpZGVkLCBDREsgd2lsbFxuICAgKiBnZW5lcmF0ZSB0aGUgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ0dyb3VwTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb25maWd1cmluZyBmdW5jdGlvbiBsb2dzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uTG9nT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIGZ1bmN0aW9uIGxvZ3MuXG4gICAqL1xuICBsb2dDb25maWc/OiBGdW5jdGlvbkxvZ0NvbmZpZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmUgdGhlIGxvZyBncm91cCBmb3IgYSBMYW1iZGEgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIHNjb3BlIFRoZSBwYXJlbnQgc2NvcGUgaW4gd2hpY2ggdG8gY3JlYXRlIHRoZSBsb2cgZ3JvdXAuXG4gKiBAcGFyYW0gaWQgVGhlIElEIG9mIHRoZSBMYW1iZGEgZnVuY3Rpb24gY29uc3RydWN0LlxuICogQHBhcmFtIHByb3BzIFRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIFRoZSBsb2cgZ3JvdXAsIG9yIHVuZGVmaW5lZCBpZiBpdCB3YXMgbm90IGNvbmZpZ3VyZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25maWd1cmVMb2dHcm91cEZvckZ1bmN0aW9uKFxuICBzY29wZTogQ29uc3RydWN0LFxuICBpZDogc3RyaW5nLFxuICBwcm9wczogbGFtYmRhLkZ1bmN0aW9uT3B0aW9ucyxcbikge1xuICBsZXQgbG9nQ29uZmlnOiBGdW5jdGlvbkxvZ0NvbmZpZyB8IHVuZGVmaW5lZDtcbiAgaWYgKChwcm9wcyBhcyBGdW5jdGlvbkxvZ09wdGlvbnMpLmxvZ0NvbmZpZykge1xuICAgIGxvZ0NvbmZpZyA9IChwcm9wcyBhcyBGdW5jdGlvbkxvZ09wdGlvbnMpLmxvZ0NvbmZpZztcbiAgfVxuICBpZiAobG9nQ29uZmlnICYmIHByb3BzLmxvZ0dyb3VwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgc3BlY2lmeSBib3RoIGxvZ0dyb3VwIGFuZCBsb2dDb25maWcuJyk7XG4gIH1cbiAgaWYgKGxvZ0NvbmZpZyAmJiBwcm9wcy5sb2dSZXRlbnRpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBzcGVjaWZ5IGJvdGggbG9nUmV0ZW50aW9uIGFuZCBsb2dDb25maWcuJyk7XG4gIH1cbiAgaWYgKHByb3BzLmxvZ0dyb3VwICYmIGxvZ0NvbmZpZykge1xuICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHNwZWNpZnkgYm90aCBsb2dHcm91cCBhbmQgbG9nQ29uZmlnLicpO1xuICB9XG4gIGlmIChwcm9wcy5sb2dSZXRlbnRpb24gJiYgbG9nQ29uZmlnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgc3BlY2lmeSBib3RoIGxvZ1JldGVudGlvbiBhbmQgbG9nQ29uZmlnLicpO1xuICB9XG4gIC8vIFVzZSB0aGUgbG9nR3JvdXAgaXMgb25lIGlzIHBhc3NlZCBpblxuICBpZiAocHJvcHMubG9nR3JvdXApIHtcbiAgICByZXR1cm4gcHJvcHMubG9nR3JvdXA7XG4gIH1cbiAgLy8gSWYgbG9nIHJldGVudGlvbiBpcyBkZWZpbmVkLCBmYWxsYmFjayB0byBkZXByZWNhdGVkIGJlaGF2aW9yXG4gIGlmIChwcm9wcy5sb2dSZXRlbnRpb24pIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIC8vIENhbGN1bGF0ZSB0aGUgZnVuY3Rpb24gbmFtZSB0aGF0IENESyB3aWxsIGdlbmVyYXRlXG4gIC8vIFRoaXMgbWltaWNzIENESydzIGRlZmF1bHQgbmFtaW5nOiB7U3RhY2tOYW1lfS17Q29uc3RydWN0SWR9LXtVbmlxdWVIYXNofVxuICBjb25zdCB1bmlxdWVJZCA9IE5hbWVzLnVuaXF1ZUlkKHNjb3BlKS5zdWJzdHJpbmcoMCwgOCk7XG4gIGNvbnN0IGZ1bmN0aW9uTmFtZSA9XG4gICAgcHJvcHMuZnVuY3Rpb25OYW1lID8/XG4gICAgYCR7U3RhY2sub2Yoc2NvcGUpLnN0YWNrTmFtZX0tJHtpZH0tJHt1bmlxdWVJZH1gLnN1YnN0cmluZygwLCA2NCk7XG5cbiAgcmV0dXJuIG5ldyBMb2dHcm91cChzY29wZSwgYCR7aWR9TG9nR3JvdXBgLCB7XG4gICAgbG9nR3JvdXBOYW1lOiBsb2dDb25maWc/LmxvZ0dyb3VwTmFtZSA/PyBgL2F3cy9sYW1iZGEvJHtmdW5jdGlvbk5hbWV9YCxcbiAgICByZXRlbnRpb246IGxvZ0NvbmZpZz8ucmV0ZW50aW9uID8/IFJldGVudGlvbkRheXMuVEhSRUVfREFZUyxcbiAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gIH0pO1xufVxuIl19
|
package/package.json
CHANGED