@tricoteuses/assemblee 1.9.8 → 1.9.9
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/bugs/agenda-00011/plugin.test.js +9 -13
- package/lib/bugs/agenda-00011/plugin.test.mjs +5 -9
- package/lib/datasets.d.ts +5 -0
- package/lib/datasets.js +5 -3
- package/lib/datasets.mjs +5 -3
- package/lib/raw_types/scrutins.d.ts +1 -10
- package/lib/raw_types/scrutins.js +2 -24
- package/lib/raw_types/scrutins.mjs +2 -24
- package/lib/scripts/clean_reorganized_data.js +420 -219
- package/lib/scripts/clean_reorganized_data.mjs +22 -5
- package/lib/scripts/process_textes_loi_dataset.js +3 -3
- package/lib/scripts/process_textes_loi_dataset.mjs +4 -2
- package/lib/scripts/reorganize_data.js +2 -2
- package/lib/scripts/reorganize_data.mjs +3 -3
- package/package.json +2 -2
package/lib/datasets.mjs
CHANGED
|
@@ -682,14 +682,16 @@ export const datasets = {
|
|
|
682
682
|
repairZip: repairForJsonSubdirectory,
|
|
683
683
|
structure: DatasetStructure.SegmentedFiles,
|
|
684
684
|
title: "Textes de loi de la XVIème législature",
|
|
685
|
-
download: processTextesLoiDataset
|
|
685
|
+
download: processTextesLoiDataset,
|
|
686
|
+
clean: processTextesLoiDataset
|
|
686
687
|
}, {
|
|
687
688
|
filename: "Textes_Loi_XVII",
|
|
688
689
|
legislature: Legislature.DixSept,
|
|
689
690
|
repairZip: repairForJsonSubdirectory,
|
|
690
691
|
structure: DatasetStructure.SegmentedFiles,
|
|
691
692
|
title: "Textes de loi de la XVIIème législature",
|
|
692
|
-
download: processTextesLoiDataset
|
|
693
|
+
download: processTextesLoiDataset,
|
|
694
|
+
clean: processTextesLoiDataset
|
|
693
695
|
}]
|
|
694
696
|
};
|
|
695
697
|
const directory2schema = {
|
|
@@ -769,4 +771,4 @@ export function getEnabledDatasets(categories) {
|
|
|
769
771
|
categories.map(datasetName => assert.notStrictEqual(EnabledDatasets[datasetName], undefined, `Unknown name of dataset: ${datasetName}`));
|
|
770
772
|
return categories.reduce((enabledDatasets, datasetName) => enabledDatasets | EnabledDatasets[datasetName], EnabledDatasets.None);
|
|
771
773
|
}
|
|
772
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVIYXNoIiwiYXNzZXJ0IiwiZnMiLCJwYXRoIiwiTGVnaXNsYXR1cmUiLCJwcm9jZXNzVGV4dGVzTG9pRGF0YXNldCIsIkRhdGFzZXRTdHJ1Y3R1cmUiLCJFbmFibGVkRGF0YXNldHMiLCJyZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5IiwiZGF0YXNldCIsImRhdGFEaXIiLCJ0YXJnZXREaXIiLCJqb2luIiwiZmlsZW5hbWUiLCJleGlzdHNTeW5jIiwicmVtb3ZlU3luYyIsIm1vdmVTeW5jIiwibWtkaXJTeW5jIiwiZGF0YXNldHMiLCJhY3RldXJzRXRPcmdhbmVzIiwiaWdub3JlRm9yV2ViIiwibGVnaXNsYXR1cmUiLCJEaXhTZXB0IiwicmVwYWlyWmlwIiwic3RydWN0dXJlIiwiU2VnbWVudGVkRmlsZXMiLCJ0aXRsZSIsInVybCIsIlNlaXplIiwiUXVpbnplIiwiUXVhdG9yemUiLCJTaW5nbGVGaWxlIiwiQWxsIiwicGF0aEV4aXN0c1N5bmMiLCJhZ2VuZGFzIiwiYW1lbmRlbWVudHMiLCJkb3NzaWVyc0xlZ2lzbGF0aWZzIiwic2NydXRpbnMiLCJxdWVzdGlvbnMiLCJjb21wdGVzUmVuZHVzU2VhbmNlcyIsInRleHRlc0xvaSIsImRvd25sb2FkIiwiZGlyZWN0b3J5MnNjaGVtYSIsImdldERhdGFzZXRzIiwidmFsaWREYXRhc2V0IiwiZGlyIiwiaW5jbHVkZXMiLCJnZXRTY2hlbWFzIiwiT2JqZWN0IiwidmFsdWVzIiwiZGF0YXNldERpcmVjdG9yeVNjaGVtYSIsImRpcmVjdG9yaWVzIiwicmVzdWx0cyIsImRpcmVjdG9yeSIsInJlIiwia2V5cyIsIlJlZ0V4cCIsImV4ZWMiLCJwdXNoIiwiZmlsZURhdGFzZXRVcmwiLCJtYXRjaCIsImZpbGUiLCJkaWZmVXBzdHJlYW0iLCJkYXRhc2V0VXJsIiwic3VtIiwidXBkYXRlIiwiZGlnZXN0IiwidG9TdHJpbmciLCJtYXN0ZXJVcmwiLCJmaWx0ZXJCeUxlZ2lzbGF0dXJlIiwidW5kZWZpbmVkIiwia2V5IiwidmFsdWUiLCJlbnRyaWVzIiwiZmlsdGVyIiwiZ2V0RW5hYmxlZERhdGFzZXRzIiwiY2F0ZWdvcmllcyIsIm1hcCIsImRhdGFzZXROYW1lIiwibm90U3RyaWN0RXF1YWwiLCJyZWR1Y2UiLCJlbmFibGVkRGF0YXNldHMiLCJOb25lIl0sInNvdXJjZXMiOlsiLi4vc3JjL2RhdGFzZXRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUhhc2ggfSBmcm9tIFwiY3J5cHRvXCJcbmltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuaW1wb3J0IHsgTGVnaXNsYXR1cmUgfSBmcm9tIFwiLi90eXBlcy9sZWdpc2xhdHVyZXNcIlxuaW1wb3J0IHsgcHJvY2Vzc1RleHRlc0xvaURhdGFzZXQgfSBmcm9tIFwiLi9zY3JpcHRzL3Byb2Nlc3NfdGV4dGVzX2xvaV9kYXRhc2V0XCJcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0IHtcbiAgZmlsZW5hbWU6IHN0cmluZ1xuICBpZ25vcmVGb3JXZWI/OiBib29sZWFuXG4gIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZVxuICByZXBhaXJaaXA/OiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB2b2lkXG4gIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZVxuICB0aXRsZTogc3RyaW5nXG4gIHVybD86IHN0cmluZ1xuICAvKipcbiAgICogQW4gb3B0aW9uYWwgZnVuY3Rpb24gdG8gZG93bmxvYWQgdGhlIGRlc2lyZWQgZGF0YXNldC5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHdoaWNoIHJlc29sdmVzIGRhdGEgZG93bmxvYWQuXG4gICAqL1xuICBkb3dubG9hZD86IChvcHRpb25zPzogYW55KSA9PiBQcm9taXNlPG51bWJlciB8IHZvaWQ+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldHMge1xuICBhY3RldXJzRXRPcmdhbmVzOiBEYXRhc2V0W11cbiAgYWdlbmRhczogRGF0YXNldFtdXG4gIGFtZW5kZW1lbnRzOiBEYXRhc2V0W11cbiAgZG9zc2llcnNMZWdpc2xhdGlmczogRGF0YXNldFtdXG4gIHNjcnV0aW5zOiBEYXRhc2V0W11cbiAgcXVlc3Rpb25zOiBEYXRhc2V0W11cbiAgY29tcHRlc1JlbmR1c1NlYW5jZXM6IERhdGFzZXRbXVxuICB0ZXh0ZXNMb2k6IERhdGFzZXRbXVxufVxuXG5leHBvcnQgZW51bSBEYXRhc2V0U3RydWN0dXJlIHtcbiAgU2luZ2xlRmlsZSxcbiAgU2VnbWVudGVkRmlsZXMsXG59XG5cbmV4cG9ydCBlbnVtIEVuYWJsZWREYXRhc2V0cyB7XG4gIE5vbmUgPSAwLFxuICBBY3RldXJzRXRPcmdhbmVzID0gMSA8PCAwLFxuICBBZ2VuZGFzID0gMSA8PCAxLFxuICBBbWVuZGVtZW50cyA9IDEgPDwgMixcbiAgRG9zc2llcnNMZWdpc2xhdGlmcyA9IDEgPDwgMyxcbiAgUGhvdG9zID0gMSA8PCA0LFxuICBTY3J1dGlucyA9IDEgPDwgNSxcbiAgUXVlc3Rpb25zID0gMSA8PCA2LFxuICBDb21wdGVzUmVuZHVzU2VhbmNlcyA9IDEgPDwgNyxcbiAgVGV4dGVzTG9pID0gMSA8PCA4LFxuICBBbGwgPSBBY3RldXJzRXRPcmdhbmVzIHxcbiAgICBBZ2VuZGFzIHxcbiAgICBBbWVuZGVtZW50cyB8XG4gICAgRG9zc2llcnNMZWdpc2xhdGlmcyB8XG4gICAgUGhvdG9zIHxcbiAgICBTY3J1dGlucyB8XG4gICAgUXVlc3Rpb25zIHxcbiAgICBDb21wdGVzUmVuZHVzU2VhbmNlcyB8XG4gICAgVGV4dGVzTG9pLFxufVxuXG4vLyBUaGUgemlwIGZpbGVzIChuYW1lZCBOQU1FLmpzb24uemlwKSB1c3VhbGx5IGNvbnRhaW4gYSBzaW5nbGUgc3ViZm9sZGVyIG5hbWVkIFwianNvblwiXG4vLyBjb250YWluaW5nIHRoZSBhY3R1YWwgY29udGVudHNcbi8vIFdlJ2QgcmF0aGVyIHJlbmFtZSB0aGUgZm9sZGVyIE5BTUUuanNvblxuZnVuY3Rpb24gcmVwYWlyRm9ySnNvblN1YmRpcmVjdG9yeShkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpIHtcbiAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgfVxuXG4gIGlmIChmcy5leGlzdHNTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIikpKSB7XG4gICAgZnMubW92ZVN5bmMocGF0aC5qb2luKGRhdGFEaXIsIFwianNvblwiKSwgdGFyZ2V0RGlyKVxuICB9IGVsc2Uge1xuICAgIGZzLm1rZGlyU3luYyh0YXJnZXREaXIpXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGRhdGFzZXRzOiBEYXRhc2V0cyA9IHtcbiAgYWN0ZXVyc0V0T3JnYW5lczogW1xuICAgIHtcbiAgICAgIC8vIEFNTzEwIChYVklJKVxuICAgICAgLy9cbiAgICAgIC8vIENvbnRpZW50IGxlcyBkw6lwdXTDqXMgYWN0aWZzXG4gICAgICAvLyAqIGF2ZWMgdG91cyBsZXMgbWFuZGF0cyBlbiBjb3Vyc1xuICAgICAgLy8gKiB5IGNvbXByaXMgYXZlYyBsZXVyIHBhcnRpIHBvbGl0aXF1ZSAodHlwZU9yZ2FuZTogXCJQQVJQT0xcIilcbiAgICAgIC8vICogbWFpcyBzYW5zIGxlcyBtYW5kYXRzIGFjaGV2w6lzICh5IGNvbXByaXMgZGFucyBjZXR0ZSBsw6lnaXNsYXR1cmUpXG4gICAgICAvL1xuICAgICAgLy8gT3JnYW5lcyA6XG4gICAgICAvLyAqIENvbnRpZW50IHNldWxlbWVudCBsZXMgb3JnYW5lcyBjb3JyZXNwb25kYW50cyBhdXggbWFuZGF0cyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGxlIHhzaVR5cGUgZGUgbCdvcmdhbmVcbiAgICAgIC8vICogYXZlYyBkZXMgY29tbWlzc2lvbnMgc8OpbmF0b3JpYWxlcyAocGVybWFuZW50ZXMgZXQgc3DDqWNpYWxlcykgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgZMOpbMOpZ2F0aW9ucyBzw6luYXRvcmlhbGVzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIGdyb3VwZXMgc8OpbmF0b3JpYXV4IGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIG1pbmlzdMOocmVzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgbGVzIFByw6lzaWRlbmNlcyBkZSBsYSBSw6lwdWJsaXF1ZSAoeSBjb21wcmlzIFNhcmtvenkpXG4gICAgICAvLyAqIGF2ZWMgbGUgQ29uc2VpbCBjb25zdGl0dXRpb25uZWxcbiAgICAgIC8vXG4gICAgICAvLyBDZSBmaWNoaWVyIGVzdCB1biBzb3VzLWVuc2VtYmxlIMOgIHRvdXMgbGVzIG5pdmVhdXggZHUgZmljaGllciBBTU8yMFxuICAgICAgLy8gKHF1aSBlc3QgbHVpIG3Dqm1lIHVuIHNvdXMtZW5zZW1ibGUgZGUgbCdBTU8zMCkuXG4gICAgICAvLyBJbCBuJ2FwcG9ydGUgZG9uYyBhYnNvbHVtZW50IHJpZW4gcGFyIHJhcHBvcnQgw6AgQU1PMjAgb3UgbCdBTU8zMC5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzEwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfWFZJSS5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuRGl4U2VwdCxcbiAgICAgIHJlcGFpclppcDogcmVwYWlyRm9ySnNvblN1YmRpcmVjdG9yeSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkTDqXB1dMOpcyBhY3RpZnMgZXQgb3JnYW5lcyBkZSBsYSBYVklJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE3L2Ftby9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzL0FNTzEwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzEwIChYVkkpXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgbGVzIGTDqXB1dMOpcyBhY3RpZnNcbiAgICAgIC8vICogYXZlYyB0b3VzIGxlcyBtYW5kYXRzIGVuIGNvdXJzXG4gICAgICAvLyAqIHkgY29tcHJpcyBhdmVjIGxldXIgcGFydGkgcG9saXRpcXVlICh0eXBlT3JnYW5lOiBcIlBBUlBPTFwiKVxuICAgICAgLy8gKiBtYWlzIHNhbnMgbGVzIG1hbmRhdHMgYWNoZXbDqXMgKHkgY29tcHJpcyBkYW5zIGNldHRlIGzDqWdpc2xhdHVyZSlcbiAgICAgIC8vXG4gICAgICAvLyBPcmdhbmVzIDpcbiAgICAgIC8vICogQ29udGllbnQgc2V1bGVtZW50IGxlcyBvcmdhbmVzIGNvcnJlc3BvbmRhbnRzIGF1eCBtYW5kYXRzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgbGUgeHNpVHlwZSBkZSBsJ29yZ2FuZVxuICAgICAgLy8gKiBhdmVjIGRlcyBjb21taXNzaW9ucyBzw6luYXRvcmlhbGVzIChwZXJtYW5lbnRlcyBldCBzcMOpY2lhbGVzKSBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBkw6lsw6lnYXRpb25zIHPDqW5hdG9yaWFsZXMgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgZ3JvdXBlcyBzw6luYXRvcmlhdXggZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgbWluaXN0w6hyZXMgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBsZXMgUHLDqXNpZGVuY2VzIGRlIGxhIFLDqXB1YmxpcXVlICh5IGNvbXByaXMgU2Fya296eSlcbiAgICAgIC8vICogYXZlYyBsZSBDb25zZWlsIGNvbnN0aXR1dGlvbm5lbFxuICAgICAgLy9cbiAgICAgIC8vIENlIGZpY2hpZXIgZXN0IHVuIHNvdXMtZW5zZW1ibGUgw6AgdG91cyBsZXMgbml2ZWF1eCBkdSBmaWNoaWVyIEFNTzIwXG4gICAgICAvLyAocXVpIGVzdCBsdWkgbcOqbWUgdW4gc291cy1lbnNlbWJsZSBkZSBsJ0FNTzMwKS5cbiAgICAgIC8vIElsIG4nYXBwb3J0ZSBkb25jIGFic29sdW1lbnQgcmllbiBwYXIgcmFwcG9ydCDDoCBBTU8yMCBvdSBsJ0FNTzMwLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PMTBfZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lc19YVkkuanNvblwiLFxuICAgICAgaWdub3JlRm9yV2ViOiB0cnVlLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlNlaXplLFxuICAgICAgcmVwYWlyWmlwOiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiRMOpcHV0w6lzIGFjdGlmcyBldCBvcmdhbmVzIGRlIGxhIFhWScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNi9hbW8vZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lcy9BTU8xMF9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICAvLyBBTU8xMCAoWFYpXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgbGVzIGTDqXB1dMOpcyBhY3RpZnNcbiAgICAgIC8vICogYXZlYyB0b3VzIGxlcyBtYW5kYXRzIGVuIGNvdXJzXG4gICAgICAvLyAqIHkgY29tcHJpcyBhdmVjIGxldXIgcGFydGkgcG9saXRpcXVlICh0eXBlT3JnYW5lOiBcIlBBUlBPTFwiKVxuICAgICAgLy8gKiBtYWlzIHNhbnMgbGVzIG1hbmRhdHMgYWNoZXbDqXMgKHkgY29tcHJpcyBkYW5zIGNldHRlIGzDqWdpc2xhdHVyZSlcbiAgICAgIC8vXG4gICAgICAvLyBPcmdhbmVzIDpcbiAgICAgIC8vICogQ29udGllbnQgc2V1bGVtZW50IGxlcyBvcmdhbmVzIGNvcnJlc3BvbmRhbnRzIGF1eCBtYW5kYXRzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgbGUgeHNpVHlwZSBkZSBsJ29yZ2FuZVxuICAgICAgLy8gKiBhdmVjIGRlcyBjb21taXNzaW9ucyBzw6luYXRvcmlhbGVzIChwZXJtYW5lbnRlcyBldCBzcMOpY2lhbGVzKSBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBkw6lsw6lnYXRpb25zIHPDqW5hdG9yaWFsZXMgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgZ3JvdXBlcyBzw6luYXRvcmlhdXggZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgbWluaXN0w6hyZXMgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBsZXMgUHLDqXNpZGVuY2VzIGRlIGxhIFLDqXB1YmxpcXVlICh5IGNvbXByaXMgU2Fya296eSlcbiAgICAgIC8vICogYXZlYyBsZSBDb25zZWlsIGNvbnN0aXR1dGlvbm5lbFxuICAgICAgLy9cbiAgICAgIC8vIENlIGZpY2hpZXIgZXN0IHVuIHNvdXMtZW5zZW1ibGUgw6AgdG91cyBsZXMgbml2ZWF1eCBkdSBmaWNoaWVyIEFNTzIwXG4gICAgICAvLyAocXVpIGVzdCBsdWkgbcOqbWUgdW4gc291cy1lbnNlbWJsZSBkZSBsJ0FNTzMwKS5cbiAgICAgIC8vIElsIG4nYXBwb3J0ZSBkb25jIGFic29sdW1lbnQgcmllbiBwYXIgcmFwcG9ydCDDoCBBTU8yMCBvdSBsJ0FNTzMwLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PMTBfZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lc19YVi5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVpbnplLFxuICAgICAgcmVwYWlyWmlwOiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiRMOpcHV0w6lzIGFjdGlmcyBldCBvcmdhbmVzIGRlIGxhIFhWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE1L2Ftby9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzL0FNTzEwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzIwIChYVklJKVxuICAgICAgLy9cbiAgICAgIC8vIENvbnRpZW50IGxlcyBkw6lwdXTDqXMgZGUgbGEgbMOpZ2lzbGF0dXJlLCBhY3RpZnMgb3Ugbm9uIChpbnZhbGlkw6lzLCBldGMpLCBsZXMgc8OpbmF0ZXVycyBhY3R1ZWxzXG4gICAgICAvLyBQb3VyIGxlcyBkw6lwdXTDqXMgOlxuICAgICAgLy8gKiBhdmVjIHRvdXMgbGV1cnMgbWFuZGF0cyBkZSBsYSBsw6lnaXNsYXR1cmVcbiAgICAgIC8vICogeSBjb21wcmlzIGxlcyBtYW5kYXRzIGFjaGV2w6lzXG4gICAgICAvLyAqIHkgY29tcHJpcyBsZXVycyBwYXJ0aXMgcG9saXRpcXVlcyAgKHR5cGVPcmdhbmU6IFwiUEFSUE9MXCIpXG4gICAgICAvLyAqIG1haXMgc2FucyBsZXMgbWFuZGF0cyBkZXMgbMOpZ2lzbGF0dXJlcyBwcsOpY8OpZGVudGVzIChxdWkgc29udCBkYW5zIEFNTzQwKVxuICAgICAgLy9cbiAgICAgIC8vIENvbnRpZW50IHRvdXMgbGVzIG9yZ2FuZXMgcsOpZsOpcmVuY8OpcyBwYXIgbGVzIG1hbmRhdHNcbiAgICAgIC8vICogYXZlYyBsZSB4c2lUeXBlIGRlIGwnb3JnYW5lXG4gICAgICAvLyAqIGF2ZWMgZGVzIGNvbW1pc3Npb25zIHPDqW5hdG9yaWFsZXMgKHBlcm1hbmVudGVzIGV0IHNww6ljaWFsZXMpIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIGTDqWzDqWdhdGlvbnMgc8OpbmF0b3JpYWxlcyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBncm91cGVzIHPDqW5hdG9yaWF1eCBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBtaW5pc3TDqHJlcyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGxlcyBQcsOpc2lkZW5jZXMgZGUgbGEgUsOpcHVibGlxdWUgKHkgY29tcHJpcyBTYXJrb3p5KVxuICAgICAgLy8gKiBhdmVjIGxlIENvbnNlaWwgY29uc3RpdHV0aW9ubmVsXG4gICAgICAvL1xuICAgICAgLy8gQ2UgZmljaGllciBlc3QgdW4gc291cy1lbnNlbWJsZSDDoCB0b3VzIGxlcyBuaXZlYXV4IGR1IGZpY2hpZXIgQU1PMzAuXG4gICAgICAvLyBJbCBuJ2FwcG9ydGUgZG9uYyBhYnNvbHVtZW50IHJpZW4gcGFyIHJhcHBvcnQgw6AgbCdBTU8zMC5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzIwX2RlcF9zZW5fbWluX3RvdXNfbWFuZGF0c19ldF9vcmdhbmVzX1hWSUkuanNvblwiLFxuICAgICAgaWdub3JlRm9yV2ViOiB0cnVlLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLkRpeFNlcHQsXG4gICAgICByZXBhaXJaaXA6IHJlcGFpckZvckpzb25TdWJkaXJlY3RvcnksXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJBY3RldXJzIGV0IG9yZ2FuZXMgZGUgbGEgWFZJScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNy9hbW8vZGVwdXRlc19zZW5hdGV1cnNfbWluaXN0cmVzX2xlZ2lzbGF0dXJlL0FNTzIwX2RlcF9zZW5fbWluX3RvdXNfbWFuZGF0c19ldF9vcmdhbmVzLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICAvLyBBTU8yMCAoWFZJKVxuICAgICAgLy9cbiAgICAgIC8vIENvbnRpZW50IGxlcyBkw6lwdXTDqXMgZGUgbGEgbMOpZ2lzbGF0dXJlLCBhY3RpZnMgb3Ugbm9uIChpbnZhbGlkw6lzLCBldGMpLCBsZXMgc8OpbmF0ZXVycyBhY3R1ZWxzXG4gICAgICAvLyBQb3VyIGxlcyBkw6lwdXTDqXMgOlxuICAgICAgLy8gKiBhdmVjIHRvdXMgbGV1cnMgbWFuZGF0cyBkZSBsYSBsw6lnaXNsYXR1cmVcbiAgICAgIC8vICogeSBjb21wcmlzIGxlcyBtYW5kYXRzIGFjaGV2w6lzXG4gICAgICAvLyAqIHkgY29tcHJpcyBsZXVycyBwYXJ0aXMgcG9saXRpcXVlcyAgKHR5cGVPcmdhbmU6IFwiUEFSUE9MXCIpXG4gICAgICAvLyAqIG1haXMgc2FucyBsZXMgbWFuZGF0cyBkZXMgbMOpZ2lzbGF0dXJlcyBwcsOpY8OpZGVudGVzIChxdWkgc29udCBkYW5zIEFNTzQwKVxuICAgICAgLy9cbiAgICAgIC8vIENvbnRpZW50IHRvdXMgbGVzIG9yZ2FuZXMgcsOpZsOpcmVuY8OpcyBwYXIgbGVzIG1hbmRhdHNcbiAgICAgIC8vICogYXZlYyBsZSB4c2lUeXBlIGRlIGwnb3JnYW5lXG4gICAgICAvLyAqIGF2ZWMgZGVzIGNvbW1pc3Npb25zIHPDqW5hdG9yaWFsZXMgKHBlcm1hbmVudGVzIGV0IHNww6ljaWFsZXMpIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIGTDqWzDqWdhdGlvbnMgc8OpbmF0b3JpYWxlcyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBncm91cGVzIHPDqW5hdG9yaWF1eCBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBtaW5pc3TDqHJlcyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGxlcyBQcsOpc2lkZW5jZXMgZGUgbGEgUsOpcHVibGlxdWUgKHkgY29tcHJpcyBTYXJrb3p5KVxuICAgICAgLy8gKiBhdmVjIGxlIENvbnNlaWwgY29uc3RpdHV0aW9ubmVsXG4gICAgICAvL1xuICAgICAgLy8gQ2UgZmljaGllciBlc3QgdW4gc291cy1lbnNlbWJsZSDDoCB0b3VzIGxlcyBuaXZlYXV4IGR1IGZpY2hpZXIgQU1PMzAuXG4gICAgICAvLyBJbCBuJ2FwcG9ydGUgZG9uYyBhYnNvbHVtZW50IHJpZW4gcGFyIHJhcHBvcnQgw6AgbCdBTU8zMC5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzIwX2RlcF9zZW5fbWluX3RvdXNfbWFuZGF0c19ldF9vcmdhbmVzX1hWSS5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuU2VpemUsXG4gICAgICByZXBhaXJaaXA6IHJlcGFpckZvckpzb25TdWJkaXJlY3RvcnksXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJBY3RldXJzIGV0IG9yZ2FuZXMgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L2Ftby9kZXB1dGVzX3NlbmF0ZXVyc19taW5pc3RyZXNfbGVnaXNsYXR1cmUvQU1PMjBfZGVwX3Nlbl9taW5fdG91c19tYW5kYXRzX2V0X29yZ2FuZXMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzIwIChYVilcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCBsZXMgZMOpcHV0w6lzIGRlIGxhIGzDqWdpc2xhdHVyZSwgYWN0aWZzIG91IG5vbiAoaW52YWxpZMOpcywgZXRjKSwgbGVzIHPDqW5hdGV1cnMgYWN0dWVsc1xuICAgICAgLy8gUG91ciBsZXMgZMOpcHV0w6lzIDpcbiAgICAgIC8vICogYXZlYyB0b3VzIGxldXJzIG1hbmRhdHMgZGUgbGEgbMOpZ2lzbGF0dXJlXG4gICAgICAvLyAqIHkgY29tcHJpcyBsZXMgbWFuZGF0cyBhY2hldsOpc1xuICAgICAgLy8gKiB5IGNvbXByaXMgbGV1cnMgcGFydGlzIHBvbGl0aXF1ZXMgICh0eXBlT3JnYW5lOiBcIlBBUlBPTFwiKVxuICAgICAgLy8gKiBtYWlzIHNhbnMgbGVzIG1hbmRhdHMgZGVzIGzDqWdpc2xhdHVyZXMgcHLDqWPDqWRlbnRlcyAocXVpIHNvbnQgZGFucyBBTU80MClcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCB0b3VzIGxlcyBvcmdhbmVzIHLDqWbDqXJlbmPDqXMgcGFyIGxlcyBtYW5kYXRzXG4gICAgICAvLyAqIGF2ZWMgbGUgeHNpVHlwZSBkZSBsJ29yZ2FuZVxuICAgICAgLy8gKiBhdmVjIGRlcyBjb21taXNzaW9ucyBzw6luYXRvcmlhbGVzIChwZXJtYW5lbnRlcyBldCBzcMOpY2lhbGVzKSBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBkw6lsw6lnYXRpb25zIHPDqW5hdG9yaWFsZXMgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgZ3JvdXBlcyBzw6luYXRvcmlhdXggZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgbWluaXN0w6hyZXMgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBsZXMgUHLDqXNpZGVuY2VzIGRlIGxhIFLDqXB1YmxpcXVlICh5IGNvbXByaXMgU2Fya296eSlcbiAgICAgIC8vICogYXZlYyBsZSBDb25zZWlsIGNvbnN0aXR1dGlvbm5lbFxuICAgICAgLy9cbiAgICAgIC8vIENlIGZpY2hpZXIgZXN0IHVuIHNvdXMtZW5zZW1ibGUgw6AgdG91cyBsZXMgbml2ZWF1eCBkdSBmaWNoaWVyIEFNTzMwLlxuICAgICAgLy8gSWwgbidhcHBvcnRlIGRvbmMgYWJzb2x1bWVudCByaWVuIHBhciByYXBwb3J0IMOgIGwnQU1PMzAuXG4gICAgICBmaWxlbmFtZTogXCJBTU8yMF9kZXBfc2VuX21pbl90b3VzX21hbmRhdHNfZXRfb3JnYW5lc19YVi5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVpbnplLFxuICAgICAgcmVwYWlyWmlwOiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiQWN0ZXVycyBldCBvcmdhbmVzIGRlIGxhIFhWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE1L2Ftby9kZXB1dGVzX3NlbmF0ZXVyc19taW5pc3RyZXNfbGVnaXNsYXR1cmUvQU1PMjBfZGVwX3Nlbl9taW5fdG91c19tYW5kYXRzX2V0X29yZ2FuZXNfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzIwIChYSVYpXG4gICAgICAvL1xuICAgICAgLy8gQ29tbWUgQU1PMjAgKFhWKSBtYWlzIHBvdXIgbGEgWElWw6htZSBsw6lnaXNsYXR1cmVcbiAgICAgIC8vIFRvdXMgbGVzIGFjdGV1cnMgc2F1ZiB1biAoUEE0Mjk4OTIpIHNvbnQgcHLDqXNlbnRzIGVuIHBsdXMgw6Agam91ciBkYW5zIEFNTzMwLlxuICAgICAgLy8gQ2V0IGFjdGV1ciBQQTQyOTg5MiAoYW5jaWVubmUgU8OpbmF0cmljZSkgbidlc3QgcHLDqXNlbnQgZGFucyBhdWN1biBkZXMgYXV0cmVzXG4gICAgICAvLyBmaWNoaWVycyBBTU8uXG4gICAgICAvLyBUb3VzIGxlcyBvcmdhbmVzIHNvbnQgcHLDqXNlbnRzIGVuIHBsdXMgY29tcGxldHMgZGFucyBBTU8zMC5cbiAgICAgIC8vXG4gICAgICAvLyBDZSBmaWNoaWVyIGVzdCBkb25jIMOgIHVuIGTDqXRhaWwgcHLDqnQgKFBBNDI5ODkyKSB1biBzb3VzLWVuc2VtYmxlIGQnQU1PMzAuXG4gICAgICAvLyBJbCBuJ2FwcG9ydGUgZG9uYyBxdWFzaW1lbnQgcmllbiBwYXIgcmFwcG9ydCDDoCBsJ0FNTzMwLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PMjBfZGVwX3Nlbl9taW5fdG91c19tYW5kYXRzX2V0X29yZ2FuZXNfWElWLmpzb25cIixcbiAgICAgIGlnbm9yZUZvcldlYjogdHJ1ZSxcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWF0b3J6ZSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TaW5nbGVGaWxlLFxuICAgICAgdGl0bGU6IFwiQWN0ZXVycyBldCBvcmdhbmVzIGRlIGxhIFhJVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNC9hbW8vZGVwdXRlc19zZW5hdGV1cnNfbWluaXN0cmVzX2xlZ2lzbGF0dXJlc19YSVYvQU1PMjBfZGVwX3Nlbl9taW5fdG91c19tYW5kYXRzX2V0X29yZ2FuZXNfWElWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICAvLyBBTU8zMCAoWFZJSSlcbiAgICAgIC8vXG4gICAgICAvLyBDZSBmaWNoaWVyIGNvbnRpZW50IHRvdXMgbGVzIGFjdGV1cnMgZXQgb3JnYW5lcy5cbiAgICAgIC8vIEMnZXN0IHVuIHN1ci1lbnNlbWJsZSBkZXMgZmljaGllcnMgQU1PMjAuXG4gICAgICBmaWxlbmFtZTogXCJBTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5BbGwsXG4gICAgICByZXBhaXJaaXA6IHJlcGFpckZvckpzb25TdWJkaXJlY3RvcnksXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTpcbiAgICAgICAgXCJIaXN0b3JpcXVlIGRlIHRvdXMgbGVzIGFjdGV1cnMgZXQgb3JnYW5lcyBkZXB1aXMgbGEgWEnDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTcvYW1vL3RvdXNfYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXNfeGlfbGVnaXNsYXR1cmUvQU1PMzBfdG91c19hY3RldXJzX3RvdXNfbWFuZGF0c190b3VzX29yZ2FuZXNfaGlzdG9yaXF1ZS5qc29uLnppcFwiLFxuICAgIH0sXG4gICAgLy8ge1xuICAgIC8vICAgLy8gQU1PMzAgKFhWSSlcbiAgICAvLyAgIC8vXG4gICAgLy8gICAvLyBDZSBmaWNoaWVyIGNvbnRpZW50IHRvdXMgbGVzIGFjdGV1cnMgZXQgb3JnYW5lcy5cbiAgICAvLyAgIC8vIEMnZXN0IHVuIHN1ci1lbnNlbWJsZSBkZXMgZmljaGllcnMgQU1PMjAuXG4gICAgLy8gICBmaWxlbmFtZTogXCJBTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlLmpzb25cIixcbiAgICAvLyAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5BbGwsXG4gICAgLy8gICByZXBhaXJaaXA6IHJlcGFpckZvckpzb25TdWJkaXJlY3RvcnksXG4gICAgLy8gICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgLy8gICB0aXRsZTpcbiAgICAvLyAgICAgXCJIaXN0b3JpcXVlIGRlIHRvdXMgbGVzIGFjdGV1cnMgZXQgb3JnYW5lcyBkZXB1aXMgbGEgWEnDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgIC8vICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTYvYW1vL3RvdXNfYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXNfeGlfbGVnaXNsYXR1cmUvQU1PMzBfdG91c19hY3RldXJzX3RvdXNfbWFuZGF0c190b3VzX29yZ2FuZXNfaGlzdG9yaXF1ZS5qc29uLnppcFwiLFxuICAgIC8vIH0sXG4gICAgLy8ge1xuICAgIC8vICAgLy8gQU1PMzAgKFhWKVxuICAgIC8vICAgLy9cbiAgICAvLyAgIC8vIENlIGZpY2hpZXIgY29udGllbnQgdG91cyBsZXMgYWN0ZXVycyBldCBvcmdhbmVzLlxuICAgIC8vICAgLy8gQydlc3QgdW4gc3VyLWVuc2VtYmxlIGRlcyBmaWNoaWVycyBBTU8yMC5cbiAgICAvLyAgIGZpbGVuYW1lOiBcIkFNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWUuanNvblwiLFxuICAgIC8vICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLkFsbCxcbiAgICAvLyAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgIC8vICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAvLyAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgIC8vICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgIC8vICAgICB9XG4gICAgLy8gICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAvLyAgIH0sXG4gICAgLy8gICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgLy8gICB0aXRsZTpcbiAgICAvLyAgICAgXCJIaXN0b3JpcXVlIGRlIHRvdXMgbGVzIGFjdGV1cnMgZXQgb3JnYW5lcyBkZXB1aXMgbGEgWEnDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgIC8vICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTUvYW1vL3RvdXNfYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXNfeGlfbGVnaXNsYXR1cmUvQU1PMzBfdG91c19hY3RldXJzX3RvdXNfbWFuZGF0c190b3VzX29yZ2FuZXNfaGlzdG9yaXF1ZS5qc29uLnppcFwiLFxuICAgIC8vIH0sXG4gICAge1xuICAgICAgLy8gQU1PNDAgKFhWSUkpXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgbGVzIGTDqXB1dMOpcyBhY3RpZnMgKGxlcyBtw6ptZXMgcXUnQU1PMjApXG4gICAgICAvLyAqIGF2ZWMgcHJlc3F1ZSB0b3VzIGxldXJzIG1hbmRhdHNcbiAgICAgIC8vICogeSBjb21wcmlzIGxlcyBtYW5kYXRzIGFjaGV2w6lzIGV0IGNldXggZGVzIGzDqWdpc2xhdHVyZXMgcHLDqWPDqWRlbnRlc1xuICAgICAgLy8gKiB5IGNvbXByaXMgbGV1cnMgcGFydGlzIHBvbGl0aXF1ZXMgcHLDqWPDqWRlbnRzXG4gICAgICAvLyAqIG1haXMgc2FucyBsZXVyIHBhcnRpIHBvbGl0aXF1ZSBhY3R1ZWwgKHR5cGVPcmdhbmU6IFwiUEFSUE9MXCIpXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgYmVhdWNvdXAgZCdvcmdhbmVzIHLDqWbDqXJlbmPDqXMsIHkgY29tcHJpcyBjZXV4IGRlcyBsw6lnaXNsYXR1cmVzXG4gICAgICAvLyBwcsOpY8OpZGVudGVzXG4gICAgICAvLyAqIG1haXMgaWwgbWFucXVlIGxlIHhzaVR5cGUgZGVzIG9yZ2FuZXNcbiAgICAgIC8vICogbmUgY29udGllbnQgcGFzIGxlcyBvcmdhbmVzIHPDqW5hdG9yaWF1eFxuICAgICAgLy8gKiBuZSBjb250aWVudCBwYXMgbGVzIG1pbmlzdMOocmVzXG4gICAgICAvLyAqIG5lIGNvbnRpZW50IHBhcyBsYSBQcsOpc2lkZW5jZSBkZSBsYSBSw6lwdWJsaXF1ZVxuICAgICAgLy8gKiBuZSBjb250aWVudCBwYXMgbGUgQ29uc2VpbCBjb25zdGl0dXRpb25uZWxcbiAgICAgIC8vXG4gICAgICAvLyBQb3VyIGxlcyBhY3RldXJzLCBjZSBkw6lww7R0IGVzdCB1biBzb3VzLWVuc2VtYmxlIHN0cmljdCBkZSBBTU8zMCA6XG4gICAgICAvLyBJbCBhIG1vaW5zIGQnYWN0ZXVycyBldCBpbCBzb250IG1vaW5zIGNvbXBsZXRzLlxuICAgICAgLy9cbiAgICAgIC8vIFBvdXIgbGVzIG9yZ2FuZXMgOlxuICAgICAgLy8gUXVhbmQgbCdvcmdhbmUgZXN0IGF1c3NpIHByw6lzZW50IGRhbnMgQU1PMzAsIGlsIHZhdXQgbWlldXggcHJlbmRyZSBjZWx1aVxuICAgICAgLy8gZCdBTU8zMCwgY2FyIGlsIGNvbnRpZW50IGxlIHhzaVR5cGUgKGMnZXN0IGxhIHNldWxlIGRpZmbDqXJlbmNlIHNlbWJsZS10LWkpLlxuICAgICAgLy8gU2lub24sIGlsIGZhdXQgbGUgcHJlbmRyZSBzZXVsZW1lbnQgc2kgb24gZXN0IGludMOpcmVzc8OpIHBhciBsZXMgbMOpZ2lzbGF0dXJlc1xuICAgICAgLy8gcHLDqWPDqWRlbnRlcy5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzQwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfZGl2aXNlc19YVklJLmpzb25cIixcbiAgICAgIGlnbm9yZUZvcldlYjogdHJ1ZSxcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5EaXhTZXB0LFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubWtkaXJTeW5jKHRhcmdldERpcilcbiAgICAgICAgaWYgKGZzLnBhdGhFeGlzdHNTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImFjdGV1clwiKSkpIHtcbiAgICAgICAgICAvLyBOb3RlOyBMZSByw6lwZXJ0b2lyZSBhY3RldXIgcGV1dCBkaXNwYXJhw650cmUgZW4gZmluIGRlIGzDqWdpc2xhdHVyZVxuICAgICAgICAgIC8vIHF1YW5kIGxlcyBtYW5kYXRzIGRlcyBkw6lwdXTDqXMgcydpbnRlcnJvbXBlbnQuXG4gICAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJhY3RldXJcIiksXG4gICAgICAgICAgICBwYXRoLmpvaW4odGFyZ2V0RGlyLCBcImFjdGV1clwiKSxcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwib3JnYW5lXCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwib3JnYW5lXCIpLFxuICAgICAgICApXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiRMOpcHV0w6lzIGFjdGlmcyBldCBvcmdhbmVzIGRlIGxhIFhWSUnDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTcvYW1vL2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfZGl2aXNlcy9BTU80MF9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzX2RpdmlzZXMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzQwIChYVkkpXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgbGVzIGTDqXB1dMOpcyBhY3RpZnMgKGxlcyBtw6ptZXMgcXUnQU1PMjApXG4gICAgICAvLyAqIGF2ZWMgcHJlc3F1ZSB0b3VzIGxldXJzIG1hbmRhdHNcbiAgICAgIC8vICogeSBjb21wcmlzIGxlcyBtYW5kYXRzIGFjaGV2w6lzIGV0IGNldXggZGVzIGzDqWdpc2xhdHVyZXMgcHLDqWPDqWRlbnRlc1xuICAgICAgLy8gKiB5IGNvbXByaXMgbGV1cnMgcGFydGlzIHBvbGl0aXF1ZXMgcHLDqWPDqWRlbnRzXG4gICAgICAvLyAqIG1haXMgc2FucyBsZXVyIHBhcnRpIHBvbGl0aXF1ZSBhY3R1ZWwgKHR5cGVPcmdhbmU6IFwiUEFSUE9MXCIpXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgYmVhdWNvdXAgZCdvcmdhbmVzIHLDqWbDqXJlbmPDqXMsIHkgY29tcHJpcyBjZXV4IGRlcyBsw6lnaXNsYXR1cmVzXG4gICAgICAvLyBwcsOpY8OpZGVudGVzXG4gICAgICAvLyAqIG1haXMgaWwgbWFucXVlIGxlIHhzaVR5cGUgZGVzIG9yZ2FuZXNcbiAgICAgIC8vICogbmUgY29udGllbnQgcGFzIGxlcyBvcmdhbmVzIHPDqW5hdG9yaWF1eFxuICAgICAgLy8gKiBuZSBjb250aWVudCBwYXMgbGVzIG1pbmlzdMOocmVzXG4gICAgICAvLyAqIG5lIGNvbnRpZW50IHBhcyBsYSBQcsOpc2lkZW5jZSBkZSBsYSBSw6lwdWJsaXF1ZVxuICAgICAgLy8gKiBuZSBjb250aWVudCBwYXMgbGUgQ29uc2VpbCBjb25zdGl0dXRpb25uZWxcbiAgICAgIC8vXG4gICAgICAvLyBQb3VyIGxlcyBhY3RldXJzLCBjZSBkw6lww7R0IGVzdCB1biBzb3VzLWVuc2VtYmxlIHN0cmljdCBkZSBBTU8zMCA6XG4gICAgICAvLyBJbCBhIG1vaW5zIGQnYWN0ZXVycyBldCBpbCBzb250IG1vaW5zIGNvbXBsZXRzLlxuICAgICAgLy9cbiAgICAgIC8vIFBvdXIgbGVzIG9yZ2FuZXMgOlxuICAgICAgLy8gUXVhbmQgbCdvcmdhbmUgZXN0IGF1c3NpIHByw6lzZW50IGRhbnMgQU1PMzAsIGlsIHZhdXQgbWlldXggcHJlbmRyZSBjZWx1aVxuICAgICAgLy8gZCdBTU8zMCwgY2FyIGlsIGNvbnRpZW50IGxlIHhzaVR5cGUgKGMnZXN0IGxhIHNldWxlIGRpZmbDqXJlbmNlIHNlbWJsZS10LWkpLlxuICAgICAgLy8gU2lub24sIGlsIGZhdXQgbGUgcHJlbmRyZSBzZXVsZW1lbnQgc2kgb24gZXN0IGludMOpcmVzc8OpIHBhciBsZXMgbMOpZ2lzbGF0dXJlc1xuICAgICAgLy8gcHLDqWPDqWRlbnRlcy5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzQwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfZGl2aXNlc19YVkkuanNvblwiLFxuICAgICAgaWdub3JlRm9yV2ViOiB0cnVlLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlNlaXplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubWtkaXJTeW5jKHRhcmdldERpcilcbiAgICAgICAgaWYgKGZzLnBhdGhFeGlzdHNTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImFjdGV1clwiKSkpIHtcbiAgICAgICAgICAvLyBOb3RlOyBMZSByw6lwZXJ0b2lyZSBhY3RldXIgcGV1dCBkaXNwYXJhw650cmUgZW4gZmluIGRlIGzDqWdpc2xhdHVyZVxuICAgICAgICAgIC8vIHF1YW5kIGxlcyBtYW5kYXRzIGRlcyBkw6lwdXTDqXMgcydpbnRlcnJvbXBlbnQuXG4gICAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJhY3RldXJcIiksXG4gICAgICAgICAgICBwYXRoLmpvaW4odGFyZ2V0RGlyLCBcImFjdGV1clwiKSxcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwib3JnYW5lXCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwib3JnYW5lXCIpLFxuICAgICAgICApXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiRMOpcHV0w6lzIGFjdGlmcyBldCBvcmdhbmVzIGRlIGxhIFhWScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNi9hbW8vZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lc19kaXZpc2VzL0FNTzQwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfZGl2aXNlcy5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgLy8gQU1PNDAgKFhWKVxuICAgICAgLy9cbiAgICAgIC8vIENvbnRpZW50IGxlcyBkw6lwdXTDqXMgYWN0aWZzIChsZXMgbcOqbWVzIHF1J0FNTzIwKVxuICAgICAgLy8gKiBhdmVjIHByZXNxdWUgdG91cyBsZXVycyBtYW5kYXRzXG4gICAgICAvLyAqIHkgY29tcHJpcyBsZXMgbWFuZGF0cyBhY2hldsOpcyBldCBjZXV4IGRlcyBsw6lnaXNsYXR1cmVzIHByw6ljw6lkZW50ZXNcbiAgICAgIC8vICogeSBjb21wcmlzIGxldXJzIHBhcnRpcyBwb2xpdGlxdWVzIHByw6ljw6lkZW50c1xuICAgICAgLy8gKiBtYWlzIHNhbnMgbGV1ciBwYXJ0aSBwb2xpdGlxdWUgYWN0dWVsICh0eXBlT3JnYW5lOiBcIlBBUlBPTFwiKVxuICAgICAgLy9cbiAgICAgIC8vIENvbnRpZW50IGJlYXVjb3VwIGQnb3JnYW5lcyByw6lmw6lyZW5jw6lzLCB5IGNvbXByaXMgY2V1eCBkZXMgbMOpZ2lzbGF0dXJlc1xuICAgICAgLy8gcHLDqWPDqWRlbnRlc1xuICAgICAgLy8gKiBtYWlzIGlsIG1hbnF1ZSBsZSB4c2lUeXBlIGRlcyBvcmdhbmVzXG4gICAgICAvLyAqIG5lIGNvbnRpZW50IHBhcyBsZXMgb3JnYW5lcyBzw6luYXRvcmlhdXhcbiAgICAgIC8vICogbmUgY29udGllbnQgcGFzIGxlcyBtaW5pc3TDqHJlc1xuICAgICAgLy8gKiBuZSBjb250aWVudCBwYXMgbGEgUHLDqXNpZGVuY2UgZGUgbGEgUsOpcHVibGlxdWVcbiAgICAgIC8vICogbmUgY29udGllbnQgcGFzIGxlIENvbnNlaWwgY29uc3RpdHV0aW9ubmVsXG4gICAgICAvL1xuICAgICAgLy8gUG91ciBsZXMgYWN0ZXVycywgY2UgZMOpcMO0dCBlc3QgdW4gc291cy1lbnNlbWJsZSBzdHJpY3QgZGUgQU1PMzAgOlxuICAgICAgLy8gSWwgYSBtb2lucyBkJ2FjdGV1cnMgZXQgaWwgc29udCBtb2lucyBjb21wbGV0cy5cbiAgICAgIC8vXG4gICAgICAvLyBQb3VyIGxlcyBvcmdhbmVzIDpcbiAgICAgIC8vIFF1YW5kIGwnb3JnYW5lIGVzdCBhdXNzaSBwcsOpc2VudCBkYW5zIEFNTzMwLCBpbCB2YXV0IG1pZXV4IHByZW5kcmUgY2VsdWlcbiAgICAgIC8vIGQnQU1PMzAsIGNhciBpbCBjb250aWVudCBsZSB4c2lUeXBlIChjJ2VzdCBsYSBzZXVsZSBkaWZmw6lyZW5jZSBzZW1ibGUtdC1pKS5cbiAgICAgIC8vIFNpbm9uLCBpbCBmYXV0IGxlIHByZW5kcmUgc2V1bGVtZW50IHNpIG9uIGVzdCBpbnTDqXJlc3PDqSBwYXIgbGVzIGzDqWdpc2xhdHVyZXNcbiAgICAgIC8vIHByw6ljw6lkZW50ZXMuXG4gICAgICBmaWxlbmFtZTogXCJBTU80MF9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzX2RpdmlzZXNfWFYuanNvblwiLFxuICAgICAgaWdub3JlRm9yV2ViOiB0cnVlLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1aW56ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1rZGlyU3luYyh0YXJnZXREaXIpXG4gICAgICAgIGZzLm1vdmVTeW5jKFxuICAgICAgICAgIHBhdGguam9pbihkYXRhRGlyLCBcImFjdGV1clwiKSxcbiAgICAgICAgICBwYXRoLmpvaW4odGFyZ2V0RGlyLCBcImFjdGV1clwiKSxcbiAgICAgICAgKVxuICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJvcmdhbmVcIiksXG4gICAgICAgICAgcGF0aC5qb2luKHRhcmdldERpciwgXCJvcmdhbmVcIiksXG4gICAgICAgIClcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJEw6lwdXTDqXMgYWN0aWZzIGV0IG9yZ2FuZXMgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTUvYW1vL2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfZGl2aXNlcy9BTU80MF9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzX2RpdmlzZXNfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzUwIChYVklJKVxuICAgICAgLy9cbiAgICAgIC8vIEF0dGVudGlvbiwgY2UgZmljaGllciBuJ2VzdCBwYXMgbWlzIMOgIGpvdXIgcsOpZ3VsacOocmVtZW50ICFcbiAgICAgIC8vXG4gICAgICAvLyBQb3VyIGxlcyBhY3RldXJzIDpcbiAgICAgIC8vICogYydlc3QgdW4gc291cyBlbnNlbWJsZSBvYnNvbMOodGUgZCdBTU8zMFxuICAgICAgLy8gKiBpbCBtYW5xdWUgbGVzIHhzaVR5cGUgYXV4IG1hbmRhdHNcbiAgICAgIC8vXG4gICAgICAvLyBQb3VyIGxlcyBvcmdhbmVzIDpcbiAgICAgIC8vICogYydlc3QgdW4gc291cyBlbnNlbWJsZSBvYnNvbMOodGUgZCdBTU8zMFxuICAgICAgLy8gKiBpbCBtYW5xdWUgbGVzIHhzaVR5cGVcbiAgICAgIC8vXG4gICAgICAvLyBDZSBmaWNoaWVyIG4nYXBwb3J0ZSBkb25jIGFic29sdW1lbnQgcmllbiBwYXIgcmFwcG9ydCDDoCBsJ0FNTzMwLFxuICAgICAgLy8gZG9udCBpbCBlc3QgdW4gc291cyBlbnNlbWJsZSBvYnNvbMOodGUuXG4gICAgICBmaWxlbmFtZTogXCJBTU81MF9hY3RldXJzX21hbmRhdHNfb3JnYW5lc19kaXZpc2VzX1hWSUkuanNvblwiLFxuICAgICAgaWdub3JlRm9yV2ViOiB0cnVlLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLkRpeFNlcHQsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5ta2RpclN5bmModGFyZ2V0RGlyKVxuICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJtYW5kYXRcIiksXG4gICAgICAgICAgcGF0aC5qb2luKHRhcmdldERpciwgXCJtYW5kYXRcIiksXG4gICAgICAgIClcbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICApXG4gICAgICAgIGZzLm1vdmVTeW5jKFxuICAgICAgICAgIHBhdGguam9pbihkYXRhRGlyLCBcIm9yZ2FuZVwiKSxcbiAgICAgICAgICBwYXRoLmpvaW4odGFyZ2V0RGlyLCBcIm9yZ2FuZVwiKSxcbiAgICAgICAgKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOlxuICAgICAgICBcIkFjdGV1cnMsIG1hbmRhdHMgZXQgb3JnYW5lcyBkZSBsYSBYVklJw6htZSBsw6lnaXNsYXR1cmUgKGZpY2hpZXJzIHPDqXBhcsOpcywgeSBjb21wcmlzIG1hbmRhdHMpXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNy9hbW8vYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXNfZGl2aXNlcy9BTU81MF9hY3RldXJzX21hbmRhdHNfb3JnYW5lc19kaXZpc2VzLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICAvLyBBTU81MCAoWFZJKVxuICAgICAgLy9cbiAgICAgIC8vIEF0dGVudGlvbiwgY2UgZmljaGllciBuJ2VzdCBwYXMgbWlzIMOgIGpvdXIgcsOpZ3VsacOocmVtZW50ICFcbiAgICAgIC8vXG4gICAgICAvLyBQb3VyIGxlcyBhY3RldXJzIDpcbiAgICAgIC8vICogYydlc3QgdW4gc291cyBlbnNlbWJsZSBvYnNvbMOodGUgZCdBTU8zMFxuICAgICAgLy8gKiBpbCBtYW5xdWUgbGVzIHhzaVR5cGUgYXV4IG1hbmRhdHNcbiAgICAgIC8vXG4gICAgICAvLyBQb3VyIGxlcyBvcmdhbmVzIDpcbiAgICAgIC8vICogYydlc3QgdW4gc291cyBlbnNlbWJsZSBvYnNvbMOodGUgZCdBTU8zMFxuICAgICAgLy8gKiBpbCBtYW5xdWUgbGVzIHhzaVR5cGVcbiAgICAgIC8vXG4gICAgICAvLyBDZSBmaWNoaWVyIG4nYXBwb3J0ZSBkb25jIGFic29sdW1lbnQgcmllbiBwYXIgcmFwcG9ydCDDoCBsJ0FNTzMwLFxuICAgICAgLy8gZG9udCBpbCBlc3QgdW4gc291cyBlbnNlbWJsZSBvYnNvbMOodGUuXG4gICAgICBmaWxlbmFtZTogXCJBTU81MF9hY3RldXJzX21hbmRhdHNfb3JnYW5lc19kaXZpc2VzX1hWSS5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuU2VpemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5ta2RpclN5bmModGFyZ2V0RGlyKVxuICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJtYW5kYXRcIiksXG4gICAgICAgICAgcGF0aC5qb2luKHRhcmdldERpciwgXCJtYW5kYXRcIiksXG4gICAgICAgIClcbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICApXG4gICAgICAgIGZzLm1vdmVTeW5jKFxuICAgICAgICAgIHBhdGguam9pbihkYXRhRGlyLCBcIm9yZ2FuZVwiKSxcbiAgICAgICAgICBwYXRoLmpvaW4odGFyZ2V0RGlyLCBcIm9yZ2FuZVwiKSxcbiAgICAgICAgKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOlxuICAgICAgICBcIkFjdGV1cnMsIG1hbmRhdHMgZXQgb3JnYW5lcyBkZSBsYSBYVknDqG1lIGzDqWdpc2xhdHVyZSAoZmljaGllcnMgc8OpcGFyw6lzLCB5IGNvbXByaXMgbWFuZGF0cylcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L2Ftby9hY3RldXJzX21hbmRhdHNfb3JnYW5lc19kaXZpc2VzL0FNTzUwX2FjdGV1cnNfbWFuZGF0c19vcmdhbmVzX2RpdmlzZXMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzUwIChYVilcbiAgICAgIC8vXG4gICAgICAvLyBBdHRlbnRpb24sIGNlIGZpY2hpZXIgbidlc3QgcGFzIG1pcyDDoCBqb3VyIHLDqWd1bGnDqHJlbWVudCAhXG4gICAgICAvL1xuICAgICAgLy8gUG91ciBsZXMgYWN0ZXVycyA6XG4gICAgICAvLyAqIGMnZXN0IHVuIHNvdXMgZW5zZW1ibGUgb2Jzb2zDqHRlIGQnQU1PMzBcbiAgICAgIC8vICogaWwgbWFucXVlIGxlcyB4c2lUeXBlIGF1eCBtYW5kYXRzXG4gICAgICAvL1xuICAgICAgLy8gUG91ciBsZXMgb3JnYW5lcyA6XG4gICAgICAvLyAqIGMnZXN0IHVuIHNvdXMgZW5zZW1ibGUgb2Jzb2zDqHRlIGQnQU1PMzBcbiAgICAgIC8vICogaWwgbWFucXVlIGxlcyB4c2lUeXBlXG4gICAgICAvL1xuICAgICAgLy8gQ2UgZmljaGllciBuJ2FwcG9ydGUgZG9uYyBhYnNvbHVtZW50IHJpZW4gcGFyIHJhcHBvcnQgw6AgbCdBTU8zMCxcbiAgICAgIC8vIGRvbnQgaWwgZXN0IHVuIHNvdXMgZW5zZW1ibGUgb2Jzb2zDqHRlLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PNTBfYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXNfZGl2aXNlc19YVi5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVpbnplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubWtkaXJTeW5jKHRhcmdldERpcilcbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwibWFuZGF0XCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwibWFuZGF0XCIpLFxuICAgICAgICApXG4gICAgICAgIGZzLm1vdmVTeW5jKFxuICAgICAgICAgIHBhdGguam9pbihkYXRhRGlyLCBcImFjdGV1clwiKSxcbiAgICAgICAgICBwYXRoLmpvaW4odGFyZ2V0RGlyLCBcImFjdGV1clwiKSxcbiAgICAgICAgKVxuICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJvcmdhbmVcIiksXG4gICAgICAgICAgcGF0aC5qb2luKHRhcmdldERpciwgXCJvcmdhbmVcIiksXG4gICAgICAgIClcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTpcbiAgICAgICAgXCJBY3RldXJzLCBtYW5kYXRzIGV0IG9yZ2FuZXMgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZSAoZmljaGllcnMgc8OpcGFyw6lzLCB5IGNvbXByaXMgbWFuZGF0cylcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE1L2Ftby9hY3RldXJzX21hbmRhdHNfb3JnYW5lc19kaXZpc2VzL0FNTzUwX2FjdGV1cnNfbWFuZGF0c19vcmdhbmVzX2RpdmlzZXNfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICBdLFxuICBhZ2VuZGFzOiBbXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiQWdlbmRhX1hWSUkuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLkRpeFNlcHQsXG4gICAgICByZXBhaXJaaXA6IHJlcGFpckZvckpzb25TdWJkaXJlY3RvcnksXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJBZ2VuZGEgZGUgbGEgWFZJScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNy92cC9yZXVuaW9ucy9BZ2VuZGEuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIkFnZW5kYV9YVkkuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlNlaXplLFxuICAgICAgcmVwYWlyWmlwOiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiQWdlbmRhIGRlIGxhIFhWScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNi92cC9yZXVuaW9ucy9BZ2VuZGEuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIkFnZW5kYV9YVi5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVpbnplLFxuICAgICAgcmVwYWlyWmlwOiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiQWdlbmRhIGRlIGxhIFhWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE1L3ZwL3JldW5pb25zL0FnZW5kYV9YVi5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiQWdlbmRhX1hJVi5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVhdG9yemUsXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2luZ2xlRmlsZSxcbiAgICAgIHRpdGxlOiBcIkFnZW5kYSBkZSBsYSBYSVbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTQvdnAvcmV1bmlvbnMvQWdlbmRhX1hJVi5qc29uLnppcFwiLFxuICAgIH0sXG4gIF0sXG4gIGFtZW5kZW1lbnRzOiBbXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiQW1lbmRlbWVudHNfWFZJSS5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuRGl4U2VwdCxcbiAgICAgIHJlcGFpclppcDogcmVwYWlyRm9ySnNvblN1YmRpcmVjdG9yeSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkFtZW5kZW1lbnRzIGRlIGxhIFhWSUnDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTcvbG9pL2FtZW5kZW1lbnRzX2Rpdl9sZWdpcy9BbWVuZGVtZW50cy5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiQW1lbmRlbWVudHNfWFZJLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogcmVwYWlyRm9ySnNvblN1YmRpcmVjdG9yeSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkFtZW5kZW1lbnRzIGRlIGxhIFhWScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNi9sb2kvYW1lbmRlbWVudHNfZGl2X2xlZ2lzL0FtZW5kZW1lbnRzLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJBbWVuZGVtZW50c19YVi5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVpbnplLFxuICAgICAgcmVwYWlyWmlwOiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiQW1lbmRlbWVudHMgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTUvbG9pL2FtZW5kZW1lbnRzX2xlZ2lzL0FtZW5kZW1lbnRzX1hWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICAvLyB7XG4gICAgLy8gICBmaWxlbmFtZTogXCJBbWVuZGVtZW50c19YSVYuanNvblwiLFxuICAgIC8vICAgaWdub3JlRm9yV2ViOiB0cnVlLFxuICAgIC8vICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1YXRvcnplLFxuICAgIC8vICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNpbmdsZUZpbGUsXG4gICAgLy8gICB0aXRsZTogXCJBbWVuZGVtZW50cyBkZSBsYSBYSVbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgIC8vICAgdXJsOlxuICAgIC8vICAgICBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTQvbG9pL2FtZW5kZW1lbnRzX2xlZ2lzX1hJVi9BbWVuZGVtZW50c19YSVYuanNvbi56aXBcIixcbiAgICAvLyB9LFxuICBdLFxuICBkb3NzaWVyc0xlZ2lzbGF0aWZzOiBbXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiRG9zc2llcnNfTGVnaXNsYXRpZnNfWFZJSS5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuRGl4U2VwdCxcbiAgICAgIHJlcGFpclppcDogcmVwYWlyRm9ySnNvblN1YmRpcmVjdG9yeSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkRvc3NpZXJzIGzDqWdpc2xhdGlmcyBkZSBsYSBYVklJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE3L2xvaS9kb3NzaWVyc19sZWdpc2xhdGlmcy9Eb3NzaWVyc19MZWdpc2xhdGlmcy5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiRG9zc2llcnNfTGVnaXNsYXRpZnNfWFZJLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogcmVwYWlyRm9ySnNvblN1YmRpcmVjdG9yeSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkRvc3NpZXJzIGzDqWdpc2xhdGlmcyBkZSBsYSBYVknDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTYvbG9pL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzL0Rvc3NpZXJzX0xlZ2lzbGF0aWZzLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJEb3NzaWVyc19MZWdpc2xhdGlmc19YVi5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVpbnplLFxuICAgICAgcmVwYWlyWmlwOiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiRG9zc2llcnMgbMOpZ2lzbGF0aWZzIGRlIGxhIFhWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE1L2xvaS9kb3NzaWVyc19sZWdpc2xhdGlmcy9Eb3NzaWVyc19MZWdpc2xhdGlmc19YVi5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiRG9zc2llcnNfTGVnaXNsYXRpZnNfWElWLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWF0b3J6ZSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TaW5nbGVGaWxlLFxuICAgICAgdGl0bGU6IFwiRG9zc2llcnMgbMOpZ2lzbGF0aWZzIGRlIGxhIFhJVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNC9sb2kvZG9zc2llcnNfbGVnaXNsYXRpZnMvRG9zc2llcnNfTGVnaXNsYXRpZnNfWElWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgXSxcbiAgc2NydXRpbnM6IFtcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJTY3J1dGluc19YVklJLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5EaXhTZXB0LFxuICAgICAgcmVwYWlyWmlwOiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiU2NydXRpbnMgZGUgbGEgWFZJScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNy9sb2kvc2NydXRpbnMvU2NydXRpbnMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIlNjcnV0aW5zX1hWSS5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuU2VpemUsXG4gICAgICByZXBhaXJaaXA6IHJlcGFpckZvckpzb25TdWJkaXJlY3RvcnksXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJTY3J1dGlucyBkZSBsYSBYVknDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTYvbG9pL3NjcnV0aW5zL1NjcnV0aW5zLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJTY3J1dGluc19YVi5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVpbnplLFxuICAgICAgcmVwYWlyWmlwOiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiU2NydXRpbnMgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTUvbG9pL3NjcnV0aW5zL1NjcnV0aW5zX1hWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJTY3J1dGluc19YSVYuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1YXRvcnplLFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNpbmdsZUZpbGUsXG4gICAgICB0aXRsZTogXCJTY3J1dGlucyBkZSBsYSBYSVbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTQvbG9pL3NjcnV0aW5zL1NjcnV0aW5zX1hJVi5qc29uLnppcFwiLFxuICAgIH0sXG4gIF0sXG4gIHF1ZXN0aW9uczogW1xuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIlF1ZXN0aW9uc19lY3JpdGVzX1hWSUkuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLkRpeFNlcHQsXG4gICAgICByZXBhaXJaaXA6IHJlcGFpckZvckpzb25TdWJkaXJlY3RvcnksXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJRdWVzdGlvbnMgw6ljcml0ZXMgZGUgbGEgWFZJScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNy9xdWVzdGlvbnMvcXVlc3Rpb25zX2Vjcml0ZXMvUXVlc3Rpb25zX2Vjcml0ZXMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIlF1ZXN0aW9uc19lY3JpdGVzX1hWSS5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuU2VpemUsXG4gICAgICByZXBhaXJaaXA6IHJlcGFpckZvckpzb25TdWJkaXJlY3RvcnksXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJRdWVzdGlvbnMgw6ljcml0ZXMgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L3F1ZXN0aW9ucy9xdWVzdGlvbnNfZWNyaXRlcy9RdWVzdGlvbnNfZWNyaXRlcy5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiUXVlc3Rpb25zX2dvdXZlcm5lbWVudF9YVklJLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5EaXhTZXB0LFxuICAgICAgcmVwYWlyWmlwOiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiUXVlc3Rpb25zIGF1IGdvdXZlcm5lbWVudCBkZSBsYSBYVklJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE3L3F1ZXN0aW9ucy9xdWVzdGlvbnNfZ291dmVybmVtZW50L1F1ZXN0aW9uc19nb3V2ZXJuZW1lbnQuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIlF1ZXN0aW9uc19nb3V2ZXJuZW1lbnRfWFZJLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogcmVwYWlyRm9ySnNvblN1YmRpcmVjdG9yeSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIlF1ZXN0aW9ucyBhdSBnb3V2ZXJuZW1lbnQgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L3F1ZXN0aW9ucy9xdWVzdGlvbnNfZ291dmVybmVtZW50L1F1ZXN0aW9uc19nb3V2ZXJuZW1lbnQuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIlF1ZXN0aW9uc19vcmFsZXNfWFZJSS5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuRGl4U2VwdCxcbiAgICAgIHJlcGFpclppcDogcmVwYWlyRm9ySnNvblN1YmRpcmVjdG9yeSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIlF1ZXN0aW9ucyBvcmFsZXMgc2FucyBkw6liYXRzIGRlIGxhIFhWSUnDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTcvcXVlc3Rpb25zL3F1ZXN0aW9uc19vcmFsZXNfc2Fuc19kZWJhdC9RdWVzdGlvbnNfb3JhbGVzX3NhbnNfZGViYXQuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIlF1ZXN0aW9uc19vcmFsZXNfWFZJLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogcmVwYWlyRm9ySnNvblN1YmRpcmVjdG9yeSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIlF1ZXN0aW9ucyBvcmFsZXMgc2FucyBkw6liYXRzIGRlIGxhIFhWScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNi9xdWVzdGlvbnMvcXVlc3Rpb25zX29yYWxlc19zYW5zX2RlYmF0L1F1ZXN0aW9uc19vcmFsZXNfc2Fuc19kZWJhdC5qc29uLnppcFwiLFxuICAgIH0sXG4gIF0sXG4gIGNvbXB0ZXNSZW5kdXNTZWFuY2VzOiBbXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiQ29tcHRlc19SZW5kdXNfU2VhbmNlc19YVklJLnhtbFwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLkRpeFNlcHQsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJ4bWxcIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJDb21wdGVzIHJlbmR1cyBkZXMgc8OpYW5jZXMgcHVibGlxdWVzIGRlIGxhIFhWSUnDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE3L3ZwL3N5Y2Vyb25icnV0L3N5c2Vyb24ueG1sLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiQ29tcHRlc19SZW5kdXNfU2VhbmNlc19YVkkueG1sXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuU2VpemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJ4bWxcIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJDb21wdGVzIHJlbmR1cyBkZXMgc8OpYW5jZXMgcHVibGlxdWVzIGRlIGxhIFhWScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTYvdnAvc3ljZXJvbmJydXQvc3lzZXJvbi54bWwuemlwXCIsXG4gICAgfSxcbiAgXSxcbiAgdGV4dGVzTG9pOiBbXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiVGV4dGVzX0xvaV9YVklcIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogcmVwYWlyRm9ySnNvblN1YmRpcmVjdG9yeSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIlRleHRlcyBkZSBsb2kgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIGRvd25sb2FkOiBwcm9jZXNzVGV4dGVzTG9pRGF0YXNldCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIlRleHRlc19Mb2lfWFZJSVwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLkRpeFNlcHQsXG4gICAgICByZXBhaXJaaXA6IHJlcGFpckZvckpzb25TdWJkaXJlY3RvcnksXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJUZXh0ZXMgZGUgbG9pIGRlIGxhIFhWSUnDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgZG93bmxvYWQ6IHByb2Nlc3NUZXh0ZXNMb2lEYXRhc2V0LFxuICAgIH0sXG4gIF0sXG59XG5cbmNvbnN0IGRpcmVjdG9yeTJzY2hlbWE6IGFueSA9IHtcbiAgXCIuKkFnZW5kYV8uKlwiOiBcImFnZW5kYVwiLFxuICBcIi4qU2NydXRpbnNfLipcIjogXCJzY3J1dGluXCIsXG4gIFwiLipRdWVzdGlvbnNfLipcIjogXCJxdWVzdGlvblwiLFxuICBcIi4qQW1lbmRlbWVudHNfLipcIjogXCJhbWVuZGVtZW50XCIsXG4gIFwiLipEb3NzaWVyc19MZWdpc2xhdGlmc18uKi9kb2N1bWVudHNcIjogXCJkb2N1bWVudFwiLFxuICBcIi4qRG9zc2llcnNfTGVnaXNsYXRpZnNfLiovZG9zc2llcnNcIjogXCJkb3NzaWVyXCIsXG4gIFwiLiphY3RldXJzX21hbmRhdHNfb3JnYW5lcy9vcmdhbmVzXCI6IFwib3JnYW5lXCIsXG4gIFwiLiphY3RldXJzX21hbmRhdHNfb3JnYW5lcy9hY3RldXJzXCI6IFwiYWN0ZXVyXCIsXG4gIFwiLipBTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlLiovb3JnYW5lc1wiOlxuICAgIFwib3JnYW5lXCIsXG4gIFwiLipBTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlLiovYWN0ZXVyc1wiOlxuICAgIFwiYWN0ZXVyXCIsXG4gIFwiLipDb21wdGVzX1JlbmR1c19TZWFuY2VzXy4qXCI6IFwiZGViYXRcIixcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERhdGFzZXRzKCk6IGFueSB7XG4gIHJldHVybiBbXG4gICAgXCJBZ2VuZGFfWElWXCIsXG4gICAgXCJBZ2VuZGFfWFZcIixcbiAgICBcIkFnZW5kYV9YVklcIixcbiAgICBcIkFnZW5kYV9YVklJXCIsXG4gICAgXCJTY3J1dGluc19YSVZcIixcbiAgICBcIlNjcnV0aW5zX1hWXCIsXG4gICAgXCJTY3J1dGluc19YVklcIixcbiAgICBcIlNjcnV0aW5zX1hWSUlcIixcbiAgICBcIlF1ZXN0aW9uc19FY3JpdGVzX1hWSVwiLFxuICAgIFwiUXVlc3Rpb25zX0Vjcml0ZXNfWFZJSVwiLFxuICAgIFwiUXVlc3Rpb25zX0dvdXZlcm5lbWVudF9YVklcIixcbiAgICBcIlF1ZXN0aW9uc19Hb3V2ZXJuZW1lbnRfWFZJSVwiLFxuICAgIFwiQW1lbmRlbWVudHNfWElWXCIsXG4gICAgXCJBbWVuZGVtZW50c19YVlwiLFxuICAgIFwiQW1lbmRlbWVudHNfWFZJXCIsXG4gICAgXCJBbWVuZGVtZW50c19YVklJXCIsXG4gICAgXCJEb3NzaWVyc19MZWdpc2xhdGlmc19YSVZcIixcbiAgICBcIkRvc3NpZXJzX0xlZ2lzbGF0aWZzX1hWXCIsXG4gICAgXCJEb3NzaWVyc19MZWdpc2xhdGlmc19YVklcIixcbiAgICBcIkRvc3NpZXJzX0xlZ2lzbGF0aWZzX1hWSUlcIixcbiAgICBcIkFNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWVcIixcbiAgICBcImFjdGV1cnNfbWFuZGF0c19vcmdhbmVzXCIsXG4gICAgXCJDb21wdGVzX1JlbmR1c19TZWFuY2VzX1hWSVwiLFxuICAgIFwiQ29tcHRlc19SZW5kdXNfU2VhbmNlc19YVklJXCIsXG4gIF1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkRGF0YXNldChkaXI6IGFueSk6IGFueSB7XG4gIGZvciAoY29uc3QgZGF0YXNldCBvZiBnZXREYXRhc2V0cygpKSB7XG4gICAgaWYgKGRpci5pbmNsdWRlcyhkYXRhc2V0KSkgcmV0dXJuIHRydWVcbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjaGVtYXMoKTogYW55IHtcbiAgcmV0dXJuIE9iamVjdC52YWx1ZXMoZGlyZWN0b3J5MnNjaGVtYSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGFzZXREaXJlY3RvcnlTY2hlbWEoZGF0YXNldDogc3RyaW5nKTogYW55IHtcbiAgbGV0IGRpcmVjdG9yaWVzOiBhbnlcbiAgaWYgKGRhdGFzZXQuaW5jbHVkZXMoXCJEb3NzaWVyc19MZWdpc2xhdGlmc19cIikpIHtcbiAgICBkaXJlY3RvcmllcyA9IFtgJHtkYXRhc2V0fS9kb2N1bWVudHNgLCBgJHtkYXRhc2V0fS9kb3NzaWVyc2BdXG4gIH0gZWxzZSBpZiAoXG4gICAgZGF0YXNldC5pbmNsdWRlcyhcImFjdGV1cnNfbWFuZGF0c19vcmdhbmVzXCIpIHx8XG4gICAgZGF0YXNldC5pbmNsdWRlcyhcIkFNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWVcIilcbiAgKSB7XG4gICAgZGlyZWN0b3JpZXMgPSBbYCR7ZGF0YXNldH0vb3JnYW5lc2AsIGAke2RhdGFzZXR9L2FjdGV1cnNgXVxuICB9IGVsc2Uge1xuICAgIGRpcmVjdG9yaWVzID0gW2RhdGFzZXRdXG4gIH1cblxuICBsZXQgcmVzdWx0cyA9IFtdXG4gIGZvciAoY29uc3QgZGlyZWN0b3J5IG9mIGRpcmVjdG9yaWVzKSB7XG4gICAgZm9yIChjb25zdCByZSBvZiBPYmplY3Qua2V5cyhkaXJlY3Rvcnkyc2NoZW1hKSkge1xuICAgICAgaWYgKG5ldyBSZWdFeHAocmUpLmV4ZWMoZGlyZWN0b3J5KSlcbiAgICAgICAgcmVzdWx0cy5wdXNoKFtgJHtkaXJlY3Rvcnl9LyoqLyouanNvbmAsIGRpcmVjdG9yeTJzY2hlbWFbcmVdXSlcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdHNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbGVEYXRhc2V0VXJsKGZpbGVuYW1lOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmddIHwgbnVsbCB7XG4gIGNvbnN0IHJlID0gXCJeLiovKC4qKV9uZXR0b3llLyguKilcIlxuICBjb25zdCBtYXRjaCA9IG5ldyBSZWdFeHAocmUpLmV4ZWMoZmlsZW5hbWUpXG4gIGlmIChtYXRjaCA9PSBudWxsKSByZXR1cm4gbnVsbFxuICBsZXQgW2RhdGFzZXQsIGZpbGVdID0gW21hdGNoWzFdLCBtYXRjaFsyXV1cbiAgaWYgKGRhdGFzZXQgPT0gXCJBTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlXCIpXG4gICAgZGF0YXNldCA9IFwiYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXNcIlxuICByZXR1cm4gW2RhdGFzZXQsIGZpbGVdXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkaWZmVXBzdHJlYW0oZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGRhdGFzZXRVcmwgPSBmaWxlRGF0YXNldFVybChmaWxlbmFtZSlcbiAgaWYgKGRhdGFzZXRVcmwgPT0gbnVsbCkgcmV0dXJuIGZpbGVuYW1lXG4gIGNvbnN0IFtkYXRhc2V0LCBmaWxlXSA9IGRhdGFzZXRVcmxcbiAgY29uc3Qgc3VtID0gY3JlYXRlSGFzaChcInNoYTFcIikudXBkYXRlKGZpbGUpLmRpZ2VzdChcImhleFwiKS50b1N0cmluZygpXG4gIHJldHVybiBgWyR7ZmlsZX1dKGh0dHBzOi8vZ2l0LmVuLXJvb3Qub3JnL3RyaWNvdGV1c2VzL2RhdGEudHJpY290ZXVzZXMuZnIvJHtkYXRhc2V0fS8tL2NvbXBhcmUvdXBzdHJlYW0uLi5tYXN0ZXIjJHtzdW19KWBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hc3RlclVybChmaWxlbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgZGF0YXNldFVybCA9IGZpbGVEYXRhc2V0VXJsKGZpbGVuYW1lKVxuICBpZiAoZGF0YXNldFVybCA9PSBudWxsKSByZXR1cm4gZmlsZW5hbWVcbiAgY29uc3QgW2RhdGFzZXQsIGZpbGVdID0gZGF0YXNldFVybFxuICByZXR1cm4gYFske2ZpbGV9XShodHRwczovL2dpdC5lbi1yb290Lm9yZy90cmljb3RldXNlcy9kYXRhLnRyaWNvdGV1c2VzLmZyLyR7ZGF0YXNldH0vLS90cmVlL21hc3Rlci8ke2ZpbGV9KWBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlckJ5TGVnaXNsYXR1cmUoXG4gIGRhdGFzZXRzOiBEYXRhc2V0cyxcbiAgbGVnaXNsYXR1cmU6IGFueSxcbik6IERhdGFzZXRzIHtcbiAgLy8gV2hlbiBhIGdpdmVuIGxlZ2lzbGF0dXJlIGlzIDAsIGl0IGlzIHRoZSBzYW1lIGFzIGdpdmluZyBubyBsZWdpc2xhdHVyZTpcbiAgLy8gSXQgbWVhbnMgXCJldmVyeSBsZWdpc2xhdHVyZXNcIi5cbiAgaWYgKGxlZ2lzbGF0dXJlICE9PSAwICYmIGxlZ2lzbGF0dXJlICE9PSB1bmRlZmluZWQpIHtcbiAgICBmb3IgKGxldCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZGF0YXNldHMpKSB7XG4gICAgICBkYXRhc2V0c1trZXkgYXMga2V5b2YgdHlwZW9mIGRhdGFzZXRzXSA9IHZhbHVlLmZpbHRlcihcbiAgICAgICAgKGRhdGFzZXQ6IHsgbGVnaXNsYXR1cmU6IGFueSB9KSA9PlxuICAgICAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgPT09IExlZ2lzbGF0dXJlLkFsbCB8fFxuICAgICAgICAgIGxlZ2lzbGF0dXJlID09PSBkYXRhc2V0LmxlZ2lzbGF0dXJlLFxuICAgICAgKVxuICAgIH1cbiAgfVxuICByZXR1cm4gZGF0YXNldHNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVuYWJsZWREYXRhc2V0cyhjYXRlZ29yaWVzOiBhbnkpOiBFbmFibGVkRGF0YXNldHMge1xuICBjYXRlZ29yaWVzLm1hcCgoZGF0YXNldE5hbWU6IHN0cmluZykgPT5cbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgICAoRW5hYmxlZERhdGFzZXRzIGFzIGFueSBhcyB7IFtuYW1lOiBzdHJpbmddOiBFbmFibGVkRGF0YXNldHMgfSlbXG4gICAgICAgIGRhdGFzZXROYW1lXG4gICAgICBdLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgYFVua25vd24gbmFtZSBvZiBkYXRhc2V0OiAke2RhdGFzZXROYW1lfWAsXG4gICAgKSxcbiAgKVxuXG4gIHJldHVybiBjYXRlZ29yaWVzLnJlZHVjZShcbiAgICAoZW5hYmxlZERhdGFzZXRzOiBFbmFibGVkRGF0YXNldHMsIGRhdGFzZXROYW1lOiBzdHJpbmcpOiBFbmFibGVkRGF0YXNldHMgPT5cbiAgICAgIGVuYWJsZWREYXRhc2V0cyB8XG4gICAgICAoRW5hYmxlZERhdGFzZXRzIGFzIGFueSBhcyB7IFtuYW1lOiBzdHJpbmddOiBFbmFibGVkRGF0YXNldHMgfSlbXG4gICAgICAgIGRhdGFzZXROYW1lXG4gICAgICBdLFxuICAgIEVuYWJsZWREYXRhc2V0cy5Ob25lLFxuICApXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFVBQVUsUUFBUSxRQUFRO0FBQ25DLE9BQU9DLE1BQU0sTUFBTSxRQUFRO0FBQzNCLE9BQU9DLEVBQUUsTUFBTSxVQUFVO0FBQ3pCLE9BQU9DLElBQUksTUFBTSxNQUFNO0FBQUEsU0FFZEMsV0FBVztBQUFBLFNBQ1hDLHVCQUF1QjtBQTRCaEMsV0FBWUMsZ0JBQWdCLDBCQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0IsQ0FBaEJBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCLENBQWhCQSxnQkFBZ0I7RUFBQSxPQUFoQkEsZ0JBQWdCO0FBQUE7QUFLNUIsV0FBWUMsZUFBZSwwQkFBZkEsZUFBZTtFQUFmQSxlQUFlLENBQWZBLGVBQWU7RUFBZkEsZUFBZSxDQUFmQSxlQUFlO0VBQWZBLGVBQWUsQ0FBZkEsZUFBZTtFQUFmQSxlQUFlLENBQWZBLGVBQWU7RUFBZkEsZUFBZSxDQUFmQSxlQUFlO0VBQWZBLGVBQWUsQ0FBZkEsZUFBZTtFQUFmQSxlQUFlLENBQWZBLGVBQWU7RUFBZkEsZUFBZSxDQUFmQSxlQUFlO0VBQWZBLGVBQWUsQ0FBZkEsZUFBZTtFQUFmQSxlQUFlLENBQWZBLGVBQWU7RUFBZkEsZUFBZSxDQUFmQSxlQUFlO0VBQUEsT0FBZkEsZUFBZTtBQUFB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
|
|
774
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVIYXNoIiwiYXNzZXJ0IiwiZnMiLCJwYXRoIiwiTGVnaXNsYXR1cmUiLCJwcm9jZXNzVGV4dGVzTG9pRGF0YXNldCIsIkRhdGFzZXRTdHJ1Y3R1cmUiLCJFbmFibGVkRGF0YXNldHMiLCJyZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5IiwiZGF0YXNldCIsImRhdGFEaXIiLCJ0YXJnZXREaXIiLCJqb2luIiwiZmlsZW5hbWUiLCJleGlzdHNTeW5jIiwicmVtb3ZlU3luYyIsIm1vdmVTeW5jIiwibWtkaXJTeW5jIiwiZGF0YXNldHMiLCJhY3RldXJzRXRPcmdhbmVzIiwiaWdub3JlRm9yV2ViIiwibGVnaXNsYXR1cmUiLCJEaXhTZXB0IiwicmVwYWlyWmlwIiwic3RydWN0dXJlIiwiU2VnbWVudGVkRmlsZXMiLCJ0aXRsZSIsInVybCIsIlNlaXplIiwiUXVpbnplIiwiUXVhdG9yemUiLCJTaW5nbGVGaWxlIiwiQWxsIiwicGF0aEV4aXN0c1N5bmMiLCJhZ2VuZGFzIiwiYW1lbmRlbWVudHMiLCJkb3NzaWVyc0xlZ2lzbGF0aWZzIiwic2NydXRpbnMiLCJxdWVzdGlvbnMiLCJjb21wdGVzUmVuZHVzU2VhbmNlcyIsInRleHRlc0xvaSIsImRvd25sb2FkIiwiY2xlYW4iLCJkaXJlY3Rvcnkyc2NoZW1hIiwiZ2V0RGF0YXNldHMiLCJ2YWxpZERhdGFzZXQiLCJkaXIiLCJpbmNsdWRlcyIsImdldFNjaGVtYXMiLCJPYmplY3QiLCJ2YWx1ZXMiLCJkYXRhc2V0RGlyZWN0b3J5U2NoZW1hIiwiZGlyZWN0b3JpZXMiLCJyZXN1bHRzIiwiZGlyZWN0b3J5IiwicmUiLCJrZXlzIiwiUmVnRXhwIiwiZXhlYyIsInB1c2giLCJmaWxlRGF0YXNldFVybCIsIm1hdGNoIiwiZmlsZSIsImRpZmZVcHN0cmVhbSIsImRhdGFzZXRVcmwiLCJzdW0iLCJ1cGRhdGUiLCJkaWdlc3QiLCJ0b1N0cmluZyIsIm1hc3RlclVybCIsImZpbHRlckJ5TGVnaXNsYXR1cmUiLCJ1bmRlZmluZWQiLCJrZXkiLCJ2YWx1ZSIsImVudHJpZXMiLCJmaWx0ZXIiLCJnZXRFbmFibGVkRGF0YXNldHMiLCJjYXRlZ29yaWVzIiwibWFwIiwiZGF0YXNldE5hbWUiLCJub3RTdHJpY3RFcXVhbCIsInJlZHVjZSIsImVuYWJsZWREYXRhc2V0cyIsIk5vbmUiXSwic291cmNlcyI6WyIuLi9zcmMvZGF0YXNldHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlSGFzaCB9IGZyb20gXCJjcnlwdG9cIlxuaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuXG5pbXBvcnQgeyBMZWdpc2xhdHVyZSB9IGZyb20gXCIuL3R5cGVzL2xlZ2lzbGF0dXJlc1wiXG5pbXBvcnQgeyBwcm9jZXNzVGV4dGVzTG9pRGF0YXNldCB9IGZyb20gXCIuL3NjcmlwdHMvcHJvY2Vzc190ZXh0ZXNfbG9pX2RhdGFzZXRcIlxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXQge1xuICBmaWxlbmFtZTogc3RyaW5nXG4gIGlnbm9yZUZvcldlYj86IGJvb2xlYW5cbiAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlXG4gIHJlcGFpclppcD86IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHZvaWRcbiAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlXG4gIHRpdGxlOiBzdHJpbmdcbiAgdXJsPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIGZ1bmN0aW9uIHRvIGRvd25sb2FkIHRoZSBkZXNpcmVkIGRhdGFzZXQuXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSB3aGljaCByZXNvbHZlcyBkYXRhIGRvd25sb2FkLlxuICAgKi9cbiAgZG93bmxvYWQ/OiAob3B0aW9ucz86IGFueSkgPT4gUHJvbWlzZTxudW1iZXIgfCB2b2lkPlxuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBmdW5jdGlvbiB0byBjbGVhbiB0aGUgZGVzaXJlZCBkYXRhc2V0LlxuICAgKiBAcmV0dXJucyBBIHByb21pc2Ugd2hpY2ggcmVzb2x2ZXMgZGF0YSBjbGVhbi5cbiAgICovXG4gIGNsZWFuPzogKG9wdGlvbnM/OiBhbnkpID0+IFByb21pc2U8bnVtYmVyIHwgdm9pZD5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0cyB7XG4gIGFjdGV1cnNFdE9yZ2FuZXM6IERhdGFzZXRbXVxuICBhZ2VuZGFzOiBEYXRhc2V0W11cbiAgYW1lbmRlbWVudHM6IERhdGFzZXRbXVxuICBkb3NzaWVyc0xlZ2lzbGF0aWZzOiBEYXRhc2V0W11cbiAgc2NydXRpbnM6IERhdGFzZXRbXVxuICBxdWVzdGlvbnM6IERhdGFzZXRbXVxuICBjb21wdGVzUmVuZHVzU2VhbmNlczogRGF0YXNldFtdXG4gIHRleHRlc0xvaTogRGF0YXNldFtdXG59XG5cbmV4cG9ydCBlbnVtIERhdGFzZXRTdHJ1Y3R1cmUge1xuICBTaW5nbGVGaWxlLFxuICBTZWdtZW50ZWRGaWxlcyxcbn1cblxuZXhwb3J0IGVudW0gRW5hYmxlZERhdGFzZXRzIHtcbiAgTm9uZSA9IDAsXG4gIEFjdGV1cnNFdE9yZ2FuZXMgPSAxIDw8IDAsXG4gIEFnZW5kYXMgPSAxIDw8IDEsXG4gIEFtZW5kZW1lbnRzID0gMSA8PCAyLFxuICBEb3NzaWVyc0xlZ2lzbGF0aWZzID0gMSA8PCAzLFxuICBQaG90b3MgPSAxIDw8IDQsXG4gIFNjcnV0aW5zID0gMSA8PCA1LFxuICBRdWVzdGlvbnMgPSAxIDw8IDYsXG4gIENvbXB0ZXNSZW5kdXNTZWFuY2VzID0gMSA8PCA3LFxuICBUZXh0ZXNMb2kgPSAxIDw8IDgsXG4gIEFsbCA9IEFjdGV1cnNFdE9yZ2FuZXMgfFxuICAgIEFnZW5kYXMgfFxuICAgIEFtZW5kZW1lbnRzIHxcbiAgICBEb3NzaWVyc0xlZ2lzbGF0aWZzIHxcbiAgICBQaG90b3MgfFxuICAgIFNjcnV0aW5zIHxcbiAgICBRdWVzdGlvbnMgfFxuICAgIENvbXB0ZXNSZW5kdXNTZWFuY2VzIHxcbiAgICBUZXh0ZXNMb2ksXG59XG5cbi8vIFRoZSB6aXAgZmlsZXMgKG5hbWVkIE5BTUUuanNvbi56aXApIHVzdWFsbHkgY29udGFpbiBhIHNpbmdsZSBzdWJmb2xkZXIgbmFtZWQgXCJqc29uXCJcbi8vIGNvbnRhaW5pbmcgdGhlIGFjdHVhbCBjb250ZW50c1xuLy8gV2UnZCByYXRoZXIgcmVuYW1lIHRoZSBmb2xkZXIgTkFNRS5qc29uXG5mdW5jdGlvbiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5KGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykge1xuICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICB9XG5cbiAgaWYgKGZzLmV4aXN0c1N5bmMocGF0aC5qb2luKGRhdGFEaXIsIFwianNvblwiKSkpIHtcbiAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gIH0gZWxzZSB7XG4gICAgZnMubWtkaXJTeW5jKHRhcmdldERpcilcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZGF0YXNldHM6IERhdGFzZXRzID0ge1xuICBhY3RldXJzRXRPcmdhbmVzOiBbXG4gICAge1xuICAgICAgLy8gQU1PMTAgKFhWSUkpXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgbGVzIGTDqXB1dMOpcyBhY3RpZnNcbiAgICAgIC8vICogYXZlYyB0b3VzIGxlcyBtYW5kYXRzIGVuIGNvdXJzXG4gICAgICAvLyAqIHkgY29tcHJpcyBhdmVjIGxldXIgcGFydGkgcG9saXRpcXVlICh0eXBlT3JnYW5lOiBcIlBBUlBPTFwiKVxuICAgICAgLy8gKiBtYWlzIHNhbnMgbGVzIG1hbmRhdHMgYWNoZXbDqXMgKHkgY29tcHJpcyBkYW5zIGNldHRlIGzDqWdpc2xhdHVyZSlcbiAgICAgIC8vXG4gICAgICAvLyBPcmdhbmVzIDpcbiAgICAgIC8vICogQ29udGllbnQgc2V1bGVtZW50IGxlcyBvcmdhbmVzIGNvcnJlc3BvbmRhbnRzIGF1eCBtYW5kYXRzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgbGUgeHNpVHlwZSBkZSBsJ29yZ2FuZVxuICAgICAgLy8gKiBhdmVjIGRlcyBjb21taXNzaW9ucyBzw6luYXRvcmlhbGVzIChwZXJtYW5lbnRlcyBldCBzcMOpY2lhbGVzKSBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBkw6lsw6lnYXRpb25zIHPDqW5hdG9yaWFsZXMgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgZ3JvdXBlcyBzw6luYXRvcmlhdXggZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgbWluaXN0w6hyZXMgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBsZXMgUHLDqXNpZGVuY2VzIGRlIGxhIFLDqXB1YmxpcXVlICh5IGNvbXByaXMgU2Fya296eSlcbiAgICAgIC8vICogYXZlYyBsZSBDb25zZWlsIGNvbnN0aXR1dGlvbm5lbFxuICAgICAgLy9cbiAgICAgIC8vIENlIGZpY2hpZXIgZXN0IHVuIHNvdXMtZW5zZW1ibGUgw6AgdG91cyBsZXMgbml2ZWF1eCBkdSBmaWNoaWVyIEFNTzIwXG4gICAgICAvLyAocXVpIGVzdCBsdWkgbcOqbWUgdW4gc291cy1lbnNlbWJsZSBkZSBsJ0FNTzMwKS5cbiAgICAgIC8vIElsIG4nYXBwb3J0ZSBkb25jIGFic29sdW1lbnQgcmllbiBwYXIgcmFwcG9ydCDDoCBBTU8yMCBvdSBsJ0FNTzMwLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PMTBfZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lc19YVklJLmpzb25cIixcbiAgICAgIGlnbm9yZUZvcldlYjogdHJ1ZSxcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5EaXhTZXB0LFxuICAgICAgcmVwYWlyWmlwOiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiRMOpcHV0w6lzIGFjdGlmcyBldCBvcmdhbmVzIGRlIGxhIFhWSUnDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTcvYW1vL2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXMvQU1PMTBfZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lcy5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgLy8gQU1PMTAgKFhWSSlcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCBsZXMgZMOpcHV0w6lzIGFjdGlmc1xuICAgICAgLy8gKiBhdmVjIHRvdXMgbGVzIG1hbmRhdHMgZW4gY291cnNcbiAgICAgIC8vICogeSBjb21wcmlzIGF2ZWMgbGV1ciBwYXJ0aSBwb2xpdGlxdWUgKHR5cGVPcmdhbmU6IFwiUEFSUE9MXCIpXG4gICAgICAvLyAqIG1haXMgc2FucyBsZXMgbWFuZGF0cyBhY2hldsOpcyAoeSBjb21wcmlzIGRhbnMgY2V0dGUgbMOpZ2lzbGF0dXJlKVxuICAgICAgLy9cbiAgICAgIC8vIE9yZ2FuZXMgOlxuICAgICAgLy8gKiBDb250aWVudCBzZXVsZW1lbnQgbGVzIG9yZ2FuZXMgY29ycmVzcG9uZGFudHMgYXV4IG1hbmRhdHMgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBsZSB4c2lUeXBlIGRlIGwnb3JnYW5lXG4gICAgICAvLyAqIGF2ZWMgZGVzIGNvbW1pc3Npb25zIHPDqW5hdG9yaWFsZXMgKHBlcm1hbmVudGVzIGV0IHNww6ljaWFsZXMpIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIGTDqWzDqWdhdGlvbnMgc8OpbmF0b3JpYWxlcyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBncm91cGVzIHPDqW5hdG9yaWF1eCBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBtaW5pc3TDqHJlcyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGxlcyBQcsOpc2lkZW5jZXMgZGUgbGEgUsOpcHVibGlxdWUgKHkgY29tcHJpcyBTYXJrb3p5KVxuICAgICAgLy8gKiBhdmVjIGxlIENvbnNlaWwgY29uc3RpdHV0aW9ubmVsXG4gICAgICAvL1xuICAgICAgLy8gQ2UgZmljaGllciBlc3QgdW4gc291cy1lbnNlbWJsZSDDoCB0b3VzIGxlcyBuaXZlYXV4IGR1IGZpY2hpZXIgQU1PMjBcbiAgICAgIC8vIChxdWkgZXN0IGx1aSBtw6ptZSB1biBzb3VzLWVuc2VtYmxlIGRlIGwnQU1PMzApLlxuICAgICAgLy8gSWwgbidhcHBvcnRlIGRvbmMgYWJzb2x1bWVudCByaWVuIHBhciByYXBwb3J0IMOgIEFNTzIwIG91IGwnQU1PMzAuXG4gICAgICBmaWxlbmFtZTogXCJBTU8xMF9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzX1hWSS5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuU2VpemUsXG4gICAgICByZXBhaXJaaXA6IHJlcGFpckZvckpzb25TdWJkaXJlY3RvcnksXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJEw6lwdXTDqXMgYWN0aWZzIGV0IG9yZ2FuZXMgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L2Ftby9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzL0FNTzEwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzEwIChYVilcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCBsZXMgZMOpcHV0w6lzIGFjdGlmc1xuICAgICAgLy8gKiBhdmVjIHRvdXMgbGVzIG1hbmRhdHMgZW4gY291cnNcbiAgICAgIC8vICogeSBjb21wcmlzIGF2ZWMgbGV1ciBwYXJ0aSBwb2xpdGlxdWUgKHR5cGVPcmdhbmU6IFwiUEFSUE9MXCIpXG4gICAgICAvLyAqIG1haXMgc2FucyBsZXMgbWFuZGF0cyBhY2hldsOpcyAoeSBjb21wcmlzIGRhbnMgY2V0dGUgbMOpZ2lzbGF0dXJlKVxuICAgICAgLy9cbiAgICAgIC8vIE9yZ2FuZXMgOlxuICAgICAgLy8gKiBDb250aWVudCBzZXVsZW1lbnQgbGVzIG9yZ2FuZXMgY29ycmVzcG9uZGFudHMgYXV4IG1hbmRhdHMgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBsZSB4c2lUeXBlIGRlIGwnb3JnYW5lXG4gICAgICAvLyAqIGF2ZWMgZGVzIGNvbW1pc3Npb25zIHPDqW5hdG9yaWFsZXMgKHBlcm1hbmVudGVzIGV0IHNww6ljaWFsZXMpIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIGTDqWzDqWdhdGlvbnMgc8OpbmF0b3JpYWxlcyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBncm91cGVzIHPDqW5hdG9yaWF1eCBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBtaW5pc3TDqHJlcyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGxlcyBQcsOpc2lkZW5jZXMgZGUgbGEgUsOpcHVibGlxdWUgKHkgY29tcHJpcyBTYXJrb3p5KVxuICAgICAgLy8gKiBhdmVjIGxlIENvbnNlaWwgY29uc3RpdHV0aW9ubmVsXG4gICAgICAvL1xuICAgICAgLy8gQ2UgZmljaGllciBlc3QgdW4gc291cy1lbnNlbWJsZSDDoCB0b3VzIGxlcyBuaXZlYXV4IGR1IGZpY2hpZXIgQU1PMjBcbiAgICAgIC8vIChxdWkgZXN0IGx1aSBtw6ptZSB1biBzb3VzLWVuc2VtYmxlIGRlIGwnQU1PMzApLlxuICAgICAgLy8gSWwgbidhcHBvcnRlIGRvbmMgYWJzb2x1bWVudCByaWVuIHBhciByYXBwb3J0IMOgIEFNTzIwIG91IGwnQU1PMzAuXG4gICAgICBmaWxlbmFtZTogXCJBTU8xMF9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzX1hWLmpzb25cIixcbiAgICAgIGlnbm9yZUZvcldlYjogdHJ1ZSxcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWluemUsXG4gICAgICByZXBhaXJaaXA6IHJlcGFpckZvckpzb25TdWJkaXJlY3RvcnksXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJEw6lwdXTDqXMgYWN0aWZzIGV0IG9yZ2FuZXMgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTUvYW1vL2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXMvQU1PMTBfZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lc19YVi5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgLy8gQU1PMjAgKFhWSUkpXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgbGVzIGTDqXB1dMOpcyBkZSBsYSBsw6lnaXNsYXR1cmUsIGFjdGlmcyBvdSBub24gKGludmFsaWTDqXMsIGV0YyksIGxlcyBzw6luYXRldXJzIGFjdHVlbHNcbiAgICAgIC8vIFBvdXIgbGVzIGTDqXB1dMOpcyA6XG4gICAgICAvLyAqIGF2ZWMgdG91cyBsZXVycyBtYW5kYXRzIGRlIGxhIGzDqWdpc2xhdHVyZVxuICAgICAgLy8gKiB5IGNvbXByaXMgbGVzIG1hbmRhdHMgYWNoZXbDqXNcbiAgICAgIC8vICogeSBjb21wcmlzIGxldXJzIHBhcnRpcyBwb2xpdGlxdWVzICAodHlwZU9yZ2FuZTogXCJQQVJQT0xcIilcbiAgICAgIC8vICogbWFpcyBzYW5zIGxlcyBtYW5kYXRzIGRlcyBsw6lnaXNsYXR1cmVzIHByw6ljw6lkZW50ZXMgKHF1aSBzb250IGRhbnMgQU1PNDApXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgdG91cyBsZXMgb3JnYW5lcyByw6lmw6lyZW5jw6lzIHBhciBsZXMgbWFuZGF0c1xuICAgICAgLy8gKiBhdmVjIGxlIHhzaVR5cGUgZGUgbCdvcmdhbmVcbiAgICAgIC8vICogYXZlYyBkZXMgY29tbWlzc2lvbnMgc8OpbmF0b3JpYWxlcyAocGVybWFuZW50ZXMgZXQgc3DDqWNpYWxlcykgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgZMOpbMOpZ2F0aW9ucyBzw6luYXRvcmlhbGVzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIGdyb3VwZXMgc8OpbmF0b3JpYXV4IGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIG1pbmlzdMOocmVzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgbGVzIFByw6lzaWRlbmNlcyBkZSBsYSBSw6lwdWJsaXF1ZSAoeSBjb21wcmlzIFNhcmtvenkpXG4gICAgICAvLyAqIGF2ZWMgbGUgQ29uc2VpbCBjb25zdGl0dXRpb25uZWxcbiAgICAgIC8vXG4gICAgICAvLyBDZSBmaWNoaWVyIGVzdCB1biBzb3VzLWVuc2VtYmxlIMOgIHRvdXMgbGVzIG5pdmVhdXggZHUgZmljaGllciBBTU8zMC5cbiAgICAgIC8vIElsIG4nYXBwb3J0ZSBkb25jIGFic29sdW1lbnQgcmllbiBwYXIgcmFwcG9ydCDDoCBsJ0FNTzMwLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PMjBfZGVwX3Nlbl9taW5fdG91c19tYW5kYXRzX2V0X29yZ2FuZXNfWFZJSS5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuRGl4U2VwdCxcbiAgICAgIHJlcGFpclppcDogcmVwYWlyRm9ySnNvblN1YmRpcmVjdG9yeSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkFjdGV1cnMgZXQgb3JnYW5lcyBkZSBsYSBYVklJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE3L2Ftby9kZXB1dGVzX3NlbmF0ZXVyc19taW5pc3RyZXNfbGVnaXNsYXR1cmUvQU1PMjBfZGVwX3Nlbl9taW5fdG91c19tYW5kYXRzX2V0X29yZ2FuZXMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzIwIChYVkkpXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgbGVzIGTDqXB1dMOpcyBkZSBsYSBsw6lnaXNsYXR1cmUsIGFjdGlmcyBvdSBub24gKGludmFsaWTDqXMsIGV0YyksIGxlcyBzw6luYXRldXJzIGFjdHVlbHNcbiAgICAgIC8vIFBvdXIgbGVzIGTDqXB1dMOpcyA6XG4gICAgICAvLyAqIGF2ZWMgdG91cyBsZXVycyBtYW5kYXRzIGRlIGxhIGzDqWdpc2xhdHVyZVxuICAgICAgLy8gKiB5IGNvbXByaXMgbGVzIG1hbmRhdHMgYWNoZXbDqXNcbiAgICAgIC8vICogeSBjb21wcmlzIGxldXJzIHBhcnRpcyBwb2xpdGlxdWVzICAodHlwZU9yZ2FuZTogXCJQQVJQT0xcIilcbiAgICAgIC8vICogbWFpcyBzYW5zIGxlcyBtYW5kYXRzIGRlcyBsw6lnaXNsYXR1cmVzIHByw6ljw6lkZW50ZXMgKHF1aSBzb250IGRhbnMgQU1PNDApXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgdG91cyBsZXMgb3JnYW5lcyByw6lmw6lyZW5jw6lzIHBhciBsZXMgbWFuZGF0c1xuICAgICAgLy8gKiBhdmVjIGxlIHhzaVR5cGUgZGUgbCdvcmdhbmVcbiAgICAgIC8vICogYXZlYyBkZXMgY29tbWlzc2lvbnMgc8OpbmF0b3JpYWxlcyAocGVybWFuZW50ZXMgZXQgc3DDqWNpYWxlcykgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgZMOpbMOpZ2F0aW9ucyBzw6luYXRvcmlhbGVzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIGdyb3VwZXMgc8OpbmF0b3JpYXV4IGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIG1pbmlzdMOocmVzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgbGVzIFByw6lzaWRlbmNlcyBkZSBsYSBSw6lwdWJsaXF1ZSAoeSBjb21wcmlzIFNhcmtvenkpXG4gICAgICAvLyAqIGF2ZWMgbGUgQ29uc2VpbCBjb25zdGl0dXRpb25uZWxcbiAgICAgIC8vXG4gICAgICAvLyBDZSBmaWNoaWVyIGVzdCB1biBzb3VzLWVuc2VtYmxlIMOgIHRvdXMgbGVzIG5pdmVhdXggZHUgZmljaGllciBBTU8zMC5cbiAgICAgIC8vIElsIG4nYXBwb3J0ZSBkb25jIGFic29sdW1lbnQgcmllbiBwYXIgcmFwcG9ydCDDoCBsJ0FNTzMwLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PMjBfZGVwX3Nlbl9taW5fdG91c19tYW5kYXRzX2V0X29yZ2FuZXNfWFZJLmpzb25cIixcbiAgICAgIGlnbm9yZUZvcldlYjogdHJ1ZSxcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogcmVwYWlyRm9ySnNvblN1YmRpcmVjdG9yeSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkFjdGV1cnMgZXQgb3JnYW5lcyBkZSBsYSBYVknDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTYvYW1vL2RlcHV0ZXNfc2VuYXRldXJzX21pbmlzdHJlc19sZWdpc2xhdHVyZS9BTU8yMF9kZXBfc2VuX21pbl90b3VzX21hbmRhdHNfZXRfb3JnYW5lcy5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgLy8gQU1PMjAgKFhWKVxuICAgICAgLy9cbiAgICAgIC8vIENvbnRpZW50IGxlcyBkw6lwdXTDqXMgZGUgbGEgbMOpZ2lzbGF0dXJlLCBhY3RpZnMgb3Ugbm9uIChpbnZhbGlkw6lzLCBldGMpLCBsZXMgc8OpbmF0ZXVycyBhY3R1ZWxzXG4gICAgICAvLyBQb3VyIGxlcyBkw6lwdXTDqXMgOlxuICAgICAgLy8gKiBhdmVjIHRvdXMgbGV1cnMgbWFuZGF0cyBkZSBsYSBsw6lnaXNsYXR1cmVcbiAgICAgIC8vICogeSBjb21wcmlzIGxlcyBtYW5kYXRzIGFjaGV2w6lzXG4gICAgICAvLyAqIHkgY29tcHJpcyBsZXVycyBwYXJ0aXMgcG9saXRpcXVlcyAgKHR5cGVPcmdhbmU6IFwiUEFSUE9MXCIpXG4gICAgICAvLyAqIG1haXMgc2FucyBsZXMgbWFuZGF0cyBkZXMgbMOpZ2lzbGF0dXJlcyBwcsOpY8OpZGVudGVzIChxdWkgc29udCBkYW5zIEFNTzQwKVxuICAgICAgLy9cbiAgICAgIC8vIENvbnRpZW50IHRvdXMgbGVzIG9yZ2FuZXMgcsOpZsOpcmVuY8OpcyBwYXIgbGVzIG1hbmRhdHNcbiAgICAgIC8vICogYXZlYyBsZSB4c2lUeXBlIGRlIGwnb3JnYW5lXG4gICAgICAvLyAqIGF2ZWMgZGVzIGNvbW1pc3Npb25zIHPDqW5hdG9yaWFsZXMgKHBlcm1hbmVudGVzIGV0IHNww6ljaWFsZXMpIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIGTDqWzDqWdhdGlvbnMgc8OpbmF0b3JpYWxlcyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBncm91cGVzIHPDqW5hdG9yaWF1eCBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBtaW5pc3TDqHJlcyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGxlcyBQcsOpc2lkZW5jZXMgZGUgbGEgUsOpcHVibGlxdWUgKHkgY29tcHJpcyBTYXJrb3p5KVxuICAgICAgLy8gKiBhdmVjIGxlIENvbnNlaWwgY29uc3RpdHV0aW9ubmVsXG4gICAgICAvL1xuICAgICAgLy8gQ2UgZmljaGllciBlc3QgdW4gc291cy1lbnNlbWJsZSDDoCB0b3VzIGxlcyBuaXZlYXV4IGR1IGZpY2hpZXIgQU1PMzAuXG4gICAgICAvLyBJbCBuJ2FwcG9ydGUgZG9uYyBhYnNvbHVtZW50IHJpZW4gcGFyIHJhcHBvcnQgw6AgbCdBTU8zMC5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzIwX2RlcF9zZW5fbWluX3RvdXNfbWFuZGF0c19ldF9vcmdhbmVzX1hWLmpzb25cIixcbiAgICAgIGlnbm9yZUZvcldlYjogdHJ1ZSxcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWluemUsXG4gICAgICByZXBhaXJaaXA6IHJlcGFpckZvckpzb25TdWJkaXJlY3RvcnksXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJBY3RldXJzIGV0IG9yZ2FuZXMgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTUvYW1vL2RlcHV0ZXNfc2VuYXRldXJzX21pbmlzdHJlc19sZWdpc2xhdHVyZS9BTU8yMF9kZXBfc2VuX21pbl90b3VzX21hbmRhdHNfZXRfb3JnYW5lc19YVi5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgLy8gQU1PMjAgKFhJVilcbiAgICAgIC8vXG4gICAgICAvLyBDb21tZSBBTU8yMCAoWFYpIG1haXMgcG91ciBsYSBYSVbDqG1lIGzDqWdpc2xhdHVyZVxuICAgICAgLy8gVG91cyBsZXMgYWN0ZXVycyBzYXVmIHVuIChQQTQyOTg5Mikgc29udCBwcsOpc2VudHMgZW4gcGx1cyDDoCBqb3VyIGRhbnMgQU1PMzAuXG4gICAgICAvLyBDZXQgYWN0ZXVyIFBBNDI5ODkyIChhbmNpZW5uZSBTw6luYXRyaWNlKSBuJ2VzdCBwcsOpc2VudCBkYW5zIGF1Y3VuIGRlcyBhdXRyZXNcbiAgICAgIC8vIGZpY2hpZXJzIEFNTy5cbiAgICAgIC8vIFRvdXMgbGVzIG9yZ2FuZXMgc29udCBwcsOpc2VudHMgZW4gcGx1cyBjb21wbGV0cyBkYW5zIEFNTzMwLlxuICAgICAgLy9cbiAgICAgIC8vIENlIGZpY2hpZXIgZXN0IGRvbmMgw6AgdW4gZMOpdGFpbCBwcsOqdCAoUEE0Mjk4OTIpIHVuIHNvdXMtZW5zZW1ibGUgZCdBTU8zMC5cbiAgICAgIC8vIElsIG4nYXBwb3J0ZSBkb25jIHF1YXNpbWVudCByaWVuIHBhciByYXBwb3J0IMOgIGwnQU1PMzAuXG4gICAgICBmaWxlbmFtZTogXCJBTU8yMF9kZXBfc2VuX21pbl90b3VzX21hbmRhdHNfZXRfb3JnYW5lc19YSVYuanNvblwiLFxuICAgICAgaWdub3JlRm9yV2ViOiB0cnVlLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1YXRvcnplLFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNpbmdsZUZpbGUsXG4gICAgICB0aXRsZTogXCJBY3RldXJzIGV0IG9yZ2FuZXMgZGUgbGEgWElWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE0L2Ftby9kZXB1dGVzX3NlbmF0ZXVyc19taW5pc3RyZXNfbGVnaXNsYXR1cmVzX1hJVi9BTU8yMF9kZXBfc2VuX21pbl90b3VzX21hbmRhdHNfZXRfb3JnYW5lc19YSVYuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzMwIChYVklJKVxuICAgICAgLy9cbiAgICAgIC8vIENlIGZpY2hpZXIgY29udGllbnQgdG91cyBsZXMgYWN0ZXVycyBldCBvcmdhbmVzLlxuICAgICAgLy8gQydlc3QgdW4gc3VyLWVuc2VtYmxlIGRlcyBmaWNoaWVycyBBTU8yMC5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWUuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLkFsbCxcbiAgICAgIHJlcGFpclppcDogcmVwYWlyRm9ySnNvblN1YmRpcmVjdG9yeSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOlxuICAgICAgICBcIkhpc3RvcmlxdWUgZGUgdG91cyBsZXMgYWN0ZXVycyBldCBvcmdhbmVzIGRlcHVpcyBsYSBYScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNy9hbW8vdG91c19hY3RldXJzX21hbmRhdHNfb3JnYW5lc194aV9sZWdpc2xhdHVyZS9BTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICAvLyB7XG4gICAgLy8gICAvLyBBTU8zMCAoWFZJKVxuICAgIC8vICAgLy9cbiAgICAvLyAgIC8vIENlIGZpY2hpZXIgY29udGllbnQgdG91cyBsZXMgYWN0ZXVycyBldCBvcmdhbmVzLlxuICAgIC8vICAgLy8gQydlc3QgdW4gc3VyLWVuc2VtYmxlIGRlcyBmaWNoaWVycyBBTU8yMC5cbiAgICAvLyAgIGZpbGVuYW1lOiBcIkFNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWUuanNvblwiLFxuICAgIC8vICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLkFsbCxcbiAgICAvLyAgIHJlcGFpclppcDogcmVwYWlyRm9ySnNvblN1YmRpcmVjdG9yeSxcbiAgICAvLyAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAvLyAgIHRpdGxlOlxuICAgIC8vICAgICBcIkhpc3RvcmlxdWUgZGUgdG91cyBsZXMgYWN0ZXVycyBldCBvcmdhbmVzIGRlcHVpcyBsYSBYScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgLy8gICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNi9hbW8vdG91c19hY3RldXJzX21hbmRhdHNfb3JnYW5lc194aV9sZWdpc2xhdHVyZS9BTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlLmpzb24uemlwXCIsXG4gICAgLy8gfSxcbiAgICAvLyB7XG4gICAgLy8gICAvLyBBTU8zMCAoWFYpXG4gICAgLy8gICAvL1xuICAgIC8vICAgLy8gQ2UgZmljaGllciBjb250aWVudCB0b3VzIGxlcyBhY3RldXJzIGV0IG9yZ2FuZXMuXG4gICAgLy8gICAvLyBDJ2VzdCB1biBzdXItZW5zZW1ibGUgZGVzIGZpY2hpZXJzIEFNTzIwLlxuICAgIC8vICAgZmlsZW5hbWU6IFwiQU1PMzBfdG91c19hY3RldXJzX3RvdXNfbWFuZGF0c190b3VzX29yZ2FuZXNfaGlzdG9yaXF1ZS5qc29uXCIsXG4gICAgLy8gICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuQWxsLFxuICAgIC8vICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgLy8gICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgIC8vICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgLy8gICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgLy8gICAgIH1cbiAgICAvLyAgICAgZnMubW92ZVN5bmMocGF0aC5qb2luKGRhdGFEaXIsIFwianNvblwiKSwgdGFyZ2V0RGlyKVxuICAgIC8vICAgfSxcbiAgICAvLyAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAvLyAgIHRpdGxlOlxuICAgIC8vICAgICBcIkhpc3RvcmlxdWUgZGUgdG91cyBsZXMgYWN0ZXVycyBldCBvcmdhbmVzIGRlcHVpcyBsYSBYScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgLy8gICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNS9hbW8vdG91c19hY3RldXJzX21hbmRhdHNfb3JnYW5lc194aV9sZWdpc2xhdHVyZS9BTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlLmpzb24uemlwXCIsXG4gICAgLy8gfSxcbiAgICB7XG4gICAgICAvLyBBTU80MCAoWFZJSSlcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCBsZXMgZMOpcHV0w6lzIGFjdGlmcyAobGVzIG3Dqm1lcyBxdSdBTU8yMClcbiAgICAgIC8vICogYXZlYyBwcmVzcXVlIHRvdXMgbGV1cnMgbWFuZGF0c1xuICAgICAgLy8gKiB5IGNvbXByaXMgbGVzIG1hbmRhdHMgYWNoZXbDqXMgZXQgY2V1eCBkZXMgbMOpZ2lzbGF0dXJlcyBwcsOpY8OpZGVudGVzXG4gICAgICAvLyAqIHkgY29tcHJpcyBsZXVycyBwYXJ0aXMgcG9saXRpcXVlcyBwcsOpY8OpZGVudHNcbiAgICAgIC8vICogbWFpcyBzYW5zIGxldXIgcGFydGkgcG9saXRpcXVlIGFjdHVlbCAodHlwZU9yZ2FuZTogXCJQQVJQT0xcIilcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCBiZWF1Y291cCBkJ29yZ2FuZXMgcsOpZsOpcmVuY8OpcywgeSBjb21wcmlzIGNldXggZGVzIGzDqWdpc2xhdHVyZXNcbiAgICAgIC8vIHByw6ljw6lkZW50ZXNcbiAgICAgIC8vICogbWFpcyBpbCBtYW5xdWUgbGUgeHNpVHlwZSBkZXMgb3JnYW5lc1xuICAgICAgLy8gKiBuZSBjb250aWVudCBwYXMgbGVzIG9yZ2FuZXMgc8OpbmF0b3JpYXV4XG4gICAgICAvLyAqIG5lIGNvbnRpZW50IHBhcyBsZXMgbWluaXN0w6hyZXNcbiAgICAgIC8vICogbmUgY29udGllbnQgcGFzIGxhIFByw6lzaWRlbmNlIGRlIGxhIFLDqXB1YmxpcXVlXG4gICAgICAvLyAqIG5lIGNvbnRpZW50IHBhcyBsZSBDb25zZWlsIGNvbnN0aXR1dGlvbm5lbFxuICAgICAgLy9cbiAgICAgIC8vIFBvdXIgbGVzIGFjdGV1cnMsIGNlIGTDqXDDtHQgZXN0IHVuIHNvdXMtZW5zZW1ibGUgc3RyaWN0IGRlIEFNTzMwIDpcbiAgICAgIC8vIElsIGEgbW9pbnMgZCdhY3RldXJzIGV0IGlsIHNvbnQgbW9pbnMgY29tcGxldHMuXG4gICAgICAvL1xuICAgICAgLy8gUG91ciBsZXMgb3JnYW5lcyA6XG4gICAgICAvLyBRdWFuZCBsJ29yZ2FuZSBlc3QgYXVzc2kgcHLDqXNlbnQgZGFucyBBTU8zMCwgaWwgdmF1dCBtaWV1eCBwcmVuZHJlIGNlbHVpXG4gICAgICAvLyBkJ0FNTzMwLCBjYXIgaWwgY29udGllbnQgbGUgeHNpVHlwZSAoYydlc3QgbGEgc2V1bGUgZGlmZsOpcmVuY2Ugc2VtYmxlLXQtaSkuXG4gICAgICAvLyBTaW5vbiwgaWwgZmF1dCBsZSBwcmVuZHJlIHNldWxlbWVudCBzaSBvbiBlc3QgaW50w6lyZXNzw6kgcGFyIGxlcyBsw6lnaXNsYXR1cmVzXG4gICAgICAvLyBwcsOpY8OpZGVudGVzLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PNDBfZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lc19kaXZpc2VzX1hWSUkuanNvblwiLFxuICAgICAgaWdub3JlRm9yV2ViOiB0cnVlLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLkRpeFNlcHQsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5ta2RpclN5bmModGFyZ2V0RGlyKVxuICAgICAgICBpZiAoZnMucGF0aEV4aXN0c1N5bmMocGF0aC5qb2luKGRhdGFEaXIsIFwiYWN0ZXVyXCIpKSkge1xuICAgICAgICAgIC8vIE5vdGU7IExlIHLDqXBlcnRvaXJlIGFjdGV1ciBwZXV0IGRpc3BhcmHDrnRyZSBlbiBmaW4gZGUgbMOpZ2lzbGF0dXJlXG4gICAgICAgICAgLy8gcXVhbmQgbGVzIG1hbmRhdHMgZGVzIGTDqXB1dMOpcyBzJ2ludGVycm9tcGVudC5cbiAgICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICAgIHBhdGguam9pbihkYXRhRGlyLCBcImFjdGV1clwiKSxcbiAgICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJvcmdhbmVcIiksXG4gICAgICAgICAgcGF0aC5qb2luKHRhcmdldERpciwgXCJvcmdhbmVcIiksXG4gICAgICAgIClcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJEw6lwdXTDqXMgYWN0aWZzIGV0IG9yZ2FuZXMgZGUgbGEgWFZJScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNy9hbW8vZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lc19kaXZpc2VzL0FNTzQwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfZGl2aXNlcy5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgLy8gQU1PNDAgKFhWSSlcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCBsZXMgZMOpcHV0w6lzIGFjdGlmcyAobGVzIG3Dqm1lcyBxdSdBTU8yMClcbiAgICAgIC8vICogYXZlYyBwcmVzcXVlIHRvdXMgbGV1cnMgbWFuZGF0c1xuICAgICAgLy8gKiB5IGNvbXByaXMgbGVzIG1hbmRhdHMgYWNoZXbDqXMgZXQgY2V1eCBkZXMgbMOpZ2lzbGF0dXJlcyBwcsOpY8OpZGVudGVzXG4gICAgICAvLyAqIHkgY29tcHJpcyBsZXVycyBwYXJ0aXMgcG9saXRpcXVlcyBwcsOpY8OpZGVudHNcbiAgICAgIC8vICogbWFpcyBzYW5zIGxldXIgcGFydGkgcG9saXRpcXVlIGFjdHVlbCAodHlwZU9yZ2FuZTogXCJQQVJQT0xcIilcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCBiZWF1Y291cCBkJ29yZ2FuZXMgcsOpZsOpcmVuY8OpcywgeSBjb21wcmlzIGNldXggZGVzIGzDqWdpc2xhdHVyZXNcbiAgICAgIC8vIHByw6ljw6lkZW50ZXNcbiAgICAgIC8vICogbWFpcyBpbCBtYW5xdWUgbGUgeHNpVHlwZSBkZXMgb3JnYW5lc1xuICAgICAgLy8gKiBuZSBjb250aWVudCBwYXMgbGVzIG9yZ2FuZXMgc8OpbmF0b3JpYXV4XG4gICAgICAvLyAqIG5lIGNvbnRpZW50IHBhcyBsZXMgbWluaXN0w6hyZXNcbiAgICAgIC8vICogbmUgY29udGllbnQgcGFzIGxhIFByw6lzaWRlbmNlIGRlIGxhIFLDqXB1YmxpcXVlXG4gICAgICAvLyAqIG5lIGNvbnRpZW50IHBhcyBsZSBDb25zZWlsIGNvbnN0aXR1dGlvbm5lbFxuICAgICAgLy9cbiAgICAgIC8vIFBvdXIgbGVzIGFjdGV1cnMsIGNlIGTDqXDDtHQgZXN0IHVuIHNvdXMtZW5zZW1ibGUgc3RyaWN0IGRlIEFNTzMwIDpcbiAgICAgIC8vIElsIGEgbW9pbnMgZCdhY3RldXJzIGV0IGlsIHNvbnQgbW9pbnMgY29tcGxldHMuXG4gICAgICAvL1xuICAgICAgLy8gUG91ciBsZXMgb3JnYW5lcyA6XG4gICAgICAvLyBRdWFuZCBsJ29yZ2FuZSBlc3QgYXVzc2kgcHLDqXNlbnQgZGFucyBBTU8zMCwgaWwgdmF1dCBtaWV1eCBwcmVuZHJlIGNlbHVpXG4gICAgICAvLyBkJ0FNTzMwLCBjYXIgaWwgY29udGllbnQgbGUgeHNpVHlwZSAoYydlc3QgbGEgc2V1bGUgZGlmZsOpcmVuY2Ugc2VtYmxlLXQtaSkuXG4gICAgICAvLyBTaW5vbiwgaWwgZmF1dCBsZSBwcmVuZHJlIHNldWxlbWVudCBzaSBvbiBlc3QgaW50w6lyZXNzw6kgcGFyIGxlcyBsw6lnaXNsYXR1cmVzXG4gICAgICAvLyBwcsOpY8OpZGVudGVzLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PNDBfZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lc19kaXZpc2VzX1hWSS5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuU2VpemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5ta2RpclN5bmModGFyZ2V0RGlyKVxuICAgICAgICBpZiAoZnMucGF0aEV4aXN0c1N5bmMocGF0aC5qb2luKGRhdGFEaXIsIFwiYWN0ZXVyXCIpKSkge1xuICAgICAgICAgIC8vIE5vdGU7IExlIHLDqXBlcnRvaXJlIGFjdGV1ciBwZXV0IGRpc3BhcmHDrnRyZSBlbiBmaW4gZGUgbMOpZ2lzbGF0dXJlXG4gICAgICAgICAgLy8gcXVhbmQgbGVzIG1hbmRhdHMgZGVzIGTDqXB1dMOpcyBzJ2ludGVycm9tcGVudC5cbiAgICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICAgIHBhdGguam9pbihkYXRhRGlyLCBcImFjdGV1clwiKSxcbiAgICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJvcmdhbmVcIiksXG4gICAgICAgICAgcGF0aC5qb2luKHRhcmdldERpciwgXCJvcmdhbmVcIiksXG4gICAgICAgIClcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJEw6lwdXTDqXMgYWN0aWZzIGV0IG9yZ2FuZXMgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L2Ftby9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzX2RpdmlzZXMvQU1PNDBfZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lc19kaXZpc2VzLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICAvLyBBTU80MCAoWFYpXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgbGVzIGTDqXB1dMOpcyBhY3RpZnMgKGxlcyBtw6ptZXMgcXUnQU1PMjApXG4gICAgICAvLyAqIGF2ZWMgcHJlc3F1ZSB0b3VzIGxldXJzIG1hbmRhdHNcbiAgICAgIC8vICogeSBjb21wcmlzIGxlcyBtYW5kYXRzIGFjaGV2w6lzIGV0IGNldXggZGVzIGzDqWdpc2xhdHVyZXMgcHLDqWPDqWRlbnRlc1xuICAgICAgLy8gKiB5IGNvbXByaXMgbGV1cnMgcGFydGlzIHBvbGl0aXF1ZXMgcHLDqWPDqWRlbnRzXG4gICAgICAvLyAqIG1haXMgc2FucyBsZXVyIHBhcnRpIHBvbGl0aXF1ZSBhY3R1ZWwgKHR5cGVPcmdhbmU6IFwiUEFSUE9MXCIpXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgYmVhdWNvdXAgZCdvcmdhbmVzIHLDqWbDqXJlbmPDqXMsIHkgY29tcHJpcyBjZXV4IGRlcyBsw6lnaXNsYXR1cmVzXG4gICAgICAvLyBwcsOpY8OpZGVudGVzXG4gICAgICAvLyAqIG1haXMgaWwgbWFucXVlIGxlIHhzaVR5cGUgZGVzIG9yZ2FuZXNcbiAgICAgIC8vICogbmUgY29udGllbnQgcGFzIGxlcyBvcmdhbmVzIHPDqW5hdG9yaWF1eFxuICAgICAgLy8gKiBuZSBjb250aWVudCBwYXMgbGVzIG1pbmlzdMOocmVzXG4gICAgICAvLyAqIG5lIGNvbnRpZW50IHBhcyBsYSBQcsOpc2lkZW5jZSBkZSBsYSBSw6lwdWJsaXF1ZVxuICAgICAgLy8gKiBuZSBjb250aWVudCBwYXMgbGUgQ29uc2VpbCBjb25zdGl0dXRpb25uZWxcbiAgICAgIC8vXG4gICAgICAvLyBQb3VyIGxlcyBhY3RldXJzLCBjZSBkw6lww7R0IGVzdCB1biBzb3VzLWVuc2VtYmxlIHN0cmljdCBkZSBBTU8zMCA6XG4gICAgICAvLyBJbCBhIG1vaW5zIGQnYWN0ZXVycyBldCBpbCBzb250IG1vaW5zIGNvbXBsZXRzLlxuICAgICAgLy9cbiAgICAgIC8vIFBvdXIgbGVzIG9yZ2FuZXMgOlxuICAgICAgLy8gUXVhbmQgbCdvcmdhbmUgZXN0IGF1c3NpIHByw6lzZW50IGRhbnMgQU1PMzAsIGlsIHZhdXQgbWlldXggcHJlbmRyZSBjZWx1aVxuICAgICAgLy8gZCdBTU8zMCwgY2FyIGlsIGNvbnRpZW50IGxlIHhzaVR5cGUgKGMnZXN0IGxhIHNldWxlIGRpZmbDqXJlbmNlIHNlbWJsZS10LWkpLlxuICAgICAgLy8gU2lub24sIGlsIGZhdXQgbGUgcHJlbmRyZSBzZXVsZW1lbnQgc2kgb24gZXN0IGludMOpcmVzc8OpIHBhciBsZXMgbMOpZ2lzbGF0dXJlc1xuICAgICAgLy8gcHLDqWPDqWRlbnRlcy5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzQwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfZGl2aXNlc19YVi5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVpbnplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubWtkaXJTeW5jKHRhcmdldERpcilcbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICApXG4gICAgICAgIGZzLm1vdmVTeW5jKFxuICAgICAgICAgIHBhdGguam9pbihkYXRhRGlyLCBcIm9yZ2FuZVwiKSxcbiAgICAgICAgICBwYXRoLmpvaW4odGFyZ2V0RGlyLCBcIm9yZ2FuZVwiKSxcbiAgICAgICAgKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkTDqXB1dMOpcyBhY3RpZnMgZXQgb3JnYW5lcyBkZSBsYSBYVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNS9hbW8vZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lc19kaXZpc2VzL0FNTzQwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfZGl2aXNlc19YVi5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgLy8gQU1PNTAgKFhWSUkpXG4gICAgICAvL1xuICAgICAgLy8gQXR0ZW50aW9uLCBjZSBmaWNoaWVyIG4nZXN0IHBhcyBtaXMgw6Agam91ciByw6lndWxpw6hyZW1lbnQgIVxuICAgICAgLy9cbiAgICAgIC8vIFBvdXIgbGVzIGFjdGV1cnMgOlxuICAgICAgLy8gKiBjJ2VzdCB1biBzb3VzIGVuc2VtYmxlIG9ic29sw6h0ZSBkJ0FNTzMwXG4gICAgICAvLyAqIGlsIG1hbnF1ZSBsZXMgeHNpVHlwZSBhdXggbWFuZGF0c1xuICAgICAgLy9cbiAgICAgIC8vIFBvdXIgbGVzIG9yZ2FuZXMgOlxuICAgICAgLy8gKiBjJ2VzdCB1biBzb3VzIGVuc2VtYmxlIG9ic29sw6h0ZSBkJ0FNTzMwXG4gICAgICAvLyAqIGlsIG1hbnF1ZSBsZXMgeHNpVHlwZVxuICAgICAgLy9cbiAgICAgIC8vIENlIGZpY2hpZXIgbidhcHBvcnRlIGRvbmMgYWJzb2x1bWVudCByaWVuIHBhciByYXBwb3J0IMOgIGwnQU1PMzAsXG4gICAgICAvLyBkb250IGlsIGVzdCB1biBzb3VzIGVuc2VtYmxlIG9ic29sw6h0ZS5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzUwX2FjdGV1cnNfbWFuZGF0c19vcmdhbmVzX2RpdmlzZXNfWFZJSS5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuRGl4U2VwdCxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1rZGlyU3luYyh0YXJnZXREaXIpXG4gICAgICAgIGZzLm1vdmVTeW5jKFxuICAgICAgICAgIHBhdGguam9pbihkYXRhRGlyLCBcIm1hbmRhdFwiKSxcbiAgICAgICAgICBwYXRoLmpvaW4odGFyZ2V0RGlyLCBcIm1hbmRhdFwiKSxcbiAgICAgICAgKVxuICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJhY3RldXJcIiksXG4gICAgICAgICAgcGF0aC5qb2luKHRhcmdldERpciwgXCJhY3RldXJcIiksXG4gICAgICAgIClcbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwib3JnYW5lXCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwib3JnYW5lXCIpLFxuICAgICAgICApXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6XG4gICAgICAgIFwiQWN0ZXVycywgbWFuZGF0cyBldCBvcmdhbmVzIGRlIGxhIFhWSUnDqG1lIGzDqWdpc2xhdHVyZSAoZmljaGllcnMgc8OpcGFyw6lzLCB5IGNvbXByaXMgbWFuZGF0cylcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE3L2Ftby9hY3RldXJzX21hbmRhdHNfb3JnYW5lc19kaXZpc2VzL0FNTzUwX2FjdGV1cnNfbWFuZGF0c19vcmdhbmVzX2RpdmlzZXMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzUwIChYVkkpXG4gICAgICAvL1xuICAgICAgLy8gQXR0ZW50aW9uLCBjZSBmaWNoaWVyIG4nZXN0IHBhcyBtaXMgw6Agam91ciByw6lndWxpw6hyZW1lbnQgIVxuICAgICAgLy9cbiAgICAgIC8vIFBvdXIgbGVzIGFjdGV1cnMgOlxuICAgICAgLy8gKiBjJ2VzdCB1biBzb3VzIGVuc2VtYmxlIG9ic29sw6h0ZSBkJ0FNTzMwXG4gICAgICAvLyAqIGlsIG1hbnF1ZSBsZXMgeHNpVHlwZSBhdXggbWFuZGF0c1xuICAgICAgLy9cbiAgICAgIC8vIFBvdXIgbGVzIG9yZ2FuZXMgOlxuICAgICAgLy8gKiBjJ2VzdCB1biBzb3VzIGVuc2VtYmxlIG9ic29sw6h0ZSBkJ0FNTzMwXG4gICAgICAvLyAqIGlsIG1hbnF1ZSBsZXMgeHNpVHlwZVxuICAgICAgLy9cbiAgICAgIC8vIENlIGZpY2hpZXIgbidhcHBvcnRlIGRvbmMgYWJzb2x1bWVudCByaWVuIHBhciByYXBwb3J0IMOgIGwnQU1PMzAsXG4gICAgICAvLyBkb250IGlsIGVzdCB1biBzb3VzIGVuc2VtYmxlIG9ic29sw6h0ZS5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzUwX2FjdGV1cnNfbWFuZGF0c19vcmdhbmVzX2RpdmlzZXNfWFZJLmpzb25cIixcbiAgICAgIGlnbm9yZUZvcldlYjogdHJ1ZSxcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1rZGlyU3luYyh0YXJnZXREaXIpXG4gICAgICAgIGZzLm1vdmVTeW5jKFxuICAgICAgICAgIHBhdGguam9pbihkYXRhRGlyLCBcIm1hbmRhdFwiKSxcbiAgICAgICAgICBwYXRoLmpvaW4odGFyZ2V0RGlyLCBcIm1hbmRhdFwiKSxcbiAgICAgICAgKVxuICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJhY3RldXJcIiksXG4gICAgICAgICAgcGF0aC5qb2luKHRhcmdldERpciwgXCJhY3RldXJcIiksXG4gICAgICAgIClcbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwib3JnYW5lXCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwib3JnYW5lXCIpLFxuICAgICAgICApXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6XG4gICAgICAgIFwiQWN0ZXVycywgbWFuZGF0cyBldCBvcmdhbmVzIGRlIGxhIFhWScOobWUgbMOpZ2lzbGF0dXJlIChmaWNoaWVycyBzw6lwYXLDqXMsIHkgY29tcHJpcyBtYW5kYXRzKVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTYvYW1vL2FjdGV1cnNfbWFuZGF0c19vcmdhbmVzX2RpdmlzZXMvQU1PNTBfYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXNfZGl2aXNlcy5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgLy8gQU1PNTAgKFhWKVxuICAgICAgLy9cbiAgICAgIC8vIEF0dGVudGlvbiwgY2UgZmljaGllciBuJ2VzdCBwYXMgbWlzIMOgIGpvdXIgcsOpZ3VsacOocmVtZW50ICFcbiAgICAgIC8vXG4gICAgICAvLyBQb3VyIGxlcyBhY3RldXJzIDpcbiAgICAgIC8vICogYydlc3QgdW4gc291cyBlbnNlbWJsZSBvYnNvbMOodGUgZCdBTU8zMFxuICAgICAgLy8gKiBpbCBtYW5xdWUgbGVzIHhzaVR5cGUgYXV4IG1hbmRhdHNcbiAgICAgIC8vXG4gICAgICAvLyBQb3VyIGxlcyBvcmdhbmVzIDpcbiAgICAgIC8vICogYydlc3QgdW4gc291cyBlbnNlbWJsZSBvYnNvbMOodGUgZCdBTU8zMFxuICAgICAgLy8gKiBpbCBtYW5xdWUgbGVzIHhzaVR5cGVcbiAgICAgIC8vXG4gICAgICAvLyBDZSBmaWNoaWVyIG4nYXBwb3J0ZSBkb25jIGFic29sdW1lbnQgcmllbiBwYXIgcmFwcG9ydCDDoCBsJ0FNTzMwLFxuICAgICAgLy8gZG9udCBpbCBlc3QgdW4gc291cyBlbnNlbWJsZSBvYnNvbMOodGUuXG4gICAgICBmaWxlbmFtZTogXCJBTU81MF9hY3RldXJzX21hbmRhdHNfb3JnYW5lc19kaXZpc2VzX1hWLmpzb25cIixcbiAgICAgIGlnbm9yZUZvcldlYjogdHJ1ZSxcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWluemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5ta2RpclN5bmModGFyZ2V0RGlyKVxuICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJtYW5kYXRcIiksXG4gICAgICAgICAgcGF0aC5qb2luKHRhcmdldERpciwgXCJtYW5kYXRcIiksXG4gICAgICAgIClcbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICApXG4gICAgICAgIGZzLm1vdmVTeW5jKFxuICAgICAgICAgIHBhdGguam9pbihkYXRhRGlyLCBcIm9yZ2FuZVwiKSxcbiAgICAgICAgICBwYXRoLmpvaW4odGFyZ2V0RGlyLCBcIm9yZ2FuZVwiKSxcbiAgICAgICAgKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOlxuICAgICAgICBcIkFjdGV1cnMsIG1hbmRhdHMgZXQgb3JnYW5lcyBkZSBsYSBYVsOobWUgbMOpZ2lzbGF0dXJlIChmaWNoaWVycyBzw6lwYXLDqXMsIHkgY29tcHJpcyBtYW5kYXRzKVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTUvYW1vL2FjdGV1cnNfbWFuZGF0c19vcmdhbmVzX2RpdmlzZXMvQU1PNTBfYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXNfZGl2aXNlc19YVi5qc29uLnppcFwiLFxuICAgIH0sXG4gIF0sXG4gIGFnZW5kYXM6IFtcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJBZ2VuZGFfWFZJSS5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuRGl4U2VwdCxcbiAgICAgIHJlcGFpclppcDogcmVwYWlyRm9ySnNvblN1YmRpcmVjdG9yeSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkFnZW5kYSBkZSBsYSBYVklJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE3L3ZwL3JldW5pb25zL0FnZW5kYS5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiQWdlbmRhX1hWSS5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuU2VpemUsXG4gICAgICByZXBhaXJaaXA6IHJlcGFpckZvckpzb25TdWJkaXJlY3RvcnksXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJBZ2VuZGEgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L3ZwL3JldW5pb25zL0FnZW5kYS5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiQWdlbmRhX1hWLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWluemUsXG4gICAgICByZXBhaXJaaXA6IHJlcGFpckZvckpzb25TdWJkaXJlY3RvcnksXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJBZ2VuZGEgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTUvdnAvcmV1bmlvbnMvQWdlbmRhX1hWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJBZ2VuZGFfWElWLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWF0b3J6ZSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TaW5nbGVGaWxlLFxuICAgICAgdGl0bGU6IFwiQWdlbmRhIGRlIGxhIFhJVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNC92cC9yZXVuaW9ucy9BZ2VuZGFfWElWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgXSxcbiAgYW1lbmRlbWVudHM6IFtcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJBbWVuZGVtZW50c19YVklJLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5EaXhTZXB0LFxuICAgICAgcmVwYWlyWmlwOiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiQW1lbmRlbWVudHMgZGUgbGEgWFZJScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNy9sb2kvYW1lbmRlbWVudHNfZGl2X2xlZ2lzL0FtZW5kZW1lbnRzLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJBbWVuZGVtZW50c19YVkkuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlNlaXplLFxuICAgICAgcmVwYWlyWmlwOiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiQW1lbmRlbWVudHMgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L2xvaS9hbWVuZGVtZW50c19kaXZfbGVnaXMvQW1lbmRlbWVudHMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIkFtZW5kZW1lbnRzX1hWLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWluemUsXG4gICAgICByZXBhaXJaaXA6IHJlcGFpckZvckpzb25TdWJkaXJlY3RvcnksXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJBbWVuZGVtZW50cyBkZSBsYSBYVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNS9sb2kvYW1lbmRlbWVudHNfbGVnaXMvQW1lbmRlbWVudHNfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICAgIC8vIHtcbiAgICAvLyAgIGZpbGVuYW1lOiBcIkFtZW5kZW1lbnRzX1hJVi5qc29uXCIsXG4gICAgLy8gICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgLy8gICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVhdG9yemUsXG4gICAgLy8gICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2luZ2xlRmlsZSxcbiAgICAvLyAgIHRpdGxlOiBcIkFtZW5kZW1lbnRzIGRlIGxhIFhJVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgLy8gICB1cmw6XG4gICAgLy8gICAgIFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNC9sb2kvYW1lbmRlbWVudHNfbGVnaXNfWElWL0FtZW5kZW1lbnRzX1hJVi5qc29uLnppcFwiLFxuICAgIC8vIH0sXG4gIF0sXG4gIGRvc3NpZXJzTGVnaXNsYXRpZnM6IFtcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJEb3NzaWVyc19MZWdpc2xhdGlmc19YVklJLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5EaXhTZXB0LFxuICAgICAgcmVwYWlyWmlwOiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiRG9zc2llcnMgbMOpZ2lzbGF0aWZzIGRlIGxhIFhWSUnDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTcvbG9pL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzL0Rvc3NpZXJzX0xlZ2lzbGF0aWZzLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJEb3NzaWVyc19MZWdpc2xhdGlmc19YVkkuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlNlaXplLFxuICAgICAgcmVwYWlyWmlwOiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiRG9zc2llcnMgbMOpZ2lzbGF0aWZzIGRlIGxhIFhWScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNi9sb2kvZG9zc2llcnNfbGVnaXNsYXRpZnMvRG9zc2llcnNfTGVnaXNsYXRpZnMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIkRvc3NpZXJzX0xlZ2lzbGF0aWZzX1hWLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWluemUsXG4gICAgICByZXBhaXJaaXA6IHJlcGFpckZvckpzb25TdWJkaXJlY3RvcnksXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJEb3NzaWVycyBsw6lnaXNsYXRpZnMgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTUvbG9pL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzL0Rvc3NpZXJzX0xlZ2lzbGF0aWZzX1hWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJEb3NzaWVyc19MZWdpc2xhdGlmc19YSVYuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1YXRvcnplLFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNpbmdsZUZpbGUsXG4gICAgICB0aXRsZTogXCJEb3NzaWVycyBsw6lnaXNsYXRpZnMgZGUgbGEgWElWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE0L2xvaS9kb3NzaWVyc19sZWdpc2xhdGlmcy9Eb3NzaWVyc19MZWdpc2xhdGlmc19YSVYuanNvbi56aXBcIixcbiAgICB9LFxuICBdLFxuICBzY3J1dGluczogW1xuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIlNjcnV0aW5zX1hWSUkuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLkRpeFNlcHQsXG4gICAgICByZXBhaXJaaXA6IHJlcGFpckZvckpzb25TdWJkaXJlY3RvcnksXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJTY3J1dGlucyBkZSBsYSBYVklJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE3L2xvaS9zY3J1dGlucy9TY3J1dGlucy5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiU2NydXRpbnNfWFZJLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogcmVwYWlyRm9ySnNvblN1YmRpcmVjdG9yeSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIlNjcnV0aW5zIGRlIGxhIFhWScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNi9sb2kvc2NydXRpbnMvU2NydXRpbnMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIlNjcnV0aW5zX1hWLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWluemUsXG4gICAgICByZXBhaXJaaXA6IHJlcGFpckZvckpzb25TdWJkaXJlY3RvcnksXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJTY3J1dGlucyBkZSBsYSBYVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNS9sb2kvc2NydXRpbnMvU2NydXRpbnNfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIlNjcnV0aW5zX1hJVi5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVhdG9yemUsXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2luZ2xlRmlsZSxcbiAgICAgIHRpdGxlOiBcIlNjcnV0aW5zIGRlIGxhIFhJVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNC9sb2kvc2NydXRpbnMvU2NydXRpbnNfWElWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgXSxcbiAgcXVlc3Rpb25zOiBbXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiUXVlc3Rpb25zX2Vjcml0ZXNfWFZJSS5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuRGl4U2VwdCxcbiAgICAgIHJlcGFpclppcDogcmVwYWlyRm9ySnNvblN1YmRpcmVjdG9yeSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIlF1ZXN0aW9ucyDDqWNyaXRlcyBkZSBsYSBYVklJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE3L3F1ZXN0aW9ucy9xdWVzdGlvbnNfZWNyaXRlcy9RdWVzdGlvbnNfZWNyaXRlcy5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiUXVlc3Rpb25zX2Vjcml0ZXNfWFZJLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogcmVwYWlyRm9ySnNvblN1YmRpcmVjdG9yeSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIlF1ZXN0aW9ucyDDqWNyaXRlcyBkZSBsYSBYVknDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTYvcXVlc3Rpb25zL3F1ZXN0aW9uc19lY3JpdGVzL1F1ZXN0aW9uc19lY3JpdGVzLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJRdWVzdGlvbnNfZ291dmVybmVtZW50X1hWSUkuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLkRpeFNlcHQsXG4gICAgICByZXBhaXJaaXA6IHJlcGFpckZvckpzb25TdWJkaXJlY3RvcnksXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJRdWVzdGlvbnMgYXUgZ291dmVybmVtZW50IGRlIGxhIFhWSUnDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTcvcXVlc3Rpb25zL3F1ZXN0aW9uc19nb3V2ZXJuZW1lbnQvUXVlc3Rpb25zX2dvdXZlcm5lbWVudC5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiUXVlc3Rpb25zX2dvdXZlcm5lbWVudF9YVkkuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlNlaXplLFxuICAgICAgcmVwYWlyWmlwOiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiUXVlc3Rpb25zIGF1IGdvdXZlcm5lbWVudCBkZSBsYSBYVknDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTYvcXVlc3Rpb25zL3F1ZXN0aW9uc19nb3V2ZXJuZW1lbnQvUXVlc3Rpb25zX2dvdXZlcm5lbWVudC5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiUXVlc3Rpb25zX29yYWxlc19YVklJLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5EaXhTZXB0LFxuICAgICAgcmVwYWlyWmlwOiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiUXVlc3Rpb25zIG9yYWxlcyBzYW5zIGTDqWJhdHMgZGUgbGEgWFZJScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNy9xdWVzdGlvbnMvcXVlc3Rpb25zX29yYWxlc19zYW5zX2RlYmF0L1F1ZXN0aW9uc19vcmFsZXNfc2Fuc19kZWJhdC5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiUXVlc3Rpb25zX29yYWxlc19YVkkuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlNlaXplLFxuICAgICAgcmVwYWlyWmlwOiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiUXVlc3Rpb25zIG9yYWxlcyBzYW5zIGTDqWJhdHMgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L3F1ZXN0aW9ucy9xdWVzdGlvbnNfb3JhbGVzX3NhbnNfZGViYXQvUXVlc3Rpb25zX29yYWxlc19zYW5zX2RlYmF0Lmpzb24uemlwXCIsXG4gICAgfSxcbiAgXSxcbiAgY29tcHRlc1JlbmR1c1NlYW5jZXM6IFtcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJDb21wdGVzX1JlbmR1c19TZWFuY2VzX1hWSUkueG1sXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuRGl4U2VwdCxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcInhtbFwiKSwgdGFyZ2V0RGlyKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkNvbXB0ZXMgcmVuZHVzIGRlcyBzw6lhbmNlcyBwdWJsaXF1ZXMgZGUgbGEgWFZJScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTcvdnAvc3ljZXJvbmJydXQvc3lzZXJvbi54bWwuemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJDb21wdGVzX1JlbmR1c19TZWFuY2VzX1hWSS54bWxcIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcInhtbFwiKSwgdGFyZ2V0RGlyKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkNvbXB0ZXMgcmVuZHVzIGRlcyBzw6lhbmNlcyBwdWJsaXF1ZXMgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwczovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNi92cC9zeWNlcm9uYnJ1dC9zeXNlcm9uLnhtbC56aXBcIixcbiAgICB9LFxuICBdLFxuICB0ZXh0ZXNMb2k6IFtcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJUZXh0ZXNfTG9pX1hWSVwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlNlaXplLFxuICAgICAgcmVwYWlyWmlwOiByZXBhaXJGb3JKc29uU3ViZGlyZWN0b3J5LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiVGV4dGVzIGRlIGxvaSBkZSBsYSBYVknDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgZG93bmxvYWQ6IHByb2Nlc3NUZXh0ZXNMb2lEYXRhc2V0LFxuICAgICAgY2xlYW46IHByb2Nlc3NUZXh0ZXNMb2lEYXRhc2V0LFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiVGV4dGVzX0xvaV9YVklJXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuRGl4U2VwdCxcbiAgICAgIHJlcGFpclppcDogcmVwYWlyRm9ySnNvblN1YmRpcmVjdG9yeSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIlRleHRlcyBkZSBsb2kgZGUgbGEgWFZJScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICBkb3dubG9hZDogcHJvY2Vzc1RleHRlc0xvaURhdGFzZXQsXG4gICAgICBjbGVhbjogcHJvY2Vzc1RleHRlc0xvaURhdGFzZXQsXG4gICAgfSxcbiAgXSxcbn1cblxuY29uc3QgZGlyZWN0b3J5MnNjaGVtYTogYW55ID0ge1xuICBcIi4qQWdlbmRhXy4qXCI6IFwiYWdlbmRhXCIsXG4gIFwiLipTY3J1dGluc18uKlwiOiBcInNjcnV0aW5cIixcbiAgXCIuKlF1ZXN0aW9uc18uKlwiOiBcInF1ZXN0aW9uXCIsXG4gIFwiLipBbWVuZGVtZW50c18uKlwiOiBcImFtZW5kZW1lbnRcIixcbiAgXCIuKkRvc3NpZXJzX0xlZ2lzbGF0aWZzXy4qL2RvY3VtZW50c1wiOiBcImRvY3VtZW50XCIsXG4gIFwiLipEb3NzaWVyc19MZWdpc2xhdGlmc18uKi9kb3NzaWVyc1wiOiBcImRvc3NpZXJcIixcbiAgXCIuKmFjdGV1cnNfbWFuZGF0c19vcmdhbmVzL29yZ2FuZXNcIjogXCJvcmdhbmVcIixcbiAgXCIuKmFjdGV1cnNfbWFuZGF0c19vcmdhbmVzL2FjdGV1cnNcIjogXCJhY3RldXJcIixcbiAgXCIuKkFNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWUuKi9vcmdhbmVzXCI6XG4gICAgXCJvcmdhbmVcIixcbiAgXCIuKkFNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWUuKi9hY3RldXJzXCI6XG4gICAgXCJhY3RldXJcIixcbiAgXCIuKkNvbXB0ZXNfUmVuZHVzX1NlYW5jZXNfLipcIjogXCJkZWJhdFwiLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGF0YXNldHMoKTogYW55IHtcbiAgcmV0dXJuIFtcbiAgICBcIkFnZW5kYV9YSVZcIixcbiAgICBcIkFnZW5kYV9YVlwiLFxuICAgIFwiQWdlbmRhX1hWSVwiLFxuICAgIFwiQWdlbmRhX1hWSUlcIixcbiAgICBcIlNjcnV0aW5zX1hJVlwiLFxuICAgIFwiU2NydXRpbnNfWFZcIixcbiAgICBcIlNjcnV0aW5zX1hWSVwiLFxuICAgIFwiU2NydXRpbnNfWFZJSVwiLFxuICAgIFwiUXVlc3Rpb25zX0Vjcml0ZXNfWFZJXCIsXG4gICAgXCJRdWVzdGlvbnNfRWNyaXRlc19YVklJXCIsXG4gICAgXCJRdWVzdGlvbnNfR291dmVybmVtZW50X1hWSVwiLFxuICAgIFwiUXVlc3Rpb25zX0dvdXZlcm5lbWVudF9YVklJXCIsXG4gICAgXCJBbWVuZGVtZW50c19YSVZcIixcbiAgICBcIkFtZW5kZW1lbnRzX1hWXCIsXG4gICAgXCJBbWVuZGVtZW50c19YVklcIixcbiAgICBcIkFtZW5kZW1lbnRzX1hWSUlcIixcbiAgICBcIkRvc3NpZXJzX0xlZ2lzbGF0aWZzX1hJVlwiLFxuICAgIFwiRG9zc2llcnNfTGVnaXNsYXRpZnNfWFZcIixcbiAgICBcIkRvc3NpZXJzX0xlZ2lzbGF0aWZzX1hWSVwiLFxuICAgIFwiRG9zc2llcnNfTGVnaXNsYXRpZnNfWFZJSVwiLFxuICAgIFwiQU1PMzBfdG91c19hY3RldXJzX3RvdXNfbWFuZGF0c190b3VzX29yZ2FuZXNfaGlzdG9yaXF1ZVwiLFxuICAgIFwiYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXNcIixcbiAgICBcIkNvbXB0ZXNfUmVuZHVzX1NlYW5jZXNfWFZJXCIsXG4gICAgXCJDb21wdGVzX1JlbmR1c19TZWFuY2VzX1hWSUlcIixcbiAgXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWREYXRhc2V0KGRpcjogYW55KTogYW55IHtcbiAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGdldERhdGFzZXRzKCkpIHtcbiAgICBpZiAoZGlyLmluY2x1ZGVzKGRhdGFzZXQpKSByZXR1cm4gdHJ1ZVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NoZW1hcygpOiBhbnkge1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhkaXJlY3Rvcnkyc2NoZW1hKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0YXNldERpcmVjdG9yeVNjaGVtYShkYXRhc2V0OiBzdHJpbmcpOiBhbnkge1xuICBsZXQgZGlyZWN0b3JpZXM6IGFueVxuICBpZiAoZGF0YXNldC5pbmNsdWRlcyhcIkRvc3NpZXJzX0xlZ2lzbGF0aWZzX1wiKSkge1xuICAgIGRpcmVjdG9yaWVzID0gW2Ake2RhdGFzZXR9L2RvY3VtZW50c2AsIGAke2RhdGFzZXR9L2Rvc3NpZXJzYF1cbiAgfSBlbHNlIGlmIChcbiAgICBkYXRhc2V0LmluY2x1ZGVzKFwiYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXNcIikgfHxcbiAgICBkYXRhc2V0LmluY2x1ZGVzKFwiQU1PMzBfdG91c19hY3RldXJzX3RvdXNfbWFuZGF0c190b3VzX29yZ2FuZXNfaGlzdG9yaXF1ZVwiKVxuICApIHtcbiAgICBkaXJlY3RvcmllcyA9IFtgJHtkYXRhc2V0fS9vcmdhbmVzYCwgYCR7ZGF0YXNldH0vYWN0ZXVyc2BdXG4gIH0gZWxzZSB7XG4gICAgZGlyZWN0b3JpZXMgPSBbZGF0YXNldF1cbiAgfVxuXG4gIGxldCByZXN1bHRzID0gW11cbiAgZm9yIChjb25zdCBkaXJlY3Rvcnkgb2YgZGlyZWN0b3JpZXMpIHtcbiAgICBmb3IgKGNvbnN0IHJlIG9mIE9iamVjdC5rZXlzKGRpcmVjdG9yeTJzY2hlbWEpKSB7XG4gICAgICBpZiAobmV3IFJlZ0V4cChyZSkuZXhlYyhkaXJlY3RvcnkpKVxuICAgICAgICByZXN1bHRzLnB1c2goW2Ake2RpcmVjdG9yeX0vKiovKi5qc29uYCwgZGlyZWN0b3J5MnNjaGVtYVtyZV1dKVxuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0c1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsZURhdGFzZXRVcmwoZmlsZW5hbWU6IHN0cmluZyk6IFtzdHJpbmcsIHN0cmluZ10gfCBudWxsIHtcbiAgY29uc3QgcmUgPSBcIl4uKi8oLiopX25ldHRveWUvKC4qKVwiXG4gIGNvbnN0IG1hdGNoID0gbmV3IFJlZ0V4cChyZSkuZXhlYyhmaWxlbmFtZSlcbiAgaWYgKG1hdGNoID09IG51bGwpIHJldHVybiBudWxsXG4gIGxldCBbZGF0YXNldCwgZmlsZV0gPSBbbWF0Y2hbMV0sIG1hdGNoWzJdXVxuICBpZiAoZGF0YXNldCA9PSBcIkFNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWVcIilcbiAgICBkYXRhc2V0ID0gXCJhY3RldXJzX21hbmRhdHNfb3JnYW5lc1wiXG4gIHJldHVybiBbZGF0YXNldCwgZmlsZV1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRpZmZVcHN0cmVhbShmaWxlbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgZGF0YXNldFVybCA9IGZpbGVEYXRhc2V0VXJsKGZpbGVuYW1lKVxuICBpZiAoZGF0YXNldFVybCA9PSBudWxsKSByZXR1cm4gZmlsZW5hbWVcbiAgY29uc3QgW2RhdGFzZXQsIGZpbGVdID0gZGF0YXNldFVybFxuICBjb25zdCBzdW0gPSBjcmVhdGVIYXNoKFwic2hhMVwiKS51cGRhdGUoZmlsZSkuZGlnZXN0KFwiaGV4XCIpLnRvU3RyaW5nKClcbiAgcmV0dXJuIGBbJHtmaWxlfV0oaHR0cHM6Ly9naXQuZW4tcm9vdC5vcmcvdHJpY290ZXVzZXMvZGF0YS50cmljb3RldXNlcy5mci8ke2RhdGFzZXR9Ly0vY29tcGFyZS91cHN0cmVhbS4uLm1hc3RlciMke3N1bX0pYFxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFzdGVyVXJsKGZpbGVuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBkYXRhc2V0VXJsID0gZmlsZURhdGFzZXRVcmwoZmlsZW5hbWUpXG4gIGlmIChkYXRhc2V0VXJsID09IG51bGwpIHJldHVybiBmaWxlbmFtZVxuICBjb25zdCBbZGF0YXNldCwgZmlsZV0gPSBkYXRhc2V0VXJsXG4gIHJldHVybiBgWyR7ZmlsZX1dKGh0dHBzOi8vZ2l0LmVuLXJvb3Qub3JnL3RyaWNvdGV1c2VzL2RhdGEudHJpY290ZXVzZXMuZnIvJHtkYXRhc2V0fS8tL3RyZWUvbWFzdGVyLyR7ZmlsZX0pYFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyQnlMZWdpc2xhdHVyZShcbiAgZGF0YXNldHM6IERhdGFzZXRzLFxuICBsZWdpc2xhdHVyZTogYW55LFxuKTogRGF0YXNldHMge1xuICAvLyBXaGVuIGEgZ2l2ZW4gbGVnaXNsYXR1cmUgaXMgMCwgaXQgaXMgdGhlIHNhbWUgYXMgZ2l2aW5nIG5vIGxlZ2lzbGF0dXJlOlxuICAvLyBJdCBtZWFucyBcImV2ZXJ5IGxlZ2lzbGF0dXJlc1wiLlxuICBpZiAobGVnaXNsYXR1cmUgIT09IDAgJiYgbGVnaXNsYXR1cmUgIT09IHVuZGVmaW5lZCkge1xuICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhkYXRhc2V0cykpIHtcbiAgICAgIGRhdGFzZXRzW2tleSBhcyBrZXlvZiB0eXBlb2YgZGF0YXNldHNdID0gdmFsdWUuZmlsdGVyKFxuICAgICAgICAoZGF0YXNldDogeyBsZWdpc2xhdHVyZTogYW55IH0pID0+XG4gICAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSA9PT0gTGVnaXNsYXR1cmUuQWxsIHx8XG4gICAgICAgICAgbGVnaXNsYXR1cmUgPT09IGRhdGFzZXQubGVnaXNsYXR1cmUsXG4gICAgICApXG4gICAgfVxuICB9XG4gIHJldHVybiBkYXRhc2V0c1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW5hYmxlZERhdGFzZXRzKGNhdGVnb3JpZXM6IGFueSk6IEVuYWJsZWREYXRhc2V0cyB7XG4gIGNhdGVnb3JpZXMubWFwKChkYXRhc2V0TmFtZTogc3RyaW5nKSA9PlxuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgIChFbmFibGVkRGF0YXNldHMgYXMgYW55IGFzIHsgW25hbWU6IHN0cmluZ106IEVuYWJsZWREYXRhc2V0cyB9KVtcbiAgICAgICAgZGF0YXNldE5hbWVcbiAgICAgIF0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBgVW5rbm93biBuYW1lIG9mIGRhdGFzZXQ6ICR7ZGF0YXNldE5hbWV9YCxcbiAgICApLFxuICApXG5cbiAgcmV0dXJuIGNhdGVnb3JpZXMucmVkdWNlKFxuICAgIChlbmFibGVkRGF0YXNldHM6IEVuYWJsZWREYXRhc2V0cywgZGF0YXNldE5hbWU6IHN0cmluZyk6IEVuYWJsZWREYXRhc2V0cyA9PlxuICAgICAgZW5hYmxlZERhdGFzZXRzIHxcbiAgICAgIChFbmFibGVkRGF0YXNldHMgYXMgYW55IGFzIHsgW25hbWU6IHN0cmluZ106IEVuYWJsZWREYXRhc2V0cyB9KVtcbiAgICAgICAgZGF0YXNldE5hbWVcbiAgICAgIF0sXG4gICAgRW5hYmxlZERhdGFzZXRzLk5vbmUsXG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsVUFBVSxRQUFRLFFBQVE7QUFDbkMsT0FBT0MsTUFBTSxNQUFNLFFBQVE7QUFDM0IsT0FBT0MsRUFBRSxNQUFNLFVBQVU7QUFDekIsT0FBT0MsSUFBSSxNQUFNLE1BQU07QUFBQSxTQUVkQyxXQUFXO0FBQUEsU0FDWEMsdUJBQXVCO0FBbUNoQyxXQUFZQyxnQkFBZ0IsMEJBQWhCQSxnQkFBZ0I7RUFBaEJBLGdCQUFnQixDQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0IsQ0FBaEJBLGdCQUFnQjtFQUFBLE9BQWhCQSxnQkFBZ0I7QUFBQTtBQUs1QixXQUFZQyxlQUFlLDBCQUFmQSxl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
|
|
@@ -137,7 +137,7 @@ export interface Vote {
|
|
|
137
137
|
}
|
|
138
138
|
export interface DecompteNominatif {
|
|
139
139
|
nonVotant?: null;
|
|
140
|
-
nonVotants?:
|
|
140
|
+
nonVotants?: VotantsClass | null | string;
|
|
141
141
|
pour?: VotantsClass | null;
|
|
142
142
|
contre?: VotantsClass | null;
|
|
143
143
|
abstention?: VotantsClass | null;
|
|
@@ -153,15 +153,6 @@ export interface Votant {
|
|
|
153
153
|
mandatRef: string;
|
|
154
154
|
parDelegation?: string;
|
|
155
155
|
numPlace?: string;
|
|
156
|
-
}
|
|
157
|
-
export interface NonVotantsClass {
|
|
158
|
-
votant: NonVotant[] | NonVotant;
|
|
159
|
-
}
|
|
160
|
-
export interface NonVotant {
|
|
161
|
-
acteurRef: string;
|
|
162
|
-
mandatRef: string;
|
|
163
|
-
parDelegation?: string;
|
|
164
|
-
numPlace?: string;
|
|
165
156
|
causePositionVote: CausePositionVote;
|
|
166
157
|
}
|
|
167
158
|
export declare enum CausePositionVote {
|