@bluedynamics/cdk8s-monitoring 1.6.0 → 1.7.0
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/lib/constructs/alloy-traces.js +2 -1
- package/lib/constructs/alloy.d.ts +1 -1
- package/lib/constructs/alloy.js +3 -3
- package/lib/constructs/loki.d.ts +1 -1
- package/lib/constructs/loki.js +6 -6
- package/lib/constructs/priority-class.d.ts +3 -3
- package/lib/constructs/priority-class.js +4 -4
- package/lib/constructs/prometheus-stack.d.ts +1 -1
- package/lib/constructs/prometheus-stack.js +9 -7
- package/lib/constructs/tempo.js +2 -1
- package/lib/constructs/thanos-compactor.d.ts +1 -1
- package/lib/constructs/thanos-compactor.js +3 -3
- package/lib/constructs/thanos-query.d.ts +1 -1
- package/lib/constructs/thanos-query.js +3 -3
- package/lib/constructs/thanos-store.d.ts +1 -1
- package/lib/constructs/thanos-store.js +3 -3
- package/lib/default-config.js +7 -1
- package/lib/monitoring-chart.d.ts +1 -1
- package/lib/monitoring-chart.js +5 -3
- package/lib/types.d.ts +16 -0
- package/lib/types.js +1 -1
- package/package.json +1 -1
|
@@ -101,6 +101,7 @@ alloy:
|
|
|
101
101
|
tls { insecure = true }
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
+
priorityClassName: ${config.priorityClasses.capture}
|
|
104
105
|
resources:
|
|
105
106
|
requests:
|
|
106
107
|
cpu: ${config.resources.alloyTraces.requests.cpu}
|
|
@@ -112,4 +113,4 @@ resources:
|
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
115
|
exports.AlloyTracesConstruct = AlloyTracesConstruct;
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb3ktdHJhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvYWxsb3ktdHJhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlDQUFrQztBQUNsQywyQ0FBdUM7QUFFdkMsNkNBQXlEO0FBT3pEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsc0JBQVM7SUFDakQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1QjtRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRXBDLElBQUksaUJBQVMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ2xDLFVBQVUsRUFBRSxtQkFBbUI7WUFDL0IsSUFBSSxFQUFFLFdBQVc7WUFDakIsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxjQUFjO2dCQUNwQixTQUFTLEVBQUUsU0FBUztnQkFDcEIsTUFBTSxFQUFFO29CQUNOLHdCQUF3QixFQUFFLGNBQWM7b0JBQ3hDLDZCQUE2QixFQUFFLGlCQUFpQjtvQkFDaEQsOEJBQThCLEVBQUUsT0FBTztvQkFDdkMsMkJBQTJCLEVBQUUsWUFBWTtpQkFDMUM7Z0JBQ0QsV0FBVyxFQUFFO29CQUNYLDhCQUE4QixFQUFFLEdBQUc7aUJBQ3BDO2FBQ0Y7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLHVDQUF1QztnQkFDN0MsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsT0FBTyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUs7Z0JBQy9FLGVBQWUsRUFBRSxTQUFTO2dCQUMxQixhQUFhLEVBQUUsc0NBQXlCO2dCQUN4QyxhQUFhLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQzthQUMvQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxNQUF3QjtRQUNqRCxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUNyQywwRUFBMEU7UUFDMUUsNkVBQTZFO1FBQzdFLHdFQUF3RTtRQUN4RSxNQUFNLG1CQUFtQixHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDOzs7OztrREFLWixFQUFFLENBQUMsb0JBQW9CO1VBQy9ELENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNaLE9BQU87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztxQ0FpQzBCLEVBQUUsQ0FBQyxrQkFBa0I7V0FDL0MsbUJBQW1COzs7Ozs7OzhCQU9BLE1BQU0sQ0FBQyxTQUFTOzs7O3FCQUl6QixNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU87OztXQUd4QyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRztjQUN0QyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTTs7V0FFL0MsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUc7Y0FDcEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU07Q0FDdkQsQ0FBQztJQUNBLENBQUM7Q0FDRjtBQXBHRCxvREFvR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcGlPYmplY3QgfSBmcm9tICdjZGs4cyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IE1vbml0b3JpbmdDb25maWcgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBIRUxNX0NIQVJUX0ZBSUxVUkVfUE9MSUNZIH0gZnJvbSAnLi9oZWxtLWNoYXJ0JztcblxuZXhwb3J0IGludGVyZmFjZSBBbGxveVRyYWNlc1Byb3BzIHtcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIGNvbmZpZzogTW9uaXRvcmluZ0NvbmZpZztcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgZGVkaWNhdGVkIEFsbG95IGRlcGxveW1lbnQgYXMgdGhlIE9UTFAgdHJhY2VzIGdhdGV3YXkuXG4gKlxuICogQXBwcyBzZW5kIE9UTFAgKGdSUEMgNDMxNyAvIEhUVFAgNDMxOCkgdG8gdGhlIGBhbGxveS10cmFjZXNgIHNlcnZpY2UuIFRoaXNcbiAqIHNpbmdsZS1yZXBsaWNhIGdhdGV3YXkgdGFpbC1zYW1wbGVzIChhbGwgZXJyb3JzICsgc2xvdyB0cmFjZXMgKyBhIHByb2JhYmlsaXN0aWNcbiAqIHJlbWFpbmRlcikgYW5kIGV4cG9ydHMgdG8gVGVtcG8ncyBPVExQIGRpc3RyaWJ1dG9yLiBPbmUgcmVwbGljYSBndWFyYW50ZWVzIGFcbiAqIHNpbmdsZSBpbnN0YW5jZSBzZWVzIGFsbCBzcGFucyBvZiBhIHRyYWNlLCB3aGljaCB0YWlsLXNhbXBsaW5nIHJlcXVpcmVzLlxuICpcbiAqIFN5bmMgV2F2ZTogMyAoYWR2YW5jZWQgc2VydmljZXMsIGFsb25nc2lkZSBUZW1wbykuXG4gKi9cbmV4cG9ydCBjbGFzcyBBbGxveVRyYWNlc0NvbnN0cnVjdCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBbGxveVRyYWNlc1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHsgbmFtZXNwYWNlLCBjb25maWcgfSA9IHByb3BzO1xuXG4gICAgbmV3IEFwaU9iamVjdCh0aGlzLCAnYWxsb3ktdHJhY2VzJywge1xuICAgICAgYXBpVmVyc2lvbjogJ2hlbG0uY2F0dGxlLmlvL3YxJyxcbiAgICAgIGtpbmQ6ICdIZWxtQ2hhcnQnLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgbmFtZTogJ2FsbG95LXRyYWNlcycsXG4gICAgICAgIG5hbWVzcGFjZTogbmFtZXNwYWNlLFxuICAgICAgICBsYWJlbHM6IHtcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vbmFtZSc6ICdhbGxveS10cmFjZXMnLFxuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9jb21wb25lbnQnOiAndHJhY2UtY29sbGVjdG9yJyxcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vbWFuYWdlZC1ieSc6ICdjZGs4cycsXG4gICAgICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL3BhcnQtb2YnOiAnbW9uaXRvcmluZycsXG4gICAgICAgIH0sXG4gICAgICAgIGFubm90YXRpb25zOiB7XG4gICAgICAgICAgJ2FyZ29jZC5hcmdvcHJvai5pby9zeW5jLXdhdmUnOiAnMycsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc3BlYzoge1xuICAgICAgICByZXBvOiAnaHR0cHM6Ly9ncmFmYW5hLmdpdGh1Yi5pby9oZWxtLWNoYXJ0cycsXG4gICAgICAgIGNoYXJ0OiAnYWxsb3knLFxuICAgICAgICB2ZXJzaW9uOiBjb25maWcudmVyc2lvbnMuYWxsb3kgPT09ICdsYXRlc3QnID8gdW5kZWZpbmVkIDogY29uZmlnLnZlcnNpb25zLmFsbG95LFxuICAgICAgICB0YXJnZXROYW1lc3BhY2U6IG5hbWVzcGFjZSxcbiAgICAgICAgZmFpbHVyZVBvbGljeTogSEVMTV9DSEFSVF9GQUlMVVJFX1BPTElDWSxcbiAgICAgICAgdmFsdWVzQ29udGVudDogdGhpcy5nZW5lcmF0ZUhlbG1WYWx1ZXMoY29uZmlnKSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlSGVsbVZhbHVlcyhjb25maWc6IE1vbml0b3JpbmdDb25maWcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRzID0gY29uZmlnLnRlbXBvLnRhaWxTYW1wbGluZztcbiAgICAvLyBUaGUgcHJvYmFiaWxpc3RpYyBwb2xpY3kga2VlcHMgYSBwZXJjZW50YWdlIG9mIHRoZSB0cmFjZXMgdGhhdCBubyBvdGhlclxuICAgIC8vIHBvbGljeSBtYXRjaGVkIChpLmUuIGZhc3QsIG5vbi1lcnJvciB0cmFjZXMpLiBPbWl0IGl0IGVudGlyZWx5IHdoZW4gc2V0IHRvXG4gICAgLy8gMCBzbyB0aG9zZSB0cmFjZXMgYXJlIGRyb3BwZWQgaW5zdGVhZCBvZiBsZWFraW5nIGEgZnJhY3Rpb24gdG8gVGVtcG8uXG4gICAgY29uc3QgcHJvYmFiaWxpc3RpY1BvbGljeSA9IHRzLnByb2JhYmlsaXN0aWNQZXJjZW50ID4gMCA/IGBcblxuICAgICAgICBwb2xpY3kge1xuICAgICAgICAgIG5hbWUgPSBcInJlc3RcIlxuICAgICAgICAgIHR5cGUgPSBcInByb2JhYmlsaXN0aWNcIlxuICAgICAgICAgIHByb2JhYmlsaXN0aWMgeyBzYW1wbGluZ19wZXJjZW50YWdlID0gJHt0cy5wcm9iYWJpbGlzdGljUGVyY2VudH0gfVxuICAgICAgICB9YCA6ICcnO1xuICAgIHJldHVybiBgY29udHJvbGxlcjpcbiAgdHlwZTogZGVwbG95bWVudFxuICByZXBsaWNhczogMVxuYWxsb3k6XG4gIGV4dHJhUG9ydHM6XG4gICAgLSBuYW1lOiBvdGxwLWdycGNcbiAgICAgIHBvcnQ6IDQzMTdcbiAgICAgIHRhcmdldFBvcnQ6IDQzMTdcbiAgICAgIHByb3RvY29sOiBUQ1BcbiAgICAtIG5hbWU6IG90bHAtaHR0cFxuICAgICAgcG9ydDogNDMxOFxuICAgICAgdGFyZ2V0UG9ydDogNDMxOFxuICAgICAgcHJvdG9jb2w6IFRDUFxuICBjb25maWdNYXA6XG4gICAgY29udGVudDogfC1cbiAgICAgIG90ZWxjb2wucmVjZWl2ZXIub3RscCBcImRlZmF1bHRcIiB7XG4gICAgICAgIGdycGMgeyBlbmRwb2ludCA9IFwiMC4wLjAuMDo0MzE3XCIgfVxuICAgICAgICBodHRwIHsgZW5kcG9pbnQgPSBcIjAuMC4wLjA6NDMxOFwiIH1cbiAgICAgICAgb3V0cHV0IHsgdHJhY2VzID0gW290ZWxjb2wucHJvY2Vzc29yLnRhaWxfc2FtcGxpbmcuZGVmYXVsdC5pbnB1dF0gfVxuICAgICAgfVxuXG4gICAgICBvdGVsY29sLnByb2Nlc3Nvci50YWlsX3NhbXBsaW5nIFwiZGVmYXVsdFwiIHtcbiAgICAgICAgZGVjaXNpb25fd2FpdCA9IFwiMTBzXCJcblxuICAgICAgICBwb2xpY3kge1xuICAgICAgICAgIG5hbWUgPSBcImVycm9yc1wiXG4gICAgICAgICAgdHlwZSA9IFwic3RhdHVzX2NvZGVcIlxuICAgICAgICAgIHN0YXR1c19jb2RlIHsgc3RhdHVzX2NvZGVzID0gW1wiRVJST1JcIl0gfVxuICAgICAgICB9XG5cbiAgICAgICAgcG9saWN5IHtcbiAgICAgICAgICBuYW1lID0gXCJzbG93XCJcbiAgICAgICAgICB0eXBlID0gXCJsYXRlbmN5XCJcbiAgICAgICAgICBsYXRlbmN5IHsgdGhyZXNob2xkX21zID0gJHt0cy5sYXRlbmN5VGhyZXNob2xkTXN9IH1cbiAgICAgICAgfSR7cHJvYmFiaWxpc3RpY1BvbGljeX1cblxuICAgICAgICBvdXRwdXQgeyB0cmFjZXMgPSBbb3RlbGNvbC5leHBvcnRlci5vdGxwLnRlbXBvLmlucHV0XSB9XG4gICAgICB9XG5cbiAgICAgIG90ZWxjb2wuZXhwb3J0ZXIub3RscCBcInRlbXBvXCIge1xuICAgICAgICBjbGllbnQge1xuICAgICAgICAgIGVuZHBvaW50ID0gXCJ0ZW1wby4ke2NvbmZpZy5uYW1lc3BhY2V9LnN2Yy5jbHVzdGVyLmxvY2FsOjQzMTdcIlxuICAgICAgICAgIHRscyB7IGluc2VjdXJlID0gdHJ1ZSB9XG4gICAgICAgIH1cbiAgICAgIH1cbnByaW9yaXR5Q2xhc3NOYW1lOiAke2NvbmZpZy5wcmlvcml0eUNsYXNzZXMuY2FwdHVyZX1cbnJlc291cmNlczpcbiAgcmVxdWVzdHM6XG4gICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuYWxsb3lUcmFjZXMucmVxdWVzdHMuY3B1fVxuICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmFsbG95VHJhY2VzLnJlcXVlc3RzLm1lbW9yeX1cbiAgbGltaXRzOlxuICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmFsbG95VHJhY2VzLmxpbWl0cy5jcHV9XG4gICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuYWxsb3lUcmFjZXMubGltaXRzLm1lbW9yeX1cbmA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -17,7 +17,7 @@ export interface AlloyProps {
|
|
|
17
17
|
*
|
|
18
18
|
* Prerequisites:
|
|
19
19
|
* - Namespace exists
|
|
20
|
-
* -
|
|
20
|
+
* - The PriorityClasses named in config.priorityClasses exist
|
|
21
21
|
* - Loki gateway service exists
|
|
22
22
|
* - RBAC permissions for pod log access
|
|
23
23
|
*
|
package/lib/constructs/alloy.js
CHANGED
|
@@ -17,7 +17,7 @@ const helm_chart_1 = require("./helm-chart");
|
|
|
17
17
|
*
|
|
18
18
|
* Prerequisites:
|
|
19
19
|
* - Namespace exists
|
|
20
|
-
* -
|
|
20
|
+
* - The PriorityClasses named in config.priorityClasses exist
|
|
21
21
|
* - Loki gateway service exists
|
|
22
22
|
* - RBAC permissions for pod log access
|
|
23
23
|
*
|
|
@@ -202,9 +202,9 @@ rbac:
|
|
|
202
202
|
serviceAccount:
|
|
203
203
|
create: true
|
|
204
204
|
|
|
205
|
-
priorityClassName:
|
|
205
|
+
priorityClassName: ${config.priorityClasses.capture}
|
|
206
206
|
`;
|
|
207
207
|
}
|
|
208
208
|
}
|
|
209
209
|
exports.AlloyConstruct = AlloyConstruct;
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RydWN0cy9hbGxveS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBa0M7QUFDbEMsMkNBQXVDO0FBRXZDLDZDQUF5RDtBQU96RDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFDM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFpQjtRQUN6RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRXBDLDhEQUE4RDtRQUM5RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbkQsa0RBQWtEO1FBQ2xELCtDQUErQztRQUMvQyxJQUFJLGlCQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRTtZQUMzQixVQUFVLEVBQUUsbUJBQW1CO1lBQy9CLElBQUksRUFBRSxXQUFXO1lBQ2pCLFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUsT0FBTztnQkFDYixTQUFTLEVBQUUsU0FBUztnQkFDcEIsTUFBTSxFQUFFO29CQUNOLHdCQUF3QixFQUFFLE9BQU87b0JBQ2pDLDZCQUE2QixFQUFFLGVBQWU7b0JBQzlDLDhCQUE4QixFQUFFLE9BQU87b0JBQ3ZDLDJCQUEyQixFQUFFLFlBQVk7aUJBQzFDO2dCQUNELFdBQVcsRUFBRTtvQkFDWCw4QkFBOEIsRUFBRSxHQUFHO2lCQUNwQzthQUNGO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSx1Q0FBdUM7Z0JBQzdDLEtBQUssRUFBRSxPQUFPO2dCQUNkLE9BQU8sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLO2dCQUMvRSxlQUFlLEVBQUUsU0FBUztnQkFDMUIsYUFBYSxFQUFFLHNDQUF5QjtnQkFDeEMsYUFBYSxFQUFFLFVBQVU7YUFDMUI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsTUFBd0I7UUFDakQsNERBQTREO1FBQzVELDZEQUE2RDtRQUM3RCxPQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7dUNBK0c0QixNQUFNLENBQUMsU0FBUzs7O3VCQUdoQyxNQUFNLENBQUMsV0FBVzs7Ozs7O1dBTTlCLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHO2NBQzlCLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNOztXQUV2QyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRztjQUNoQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTTs7Ozs7O2FBTXZDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHO2dCQUN2QyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsTUFBTTs7YUFFaEQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUc7Z0JBQ3pDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNOzs7Ozs7Ozs7Q0FTOUQsQ0FBQztJQUNBLENBQUM7Q0FDRjtBQTFMRCx3Q0EwTEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcGlPYmplY3QgfSBmcm9tICdjZGs4cyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IE1vbml0b3JpbmdDb25maWcgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBIRUxNX0NIQVJUX0ZBSUxVUkVfUE9MSUNZIH0gZnJvbSAnLi9oZWxtLWNoYXJ0JztcblxuZXhwb3J0IGludGVyZmFjZSBBbGxveVByb3BzIHtcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIGNvbmZpZzogTW9uaXRvcmluZ0NvbmZpZztcbn1cblxuLyoqXG4gKiBDcmVhdGVzIEFsbG95IChHcmFmYW5hIEFnZW50KSBIZWxtQ2hhcnQgZm9yIGxvZyBjb2xsZWN0aW9uLlxuICpcbiAqIFRoaXMgY29uc3RydWN0IGRlcGxveXMgQWxsb3kgYXMgYSBEYWVtb25TZXQgdGhhdDpcbiAqIC0gUnVucyBvbiBldmVyeSBub2RlIGluIHRoZSBjbHVzdGVyXG4gKiAtIENvbGxlY3RzIGxvZ3MgZnJvbSBhbGwgcG9kcyB2aWEgS3ViZXJuZXRlcyBBUElcbiAqIC0gUGFyc2VzIEpTT04gc3RydWN0dXJlZCBsb2dzXG4gKiAtIEV4dHJhY3RzIHN0cnVjdHVyZWQgbWV0YWRhdGEgKHRyYWNlX2lkLCByZXF1ZXN0X2lkLCBldGMuKVxuICogLSBUYWdzIGxvZ3Mgd2l0aCBjbHVzdGVyPTxjbHVzdGVyTmFtZT4gbGFiZWxcbiAqIC0gRm9yd2FyZHMgbG9ncyB0byBMb2tpIGdhdGV3YXlcbiAqXG4gKiBQcmVyZXF1aXNpdGVzOlxuICogLSBOYW1lc3BhY2UgZXhpc3RzXG4gKiAtIFByaW9yaXR5Q2xhc3MgJ2hpZ2gtcHJpb3JpdHknIGV4aXN0c1xuICogLSBMb2tpIGdhdGV3YXkgc2VydmljZSBleGlzdHNcbiAqIC0gUkJBQyBwZXJtaXNzaW9ucyBmb3IgcG9kIGxvZyBhY2Nlc3NcbiAqXG4gKiBTeW5jIFdhdmU6IDMgKGxvZyBjb2xsZWN0aW9uIC0gYWZ0ZXIgTG9raSBpcyByZWFkeSlcbiAqL1xuZXhwb3J0IGNsYXNzIEFsbG95Q29uc3RydWN0IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFsbG95UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgeyBuYW1lc3BhY2UsIGNvbmZpZyB9ID0gcHJvcHM7XG5cbiAgICAvLyBHZW5lcmF0ZSBIZWxtIHZhbHVlcyBZQU1MIHdpdGggZW1iZWRkZWQgQWxsb3kgY29uZmlndXJhdGlvblxuICAgIGNvbnN0IGhlbG1WYWx1ZXMgPSB0aGlzLmdlbmVyYXRlSGVsbVZhbHVlcyhjb25maWcpO1xuXG4gICAgLy8gQ3JlYXRlIEhlbG1DaGFydCByZXNvdXJjZSAoSzNTIEhlbG0gY29udHJvbGxlcilcbiAgICAvLyBXYXZlIDM6IExvZyBDb2xsZWN0aW9uIC0gYWZ0ZXIgTG9raSBpcyByZWFkeVxuICAgIG5ldyBBcGlPYmplY3QodGhpcywgJ2FsbG95Jywge1xuICAgICAgYXBpVmVyc2lvbjogJ2hlbG0uY2F0dGxlLmlvL3YxJyxcbiAgICAgIGtpbmQ6ICdIZWxtQ2hhcnQnLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgbmFtZTogJ2FsbG95JyxcbiAgICAgICAgbmFtZXNwYWNlOiBuYW1lc3BhY2UsXG4gICAgICAgIGxhYmVsczoge1xuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9uYW1lJzogJ2FsbG95JyxcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vY29tcG9uZW50JzogJ2xvZy1jb2xsZWN0b3InLFxuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9tYW5hZ2VkLWJ5JzogJ2NkazhzJyxcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vcGFydC1vZic6ICdtb25pdG9yaW5nJyxcbiAgICAgICAgfSxcbiAgICAgICAgYW5ub3RhdGlvbnM6IHtcbiAgICAgICAgICAnYXJnb2NkLmFyZ29wcm9qLmlvL3N5bmMtd2F2ZSc6ICczJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzcGVjOiB7XG4gICAgICAgIHJlcG86ICdodHRwczovL2dyYWZhbmEuZ2l0aHViLmlvL2hlbG0tY2hhcnRzJyxcbiAgICAgICAgY2hhcnQ6ICdhbGxveScsXG4gICAgICAgIHZlcnNpb246IGNvbmZpZy52ZXJzaW9ucy5hbGxveSA9PT0gJ2xhdGVzdCcgPyB1bmRlZmluZWQgOiBjb25maWcudmVyc2lvbnMuYWxsb3ksXG4gICAgICAgIHRhcmdldE5hbWVzcGFjZTogbmFtZXNwYWNlLFxuICAgICAgICBmYWlsdXJlUG9saWN5OiBIRUxNX0NIQVJUX0ZBSUxVUkVfUE9MSUNZLFxuICAgICAgICB2YWx1ZXNDb250ZW50OiBoZWxtVmFsdWVzLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVIZWxtVmFsdWVzKGNvbmZpZzogTW9uaXRvcmluZ0NvbmZpZyk6IHN0cmluZyB7XG4gICAgLy8gQWxsb3kgY29uZmlndXJhdGlvbiBpcyB3cml0dGVuIGluIEFsbG95J3MgSENMLWxpa2Ugc3ludGF4XG4gICAgLy8gVGhpcyBpcyBlbWJlZGRlZCBpbiB0aGUgSGVsbSB2YWx1ZXMgYXMgYSBtdWx0aS1saW5lIHN0cmluZ1xuICAgIHJldHVybiBgY29udHJvbGxlcjpcbiAgdHlwZTogZGFlbW9uc2V0XG5cbmFsbG95OlxuICBjb25maWdNYXA6XG4gICAgY3JlYXRlOiB0cnVlXG4gICAgY29udGVudDogfC1cbiAgICAgIGxvZ2dpbmcge1xuICAgICAgICBsZXZlbCAgPSBcImluZm9cIlxuICAgICAgICBmb3JtYXQgPSBcImxvZ2ZtdFwiXG4gICAgICB9XG5cbiAgICAgIGRpc2NvdmVyeS5rdWJlcm5ldGVzIFwicG9kc1wiIHtcbiAgICAgICAgcm9sZSA9IFwicG9kXCJcbiAgICAgICAgc2VsZWN0b3JzIHtcbiAgICAgICAgICByb2xlICA9IFwicG9kXCJcbiAgICAgICAgICBmaWVsZCA9IFwic3BlYy5ub2RlTmFtZT1cIiArIHN5cy5lbnYoXCJIT1NUTkFNRVwiKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIF9fbWV0YV9rdWJlcm5ldGVzXyogbGFiZWxzIGxpdmUgb24gZGlzY292ZXJ5IHRhcmdldHMgb25seSDigJRcbiAgICAgIC8vIGxva2kuc291cmNlLmt1YmVybmV0ZXMgZG9lcyBub3QgcHJvcGFnYXRlIHRoZW0gdG8gbG9nIHN0cmVhbXMuXG4gICAgICAvLyBSZWxhYmVsIGhlcmUgc28gbmFtZXNwYWNlL3BvZC9jb250YWluZXIvZXRjIGJlY29tZSByZWFsIGxhYmVscy5cbiAgICAgIGRpc2NvdmVyeS5yZWxhYmVsIFwicG9kX2xvZ3NcIiB7XG4gICAgICAgIHRhcmdldHMgPSBkaXNjb3Zlcnkua3ViZXJuZXRlcy5wb2RzLnRhcmdldHNcblxuICAgICAgICAvLyBTa2lwIHRlcm1pbmFsbHkgRmFpbGVkIHBvZHMgYW5kIFVua25vd24tc3RhdGUgcG9kcy5cbiAgICAgICAgLy8gT2xkIGNyYXNoZWQgcG9kcyBvdGhlcndpc2UgcGluIGxva2kuc291cmNlLmt1YmVybmV0ZXMgaW4gYVxuICAgICAgICAvLyByZXRyeSBsb29wLCBibG9ja2luZyBpdCBmcm9tIHRhaWxpbmcgdGhlIHJ1bm5pbmcgcmVwbGljYS5cbiAgICAgICAgLy8gQ3Jhc2hMb29wQmFja09mZiBwb2RzIHN0YXkgcGhhc2U9UnVubmluZyDigJQgd2Uga2VlcCB0YWlsaW5nIHRob3NlLlxuICAgICAgICBydWxlIHtcbiAgICAgICAgICBzb3VyY2VfbGFiZWxzID0gW1wiX19tZXRhX2t1YmVybmV0ZXNfcG9kX3BoYXNlXCJdXG4gICAgICAgICAgcmVnZXggICAgICAgICA9IFwiRmFpbGVkfFVua25vd25cIlxuICAgICAgICAgIGFjdGlvbiAgICAgICAgPSBcImRyb3BcIlxuICAgICAgICB9XG5cbiAgICAgICAgcnVsZSB7XG4gICAgICAgICAgc291cmNlX2xhYmVscyA9IFtcIl9fbWV0YV9rdWJlcm5ldGVzX25hbWVzcGFjZVwiXVxuICAgICAgICAgIHRhcmdldF9sYWJlbCAgPSBcIm5hbWVzcGFjZVwiXG4gICAgICAgIH1cblxuICAgICAgICBydWxlIHtcbiAgICAgICAgICBzb3VyY2VfbGFiZWxzID0gW1wiX19tZXRhX2t1YmVybmV0ZXNfcG9kX25hbWVcIl1cbiAgICAgICAgICB0YXJnZXRfbGFiZWwgID0gXCJwb2RcIlxuICAgICAgICB9XG5cbiAgICAgICAgcnVsZSB7XG4gICAgICAgICAgc291cmNlX2xhYmVscyA9IFtcIl9fbWV0YV9rdWJlcm5ldGVzX3BvZF9jb250YWluZXJfbmFtZVwiXVxuICAgICAgICAgIHRhcmdldF9sYWJlbCAgPSBcImNvbnRhaW5lclwiXG4gICAgICAgIH1cblxuICAgICAgICBydWxlIHtcbiAgICAgICAgICBzb3VyY2VfbGFiZWxzID0gW1wiX19tZXRhX2t1YmVybmV0ZXNfcG9kX2xhYmVsX2FwcFwiXVxuICAgICAgICAgIHRhcmdldF9sYWJlbCAgPSBcImFwcFwiXG4gICAgICAgIH1cblxuICAgICAgICBydWxlIHtcbiAgICAgICAgICBzb3VyY2VfbGFiZWxzID0gW1wiX19tZXRhX2t1YmVybmV0ZXNfcG9kX2xhYmVsX2FwcF9rdWJlcm5ldGVzX2lvX2NvbXBvbmVudFwiXVxuICAgICAgICAgIHRhcmdldF9sYWJlbCAgPSBcImNvbXBvbmVudFwiXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbG9raS5zb3VyY2Uua3ViZXJuZXRlcyBcInBvZHNcIiB7XG4gICAgICAgIHRhcmdldHMgICAgPSBkaXNjb3ZlcnkucmVsYWJlbC5wb2RfbG9ncy5vdXRwdXRcbiAgICAgICAgZm9yd2FyZF90byA9IFtsb2tpLnByb2Nlc3MubG9ncy5yZWNlaXZlcl1cbiAgICAgIH1cblxuICAgICAgbG9raS5wcm9jZXNzIFwibG9nc1wiIHtcbiAgICAgICAgZm9yd2FyZF90byA9IFtsb2tpLndyaXRlLmRlZmF1bHQucmVjZWl2ZXJdXG5cbiAgICAgICAgc3RhZ2UuanNvbiB7XG4gICAgICAgICAgZXhwcmVzc2lvbnMgPSB7XG4gICAgICAgICAgICB0aW1lc3RhbXAgICAgPSBcInRpbWVzdGFtcFwiLFxuICAgICAgICAgICAgbGV2ZWwgICAgICAgID0gXCJsZXZlbFwiLFxuICAgICAgICAgICAgZXZlbnQgICAgICAgID0gXCJldmVudFwiLFxuICAgICAgICAgICAgY29tcG9uZW50ICAgID0gXCJjb21wb25lbnRcIixcbiAgICAgICAgICAgIGNvbm5lY3Rvcl9pZCA9IFwiY29ubmVjdG9yX2lkXCIsXG4gICAgICAgICAgICB1c2VyX2lkICAgICAgPSBcInVzZXJfaWRcIixcbiAgICAgICAgICAgIHJlcXVlc3RfaWQgICA9IFwicmVxdWVzdF9pZFwiLFxuICAgICAgICAgICAgdHJhY2VfaWQgICAgID0gXCJ0cmFjZV9pZFwiLFxuICAgICAgICAgICAga2Fma2EgICAgICAgID0gXCJrYWZrYVwiLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHN0YWdlLmxhYmVscyB7XG4gICAgICAgICAgdmFsdWVzID0ge1xuICAgICAgICAgICAgbGV2ZWwgPSBcImxldmVsXCIsXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhZ2Uuc3RydWN0dXJlZF9tZXRhZGF0YSB7XG4gICAgICAgICAgdmFsdWVzID0ge1xuICAgICAgICAgICAgY29ubmVjdG9yX2lkID0gXCJjb25uZWN0b3JfaWRcIixcbiAgICAgICAgICAgIHVzZXJfaWQgICAgICA9IFwidXNlcl9pZFwiLFxuICAgICAgICAgICAgcmVxdWVzdF9pZCAgID0gXCJyZXF1ZXN0X2lkXCIsXG4gICAgICAgICAgICB0cmFjZV9pZCAgICAgPSBcInRyYWNlX2lkXCIsXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhZ2UudGltZXN0YW1wIHtcbiAgICAgICAgICBzb3VyY2UgPSBcInRpbWVzdGFtcFwiXG4gICAgICAgICAgZm9ybWF0ID0gXCJSRkMzMzM5XCJcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YWdlLm91dHB1dCB7XG4gICAgICAgICAgc291cmNlID0gXCJldmVudFwiXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbG9raS53cml0ZSBcImRlZmF1bHRcIiB7XG4gICAgICAgIGVuZHBvaW50IHtcbiAgICAgICAgICB1cmwgPSBcImh0dHA6Ly9sb2tpLWdhdGV3YXkuJHtjb25maWcubmFtZXNwYWNlfS5zdmMuY2x1c3Rlci5sb2NhbC9sb2tpL2FwaS92MS9wdXNoXCJcbiAgICAgICAgfVxuICAgICAgICBleHRlcm5hbF9sYWJlbHMgPSB7XG4gICAgICAgICAgY2x1c3RlciA9IFwiJHtjb25maWcuY2x1c3Rlck5hbWV9XCIsXG4gICAgICAgIH1cbiAgICAgIH1cblxucmVzb3VyY2VzOlxuICBsaW1pdHM6XG4gICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuYWxsb3kubGltaXRzLmNwdX1cbiAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5hbGxveS5saW1pdHMubWVtb3J5fVxuICByZXF1ZXN0czpcbiAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5hbGxveS5yZXF1ZXN0cy5jcHV9XG4gICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuYWxsb3kucmVxdWVzdHMubWVtb3J5fVxuXG4jIENvbmZpZy1yZWxvYWRlciBzaWRlY2FyIHJlc291cmNlcyAoYWRkZWQgMjAyNS0xMS0xOClcbmNvbmZpZ1JlbG9hZGVyOlxuICByZXNvdXJjZXM6XG4gICAgbGltaXRzOlxuICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIubGltaXRzLmNwdX1cbiAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmNvbmZpZ1JlbG9hZGVyLmxpbWl0cy5tZW1vcnl9XG4gICAgcmVxdWVzdHM6XG4gICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5yZXF1ZXN0cy5jcHV9XG4gICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5yZXF1ZXN0cy5tZW1vcnl9XG5cbnJiYWM6XG4gIGNyZWF0ZTogdHJ1ZVxuXG5zZXJ2aWNlQWNjb3VudDpcbiAgY3JlYXRlOiB0cnVlXG5cbnByaW9yaXR5Q2xhc3NOYW1lOiBoaWdoLXByaW9yaXR5XG5gO1xuICB9XG59XG4iXX0=
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RydWN0cy9hbGxveS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBa0M7QUFDbEMsMkNBQXVDO0FBRXZDLDZDQUF5RDtBQU96RDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFDM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFpQjtRQUN6RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRXBDLDhEQUE4RDtRQUM5RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbkQsa0RBQWtEO1FBQ2xELCtDQUErQztRQUMvQyxJQUFJLGlCQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRTtZQUMzQixVQUFVLEVBQUUsbUJBQW1CO1lBQy9CLElBQUksRUFBRSxXQUFXO1lBQ2pCLFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUsT0FBTztnQkFDYixTQUFTLEVBQUUsU0FBUztnQkFDcEIsTUFBTSxFQUFFO29CQUNOLHdCQUF3QixFQUFFLE9BQU87b0JBQ2pDLDZCQUE2QixFQUFFLGVBQWU7b0JBQzlDLDhCQUE4QixFQUFFLE9BQU87b0JBQ3ZDLDJCQUEyQixFQUFFLFlBQVk7aUJBQzFDO2dCQUNELFdBQVcsRUFBRTtvQkFDWCw4QkFBOEIsRUFBRSxHQUFHO2lCQUNwQzthQUNGO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSx1Q0FBdUM7Z0JBQzdDLEtBQUssRUFBRSxPQUFPO2dCQUNkLE9BQU8sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLO2dCQUMvRSxlQUFlLEVBQUUsU0FBUztnQkFDMUIsYUFBYSxFQUFFLHNDQUF5QjtnQkFDeEMsYUFBYSxFQUFFLFVBQVU7YUFDMUI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsTUFBd0I7UUFDakQsNERBQTREO1FBQzVELDZEQUE2RDtRQUM3RCxPQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7dUNBK0c0QixNQUFNLENBQUMsU0FBUzs7O3VCQUdoQyxNQUFNLENBQUMsV0FBVzs7Ozs7O1dBTTlCLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHO2NBQzlCLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNOztXQUV2QyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRztjQUNoQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTTs7Ozs7O2FBTXZDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHO2dCQUN2QyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsTUFBTTs7YUFFaEQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUc7Z0JBQ3pDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNOzs7Ozs7OztxQkFRMUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPO0NBQ2xELENBQUM7SUFDQSxDQUFDO0NBQ0Y7QUExTEQsd0NBMExDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBpT2JqZWN0IH0gZnJvbSAnY2RrOHMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBNb25pdG9yaW5nQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgSEVMTV9DSEFSVF9GQUlMVVJFX1BPTElDWSB9IGZyb20gJy4vaGVsbS1jaGFydCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWxsb3lQcm9wcyB7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBjb25maWc6IE1vbml0b3JpbmdDb25maWc7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBBbGxveSAoR3JhZmFuYSBBZ2VudCkgSGVsbUNoYXJ0IGZvciBsb2cgY29sbGVjdGlvbi5cbiAqXG4gKiBUaGlzIGNvbnN0cnVjdCBkZXBsb3lzIEFsbG95IGFzIGEgRGFlbW9uU2V0IHRoYXQ6XG4gKiAtIFJ1bnMgb24gZXZlcnkgbm9kZSBpbiB0aGUgY2x1c3RlclxuICogLSBDb2xsZWN0cyBsb2dzIGZyb20gYWxsIHBvZHMgdmlhIEt1YmVybmV0ZXMgQVBJXG4gKiAtIFBhcnNlcyBKU09OIHN0cnVjdHVyZWQgbG9nc1xuICogLSBFeHRyYWN0cyBzdHJ1Y3R1cmVkIG1ldGFkYXRhICh0cmFjZV9pZCwgcmVxdWVzdF9pZCwgZXRjLilcbiAqIC0gVGFncyBsb2dzIHdpdGggY2x1c3Rlcj08Y2x1c3Rlck5hbWU+IGxhYmVsXG4gKiAtIEZvcndhcmRzIGxvZ3MgdG8gTG9raSBnYXRld2F5XG4gKlxuICogUHJlcmVxdWlzaXRlczpcbiAqIC0gTmFtZXNwYWNlIGV4aXN0c1xuICogLSBUaGUgUHJpb3JpdHlDbGFzc2VzIG5hbWVkIGluIGNvbmZpZy5wcmlvcml0eUNsYXNzZXMgZXhpc3RcbiAqIC0gTG9raSBnYXRld2F5IHNlcnZpY2UgZXhpc3RzXG4gKiAtIFJCQUMgcGVybWlzc2lvbnMgZm9yIHBvZCBsb2cgYWNjZXNzXG4gKlxuICogU3luYyBXYXZlOiAzIChsb2cgY29sbGVjdGlvbiAtIGFmdGVyIExva2kgaXMgcmVhZHkpXG4gKi9cbmV4cG9ydCBjbGFzcyBBbGxveUNvbnN0cnVjdCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBbGxveVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHsgbmFtZXNwYWNlLCBjb25maWcgfSA9IHByb3BzO1xuXG4gICAgLy8gR2VuZXJhdGUgSGVsbSB2YWx1ZXMgWUFNTCB3aXRoIGVtYmVkZGVkIEFsbG95IGNvbmZpZ3VyYXRpb25cbiAgICBjb25zdCBoZWxtVmFsdWVzID0gdGhpcy5nZW5lcmF0ZUhlbG1WYWx1ZXMoY29uZmlnKTtcblxuICAgIC8vIENyZWF0ZSBIZWxtQ2hhcnQgcmVzb3VyY2UgKEszUyBIZWxtIGNvbnRyb2xsZXIpXG4gICAgLy8gV2F2ZSAzOiBMb2cgQ29sbGVjdGlvbiAtIGFmdGVyIExva2kgaXMgcmVhZHlcbiAgICBuZXcgQXBpT2JqZWN0KHRoaXMsICdhbGxveScsIHtcbiAgICAgIGFwaVZlcnNpb246ICdoZWxtLmNhdHRsZS5pby92MScsXG4gICAgICBraW5kOiAnSGVsbUNoYXJ0JyxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIG5hbWU6ICdhbGxveScsXG4gICAgICAgIG5hbWVzcGFjZTogbmFtZXNwYWNlLFxuICAgICAgICBsYWJlbHM6IHtcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vbmFtZSc6ICdhbGxveScsXG4gICAgICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL2NvbXBvbmVudCc6ICdsb2ctY29sbGVjdG9yJyxcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vbWFuYWdlZC1ieSc6ICdjZGs4cycsXG4gICAgICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL3BhcnQtb2YnOiAnbW9uaXRvcmluZycsXG4gICAgICAgIH0sXG4gICAgICAgIGFubm90YXRpb25zOiB7XG4gICAgICAgICAgJ2FyZ29jZC5hcmdvcHJvai5pby9zeW5jLXdhdmUnOiAnMycsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc3BlYzoge1xuICAgICAgICByZXBvOiAnaHR0cHM6Ly9ncmFmYW5hLmdpdGh1Yi5pby9oZWxtLWNoYXJ0cycsXG4gICAgICAgIGNoYXJ0OiAnYWxsb3knLFxuICAgICAgICB2ZXJzaW9uOiBjb25maWcudmVyc2lvbnMuYWxsb3kgPT09ICdsYXRlc3QnID8gdW5kZWZpbmVkIDogY29uZmlnLnZlcnNpb25zLmFsbG95LFxuICAgICAgICB0YXJnZXROYW1lc3BhY2U6IG5hbWVzcGFjZSxcbiAgICAgICAgZmFpbHVyZVBvbGljeTogSEVMTV9DSEFSVF9GQUlMVVJFX1BPTElDWSxcbiAgICAgICAgdmFsdWVzQ29udGVudDogaGVsbVZhbHVlcyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlSGVsbVZhbHVlcyhjb25maWc6IE1vbml0b3JpbmdDb25maWcpOiBzdHJpbmcge1xuICAgIC8vIEFsbG95IGNvbmZpZ3VyYXRpb24gaXMgd3JpdHRlbiBpbiBBbGxveSdzIEhDTC1saWtlIHN5bnRheFxuICAgIC8vIFRoaXMgaXMgZW1iZWRkZWQgaW4gdGhlIEhlbG0gdmFsdWVzIGFzIGEgbXVsdGktbGluZSBzdHJpbmdcbiAgICByZXR1cm4gYGNvbnRyb2xsZXI6XG4gIHR5cGU6IGRhZW1vbnNldFxuXG5hbGxveTpcbiAgY29uZmlnTWFwOlxuICAgIGNyZWF0ZTogdHJ1ZVxuICAgIGNvbnRlbnQ6IHwtXG4gICAgICBsb2dnaW5nIHtcbiAgICAgICAgbGV2ZWwgID0gXCJpbmZvXCJcbiAgICAgICAgZm9ybWF0ID0gXCJsb2dmbXRcIlxuICAgICAgfVxuXG4gICAgICBkaXNjb3Zlcnkua3ViZXJuZXRlcyBcInBvZHNcIiB7XG4gICAgICAgIHJvbGUgPSBcInBvZFwiXG4gICAgICAgIHNlbGVjdG9ycyB7XG4gICAgICAgICAgcm9sZSAgPSBcInBvZFwiXG4gICAgICAgICAgZmllbGQgPSBcInNwZWMubm9kZU5hbWU9XCIgKyBzeXMuZW52KFwiSE9TVE5BTUVcIilcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBfX21ldGFfa3ViZXJuZXRlc18qIGxhYmVscyBsaXZlIG9uIGRpc2NvdmVyeSB0YXJnZXRzIG9ubHkg4oCUXG4gICAgICAvLyBsb2tpLnNvdXJjZS5rdWJlcm5ldGVzIGRvZXMgbm90IHByb3BhZ2F0ZSB0aGVtIHRvIGxvZyBzdHJlYW1zLlxuICAgICAgLy8gUmVsYWJlbCBoZXJlIHNvIG5hbWVzcGFjZS9wb2QvY29udGFpbmVyL2V0YyBiZWNvbWUgcmVhbCBsYWJlbHMuXG4gICAgICBkaXNjb3ZlcnkucmVsYWJlbCBcInBvZF9sb2dzXCIge1xuICAgICAgICB0YXJnZXRzID0gZGlzY292ZXJ5Lmt1YmVybmV0ZXMucG9kcy50YXJnZXRzXG5cbiAgICAgICAgLy8gU2tpcCB0ZXJtaW5hbGx5IEZhaWxlZCBwb2RzIGFuZCBVbmtub3duLXN0YXRlIHBvZHMuXG4gICAgICAgIC8vIE9sZCBjcmFzaGVkIHBvZHMgb3RoZXJ3aXNlIHBpbiBsb2tpLnNvdXJjZS5rdWJlcm5ldGVzIGluIGFcbiAgICAgICAgLy8gcmV0cnkgbG9vcCwgYmxvY2tpbmcgaXQgZnJvbSB0YWlsaW5nIHRoZSBydW5uaW5nIHJlcGxpY2EuXG4gICAgICAgIC8vIENyYXNoTG9vcEJhY2tPZmYgcG9kcyBzdGF5IHBoYXNlPVJ1bm5pbmcg4oCUIHdlIGtlZXAgdGFpbGluZyB0aG9zZS5cbiAgICAgICAgcnVsZSB7XG4gICAgICAgICAgc291cmNlX2xhYmVscyA9IFtcIl9fbWV0YV9rdWJlcm5ldGVzX3BvZF9waGFzZVwiXVxuICAgICAgICAgIHJlZ2V4ICAgICAgICAgPSBcIkZhaWxlZHxVbmtub3duXCJcbiAgICAgICAgICBhY3Rpb24gICAgICAgID0gXCJkcm9wXCJcbiAgICAgICAgfVxuXG4gICAgICAgIHJ1bGUge1xuICAgICAgICAgIHNvdXJjZV9sYWJlbHMgPSBbXCJfX21ldGFfa3ViZXJuZXRlc19uYW1lc3BhY2VcIl1cbiAgICAgICAgICB0YXJnZXRfbGFiZWwgID0gXCJuYW1lc3BhY2VcIlxuICAgICAgICB9XG5cbiAgICAgICAgcnVsZSB7XG4gICAgICAgICAgc291cmNlX2xhYmVscyA9IFtcIl9fbWV0YV9rdWJlcm5ldGVzX3BvZF9uYW1lXCJdXG4gICAgICAgICAgdGFyZ2V0X2xhYmVsICA9IFwicG9kXCJcbiAgICAgICAgfVxuXG4gICAgICAgIHJ1bGUge1xuICAgICAgICAgIHNvdXJjZV9sYWJlbHMgPSBbXCJfX21ldGFfa3ViZXJuZXRlc19wb2RfY29udGFpbmVyX25hbWVcIl1cbiAgICAgICAgICB0YXJnZXRfbGFiZWwgID0gXCJjb250YWluZXJcIlxuICAgICAgICB9XG5cbiAgICAgICAgcnVsZSB7XG4gICAgICAgICAgc291cmNlX2xhYmVscyA9IFtcIl9fbWV0YV9rdWJlcm5ldGVzX3BvZF9sYWJlbF9hcHBcIl1cbiAgICAgICAgICB0YXJnZXRfbGFiZWwgID0gXCJhcHBcIlxuICAgICAgICB9XG5cbiAgICAgICAgcnVsZSB7XG4gICAgICAgICAgc291cmNlX2xhYmVscyA9IFtcIl9fbWV0YV9rdWJlcm5ldGVzX3BvZF9sYWJlbF9hcHBfa3ViZXJuZXRlc19pb19jb21wb25lbnRcIl1cbiAgICAgICAgICB0YXJnZXRfbGFiZWwgID0gXCJjb21wb25lbnRcIlxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxva2kuc291cmNlLmt1YmVybmV0ZXMgXCJwb2RzXCIge1xuICAgICAgICB0YXJnZXRzICAgID0gZGlzY292ZXJ5LnJlbGFiZWwucG9kX2xvZ3Mub3V0cHV0XG4gICAgICAgIGZvcndhcmRfdG8gPSBbbG9raS5wcm9jZXNzLmxvZ3MucmVjZWl2ZXJdXG4gICAgICB9XG5cbiAgICAgIGxva2kucHJvY2VzcyBcImxvZ3NcIiB7XG4gICAgICAgIGZvcndhcmRfdG8gPSBbbG9raS53cml0ZS5kZWZhdWx0LnJlY2VpdmVyXVxuXG4gICAgICAgIHN0YWdlLmpzb24ge1xuICAgICAgICAgIGV4cHJlc3Npb25zID0ge1xuICAgICAgICAgICAgdGltZXN0YW1wICAgID0gXCJ0aW1lc3RhbXBcIixcbiAgICAgICAgICAgIGxldmVsICAgICAgICA9IFwibGV2ZWxcIixcbiAgICAgICAgICAgIGV2ZW50ICAgICAgICA9IFwiZXZlbnRcIixcbiAgICAgICAgICAgIGNvbXBvbmVudCAgICA9IFwiY29tcG9uZW50XCIsXG4gICAgICAgICAgICBjb25uZWN0b3JfaWQgPSBcImNvbm5lY3Rvcl9pZFwiLFxuICAgICAgICAgICAgdXNlcl9pZCAgICAgID0gXCJ1c2VyX2lkXCIsXG4gICAgICAgICAgICByZXF1ZXN0X2lkICAgPSBcInJlcXVlc3RfaWRcIixcbiAgICAgICAgICAgIHRyYWNlX2lkICAgICA9IFwidHJhY2VfaWRcIixcbiAgICAgICAgICAgIGthZmthICAgICAgICA9IFwia2Fma2FcIixcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzdGFnZS5sYWJlbHMge1xuICAgICAgICAgIHZhbHVlcyA9IHtcbiAgICAgICAgICAgIGxldmVsID0gXCJsZXZlbFwiLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHN0YWdlLnN0cnVjdHVyZWRfbWV0YWRhdGEge1xuICAgICAgICAgIHZhbHVlcyA9IHtcbiAgICAgICAgICAgIGNvbm5lY3Rvcl9pZCA9IFwiY29ubmVjdG9yX2lkXCIsXG4gICAgICAgICAgICB1c2VyX2lkICAgICAgPSBcInVzZXJfaWRcIixcbiAgICAgICAgICAgIHJlcXVlc3RfaWQgICA9IFwicmVxdWVzdF9pZFwiLFxuICAgICAgICAgICAgdHJhY2VfaWQgICAgID0gXCJ0cmFjZV9pZFwiLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHN0YWdlLnRpbWVzdGFtcCB7XG4gICAgICAgICAgc291cmNlID0gXCJ0aW1lc3RhbXBcIlxuICAgICAgICAgIGZvcm1hdCA9IFwiUkZDMzMzOVwiXG4gICAgICAgIH1cblxuICAgICAgICBzdGFnZS5vdXRwdXQge1xuICAgICAgICAgIHNvdXJjZSA9IFwiZXZlbnRcIlxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxva2kud3JpdGUgXCJkZWZhdWx0XCIge1xuICAgICAgICBlbmRwb2ludCB7XG4gICAgICAgICAgdXJsID0gXCJodHRwOi8vbG9raS1nYXRld2F5LiR7Y29uZmlnLm5hbWVzcGFjZX0uc3ZjLmNsdXN0ZXIubG9jYWwvbG9raS9hcGkvdjEvcHVzaFwiXG4gICAgICAgIH1cbiAgICAgICAgZXh0ZXJuYWxfbGFiZWxzID0ge1xuICAgICAgICAgIGNsdXN0ZXIgPSBcIiR7Y29uZmlnLmNsdXN0ZXJOYW1lfVwiLFxuICAgICAgICB9XG4gICAgICB9XG5cbnJlc291cmNlczpcbiAgbGltaXRzOlxuICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmFsbG95LmxpbWl0cy5jcHV9XG4gICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuYWxsb3kubGltaXRzLm1lbW9yeX1cbiAgcmVxdWVzdHM6XG4gICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuYWxsb3kucmVxdWVzdHMuY3B1fVxuICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmFsbG95LnJlcXVlc3RzLm1lbW9yeX1cblxuIyBDb25maWctcmVsb2FkZXIgc2lkZWNhciByZXNvdXJjZXMgKGFkZGVkIDIwMjUtMTEtMTgpXG5jb25maWdSZWxvYWRlcjpcbiAgcmVzb3VyY2VzOlxuICAgIGxpbWl0czpcbiAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmNvbmZpZ1JlbG9hZGVyLmxpbWl0cy5jcHV9XG4gICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5saW1pdHMubWVtb3J5fVxuICAgIHJlcXVlc3RzOlxuICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIucmVxdWVzdHMuY3B1fVxuICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIucmVxdWVzdHMubWVtb3J5fVxuXG5yYmFjOlxuICBjcmVhdGU6IHRydWVcblxuc2VydmljZUFjY291bnQ6XG4gIGNyZWF0ZTogdHJ1ZVxuXG5wcmlvcml0eUNsYXNzTmFtZTogJHtjb25maWcucHJpb3JpdHlDbGFzc2VzLmNhcHR1cmV9XG5gO1xuICB9XG59XG4iXX0=
|
package/lib/constructs/loki.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export interface LokiProps {
|
|
|
17
17
|
*
|
|
18
18
|
* Prerequisites:
|
|
19
19
|
* - Namespace exists
|
|
20
|
-
* -
|
|
20
|
+
* - The PriorityClasses named in config.priorityClasses exist
|
|
21
21
|
* - Longhorn storage class available
|
|
22
22
|
* - S3 bucket exists (via Crossplane)
|
|
23
23
|
* - S3 credentials secret exists (via LokiS3CredentialsConstruct)
|
package/lib/constructs/loki.js
CHANGED
|
@@ -16,7 +16,7 @@ const helm_chart_1 = require("./helm-chart");
|
|
|
16
16
|
*
|
|
17
17
|
* Prerequisites:
|
|
18
18
|
* - Namespace exists
|
|
19
|
-
* -
|
|
19
|
+
* - The PriorityClasses named in config.priorityClasses exist
|
|
20
20
|
* - Longhorn storage class available
|
|
21
21
|
* - S3 bucket exists (via Crossplane)
|
|
22
22
|
* - S3 credentials secret exists (via LokiS3CredentialsConstruct)
|
|
@@ -121,7 +121,7 @@ backend:
|
|
|
121
121
|
enabled: true
|
|
122
122
|
storageClass: longhorn
|
|
123
123
|
size: ${config.storage.lokiBackend}
|
|
124
|
-
priorityClassName:
|
|
124
|
+
priorityClassName: ${config.priorityClasses.capture}
|
|
125
125
|
|
|
126
126
|
read:
|
|
127
127
|
replicas: ${config.replicas.lokiRead}
|
|
@@ -137,7 +137,7 @@ read:
|
|
|
137
137
|
requests:
|
|
138
138
|
cpu: ${config.resources.lokiRead.requests.cpu}
|
|
139
139
|
memory: ${config.resources.lokiRead.requests.memory}
|
|
140
|
-
priorityClassName:
|
|
140
|
+
priorityClassName: ${config.priorityClasses.query}
|
|
141
141
|
|
|
142
142
|
write:
|
|
143
143
|
replicas: ${config.replicas.lokiWrite}
|
|
@@ -157,7 +157,7 @@ write:
|
|
|
157
157
|
enabled: true
|
|
158
158
|
storageClass: longhorn
|
|
159
159
|
size: ${config.storage.lokiWrite}
|
|
160
|
-
priorityClassName:
|
|
160
|
+
priorityClassName: ${config.priorityClasses.capture}
|
|
161
161
|
|
|
162
162
|
gateway:
|
|
163
163
|
enabled: true
|
|
@@ -169,7 +169,7 @@ gateway:
|
|
|
169
169
|
requests:
|
|
170
170
|
cpu: ${config.resources.lokiGateway.requests.cpu}
|
|
171
171
|
memory: ${config.resources.lokiGateway.requests.memory}
|
|
172
|
-
priorityClassName:
|
|
172
|
+
priorityClassName: ${config.priorityClasses.capture}
|
|
173
173
|
|
|
174
174
|
minio:
|
|
175
175
|
enabled: false
|
|
@@ -184,4 +184,4 @@ resultsCache:
|
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
186
|
exports.LokiConstruct = LokiConstruct;
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9raS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3RzL2xva2kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWtDO0FBQ2xDLDJDQUF1QztBQUV2Qyw2Q0FBeUQ7QUFRekQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILE1BQWEsYUFBYyxTQUFRLHNCQUFTO0lBQzFDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZ0I7UUFDeEQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUU3RCw0QkFBNEI7UUFDNUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBRTVFLGtEQUFrRDtRQUNsRCwwQ0FBMEM7UUFDMUMsSUFBSSxpQkFBUyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDMUIsVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixJQUFJLEVBQUUsV0FBVztZQUNqQixRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLE1BQU07Z0JBQ1osU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLE1BQU0sRUFBRTtvQkFDTix3QkFBd0IsRUFBRSxNQUFNO29CQUNoQyw2QkFBNkIsRUFBRSxTQUFTO29CQUN4Qyw4QkFBOEIsRUFBRSxPQUFPO29CQUN2QywyQkFBMkIsRUFBRSxZQUFZO2lCQUMxQztnQkFDRCxXQUFXLEVBQUU7b0JBQ1gsOEJBQThCLEVBQUUsR0FBRztpQkFDcEM7YUFDRjtZQUNELElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsdUNBQXVDO2dCQUM3QyxLQUFLLEVBQUUsTUFBTTtnQkFDYixPQUFPLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSTtnQkFDN0UsZUFBZSxFQUFFLFNBQVM7Z0JBQzFCLGFBQWEsRUFBRSxzQ0FBeUI7Z0JBQ3hDLGFBQWEsRUFBRSxVQUFVO2FBQzFCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGtCQUFrQixDQUN4QixNQUF3QixFQUN4Qix1QkFBK0I7UUFFL0IsaUZBQWlGO1FBQ2pGLDRFQUE0RTtRQUM1RSxtRkFBbUY7UUFFbkYsT0FBTzs7Ozs7Ozs7Ozs7Ozs7Ozs7Z0JBaUJLLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUk7ZUFDdkIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSTs7O2tCQUduQixNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVE7Ozs7Ozs7Ozs7Ozs7d0JBYVosTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJOzs7Ozs7Ozs7Y0FTL0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXOzs7OztnQkFLekIsdUJBQXVCOzs7YUFHMUIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUc7Z0JBQ3BDLE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNOzthQUU3QyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRztnQkFDdEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU07Ozs7WUFJaEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXOzs7O2NBSXhCLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUTs7Ozs7Z0JBS3RCLHVCQUF1Qjs7O2FBRzFCLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHO2dCQUNqQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTTs7YUFFMUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUc7Z0JBQ25DLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNOzs7O2NBSTNDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUzs7Ozs7Z0JBS3ZCLHVCQUF1Qjs7O2FBRzFCLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHO2dCQUNsQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTTs7YUFFM0MsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUc7Z0JBQ3BDLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNOzs7O1lBSTlDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUzs7Ozs7Y0FLdEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPOzs7YUFHeEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUc7Z0JBQ3BDLE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNOzthQUU3QyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRztnQkFDdEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU07Ozs7Ozs7Ozs7OztDQVkzRCxDQUFDO0lBQ0EsQ0FBQztDQUNGO0FBdktELHNDQXVLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwaU9iamVjdCB9IGZyb20gJ2NkazhzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgTW9uaXRvcmluZ0NvbmZpZyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEhFTE1fQ0hBUlRfRkFJTFVSRV9QT0xJQ1kgfSBmcm9tICcuL2hlbG0tY2hhcnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExva2lQcm9wcyB7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBjb25maWc6IE1vbml0b3JpbmdDb25maWc7XG4gIHMzQ3JlZGVudGlhbHNTZWNyZXROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBMb2tpIEhlbG1DaGFydCBmb3IgbG9nIGFnZ3JlZ2F0aW9uLlxuICpcbiAqIFRoaXMgY29uc3RydWN0IGRlcGxveXMgTG9raSBpbiBTaW1wbGVTY2FsYWJsZSBtb2RlIHdpdGg6XG4gKiAtIEJhY2tlbmQgKDIgcmVwbGljYXMpIC0gSW5kZXggYW5kIGNvbXBhY3Rpb25cbiAqIC0gUmVhZCAoMiByZXBsaWNhcykgLSBRdWVyeSBwcm9jZXNzaW5nXG4gKiAtIFdyaXRlICgyIHJlcGxpY2FzKSAtIExvZyBpbmdlc3Rpb25cbiAqIC0gR2F0ZXdheSAoMSByZXBsaWNhKSAtIEhUVFAgQVBJIGVuZHBvaW50XG4gKiAtIFMzIHN0b3JhZ2UgYmFja2VuZCAoSGV0em5lciBPYmplY3QgU3RvcmFnZSlcbiAqXG4gKiBQcmVyZXF1aXNpdGVzOlxuICogLSBOYW1lc3BhY2UgZXhpc3RzXG4gKiAtIFByaW9yaXR5Q2xhc3MgJ2hpZ2gtcHJpb3JpdHknIGV4aXN0c1xuICogLSBMb25naG9ybiBzdG9yYWdlIGNsYXNzIGF2YWlsYWJsZVxuICogLSBTMyBidWNrZXQgZXhpc3RzICh2aWEgQ3Jvc3NwbGFuZSlcbiAqIC0gUzMgY3JlZGVudGlhbHMgc2VjcmV0IGV4aXN0cyAodmlhIExva2lTM0NyZWRlbnRpYWxzQ29uc3RydWN0KVxuICpcbiAqIFN5bmMgV2F2ZTogMiAoY29yZSBzZXJ2aWNlcyAtIGFmdGVyIFMzIGNyZWRlbnRpYWxzIHNlY3JldClcbiAqL1xuZXhwb3J0IGNsYXNzIExva2lDb25zdHJ1Y3QgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTG9raVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHsgbmFtZXNwYWNlLCBjb25maWcsIHMzQ3JlZGVudGlhbHNTZWNyZXROYW1lIH0gPSBwcm9wcztcblxuICAgIC8vIEdlbmVyYXRlIEhlbG0gdmFsdWVzIFlBTUxcbiAgICBjb25zdCBoZWxtVmFsdWVzID0gdGhpcy5nZW5lcmF0ZUhlbG1WYWx1ZXMoY29uZmlnLCBzM0NyZWRlbnRpYWxzU2VjcmV0TmFtZSk7XG5cbiAgICAvLyBDcmVhdGUgSGVsbUNoYXJ0IHJlc291cmNlIChLM1MgSGVsbSBjb250cm9sbGVyKVxuICAgIC8vIFdhdmUgMjogQ29yZSBTZXJ2aWNlcyAtIGxvZyBhZ2dyZWdhdGlvblxuICAgIG5ldyBBcGlPYmplY3QodGhpcywgJ2xva2knLCB7XG4gICAgICBhcGlWZXJzaW9uOiAnaGVsbS5jYXR0bGUuaW8vdjEnLFxuICAgICAga2luZDogJ0hlbG1DaGFydCcsXG4gICAgICBtZXRhZGF0YToge1xuICAgICAgICBuYW1lOiAnbG9raScsXG4gICAgICAgIG5hbWVzcGFjZTogbmFtZXNwYWNlLFxuICAgICAgICBsYWJlbHM6IHtcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vbmFtZSc6ICdsb2tpJyxcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vY29tcG9uZW50JzogJ2xvZ2dpbmcnLFxuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9tYW5hZ2VkLWJ5JzogJ2NkazhzJyxcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vcGFydC1vZic6ICdtb25pdG9yaW5nJyxcbiAgICAgICAgfSxcbiAgICAgICAgYW5ub3RhdGlvbnM6IHtcbiAgICAgICAgICAnYXJnb2NkLmFyZ29wcm9qLmlvL3N5bmMtd2F2ZSc6ICcyJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzcGVjOiB7XG4gICAgICAgIHJlcG86ICdodHRwczovL2dyYWZhbmEuZ2l0aHViLmlvL2hlbG0tY2hhcnRzJyxcbiAgICAgICAgY2hhcnQ6ICdsb2tpJyxcbiAgICAgICAgdmVyc2lvbjogY29uZmlnLnZlcnNpb25zLmxva2kgPT09ICdsYXRlc3QnID8gdW5kZWZpbmVkIDogY29uZmlnLnZlcnNpb25zLmxva2ksXG4gICAgICAgIHRhcmdldE5hbWVzcGFjZTogbmFtZXNwYWNlLFxuICAgICAgICBmYWlsdXJlUG9saWN5OiBIRUxNX0NIQVJUX0ZBSUxVUkVfUE9MSUNZLFxuICAgICAgICB2YWx1ZXNDb250ZW50OiBoZWxtVmFsdWVzLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVIZWxtVmFsdWVzKFxuICAgIGNvbmZpZzogTW9uaXRvcmluZ0NvbmZpZyxcbiAgICBzM0NyZWRlbnRpYWxzU2VjcmV0TmFtZTogc3RyaW5nLFxuICApOiBzdHJpbmcge1xuICAgIC8vIFMzIGNyZWRlbnRpYWxzIGFyZSBpbmplY3RlZCB2aWEgZW52aXJvbm1lbnQgdmFyaWFibGVzIGZyb20gYSBLdWJlcm5ldGVzIHNlY3JldFxuICAgIC8vIFRoZSBzZWNyZXQgaXMgY3JlYXRlZCBieSBMb2tpUzNDcmVkZW50aWFsc0NvbnN0cnVjdCB1c2luZyBFeHRlcm5hbFNlY3JldHNcbiAgICAvLyBMb2tpIGV4cGFuZHMgZW52aXJvbm1lbnQgdmFyaWFibGVzIGluIGNvbmZpZyB3aGVuIC1jb25maWcuZXhwYW5kLWVudj10cnVlIGlzIHNldFxuXG4gICAgcmV0dXJuIGBkZXBsb3ltZW50TW9kZTogU2ltcGxlU2NhbGFibGVcblxubG9raTpcbiAgYXV0aF9lbmFibGVkOiBmYWxzZVxuXG4gIHNjaGVtYUNvbmZpZzpcbiAgICBjb25maWdzOlxuICAgICAgLSBmcm9tOiAyMDI0LTAxLTAxXG4gICAgICAgIHN0b3JlOiB0c2RiXG4gICAgICAgIG9iamVjdF9zdG9yZTogczNcbiAgICAgICAgc2NoZW1hOiB2MTNcbiAgICAgICAgaW5kZXg6XG4gICAgICAgICAgcHJlZml4OiBsb2tpX2luZGV4X1xuICAgICAgICAgIHBlcmlvZDogMjRoXG5cbiAgc3RvcmFnZTpcbiAgICBidWNrZXROYW1lczpcbiAgICAgIGNodW5rczogJHtjb25maWcuczMuYnVja2V0cy5sb2tpfVxuICAgICAgcnVsZXI6ICR7Y29uZmlnLnMzLmJ1Y2tldHMubG9raX1cbiAgICB0eXBlOiBzM1xuICAgIHMzOlxuICAgICAgZW5kcG9pbnQ6ICR7Y29uZmlnLnMzLmVuZHBvaW50fVxuICAgICAgcmVnaW9uOiBhdXRvICAjIER1bW15IHJlZ2lvbiBmb3IgSGV0em5lciBTMyAoZW5kcG9pbnQgZGV0ZXJtaW5lcyBhY3R1YWwgbG9jYXRpb24pXG4gICAgICAjIENyZWRlbnRpYWxzIGFyZSBleHBhbmRlZCBmcm9tIGVudmlyb25tZW50IHZhcmlhYmxlcyBhdCBydW50aW1lXG4gICAgICBzZWNyZXRBY2Nlc3NLZXk6IFxcJHtBV1NfU0VDUkVUX0FDQ0VTU19LRVl9XG4gICAgICBhY2Nlc3NLZXlJZDogXFwke0FXU19BQ0NFU1NfS0VZX0lEfVxuICAgICAgczNGb3JjZVBhdGhTdHlsZTogZmFsc2VcbiAgICAgIGluc2VjdXJlOiBmYWxzZVxuXG4gIGxpbWl0c19jb25maWc6XG4gICAgYWxsb3dfc3RydWN0dXJlZF9tZXRhZGF0YTogdHJ1ZVxuICAgIG1heF9zdHJlYW1zX3Blcl91c2VyOiAxMDAwMDBcbiAgICBpbmdlc3Rpb25fcmF0ZV9tYjogMTBcbiAgICBpbmdlc3Rpb25fYnVyc3Rfc2l6ZV9tYjogMjBcbiAgICByZXRlbnRpb25fcGVyaW9kOiAke2NvbmZpZy5yZXRlbnRpb24ubG9raX1cbiAgICByZWplY3Rfb2xkX3NhbXBsZXM6IHRydWVcbiAgICByZWplY3Rfb2xkX3NhbXBsZXNfbWF4X2FnZTogMTY4aFxuXG4gIGNvbXBhY3RvcjpcbiAgICByZXRlbnRpb25fZW5hYmxlZDogdHJ1ZVxuICAgIGRlbGV0ZV9yZXF1ZXN0X3N0b3JlOiBzM1xuXG5iYWNrZW5kOlxuICByZXBsaWNhczogJHtjb25maWcucmVwbGljYXMubG9raUJhY2tlbmR9XG4gIGV4dHJhQXJnczpcbiAgICAtIFwiLWNvbmZpZy5leHBhbmQtZW52PXRydWVcIlxuICBleHRyYUVudkZyb206XG4gICAgLSBzZWNyZXRSZWY6XG4gICAgICAgIG5hbWU6ICR7czNDcmVkZW50aWFsc1NlY3JldE5hbWV9XG4gIHJlc291cmNlczpcbiAgICBsaW1pdHM6XG4gICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5sb2tpQmFja2VuZC5saW1pdHMuY3B1fVxuICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMubG9raUJhY2tlbmQubGltaXRzLm1lbW9yeX1cbiAgICByZXF1ZXN0czpcbiAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmxva2lCYWNrZW5kLnJlcXVlc3RzLmNwdX1cbiAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmxva2lCYWNrZW5kLnJlcXVlc3RzLm1lbW9yeX1cbiAgcGVyc2lzdGVuY2U6XG4gICAgZW5hYmxlZDogdHJ1ZVxuICAgIHN0b3JhZ2VDbGFzczogbG9uZ2hvcm5cbiAgICBzaXplOiAke2NvbmZpZy5zdG9yYWdlLmxva2lCYWNrZW5kfVxuICBwcmlvcml0eUNsYXNzTmFtZTogaGlnaC1wcmlvcml0eVxuXG5yZWFkOlxuICByZXBsaWNhczogJHtjb25maWcucmVwbGljYXMubG9raVJlYWR9XG4gIGV4dHJhQXJnczpcbiAgICAtIFwiLWNvbmZpZy5leHBhbmQtZW52PXRydWVcIlxuICBleHRyYUVudkZyb206XG4gICAgLSBzZWNyZXRSZWY6XG4gICAgICAgIG5hbWU6ICR7czNDcmVkZW50aWFsc1NlY3JldE5hbWV9XG4gIHJlc291cmNlczpcbiAgICBsaW1pdHM6XG4gICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5sb2tpUmVhZC5saW1pdHMuY3B1fVxuICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMubG9raVJlYWQubGltaXRzLm1lbW9yeX1cbiAgICByZXF1ZXN0czpcbiAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmxva2lSZWFkLnJlcXVlc3RzLmNwdX1cbiAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmxva2lSZWFkLnJlcXVlc3RzLm1lbW9yeX1cbiAgcHJpb3JpdHlDbGFzc05hbWU6IGhpZ2gtcHJpb3JpdHlcblxud3JpdGU6XG4gIHJlcGxpY2FzOiAke2NvbmZpZy5yZXBsaWNhcy5sb2tpV3JpdGV9XG4gIGV4dHJhQXJnczpcbiAgICAtIFwiLWNvbmZpZy5leHBhbmQtZW52PXRydWVcIlxuICBleHRyYUVudkZyb206XG4gICAgLSBzZWNyZXRSZWY6XG4gICAgICAgIG5hbWU6ICR7czNDcmVkZW50aWFsc1NlY3JldE5hbWV9XG4gIHJlc291cmNlczpcbiAgICBsaW1pdHM6XG4gICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5sb2tpV3JpdGUubGltaXRzLmNwdX1cbiAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmxva2lXcml0ZS5saW1pdHMubWVtb3J5fVxuICAgIHJlcXVlc3RzOlxuICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMubG9raVdyaXRlLnJlcXVlc3RzLmNwdX1cbiAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmxva2lXcml0ZS5yZXF1ZXN0cy5tZW1vcnl9XG4gIHBlcnNpc3RlbmNlOlxuICAgIGVuYWJsZWQ6IHRydWVcbiAgICBzdG9yYWdlQ2xhc3M6IGxvbmdob3JuXG4gICAgc2l6ZTogJHtjb25maWcuc3RvcmFnZS5sb2tpV3JpdGV9XG4gIHByaW9yaXR5Q2xhc3NOYW1lOiBoaWdoLXByaW9yaXR5XG5cbmdhdGV3YXk6XG4gIGVuYWJsZWQ6IHRydWVcbiAgcmVwbGljYXM6ICR7Y29uZmlnLnJlcGxpY2FzLmdyYWZhbmF9XG4gIHJlc291cmNlczpcbiAgICBsaW1pdHM6XG4gICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5sb2tpR2F0ZXdheS5saW1pdHMuY3B1fVxuICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMubG9raUdhdGV3YXkubGltaXRzLm1lbW9yeX1cbiAgICByZXF1ZXN0czpcbiAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmxva2lHYXRld2F5LnJlcXVlc3RzLmNwdX1cbiAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmxva2lHYXRld2F5LnJlcXVlc3RzLm1lbW9yeX1cbiAgcHJpb3JpdHlDbGFzc05hbWU6IGhpZ2gtcHJpb3JpdHlcblxubWluaW86XG4gIGVuYWJsZWQ6IGZhbHNlXG5cbiMgRGlzYWJsZSBtZW1jYWNoZWQgY2FjaGVzIHRvIHJlZHVjZSBtZW1vcnkgZm9vdHByaW50XG4jIE1lbWNhY2hlZCBpcyBhbiBvcHRpbWl6YXRpb24gZm9yIGhpZ2ggcXVlcnkgbG9hZHMsIG5vdCByZXF1aXJlZCBmb3Igc21hbGwgY2x1c3RlcnNcbmNodW5rc0NhY2hlOlxuICBlbmFibGVkOiBmYWxzZVxucmVzdWx0c0NhY2hlOlxuICBlbmFibGVkOiBmYWxzZVxuYDtcbiAgfVxufVxuIl19
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9raS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3RzL2xva2kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWtDO0FBQ2xDLDJDQUF1QztBQUV2Qyw2Q0FBeUQ7QUFRekQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILE1BQWEsYUFBYyxTQUFRLHNCQUFTO0lBQzFDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZ0I7UUFDeEQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUU3RCw0QkFBNEI7UUFDNUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBRTVFLGtEQUFrRDtRQUNsRCwwQ0FBMEM7UUFDMUMsSUFBSSxpQkFBUyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDMUIsVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixJQUFJLEVBQUUsV0FBVztZQUNqQixRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLE1BQU07Z0JBQ1osU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLE1BQU0sRUFBRTtvQkFDTix3QkFBd0IsRUFBRSxNQUFNO29CQUNoQyw2QkFBNkIsRUFBRSxTQUFTO29CQUN4Qyw4QkFBOEIsRUFBRSxPQUFPO29CQUN2QywyQkFBMkIsRUFBRSxZQUFZO2lCQUMxQztnQkFDRCxXQUFXLEVBQUU7b0JBQ1gsOEJBQThCLEVBQUUsR0FBRztpQkFDcEM7YUFDRjtZQUNELElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsdUNBQXVDO2dCQUM3QyxLQUFLLEVBQUUsTUFBTTtnQkFDYixPQUFPLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSTtnQkFDN0UsZUFBZSxFQUFFLFNBQVM7Z0JBQzFCLGFBQWEsRUFBRSxzQ0FBeUI7Z0JBQ3hDLGFBQWEsRUFBRSxVQUFVO2FBQzFCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGtCQUFrQixDQUN4QixNQUF3QixFQUN4Qix1QkFBK0I7UUFFL0IsaUZBQWlGO1FBQ2pGLDRFQUE0RTtRQUM1RSxtRkFBbUY7UUFFbkYsT0FBTzs7Ozs7Ozs7Ozs7Ozs7Ozs7Z0JBaUJLLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUk7ZUFDdkIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSTs7O2tCQUduQixNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVE7Ozs7Ozs7Ozs7Ozs7d0JBYVosTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJOzs7Ozs7Ozs7Y0FTL0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXOzs7OztnQkFLekIsdUJBQXVCOzs7YUFHMUIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUc7Z0JBQ3BDLE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNOzthQUU3QyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRztnQkFDdEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU07Ozs7WUFJaEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO3VCQUNmLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBTzs7O2NBR3ZDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUTs7Ozs7Z0JBS3RCLHVCQUF1Qjs7O2FBRzFCLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHO2dCQUNqQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTTs7YUFFMUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUc7Z0JBQ25DLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNO3VCQUNsQyxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQUs7OztjQUdyQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVM7Ozs7O2dCQUt2Qix1QkFBdUI7OzthQUcxQixNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRztnQkFDbEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU07O2FBRTNDLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHO2dCQUNwQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTTs7OztZQUk5QyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVM7dUJBQ2IsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPOzs7O2NBSXZDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTzs7O2FBR3hCLE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHO2dCQUNwQyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTTs7YUFFN0MsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUc7Z0JBQ3RDLE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNO3VCQUNyQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU87Ozs7Ozs7Ozs7O0NBV3BELENBQUM7SUFDQSxDQUFDO0NBQ0Y7QUF2S0Qsc0NBdUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBpT2JqZWN0IH0gZnJvbSAnY2RrOHMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBNb25pdG9yaW5nQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgSEVMTV9DSEFSVF9GQUlMVVJFX1BPTElDWSB9IGZyb20gJy4vaGVsbS1jaGFydCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9raVByb3BzIHtcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIGNvbmZpZzogTW9uaXRvcmluZ0NvbmZpZztcbiAgczNDcmVkZW50aWFsc1NlY3JldE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDcmVhdGVzIExva2kgSGVsbUNoYXJ0IGZvciBsb2cgYWdncmVnYXRpb24uXG4gKlxuICogVGhpcyBjb25zdHJ1Y3QgZGVwbG95cyBMb2tpIGluIFNpbXBsZVNjYWxhYmxlIG1vZGUgd2l0aDpcbiAqIC0gQmFja2VuZCAoMiByZXBsaWNhcykgLSBJbmRleCBhbmQgY29tcGFjdGlvblxuICogLSBSZWFkICgyIHJlcGxpY2FzKSAtIFF1ZXJ5IHByb2Nlc3NpbmdcbiAqIC0gV3JpdGUgKDIgcmVwbGljYXMpIC0gTG9nIGluZ2VzdGlvblxuICogLSBHYXRld2F5ICgxIHJlcGxpY2EpIC0gSFRUUCBBUEkgZW5kcG9pbnRcbiAqIC0gUzMgc3RvcmFnZSBiYWNrZW5kIChIZXR6bmVyIE9iamVjdCBTdG9yYWdlKVxuICpcbiAqIFByZXJlcXVpc2l0ZXM6XG4gKiAtIE5hbWVzcGFjZSBleGlzdHNcbiAqIC0gVGhlIFByaW9yaXR5Q2xhc3NlcyBuYW1lZCBpbiBjb25maWcucHJpb3JpdHlDbGFzc2VzIGV4aXN0XG4gKiAtIExvbmdob3JuIHN0b3JhZ2UgY2xhc3MgYXZhaWxhYmxlXG4gKiAtIFMzIGJ1Y2tldCBleGlzdHMgKHZpYSBDcm9zc3BsYW5lKVxuICogLSBTMyBjcmVkZW50aWFscyBzZWNyZXQgZXhpc3RzICh2aWEgTG9raVMzQ3JlZGVudGlhbHNDb25zdHJ1Y3QpXG4gKlxuICogU3luYyBXYXZlOiAyIChjb3JlIHNlcnZpY2VzIC0gYWZ0ZXIgUzMgY3JlZGVudGlhbHMgc2VjcmV0KVxuICovXG5leHBvcnQgY2xhc3MgTG9raUNvbnN0cnVjdCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBMb2tpUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgeyBuYW1lc3BhY2UsIGNvbmZpZywgczNDcmVkZW50aWFsc1NlY3JldE5hbWUgfSA9IHByb3BzO1xuXG4gICAgLy8gR2VuZXJhdGUgSGVsbSB2YWx1ZXMgWUFNTFxuICAgIGNvbnN0IGhlbG1WYWx1ZXMgPSB0aGlzLmdlbmVyYXRlSGVsbVZhbHVlcyhjb25maWcsIHMzQ3JlZGVudGlhbHNTZWNyZXROYW1lKTtcblxuICAgIC8vIENyZWF0ZSBIZWxtQ2hhcnQgcmVzb3VyY2UgKEszUyBIZWxtIGNvbnRyb2xsZXIpXG4gICAgLy8gV2F2ZSAyOiBDb3JlIFNlcnZpY2VzIC0gbG9nIGFnZ3JlZ2F0aW9uXG4gICAgbmV3IEFwaU9iamVjdCh0aGlzLCAnbG9raScsIHtcbiAgICAgIGFwaVZlcnNpb246ICdoZWxtLmNhdHRsZS5pby92MScsXG4gICAgICBraW5kOiAnSGVsbUNoYXJ0JyxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIG5hbWU6ICdsb2tpJyxcbiAgICAgICAgbmFtZXNwYWNlOiBuYW1lc3BhY2UsXG4gICAgICAgIGxhYmVsczoge1xuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9uYW1lJzogJ2xva2knLFxuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9jb21wb25lbnQnOiAnbG9nZ2luZycsXG4gICAgICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL21hbmFnZWQtYnknOiAnY2RrOHMnLFxuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9wYXJ0LW9mJzogJ21vbml0b3JpbmcnLFxuICAgICAgICB9LFxuICAgICAgICBhbm5vdGF0aW9uczoge1xuICAgICAgICAgICdhcmdvY2QuYXJnb3Byb2ouaW8vc3luYy13YXZlJzogJzInLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHNwZWM6IHtcbiAgICAgICAgcmVwbzogJ2h0dHBzOi8vZ3JhZmFuYS5naXRodWIuaW8vaGVsbS1jaGFydHMnLFxuICAgICAgICBjaGFydDogJ2xva2knLFxuICAgICAgICB2ZXJzaW9uOiBjb25maWcudmVyc2lvbnMubG9raSA9PT0gJ2xhdGVzdCcgPyB1bmRlZmluZWQgOiBjb25maWcudmVyc2lvbnMubG9raSxcbiAgICAgICAgdGFyZ2V0TmFtZXNwYWNlOiBuYW1lc3BhY2UsXG4gICAgICAgIGZhaWx1cmVQb2xpY3k6IEhFTE1fQ0hBUlRfRkFJTFVSRV9QT0xJQ1ksXG4gICAgICAgIHZhbHVlc0NvbnRlbnQ6IGhlbG1WYWx1ZXMsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUhlbG1WYWx1ZXMoXG4gICAgY29uZmlnOiBNb25pdG9yaW5nQ29uZmlnLFxuICAgIHMzQ3JlZGVudGlhbHNTZWNyZXROYW1lOiBzdHJpbmcsXG4gICk6IHN0cmluZyB7XG4gICAgLy8gUzMgY3JlZGVudGlhbHMgYXJlIGluamVjdGVkIHZpYSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZnJvbSBhIEt1YmVybmV0ZXMgc2VjcmV0XG4gICAgLy8gVGhlIHNlY3JldCBpcyBjcmVhdGVkIGJ5IExva2lTM0NyZWRlbnRpYWxzQ29uc3RydWN0IHVzaW5nIEV4dGVybmFsU2VjcmV0c1xuICAgIC8vIExva2kgZXhwYW5kcyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgaW4gY29uZmlnIHdoZW4gLWNvbmZpZy5leHBhbmQtZW52PXRydWUgaXMgc2V0XG5cbiAgICByZXR1cm4gYGRlcGxveW1lbnRNb2RlOiBTaW1wbGVTY2FsYWJsZVxuXG5sb2tpOlxuICBhdXRoX2VuYWJsZWQ6IGZhbHNlXG5cbiAgc2NoZW1hQ29uZmlnOlxuICAgIGNvbmZpZ3M6XG4gICAgICAtIGZyb206IDIwMjQtMDEtMDFcbiAgICAgICAgc3RvcmU6IHRzZGJcbiAgICAgICAgb2JqZWN0X3N0b3JlOiBzM1xuICAgICAgICBzY2hlbWE6IHYxM1xuICAgICAgICBpbmRleDpcbiAgICAgICAgICBwcmVmaXg6IGxva2lfaW5kZXhfXG4gICAgICAgICAgcGVyaW9kOiAyNGhcblxuICBzdG9yYWdlOlxuICAgIGJ1Y2tldE5hbWVzOlxuICAgICAgY2h1bmtzOiAke2NvbmZpZy5zMy5idWNrZXRzLmxva2l9XG4gICAgICBydWxlcjogJHtjb25maWcuczMuYnVja2V0cy5sb2tpfVxuICAgIHR5cGU6IHMzXG4gICAgczM6XG4gICAgICBlbmRwb2ludDogJHtjb25maWcuczMuZW5kcG9pbnR9XG4gICAgICByZWdpb246IGF1dG8gICMgRHVtbXkgcmVnaW9uIGZvciBIZXR6bmVyIFMzIChlbmRwb2ludCBkZXRlcm1pbmVzIGFjdHVhbCBsb2NhdGlvbilcbiAgICAgICMgQ3JlZGVudGlhbHMgYXJlIGV4cGFuZGVkIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzIGF0IHJ1bnRpbWVcbiAgICAgIHNlY3JldEFjY2Vzc0tleTogXFwke0FXU19TRUNSRVRfQUNDRVNTX0tFWX1cbiAgICAgIGFjY2Vzc0tleUlkOiBcXCR7QVdTX0FDQ0VTU19LRVlfSUR9XG4gICAgICBzM0ZvcmNlUGF0aFN0eWxlOiBmYWxzZVxuICAgICAgaW5zZWN1cmU6IGZhbHNlXG5cbiAgbGltaXRzX2NvbmZpZzpcbiAgICBhbGxvd19zdHJ1Y3R1cmVkX21ldGFkYXRhOiB0cnVlXG4gICAgbWF4X3N0cmVhbXNfcGVyX3VzZXI6IDEwMDAwMFxuICAgIGluZ2VzdGlvbl9yYXRlX21iOiAxMFxuICAgIGluZ2VzdGlvbl9idXJzdF9zaXplX21iOiAyMFxuICAgIHJldGVudGlvbl9wZXJpb2Q6ICR7Y29uZmlnLnJldGVudGlvbi5sb2tpfVxuICAgIHJlamVjdF9vbGRfc2FtcGxlczogdHJ1ZVxuICAgIHJlamVjdF9vbGRfc2FtcGxlc19tYXhfYWdlOiAxNjhoXG5cbiAgY29tcGFjdG9yOlxuICAgIHJldGVudGlvbl9lbmFibGVkOiB0cnVlXG4gICAgZGVsZXRlX3JlcXVlc3Rfc3RvcmU6IHMzXG5cbmJhY2tlbmQ6XG4gIHJlcGxpY2FzOiAke2NvbmZpZy5yZXBsaWNhcy5sb2tpQmFja2VuZH1cbiAgZXh0cmFBcmdzOlxuICAgIC0gXCItY29uZmlnLmV4cGFuZC1lbnY9dHJ1ZVwiXG4gIGV4dHJhRW52RnJvbTpcbiAgICAtIHNlY3JldFJlZjpcbiAgICAgICAgbmFtZTogJHtzM0NyZWRlbnRpYWxzU2VjcmV0TmFtZX1cbiAgcmVzb3VyY2VzOlxuICAgIGxpbWl0czpcbiAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmxva2lCYWNrZW5kLmxpbWl0cy5jcHV9XG4gICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5sb2tpQmFja2VuZC5saW1pdHMubWVtb3J5fVxuICAgIHJlcXVlc3RzOlxuICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMubG9raUJhY2tlbmQucmVxdWVzdHMuY3B1fVxuICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMubG9raUJhY2tlbmQucmVxdWVzdHMubWVtb3J5fVxuICBwZXJzaXN0ZW5jZTpcbiAgICBlbmFibGVkOiB0cnVlXG4gICAgc3RvcmFnZUNsYXNzOiBsb25naG9yblxuICAgIHNpemU6ICR7Y29uZmlnLnN0b3JhZ2UubG9raUJhY2tlbmR9XG4gIHByaW9yaXR5Q2xhc3NOYW1lOiAke2NvbmZpZy5wcmlvcml0eUNsYXNzZXMuY2FwdHVyZX1cblxucmVhZDpcbiAgcmVwbGljYXM6ICR7Y29uZmlnLnJlcGxpY2FzLmxva2lSZWFkfVxuICBleHRyYUFyZ3M6XG4gICAgLSBcIi1jb25maWcuZXhwYW5kLWVudj10cnVlXCJcbiAgZXh0cmFFbnZGcm9tOlxuICAgIC0gc2VjcmV0UmVmOlxuICAgICAgICBuYW1lOiAke3MzQ3JlZGVudGlhbHNTZWNyZXROYW1lfVxuICByZXNvdXJjZXM6XG4gICAgbGltaXRzOlxuICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMubG9raVJlYWQubGltaXRzLmNwdX1cbiAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmxva2lSZWFkLmxpbWl0cy5tZW1vcnl9XG4gICAgcmVxdWVzdHM6XG4gICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5sb2tpUmVhZC5yZXF1ZXN0cy5jcHV9XG4gICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5sb2tpUmVhZC5yZXF1ZXN0cy5tZW1vcnl9XG4gIHByaW9yaXR5Q2xhc3NOYW1lOiAke2NvbmZpZy5wcmlvcml0eUNsYXNzZXMucXVlcnl9XG5cbndyaXRlOlxuICByZXBsaWNhczogJHtjb25maWcucmVwbGljYXMubG9raVdyaXRlfVxuICBleHRyYUFyZ3M6XG4gICAgLSBcIi1jb25maWcuZXhwYW5kLWVudj10cnVlXCJcbiAgZXh0cmFFbnZGcm9tOlxuICAgIC0gc2VjcmV0UmVmOlxuICAgICAgICBuYW1lOiAke3MzQ3JlZGVudGlhbHNTZWNyZXROYW1lfVxuICByZXNvdXJjZXM6XG4gICAgbGltaXRzOlxuICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMubG9raVdyaXRlLmxpbWl0cy5jcHV9XG4gICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5sb2tpV3JpdGUubGltaXRzLm1lbW9yeX1cbiAgICByZXF1ZXN0czpcbiAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmxva2lXcml0ZS5yZXF1ZXN0cy5jcHV9XG4gICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5sb2tpV3JpdGUucmVxdWVzdHMubWVtb3J5fVxuICBwZXJzaXN0ZW5jZTpcbiAgICBlbmFibGVkOiB0cnVlXG4gICAgc3RvcmFnZUNsYXNzOiBsb25naG9yblxuICAgIHNpemU6ICR7Y29uZmlnLnN0b3JhZ2UubG9raVdyaXRlfVxuICBwcmlvcml0eUNsYXNzTmFtZTogJHtjb25maWcucHJpb3JpdHlDbGFzc2VzLmNhcHR1cmV9XG5cbmdhdGV3YXk6XG4gIGVuYWJsZWQ6IHRydWVcbiAgcmVwbGljYXM6ICR7Y29uZmlnLnJlcGxpY2FzLmdyYWZhbmF9XG4gIHJlc291cmNlczpcbiAgICBsaW1pdHM6XG4gICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5sb2tpR2F0ZXdheS5saW1pdHMuY3B1fVxuICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMubG9raUdhdGV3YXkubGltaXRzLm1lbW9yeX1cbiAgICByZXF1ZXN0czpcbiAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmxva2lHYXRld2F5LnJlcXVlc3RzLmNwdX1cbiAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmxva2lHYXRld2F5LnJlcXVlc3RzLm1lbW9yeX1cbiAgcHJpb3JpdHlDbGFzc05hbWU6ICR7Y29uZmlnLnByaW9yaXR5Q2xhc3Nlcy5jYXB0dXJlfVxuXG5taW5pbzpcbiAgZW5hYmxlZDogZmFsc2VcblxuIyBEaXNhYmxlIG1lbWNhY2hlZCBjYWNoZXMgdG8gcmVkdWNlIG1lbW9yeSBmb290cHJpbnRcbiMgTWVtY2FjaGVkIGlzIGFuIG9wdGltaXphdGlvbiBmb3IgaGlnaCBxdWVyeSBsb2Fkcywgbm90IHJlcXVpcmVkIGZvciBzbWFsbCBjbHVzdGVyc1xuY2h1bmtzQ2FjaGU6XG4gIGVuYWJsZWQ6IGZhbHNlXG5yZXN1bHRzQ2FjaGU6XG4gIGVuYWJsZWQ6IGZhbHNlXG5gO1xuICB9XG59XG4iXX0=
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Construct } from 'constructs';
|
|
2
2
|
/**
|
|
3
|
-
* Creates
|
|
3
|
+
* Creates the library's default `high-priority` PriorityClass (value 10000).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* It is the fallback for clusters without their own tiering; clusters that
|
|
6
|
+
* bring their own classes disable it via config.priorityClasses.create.
|
|
7
7
|
*
|
|
8
8
|
* Sync Wave: 0 (foundation - must exist before pods reference it)
|
|
9
9
|
*/
|
|
@@ -4,10 +4,10 @@ exports.PriorityClassConstruct = void 0;
|
|
|
4
4
|
const constructs_1 = require("constructs");
|
|
5
5
|
const k8s_1 = require("../imports/k8s");
|
|
6
6
|
/**
|
|
7
|
-
* Creates
|
|
7
|
+
* Creates the library's default `high-priority` PriorityClass (value 10000).
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* It is the fallback for clusters without their own tiering; clusters that
|
|
10
|
+
* bring their own classes disable it via config.priorityClasses.create.
|
|
11
11
|
*
|
|
12
12
|
* Sync Wave: 0 (foundation - must exist before pods reference it)
|
|
13
13
|
*/
|
|
@@ -35,4 +35,4 @@ class PriorityClassConstruct extends constructs_1.Construct {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
exports.PriorityClassConstruct = PriorityClassConstruct;
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpb3JpdHktY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RydWN0cy9wcmlvcml0eS1jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBdUM7QUFDdkMsd0NBQW1EO0FBRW5EOzs7Ozs7O0dBT0c7QUFDSCxNQUFhLHNCQUF1QixTQUFRLHNCQUFTO0lBQ25ELFlBQVksS0FBZ0IsRUFBRSxFQUFVO1FBQ3RDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsdUJBQXVCO1FBQ3ZCLCtEQUErRDtRQUMvRCxJQUFJLHVCQUFpQixDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7WUFDM0MsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxlQUFlO2dCQUNyQixNQUFNLEVBQUU7b0JBQ04sd0JBQXdCLEVBQUUsZUFBZTtvQkFDekMsNkJBQTZCLEVBQUUsWUFBWTtvQkFDM0MsOEJBQThCLEVBQUUsT0FBTztpQkFDeEM7Z0JBQ0QsV0FBVyxFQUFFO29CQUNYLDhCQUE4QixFQUFFLEdBQUc7aUJBQ3BDO2FBQ0Y7WUFDRCxLQUFLLEVBQUUsS0FBSztZQUNaLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLFdBQVcsRUFBRSw2Q0FBNkM7U0FDM0QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBdkJELHdEQXVCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgS3ViZVByaW9yaXR5Q2xhc3MgfSBmcm9tICcuLi9pbXBvcnRzL2s4cyc7XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgbGlicmFyeSdzIGRlZmF1bHQgYGhpZ2gtcHJpb3JpdHlgIFByaW9yaXR5Q2xhc3MgKHZhbHVlIDEwMDAwKS5cbiAqXG4gKiBJdCBpcyB0aGUgZmFsbGJhY2sgZm9yIGNsdXN0ZXJzIHdpdGhvdXQgdGhlaXIgb3duIHRpZXJpbmc7IGNsdXN0ZXJzIHRoYXRcbiAqIGJyaW5nIHRoZWlyIG93biBjbGFzc2VzIGRpc2FibGUgaXQgdmlhIGNvbmZpZy5wcmlvcml0eUNsYXNzZXMuY3JlYXRlLlxuICpcbiAqIFN5bmMgV2F2ZTogMCAoZm91bmRhdGlvbiAtIG11c3QgZXhpc3QgYmVmb3JlIHBvZHMgcmVmZXJlbmNlIGl0KVxuICovXG5leHBvcnQgY2xhc3MgUHJpb3JpdHlDbGFzc0NvbnN0cnVjdCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gQ3JlYXRlIFByaW9yaXR5Q2xhc3NcbiAgICAvLyBXYXZlIDA6IEZvdW5kYXRpb24gLSBtdXN0IGV4aXN0IGJlZm9yZSBwb2RzIGNhbiByZWZlcmVuY2UgaXRcbiAgICBuZXcgS3ViZVByaW9yaXR5Q2xhc3ModGhpcywgJ2hpZ2gtcHJpb3JpdHknLCB7XG4gICAgICBtZXRhZGF0YToge1xuICAgICAgICBuYW1lOiAnaGlnaC1wcmlvcml0eScsXG4gICAgICAgIGxhYmVsczoge1xuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9uYW1lJzogJ2hpZ2gtcHJpb3JpdHknLFxuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9jb21wb25lbnQnOiAnc2NoZWR1bGluZycsXG4gICAgICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL21hbmFnZWQtYnknOiAnY2RrOHMnLFxuICAgICAgICB9LFxuICAgICAgICBhbm5vdGF0aW9uczoge1xuICAgICAgICAgICdhcmdvY2QuYXJnb3Byb2ouaW8vc3luYy13YXZlJzogJzAnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHZhbHVlOiAxMDAwMCxcbiAgICAgIGdsb2JhbERlZmF1bHQ6IGZhbHNlLFxuICAgICAgZGVzY3JpcHRpb246ICdVc2UgdGhpcyBjbGFzcyBmb3IgaGlnaC1wcmlvcml0eSBwb2RzIG9ubHkuJyxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -17,7 +17,7 @@ export interface PrometheusStackProps {
|
|
|
17
17
|
*
|
|
18
18
|
* Prerequisites:
|
|
19
19
|
* - Namespace exists
|
|
20
|
-
* -
|
|
20
|
+
* - The PriorityClasses named in config.priorityClasses exist
|
|
21
21
|
* - Longhorn storage class available
|
|
22
22
|
* - cert-manager ClusterIssuer configured
|
|
23
23
|
* - Thanos S3 secret exists (thanos-objstore-config)
|
|
@@ -17,7 +17,7 @@ const helm_chart_1 = require("./helm-chart");
|
|
|
17
17
|
*
|
|
18
18
|
* Prerequisites:
|
|
19
19
|
* - Namespace exists
|
|
20
|
-
* -
|
|
20
|
+
* - The PriorityClasses named in config.priorityClasses exist
|
|
21
21
|
* - Longhorn storage class available
|
|
22
22
|
* - cert-manager ClusterIssuer configured
|
|
23
23
|
* - Thanos S3 secret exists (thanos-objstore-config)
|
|
@@ -369,7 +369,7 @@ alertmanager:
|
|
|
369
369
|
requests:
|
|
370
370
|
cpu: ${config.resources.alertmanager.requests.cpu}
|
|
371
371
|
memory: ${config.resources.alertmanager.requests.memory}
|
|
372
|
-
priorityClassName:
|
|
372
|
+
priorityClassName: ${config.priorityClasses.capture}
|
|
373
373
|
|
|
374
374
|
# Sidecar containers resource requests (added 2025-11-18)
|
|
375
375
|
containers:
|
|
@@ -424,7 +424,7 @@ prometheus:
|
|
|
424
424
|
requests:
|
|
425
425
|
cpu: ${config.resources.prometheus.requests.cpu}
|
|
426
426
|
memory: ${config.resources.prometheus.requests.memory}
|
|
427
|
-
priorityClassName:
|
|
427
|
+
priorityClassName: ${config.priorityClasses.capture}
|
|
428
428
|
|
|
429
429
|
# External labels for multi-cluster identification and Thanos
|
|
430
430
|
externalLabels:
|
|
@@ -467,6 +467,8 @@ prometheus:
|
|
|
467
467
|
|
|
468
468
|
|
|
469
469
|
grafana:
|
|
470
|
+
priorityClassName: ${config.priorityClasses.query}
|
|
471
|
+
|
|
470
472
|
# Recreate strategy is required because the storage PVC is RWO:
|
|
471
473
|
# a RollingUpdate would surge a second pod that cannot mount the
|
|
472
474
|
# volume (FailedAttachVolume), blocking the rollout indefinitely.
|
|
@@ -603,7 +605,7 @@ prometheusOperator:
|
|
|
603
605
|
requests:
|
|
604
606
|
cpu: 50m
|
|
605
607
|
memory: 128Mi
|
|
606
|
-
priorityClassName:
|
|
608
|
+
priorityClassName: ${config.priorityClasses.capture}
|
|
607
609
|
|
|
608
610
|
prometheus-node-exporter:
|
|
609
611
|
# Bind :9100 to the node InternalIP only, not 0.0.0.0. With kubeRBACProxy
|
|
@@ -621,7 +623,7 @@ prometheus-node-exporter:
|
|
|
621
623
|
requests:
|
|
622
624
|
cpu: 5m
|
|
623
625
|
memory: 16Mi
|
|
624
|
-
priorityClassName:
|
|
626
|
+
priorityClassName: ${config.priorityClasses.capture}
|
|
625
627
|
|
|
626
628
|
kube-state-metrics:
|
|
627
629
|
resources:
|
|
@@ -631,9 +633,9 @@ kube-state-metrics:
|
|
|
631
633
|
requests:
|
|
632
634
|
cpu: 5m
|
|
633
635
|
memory: 128Mi
|
|
634
|
-
priorityClassName:
|
|
636
|
+
priorityClassName: ${config.priorityClasses.capture}
|
|
635
637
|
`;
|
|
636
638
|
}
|
|
637
639
|
}
|
|
638
640
|
exports.PrometheusStackConstruct = PrometheusStackConstruct;
|
|
639
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWV0aGV1cy1zdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3RzL3Byb21ldGhldXMtc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWtDO0FBQ2xDLDJDQUF1QztBQUV2Qyw2Q0FBeUQ7QUFPekQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxNQUFhLHdCQUF5QixTQUFRLHNCQUFTO0lBQ3JELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMkI7UUFDbkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUVwQyw0QkFBNEI7UUFDNUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRW5ELGtEQUFrRDtRQUNsRCwyQ0FBMkM7UUFDM0MsSUFBSSxpQkFBUyxDQUFDLElBQUksRUFBRSx1QkFBdUIsRUFBRTtZQUMzQyxVQUFVLEVBQUUsbUJBQW1CO1lBQy9CLElBQUksRUFBRSxXQUFXO1lBQ2pCLFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUsdUJBQXVCO2dCQUM3QixTQUFTLEVBQUUsU0FBUztnQkFDcEIsTUFBTSxFQUFFO29CQUNOLHdCQUF3QixFQUFFLHVCQUF1QjtvQkFDakQsNkJBQTZCLEVBQUUsWUFBWTtvQkFDM0MsOEJBQThCLEVBQUUsT0FBTztvQkFDdkMsMkJBQTJCLEVBQUUsWUFBWTtpQkFDMUM7Z0JBQ0QsV0FBVyxFQUFFO29CQUNYLDhCQUE4QixFQUFFLEdBQUc7aUJBQ3BDO2FBQ0Y7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLG9EQUFvRDtnQkFDMUQsS0FBSyxFQUFFLHVCQUF1QjtnQkFDOUIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxLQUFLLFFBQVEsQ0FB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QUMsT0FBTyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7bUJBeUJwRSxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQywyQkFBMkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFOztVQUU1RyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU87Ozs7Ozs7WUFPcEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPOzs7O2FBSXJCLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHO2dCQUNoQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTTs7YUFFekMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUc7Z0JBQ2xDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1lBeUI1QyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7bUNBc0JDLE1BQU0sQ0FBQyxTQUFTOzs7Ozs7Ozt1REFRSSxNQUFNLENBQUMsU0FBUzs7Ozs7Ozs7bUNBUXBDLE1BQU0sQ0FBQyxTQUFTOzswQkFFekIsZUFBZTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBdUN4QyxDQUFDO0lBQ0EsQ0FBQztDQUNGO0FBdm1CRCw0REF1bUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBpT2JqZWN0IH0gZnJvbSAnY2RrOHMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBNb25pdG9yaW5nQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgSEVMTV9DSEFSVF9GQUlMVVJFX1BPTElDWSB9IGZyb20gJy4vaGVsbS1jaGFydCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvbWV0aGV1c1N0YWNrUHJvcHMge1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgY29uZmlnOiBNb25pdG9yaW5nQ29uZmlnO1xufVxuXG4vKipcbiAqIENyZWF0ZXMga3ViZS1wcm9tZXRoZXVzLXN0YWNrIEhlbG1DaGFydCB3aXRoIFByb21ldGhldXMsIEdyYWZhbmEsIGFuZCBBbGVydG1hbmFnZXIuXG4gKlxuICogVGhpcyBpcyB0aGUgY29yZSBtb25pdG9yaW5nIHN0YWNrIHRoYXQgaW5jbHVkZXM6XG4gKiAtIFByb21ldGhldXMgKG1ldHJpY3MgY29sbGVjdGlvbiwgMiByZXBsaWNhcywgM2QgcmV0ZW50aW9uKVxuICogLSBHcmFmYW5hICh2aXN1YWxpemF0aW9uLCBpbmdyZXNzIHdpdGggTGV0J3MgRW5jcnlwdClcbiAqIC0gQWxlcnRtYW5hZ2VyIChhbGVydCByb3V0aW5nLCBTTVRQIG5vdGlmaWNhdGlvbnMpXG4gKiAtIFByb21ldGhldXMgT3BlcmF0b3IgKG1hbmFnZXMgUHJvbWV0aGV1cyBDUkRzKVxuICogLSBOb2RlIEV4cG9ydGVyIChzeXN0ZW0gbWV0cmljcyBEYWVtb25TZXQpXG4gKiAtIGt1YmUtc3RhdGUtbWV0cmljcyAoS3ViZXJuZXRlcyByZXNvdXJjZSBtZXRyaWNzKVxuICpcbiAqIFByZXJlcXVpc2l0ZXM6XG4gKiAtIE5hbWVzcGFjZSBleGlzdHNcbiAqIC0gUHJpb3JpdHlDbGFzcyAnaGlnaC1wcmlvcml0eScgZXhpc3RzXG4gKiAtIExvbmdob3JuIHN0b3JhZ2UgY2xhc3MgYXZhaWxhYmxlXG4gKiAtIGNlcnQtbWFuYWdlciBDbHVzdGVySXNzdWVyIGNvbmZpZ3VyZWRcbiAqIC0gVGhhbm9zIFMzIHNlY3JldCBleGlzdHMgKHRoYW5vcy1vYmpzdG9yZS1jb25maWcpXG4gKlxuICogU3luYyBXYXZlOiAyIChjb3JlIHNlcnZpY2VzIC0gYWZ0ZXIgUzMgYnVja2V0cyBhbmQgc2VjcmV0cylcbiAqL1xuZXhwb3J0IGNsYXNzIFByb21ldGhldXNTdGFja0NvbnN0cnVjdCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcm9tZXRoZXVzU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB7IG5hbWVzcGFjZSwgY29uZmlnIH0gPSBwcm9wcztcblxuICAgIC8vIEdlbmVyYXRlIEhlbG0gdmFsdWVzIFlBTUxcbiAgICBjb25zdCBoZWxtVmFsdWVzID0gdGhpcy5nZW5lcmF0ZUhlbG1WYWx1ZXMoY29uZmlnKTtcblxuICAgIC8vIENyZWF0ZSBIZWxtQ2hhcnQgcmVzb3VyY2UgKEszUyBIZWxtIGNvbnRyb2xsZXIpXG4gICAgLy8gV2F2ZSAyOiBDb3JlIFNlcnZpY2VzIC0gbW9uaXRvcmluZyBzdGFja1xuICAgIG5ldyBBcGlPYmplY3QodGhpcywgJ2t1YmUtcHJvbWV0aGV1cy1zdGFjaycsIHtcbiAgICAgIGFwaVZlcnNpb246ICdoZWxtLmNhdHRsZS5pby92MScsXG4gICAgICBraW5kOiAnSGVsbUNoYXJ0JyxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIG5hbWU6ICdrdWJlLXByb21ldGhldXMtc3RhY2snLFxuICAgICAgICBuYW1lc3BhY2U6IG5hbWVzcGFjZSxcbiAgICAgICAgbGFiZWxzOiB7XG4gICAgICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL25hbWUnOiAna3ViZS1wcm9tZXRoZXVzLXN0YWNrJyxcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vY29tcG9uZW50JzogJ21vbml0b3JpbmcnLFxuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9tYW5hZ2VkLWJ5JzogJ2NkazhzJyxcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vcGFydC1vZic6ICdtb25pdG9yaW5nJyxcbiAgICAgICAgfSxcbiAgICAgICAgYW5ub3RhdGlvbnM6IHtcbiAgICAgICAgICAnYXJnb2NkLmFyZ29wcm9qLmlvL3N5bmMtd2F2ZSc6ICcyJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzcGVjOiB7XG4gICAgICAgIHJlcG86ICdodHRwczovL3Byb21ldGhldXMtY29tbXVuaXR5LmdpdGh1Yi5pby9oZWxtLWNoYXJ0cycsXG4gICAgICAgIGNoYXJ0OiAna3ViZS1wcm9tZXRoZXVzLXN0YWNrJyxcbiAgICAgICAgdmVyc2lvbjogY29uZmlnLnZlcnNpb25zLnByb21ldGhldXNTdGFjayA9PT0gJ2xhdGVzdCcgPyB1bmRlZmluZWQgOiBjb25maWcudmVyc2lvbnMucHJvbWV0aGV1c1N0YWNrLFxuICAgICAgICB0YXJnZXROYW1lc3BhY2U6IG5hbWVzcGFjZSxcbiAgICAgICAgZmFpbHVyZVBvbGljeTogSEVMTV9DSEFSVF9GQUlMVVJFX1BPTElDWSxcbiAgICAgICAgdmFsdWVzQ29udGVudDogaGVsbVZhbHVlcyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogYFtzZWN1cml0eV1gIHNlY3Rpb24gb2YgZ3JhZmFuYS5pbmksIGVtcHR5IHVubGVzcyBlbWJlZGRpbmcgaXMgZW5hYmxlZC5cbiAgICpcbiAgICogR3JhZmFuYSBzZW5kcyBgWC1GcmFtZS1PcHRpb25zOiBkZW55YCB1bmxlc3MgYGFsbG93X2VtYmVkZGluZ2AgaXMgc2V0LCB3aGljaFxuICAgKiBibG9ja3MgZXh0ZXJuYWxseSBzaGFyZWQgKFwicHVibGljXCIpIGRhc2hib2FyZHMgaW4gYW4gaWZyYW1lIGp1c3QgYXMgbXVjaCBhc1xuICAgKiB0aGUgYXV0aGVudGljYXRlZCBVSS4gRHJvcHBpbmcgdGhhdCBoZWFkZXIgYWxvbmUgd291bGQgbGV0IGFueSBzaXRlIGZyYW1lXG4gICAqIEdyYWZhbmEsIHNvIGl0IGlzIHBhaXJlZCB3aXRoIGEgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgd2hvc2VcbiAgICogYGZyYW1lLWFuY2VzdG9yc2AgbmFtZXMgdGhlIGFsbG93ZWQgb3JpZ2lucyDigJQgYnJvd3NlcnMgaG9ub3VyIGl0IGluIHBsYWNlIG9mXG4gICAqIHRoZSByZW1vdmVkIGhlYWRlci5cbiAgICpcbiAgICogVGhlIG90aGVyIGRpcmVjdGl2ZXMgYXJlIEdyYWZhbmEncyBvd24gZGVmYXVsdCB0ZW1wbGF0ZSB2ZXJiYXRpbTsgYCROT05DRWBcbiAgICogYW5kIGAkUk9PVF9QQVRIYCBhcmUgZXhwYW5kZWQgYnkgR3JhZmFuYSBwZXIgcmVxdWVzdC4gT25seVxuICAgKiBgJEZPUk1fQUNUSU9OX0FERElUSU9OQUxfSE9TVFNgIGlzIGRyb3BwZWQ6IGl0IGV4aXN0cyBhcyBhIHBsYWNlaG9sZGVyIGp1c3RcbiAgICogaW4gcmVjZW50IEdyYWZhbmFzLCBhbmQgb2xkZXIgb25lcyB3b3VsZCBlbWl0IGl0IGxpdGVyYWxseSBpbnRvIHRoZSBoZWFkZXIuXG4gICAqXG4gICAqIFRoZSBwb2xpY3kgaXMgd3JhcHBlZCBpbiBgXCJcIlwiYCwgZXhhY3RseSBhcyBHcmFmYW5hJ3Mgb3duIGRlZmF1bHRzLmluaSBkb2VzLlxuICAgKiBncmFmYW5hLmluaSBpcyBwYXJzZWQgYnkgZ28taW5pLCB3aGljaCB0cmVhdHMgYDtgIGFzIGFuIGlubGluZSBjb21tZW50IOKAlCBhblxuICAgKiB1bnF1b3RlZCBwb2xpY3kgaXMgc2lsZW50bHkgdHJ1bmNhdGVkIGF0IGl0cyBmaXJzdCBkaXJlY3RpdmUgc2VwYXJhdG9yLCBhbmRcbiAgICogdGhlIGJyb3dzZXIgdGhlbiByZWNlaXZlcyBhIENTUCB3aXRob3V0IGBmcmFtZS1hbmNlc3RvcnNgIHdoaWxlXG4gICAqIGBYLUZyYW1lLU9wdGlvbnNgIGlzIGFscmVhZHkgZ29uZS4gQSBZQU1MIGJsb2NrIHNjYWxhciBjYXJyaWVzIHRoZSBxdW90ZXNcbiAgICogdGhyb3VnaCB1bnRvdWNoZWQ7IGEgcGxhaW4gcXVvdGVkIHNjYWxhciB3b3VsZCBmaWdodCBvdmVyIHRoZSBzYW1lXG4gICAqIGNoYXJhY3Rlci5cbiAgICovXG4gIC8qKlxuICAgKiBFeHRyYSBBbGVydG1hbmFnZXIgcm91dGUgZGVtb3Rpbmcgc3RhZ2luZy1uYW1lc3BhY2UgYWxlcnRzLCBlbXB0eSB1bmxlc3NcbiAgICogc3RhZ2luZ0FsZXJ0cyBpcyBlbmFibGVkLiBQbGFjZWQgYWZ0ZXIgdGhlIG5vaXNlLWRyb3Agcm91dGVzICh0aG9zZSBhcHBseVxuICAgKiB0byBzdGFnaW5nIGp1c3QgYXMgbXVjaCkgYW5kIGJlZm9yZSB0aGUgZGVmYXVsdCBwcm9kdWN0aW9uIHJlY2VpdmVyLlxuICAgKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZVN0YWdpbmdSb3V0ZShjb25maWc6IE1vbml0b3JpbmdDb25maWcpOiBzdHJpbmcge1xuICAgIGlmICghY29uZmlnLnN0YWdpbmdBbGVydHMuZW5hYmxlZCkgcmV0dXJuICcnO1xuICAgIHJldHVybiBgXG4gICAgICAtIG1hdGNoX3JlOlxuICAgICAgICAgIG5hbWVzcGFjZTogXigke2NvbmZpZy5zdGFnaW5nQWxlcnRzLm5hbWVzcGFjZXMuam9pbignfCcpfSkkXG4gICAgICAgIHJlY2VpdmVyOiBzdGFnaW5nYDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYHN0YWdpbmdgIGVtYWlsIHJlY2VpdmVyLCBlbXB0eSB1bmxlc3Mgc3RhZ2luZ0FsZXJ0cyBpcyBlbmFibGVkLiBTYW1lXG4gICAqIG1haWxib3ggYXMgdGhlIHByb2R1Y3Rpb24gcmVjZWl2ZXIsIGJ1dCB0aGUgc3ViamVjdCBwcmVmaXggbWFya3MgdGhlIG1haWxcbiAgICogYXMgbm9uLXByb2R1Y3Rpb24gYW5kIGtlZXBzIGl0IGZpbHRlcmFibGUuXG4gICAqL1xuICAvKipcbiAgICogQWxlcnRtYW5hZ2VyIHJlYWRzIHRoZSBwYXNzd29yZCBmcm9tIHRoZSBmaWxlIHdoZW4gYSBzZWNyZXQgaXMgY29uZmlndXJlZCxcbiAgICogd2hpY2gga2VlcHMgaXQgb3V0IG9mIHRoZSBzeW50aGVzaXplZCBtYW5pZmVzdHMuXG4gICAqL1xuICBwcml2YXRlIGdlbmVyYXRlU210cEF1dGhQYXNzd29yZChjb25maWc6IE1vbml0b3JpbmdDb25maWcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlY3JldCA9IGNvbmZpZy5zbXRwLnBhc3N3b3JkU2VjcmV0O1xuICAgIGlmIChzZWNyZXQpIHtcbiAgICAgIHJldHVybiBgc210cF9hdXRoX3Bhc3N3b3JkX2ZpbGU6IC9ldGMvYWxlcnRtYW5hZ2VyL3NlY3JldHMvJHtzZWNyZXQubmFtZX0vJHtzZWNyZXQua2V5fWA7XG4gICAgfVxuICAgIHJldHVybiBgc210cF9hdXRoX3Bhc3N3b3JkOiAke2NvbmZpZy5zbXRwLnBhc3N3b3JkIHx8ICcnfWA7XG4gIH1cblxuICAvKiogRmFsbHMgYmFjayB0byB0aGUgc2VuZGVyIGFkZHJlc3Mgc28gZXhpc3RpbmcgY29uZmlncyBrZWVwIHRoZWlyIHJlY2lwaWVudC4gKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZVJlY2lwaWVudHMoY29uZmlnOiBNb25pdG9yaW5nQ29uZmlnKTogc3RyaW5nIHtcbiAgICBjb25zdCByZWNpcGllbnRzID0gY29uZmlnLnNtdHAucmVjaXBpZW50cztcbiAgICBpZiAocmVjaXBpZW50cyAmJiByZWNpcGllbnRzLmxlbmd0aCA+IDApIHJldHVybiByZWNpcGllbnRzLmpvaW4oJywgJyk7XG4gICAgcmV0dXJuIGNvbmZpZy5zbXRwLmZyb207XG4gIH1cblxuICAvKiogTW91bnRzIHRoZSBwYXNzd29yZCBzZWNyZXQgYXQgL2V0Yy9hbGVydG1hbmFnZXIvc2VjcmV0cy88bmFtZT4vPGtleT4uICovXG4gIHByaXZhdGUgZ2VuZXJhdGVBbGVydG1hbmFnZXJTZWNyZXRzKGNvbmZpZzogTW9uaXRvcmluZ0NvbmZpZyk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2VjcmV0ID0gY29uZmlnLnNtdHAucGFzc3dvcmRTZWNyZXQ7XG4gICAgaWYgKCFzZWNyZXQpIHJldHVybiAnJztcbiAgICByZXR1cm4gYFxuICAgIHNlY3JldHM6XG4gICAgLSAke3NlY3JldC5uYW1lfWA7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlU3RhZ2luZ1JlY2VpdmVyKGNvbmZpZzogTW9uaXRvcmluZ0NvbmZpZyk6IHN0cmluZyB7XG4gICAgaWYgKCFjb25maWcuc3RhZ2luZ0FsZXJ0cy5lbmFibGVkKSByZXR1cm4gJyc7XG4gICAgcmV0dXJuIGBcbiAgICAtIG5hbWU6IHN0YWdpbmdcbiAgICAgIGVtYWlsX2NvbmZpZ3M6XG4gICAgICAtIHNlbmRfcmVzb2x2ZWQ6IHRydWVcbiAgICAgICAgdG86ICR7dGhpcy5nZW5lcmF0ZVJlY2lwaWVudHMoY29uZmlnKX1cbiAgICAgICAgaGVhZGVyczpcbiAgICAgICAgICBzdWJqZWN0OiAnW1NUQUdJTkddIHt7IHRlbXBsYXRlIFwiZW1haWwuZGVmYXVsdC5zdWJqZWN0XCIgLiB9fSdgO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUdyYWZhbmFTZWN1cml0eShjb25maWc6IE1vbml0b3JpbmdDb25maWcpOiBzdHJpbmcge1xuICAgIGlmICghY29uZmlnLmVtYmVkZGluZy5lbmFibGVkKSByZXR1cm4gJyc7XG4gICAgY29uc3QgcG9saWN5ID0gW1xuICAgICAgXCJzY3JpcHQtc3JjICdzZWxmJyAndW5zYWZlLWV2YWwnICd1bnNhZmUtaW5saW5lJyAnc3RyaWN0LWR5bmFtaWMnICROT05DRVwiLFxuICAgICAgXCJvYmplY3Qtc3JjICdub25lJ1wiLFxuICAgICAgXCJmb250LXNyYyAnc2VsZidcIixcbiAgICAgIFwic3R5bGUtc3JjICdzZWxmJyAndW5zYWZlLWlubGluZScgYmxvYjpcIixcbiAgICAgICdpbWctc3JjICogZGF0YTonLFxuICAgICAgXCJiYXNlLXVyaSAnc2VsZidcIixcbiAgICAgIFwiY29ubmVjdC1zcmMgJ3NlbGYnIGdyYWZhbmEuY29tIHdzOi8vJFJPT1RfUEFUSCB3c3M6Ly8kUk9PVF9QQVRIXCIsXG4gICAgICBcIm1hbmlmZXN0LXNyYyAnc2VsZidcIixcbiAgICAgIFwibWVkaWEtc3JjICdub25lJ1wiLFxuICAgICAgXCJmb3JtLWFjdGlvbiAnc2VsZidcIixcbiAgICAgIGBmcmFtZS1hbmNlc3RvcnMgJ3NlbGYnICR7Y29uZmlnLmVtYmVkZGluZy5mcmFtZUFuY2VzdG9ycy5qb2luKCcgJyl9YCxcbiAgICBdLm1hcCgoZGlyZWN0aXZlKSA9PiBgJHtkaXJlY3RpdmV9O2ApLmpvaW4oJycpO1xuICAgIHJldHVybiBgXG4gICAgc2VjdXJpdHk6XG4gICAgICBhbGxvd19lbWJlZGRpbmc6IHRydWVcbiAgICAgIGNvbnRlbnRfc2VjdXJpdHlfcG9saWN5OiB0cnVlXG4gICAgICBjb250ZW50X3NlY3VyaXR5X3BvbGljeV90ZW1wbGF0ZTogPi1cbiAgICAgICAgXCJcIlwiJHtwb2xpY3l9XCJcIlwiYDtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVIZWxtVmFsdWVzKGNvbmZpZzogTW9uaXRvcmluZ0NvbmZpZyk6IHN0cmluZyB7XG4gICAgLy8gVGVtcG8gZGF0YXNvdXJjZSBpcyBvbmx5IHByb3Zpc2lvbmVkIHdoZW4gdHJhY2luZyBpcyBlbmFibGVkLiBXaGVuXG4gICAgLy8gZGlzYWJsZWQgdGhpcyBpcyBlbXB0eSwgc28gdGhlIEdyYWZhbmEgYmxvY2sgaXMgYnl0ZS1pZGVudGljYWwgdG8gYmVmb3JlLlxuICAgIGNvbnN0IHRlbXBvRGF0YXNvdXJjZSA9IGNvbmZpZy50ZW1wby5lbmFibGVkID8gYFxuICAgICAgLSBuYW1lOiBUZW1wb1xuICAgICAgICB0eXBlOiB0ZW1wb1xuICAgICAgICB1aWQ6IHRlbXBvXG4gICAgICAgIGFjY2VzczogcHJveHlcbiAgICAgICAgdXJsOiBodHRwOi8vdGVtcG8uJHtjb25maWcubmFtZXNwYWNlfS5zdmMuY2x1c3Rlci5sb2NhbDozMjAwXG4gICAgICAgIGpzb25EYXRhOlxuICAgICAgICAgIHRpbWVvdXQ6IDYwXG4gICAgICAgICAgdHJhY2VzVG9Mb2dzVjI6XG4gICAgICAgICAgICBkYXRhc291cmNlVWlkOiBsb2tpXG4gICAgICAgICAgICBzcGFuU3RhcnRUaW1lU2hpZnQ6IFwiLTFoXCJcbiAgICAgICAgICAgIHNwYW5FbmRUaW1lU2hpZnQ6IFwiMWhcIlxuICAgICAgICAgICAgZmlsdGVyQnlUcmFjZUlEOiB0cnVlXG4gICAgICAgICAgdHJhY2VzVG9NZXRyaWNzOlxuICAgICAgICAgICAgZGF0YXNvdXJjZVVpZDogdGhhbm9zYCA6ICcnO1xuICAgIHJldHVybiBga3ViZUV0Y2Q6XG4gIGVuYWJsZWQ6IGZhbHNlXG5cbiMgRGlzYWJsZSBrdWJlLWNvbnRyb2xsZXItbWFuYWdlciBhbmQga3ViZS1zY2hlZHVsZXIgbW9uaXRvcmluZy4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9jYWJsZXNwYWdoZXR0aS9rM3MtbW9uaXRvcmluZy9pc3N1ZXMvMlxua3ViZUNvbnRyb2xsZXJNYW5hZ2VyOlxuICBlbmFibGVkOiBmYWxzZVxua3ViZVNjaGVkdWxlcjpcbiAgZW5hYmxlZDogZmFsc2VcblxuIyBrM3MgcnVucyBrdWJlLXByb3h5IGluc2lkZSB0aGUgYWdlbnQgcmF0aGVyIHRoYW4gYXMgYSBzZXBhcmF0ZSBjb21wb25lbnQsIHNvXG4jIHRoZXJlIGlzIG5vIGVuZHBvaW50IHRvIHNjcmFwZS4gTGVhdmluZyB0aGlzIGVuYWJsZWQgbWFrZXMgdGhlIHN0b2NrXG4jIEt1YmVQcm94eURvd24gcnVsZSAtLSBhYnNlbnQodXB7am9iPVwia3ViZS1wcm94eVwifSkgLS0gZmlyZSBmb3JldmVyIG9uIGFcbiMgcGVyZmVjdGx5IGhlYWx0aHkgY2x1c3Rlci5cbmt1YmVQcm94eTpcbiAgZW5hYmxlZDogZmFsc2VcblxuIyBEZXRlY3QgUG9kRGlzcnVwdGlvbkJ1ZGdldHMgdGhhdCB3b3VsZCBibG9jayBhIG5vZGUgZHJhaW4gZHVyaW5nIGszcyB1cGdyYWRlcy5cbiMgT3BlcmF0b3ItbWFuYWdlZCBQREJzIHNpdCBhdCBkaXNydXB0aW9uc0FsbG93ZWQ9MCBieSBkZXNpZ24gKExvbmdob3JuIGluc3RhbmNlLW1hbmFnZXJzLFxuIyBDTlBHICotcHJpbWFyeSkgYW5kIGFyZSBleGNsdWRlZCBzbyB0aGUgYWxlcnQgb25seSBmaXJlcyBvbiBhbm9tYWxvdXMgYXBwIFBEQnMuXG5hZGRpdGlvbmFsUHJvbWV0aGV1c1J1bGVzTWFwOlxuICBwZGItZHJhaW4tc2FmZXR5OlxuICAgIGdyb3VwczpcbiAgICAgIC0gbmFtZTogcGRiLnJ1bGVzXG4gICAgICAgIGludGVydmFsOiAxbVxuICAgICAgICBydWxlczpcbiAgICAgICAgICAtIGFsZXJ0OiBQb2REaXNydXB0aW9uQnVkZ2V0VW5kcmFpbmFibGVcbiAgICAgICAgICAgIGV4cHI6IGt1YmVfcG9kZGlzcnVwdGlvbmJ1ZGdldF9zdGF0dXNfcG9kX2Rpc3J1cHRpb25zX2FsbG93ZWR7bmFtZXNwYWNlIT1cImxvbmdob3JuLXN5c3RlbVwiLCBwb2RkaXNydXB0aW9uYnVkZ2V0IX5cIi4qLXByaW1hcnlcIn0gPT0gMFxuICAgICAgICAgICAgZm9yOiAxNW1cbiAgICAgICAgICAgIGxhYmVsczpcbiAgICAgICAgICAgICAgc2V2ZXJpdHk6IHdhcm5pbmdcbiAgICAgICAgICAgICAgY29tcG9uZW50OiBjbHVzdGVyLXVwZ3JhZGVcbiAgICAgICAgICAgIGFubm90YXRpb25zOlxuICAgICAgICAgICAgICBzdW1tYXJ5OiBcIlBEQiB7eyAkbGFiZWxzLm5hbWVzcGFjZSB9fS97eyAkbGFiZWxzLnBvZGRpc3J1cHRpb25idWRnZXQgfX0gYWxsb3dzIDAgdm9sdW50YXJ5IGRpc3J1cHRpb25zXCJcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHxcbiAgICAgICAgICAgICAgICBUaGUgUG9kRGlzcnVwdGlvbkJ1ZGdldCB7eyAkbGFiZWxzLm5hbWVzcGFjZSB9fS97eyAkbGFiZWxzLnBvZGRpc3J1cHRpb25idWRnZXQgfX1cbiAgICAgICAgICAgICAgICBoYXMgYWxsb3dlZCAwIHZvbHVudGFyeSBkaXNydXB0aW9ucyBmb3Igb3ZlciAxNSBtaW51dGVzLiBUaGlzIHdpbGwgYmxvY2sgYSBub2RlXG4gICAgICAgICAgICAgICAgZHJhaW4gZHVyaW5nIGszcyB1cGdyYWRlcy4gT3BlcmF0b3ItbWFuYWdlZCBQREJzIChMb25naG9ybiwgQ05QRyBwcmltYXJpZXMpIGFyZVxuICAgICAgICAgICAgICAgIGV4Y2x1ZGVkIGZyb20gdGhpcyBhbGVydC4gTGlrZWx5IGEgZGVncmFkZWQgZGVwbG95bWVudCAoMCBoZWFsdGh5IHBvZHMpIG9yIGFcbiAgICAgICAgICAgICAgICBzaW5nbGUtcmVwbGljYSBkZXBsb3ltZW50IHdpdGggbWluQXZhaWxhYmxlPTEuXG4gICAgICAgICAgICAgICAgQ2hlY2s6IGt1YmVjdGwgZ2V0IHBkYiAtbiB7eyAkbGFiZWxzLm5hbWVzcGFjZSB9fSB7eyAkbGFiZWxzLnBvZGRpc3J1cHRpb25idWRnZXQgfX1cbiAgICAgICAgICAtIGFsZXJ0OiBQb2REaXNydXB0aW9uQnVkZ2V0VW5kcmFpbmFibGVDcml0aWNhbFxuICAgICAgICAgICAgZXhwcjoga3ViZV9wb2RkaXNydXB0aW9uYnVkZ2V0X3N0YXR1c19wb2RfZGlzcnVwdGlvbnNfYWxsb3dlZHtuYW1lc3BhY2UhPVwibG9uZ2hvcm4tc3lzdGVtXCIsIHBvZGRpc3J1cHRpb25idWRnZXQhflwiLiotcHJpbWFyeVwifSA9PSAwXG4gICAgICAgICAgICBmb3I6IDFoXG4gICAgICAgICAgICBsYWJlbHM6XG4gICAgICAgICAgICAgIHNldmVyaXR5OiBjcml0aWNhbFxuICAgICAgICAgICAgICBjb21wb25lbnQ6IGNsdXN0ZXItdXBncmFkZVxuICAgICAgICAgICAgYW5ub3RhdGlvbnM6XG4gICAgICAgICAgICAgIHN1bW1hcnk6IFwiUERCIHt7ICRsYWJlbHMubmFtZXNwYWNlIH19L3t7ICRsYWJlbHMucG9kZGlzcnVwdGlvbmJ1ZGdldCB9fSB1bmRyYWluYWJsZSA+MWhcIlxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogfFxuICAgICAgICAgICAgICAgIFBEQiB7eyAkbGFiZWxzLm5hbWVzcGFjZSB9fS97eyAkbGFiZWxzLnBvZGRpc3J1cHRpb25idWRnZXQgfX0gaGFzIGJsb2NrZWRcbiAgICAgICAgICAgICAgICB2b2x1bnRhcnkgZGlzcnVwdGlvbnMgZm9yIG92ZXIgYW4gaG91ci4gQSBrM3MgYWdlbnQgdXBncmFkZSB3b3VsZCBzdGFsbCBvbiB0aGlzIG5vZGUuXG4jIERyb3AgaGlnaC1jYXJkaW5hbGl0eSBBUEkgc2VydmVyIGFuZCBldGNkIGhpc3RvZ3JhbSBidWNrZXRzIHRvIHJlZHVjZSBtZW1vcnkgdXNhZ2VcbiMgVGhlc2UgbWV0cmljcyBhbG9uZSBhY2NvdW50IGZvciB+MjAwayBzZXJpZXMgKDQ3JSBvZiB0b3RhbCBjYXJkaW5hbGl0eSlcbiMgV2Uga2VlcCBfc3VtIGFuZCBfY291bnQgc3VmZml4ZXMgd2hpY2ggYXJlIHN1ZmZpY2llbnQgZm9yIHJhdGUgY2FsY3VsYXRpb25zXG4jXG4jIFRoZSB3YXRjaCBoaXN0b2dyYW1zLCB0aGUgd29ya3F1ZXVlIGFuZCB0aGUgc2NoZWR1bGVyIHBsdWdpbiBidWNrZXRzIGNhbWUgb25cbiMgdG9wIG9mIHRoYXQ6IGszcyBydW5zIGFwaXNlcnZlciwgY29udHJvbGxlci1tYW5hZ2VyIGFuZCBzY2hlZHVsZXIgaW4gb25lXG4jIHByb2Nlc3Mgd2l0aCBvbmUgbWV0cmljcyByZWdpc3RyeSwgc28gdGhlIGFwaXNlcnZlciBlbmRwb2ludCBhbHNvIHNlcnZlc1xuIyBzY2hlZHVsZXJfKiBhbmQgd29ya3F1ZXVlXyogc2VyaWVzLiBNZWFzdXJlZCBvbiBhIDYtbm9kZSBrM3MgY2x1c3RlclxuIyAoMjAyNi0xMC0yNCk6IDU2ayB3YXRjaF8qLCA4ayB3b3JrcXVldWVfKiwgM2sgc2NoZWR1bGVyX3BsdWdpbl8qIG9mIDQwOGtcbiMgc2VyaWVzLiBOb3RoaW5nIGluIHRoZSBzaGlwcGVkIGFsZXJ0cyBvciBkYXNoYm9hcmRzIHJlYWRzIHRoZW0uXG5rdWJlQXBpU2VydmVyOlxuICBzZXJ2aWNlTW9uaXRvcjpcbiAgICBtZXRyaWNSZWxhYmVsaW5nczpcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3JlcXVlc3RfZHVyYXRpb25fc2Vjb25kc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdhcGlzZXJ2ZXJfcmVxdWVzdF9zbGlfZHVyYXRpb25fc2Vjb25kc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdhcGlzZXJ2ZXJfcmVxdWVzdF9ib2R5X3NpemVfYnl0ZXNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3Jlc3BvbnNlX3NpemVzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2V0Y2RfcmVxdWVzdF9kdXJhdGlvbl9zZWNvbmRzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2FwaXNlcnZlcl93YXRjaF8oY2FjaGVfcmVhZF93YWl0X3NlY29uZHN8bGlzdF9kdXJhdGlvbl9zZWNvbmRzfGV2ZW50c19zaXplcylfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnd29ya3F1ZXVlXyhxdWV1ZXx3b3JrKV9kdXJhdGlvbl9zZWNvbmRzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ3NjaGVkdWxlcl9wbHVnaW5fZXhlY3V0aW9uX2R1cmF0aW9uX3NlY29uZHNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcblxuIyBLdWJlbGV0IGFsc28gZXhwb3NlcyBhcGlzZXJ2ZXIgbWV0cmljcyAtIGFwcGx5IHNhbWUgZmlsdGVyc1xua3ViZWxldDpcbiAgc2VydmljZU1vbml0b3I6XG4gICAgIyAvbWV0cmljcy9wcm9iZXMgb25seSBob2xkcyBwcm9iZXJfcHJvYmVfZHVyYXRpb25fc2Vjb25kcyBoaXN0b2dyYW1zXG4gICAgIyAob25lIHNlcmllcyBwZXIgcHJvYmUsIGNvbnRhaW5lciBhbmQgYnVja2V0LCB+NWsgb24gYSBzbWFsbCBjbHVzdGVyKTtcbiAgICAjIG5vdGhpbmcgY29uc3VtZXMgdGhlbS5cbiAgICBwcm9iZXM6IGZhbHNlXG4gICAgbWV0cmljUmVsYWJlbGluZ3M6XG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2FwaXNlcnZlcl9yZXF1ZXN0X2R1cmF0aW9uX3NlY29uZHNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3JlcXVlc3Rfc2xpX2R1cmF0aW9uX3NlY29uZHNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3JlcXVlc3RfYm9keV9zaXplX2J5dGVzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2FwaXNlcnZlcl9yZXNwb25zZV9zaXplc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdldGNkX3JlcXVlc3RfZHVyYXRpb25fc2Vjb25kc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdhcGlzZXJ2ZXJfd2F0Y2hfKGNhY2hlX3JlYWRfd2FpdF9zZWNvbmRzfGxpc3RfZHVyYXRpb25fc2Vjb25kc3xldmVudHNfc2l6ZXMpX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ3dvcmtxdWV1ZV8ocXVldWV8d29yaylfZHVyYXRpb25fc2Vjb25kc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdzY2hlZHVsZXJfcGx1Z2luX2V4ZWN1dGlvbl9kdXJhdGlvbl9zZWNvbmRzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG5cbmFsZXJ0bWFuYWdlcjpcbiAgY29uZmlnOlxuICAgIGdsb2JhbDpcbiAgICAgIHNtdHBfZnJvbTogJHtjb25maWcuc210cC5mcm9tfVxuICAgICAgc210cF9zbWFydGhvc3Q6ICR7Y29uZmlnLnNtdHAuaG9zdH06JHtjb25maWcuc210cC5wb3J0fVxuICAgICAgc210cF9yZXF1aXJlX3RsczogJHtjb25maWcuc210cC5yZXF1aXJlVGxzfVxuICAgICAgc210cF9hdXRoX3VzZXJuYW1lOiAke2NvbmZpZy5zbXRwLnVzZXJuYW1lIHx8IGNvbmZpZy5zbXRwLmZyb219XG4gICAgICAke3RoaXMuZ2VuZXJhdGVTbXRwQXV0aFBhc3N3b3JkKGNvbmZpZyl9XG4gICAgcm91dGU6XG4gICAgICBncm91cF9ieTogWydqb2InXVxuICAgICAgZ3JvdXBfd2FpdDogMzBzXG4gICAgICBncm91cF9pbnRlcnZhbDogNW1cbiAgICAgIHJlcGVhdF9pbnRlcnZhbDogJHtjb25maWcuYWxlcnRSb3V0aW5nLnJlcGVhdEludGVydmFsfVxuICAgICAgcmVjZWl2ZXI6IGVtYWlsXG4gICAgICByb3V0ZXM6XG4gICAgICAtIG1hdGNoOlxuICAgICAgICAgIGFsZXJ0bmFtZTogV2F0Y2hkb2dcbiAgICAgICAgcmVjZWl2ZXI6ICdudWxsJ1xuICAgICAgLSBtYXRjaDpcbiAgICAgICAgICBhbGVydG5hbWU6IENQVVRocm90dGxpbmdIaWdoXG4gICAgICAgIHJlY2VpdmVyOiAnbnVsbCdcbiAgICAgIC0gbWF0Y2g6XG4gICAgICAgICAgYWxlcnRuYW1lOiBLdWJlTWVtb3J5T3ZlcmNvbW1pdFxuICAgICAgICByZWNlaXZlcjogJ251bGwnXG4gICAgICAtIG1hdGNoOlxuICAgICAgICAgIGFsZXJ0bmFtZTogS3ViZUNQVU92ZXJjb21taXRcbiAgICAgICAgcmVjZWl2ZXI6ICdudWxsJ1xuICAgICAgLSBtYXRjaDpcbiAgICAgICAgICBhbGVydG5hbWU6IEt1YmVsZXRUb29NYW55UG9kc1xuICAgICAgICByZWNlaXZlcjogJ251bGwnXG4gICAgICAjIFNldmVyaXR5IFwibm9uZVwiOiBleGlzdHMgb25seSB0byBpbmhpYml0IGluZm8gYWxlcnRzLCBuZXZlciBtZWFudCBmb3IgYSBodW1hbi5cbiAgICAgIC0gbWF0Y2g6XG4gICAgICAgICAgYWxlcnRuYW1lOiBJbmZvSW5oaWJpdG9yXG4gICAgICAgIHJlY2VpdmVyOiAnbnVsbCcke3RoaXMuZ2VuZXJhdGVTdGFnaW5nUm91dGUoY29uZmlnKX1cblxuICAgIHJlY2VpdmVyczpcbiAgICAtIG5hbWU6ICdudWxsJ1xuICAgIC0gbmFtZTogZW1haWxcbiAgICAgIGVtYWlsX2NvbmZpZ3M6XG4gICAgICAtIHNlbmRfcmVzb2x2ZWQ6IHRydWVcbiAgICAgICAgdG86ICR7dGhpcy5nZW5lcmF0ZVJlY2lwaWVudHMoY29uZmlnKX0ke3RoaXMuZ2VuZXJhdGVTdGFnaW5nUmVjZWl2ZXIoY29uZmlnKX1cblxuICAgICMgSW5oaWJpdGlvbiBydWxlcyBhbGxvdyB0byBtdXRlIGEgc2V0IG9mIGFsZXJ0cyBnaXZlbiB0aGF0IGFub3RoZXIgYWxlcnQgaXMgZmlyaW5nLlxuICAgICMgV2UgdXNlIHRoaXMgdG8gbXV0ZSBhbnkgd2FybmluZy1sZXZlbCBub3RpZmljYXRpb25zIGlmIHRoZSBzYW1lIGFsZXJ0IGlzIGFscmVhZHkgY3JpdGljYWwuXG4gICAgaW5oaWJpdF9ydWxlczpcbiAgICAtIHNvdXJjZV9tYXRjaDpcbiAgICAgICAgc2V2ZXJpdHk6ICdjcml0aWNhbCdcbiAgICAgIHRhcmdldF9tYXRjaDpcbiAgICAgICAgc2V2ZXJpdHk6ICd3YXJuaW5nJ1xuICAgICAgIyBBcHBseSBpbmhpYml0aW9uIGlmIHRoZSBhbGVydG5hbWUgaXMgdGhlIHNhbWUuXG4gICAgICBlcXVhbDogWydhbGVydG5hbWUnLCAnbmFtZXNwYWNlJ11cblxuICBhbGVydG1hbmFnZXJTcGVjOlxuICAgIHJlcGxpY2FzOiAke2NvbmZpZy5yZXBsaWNhcy5hbGVydG1hbmFnZXJ9XG4gICAgcG9kQW50aUFmZmluaXR5OiBcInNvZnRcIiR7dGhpcy5nZW5lcmF0ZUFsZXJ0bWFuYWdlclNlY3JldHMoY29uZmlnKX1cbiAgICBzdG9yYWdlOlxuICAgICAgdm9sdW1lQ2xhaW1UZW1wbGF0ZTpcbiAgICAgICAgc3BlYzpcbiAgICAgICAgICBhY2Nlc3NNb2RlczogW1wiUmVhZFdyaXRlT25jZVwiXVxuICAgICAgICAgIHJlc291cmNlczpcbiAgICAgICAgICAgIHJlcXVlc3RzOlxuICAgICAgICAgICAgICBzdG9yYWdlOiAke2NvbmZpZy5zdG9yYWdlLmFsZXJ0bWFuYWdlcn1cbiAgICByZXNvdXJjZXM6XG4gICAgICBsaW1pdHM6XG4gICAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmFsZXJ0bWFuYWdlci5saW1pdHMuY3B1fVxuICAgICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5hbGVydG1hbmFnZXIubGltaXRzLm1lbW9yeX1cbiAgICAgIHJlcXVlc3RzOlxuICAgICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5hbGVydG1hbmFnZXIucmVxdWVzdHMuY3B1fVxuICAgICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5hbGVydG1hbmFnZXIucmVxdWVzdHMubWVtb3J5fVxuICAgIHByaW9yaXR5Q2xhc3NOYW1lOiBoaWdoLXByaW9yaXR5XG5cbiAgICAjIFNpZGVjYXIgY29udGFpbmVycyByZXNvdXJjZSByZXF1ZXN0cyAoYWRkZWQgMjAyNS0xMS0xOClcbiAgICBjb250YWluZXJzOlxuICAgIC0gbmFtZTogY29uZmlnLXJlbG9hZGVyXG4gICAgICByZXNvdXJjZXM6XG4gICAgICAgIHJlcXVlc3RzOlxuICAgICAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmNvbmZpZ1JlbG9hZGVyLnJlcXVlc3RzLmNwdX1cbiAgICAgICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5yZXF1ZXN0cy5tZW1vcnl9XG4gICAgICAgIGxpbWl0czpcbiAgICAgICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5saW1pdHMuY3B1fVxuICAgICAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmNvbmZpZ1JlbG9hZGVyLmxpbWl0cy5tZW1vcnl9XG5cblxucHJvbWV0aGV1czpcbiAgIyBFbmFibGUgVGhhbm9zIHNlcnZpY2UgZm9yIGdSUEMgY29tbXVuaWNhdGlvblxuICAjIFJlcXVpcmVkIGZvciBIZWxtIGNoYXJ0IHRvIHByb3Blcmx5IHJlbmRlciBUaGFub3Mgc2lkZWNhciBjb25maWd1cmF0aW9uXG4gIHRoYW5vc1NlcnZpY2U6XG4gICAgZW5hYmxlZDogdHJ1ZVxuXG4gIHByb21ldGhldXNTcGVjOlxuICAgIHJldGVudGlvbjogJHtjb25maWcucmV0ZW50aW9uLnByb21ldGhldXN9ICAjIFJlZHVjZWQgZnJvbSA3ZCAtIFRoYW5vcyBwcm92aWRlcyBsb25nLXRlcm0gc3RvcmFnZSBpbiBTM1xuXG4gICAgIyBEaXNjb3ZlciBBTEwgU2VydmljZU1vbml0b3JzLCBQb2RNb25pdG9ycyBhbmQgUHJvbWV0aGV1c1J1bGVzIGluIEFMTCBuYW1lc3BhY2VzXG4gICAgIyBTZXR0aW5nIE5pbFVzZXNIZWxtVmFsdWVzOiBmYWxzZSBtZWFucyBuaWwgc2VsZWN0b3JzID0gXCJzZWxlY3QgYWxsXCJcbiAgICAjIEVtcHR5IG5hbWVzcGFjZSBzZWxlY3RvcnMge30gbWVhbiBcInNlYXJjaCBhbGwgbmFtZXNwYWNlc1wiXG4gICAgIyBXaXRob3V0IHRoZSBydWxlKiBzZXR0aW5ncywgcnVsZVNlbGVjdG9yIGtlZXBzIHRoZSBjaGFydCBkZWZhdWx0XG4gICAgIyAobWF0Y2hMYWJlbHM6IHtyZWxlYXNlOiA8bmFtZT59KSBhbmQgaGFuZC1hdXRob3JlZCBQcm9tZXRoZXVzUnVsZXMgdGhhdFxuICAgICMgbGFjayB0aGUgcmVsZWFzZSBsYWJlbCBhcmUgc2lsZW50bHkgaWdub3JlZC5cbiAgICAjIE5vdGU6IFRoaXMgZG9lcyBOT1QgYWZmZWN0IFRoYW5vcyBzaWRlY2FyIC0gY29udHJvbGxlZCBieSB0aGFub3Mub2JqZWN0U3RvcmFnZUNvbmZpZ1xuICAgIHNlcnZpY2VNb25pdG9yU2VsZWN0b3JOaWxVc2VzSGVsbVZhbHVlczogZmFsc2VcbiAgICBwb2RNb25pdG9yU2VsZWN0b3JOaWxVc2VzSGVsbVZhbHVlczogZmFsc2VcbiAgICBydWxlU2VsZWN0b3JOaWxVc2VzSGVsbVZhbHVlczogZmFsc2VcbiAgICBzZXJ2aWNlTW9uaXRvck5hbWVzcGFjZVNlbGVjdG9yOiB7fVxuICAgIHBvZE1vbml0b3JOYW1lc3BhY2VTZWxlY3Rvcjoge31cbiAgICBydWxlTmFtZXNwYWNlU2VsZWN0b3I6IHt9XG5cbiAgICByZXBsaWNhczogJHtjb25maWcucmVwbGljYXMucHJvbWV0aGV1c31cbiAgICBwb2RBbnRpQWZmaW5pdHk6IFwiaGFyZFwiXG4gICAgc3RvcmFnZVNwZWM6XG4gICAgICB2b2x1bWVDbGFpbVRlbXBsYXRlOlxuICAgICAgICBzcGVjOlxuICAgICAgICAgIHN0b3JhZ2VDbGFzc05hbWU6IGxvbmdob3JuXG4gICAgICAgICAgYWNjZXNzTW9kZXM6IFtcIlJlYWRXcml0ZU9uY2VcIl1cbiAgICAgICAgICByZXNvdXJjZXM6XG4gICAgICAgICAgICByZXF1ZXN0czpcbiAgICAgICAgICAgICAgc3RvcmFnZTogJHtjb25maWcuc3RvcmFnZS5wcm9tZXRoZXVzfSAgIyBSZWR1Y2VkIGZyb20gNkdpICgzZCByZXRlbnRpb24gbmVlZHMgbGVzcyBzcGFjZSlcblxuICAgIHJlc291cmNlczpcbiAgICAgIGxpbWl0czpcbiAgICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMucHJvbWV0aGV1cy5saW1pdHMuY3B1fVxuICAgICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5wcm9tZXRoZXVzLmxpbWl0cy5tZW1vcnl9XG4gICAgICByZXF1ZXN0czpcbiAgICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMucHJvbWV0aGV1cy5yZXF1ZXN0cy5jcHV9XG4gICAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLnByb21ldGhldXMucmVxdWVzdHMubWVtb3J5fVxuICAgIHByaW9yaXR5Q2xhc3NOYW1lOiBoaWdoLXByaW9yaXR5XG5cbiAgICAjIEV4dGVybmFsIGxhYmVscyBmb3IgbXVsdGktY2x1c3RlciBpZGVudGlmaWNhdGlvbiBhbmQgVGhhbm9zXG4gICAgZXh0ZXJuYWxMYWJlbHM6XG4gICAgICBjbHVzdGVyOiAke2NvbmZpZy5jbHVzdGVyTmFtZX1cbiAgICAgIHJlcGxpY2E6IFwiJChQT0RfTkFNRSlcIlxuICAgICMgVGhhbm9zIG5lZWRzIHRoZSByZXBsaWNhIGxhYmVsIG9uIG1ldHJpY3MsIGJ1dCBvbiBhbGVydHMgaXQgbWFrZXMgdGhlIHR3b1xuICAgICMgUHJvbWV0aGV1cyByZXBsaWNhcyBsb29rIGxpa2UgdHdvIGRpZmZlcmVudCBhbGVydHMsIHNvIGV2ZXJ5IG1haWwgbGlzdHNcbiAgICAjIGVhY2ggb25lIHR3aWNlLiBUaGUgb3BlcmF0b3IgZHJvcHMgaXRzIG93biBwcm9tZXRoZXVzX3JlcGxpY2EgdGhlIHNhbWUgd2F5LlxuICAgIGFkZGl0aW9uYWxBbGVydFJlbGFiZWxDb25maWdzOlxuICAgICAgLSBhY3Rpb246IGxhYmVsZHJvcFxuICAgICAgICByZWdleDogcmVwbGljYVxuXG4gICAgIyBUaGFub3Mgc2lkZWNhciBmb3IgbG9uZy10ZXJtIG1ldHJpY3Mgc3RvcmFnZSBpbiBTM1xuICAgICMgTk9URTogY2hhcnQgPj04NS54IHJlcXVpcmVzIHRoZSBleGlzdGluZ1NlY3JldCBzaGFwZS4gVGhlIGxlZ2FjeSBmbGF0XG4gICAgIyB7bmFtZSwga2V5fSBmb3JtIGlzIHNpbGVudGx5IGRyb3BwZWQgYnkgdGhlIGNoYXJ0LCB3aGljaCByZW1vdmVzIHRoZVxuICAgICMgc2lkZWNhciBhbmQgc3RvcHMgYWxsIFMzIGJsb2NrIHVwbG9hZHMgKHJlZ3Jlc3Npb24gc2VlbiAyMDI2LTAzLTMxKS5cbiAgICB0aGFub3M6XG4gICAgICBvYmplY3RTdG9yYWdlQ29uZmlnOlxuICAgICAgICBleGlzdGluZ1NlY3JldDpcbiAgICAgICAgICBuYW1lOiB0aGFub3Mtb2Jqc3RvcmUtY29uZmlnICAjIEVTTy1tYW5hZ2VkIHNlY3JldFxuICAgICAgICAgIGtleTogb2Jqc3RvcmUueW1sXG5cbiAgICAjIFNpZGVjYXIgY29udGFpbmVycyByZXNvdXJjZSByZXF1ZXN0cyAoYWRkZWQgMjAyNS0xMS0xOClcbiAgICAjIE5PVEU6IHRoYW5vcy1zaWRlY2FyIGlzIE5PVCBsaXN0ZWQgaGVyZSAtIGl0J3MgYXV0b21hdGljYWxseSBpbmplY3RlZCBieSBQcm9tZXRoZXVzIE9wZXJhdG9yXG4gICAgIyB3aGVuIHRoYW5vcy5vYmplY3RTdG9yYWdlQ29uZmlnIGlzIHNldC4gU3BlY2lmeWluZyBpdCBpbiBjb250YWluZXJzW10gd291bGQgb3ZlcnJpZGVcbiAgICAjIHRoZSBvcGVyYXRvcidzIGRlZmluaXRpb24gYW5kIHJlcXVpcmUgdXMgdG8gbWFudWFsbHkgc3BlY2lmeSB0aGUgaW1hZ2UsIHdoaWNoIGJyZWFrc1xuICAgICMgd2hlbiB0aGUgb3BlcmF0b3IgdXBkYXRlcyB0aGUgdGhhbm9zIHZlcnNpb24uXG4gICAgY29udGFpbmVyczpcbiAgICAtIG5hbWU6IGNvbmZpZy1yZWxvYWRlclxuICAgICAgcmVzb3VyY2VzOlxuICAgICAgICByZXF1ZXN0czpcbiAgICAgICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5yZXF1ZXN0cy5jcHV9XG4gICAgICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIucmVxdWVzdHMubWVtb3J5fVxuICAgICAgICBsaW1pdHM6XG4gICAgICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIubGltaXRzLmNwdX1cbiAgICAgICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5saW1pdHMubWVtb3J5fVxuXG4gICAgc2VydmljZTpcbiAgICAgIHNlc3Npb25BZmZpbml0eTogXCJDbGllbnRJUFwiXG5cblxuZ3JhZmFuYTpcbiAgIyBSZWNyZWF0ZSBzdHJhdGVneSBpcyByZXF1aXJlZCBiZWNhdXNlIHRoZSBzdG9yYWdlIFBWQyBpcyBSV086XG4gICMgYSBSb2xsaW5nVXBkYXRlIHdvdWxkIHN1cmdlIGEgc2Vjb25kIHBvZCB0aGF0IGNhbm5vdCBtb3VudCB0aGVcbiAgIyB2b2x1bWUgKEZhaWxlZEF0dGFjaFZvbHVtZSksIGJsb2NraW5nIHRoZSByb2xsb3V0IGluZGVmaW5pdGVseS5cbiAgZGVwbG95bWVudFN0cmF0ZWd5OlxuICAgIHR5cGU6IFJlY3JlYXRlXG5cbiAgIyBVc2UgZXhpc3Rpbmcgc2VjcmV0IGZvciBhZG1pbiBjcmVkZW50aWFscyAobWFuYWdlZCBieSBFU08pXG4gICMgVGhpcyBwcmV2ZW50cyBwYXNzd29yZCByZWdlbmVyYXRpb24gb24gSGVsbSB1cGdyYWRlc1xuICBhZG1pbjpcbiAgICBleGlzdGluZ1NlY3JldDogXCJncmFmYW5hLWFkbWluLWNyZWRlbnRpYWxzXCJcbiAgICB1c2VyS2V5OiBcImFkbWluLXVzZXJcIlxuICAgIHBhc3N3b3JkS2V5OiBcImFkbWluLXBhc3N3b3JkXCJcblxuICAjIEdyYWZhbmEgcnVucyBodHRwIG9uIDozMDAwIGJlaGluZCB0aGUgVExTLXRlcm1pbmF0aW5nIGluZ3Jlc3MuIFdpdGhvdXQgYW5cbiAgIyBleHBsaWNpdCByb290X3VybCBpdCBidWlsZHMgc2hhcmUgYW5kIHB1YmxpYy1kYXNoYm9hcmQgbGlua3MgZnJvbSB0aGUgaW50ZXJuYWxcbiAgIyBhZGRyZXNzIChodHRwOi8vPHBvZD46MzAwMCk7IGRlcml2ZSB0aGUgZXh0ZXJuYWwgVVJMIGZyb20gdGhlIGNvbmZpZ3VyZWQgZG9tYWluLlxuICBncmFmYW5hLmluaTpcbiAgICBzZXJ2ZXI6XG4gICAgICBkb21haW46ICR7Y29uZmlnLmRvbWFpbnMuZ3JhZmFuYX1cbiAgICAgIHJvb3RfdXJsOiBodHRwczovLyR7Y29uZmlnLmRvbWFpbnMuZ3JhZmFuYX0ke3RoaXMuZ2VuZXJhdGVHcmFmYW5hU2VjdXJpdHkoY29uZmlnKX1cblxuICAjIERpc2FibGUgZGVmYXVsdCBQcm9tZXRoZXVzIGRhdGFzb3VyY2UgKHdlIHByb3ZpZGUgb3VyIG93biBwb2ludGluZyB0byBUaGFub3MgUXVlcnkpXG4gIGRlZmF1bHREYXRhc291cmNlRW5hYmxlZDogZmFsc2VcblxuICAjIFNpZGVjYXIgY29udGFpbmVycyBmb3IgZGFzaGJvYXJkL2RhdGFzb3VyY2UgcHJvdmlzaW9uaW5nXG4gIHNpZGVjYXI6XG4gICAgcmVzb3VyY2VzOlxuICAgICAgcmVxdWVzdHM6XG4gICAgICAgIGNwdTogMTBtXG4gICAgICAgIG1lbW9yeTogMjU2TWlcbiAgICAgIGxpbWl0czpcbiAgICAgICAgY3B1OiAxMDBtXG4gICAgICAgIG1lbW9yeTogNTEyTWlcbiAgICBkYXNoYm9hcmRzOlxuICAgICAgZW5hYmxlZDogdHJ1ZVxuICAgICAgIyBEYXNoYm9hcmQgQ29uZmlnTWFwcyBtYXkgb3B0IGludG8gYSBuYW1lZCBHcmFmYW5hIGZvbGRlciB2aWEgdGhpc1xuICAgICAgIyBhbm5vdGF0aW9uOyBDb25maWdNYXBzIHdpdGhvdXQgaXQga2VlcCBsYW5kaW5nIGluIEdlbmVyYWwuXG4gICAgICBmb2xkZXJBbm5vdGF0aW9uOiBncmFmYW5hX2ZvbGRlclxuICAgICAgcHJvdmlkZXI6XG4gICAgICAgIGZvbGRlcnNGcm9tRmlsZXNTdHJ1Y3R1cmU6IHRydWVcbiAgICBkYXRhc291cmNlczpcbiAgICAgIGVuYWJsZWQ6IGZhbHNlICAjIFdlIG1hbnVhbGx5IHByb3Zpc2lvbiBkYXRhc291cmNlcyAoUHJvbWV0aGV1c+KGklRoYW5vcywgTG9raSlcblxuICBpbmdyZXNzOlxuICAgIGVuYWJsZWQ6IHRydWUke2NvbmZpZy5kb21haW5zLmluZ3Jlc3NDbGFzc05hbWUgPyBgXFxuICAgIGluZ3Jlc3NDbGFzc05hbWU6ICR7Y29uZmlnLmRvbWFpbnMuaW5ncmVzc0NsYXNzTmFtZX1gIDogJyd9XG4gICAgaG9zdHM6XG4gICAgICAtICR7Y29uZmlnLmRvbWFpbnMuZ3JhZmFuYX1cbiAgICBhbm5vdGF0aW9uczpcbiAgICAgIGNlcnQtbWFuYWdlci5pby9jbHVzdGVyLWlzc3VlcjogXCJsZXRzZW5jcnlwdC1jbHVzdGVyLWlzc3VlclwiXG4gICAgICB0cmFlZmlrLmluZ3Jlc3Mua3ViZXJuZXRlcy5pby9yb3V0ZXIuZW50cnlwb2ludHM6IHdlYnNlY3VyZVxuICAgIHRsczpcbiAgICAgIC0gc2VjcmV0TmFtZTogZ3JhZmFuYS1nZW5lcmFsLXRsc1xuICAgICAgICBob3N0czpcbiAgICAgICAgLSAke2NvbmZpZy5kb21haW5zLmdyYWZhbmF9XG5cbiAgcmVzb3VyY2VzOlxuICAgIGxpbWl0czpcbiAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmdyYWZhbmEubGltaXRzLmNwdX1cbiAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmdyYWZhbmEubGltaXRzLm1lbW9yeX1cbiAgICByZXF1ZXN0czpcbiAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmdyYWZhbmEucmVxdWVzdHMuY3B1fVxuICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuZ3JhZmFuYS5yZXF1ZXN0cy5tZW1vcnl9XG5cbiAgcmVhZGluZXNzUHJvYmU6XG4gICAgaHR0cEdldDpcbiAgICAgIHBhdGg6IC9hcGkvaGVhbHRoXG4gICAgICBwb3J0OiAzMDAwXG4gICAgaW5pdGlhbERlbGF5U2Vjb25kczogMzBcbiAgICBwZXJpb2RTZWNvbmRzOiAxMFxuICAgIHRpbWVvdXRTZWNvbmRzOiA1XG4gICAgZmFpbHVyZVRocmVzaG9sZDogM1xuXG4gIGxpdmVuZXNzUHJvYmU6XG4gICAgaHR0cEdldDpcbiAgICAgIHBhdGg6IC9hcGkvaGVhbHRoXG4gICAgICBwb3J0OiAzMDAwXG4gICAgaW5pdGlhbERlbGF5U2Vjb25kczogNjBcbiAgICBwZXJpb2RTZWNvbmRzOiAxMFxuICAgIHRpbWVvdXRTZWNvbmRzOiAzMFxuICAgIGZhaWx1cmVUaHJlc2hvbGQ6IDEwXG5cbiAgcGVyc2lzdGVuY2U6XG4gICAgZW5hYmxlZDogdHJ1ZVxuICAgIHN0b3JhZ2VDbGFzc05hbWU6IGxvbmdob3JuXG4gICAgYWNjZXNzTW9kZXM6XG4gICAgICAtIFJlYWRXcml0ZU9uY2VcbiAgICBzaXplOiAke2NvbmZpZy5zdG9yYWdlLmdyYWZhbmF9XG5cbiAgIyBNYW51YWwgZGF0YXNvdXJjZSBwcm92aXNpb25pbmcgKHNpZGVjYXIgZGlzYWJsZWQpXG4gICMgVGhhbm9zIFF1ZXJ5IOKGkiBsb25nLXRlcm0vaGlzdG9yaWNhbCBtZXRyaWNzIChTMyB2aWEgU3RvcmUgKyBsaXZlIHNpZGVjYXIpLCBkZWZhdWx0XG4gICMgUHJvbWV0aGV1cyDihpIgbG9jYWwsIHJlY2VudC9oaWdoLXJlcyBvbmx5IChrZXB0IGZvciBsb3ctbGF0ZW5jeSByZWNlbnQgcXVlcmllcylcbiAgIyBMb2tpIGZvciBsb2cgYWdncmVnYXRpb25cbiAgZGF0YXNvdXJjZXM6XG4gICAgZGF0YXNvdXJjZXMueWFtbDpcbiAgICAgIGFwaVZlcnNpb246IDFcbiAgICAgICMgRGVsZXRlIGFueSBwcmUtZXhpc3RpbmcgTG9raSBkYXRhc291cmNlIChlLmcuIG9uZSBjcmVhdGVkIHdpdGggYVxuICAgICAgIyByYW5kb21seSBnZW5lcmF0ZWQgVUlEIGJlZm9yZSB3ZSBwaW5uZWQgdWlkOiBsb2tpKS4gV2l0aG91dCB0aGlzLFxuICAgICAgIyBHcmFmYW5hIGZhaWxzIHByb3Zpc2lvbmluZyB3aXRoIFwiZGF0YSBzb3VyY2Ugbm90IGZvdW5kXCIgYmVjYXVzZVxuICAgICAgIyB0aGUgdXBzZXJ0IGNvbGxpZGVzIHdpdGggdGhlIGV4aXN0aW5nIGVudHJ5LlxuICAgICAgZGVsZXRlRGF0YXNvdXJjZXM6XG4gICAgICAtIG5hbWU6IExva2lcbiAgICAgICAgb3JnSWQ6IDFcbiAgICAgIGRhdGFzb3VyY2VzOlxuICAgICAgLSBuYW1lOiBUaGFub3NcbiAgICAgICAgdHlwZTogcHJvbWV0aGV1c1xuICAgICAgICB1aWQ6IHRoYW5vc1xuICAgICAgICBhY2Nlc3M6IHByb3h5XG4gICAgICAgICMgdGhhbm9zLXF1ZXJ5IFNlcnZpY2U6IGh0dHAgcG9ydCA5MDkwIC0+IGNvbnRhaW5lciBodHRwIDEwOTAyXG4gICAgICAgIHVybDogaHR0cDovL3RoYW5vcy1xdWVyeS4ke2NvbmZpZy5uYW1lc3BhY2V9LnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTBcbiAgICAgICAgaXNEZWZhdWx0OiB0cnVlXG4gICAgICAgIGpzb25EYXRhOlxuICAgICAgICAgIHRpbWVJbnRlcnZhbDogMzBzXG4gICAgICAtIG5hbWU6IFByb21ldGhldXNcbiAgICAgICAgdHlwZTogcHJvbWV0aGV1c1xuICAgICAgICB1aWQ6IHByb21ldGhldXNcbiAgICAgICAgYWNjZXNzOiBwcm94eVxuICAgICAgICB1cmw6IGh0dHA6Ly9rdWJlLXByb21ldGhldXMtc3RhY2stcHJvbWV0aGV1cy4ke2NvbmZpZy5uYW1lc3BhY2V9LnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTBcbiAgICAgICAgaXNEZWZhdWx0OiBmYWxzZVxuICAgICAgICBqc29uRGF0YTpcbiAgICAgICAgICB0aW1lSW50ZXJ2YWw6IDMwc1xuICAgICAgLSBuYW1lOiBMb2tpXG4gICAgICAgIHR5cGU6IGxva2lcbiAgICAgICAgdWlkOiBsb2tpXG4gICAgICAgIGFjY2VzczogcHJveHlcbiAgICAgICAgdXJsOiBodHRwOi8vbG9raS1nYXRld2F5LiR7Y29uZmlnLm5hbWVzcGFjZX0uc3ZjLmNsdXN0ZXIubG9jYWxcbiAgICAgICAganNvbkRhdGE6XG4gICAgICAgICAgbWF4TGluZXM6IDEwMDAke3RlbXBvRGF0YXNvdXJjZX1cblxucHJvbWV0aGV1c09wZXJhdG9yOlxuICByZXNvdXJjZXM6XG4gICAgbGltaXRzOlxuICAgICAgY3B1OiAxXG4gICAgICBtZW1vcnk6IDUxMk1pXG4gICAgcmVxdWVzdHM6XG4gICAgICBjcHU6IDUwbVxuICAgICAgbWVtb3J5OiAxMjhNaVxuICBwcmlvcml0eUNsYXNzTmFtZTogaGlnaC1wcmlvcml0eVxuXG5wcm9tZXRoZXVzLW5vZGUtZXhwb3J0ZXI6XG4gICMgQmluZCA6OTEwMCB0byB0aGUgbm9kZSBJbnRlcm5hbElQIG9ubHksIG5vdCAwLjAuMC4wLiBXaXRoIGt1YmVSQkFDUHJveHlcbiAgIyBkaXNhYmxlZCB0aGUgc3ViLWNoYXJ0IHNldHMgSE9TVF9JUCBmcm9tIGZpZWxkUmVmIHN0YXR1cy5ob3N0SVAsIHdoaWNoIGlzXG4gICMgdGhlIG5vZGUncyBJbnRlcm5hbElQIChFWDogdlN3aXRjaCAxMC42LjAueCB2aWEgLS1ub2RlLWlwOyBjbG91ZDogaGNsb3VkXG4gICMgcHJpdmF0ZSBJUCkuIG5vZGUtZXhwb3J0ZXIgaXMgaG9zdE5ldHdvcmssIHNvIFByb21ldGhldXMgYWxyZWFkeSBzY3JhcGVzXG4gICMgdGhhdCBJbnRlcm5hbElQIGVuZHBvaW50IC0+IHNjcmFwaW5nIGlzIHVuYWZmZWN0ZWQsIG9ubHkgdGhlIHB1YmxpYy1OSUNcbiAgIyBleHBvc3VyZSBvZiB0aGUgdW5hdXRoZW50aWNhdGVkIG1ldHJpY3Mgb24gdGhlIEVYIHB1YmxpYyBJUHMgZ29lcyBhd2F5LlxuICBzZXJ2aWNlOlxuICAgIGxpc3Rlbk9uQWxsSW50ZXJmYWNlczogZmFsc2VcbiAgcmVzb3VyY2VzOlxuICAgIGxpbWl0czpcbiAgICAgIGNwdTogNTBtXG4gICAgICBtZW1vcnk6IDUwTWlcbiAgICByZXF1ZXN0czpcbiAgICAgIGNwdTogNW1cbiAgICAgIG1lbW9yeTogMTZNaVxuICBwcmlvcml0eUNsYXNzTmFtZTogaGlnaC1wcmlvcml0eVxuXG5rdWJlLXN0YXRlLW1ldHJpY3M6XG4gIHJlc291cmNlczpcbiAgICBsaW1pdHM6XG4gICAgICBjcHU6IDFcbiAgICAgIG1lbW9yeTogNTEyTWlcbiAgICByZXF1ZXN0czpcbiAgICAgIGNwdTogNW1cbiAgICAgIG1lbW9yeTogMTI4TWlcbiAgcHJpb3JpdHlDbGFzc05hbWU6IGhpZ2gtcHJpb3JpdHlcbmA7XG4gIH1cbn1cbiJdfQ==
|
|
641
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWV0aGV1cy1zdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3RzL3Byb21ldGhldXMtc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWtDO0FBQ2xDLDJDQUF1QztBQUV2Qyw2Q0FBeUQ7QUFPekQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxNQUFhLHdCQUF5QixTQUFRLHNCQUFTO0lBQ3JELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMkI7UUFDbkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUVwQyw0QkFBNEI7UUFDNUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRW5ELGtEQUFrRDtRQUNsRCwyQ0FBMkM7UUFDM0MsSUFBSSxpQkFBUyxDQUFDLElBQUksRUFBRSx1QkFBdUIsRUFBRTtZQUMzQyxVQUFVLEVBQUUsbUJBQW1CO1lBQy9CLElBQUksRUFBRSxXQUFXO1lBQ2pCLFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUsdUJBQXVCO2dCQUM3QixTQUFTLEVBQUUsU0FBUztnQkFDcEIsTUFBTSxFQUFFO29CQUNOLHdCQUF3QixFQUFFLHVCQUF1QjtvQkFDakQsNkJBQTZCLEVBQUUsWUFBWTtvQkFDM0MsOEJBQThCLEVBQUUsT0FBTztvQkFDdkMsMkJBQTJCLEVBQUUsWUFBWTtpQkFDMUM7Z0JBQ0QsV0FBVyxFQUFFO29CQUNYLDhCQUE4QixFQUFFLEdBQUc7aUJBQ3BDO2FBQ0Y7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLG9EQUFvRDtnQkFDMUQsS0FBSyxFQUFFLHVCQUF1QjtnQkFDOUIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxLQUFLLFFBQVEsQ0FB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Y2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcGlPYmplY3QgfSBmcm9tICdjZGs4cyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IE1vbml0b3JpbmdDb25maWcgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBIRUxNX0NIQVJUX0ZBSUxVUkVfUE9MSUNZIH0gZnJvbSAnLi9oZWxtLWNoYXJ0JztcblxuZXhwb3J0IGludGVyZmFjZSBQcm9tZXRoZXVzU3RhY2tQcm9wcyB7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBjb25maWc6IE1vbml0b3JpbmdDb25maWc7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBrdWJlLXByb21ldGhldXMtc3RhY2sgSGVsbUNoYXJ0IHdpdGggUHJvbWV0aGV1cywgR3JhZmFuYSwgYW5kIEFsZXJ0bWFuYWdlci5cbiAqXG4gKiBUaGlzIGlzIHRoZSBjb3JlIG1vbml0b3Jpbmcgc3RhY2sgdGhhdCBpbmNsdWRlczpcbiAqIC0gUHJvbWV0aGV1cyAobWV0cmljcyBjb2xsZWN0aW9uLCAyIHJlcGxpY2FzLCAzZCByZXRlbnRpb24pXG4gKiAtIEdyYWZhbmEgKHZpc3VhbGl6YXRpb24sIGluZ3Jlc3Mgd2l0aCBMZXQncyBFbmNyeXB0KVxuICogLSBBbGVydG1hbmFnZXIgKGFsZXJ0IHJvdXRpbmcsIFNNVFAgbm90aWZpY2F0aW9ucylcbiAqIC0gUHJvbWV0aGV1cyBPcGVyYXRvciAobWFuYWdlcyBQcm9tZXRoZXVzIENSRHMpXG4gKiAtIE5vZGUgRXhwb3J0ZXIgKHN5c3RlbSBtZXRyaWNzIERhZW1vblNldClcbiAqIC0ga3ViZS1zdGF0ZS1tZXRyaWNzIChLdWJlcm5ldGVzIHJlc291cmNlIG1ldHJpY3MpXG4gKlxuICogUHJlcmVxdWlzaXRlczpcbiAqIC0gTmFtZXNwYWNlIGV4aXN0c1xuICogLSBUaGUgUHJpb3JpdHlDbGFzc2VzIG5hbWVkIGluIGNvbmZpZy5wcmlvcml0eUNsYXNzZXMgZXhpc3RcbiAqIC0gTG9uZ2hvcm4gc3RvcmFnZSBjbGFzcyBhdmFpbGFibGVcbiAqIC0gY2VydC1tYW5hZ2VyIENsdXN0ZXJJc3N1ZXIgY29uZmlndXJlZFxuICogLSBUaGFub3MgUzMgc2VjcmV0IGV4aXN0cyAodGhhbm9zLW9ianN0b3JlLWNvbmZpZylcbiAqXG4gKiBTeW5jIFdhdmU6IDIgKGNvcmUgc2VydmljZXMgLSBhZnRlciBTMyBidWNrZXRzIGFuZCBzZWNyZXRzKVxuICovXG5leHBvcnQgY2xhc3MgUHJvbWV0aGV1c1N0YWNrQ29uc3RydWN0IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFByb21ldGhldXNTdGFja1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHsgbmFtZXNwYWNlLCBjb25maWcgfSA9IHByb3BzO1xuXG4gICAgLy8gR2VuZXJhdGUgSGVsbSB2YWx1ZXMgWUFNTFxuICAgIGNvbnN0IGhlbG1WYWx1ZXMgPSB0aGlzLmdlbmVyYXRlSGVsbVZhbHVlcyhjb25maWcpO1xuXG4gICAgLy8gQ3JlYXRlIEhlbG1DaGFydCByZXNvdXJjZSAoSzNTIEhlbG0gY29udHJvbGxlcilcbiAgICAvLyBXYXZlIDI6IENvcmUgU2VydmljZXMgLSBtb25pdG9yaW5nIHN0YWNrXG4gICAgbmV3IEFwaU9iamVjdCh0aGlzLCAna3ViZS1wcm9tZXRoZXVzLXN0YWNrJywge1xuICAgICAgYXBpVmVyc2lvbjogJ2hlbG0uY2F0dGxlLmlvL3YxJyxcbiAgICAgIGtpbmQ6ICdIZWxtQ2hhcnQnLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgbmFtZTogJ2t1YmUtcHJvbWV0aGV1cy1zdGFjaycsXG4gICAgICAgIG5hbWVzcGFjZTogbmFtZXNwYWNlLFxuICAgICAgICBsYWJlbHM6IHtcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vbmFtZSc6ICdrdWJlLXByb21ldGhldXMtc3RhY2snLFxuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9jb21wb25lbnQnOiAnbW9uaXRvcmluZycsXG4gICAgICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL21hbmFnZWQtYnknOiAnY2RrOHMnLFxuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9wYXJ0LW9mJzogJ21vbml0b3JpbmcnLFxuICAgICAgICB9LFxuICAgICAgICBhbm5vdGF0aW9uczoge1xuICAgICAgICAgICdhcmdvY2QuYXJnb3Byb2ouaW8vc3luYy13YXZlJzogJzInLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHNwZWM6IHtcbiAgICAgICAgcmVwbzogJ2h0dHBzOi8vcHJvbWV0aGV1cy1jb21tdW5pdHkuZ2l0aHViLmlvL2hlbG0tY2hhcnRzJyxcbiAgICAgICAgY2hhcnQ6ICdrdWJlLXByb21ldGhldXMtc3RhY2snLFxuICAgICAgICB2ZXJzaW9uOiBjb25maWcudmVyc2lvbnMucHJvbWV0aGV1c1N0YWNrID09PSAnbGF0ZXN0JyA/IHVuZGVmaW5lZCA6IGNvbmZpZy52ZXJzaW9ucy5wcm9tZXRoZXVzU3RhY2ssXG4gICAgICAgIHRhcmdldE5hbWVzcGFjZTogbmFtZXNwYWNlLFxuICAgICAgICBmYWlsdXJlUG9saWN5OiBIRUxNX0NIQVJUX0ZBSUxVUkVfUE9MSUNZLFxuICAgICAgICB2YWx1ZXNDb250ZW50OiBoZWxtVmFsdWVzLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBgW3NlY3VyaXR5XWAgc2VjdGlvbiBvZiBncmFmYW5hLmluaSwgZW1wdHkgdW5sZXNzIGVtYmVkZGluZyBpcyBlbmFibGVkLlxuICAgKlxuICAgKiBHcmFmYW5hIHNlbmRzIGBYLUZyYW1lLU9wdGlvbnM6IGRlbnlgIHVubGVzcyBgYWxsb3dfZW1iZWRkaW5nYCBpcyBzZXQsIHdoaWNoXG4gICAqIGJsb2NrcyBleHRlcm5hbGx5IHNoYXJlZCAoXCJwdWJsaWNcIikgZGFzaGJvYXJkcyBpbiBhbiBpZnJhbWUganVzdCBhcyBtdWNoIGFzXG4gICAqIHRoZSBhdXRoZW50aWNhdGVkIFVJLiBEcm9wcGluZyB0aGF0IGhlYWRlciBhbG9uZSB3b3VsZCBsZXQgYW55IHNpdGUgZnJhbWVcbiAgICogR3JhZmFuYSwgc28gaXQgaXMgcGFpcmVkIHdpdGggYSBDb250ZW50LVNlY3VyaXR5LVBvbGljeSB3aG9zZVxuICAgKiBgZnJhbWUtYW5jZXN0b3JzYCBuYW1lcyB0aGUgYWxsb3dlZCBvcmlnaW5zIOKAlCBicm93c2VycyBob25vdXIgaXQgaW4gcGxhY2Ugb2ZcbiAgICogdGhlIHJlbW92ZWQgaGVhZGVyLlxuICAgKlxuICAgKiBUaGUgb3RoZXIgZGlyZWN0aXZlcyBhcmUgR3JhZmFuYSdzIG93biBkZWZhdWx0IHRlbXBsYXRlIHZlcmJhdGltOyBgJE5PTkNFYFxuICAgKiBhbmQgYCRST09UX1BBVEhgIGFyZSBleHBhbmRlZCBieSBHcmFmYW5hIHBlciByZXF1ZXN0LiBPbmx5XG4gICAqIGAkRk9STV9BQ1RJT05fQURESVRJT05BTF9IT1NUU2AgaXMgZHJvcHBlZDogaXQgZXhpc3RzIGFzIGEgcGxhY2Vob2xkZXIganVzdFxuICAgKiBpbiByZWNlbnQgR3JhZmFuYXMsIGFuZCBvbGRlciBvbmVzIHdvdWxkIGVtaXQgaXQgbGl0ZXJhbGx5IGludG8gdGhlIGhlYWRlci5cbiAgICpcbiAgICogVGhlIHBvbGljeSBpcyB3cmFwcGVkIGluIGBcIlwiXCJgLCBleGFjdGx5IGFzIEdyYWZhbmEncyBvd24gZGVmYXVsdHMuaW5pIGRvZXMuXG4gICAqIGdyYWZhbmEuaW5pIGlzIHBhcnNlZCBieSBnby1pbmksIHdoaWNoIHRyZWF0cyBgO2AgYXMgYW4gaW5saW5lIGNvbW1lbnQg4oCUIGFuXG4gICAqIHVucXVvdGVkIHBvbGljeSBpcyBzaWxlbnRseSB0cnVuY2F0ZWQgYXQgaXRzIGZpcnN0IGRpcmVjdGl2ZSBzZXBhcmF0b3IsIGFuZFxuICAgKiB0aGUgYnJvd3NlciB0aGVuIHJlY2VpdmVzIGEgQ1NQIHdpdGhvdXQgYGZyYW1lLWFuY2VzdG9yc2Agd2hpbGVcbiAgICogYFgtRnJhbWUtT3B0aW9uc2AgaXMgYWxyZWFkeSBnb25lLiBBIFlBTUwgYmxvY2sgc2NhbGFyIGNhcnJpZXMgdGhlIHF1b3Rlc1xuICAgKiB0aHJvdWdoIHVudG91Y2hlZDsgYSBwbGFpbiBxdW90ZWQgc2NhbGFyIHdvdWxkIGZpZ2h0IG92ZXIgdGhlIHNhbWVcbiAgICogY2hhcmFjdGVyLlxuICAgKi9cbiAgLyoqXG4gICAqIEV4dHJhIEFsZXJ0bWFuYWdlciByb3V0ZSBkZW1vdGluZyBzdGFnaW5nLW5hbWVzcGFjZSBhbGVydHMsIGVtcHR5IHVubGVzc1xuICAgKiBzdGFnaW5nQWxlcnRzIGlzIGVuYWJsZWQuIFBsYWNlZCBhZnRlciB0aGUgbm9pc2UtZHJvcCByb3V0ZXMgKHRob3NlIGFwcGx5XG4gICAqIHRvIHN0YWdpbmcganVzdCBhcyBtdWNoKSBhbmQgYmVmb3JlIHRoZSBkZWZhdWx0IHByb2R1Y3Rpb24gcmVjZWl2ZXIuXG4gICAqL1xuICBwcml2YXRlIGdlbmVyYXRlU3RhZ2luZ1JvdXRlKGNvbmZpZzogTW9uaXRvcmluZ0NvbmZpZyk6IHN0cmluZyB7XG4gICAgaWYgKCFjb25maWcuc3RhZ2luZ0FsZXJ0cy5lbmFibGVkKSByZXR1cm4gJyc7XG4gICAgcmV0dXJuIGBcbiAgICAgIC0gbWF0Y2hfcmU6XG4gICAgICAgICAgbmFtZXNwYWNlOiBeKCR7Y29uZmlnLnN0YWdpbmdBbGVydHMubmFtZXNwYWNlcy5qb2luKCd8Jyl9KSRcbiAgICAgICAgcmVjZWl2ZXI6IHN0YWdpbmdgO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBgc3RhZ2luZ2AgZW1haWwgcmVjZWl2ZXIsIGVtcHR5IHVubGVzcyBzdGFnaW5nQWxlcnRzIGlzIGVuYWJsZWQuIFNhbWVcbiAgICogbWFpbGJveCBhcyB0aGUgcHJvZHVjdGlvbiByZWNlaXZlciwgYnV0IHRoZSBzdWJqZWN0IHByZWZpeCBtYXJrcyB0aGUgbWFpbFxuICAgKiBhcyBub24tcHJvZHVjdGlvbiBhbmQga2VlcHMgaXQgZmlsdGVyYWJsZS5cbiAgICovXG4gIC8qKlxuICAgKiBBbGVydG1hbmFnZXIgcmVhZHMgdGhlIHBhc3N3b3JkIGZyb20gdGhlIGZpbGUgd2hlbiBhIHNlY3JldCBpcyBjb25maWd1cmVkLFxuICAgKiB3aGljaCBrZWVwcyBpdCBvdXQgb2YgdGhlIHN5bnRoZXNpemVkIG1hbmlmZXN0cy5cbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVTbXRwQXV0aFBhc3N3b3JkKGNvbmZpZzogTW9uaXRvcmluZ0NvbmZpZyk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2VjcmV0ID0gY29uZmlnLnNtdHAucGFzc3dvcmRTZWNyZXQ7XG4gICAgaWYgKHNlY3JldCkge1xuICAgICAgcmV0dXJuIGBzbXRwX2F1dGhfcGFzc3dvcmRfZmlsZTogL2V0Yy9hbGVydG1hbmFnZXIvc2VjcmV0cy8ke3NlY3JldC5uYW1lfS8ke3NlY3JldC5rZXl9YDtcbiAgICB9XG4gICAgcmV0dXJuIGBzbXRwX2F1dGhfcGFzc3dvcmQ6ICR7Y29uZmlnLnNtdHAucGFzc3dvcmQgfHwgJyd9YDtcbiAgfVxuXG4gIC8qKiBGYWxscyBiYWNrIHRvIHRoZSBzZW5kZXIgYWRkcmVzcyBzbyBleGlzdGluZyBjb25maWdzIGtlZXAgdGhlaXIgcmVjaXBpZW50LiAqL1xuICBwcml2YXRlIGdlbmVyYXRlUmVjaXBpZW50cyhjb25maWc6IE1vbml0b3JpbmdDb25maWcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJlY2lwaWVudHMgPSBjb25maWcuc210cC5yZWNpcGllbnRzO1xuICAgIGlmIChyZWNpcGllbnRzICYmIHJlY2lwaWVudHMubGVuZ3RoID4gMCkgcmV0dXJuIHJlY2lwaWVudHMuam9pbignLCAnKTtcbiAgICByZXR1cm4gY29uZmlnLnNtdHAuZnJvbTtcbiAgfVxuXG4gIC8qKiBNb3VudHMgdGhlIHBhc3N3b3JkIHNlY3JldCBhdCAvZXRjL2FsZXJ0bWFuYWdlci9zZWNyZXRzLzxuYW1lPi88a2V5Pi4gKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZUFsZXJ0bWFuYWdlclNlY3JldHMoY29uZmlnOiBNb25pdG9yaW5nQ29uZmlnKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZWNyZXQgPSBjb25maWcuc210cC5wYXNzd29yZFNlY3JldDtcbiAgICBpZiAoIXNlY3JldCkgcmV0dXJuICcnO1xuICAgIHJldHVybiBgXG4gICAgc2VjcmV0czpcbiAgICAtICR7c2VjcmV0Lm5hbWV9YDtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVTdGFnaW5nUmVjZWl2ZXIoY29uZmlnOiBNb25pdG9yaW5nQ29uZmlnKTogc3RyaW5nIHtcbiAgICBpZiAoIWNvbmZpZy5zdGFnaW5nQWxlcnRzLmVuYWJsZWQpIHJldHVybiAnJztcbiAgICByZXR1cm4gYFxuICAgIC0gbmFtZTogc3RhZ2luZ1xuICAgICAgZW1haWxfY29uZmlnczpcbiAgICAgIC0gc2VuZF9yZXNvbHZlZDogdHJ1ZVxuICAgICAgICB0bzogJHt0aGlzLmdlbmVyYXRlUmVjaXBpZW50cyhjb25maWcpfVxuICAgICAgICBoZWFkZXJzOlxuICAgICAgICAgIHN1YmplY3Q6ICdbU1RBR0lOR10ge3sgdGVtcGxhdGUgXCJlbWFpbC5kZWZhdWx0LnN1YmplY3RcIiAuIH19J2A7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlR3JhZmFuYVNlY3VyaXR5KGNvbmZpZzogTW9uaXRvcmluZ0NvbmZpZyk6IHN0cmluZyB7XG4gICAgaWYgKCFjb25maWcuZW1iZWRkaW5nLmVuYWJsZWQpIHJldHVybiAnJztcbiAgICBjb25zdCBwb2xpY3kgPSBbXG4gICAgICBcInNjcmlwdC1zcmMgJ3NlbGYnICd1bnNhZmUtZXZhbCcgJ3Vuc2FmZS1pbmxpbmUnICdzdHJpY3QtZHluYW1pYycgJE5PTkNFXCIsXG4gICAgICBcIm9iamVjdC1zcmMgJ25vbmUnXCIsXG4gICAgICBcImZvbnQtc3JjICdzZWxmJ1wiLFxuICAgICAgXCJzdHlsZS1zcmMgJ3NlbGYnICd1bnNhZmUtaW5saW5lJyBibG9iOlwiLFxuICAgICAgJ2ltZy1zcmMgKiBkYXRhOicsXG4gICAgICBcImJhc2UtdXJpICdzZWxmJ1wiLFxuICAgICAgXCJjb25uZWN0LXNyYyAnc2VsZicgZ3JhZmFuYS5jb20gd3M6Ly8kUk9PVF9QQVRIIHdzczovLyRST09UX1BBVEhcIixcbiAgICAgIFwibWFuaWZlc3Qtc3JjICdzZWxmJ1wiLFxuICAgICAgXCJtZWRpYS1zcmMgJ25vbmUnXCIsXG4gICAgICBcImZvcm0tYWN0aW9uICdzZWxmJ1wiLFxuICAgICAgYGZyYW1lLWFuY2VzdG9ycyAnc2VsZicgJHtjb25maWcuZW1iZWRkaW5nLmZyYW1lQW5jZXN0b3JzLmpvaW4oJyAnKX1gLFxuICAgIF0ubWFwKChkaXJlY3RpdmUpID0+IGAke2RpcmVjdGl2ZX07YCkuam9pbignJyk7XG4gICAgcmV0dXJuIGBcbiAgICBzZWN1cml0eTpcbiAgICAgIGFsbG93X2VtYmVkZGluZzogdHJ1ZVxuICAgICAgY29udGVudF9zZWN1cml0eV9wb2xpY3k6IHRydWVcbiAgICAgIGNvbnRlbnRfc2VjdXJpdHlfcG9saWN5X3RlbXBsYXRlOiA+LVxuICAgICAgICBcIlwiXCIke3BvbGljeX1cIlwiXCJgO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUhlbG1WYWx1ZXMoY29uZmlnOiBNb25pdG9yaW5nQ29uZmlnKTogc3RyaW5nIHtcbiAgICAvLyBUZW1wbyBkYXRhc291cmNlIGlzIG9ubHkgcHJvdmlzaW9uZWQgd2hlbiB0cmFjaW5nIGlzIGVuYWJsZWQuIFdoZW5cbiAgICAvLyBkaXNhYmxlZCB0aGlzIGlzIGVtcHR5LCBzbyB0aGUgR3JhZmFuYSBibG9jayBpcyBieXRlLWlkZW50aWNhbCB0byBiZWZvcmUuXG4gICAgY29uc3QgdGVtcG9EYXRhc291cmNlID0gY29uZmlnLnRlbXBvLmVuYWJsZWQgPyBgXG4gICAgICAtIG5hbWU6IFRlbXBvXG4gICAgICAgIHR5cGU6IHRlbXBvXG4gICAgICAgIHVpZDogdGVtcG9cbiAgICAgICAgYWNjZXNzOiBwcm94eVxuICAgICAgICB1cmw6IGh0dHA6Ly90ZW1wby4ke2NvbmZpZy5uYW1lc3BhY2V9LnN2Yy5jbHVzdGVyLmxvY2FsOjMyMDBcbiAgICAgICAganNvbkRhdGE6XG4gICAgICAgICAgdGltZW91dDogNjBcbiAgICAgICAgICB0cmFjZXNUb0xvZ3NWMjpcbiAgICAgICAgICAgIGRhdGFzb3VyY2VVaWQ6IGxva2lcbiAgICAgICAgICAgIHNwYW5TdGFydFRpbWVTaGlmdDogXCItMWhcIlxuICAgICAgICAgICAgc3BhbkVuZFRpbWVTaGlmdDogXCIxaFwiXG4gICAgICAgICAgICBmaWx0ZXJCeVRyYWNlSUQ6IHRydWVcbiAgICAgICAgICB0cmFjZXNUb01ldHJpY3M6XG4gICAgICAgICAgICBkYXRhc291cmNlVWlkOiB0aGFub3NgIDogJyc7XG4gICAgcmV0dXJuIGBrdWJlRXRjZDpcbiAgZW5hYmxlZDogZmFsc2VcblxuIyBEaXNhYmxlIGt1YmUtY29udHJvbGxlci1tYW5hZ2VyIGFuZCBrdWJlLXNjaGVkdWxlciBtb25pdG9yaW5nLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NhYmxlc3BhZ2hldHRpL2szcy1tb25pdG9yaW5nL2lzc3Vlcy8yXG5rdWJlQ29udHJvbGxlck1hbmFnZXI6XG4gIGVuYWJsZWQ6IGZhbHNlXG5rdWJlU2NoZWR1bGVyOlxuICBlbmFibGVkOiBmYWxzZVxuXG4jIGszcyBydW5zIGt1YmUtcHJveHkgaW5zaWRlIHRoZSBhZ2VudCByYXRoZXIgdGhhbiBhcyBhIHNlcGFyYXRlIGNvbXBvbmVudCwgc29cbiMgdGhlcmUgaXMgbm8gZW5kcG9pbnQgdG8gc2NyYXBlLiBMZWF2aW5nIHRoaXMgZW5hYmxlZCBtYWtlcyB0aGUgc3RvY2tcbiMgS3ViZVByb3h5RG93biBydWxlIC0tIGFic2VudCh1cHtqb2I9XCJrdWJlLXByb3h5XCJ9KSAtLSBmaXJlIGZvcmV2ZXIgb24gYVxuIyBwZXJmZWN0bHkgaGVhbHRoeSBjbHVzdGVyLlxua3ViZVByb3h5OlxuICBlbmFibGVkOiBmYWxzZVxuXG4jIERldGVjdCBQb2REaXNydXB0aW9uQnVkZ2V0cyB0aGF0IHdvdWxkIGJsb2NrIGEgbm9kZSBkcmFpbiBkdXJpbmcgazNzIHVwZ3JhZGVzLlxuIyBPcGVyYXRvci1tYW5hZ2VkIFBEQnMgc2l0IGF0IGRpc3J1cHRpb25zQWxsb3dlZD0wIGJ5IGRlc2lnbiAoTG9uZ2hvcm4gaW5zdGFuY2UtbWFuYWdlcnMsXG4jIENOUEcgKi1wcmltYXJ5KSBhbmQgYXJlIGV4Y2x1ZGVkIHNvIHRoZSBhbGVydCBvbmx5IGZpcmVzIG9uIGFub21hbG91cyBhcHAgUERCcy5cbmFkZGl0aW9uYWxQcm9tZXRoZXVzUnVsZXNNYXA6XG4gIHBkYi1kcmFpbi1zYWZldHk6XG4gICAgZ3JvdXBzOlxuICAgICAgLSBuYW1lOiBwZGIucnVsZXNcbiAgICAgICAgaW50ZXJ2YWw6IDFtXG4gICAgICAgIHJ1bGVzOlxuICAgICAgICAgIC0gYWxlcnQ6IFBvZERpc3J1cHRpb25CdWRnZXRVbmRyYWluYWJsZVxuICAgICAgICAgICAgZXhwcjoga3ViZV9wb2RkaXNydXB0aW9uYnVkZ2V0X3N0YXR1c19wb2RfZGlzcnVwdGlvbnNfYWxsb3dlZHtuYW1lc3BhY2UhPVwibG9uZ2hvcm4tc3lzdGVtXCIsIHBvZGRpc3J1cHRpb25idWRnZXQhflwiLiotcHJpbWFyeVwifSA9PSAwXG4gICAgICAgICAgICBmb3I6IDE1bVxuICAgICAgICAgICAgbGFiZWxzOlxuICAgICAgICAgICAgICBzZXZlcml0eTogd2FybmluZ1xuICAgICAgICAgICAgICBjb21wb25lbnQ6IGNsdXN0ZXItdXBncmFkZVxuICAgICAgICAgICAgYW5ub3RhdGlvbnM6XG4gICAgICAgICAgICAgIHN1bW1hcnk6IFwiUERCIHt7ICRsYWJlbHMubmFtZXNwYWNlIH19L3t7ICRsYWJlbHMucG9kZGlzcnVwdGlvbmJ1ZGdldCB9fSBhbGxvd3MgMCB2b2x1bnRhcnkgZGlzcnVwdGlvbnNcIlxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogfFxuICAgICAgICAgICAgICAgIFRoZSBQb2REaXNydXB0aW9uQnVkZ2V0IHt7ICRsYWJlbHMubmFtZXNwYWNlIH19L3t7ICRsYWJlbHMucG9kZGlzcnVwdGlvbmJ1ZGdldCB9fVxuICAgICAgICAgICAgICAgIGhhcyBhbGxvd2VkIDAgdm9sdW50YXJ5IGRpc3J1cHRpb25zIGZvciBvdmVyIDE1IG1pbnV0ZXMuIFRoaXMgd2lsbCBibG9jayBhIG5vZGVcbiAgICAgICAgICAgICAgICBkcmFpbiBkdXJpbmcgazNzIHVwZ3JhZGVzLiBPcGVyYXRvci1tYW5hZ2VkIFBEQnMgKExvbmdob3JuLCBDTlBHIHByaW1hcmllcykgYXJlXG4gICAgICAgICAgICAgICAgZXhjbHVkZWQgZnJvbSB0aGlzIGFsZXJ0LiBMaWtlbHkgYSBkZWdyYWRlZCBkZXBsb3ltZW50ICgwIGhlYWx0aHkgcG9kcykgb3IgYVxuICAgICAgICAgICAgICAgIHNpbmdsZS1yZXBsaWNhIGRlcGxveW1lbnQgd2l0aCBtaW5BdmFpbGFibGU9MS5cbiAgICAgICAgICAgICAgICBDaGVjazoga3ViZWN0bCBnZXQgcGRiIC1uIHt7ICRsYWJlbHMubmFtZXNwYWNlIH19IHt7ICRsYWJlbHMucG9kZGlzcnVwdGlvbmJ1ZGdldCB9fVxuICAgICAgICAgIC0gYWxlcnQ6IFBvZERpc3J1cHRpb25CdWRnZXRVbmRyYWluYWJsZUNyaXRpY2FsXG4gICAgICAgICAgICBleHByOiBrdWJlX3BvZGRpc3J1cHRpb25idWRnZXRfc3RhdHVzX3BvZF9kaXNydXB0aW9uc19hbGxvd2Vke25hbWVzcGFjZSE9XCJsb25naG9ybi1zeXN0ZW1cIiwgcG9kZGlzcnVwdGlvbmJ1ZGdldCF+XCIuKi1wcmltYXJ5XCJ9ID09IDBcbiAgICAgICAgICAgIGZvcjogMWhcbiAgICAgICAgICAgIGxhYmVsczpcbiAgICAgICAgICAgICAgc2V2ZXJpdHk6IGNyaXRpY2FsXG4gICAgICAgICAgICAgIGNvbXBvbmVudDogY2x1c3Rlci11cGdyYWRlXG4gICAgICAgICAgICBhbm5vdGF0aW9uczpcbiAgICAgICAgICAgICAgc3VtbWFyeTogXCJQREIge3sgJGxhYmVscy5uYW1lc3BhY2UgfX0ve3sgJGxhYmVscy5wb2RkaXNydXB0aW9uYnVkZ2V0IH19IHVuZHJhaW5hYmxlID4xaFwiXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB8XG4gICAgICAgICAgICAgICAgUERCIHt7ICRsYWJlbHMubmFtZXNwYWNlIH19L3t7ICRsYWJlbHMucG9kZGlzcnVwdGlvbmJ1ZGdldCB9fSBoYXMgYmxvY2tlZFxuICAgICAgICAgICAgICAgIHZvbHVudGFyeSBkaXNydXB0aW9ucyBmb3Igb3ZlciBhbiBob3VyLiBBIGszcyBhZ2VudCB1cGdyYWRlIHdvdWxkIHN0YWxsIG9uIHRoaXMgbm9kZS5cbiMgRHJvcCBoaWdoLWNhcmRpbmFsaXR5IEFQSSBzZXJ2ZXIgYW5kIGV0Y2QgaGlzdG9ncmFtIGJ1Y2tldHMgdG8gcmVkdWNlIG1lbW9yeSB1c2FnZVxuIyBUaGVzZSBtZXRyaWNzIGFsb25lIGFjY291bnQgZm9yIH4yMDBrIHNlcmllcyAoNDclIG9mIHRvdGFsIGNhcmRpbmFsaXR5KVxuIyBXZSBrZWVwIF9zdW0gYW5kIF9jb3VudCBzdWZmaXhlcyB3aGljaCBhcmUgc3VmZmljaWVudCBmb3IgcmF0ZSBjYWxjdWxhdGlvbnNcbiNcbiMgVGhlIHdhdGNoIGhpc3RvZ3JhbXMsIHRoZSB3b3JrcXVldWUgYW5kIHRoZSBzY2hlZHVsZXIgcGx1Z2luIGJ1Y2tldHMgY2FtZSBvblxuIyB0b3Agb2YgdGhhdDogazNzIHJ1bnMgYXBpc2VydmVyLCBjb250cm9sbGVyLW1hbmFnZXIgYW5kIHNjaGVkdWxlciBpbiBvbmVcbiMgcHJvY2VzcyB3aXRoIG9uZSBtZXRyaWNzIHJlZ2lzdHJ5LCBzbyB0aGUgYXBpc2VydmVyIGVuZHBvaW50IGFsc28gc2VydmVzXG4jIHNjaGVkdWxlcl8qIGFuZCB3b3JrcXVldWVfKiBzZXJpZXMuIE1lYXN1cmVkIG9uIGEgNi1ub2RlIGszcyBjbHVzdGVyXG4jICgyMDI2LTEwLTI0KTogNTZrIHdhdGNoXyosIDhrIHdvcmtxdWV1ZV8qLCAzayBzY2hlZHVsZXJfcGx1Z2luXyogb2YgNDA4a1xuIyBzZXJpZXMuIE5vdGhpbmcgaW4gdGhlIHNoaXBwZWQgYWxlcnRzIG9yIGRhc2hib2FyZHMgcmVhZHMgdGhlbS5cbmt1YmVBcGlTZXJ2ZXI6XG4gIHNlcnZpY2VNb25pdG9yOlxuICAgIG1ldHJpY1JlbGFiZWxpbmdzOlxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdhcGlzZXJ2ZXJfcmVxdWVzdF9kdXJhdGlvbl9zZWNvbmRzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2FwaXNlcnZlcl9yZXF1ZXN0X3NsaV9kdXJhdGlvbl9zZWNvbmRzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2FwaXNlcnZlcl9yZXF1ZXN0X2JvZHlfc2l6ZV9ieXRlc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdhcGlzZXJ2ZXJfcmVzcG9uc2Vfc2l6ZXNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnZXRjZF9yZXF1ZXN0X2R1cmF0aW9uX3NlY29uZHNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3dhdGNoXyhjYWNoZV9yZWFkX3dhaXRfc2Vjb25kc3xsaXN0X2R1cmF0aW9uX3NlY29uZHN8ZXZlbnRzX3NpemVzKV9idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICd3b3JrcXVldWVfKHF1ZXVlfHdvcmspX2R1cmF0aW9uX3NlY29uZHNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnc2NoZWR1bGVyX3BsdWdpbl9leGVjdXRpb25fZHVyYXRpb25fc2Vjb25kc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuXG4jIEt1YmVsZXQgYWxzbyBleHBvc2VzIGFwaXNlcnZlciBtZXRyaWNzIC0gYXBwbHkgc2FtZSBmaWx0ZXJzXG5rdWJlbGV0OlxuICBzZXJ2aWNlTW9uaXRvcjpcbiAgICAjIC9tZXRyaWNzL3Byb2JlcyBvbmx5IGhvbGRzIHByb2Jlcl9wcm9iZV9kdXJhdGlvbl9zZWNvbmRzIGhpc3RvZ3JhbXNcbiAgICAjIChvbmUgc2VyaWVzIHBlciBwcm9iZSwgY29udGFpbmVyIGFuZCBidWNrZXQsIH41ayBvbiBhIHNtYWxsIGNsdXN0ZXIpO1xuICAgICMgbm90aGluZyBjb25zdW1lcyB0aGVtLlxuICAgIHByb2JlczogZmFsc2VcbiAgICBtZXRyaWNSZWxhYmVsaW5nczpcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3JlcXVlc3RfZHVyYXRpb25fc2Vjb25kc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdhcGlzZXJ2ZXJfcmVxdWVzdF9zbGlfZHVyYXRpb25fc2Vjb25kc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdhcGlzZXJ2ZXJfcmVxdWVzdF9ib2R5X3NpemVfYnl0ZXNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3Jlc3BvbnNlX3NpemVzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2V0Y2RfcmVxdWVzdF9kdXJhdGlvbl9zZWNvbmRzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2FwaXNlcnZlcl93YXRjaF8oY2FjaGVfcmVhZF93YWl0X3NlY29uZHN8bGlzdF9kdXJhdGlvbl9zZWNvbmRzfGV2ZW50c19zaXplcylfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnd29ya3F1ZXVlXyhxdWV1ZXx3b3JrKV9kdXJhdGlvbl9zZWNvbmRzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ3NjaGVkdWxlcl9wbHVnaW5fZXhlY3V0aW9uX2R1cmF0aW9uX3NlY29uZHNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcblxuYWxlcnRtYW5hZ2VyOlxuICBjb25maWc6XG4gICAgZ2xvYmFsOlxuICAgICAgc210cF9mcm9tOiAke2NvbmZpZy5zbXRwLmZyb219XG4gICAgICBzbXRwX3NtYXJ0aG9zdDogJHtjb25maWcuc210cC5ob3N0fToke2NvbmZpZy5zbXRwLnBvcnR9XG4gICAgICBzbXRwX3JlcXVpcmVfdGxzOiAke2NvbmZpZy5zbXRwLnJlcXVpcmVUbHN9XG4gICAgICBzbXRwX2F1dGhfdXNlcm5hbWU6ICR7Y29uZmlnLnNtdHAudXNlcm5hbWUgfHwgY29uZmlnLnNtdHAuZnJvbX1cbiAgICAgICR7dGhpcy5nZW5lcmF0ZVNtdHBBdXRoUGFzc3dvcmQoY29uZmlnKX1cbiAgICByb3V0ZTpcbiAgICAgIGdyb3VwX2J5OiBbJ2pvYiddXG4gICAgICBncm91cF93YWl0OiAzMHNcbiAgICAgIGdyb3VwX2ludGVydmFsOiA1bVxuICAgICAgcmVwZWF0X2ludGVydmFsOiAke2NvbmZpZy5hbGVydFJvdXRpbmcucmVwZWF0SW50ZXJ2YWx9XG4gICAgICByZWNlaXZlcjogZW1haWxcbiAgICAgIHJvdXRlczpcbiAgICAgIC0gbWF0Y2g6XG4gICAgICAgICAgYWxlcnRuYW1lOiBXYXRjaGRvZ1xuICAgICAgICByZWNlaXZlcjogJ251bGwnXG4gICAgICAtIG1hdGNoOlxuICAgICAgICAgIGFsZXJ0bmFtZTogQ1BVVGhyb3R0bGluZ0hpZ2hcbiAgICAgICAgcmVjZWl2ZXI6ICdudWxsJ1xuICAgICAgLSBtYXRjaDpcbiAgICAgICAgICBhbGVydG5hbWU6IEt1YmVNZW1vcnlPdmVyY29tbWl0XG4gICAgICAgIHJlY2VpdmVyOiAnbnVsbCdcbiAgICAgIC0gbWF0Y2g6XG4gICAgICAgICAgYWxlcnRuYW1lOiBLdWJlQ1BVT3ZlcmNvbW1pdFxuICAgICAgICByZWNlaXZlcjogJ251bGwnXG4gICAgICAtIG1hdGNoOlxuICAgICAgICAgIGFsZXJ0bmFtZTogS3ViZWxldFRvb01hbnlQb2RzXG4gICAgICAgIHJlY2VpdmVyOiAnbnVsbCdcbiAgICAgICMgU2V2ZXJpdHkgXCJub25lXCI6IGV4aXN0cyBvbmx5IHRvIGluaGliaXQgaW5mbyBhbGVydHMsIG5ldmVyIG1lYW50IGZvciBhIGh1bWFuLlxuICAgICAgLSBtYXRjaDpcbiAgICAgICAgICBhbGVydG5hbWU6IEluZm9JbmhpYml0b3JcbiAgICAgICAgcmVjZWl2ZXI6ICdudWxsJyR7dGhpcy5nZW5lcmF0ZVN0YWdpbmdSb3V0ZShjb25maWcpfVxuXG4gICAgcmVjZWl2ZXJzOlxuICAgIC0gbmFtZTogJ251bGwnXG4gICAgLSBuYW1lOiBlbWFpbFxuICAgICAgZW1haWxfY29uZmlnczpcbiAgICAgIC0gc2VuZF9yZXNvbHZlZDogdHJ1ZVxuICAgICAgICB0bzogJHt0aGlzLmdlbmVyYXRlUmVjaXBpZW50cyhjb25maWcpfSR7dGhpcy5nZW5lcmF0ZVN0YWdpbmdSZWNlaXZlcihjb25maWcpfVxuXG4gICAgIyBJbmhpYml0aW9uIHJ1bGVzIGFsbG93IHRvIG11dGUgYSBzZXQgb2YgYWxlcnRzIGdpdmVuIHRoYXQgYW5vdGhlciBhbGVydCBpcyBmaXJpbmcuXG4gICAgIyBXZSB1c2UgdGhpcyB0byBtdXRlIGFueSB3YXJuaW5nLWxldmVsIG5vdGlmaWNhdGlvbnMgaWYgdGhlIHNhbWUgYWxlcnQgaXMgYWxyZWFkeSBjcml0aWNhbC5cbiAgICBpbmhpYml0X3J1bGVzOlxuICAgIC0gc291cmNlX21hdGNoOlxuICAgICAgICBzZXZlcml0eTogJ2NyaXRpY2FsJ1xuICAgICAgdGFyZ2V0X21hdGNoOlxuICAgICAgICBzZXZlcml0eTogJ3dhcm5pbmcnXG4gICAgICAjIEFwcGx5IGluaGliaXRpb24gaWYgdGhlIGFsZXJ0bmFtZSBpcyB0aGUgc2FtZS5cbiAgICAgIGVxdWFsOiBbJ2FsZXJ0bmFtZScsICduYW1lc3BhY2UnXVxuXG4gIGFsZXJ0bWFuYWdlclNwZWM6XG4gICAgcmVwbGljYXM6ICR7Y29uZmlnLnJlcGxpY2FzLmFsZXJ0bWFuYWdlcn1cbiAgICBwb2RBbnRpQWZmaW5pdHk6IFwic29mdFwiJHt0aGlzLmdlbmVyYXRlQWxlcnRtYW5hZ2VyU2VjcmV0cyhjb25maWcpfVxuICAgIHN0b3JhZ2U6XG4gICAgICB2b2x1bWVDbGFpbVRlbXBsYXRlOlxuICAgICAgICBzcGVjOlxuICAgICAgICAgIGFjY2Vzc01vZGVzOiBbXCJSZWFkV3JpdGVPbmNlXCJdXG4gICAgICAgICAgcmVzb3VyY2VzOlxuICAgICAgICAgICAgcmVxdWVzdHM6XG4gICAgICAgICAgICAgIHN0b3JhZ2U6ICR7Y29uZmlnLnN0b3JhZ2UuYWxlcnRtYW5hZ2VyfVxuICAgIHJlc291cmNlczpcbiAgICAgIGxpbWl0czpcbiAgICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuYWxlcnRtYW5hZ2VyLmxpbWl0cy5jcHV9XG4gICAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmFsZXJ0bWFuYWdlci5saW1pdHMubWVtb3J5fVxuICAgICAgcmVxdWVzdHM6XG4gICAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmFsZXJ0bWFuYWdlci5yZXF1ZXN0cy5jcHV9XG4gICAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmFsZXJ0bWFuYWdlci5yZXF1ZXN0cy5tZW1vcnl9XG4gICAgcHJpb3JpdHlDbGFzc05hbWU6ICR7Y29uZmlnLnByaW9yaXR5Q2xhc3Nlcy5jYXB0dXJlfVxuXG4gICAgIyBTaWRlY2FyIGNvbnRhaW5lcnMgcmVzb3VyY2UgcmVxdWVzdHMgKGFkZGVkIDIwMjUtMTEtMTgpXG4gICAgY29udGFpbmVyczpcbiAgICAtIG5hbWU6IGNvbmZpZy1yZWxvYWRlclxuICAgICAgcmVzb3VyY2VzOlxuICAgICAgICByZXF1ZXN0czpcbiAgICAgICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5yZXF1ZXN0cy5jcHV9XG4gICAgICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIucmVxdWVzdHMubWVtb3J5fVxuICAgICAgICBsaW1pdHM6XG4gICAgICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIubGltaXRzLmNwdX1cbiAgICAgICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5saW1pdHMubWVtb3J5fVxuXG5cbnByb21ldGhldXM6XG4gICMgRW5hYmxlIFRoYW5vcyBzZXJ2aWNlIGZvciBnUlBDIGNvbW11bmljYXRpb25cbiAgIyBSZXF1aXJlZCBmb3IgSGVsbSBjaGFydCB0byBwcm9wZXJseSByZW5kZXIgVGhhbm9zIHNpZGVjYXIgY29uZmlndXJhdGlvblxuICB0aGFub3NTZXJ2aWNlOlxuICAgIGVuYWJsZWQ6IHRydWVcblxuICBwcm9tZXRoZXVzU3BlYzpcbiAgICByZXRlbnRpb246ICR7Y29uZmlnLnJldGVudGlvbi5wcm9tZXRoZXVzfSAgIyBSZWR1Y2VkIGZyb20gN2QgLSBUaGFub3MgcHJvdmlkZXMgbG9uZy10ZXJtIHN0b3JhZ2UgaW4gUzNcblxuICAgICMgRGlzY292ZXIgQUxMIFNlcnZpY2VNb25pdG9ycywgUG9kTW9uaXRvcnMgYW5kIFByb21ldGhldXNSdWxlcyBpbiBBTEwgbmFtZXNwYWNlc1xuICAgICMgU2V0dGluZyBOaWxVc2VzSGVsbVZhbHVlczogZmFsc2UgbWVhbnMgbmlsIHNlbGVjdG9ycyA9IFwic2VsZWN0IGFsbFwiXG4gICAgIyBFbXB0eSBuYW1lc3BhY2Ugc2VsZWN0b3JzIHt9IG1lYW4gXCJzZWFyY2ggYWxsIG5hbWVzcGFjZXNcIlxuICAgICMgV2l0aG91dCB0aGUgcnVsZSogc2V0dGluZ3MsIHJ1bGVTZWxlY3RvciBrZWVwcyB0aGUgY2hhcnQgZGVmYXVsdFxuICAgICMgKG1hdGNoTGFiZWxzOiB7cmVsZWFzZTogPG5hbWU+fSkgYW5kIGhhbmQtYXV0aG9yZWQgUHJvbWV0aGV1c1J1bGVzIHRoYXRcbiAgICAjIGxhY2sgdGhlIHJlbGVhc2UgbGFiZWwgYXJlIHNpbGVudGx5IGlnbm9yZWQuXG4gICAgIyBOb3RlOiBUaGlzIGRvZXMgTk9UIGFmZmVjdCBUaGFub3Mgc2lkZWNhciAtIGNvbnRyb2xsZWQgYnkgdGhhbm9zLm9iamVjdFN0b3JhZ2VDb25maWdcbiAgICBzZXJ2aWNlTW9uaXRvclNlbGVjdG9yTmlsVXNlc0hlbG1WYWx1ZXM6IGZhbHNlXG4gICAgcG9kTW9uaXRvclNlbGVjdG9yTmlsVXNlc0hlbG1WYWx1ZXM6IGZhbHNlXG4gICAgcnVsZVNlbGVjdG9yTmlsVXNlc0hlbG1WYWx1ZXM6IGZhbHNlXG4gICAgc2VydmljZU1vbml0b3JOYW1lc3BhY2VTZWxlY3Rvcjoge31cbiAgICBwb2RNb25pdG9yTmFtZXNwYWNlU2VsZWN0b3I6IHt9XG4gICAgcnVsZU5hbWVzcGFjZVNlbGVjdG9yOiB7fVxuXG4gICAgcmVwbGljYXM6ICR7Y29uZmlnLnJlcGxpY2FzLnByb21ldGhldXN9XG4gICAgcG9kQW50aUFmZmluaXR5OiBcImhhcmRcIlxuICAgIHN0b3JhZ2VTcGVjOlxuICAgICAgdm9sdW1lQ2xhaW1UZW1wbGF0ZTpcbiAgICAgICAgc3BlYzpcbiAgICAgICAgICBzdG9yYWdlQ2xhc3NOYW1lOiBsb25naG9yblxuICAgICAgICAgIGFjY2Vzc01vZGVzOiBbXCJSZWFkV3JpdGVPbmNlXCJdXG4gICAgICAgICAgcmVzb3VyY2VzOlxuICAgICAgICAgICAgcmVxdWVzdHM6XG4gICAgICAgICAgICAgIHN0b3JhZ2U6ICR7Y29uZmlnLnN0b3JhZ2UucHJvbWV0aGV1c30gICMgUmVkdWNlZCBmcm9tIDZHaSAoM2QgcmV0ZW50aW9uIG5lZWRzIGxlc3Mgc3BhY2UpXG5cbiAgICByZXNvdXJjZXM6XG4gICAgICBsaW1pdHM6XG4gICAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLnByb21ldGhldXMubGltaXRzLmNwdX1cbiAgICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMucHJvbWV0aGV1cy5saW1pdHMubWVtb3J5fVxuICAgICAgcmVxdWVzdHM6XG4gICAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLnByb21ldGhldXMucmVxdWVzdHMuY3B1fVxuICAgICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5wcm9tZXRoZXVzLnJlcXVlc3RzLm1lbW9yeX1cbiAgICBwcmlvcml0eUNsYXNzTmFtZTogJHtjb25maWcucHJpb3JpdHlDbGFzc2VzLmNhcHR1cmV9XG5cbiAgICAjIEV4dGVybmFsIGxhYmVscyBmb3IgbXVsdGktY2x1c3RlciBpZGVudGlmaWNhdGlvbiBhbmQgVGhhbm9zXG4gICAgZXh0ZXJuYWxMYWJlbHM6XG4gICAgICBjbHVzdGVyOiAke2NvbmZpZy5jbHVzdGVyTmFtZX1cbiAgICAgIHJlcGxpY2E6IFwiJChQT0RfTkFNRSlcIlxuICAgICMgVGhhbm9zIG5lZWRzIHRoZSByZXBsaWNhIGxhYmVsIG9uIG1ldHJpY3MsIGJ1dCBvbiBhbGVydHMgaXQgbWFrZXMgdGhlIHR3b1xuICAgICMgUHJvbWV0aGV1cyByZXBsaWNhcyBsb29rIGxpa2UgdHdvIGRpZmZlcmVudCBhbGVydHMsIHNvIGV2ZXJ5IG1haWwgbGlzdHNcbiAgICAjIGVhY2ggb25lIHR3aWNlLiBUaGUgb3BlcmF0b3IgZHJvcHMgaXRzIG93biBwcm9tZXRoZXVzX3JlcGxpY2EgdGhlIHNhbWUgd2F5LlxuICAgIGFkZGl0aW9uYWxBbGVydFJlbGFiZWxDb25maWdzOlxuICAgICAgLSBhY3Rpb246IGxhYmVsZHJvcFxuICAgICAgICByZWdleDogcmVwbGljYVxuXG4gICAgIyBUaGFub3Mgc2lkZWNhciBmb3IgbG9uZy10ZXJtIG1ldHJpY3Mgc3RvcmFnZSBpbiBTM1xuICAgICMgTk9URTogY2hhcnQgPj04NS54IHJlcXVpcmVzIHRoZSBleGlzdGluZ1NlY3JldCBzaGFwZS4gVGhlIGxlZ2FjeSBmbGF0XG4gICAgIyB7bmFtZSwga2V5fSBmb3JtIGlzIHNpbGVudGx5IGRyb3BwZWQgYnkgdGhlIGNoYXJ0LCB3aGljaCByZW1vdmVzIHRoZVxuICAgICMgc2lkZWNhciBhbmQgc3RvcHMgYWxsIFMzIGJsb2NrIHVwbG9hZHMgKHJlZ3Jlc3Npb24gc2VlbiAyMDI2LTAzLTMxKS5cbiAgICB0aGFub3M6XG4gICAgICBvYmplY3RTdG9yYWdlQ29uZmlnOlxuICAgICAgICBleGlzdGluZ1NlY3JldDpcbiAgICAgICAgICBuYW1lOiB0aGFub3Mtb2Jqc3RvcmUtY29uZmlnICAjIEVTTy1tYW5hZ2VkIHNlY3JldFxuICAgICAgICAgIGtleTogb2Jqc3RvcmUueW1sXG5cbiAgICAjIFNpZGVjYXIgY29udGFpbmVycyByZXNvdXJjZSByZXF1ZXN0cyAoYWRkZWQgMjAyNS0xMS0xOClcbiAgICAjIE5PVEU6IHRoYW5vcy1zaWRlY2FyIGlzIE5PVCBsaXN0ZWQgaGVyZSAtIGl0J3MgYXV0b21hdGljYWxseSBpbmplY3RlZCBieSBQcm9tZXRoZXVzIE9wZXJhdG9yXG4gICAgIyB3aGVuIHRoYW5vcy5vYmplY3RTdG9yYWdlQ29uZmlnIGlzIHNldC4gU3BlY2lmeWluZyBpdCBpbiBjb250YWluZXJzW10gd291bGQgb3ZlcnJpZGVcbiAgICAjIHRoZSBvcGVyYXRvcidzIGRlZmluaXRpb24gYW5kIHJlcXVpcmUgdXMgdG8gbWFudWFsbHkgc3BlY2lmeSB0aGUgaW1hZ2UsIHdoaWNoIGJyZWFrc1xuICAgICMgd2hlbiB0aGUgb3BlcmF0b3IgdXBkYXRlcyB0aGUgdGhhbm9zIHZlcnNpb24uXG4gICAgY29udGFpbmVyczpcbiAgICAtIG5hbWU6IGNvbmZpZy1yZWxvYWRlclxuICAgICAgcmVzb3VyY2VzOlxuICAgICAgICByZXF1ZXN0czpcbiAgICAgICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5yZXF1ZXN0cy5jcHV9XG4gICAgICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIucmVxdWVzdHMubWVtb3J5fVxuICAgICAgICBsaW1pdHM6XG4gICAgICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIubGltaXRzLmNwdX1cbiAgICAgICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5saW1pdHMubWVtb3J5fVxuXG4gICAgc2VydmljZTpcbiAgICAgIHNlc3Npb25BZmZpbml0eTogXCJDbGllbnRJUFwiXG5cblxuZ3JhZmFuYTpcbiAgcHJpb3JpdHlDbGFzc05hbWU6ICR7Y29uZmlnLnByaW9yaXR5Q2xhc3Nlcy5xdWVyeX1cblxuICAjIFJlY3JlYXRlIHN0cmF0ZWd5IGlzIHJlcXVpcmVkIGJlY2F1c2UgdGhlIHN0b3JhZ2UgUFZDIGlzIFJXTzpcbiAgIyBhIFJvbGxpbmdVcGRhdGUgd291bGQgc3VyZ2UgYSBzZWNvbmQgcG9kIHRoYXQgY2Fubm90IG1vdW50IHRoZVxuICAjIHZvbHVtZSAoRmFpbGVkQXR0YWNoVm9sdW1lKSwgYmxvY2tpbmcgdGhlIHJvbGxvdXQgaW5kZWZpbml0ZWx5LlxuICBkZXBsb3ltZW50U3RyYXRlZ3k6XG4gICAgdHlwZTogUmVjcmVhdGVcblxuICAjIFVzZSBleGlzdGluZyBzZWNyZXQgZm9yIGFkbWluIGNyZWRlbnRpYWxzIChtYW5hZ2VkIGJ5IEVTTylcbiAgIyBUaGlzIHByZXZlbnRzIHBhc3N3b3JkIHJlZ2VuZXJhdGlvbiBvbiBIZWxtIHVwZ3JhZGVzXG4gIGFkbWluOlxuICAgIGV4aXN0aW5nU2VjcmV0OiBcImdyYWZhbmEtYWRtaW4tY3JlZGVudGlhbHNcIlxuICAgIHVzZXJLZXk6IFwiYWRtaW4tdXNlclwiXG4gICAgcGFzc3dvcmRLZXk6IFwiYWRtaW4tcGFzc3dvcmRcIlxuXG4gICMgR3JhZmFuYSBydW5zIGh0dHAgb24gOjMwMDAgYmVoaW5kIHRoZSBUTFMtdGVybWluYXRpbmcgaW5ncmVzcy4gV2l0aG91dCBhblxuICAjIGV4cGxpY2l0IHJvb3RfdXJsIGl0IGJ1aWxkcyBzaGFyZSBhbmQgcHVibGljLWRhc2hib2FyZCBsaW5rcyBmcm9tIHRoZSBpbnRlcm5hbFxuICAjIGFkZHJlc3MgKGh0dHA6Ly88cG9kPjozMDAwKTsgZGVyaXZlIHRoZSBleHRlcm5hbCBVUkwgZnJvbSB0aGUgY29uZmlndXJlZCBkb21haW4uXG4gIGdyYWZhbmEuaW5pOlxuICAgIHNlcnZlcjpcbiAgICAgIGRvbWFpbjogJHtjb25maWcuZG9tYWlucy5ncmFmYW5hfVxuICAgICAgcm9vdF91cmw6IGh0dHBzOi8vJHtjb25maWcuZG9tYWlucy5ncmFmYW5hfSR7dGhpcy5nZW5lcmF0ZUdyYWZhbmFTZWN1cml0eShjb25maWcpfVxuXG4gICMgRGlzYWJsZSBkZWZhdWx0IFByb21ldGhldXMgZGF0YXNvdXJjZSAod2UgcHJvdmlkZSBvdXIgb3duIHBvaW50aW5nIHRvIFRoYW5vcyBRdWVyeSlcbiAgZGVmYXVsdERhdGFzb3VyY2VFbmFibGVkOiBmYWxzZVxuXG4gICMgU2lkZWNhciBjb250YWluZXJzIGZvciBkYXNoYm9hcmQvZGF0YXNvdXJjZSBwcm92aXNpb25pbmdcbiAgc2lkZWNhcjpcbiAgICByZXNvdXJjZXM6XG4gICAgICByZXF1ZXN0czpcbiAgICAgICAgY3B1OiAxMG1cbiAgICAgICAgbWVtb3J5OiAyNTZNaVxuICAgICAgbGltaXRzOlxuICAgICAgICBjcHU6IDEwMG1cbiAgICAgICAgbWVtb3J5OiA1MTJNaVxuICAgIGRhc2hib2FyZHM6XG4gICAgICBlbmFibGVkOiB0cnVlXG4gICAgICAjIERhc2hib2FyZCBDb25maWdNYXBzIG1heSBvcHQgaW50byBhIG5hbWVkIEdyYWZhbmEgZm9sZGVyIHZpYSB0aGlzXG4gICAgICAjIGFubm90YXRpb247IENvbmZpZ01hcHMgd2l0aG91dCBpdCBrZWVwIGxhbmRpbmcgaW4gR2VuZXJhbC5cbiAgICAgIGZvbGRlckFubm90YXRpb246IGdyYWZhbmFfZm9sZGVyXG4gICAgICBwcm92aWRlcjpcbiAgICAgICAgZm9sZGVyc0Zyb21GaWxlc1N0cnVjdHVyZTogdHJ1ZVxuICAgIGRhdGFzb3VyY2VzOlxuICAgICAgZW5hYmxlZDogZmFsc2UgICMgV2UgbWFudWFsbHkgcHJvdmlzaW9uIGRhdGFzb3VyY2VzIChQcm9tZXRoZXVz4oaSVGhhbm9zLCBMb2tpKVxuXG4gIGluZ3Jlc3M6XG4gICAgZW5hYmxlZDogdHJ1ZSR7Y29uZmlnLmRvbWFpbnMuaW5ncmVzc0NsYXNzTmFtZSA/IGBcXG4gICAgaW5ncmVzc0NsYXNzTmFtZTogJHtjb25maWcuZG9tYWlucy5pbmdyZXNzQ2xhc3NOYW1lfWAgOiAnJ31cbiAgICBob3N0czpcbiAgICAgIC0gJHtjb25maWcuZG9tYWlucy5ncmFmYW5hfVxuICAgIGFubm90YXRpb25zOlxuICAgICAgY2VydC1tYW5hZ2VyLmlvL2NsdXN0ZXItaXNzdWVyOiBcImxldHNlbmNyeXB0LWNsdXN0ZXItaXNzdWVyXCJcbiAgICAgIHRyYWVmaWsuaW5ncmVzcy5rdWJlcm5ldGVzLmlvL3JvdXRlci5lbnRyeXBvaW50czogd2Vic2VjdXJlXG4gICAgdGxzOlxuICAgICAgLSBzZWNyZXROYW1lOiBncmFmYW5hLWdlbmVyYWwtdGxzXG4gICAgICAgIGhvc3RzOlxuICAgICAgICAtICR7Y29uZmlnLmRvbWFpbnMuZ3JhZmFuYX1cblxuICByZXNvdXJjZXM6XG4gICAgbGltaXRzOlxuICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuZ3JhZmFuYS5saW1pdHMuY3B1fVxuICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuZ3JhZmFuYS5saW1pdHMubWVtb3J5fVxuICAgIHJlcXVlc3RzOlxuICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuZ3JhZmFuYS5yZXF1ZXN0cy5jcHV9XG4gICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5ncmFmYW5hLnJlcXVlc3RzLm1lbW9yeX1cblxuICByZWFkaW5lc3NQcm9iZTpcbiAgICBodHRwR2V0OlxuICAgICAgcGF0aDogL2FwaS9oZWFsdGhcbiAgICAgIHBvcnQ6IDMwMDBcbiAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiAzMFxuICAgIHBlcmlvZFNlY29uZHM6IDEwXG4gICAgdGltZW91dFNlY29uZHM6IDVcbiAgICBmYWlsdXJlVGhyZXNob2xkOiAzXG5cbiAgbGl2ZW5lc3NQcm9iZTpcbiAgICBodHRwR2V0OlxuICAgICAgcGF0aDogL2FwaS9oZWFsdGhcbiAgICAgIHBvcnQ6IDMwMDBcbiAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiA2MFxuICAgIHBlcmlvZFNlY29uZHM6IDEwXG4gICAgdGltZW91dFNlY29uZHM6IDMwXG4gICAgZmFpbHVyZVRocmVzaG9sZDogMTBcblxuICBwZXJzaXN0ZW5jZTpcbiAgICBlbmFibGVkOiB0cnVlXG4gICAgc3RvcmFnZUNsYXNzTmFtZTogbG9uZ2hvcm5cbiAgICBhY2Nlc3NNb2RlczpcbiAgICAgIC0gUmVhZFdyaXRlT25jZVxuICAgIHNpemU6ICR7Y29uZmlnLnN0b3JhZ2UuZ3JhZmFuYX1cblxuICAjIE1hbnVhbCBkYXRhc291cmNlIHByb3Zpc2lvbmluZyAoc2lkZWNhciBkaXNhYmxlZClcbiAgIyBUaGFub3MgUXVlcnkg4oaSIGxvbmctdGVybS9oaXN0b3JpY2FsIG1ldHJpY3MgKFMzIHZpYSBTdG9yZSArIGxpdmUgc2lkZWNhciksIGRlZmF1bHRcbiAgIyBQcm9tZXRoZXVzIOKGkiBsb2NhbCwgcmVjZW50L2hpZ2gtcmVzIG9ubHkgKGtlcHQgZm9yIGxvdy1sYXRlbmN5IHJlY2VudCBxdWVyaWVzKVxuICAjIExva2kgZm9yIGxvZyBhZ2dyZWdhdGlvblxuICBkYXRhc291cmNlczpcbiAgICBkYXRhc291cmNlcy55YW1sOlxuICAgICAgYXBpVmVyc2lvbjogMVxuICAgICAgIyBEZWxldGUgYW55IHByZS1leGlzdGluZyBMb2tpIGRhdGFzb3VyY2UgKGUuZy4gb25lIGNyZWF0ZWQgd2l0aCBhXG4gICAgICAjIHJhbmRvbWx5IGdlbmVyYXRlZCBVSUQgYmVmb3JlIHdlIHBpbm5lZCB1aWQ6IGxva2kpLiBXaXRob3V0IHRoaXMsXG4gICAgICAjIEdyYWZhbmEgZmFpbHMgcHJvdmlzaW9uaW5nIHdpdGggXCJkYXRhIHNvdXJjZSBub3QgZm91bmRcIiBiZWNhdXNlXG4gICAgICAjIHRoZSB1cHNlcnQgY29sbGlkZXMgd2l0aCB0aGUgZXhpc3RpbmcgZW50cnkuXG4gICAgICBkZWxldGVEYXRhc291cmNlczpcbiAgICAgIC0gbmFtZTogTG9raVxuICAgICAgICBvcmdJZDogMVxuICAgICAgZGF0YXNvdXJjZXM6XG4gICAgICAtIG5hbWU6IFRoYW5vc1xuICAgICAgICB0eXBlOiBwcm9tZXRoZXVzXG4gICAgICAgIHVpZDogdGhhbm9zXG4gICAgICAgIGFjY2VzczogcHJveHlcbiAgICAgICAgIyB0aGFub3MtcXVlcnkgU2VydmljZTogaHR0cCBwb3J0IDkwOTAgLT4gY29udGFpbmVyIGh0dHAgMTA5MDJcbiAgICAgICAgdXJsOiBodHRwOi8vdGhhbm9zLXF1ZXJ5LiR7Y29uZmlnLm5hbWVzcGFjZX0uc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MFxuICAgICAgICBpc0RlZmF1bHQ6IHRydWVcbiAgICAgICAganNvbkRhdGE6XG4gICAgICAgICAgdGltZUludGVydmFsOiAzMHNcbiAgICAgIC0gbmFtZTogUHJvbWV0aGV1c1xuICAgICAgICB0eXBlOiBwcm9tZXRoZXVzXG4gICAgICAgIHVpZDogcHJvbWV0aGV1c1xuICAgICAgICBhY2Nlc3M6IHByb3h5XG4gICAgICAgIHVybDogaHR0cDovL2t1YmUtcHJvbWV0aGV1cy1zdGFjay1wcm9tZXRoZXVzLiR7Y29uZmlnLm5hbWVzcGFjZX0uc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MFxuICAgICAgICBpc0RlZmF1bHQ6IGZhbHNlXG4gICAgICAgIGpzb25EYXRhOlxuICAgICAgICAgIHRpbWVJbnRlcnZhbDogMzBzXG4gICAgICAtIG5hbWU6IExva2lcbiAgICAgICAgdHlwZTogbG9raVxuICAgICAgICB1aWQ6IGxva2lcbiAgICAgICAgYWNjZXNzOiBwcm94eVxuICAgICAgICB1cmw6IGh0dHA6Ly9sb2tpLWdhdGV3YXkuJHtjb25maWcubmFtZXNwYWNlfS5zdmMuY2x1c3Rlci5sb2NhbFxuICAgICAgICBqc29uRGF0YTpcbiAgICAgICAgICBtYXhMaW5lczogMTAwMCR7dGVtcG9EYXRhc291cmNlfVxuXG5wcm9tZXRoZXVzT3BlcmF0b3I6XG4gIHJlc291cmNlczpcbiAgICBsaW1pdHM6XG4gICAgICBjcHU6IDFcbiAgICAgIG1lbW9yeTogNTEyTWlcbiAgICByZXF1ZXN0czpcbiAgICAgIGNwdTogNTBtXG4gICAgICBtZW1vcnk6IDEyOE1pXG4gIHByaW9yaXR5Q2xhc3NOYW1lOiAke2NvbmZpZy5wcmlvcml0eUNsYXNzZXMuY2FwdHVyZX1cblxucHJvbWV0aGV1cy1ub2RlLWV4cG9ydGVyOlxuICAjIEJpbmQgOjkxMDAgdG8gdGhlIG5vZGUgSW50ZXJuYWxJUCBvbmx5LCBub3QgMC4wLjAuMC4gV2l0aCBrdWJlUkJBQ1Byb3h5XG4gICMgZGlzYWJsZWQgdGhlIHN1Yi1jaGFydCBzZXRzIEhPU1RfSVAgZnJvbSBmaWVsZFJlZiBzdGF0dXMuaG9zdElQLCB3aGljaCBpc1xuICAjIHRoZSBub2RlJ3MgSW50ZXJuYWxJUCAoRVg6IHZTd2l0Y2ggMTAuNi4wLnggdmlhIC0tbm9kZS1pcDsgY2xvdWQ6IGhjbG91ZFxuICAjIHByaXZhdGUgSVApLiBub2RlLWV4cG9ydGVyIGlzIGhvc3ROZXR3b3JrLCBzbyBQcm9tZXRoZXVzIGFscmVhZHkgc2NyYXBlc1xuICAjIHRoYXQgSW50ZXJuYWxJUCBlbmRwb2ludCAtPiBzY3JhcGluZyBpcyB1bmFmZmVjdGVkLCBvbmx5IHRoZSBwdWJsaWMtTklDXG4gICMgZXhwb3N1cmUgb2YgdGhlIHVuYXV0aGVudGljYXRlZCBtZXRyaWNzIG9uIHRoZSBFWCBwdWJsaWMgSVBzIGdvZXMgYXdheS5cbiAgc2VydmljZTpcbiAgICBsaXN0ZW5PbkFsbEludGVyZmFjZXM6IGZhbHNlXG4gIHJlc291cmNlczpcbiAgICBsaW1pdHM6XG4gICAgICBjcHU6IDUwbVxuICAgICAgbWVtb3J5OiA1ME1pXG4gICAgcmVxdWVzdHM6XG4gICAgICBjcHU6IDVtXG4gICAgICBtZW1vcnk6IDE2TWlcbiAgcHJpb3JpdHlDbGFzc05hbWU6ICR7Y29uZmlnLnByaW9yaXR5Q2xhc3Nlcy5jYXB0dXJlfVxuXG5rdWJlLXN0YXRlLW1ldHJpY3M6XG4gIHJlc291cmNlczpcbiAgICBsaW1pdHM6XG4gICAgICBjcHU6IDFcbiAgICAgIG1lbW9yeTogNTEyTWlcbiAgICByZXF1ZXN0czpcbiAgICAgIGNwdTogNW1cbiAgICAgIG1lbW9yeTogMTI4TWlcbiAgcHJpb3JpdHlDbGFzc05hbWU6ICR7Y29uZmlnLnByaW9yaXR5Q2xhc3Nlcy5jYXB0dXJlfVxuYDtcbiAgfVxufVxuIl19
|
package/lib/constructs/tempo.js
CHANGED
|
@@ -102,6 +102,7 @@ tempo:
|
|
|
102
102
|
secretKeyRef:
|
|
103
103
|
name: ${s3CredentialsSecretName}
|
|
104
104
|
key: AWS_SECRET_ACCESS_KEY
|
|
105
|
+
priorityClassName: ${config.priorityClasses.capture}
|
|
105
106
|
persistence:
|
|
106
107
|
enabled: true
|
|
107
108
|
storageClassName: longhorn
|
|
@@ -112,4 +113,4 @@ tempoQuery:
|
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
115
|
exports.TempoConstruct = TempoConstruct;
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RydWN0cy90ZW1wby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBa0M7QUFDbEMsMkNBQXVDO0FBRXZDLDZDQUF5RDtBQVF6RDs7Ozs7Ozs7R0FRRztBQUNILE1BQWEsY0FBZSxTQUFRLHNCQUFTO0lBQzNDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUI7UUFDekQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUU3RCxJQUFJLGlCQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRTtZQUMzQixVQUFVLEVBQUUsbUJBQW1CO1lBQy9CLElBQUksRUFBRSxXQUFXO1lBQ2pCLFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUsT0FBTztnQkFDYixTQUFTLEVBQUUsU0FBUztnQkFDcEIsTUFBTSxFQUFFO29CQUNOLHdCQUF3QixFQUFFLE9BQU87b0JBQ2pDLDZCQUE2QixFQUFFLFNBQVM7b0JBQ3hDLDhCQUE4QixFQUFFLE9BQU87b0JBQ3ZDLDJCQUEyQixFQUFFLFlBQVk7aUJBQzFDO2dCQUNELFdBQVcsRUFBRTtvQkFDWCw4QkFBOEIsRUFBRSxHQUFHO2lCQUNwQzthQUNGO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSx1Q0FBdUM7Z0JBQzdDLEtBQUssRUFBRSxPQUFPO2dCQUNkLE9BQU8sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLO2dCQUMvRSxlQUFlLEVBQUUsU0FBUztnQkFDMUIsYUFBYSxFQUFFLHNDQUF5QjtnQkFDeEMsYUFBYSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsdUJBQXVCLENBQUM7YUFDeEU7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsTUFBd0IsRUFBRSx1QkFBK0I7UUFDbEYsb0VBQW9FO1FBQ3BFLDRFQUE0RTtRQUM1RSw0RUFBNEU7UUFDNUUsOEVBQThFO1FBQzlFLDRFQUE0RTtRQUM1RSxPQUFPLGFBQWEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLOztlQUU5QixNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0JBbUJuQixNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU07b0JBQ2pCLE1BQU0sQ0FBQyxFQUFFLENBQUMsa0JBQWtCO2tCQUM5QixNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU07Ozs7Ozs7Ozs7Ozs7O2FBY3JCLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHO2dCQUNoQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTTs7YUFFekMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUc7Z0JBQzlCLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNOzs7OztrQkFLbEMsdUJBQXVCOzs7OztrQkFLdkIsdUJBQXVCOztxQkFFcEIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPOzs7O1VBSXpDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSzs7O0NBRzdCLENBQUM7SUFDQSxDQUFDO0NBQ0Y7QUFyR0Qsd0NBcUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBpT2JqZWN0IH0gZnJvbSAnY2RrOHMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBNb25pdG9yaW5nQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgSEVMTV9DSEFSVF9GQUlMVVJFX1BPTElDWSB9IGZyb20gJy4vaGVsbS1jaGFydCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVtcG9Qcm9wcyB7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBjb25maWc6IE1vbml0b3JpbmdDb25maWc7XG4gIHMzQ3JlZGVudGlhbHNTZWNyZXROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgR3JhZmFuYSBUZW1wbyAobW9ub2xpdGhpYykgSGVsbUNoYXJ0IGZvciB0cmFjZSBzdG9yYWdlIG9uIFMzLlxuICpcbiAqIFNpbmdsZS1iaW5hcnkgVGVtcG8gYmFja2VkIGJ5IG9iamVjdCBzdG9yYWdlLCBleHBvc2luZyBhbiBPVExQIHJlY2VpdmVyIHRoYXRcbiAqIHRoZSBBbGxveSB0cmFjZXMgZ2F0ZXdheSBmb3J3YXJkcyB0by4gQmxvY2sgcmV0ZW50aW9uIGlzIGVuZm9yY2VkIGJ5IFRlbXBvJ3NcbiAqIGNvbXBhY3RvciAoY29uZmlnLnRlbXBvLnJldGVudGlvbikuXG4gKlxuICogU3luYyBXYXZlOiAzIChhZHZhbmNlZCBzZXJ2aWNlcywgYWZ0ZXIgY29yZSBzdGFjaykuXG4gKi9cbmV4cG9ydCBjbGFzcyBUZW1wb0NvbnN0cnVjdCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUZW1wb1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHsgbmFtZXNwYWNlLCBjb25maWcsIHMzQ3JlZGVudGlhbHNTZWNyZXROYW1lIH0gPSBwcm9wcztcblxuICAgIG5ldyBBcGlPYmplY3QodGhpcywgJ3RlbXBvJywge1xuICAgICAgYXBpVmVyc2lvbjogJ2hlbG0uY2F0dGxlLmlvL3YxJyxcbiAgICAgIGtpbmQ6ICdIZWxtQ2hhcnQnLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgbmFtZTogJ3RlbXBvJyxcbiAgICAgICAgbmFtZXNwYWNlOiBuYW1lc3BhY2UsXG4gICAgICAgIGxhYmVsczoge1xuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9uYW1lJzogJ3RlbXBvJyxcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vY29tcG9uZW50JzogJ3RyYWNpbmcnLFxuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9tYW5hZ2VkLWJ5JzogJ2NkazhzJyxcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vcGFydC1vZic6ICdtb25pdG9yaW5nJyxcbiAgICAgICAgfSxcbiAgICAgICAgYW5ub3RhdGlvbnM6IHtcbiAgICAgICAgICAnYXJnb2NkLmFyZ29wcm9qLmlvL3N5bmMtd2F2ZSc6ICczJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzcGVjOiB7XG4gICAgICAgIHJlcG86ICdodHRwczovL2dyYWZhbmEuZ2l0aHViLmlvL2hlbG0tY2hhcnRzJyxcbiAgICAgICAgY2hhcnQ6ICd0ZW1wbycsXG4gICAgICAgIHZlcnNpb246IGNvbmZpZy52ZXJzaW9ucy50ZW1wbyA9PT0gJ2xhdGVzdCcgPyB1bmRlZmluZWQgOiBjb25maWcudmVyc2lvbnMudGVtcG8sXG4gICAgICAgIHRhcmdldE5hbWVzcGFjZTogbmFtZXNwYWNlLFxuICAgICAgICBmYWlsdXJlUG9saWN5OiBIRUxNX0NIQVJUX0ZBSUxVUkVfUE9MSUNZLFxuICAgICAgICB2YWx1ZXNDb250ZW50OiB0aGlzLmdlbmVyYXRlSGVsbVZhbHVlcyhjb25maWcsIHMzQ3JlZGVudGlhbHNTZWNyZXROYW1lKSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlSGVsbVZhbHVlcyhjb25maWc6IE1vbml0b3JpbmdDb25maWcsIHMzQ3JlZGVudGlhbHNTZWNyZXROYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIFZhbHVlcyBmb2xsb3cgdGhlIG1vbm9saXRoaWMgZ3JhZmFuYS90ZW1wbyBjaGFydCBzY2hlbWE6IHN0b3JhZ2UsXG4gICAgLy8gcmVjZWl2ZXJzLCByZXNvdXJjZXMsIGV4dHJhRW52IGxpdmUgdW5kZXIgYHRlbXBvOmA7IHJlcGxpY2FzL3BlcnNpc3RlbmNlL1xuICAgIC8vIHRlbXBvUXVlcnkgYXJlIHRvcC1sZXZlbC4gUzMgY3JlZGVudGlhbHMgYXJlIE5PVCBpbmxpbmVkIGludG8gdGhlIGNvbmZpZztcbiAgICAvLyBUZW1wbydzIFMzIGNsaWVudCBwaWNrcyB1cCBBV1NfQUNDRVNTX0tFWV9JRC9BV1NfU0VDUkVUX0FDQ0VTU19LRVkgZnJvbSB0aGVcbiAgICAvLyBlbnZpcm9ubWVudCAoc2V0IGJlbG93IGZyb20gdGhlIEVTTy1zeW5jZWQgc2VjcmV0KSB2aWEgdGhlIGRlZmF1bHQgY2hhaW4uXG4gICAgcmV0dXJuIGByZXBsaWNhczogJHtjb25maWcucmVwbGljYXMudGVtcG99XG50ZW1wbzpcbiAgcmV0ZW50aW9uOiAke2NvbmZpZy50ZW1wby5yZXRlbnRpb259XG4gICMgU29mdGVuIHRoZSBsaXZlbmVzcyBwcm9iZTogYSBzaW5nbGUtYmluYXJ5IFRlbXBvIHNlcnZpbmcgZXhwZW5zaXZlIHRyYWNlXG4gICMgc2VhcmNoZXMgY2FuIG1ha2UgL3JlYWR5IHNsb3csIGFuZCB0aGUgY2hhcnQgZGVmYXVsdCAodGltZW91dCA1cyxcbiAgIyBmYWlsdXJlVGhyZXNob2xkIDMpIHRoZW4gU0lHS0lMTHMgaXQgdW5kZXIgbG9hZC4gUmVhZGluZXNzIHN0YXlzIGF0IHRoZVxuICAjIGNoYXJ0IGRlZmF1bHQgKHNoYXJwKSBzbyBhbiBvdmVybG9hZGVkIGluc3RhbmNlIGlzIHB1bGxlZCBmcm9tIHRoZSBTZXJ2aWNlXG4gICMgd2l0aG91dCBiZWluZyBraWxsZWQuXG4gIGxpdmVuZXNzUHJvYmU6XG4gICAgaHR0cEdldDpcbiAgICAgIHBhdGg6IC9yZWFkeVxuICAgICAgcG9ydDogMzIwMFxuICAgIGluaXRpYWxEZWxheVNlY29uZHM6IDYwXG4gICAgcGVyaW9kU2Vjb25kczogMzBcbiAgICB0aW1lb3V0U2Vjb25kczogMTVcbiAgICBmYWlsdXJlVGhyZXNob2xkOiA2XG4gICAgc3VjY2Vzc1RocmVzaG9sZDogMVxuICBzdG9yYWdlOlxuICAgIHRyYWNlOlxuICAgICAgYmFja2VuZDogczNcbiAgICAgIHMzOlxuICAgICAgICBidWNrZXQ6ICR7Y29uZmlnLnRlbXBvLmJ1Y2tldH1cbiAgICAgICAgZW5kcG9pbnQ6ICR7Y29uZmlnLnMzLmVuZHBvaW50Tm9Qcm90b2NvbH1cbiAgICAgICAgcmVnaW9uOiAke2NvbmZpZy5zMy5yZWdpb259XG4gICAgICAgIGZvcmNlcGF0aHN0eWxlOiBmYWxzZVxuICAgICAgICBpbnNlY3VyZTogZmFsc2VcbiAgICAgIHdhbDpcbiAgICAgICAgcGF0aDogL3Zhci90ZW1wby93YWxcbiAgcmVjZWl2ZXJzOlxuICAgIG90bHA6XG4gICAgICBwcm90b2NvbHM6XG4gICAgICAgIGdycGM6XG4gICAgICAgICAgZW5kcG9pbnQ6IFwiMC4wLjAuMDo0MzE3XCJcbiAgICAgICAgaHR0cDpcbiAgICAgICAgICBlbmRwb2ludDogXCIwLjAuMC4wOjQzMThcIlxuICByZXNvdXJjZXM6XG4gICAgcmVxdWVzdHM6XG4gICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy50ZW1wby5yZXF1ZXN0cy5jcHV9XG4gICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy50ZW1wby5yZXF1ZXN0cy5tZW1vcnl9XG4gICAgbGltaXRzOlxuICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMudGVtcG8ubGltaXRzLmNwdX1cbiAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLnRlbXBvLmxpbWl0cy5tZW1vcnl9XG4gIGV4dHJhRW52OlxuICAgIC0gbmFtZTogQVdTX0FDQ0VTU19LRVlfSURcbiAgICAgIHZhbHVlRnJvbTpcbiAgICAgICAgc2VjcmV0S2V5UmVmOlxuICAgICAgICAgIG5hbWU6ICR7czNDcmVkZW50aWFsc1NlY3JldE5hbWV9XG4gICAgICAgICAga2V5OiBBV1NfQUNDRVNTX0tFWV9JRFxuICAgIC0gbmFtZTogQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZXG4gICAgICB2YWx1ZUZyb206XG4gICAgICAgIHNlY3JldEtleVJlZjpcbiAgICAgICAgICBuYW1lOiAke3MzQ3JlZGVudGlhbHNTZWNyZXROYW1lfVxuICAgICAgICAgIGtleTogQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZXG5wcmlvcml0eUNsYXNzTmFtZTogJHtjb25maWcucHJpb3JpdHlDbGFzc2VzLmNhcHR1cmV9XG5wZXJzaXN0ZW5jZTpcbiAgZW5hYmxlZDogdHJ1ZVxuICBzdG9yYWdlQ2xhc3NOYW1lOiBsb25naG9yblxuICBzaXplOiAke2NvbmZpZy5zdG9yYWdlLnRlbXBvfVxudGVtcG9RdWVyeTpcbiAgZW5hYmxlZDogZmFsc2VcbmA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -23,7 +23,7 @@ export interface ThanosCompactorProps {
|
|
|
23
23
|
*
|
|
24
24
|
* Prerequisites:
|
|
25
25
|
* - Namespace exists
|
|
26
|
-
* -
|
|
26
|
+
* - The PriorityClasses named in config.priorityClasses exist
|
|
27
27
|
* - Longhorn storage class available
|
|
28
28
|
* - Thanos S3 secret exists (thanos-objstore-config)
|
|
29
29
|
* - S3 bucket contains Prometheus data blocks
|