@cubist-labs/cubesigner-sdk 0.4.280 → 0.4.281
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/dist/package.json +1 -1
- package/dist/spec/env/beta.json +0 -6
- package/dist/src/client/api_client.d.ts.map +1 -1
- package/dist/src/key.d.ts +35 -2
- package/dist/src/key.d.ts.map +1 -1
- package/dist/src/key.js +34 -1
- package/dist/src/mfa.d.ts.map +1 -1
- package/dist/src/org.d.ts.map +1 -1
- package/dist/src/role.d.ts.map +1 -1
- package/dist/src/schema.d.ts +34 -1
- package/dist/src/schema.d.ts.map +1 -1
- package/dist/src/schema.js +1 -1
- package/dist/src/scopes.d.ts.map +1 -1
- package/dist/src/scopes.js +2 -1
- package/package.json +1 -1
- package/src/key.ts +50 -0
- package/src/schema.ts +34 -0
- package/src/scopes.ts +1 -0
package/dist/src/scopes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../src/scopes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,EAAE,CAAA;CAAE,CAAC,CAAC;AAEtF,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;CACxB;AAED,mDAAmD;AACnD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../src/scopes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,EAAE,CAAA;CAAE,CAAC,CAAC;AAEtF,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;CACxB;AAED,mDAAmD;AACnD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAqRnD,CAAC;AA0FF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAA4C,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;eArZsB,MAAM;gBAAU,SAAS,EAAE;;;eAA3B,MAAM;gBAAU,SAAS,EAAE;;;eAA3B,MAAM;gBAAU,SAAS,EAAE;;;;;;CAibtD,CAAC;AAE7B;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;eAvbsB,MAAM;gBAAU,SAAS,EAAE;;;eAA3B,MAAM;gBAAU,SAAS,EAAE;;;eAA3B,MAAM;gBAAU,SAAS,EAAE;;;eAA3B,MAAM;gBAAU,SAAS,EAAE;;CA4bjF,CAAC"}
|
package/dist/src/scopes.js
CHANGED
|
@@ -112,6 +112,7 @@ export const AllScopes =
|
|
|
112
112
|
"manage:key:update:owner": "Allows access only to the key 'update' endpoint, but restricting updates to the key 'owner' property",
|
|
113
113
|
"manage:key:update:region": "Allows access only to the key 'update' endpoint, but restricting updates to the key 'region' property",
|
|
114
114
|
"manage:key:update:policy": "Allows access only to the key 'update' endpoint, but restricting updates to the key 'policy' property",
|
|
115
|
+
"manage:key:update:acl": "Allows access only to the key 'update' endpoint, but restricting updates to the key 'acl' property",
|
|
115
116
|
"manage:key:update:enabled": "Allows access only to the key 'update' endpoint, but restricting updates to the key 'enabled' property",
|
|
116
117
|
"manage:key:update:metadata": "Allows access only to the key 'update' endpoint and restricts updates to the key 'metadata' property",
|
|
117
118
|
"manage:key:update:properties": "Allows access only to the key 'update' endpoint and restricts updates to the key 'properties' property",
|
|
@@ -424,4 +425,4 @@ export const userScopesDictionary = {
|
|
|
424
425
|
mmi: allScopesDictionary.mmi,
|
|
425
426
|
rpc: allScopesDictionary.rpc,
|
|
426
427
|
};
|
|
427
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Njb3Blcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQ0FBZ0M7QUFZaEMsbURBQW1EO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLFNBQVM7QUFDcEIsa0JBQWtCO0FBQ2xCO0lBQ0EsUUFBUSxFQUF3Qyx1R0FBdUc7SUFDdkosVUFBVSxFQUFzQywwQ0FBMEM7SUFDMUYsV0FBVyxFQUFxQywyQ0FBMkM7SUFDM0Ysb0JBQW9CLEVBQTRCLHdKQUF3SjtJQUN4TSxZQUFZLEVBQW9DLG9DQUFvQztJQUNwRixpQkFBaUIsRUFBK0IsK0RBQStEO0lBQy9HLGtCQUFrQixFQUE4QixnRUFBZ0U7SUFDaEgsaUJBQWlCLEVBQStCLDZEQUE2RDtJQUM3RyxvQkFBb0IsRUFBNEIsMERBQTBEO0lBQzFHLHNCQUFzQixFQUEwQiw0REFBNEQ7SUFDNUcsc0JBQXNCLEVBQTBCLDREQUE0RDtJQUM1Ryx1QkFBdUIsRUFBeUIsNkRBQTZEO0lBQzdHLHlCQUF5QixFQUF1QixxRUFBcUU7SUFDckgsb0JBQW9CLEVBQTRCLG9FQUFvRTtJQUNwSCx5QkFBeUIsRUFBdUIsbUVBQW1FO0lBQ25ILHlCQUF5QixFQUF1QixtRUFBbUU7SUFDbkgsZ0JBQWdCLEVBQWdDLGtFQUFrRTtJQUNsSCwwQkFBMEIsRUFBc0IsdUZBQXVGO0lBQ3ZJLHNCQUFzQixFQUEwQixnRkFBZ0Y7SUFDaEksNkJBQTZCLEVBQW1CLHVGQUF1RjtJQUN2SSwrQkFBK0IsRUFBaUIsNEZBQTRGO0lBQzVJLHdDQUF3QyxFQUFRLHFHQUFxRztJQUNySiwwQkFBMEIsRUFBc0IsdUZBQXVGO0lBQ3ZJLHVCQUF1QixFQUF5QixvRkFBb0Y7SUFDcEksZ0NBQWdDLEVBQWdCLDZGQUE2RjtJQUM3SSx1Q0FBdUMsRUFBUyxvR0FBb0c7SUFDcEosdUJBQXVCLEVBQXlCLG9GQUFvRjtJQUNwSSw4QkFBOEIsRUFBa0IsMkZBQTJGO0lBQzNJLDhC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eUIsQ0FBQztBQUU3Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRztJQUNsQyxNQUFNLEVBQUUsbUJBQW1CLENBQUMsTUFBTTtJQUNsQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsSUFBSTtJQUM5QixHQUFHLEVBQUUsbUJBQW1CLENBQUMsR0FBRztJQUM1QixHQUFHLEVBQUUsbUJBQW1CLENBQUMsR0FBRztDQUM3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUgc3BhY2VkLWNvbW1lbnRcblxuaW1wb3J0IHsgdHlwZSBFeHBsaWNpdFNjb3BlIH0gZnJvbSBcIi4vaW5kZXgudHNcIjtcblxuZXhwb3J0IHR5cGUgU2NvcGVzRGljdGlvbmFyeSA9IFJlY29yZDxzdHJpbmcsIHsgbGFiZWw6IHN0cmluZzsgc2NvcGVzOiBTY29wZUl0ZW1bXSB9PjtcblxuZXhwb3J0IGludGVyZmFjZSBTY29wZUl0ZW0ge1xuICB2YWx1ZTogRXhwbGljaXRTY29wZTtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgY2hpbGRyZW4/OiBTY29wZUl0ZW1bXTtcbn1cblxuLyoqIE1hcHBpbmcgZnJvbSBzY29wZSBuYW1lIHRvIHNjb3BlIGRlc2NyaXB0aW9uICovXG5leHBvcnQgY29uc3QgQWxsU2NvcGVzOiBSZWNvcmQ8RXhwbGljaXRTY29wZSwgc3RyaW5nPiA9XG4gIC8vIHByZXR0aWVyLWlnbm9yZVxuICB7XG4gIFwic2lnbjoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBzaWduZXIgZW5kcG9pbnRzIChlLmcuLCBzaWduIGJsb2IsIHNpZ24gYml0Y29pbi9hdmFsYW5jaGUvZXZtIHRyYW5zYWN0aW9uLCBldGMuKVwiLFxuICBcInNpZ246YXZhXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbiAnYXZhJyBlbmRwb2ludFwiLFxuICBcInNpZ246YmxvYlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbiAnYmxvYicgZW5kcG9pbnRcIixcbiAgXCJzaWduOmRpZmZpZUhlbGxtYW5cIiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIERpZmZpZS1IZWxsbWFuIGVuZHBvaW50LiBUaGlzIGlzIG5vdCByZWFsbHkgc2lnbmluZywgYnV0IHdlIHB1dCBpdCB1bmRlciB0aGUgYHNpZ25gIGhpZXJhcmNoeSBiZWNhdXNlIGl0IGlzIGNvbmNlcHR1YWxseSBzaW1pbGFyLlwiLFxuICBcInNpZ246YnRjOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgQlRDIGVuZHBvaW50c1wiLFxuICBcInNpZ246YnRjOnNlZ3dpdFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbmluZyBlbmRwb2ludCBmb3Igc2Vnd2l0IHRyYW5zYWN0aW9uc1wiLFxuICBcInNpZ246YnRjOnRhcHJvb3RcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbmluZyBlbmRwb2ludCBmb3IgdGFwcm9vdCB0cmFuc2FjdGlvbnNcIixcbiAgXCJzaWduOmJ0Yzpwc2J0OipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIFBTQlQgc2lnbmluZyBlbmRwb2ludCBmb3IgYW55IGtleSB0eXBlXCIsXG4gIFwic2lnbjpidGM6cHNidDpkb2dlXCIgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBQU0JUIHNpZ25pbmcgZW5kcG9pbnQgZm9yIERvZ2Uga2V5c1wiLFxuICBcInNpZ246YnRjOnBzYnQ6bGVnYWN5XCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgUFNCVCBzaWduaW5nIGVuZHBvaW50IGZvciBsZWdhY3kga2V5c1wiLFxuICBcInNpZ246YnRjOnBzYnQ6c2Vnd2l0XCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgUFNCVCBzaWduaW5nIGVuZHBvaW50IGZvciBzZWd3aXQga2V5c1wiLFxuICBcInNpZ246YnRjOnBzYnQ6dGFwcm9vdFwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgUFNCVCBzaWduaW5nIGVuZHBvaW50IGZvciB0YXByb290IGtleXNcIixcbiAgXCJzaWduOmJ0Yzpwc2J0Omx0Y1NlZ3dpdFwiICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIFBTQlQgc2lnbmluZyBlbmRwb2ludCBmb3IgTGl0ZWNvaW4gc2Vnd2l0IGtleXNcIixcbiAgXCJzaWduOmJ0YzptZXNzYWdlOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIEJUQyBtZXNzYWdlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIGFueSBrZXkgdHlwZVwiLFxuICBcInNpZ246YnRjOm1lc3NhZ2U6c2Vnd2l0XCIgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgQlRDIG1lc3NhZ2Ugc2lnbmluZyBlbmRwb2ludCBmb3Igc2Vnd2l0IGtleXNcIixcbiAgXCJzaWduOmJ0YzptZXNzYWdlOmxlZ2FjeVwiICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIEJUQyBtZXNzYWdlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIGxlZ2FjeSBrZXlzXCIsXG4gIFwic2lnbjpiaW5hbmNlOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBCaW5hbmNlIHNpZ24gZW5kcG9pbnQsIHdpdGhvdXQgcmVzdHJpY3Rpb25zXCIsXG4gIFwic2lnbjpiaW5hbmNlOmFjY291bnRJbmZvXCIgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBCaW5hbmNlIHNpZ24gZW5kcG9pbnQsIHJlc3RyaWN0ZWQgdG8gdGhlICdBY2NvdW50SW5mbycgb3BlcmF0aW9uXCIsXG4gIFwic2lnbjpiaW5hbmNlOmRlcG9zaXRcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBCaW5hbmNlIHNpZ24gZW5kcG9pbnQsIHJlc3RyaWN0ZWQgdG8gdGhlICdEZXBvc2l0JyBtZXRob2RcIixcbiAgXCJzaWduOmJpbmFuY2U6ZGVwb3NpdEhpc3RvcnlcIiAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIEJpbmFuY2Ugc2lnbiBlbmRwb2ludCwgcmVzdHJpY3RlZCB0byB0aGUgJ0RlcG9zaXRIaXN0b3J5JyBtZXRob2RcIixcbiAgXCJzaWduOmJpbmFuY2U6c3ViQWNjb3VudEFzc2V0c1wiICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIEJpbmFuY2Ugc2lnbiBlbmRwb2ludCwgcmVzdHJpY3RlZCB0byB0aGUgJ1N1YkFjY291bnRBc3NldHMnIG9wZXJhdGlvblwiLFxuICBcInNpZ246YmluYW5jZTpzdWJBY2NvdW50VHJhbnNmZXJIaXN0b3J5XCIgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgQmluYW5jZSBzaWduIGVuZHBvaW50LCByZXN0cmljdGVkIHRvIHRoZSAnU3ViQWNjb3VudFRyYW5zZmVySGlzdG9yeScgb3BlcmF0aW9uXCIsXG4gIFwic2lnbjpiaW5hbmNlOnN1YlRvTWFzdGVyXCIgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBCaW5hbmNlIHNpZ24gZW5kcG9pbnQsIHJlc3RyaWN0ZWQgdG8gdGhlICdTdWJUb01hc3Rlcicgb3BlcmF0aW9uXCIsXG4gIFwic2lnbjpiaW5hbmNlOnN1YlRvU3ViXCIgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBCaW5hbmNlIHNpZ24gZW5kcG9pbnQsIHJlc3RyaWN0ZWQgdG8gdGhlICdTdWJUb1N1Yicgb3BlcmF0aW9uXCIsXG4gIFwic2lnbjpiaW5hbmNlOnVuaXZlcnNhbFRyYW5zZmVyXCIgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBCaW5hbmNlIHNpZ24gZW5kcG9pbnQsIHJlc3RyaWN0ZWQgdG8gdGhlICdVbml2ZXJzYWxUcmFuc2Zlcicgb3BlcmF0aW9uXCIsXG4gIFwic2lnbjpiaW5hbmNlOnVuaXZlcnNhbFRyYW5zZmVySGlzdG9yeVwiICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBCaW5hbmNlIHNpZ24gZW5kcG9pbnQsIHJlc3RyaWN0ZWQgdG8gdGhlICdVbml2ZXJzYWxUcmFuc2Zlckhpc3RvcnknIG9wZXJhdGlvblwiLFxuICBcInNpZ246YmluYW5jZTp3aXRoZHJhd1wiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgQmluYW5jZSBzaWduIGVuZHBvaW50LCByZXN0cmljdGVkIHRvIHRoZSAnV2l0aGRyYXcnIG9wZXJhdGlvblwiLFxuICBcInNpZ246YmluYW5jZTp3aXRoZHJhd0hpc3RvcnlcIiAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgQmluYW5jZSBzaWduIGVuZHBvaW50LCByZXN0cmljdGVkIHRvIHRoZSAnV2l0aGRyYXdIaXN0b3J5JyBvcGVyYXRpb25cIixcbiAgXCJzaWduOmJpbmFuY2U6bGlzdFN1YkFjY291bnRzXCIgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHR5cGVkIHNpZ24gJ2JpbmFuY2UnIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdMaXN0U3ViQWNjb3VudHMnIG9wZXJhdGlvbi5cIixcbiAgXCJzaWduOmJpbmFuY2U6Y29pbkluZm9cIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHR5cGVkIHNpZ24gJ2JpbmFuY2UnIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdDb2luSW5mbycgb3BlcmF0aW9uLlwiLFxuICBcInNpZ246YmluYW5jZTpzdWJBY2NvdW50RGVwb3NpdEFkZHJlc3NcIiAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgdHlwZWQgc2lnbiAnYmluYW5jZScgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ1N1YkFjY291bnREZXBvc2l0QWRkcmVzcycgb3BlcmF0aW9uLlwiLFxuICBcInNpZ246YmFieWxvbjoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgQmFieWxvbiBlbmRwb2ludHNcIixcbiAgXCJzaWduOmJhYnlsb246ZW90czoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIEJhYnlsb24gRU9UUyBlbmRwb2ludHNcIixcbiAgXCJzaWduOmJhYnlsb246ZW90czpub25jZXNcIiAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIEVPVFMgbm9uY2UgZ2VuZXJhdGlvbiBlbmRwb2ludFwiLFxuICBcInNpZ246YmFieWxvbjplb3RzOnNpZ25cIiAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgRU9UUyBzaWduaW5nIGVuZHBvaW50XCIsXG4gIFwic2lnbjpiYWJ5bG9uOnN0YWtpbmc6KlwiICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGVuZHBvaW50IGZvciBhbGwgQmFieWxvbiBzdGFraW5nIG9wZXJhdGlvbnNcIixcbiAgXCJzaWduOmJhYnlsb246c3Rha2luZzpkZXBvc2l0XCIgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIEJhYnlsb24gZGVwb3NpdHNcIixcbiAgXCJzaWduOmJhYnlsb246c3Rha2luZzp1bmJvbmRcIiAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIEJhYnlsb24gdW5ib25kaW5nXCIsXG4gIFwic2lnbjpiYWJ5bG9uOnN0YWtpbmc6d2l0aGRyYXdcIiAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGVuZHBvaW50IGZvciBCYWJ5bG9uIHdpdGhkcmF3YWxzXCIsXG4gIFwic2lnbjpiYWJ5bG9uOnN0YWtpbmc6c2xhc2hcIiAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGVuZHBvaW50IGZvciBCYWJ5bG9uIHNsYXNoaW5nIHByZS1zaWduYXR1cmVzXCIsXG4gIFwic2lnbjpiYWJ5bG9uOnJlZ2lzdHJhdGlvblwiICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGVuZHBvaW50IGZvciBCYWJ5bG9uIHJlZ2lzdHJhdGlvblwiLFxuICBcInNpZ246YmFieWxvbjpjb3ZlbmFudFwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbmluZyBlbmRwb2ludCBmb3IgQmFieWxvbiBjb3ZlbmFudCBzaWduaW5nXCIsXG4gIFwic2lnbjpieWJpdDoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSB0eXBlZCBzaWduICdieWJpdCcgZW5kcG9pbnQgKHNpZ25zIEJ5Yml0IFJQQyByZXF1ZXN0cykuXCIsXG4gIFwic2lnbjpieWJpdDpxdWVyeVVzZXJcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSB0eXBlZCBzaWduICdieWJpdCcgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ1F1ZXJ5VXNlcicgb3BlcmF0aW9uLlwiLFxuICBcInNpZ246YnliaXQ6cXVlcnlTdWJNZW1iZXJzXCIgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgdHlwZWQgc2lnbiAnYnliaXQnIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdRdWVyeVN1Yk1lbWJlcnMnIG9wZXJhdGlvbi5cIixcbiAgXCJzaWduOmJ5Yml0OnF1ZXJ5Q29pbnNCYWxhbmNlXCIgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHR5cGVkIHNpZ24gJ2J5Yml0JyBlbmRwb2ludCwgYnV0IG9ubHkgZm9yIHRoZSAnUXVlcnlDb2luc0JhbGFuY2UnIG9wZXJhdGlvbi5cIixcbiAgXCJzaWduOmJ5Yml0OnF1ZXJ5Q29pbkluZm9cIiAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHR5cGVkIHNpZ24gJ2J5Yml0JyBlbmRwb2ludCwgYnV0IG9ubHkgZm9yIHRoZSAnUXVlcnlDb2luSW5mbycgb3BlcmF0aW9uLlwiLFxuICBcInNpZ246YnliaXQ6cXVlcnlEZXBvc2l0QWRkcmVzc1wiICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgdHlwZWQgc2lnbiAnYnliaXQnIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdRdWVyeURlcG9zaXRBZGRyZXNzJyBvcGVyYXRpb24uXCIsXG4gIFwic2lnbjpieWJpdDpkZXBvc2l0SGlzdG9yeVwiICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSB0eXBlZCBzaWduICdieWJpdCcgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ0RlcG9zaXRIaXN0b3J5JyBvcGVyYXRpb24uXCIsXG4gIFwic2lnbjpieWJpdDp1bml2ZXJzYWxUcmFuc2ZlclwiICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSB0eXBlZCBzaWduICdieWJpdCcgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ1VuaXZlcnNhbFRyYW5zZmVyJyBvcGVyYXRpb24uXCIsXG4gIFwic2lnbjpieWJpdDp1bml2ZXJzYWxUcmFuc2Zlckhpc3RvcnlcIiAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSB0eXBlZCBzaWduICdieWJpdCcgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ1VuaXZlcnNhbFRyYW5zZmVySGlzdG9yeScgb3BlcmF0aW9uLlwiLFxuICBcInNpZ246YnliaXQ6d2l0aGRyYXdcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgdHlwZWQgc2lnbiAnYnliaXQnIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdXaXRoZHJhdycgb3BlcmF0aW9uLlwiLFxuICBcInNpZ246YnliaXQ6d2l0aGRyYXdhbHNcIiAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgdHlwZWQgc2lnbiAnYnliaXQnIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdXaXRoZHJhd2Fscycgb3BlcmF0aW9uLlwiLFxuICBcInNpZ246YnliaXQ6cXVlcnlXaXRoZHJhd0FkZHJlc3NcIiAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgdHlwZWQgc2lnbiAnYnliaXQnIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdRdWVyeVdpdGhkcmF3QWRkcmVzcycgb3BlcmF0aW9uLlwiLFxuICBcInNpZ246YnliaXQ6cXVlcnlTdWJEZXBvc2l0QWRkcmVzc1wiICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgdHlwZWQgc2lnbiAnYnliaXQnIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdRdWVyeVN1YkRlcG9zaXRBZGRyZXNzJyBvcGVyYXRpb24uXCIsXG4gIFwic2lnbjpjb2luYmFzZToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSB0eXBlZCBzaWduICdjb2luYmFzZScgZW5kcG9pbnQgKHNpZ25zIENvaW5iYXNlIFJQQyByZXF1ZXN0cykuXCIsXG4gIFwic2lnbjpjb2luYmFzZTphY2NvdW50czpsaXN0XCIgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSB0eXBlZCBzaWduICdjb2luYmFzZScgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ0xpc3RBY2NvdW50cycgb3BlcmF0aW9uLlwiLFxuICBcInNpZ246Y29pbmJhc2U6cG9ydGZvbGlvczpsaXN0XCIgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgdHlwZWQgc2lnbiAnY29pbmJhc2UnIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdMaXN0UG9ydGZvbGlvcycgb3BlcmF0aW9uLlwiLFxuICBcInNpZ246Y29pbmJhc2U6ZnVuZHM6bW92ZVwiICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgdHlwZWQgc2lnbiAnY29pbmJhc2UnIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdNb3ZlRnVuZHMnIG9wZXJhdGlvbi5cIixcbiAgXCJzaWduOmV2bToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHNpZ24gJ2V2bScgZW5kcG9pbnRzXCIsXG4gIFwic2lnbjpldm06dHhcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGVuZHBvaW50IGZvciBldm0gdHJhbnNhY3Rpb25zXCIsXG4gIFwic2lnbjpldm06ZWlwMTkxXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGVuZHBvaW50IGZvciBFSVAtMTkxIHBlcnNvbmFsX21lc3NhZ2UgZGF0YVwiLFxuICBcInNpZ246ZXZtOmVpcDcxMlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbmluZyBlbmRwb2ludCBmb3IgRUlQLTcxMiB0eXBlZCBkYXRhXCIsXG4gIFwic2lnbjpldm06ZWlwNzcwMlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGVuZHBvaW50IGZvciBFSVAtNzcwMiBhdXRob3JpemF0aW9uIHJlcXVlc3RzXCIsXG4gIFwic2lnbjpldGgyOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBzaWduICdldGgyJyBlbmRwb2ludHNcIixcbiAgXCJzaWduOmV0aDI6dmFsaWRhdGVcIiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ24gZXRoMiAndmFsaWRhdGUnIGVuZHBvaW50XCIsXG4gIFwic2lnbjpldGgyOnN0YWtlXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduIGV0aDIgJ3N0YWtlJyBlbmRwb2ludFwiLFxuICBcInNpZ246ZXRoMjp1bnN0YWtlXCIgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbiBldGgyICd1bnN0YWtlJyBlbmRwb2ludFwiLFxuICBcInNpZ246c29sYW5hXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbiAnc29sYW5hJyBlbmRwb2ludFwiLFxuICBcInNpZ246c3VpXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbiAnc3VpJyBlbmRwb2ludFwiLFxuICBcInNpZ246dGVuZGVybWludFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbiAndGVuZGVybWludCcgZW5kcG9pbnRcIixcbiAgXCJzaWduOm1taVwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ24gJ21taScgZW5kcG9pbnRcIixcbiAgXCJzaWduOmF1dG9cIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBNTUkgcmVxdWVzdHMgZm9yIGtleXMgd2l0aCB0aGUgJ0FsbG93QXV0b1NpZ24nIHBvbGljeSB0byBiZSBzaWduZWQgYXV0b21hdGljYWxseS5cIixcbiAgXCJtYW5hZ2U6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIG1hbmFnZW1lbnQgZW5kcG9pbnRzIChlLmcuLCBjcmVhdGUgcm9sZSwgY3JlYXRlIGtleSwgYWRkIGtleSB0byByb2xlLCBldGMuKVwiLFxuICBcIm1hbmFnZTpyZWFkb25seVwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgbWFuYWdlbWVudCByZWFkb25seSBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6ZW1haWw6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgZW1haWwgbWFuYWdlbWVudCBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6ZW1haWw6Z2V0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgZW1haWwgY29uZmlndXJhdGlvbiAnZ2V0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTplbWFpbDp1cGRhdGVcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBlbWFpbCBjb25maWd1cmF0aW9uICd1cGRhdGUnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmVtYWlsOmRlbGV0ZVwiICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGVtYWlsIGNvbmZpZ3VyYXRpb24gJ2RlbGV0ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6bWZhOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byBNRkEgZW5kcG9pbnRzIChlLmcuLCBnZXQvYXBwcm92ZSBleGlzdGluZyBNRkEgcmVxdWVzdClcIixcbiAgXCJtYW5hZ2U6bWZhOnJlYWRvbmx5XCIgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byBNRkEgcmVhZG9ubHkgZW5kcG9pbnRzIChlLmcuLCBnZXQvbGlzdCBleGlzdGluZyBNRkEgcmVxdWVzdChzKSlcIixcbiAgXCJtYW5hZ2U6bWZhOmxpc3RcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgTUZBIGxpc3QgZW5kcG9pbnQgKGxpc3QgZXhpc3RpbmcgTUZBIHJlcXVlc3RzKVwiLFxuICBcIm1hbmFnZTptZmE6dm90ZToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgTUZBIHZvdGUgZW5kcG9pbnRzICh2b3RlIHVzaW5nIGN1cnJlbnQgQ3ViZVNpZ25lciBzZXNzaW9uLCBUT1RQLCBvciBGSURPKVwiLFxuICBcIm1hbmFnZTptZmE6dm90ZTpjc1wiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBNRkEgJ3ZvdGUgd2l0aCBDdWJlU2lnbmVyJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTptZmE6dm90ZTplbWFpbFwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBNRkEgJ3ZvdGUgd2l0aCBlbWFpbCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6bWZhOnZvdGU6Zmlkb1wiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgTUZBICd2b3RlIHdpdGggVE9UUCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6bWZhOnZvdGU6dG90cFwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgTUZBICd2b3RlIHdpdGggRklETycgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6bWZhOnJlZ2lzdGVyOipcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIE1GQSByZWdpc3RlciBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6bWZhOnJlZ2lzdGVyOmZpZG9cIiAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgTUZBICdyZWdpc3RlciBUT1RQJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTptZmE6cmVnaXN0ZXI6dG90cFwiICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBNRkEgJ3JlZ2lzdGVyIEZJRE8nIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOm1mYTpyZWdpc3RlcjplbWFpbFwiICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIE1GQSAncmVnaXN0ZXIgdmVyaWZpZWQgZW1haWwnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOm1mYTp1bnJlZ2lzdGVyOipcIiAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBNRkEgdW5yZWdpc3RlciBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6bWZhOnVucmVnaXN0ZXI6Zmlkb1wiICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgTUZBICdkZWxldGUgVE9UUCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6bWZhOnVucmVnaXN0ZXI6dG90cFwiICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgTUZBICdkZWxldGUgRklETycgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6bWZhOnZlcmlmeToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIE1GQSB2ZXJpZnkgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOm1mYTp2ZXJpZnk6dG90cFwiICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIE1GQSAndmVyaWZ5IFRPVFAnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmtleToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBrZXkgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOmtleTpyZWFkb25seVwiICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBrZXkgcmVhZG9ubHkgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOmtleTphdHRlc3RcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAnYXR0ZXN0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTprZXk6Z2V0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBrZXkgJ2dldCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6a2V5Omxpc3RSb2xlc1wiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUga2V5ICdsaXN0Um9sZXMnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmtleTpsaXN0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAnbGlzdCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6a2V5Omhpc3Rvcnk6dHg6bGlzdFwiICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUga2V5ICdsaXN0X2hpc3RvcmljYWxfdHgnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmtleTpjcmVhdGVcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8ga2V5IGNyZWF0aW9uIGVuZHBvaW50cyAoZS5nLiwgJ2NyZWF0ZScgYW5kICdkZXJpdmUnKVwiLFxuICBcIm1hbmFnZTprZXk6aW1wb3J0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBrZXkgJ2ltcG9ydCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6a2V5OnVwZGF0ZToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUga2V5ICd1cGRhdGUnIGVuZHBvaW50LCB3aXRoaW4gd2hpY2ggYWxsb3dpbmcgYWxsIHBvc3NpYmxlIHVwZGF0ZXNcIixcbiAgXCJtYW5hZ2U6a2V5OnVwZGF0ZTpvd25lclwiICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUga2V5ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUga2V5ICdvd25lcicgcHJvcGVydHlcIixcbiAgXCJtYW5hZ2U6a2V5OnVwZGF0ZTpyZWdpb25cIiAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUga2V5ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUga2V5ICdyZWdpb24nIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOmtleTp1cGRhdGU6cG9saWN5XCIgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIGtleSAncG9saWN5JyBwcm9wZXJ0eVwiLFxuICBcIm1hbmFnZTprZXk6dXBkYXRlOmVuYWJsZWRcIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBrZXkgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSBrZXkgJ2VuYWJsZWQnIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOmtleTp1cGRhdGU6bWV0YWRhdGFcIiAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAndXBkYXRlJyBlbmRwb2ludCBhbmQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGtleSAnbWV0YWRhdGEnIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOmtleTp1cGRhdGU6cHJvcGVydGllc1wiICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAndXBkYXRlJyBlbmRwb2ludCBhbmQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGtleSAncHJvcGVydGllcycgcHJvcGVydHlcIixcbiAgXCJtYW5hZ2U6a2V5OnVwZGF0ZTplZGl0UG9saWN5XCIgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUga2V5ICd1cGRhdGUnIGVuZHBvaW50IGFuZCByZXN0cmljdHMgdXBkYXRlcyB0byB0aGUgJ2VkaXRfcG9saWN5JyBwcm9wZXJ0eVwiLFxuICBcIm1hbmFnZTprZXk6ZGVsZXRlXCIgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBrZXkgJ2RlbGV0ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cG9saWN5OipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHBvbGljeSBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6cG9saWN5OnJlYWRvbmx5XCIgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHBvbGljeSByZWFkb25seSBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6cG9saWN5OmNyZWF0ZVwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5IGNyZWF0aW9uIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnBvbGljeTpnZXRcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSAnZ2V0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpwb2xpY3k6bGlzdFwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgJ2xpc3QnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnBvbGljeTpkZWxldGVcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSBgZGVsZXRlYCBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpwb2xpY3k6dXBkYXRlOipcIiAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgJ3VwZGF0ZScgZW5kcG9pbnQsIHdpdGhpbiB3aGljaCBhbGxvd2luZyBhbGwgcG9zc2libGUgdXBkYXRlc1wiLFxuICBcIm1hbmFnZTpwb2xpY3k6dXBkYXRlOmFjbFwiICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSBwb2xpY3kgQUNMXCIsXG4gIFwibWFuYWdlOnBvbGljeTp1cGRhdGU6b3duZXJcIiAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIHBvbGljeSBvd25lciBwcm9wZXJ0eVwiLFxuICBcIm1hbmFnZTpwb2xpY3k6dXBkYXRlOm5hbWVcIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSBwb2xpY3kgbmFtZVwiLFxuICBcIm1hbmFnZTpwb2xpY3k6dXBkYXRlOmVkaXRQb2xpY3lcIiAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSAnZWRpdF9wb2xpY3knIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOnBvbGljeTp1cGRhdGU6bWV0YWRhdGFcIiAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlICdtZXRhZGF0YScgcHJvcGVydHlcIixcbiAgXCJtYW5hZ2U6cG9saWN5OnVwZGF0ZTpydWxlXCIgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUgcG9saWN5IHJ1bGUgaXRzZWxmXCIsXG4gIFwibWFuYWdlOnBvbGljeTppbnZva2VcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSAnaW52b2tlJyBlbmRwb2ludC5cIixcbiAgXCJtYW5hZ2U6cG9saWN5Ondhc206KlwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHdhc20gcG9saWN5IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpwb2xpY3k6d2FzbTp1cGxvYWRcIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSB3YXNtIHBvbGljeSAndXBsb2FkJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpwb2xpY3k6c2VjcmV0czoqXCIgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgcG9saWN5IHNlY3JldHMgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOnBvbGljeTpzZWNyZXRzOmdldFwiICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSBzZWNyZXRzICdnZXQnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnBvbGljeTpzZWNyZXRzOnVwZGF0ZToqXCIgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBwb2xpY3kgc2VjcmV0cyAndXBkYXRlJyBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6cG9saWN5OnNlY3JldHM6dXBkYXRlOnZhbHVlc1wiICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5IHNlY3JldHMgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSBzZWNyZXRzIGtleXMgYW5kIHZhbHVlc1wiLFxuICBcIm1hbmFnZTpwb2xpY3k6c2VjcmV0czp1cGRhdGU6YWNsXCIgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgc2VjcmV0cyAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIHNlY3JldHMgYWNsXCIsXG4gIFwibWFuYWdlOnBvbGljeTpzZWNyZXRzOnVwZGF0ZTplZGl0UG9saWN5XCIgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSBzZWNyZXRzICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUgYGVkaXRfcG9saWN5YCBwcm9wZXJ0eVwiLFxuICBcIm1hbmFnZTpwb2xpY3k6YnVja2V0czoqXCIgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgcG9saWN5IGJ1Y2tldHMgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOnBvbGljeTpidWNrZXRzOmdldFwiICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSBidWNrZXRzICdnZXQnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnBvbGljeTpidWNrZXRzOmxpc3RcIiAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSBidWNrZXRzICdsaXN0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpwb2xpY3k6YnVja2V0czp1cGRhdGU6KlwiICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgYnVja2V0cyAndXBkYXRlJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpwb2xpY3k6YnVja2V0czp1cGRhdGU6b3duZXJcIiAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgYnVja2V0cyAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIGBvd25lcmAgcHJvcGVydHlcIixcbiAgXCJtYW5hZ2U6cG9saWN5OmJ1Y2tldHM6dXBkYXRlOmFjbFwiICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5IGJ1Y2tldHMgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSBgYWNsYCBwcm9wZXJ0eVwiLFxuICBcIm1hbmFnZTpwb2xpY3k6YnVja2V0czp1cGRhdGU6bWV0YWRhdGFcIiAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgYnVja2V0cyAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIGBtZXRhZGF0YWAgcHJvcGVydHlcIixcbiAgXCJtYW5hZ2U6Y29udGFjdDoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIGNvbnRhY3QgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOmNvbnRhY3Q6cmVhZG9ubHlcIiAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBjb250YWN0IHJlYWRvbmx5IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpjb250YWN0OmNyZWF0ZVwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgY29udGFjdCAnY3JlYXRlJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpjb250YWN0OmdldFwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgY29udGFjdCBgZ2V0YCBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpjb250YWN0Omxpc3RcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgY29udGFjdCBgbGlzdGAgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6Y29udGFjdDpkZWxldGVcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIGNvbnRhY3QgYGRlbGV0ZWAgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6Y29udGFjdDp1cGRhdGU6KlwiICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgY29udGFjdCAndXBkYXRlJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpjb250YWN0OnVwZGF0ZTpuYW1lXCIgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBjb250YWN0ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGNvbnRhY3QncyAnbmFtZScgZmllbGQuXCIsXG4gIFwibWFuYWdlOmNvbnRhY3Q6dXBkYXRlOmFkZHJlc3Nlc1wiICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGNvbnRhY3QgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdHMgdXBkYXRlcyB0byB0aGUgY29udGFjdCdzICdhZGRyZXNzZXMnIGZpZWxkLlwiLFxuICBcIm1hbmFnZTpjb250YWN0OnVwZGF0ZTpvd25lclwiICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBjb250YWN0ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGNvbnRhY3QncyAnb3duZXInIGZpZWxkLlwiLFxuICBcIm1hbmFnZTpjb250YWN0OnVwZGF0ZTptZXRhZGF0YVwiICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBjb250YWN0ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGNvbnRhY3QncyAnbWV0YWRhdGEnIGZpZWxkLlwiLFxuICBcIm1hbmFnZTpjb250YWN0OnVwZGF0ZTpsYWJlbHNcIiAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBjb250YWN0ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGNvbnRhY3QncyAnbGFiZWxzJyBmaWVsZC5cIixcbiAgXCJtYW5hZ2U6Y29udGFjdDp1cGRhdGU6ZWRpdFBvbGljeVwiICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgY29udGFjdCAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0cyB1cGRhdGVzIHRvIHRoZSBjb250YWN0J3MgJ2VkaXRfcG9saWN5JyBmaWVsZC5cIixcbiAgXCJtYW5hZ2U6Y29udGFjdDpsb29rdXA6KlwiICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIGNvbnRhY3QgYGxvb2t1cGAgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOmNvbnRhY3Q6bG9va3VwOmFkZHJlc3NcIiAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGNvbnRhY3QgJ2xvb2t1cCBieSBhZGRyZXNzJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpwb2xpY3k6Y3JlYXRlSW1wb3J0S2V5XCIgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kga2V5IGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnJvbGU6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCByb2xlIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpyb2xlOnJlYWRvbmx5XCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgcm9sZSByZWFkb25seSBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6cm9sZTphdHRlc3RcIiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcm9sZSAnYXR0ZXN0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpyb2xlOmNyZWF0ZVwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSByb2xlICdjcmVhdGUnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnJvbGU6ZGVsZXRlXCIgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHJvbGUgJ2RlbGV0ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTpnZXQ6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcm9sZSAnZ2V0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpyb2xlOmdldDprZXlzXCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAnbGlzdCBrZXlzJyBhbmQgJ2dldCBrZXknIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpyb2xlOmdldDprZXlzOmxpc3RcIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAnbGlzdCBrZXlzJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpyb2xlOmdldDprZXlzOmdldFwiICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAnZ2V0IGtleScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTpnZXQ6dXNlcnNcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHJvbGUgJ2xpc3QgdXNlcnMnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnJvbGU6bGlzdFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHJvbGUgJ2xpc3QnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnJvbGU6dXBkYXRlOipcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHJvbGUgJ3VwZGF0ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTp1cGRhdGU6YWN0aW9uc1wiICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcm9sZSAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIHJvbGUgJ2FjdGlvbnMnIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOnJvbGU6dXBkYXRlOmVuYWJsZWRcIiAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHJvbGUgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSByb2xlICdlbmFibGVkJyBwcm9wZXJ0eVwiLFxuICBcIm1hbmFnZTpyb2xlOnVwZGF0ZTpwb2xpY3lcIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSByb2xlICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUgcm9sZSAncG9saWN5JyBwcm9wZXJ0eVwiLFxuICBcIm1hbmFnZTpyb2xlOnVwZGF0ZTplZGl0UG9saWN5XCIgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSByb2xlICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUgcm9sZSAnZWRpdF9wb2xpY3knIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOnJvbGU6dXBkYXRlOmtleToqXCIgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCByb2xlICd1cGRhdGU6a2V5JyBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6cm9sZTp1cGRhdGU6a2V5OmFkZFwiICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHJvbGUgJ3VwZGF0ZTprZXlzOmFkZCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTp1cGRhdGU6a2V5OnJlbW92ZVwiICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHJvbGUgJ3VwZGF0ZTprZXlzOnJlbW92ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTp1cGRhdGU6dXNlcjoqXCIgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHJvbGUgJ3VwZGF0ZTp1c2VyJyBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6cm9sZTp1cGRhdGU6dXNlcjphZGRcIiAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHJvbGUgJ3VwZGF0ZTp1c2VyOmFkZCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTp1cGRhdGU6dXNlcjpyZW1vdmVcIiAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHJvbGUgJ3VwZGF0ZTp1c2VyOnJlbW92ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTpoaXN0b3J5OnR4Omxpc3RcIiAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcm9sZSAnbGlzdF9oaXN0b3JpY2FsX3R4JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTppZGVudGl0eToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgaWRlbnRpdHkgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOmlkZW50aXR5OnJlYWRvbmx5XCIgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBpZGVudGl0eSByZWFkb25seSBlbmRwb2ludHMuXCIsXG4gIFwibWFuYWdlOmlkZW50aXR5OnZlcmlmeVwiICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGlkZW50aXR5ICd2ZXJpZnknIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmlkZW50aXR5OmFkZFwiICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGlkZW50aXR5ICdhZGQnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmlkZW50aXR5OnJlbW92ZVwiICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGlkZW50aXR5ICdyZW1vdmUnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmlkZW50aXR5Omxpc3RcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGlkZW50aXR5ICdsaXN0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpvcmc6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgb3JnIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpvcmc6Y3JlYXRlXCIgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgb3JnICdjcmVhdGUnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOm9yZzptZXRyaWNzOnF1ZXJ5XCIgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHJldHJpZXZpbmcgb3JnIG1ldHJpY3NcIixcbiAgXCJtYW5hZ2U6b3JnOmF1ZGl0OnF1ZXJ5XCIgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gcmV0cmlldmluZyBvcmcgYXVkaXQgbG9nXCIsXG4gIFwibWFuYWdlOm9yZzpyZWFkb25seVwiICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBvcmcgcmVhZG9ubHkgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOm9yZzphZGRVc2VyXCIgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIG9yZyBlbmRwb2ludCBmb3IgYWRkaW5nIGFuIE9JREMgdXNlciB0byB0aGUgb3JnXCIsXG4gIFwibWFuYWdlOm9yZzppbnZpdGF0aW9uOmxpc3RcIiAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIG9yZyBlbmRwb2ludCBmb3IgbGlzdGluZyBwZW5kaW5nIGludml0YXRpb25zXCIsXG4gIFwibWFuYWdlOm9yZzppbnZpdGF0aW9uOmNhbmNlbFwiICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIG9yZyBlbmRwb2ludCBmb3IgY2FuY2VsaW5nIHBlbmRpbmcgaW52aXRhdGlvbnNcIixcbiAgXCJtYW5hZ2U6b3JnOmludml0ZVVzZXJcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgb3JnIGVuZHBvaW50IGZvciBpbnZpdGluZyBhIG5ldyBtZW1iZXIgb3Igb3JnIG93bmVyIHRvIHRoZSBvcmdcIixcbiAgXCJtYW5hZ2U6b3JnOmludml0ZUFsaWVuXCIgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgb3JnIGVuZHBvaW50IGZvciBpbnZpdGluZyBhIG5ldyBhbGllbiB1c2VyIHRvIHRoZSBvcmdcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZU1lbWJlcnNoaXA6KlwiICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgb3JnIGVuZHBvaW50IGZvciB1cGRhdGluZyBleGlzdGluZyB1c2VyJ3Mgb3JnIG1lbWJlcnNoaXBcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZU1lbWJlcnNoaXA6b3duZXJcIiAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgb3JnIGVuZHBvaW50IGZvciB1cGRhdGluZyBleGlzdGluZyBvcmcgT3duZXIncyBtZW1iZXJzaGlwXCIsXG4gIFwibWFuYWdlOm9yZzp1cGRhdGVNZW1iZXJzaGlwOm1lbWJlclwiICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIG9yZyBlbmRwb2ludCBmb3IgdXBkYXRpbmcgZXhpc3Rpbmcgb3JnIE1lbWJlcidzIG1lbWJlcnNoaXBcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZU1lbWJlcnNoaXA6YWxpZW5cIiAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgb3JnIGVuZHBvaW50IGZvciB1cGRhdGluZyBleGlzdGluZyBvcmcgQWxpZW4ncyBtZW1iZXJzaGlwXCIsXG4gIFwibWFuYWdlOm9yZzpsaXN0VXNlcnNcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIG9yZyBlbmRwb2ludCBmb3IgbGlzdGluZyBhbGwgb3JnIHVzZXJzIChtZW1iZXJzKVwiLFxuICBcIm1hbmFnZTpvcmc6dXNlcjpnZXRcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBvcmcgZW5kcG9pbnRzIGZvciBnZXR0aW5nIHVzZXJzIGJ5IGlkIG9yIGVtYWlsXCIsXG4gIFwibWFuYWdlOm9yZzpkZWxldGVVc2VyOipcIiAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIG9yZyBlbmRwb2ludCBmb3IgZGVsZXRpbmcgYW4gT0lEQyB1c2VyXCIsXG4gIFwibWFuYWdlOm9yZzpkZWxldGVVc2VyOm93bmVyXCIgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIG9yZyBlbmRwb2ludCBmb3IgZGVsZXRpbmcgYSB1c2VyLCBvbmx5IHdoZW4gZGVsZXRpbmcgYW4gZXhpc3Rpbmcgb3JnIE93bmVyXCIsXG4gIFwibWFuYWdlOm9yZzpkZWxldGVVc2VyOm1lbWJlclwiICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIG9yZyBlbmRwb2ludCBmb3IgZGVsZXRpbmcgYSB1c2VyLCBvbmx5IHdoZW4gZGVsZXRpbmcgYW4gZXhpc3Rpbmcgb3JnIE1lbWJlclwiLFxuICBcIm1hbmFnZTpvcmc6ZGVsZXRlVXNlcjphbGllblwiICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBvcmcgZW5kcG9pbnQgZm9yIGRlbGV0aW5nIGEgdXNlciwgb25seSB3aGVuIGRlbGV0aW5nIGFuIGV4aXN0aW5nIG9yZyBBbGllblwiLFxuICBcIm1hbmFnZTpvcmc6Z2V0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byByZXRyaWV2aW5nIG9yZ2FuaXphdGlvbiBpbmZvcm1hdGlvblwiLFxuICBcIm1hbmFnZTpvcmc6dXNlcjpyZXNldE1mYVwiICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFuIG93bmVyIHRvIGluaXRpYXRlIGFuIE1GQSByZXNldCBmb3IgYSB1c2VyXCIsXG4gIFwibWFuYWdlOm9yZzp1cGRhdGU6KlwiICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBvcmcgJ3VwZGF0ZScgYWN0aW9uc1wiLFxuICBcIm1hbmFnZTpvcmc6dXBkYXRlOmVuYWJsZWRcIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIHVwZGF0aW5nIHRoZSBvcmcgJ2VuYWJsZWQnIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOm9yZzp1cGRhdGU6cG9saWN5XCIgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgdXBkYXRpbmcgb3JnLXdpZGUgcG9saWNpZXNcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZTpzaWduUG9saWN5XCIgICAgICAgICAgICAgICAgOiBcIkFsbG93cyB1cGRhdGluZyBvcmctd2lkZSBzaWduIHBvbGljaWVzXCIsXG4gIFwibWFuYWdlOm9yZzp1cGRhdGU6ZXhwb3J0XCIgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgdXBkYXRpbmcgdXNlci1leHBvcnQgc2V0dGluZ3MgKGRlbGF5LCB3aW5kb3csIGRpc2FibGVkKVwiLFxuICBcIm1hbmFnZTpvcmc6dXBkYXRlOnRvdHBGYWlsdXJlTGltaXRcIiAgICAgICAgICA6IFwiQWxsb3dzIHVwZGF0aW5nIHRoZSBUT1RQIGZhaWx1cmUgbGltaXRcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZTpub3RpZmljYXRpb25FbmRwb2ludHNcIiAgICAgOiBcIkFsbG93cyB1cGRhdGluZyBub3RpZmljYXRpb24gZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOm9yZzp1cGRhdGU6ZGVmYXVsdEludml0ZUtpbmRcIiAgICAgICAgIDogXCJBbGxvd3MgdXBkYXRpbmcgdGhlIGRlZmF1bHQgaW52aXRlIGtpbmRcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZTppZHBDb25maWd1cmF0aW9uXCIgICAgICAgICAgOiBcIkFsbG93cyB1cGRhdGluZyBJRFAgY29uZmlndXJhdGlvblwiLFxuICBcIm1hbmFnZTpvcmc6dXBkYXRlOnBhc3NrZXlDb25maWd1cmF0aW9uXCIgICAgICA6IFwiQWxsb3dzIHVwZGF0aW5nIHBhc3NrZXkgY29uZmlndXJhdGlvblwiLFxuICBcIm1hbmFnZTpvcmc6dXBkYXRlOmVtYWlsUHJlZmVyZW5jZXNcIiAgICAgICAgICA6IFwiQWxsb3dzIHVwZGF0aW5nIGVtYWlsIHByZWZlcmVuY2VzXCIsXG4gIFwibWFuYWdlOm9yZzp1cGRhdGU6aGlzdG9yaWNhbERhdGFcIiAgICAgICAgICAgIDogXCJBbGxvd3MgdXBkYXRpbmcgaGlzdG9yaWNhbCBkYXRhIGNvbmZpZ3VyYXRpb25cIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZTpyZXF1aXJlU2NvcGVDZWlsaW5nXCIgICAgICAgOiBcIkFsbG93cyB1cGRhdGluZyB0aGUgcmVxdWlyZV9zY29wZV9jZWlsaW5nIHNldHRpbmdcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZTphbGllbkxvZ2luUmVxdWlyZW1lbnRcIiAgICAgOiBcIkFsbG93cyB1cGRhdGluZyB0aGUgYWxpZW4gbG9naW4gcmVxdWlyZW1lbnRcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZTptZW1iZXJMb2dpblJlcXVpcmVtZW50XCIgICAgOiBcIkFsbG93cyB1cGRhdGluZyB0aGUgbWVtYmVyIGxvZ2luIHJlcXVpcmVtZW50XCIsXG4gIFwibWFuYWdlOm9yZzp1cGRhdGU6a2V5RXhwb3J0UmVxdWlyZW1lbnRcIiAgICAgIDogXCJBbGxvd3MgdXBkYXRpbmcgdGhlIGtleSBleHBvcnQgcmVxdWlyZW1lbnRcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZTphbGxvd2VkTWZhVHlwZXNcIiAgICAgICAgICAgOiBcIkFsbG93cyB1cGRhdGluZyBhbGxvd2VkIE1GQSB0eXBlc1wiLFxuICBcIm1hbmFnZTpvcmc6dXBkYXRlOnBvbGljeUVuZ2luZUNvbmZcIiAgICAgICAgICA6IFwiQWxsb3dzIHVwZGF0aW5nIHRoZSBwb2xpY3kgZW5naW5lIGNvbmZpZ3VyYXRpb25cIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZTpjdXN0b21DaGFpbnNcIiAgICAgICAgICAgICAgOiBcIkFsbG93cyB1cGRhdGluZyBjdXN0b20gY2hhaW5zXCIsXG4gIFwibWFuYWdlOm9yZzp1cGRhdGU6ZXh0UHJvcHNcIiAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgdXBkYXRpbmcgZXh0ZW5kZWQgb3JnIHByb3BlcnRpZXNcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZTplZGl0UG9saWN5XCIgICAgICAgICAgICAgICAgOiBcIkFsbG93cyB1cGRhdGluZyB0aGUgb3JnJ3MgZWRpdCBwb2xpY3lcIixcbiAgXCJtYW5hZ2U6c2Vzc2lvbjoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHNlc3Npb24gZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOnNlc3Npb246cmVhZG9ubHlcIiAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBzZXNzaW9uIHJlYWRvbmx5IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpzZXNzaW9uOmdldFwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBzZXNzaW9uICdnZXQnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnNlc3Npb246bGlzdFwiICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHNlc3Npb24gJ2xpc3QnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnNlc3Npb246Y3JlYXRlXCIgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHNlc3Npb24gJ2NyZWF0ZScgZW5kcG9pbnQsIGJ1dCB3aXRob3V0IHRoZSBhYmlsaXR5IHRvIGV4dGVuZCBzZXNzaW9uIGxpZmV0aW1lc1wiLFxuICBcIm1hbmFnZTpzZXNzaW9uOmV4dGVuZFwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBzZXNzaW9uICdjcmVhdGUnIGVuZHBvaW50LCBpbmNsdWRpbmcgdGhlIGFiaWxpdHkgdG8gZXh0ZW5kIHNlc3Npb24gbGlmZXRpbWVzXCIsXG4gIFwibWFuYWdlOnNlc3Npb246cmV2b2tlXCIgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHNlc3Npb24gJ3Jldm9rZScgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOmV4cG9ydDoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBleHBvcnQgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOmV4cG9ydDpyZWFkb25seVwiICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBleHBvcnQgbWFuYWdlbWVudCByZWFkb25seSBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6ZXhwb3J0Om9yZzoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIG9yZy1leHBvcnQgbWFuYWdlbWVudCBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6ZXhwb3J0Om9yZzpnZXRcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIG9yZy1leHBvcnQgZG93bmxvYWQgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6ZXhwb3J0OnVzZXI6KlwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHVzZXItZXhwb3J0IG1hbmFnZW1lbnQgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOmV4cG9ydDp1c2VyOmRlbGV0ZVwiICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgZGVsZXRpbmcgYW4gZXhpc3RpbmcgdXNlci1leHBvcnQgcmVxdWVzdFwiLFxuICBcIm1hbmFnZTpleHBvcnQ6dXNlcjpsaXN0XCIgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGxpc3RpbmcgZXhpc3RpbmcgdXNlci1leHBvcnQgcmVxdWVzdHNcIixcbiAgXCJtYW5hZ2U6YXV0aE1pZ3JhdGlvbjoqXCIgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhbGwgYXV0aCBtaWdyYXRpb24gc2NvcGVzXCIsXG4gIFwibWFuYWdlOmF1dGhNaWdyYXRpb246aWRlbnRpdHk6YWRkXCIgICAgICAgICAgIDogXCJBbGxvd3MgYWRkaW5nIGlkZW50aXRpZXMgdG8gZXhpc3RpbmcgdXNlcnMgZHVyaW5nIGFuIGF1dGggbWlncmF0aW9uXCIsXG4gIFwibWFuYWdlOmF1dGhNaWdyYXRpb246aWRlbnRpdHk6cmVtb3ZlXCIgICAgICAgIDogXCJBbGxvd3MgcmVtb3ZpbmcgaWRlbnRpdGllcyBmcm9tIGV4aXN0aW5nIHVzZXJzIGR1cmluZyBhbiBhdXRoIG1pZ3JhdGlvblwiLFxuICBcIm1hbmFnZTphdXRoTWlncmF0aW9uOnVzZXI6dXBkYXRlXCIgICAgICAgICAgICA6IFwiQWxsb3dzIHVwZGF0aW5nIGV4aXN0aW5nIHVzZXJzJyBwcm9maWxlc1wiLFxuICBcIm1hbmFnZTptbWk6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFsbCBDUlVEIG9wZXJhdGlvbnMgb24gTU1JIHBlbmRpbmcgbWVzc2FnZXNcIixcbiAgXCJtYW5hZ2U6bW1pOnJlYWRvbmx5XCIgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhbGwgcmVhZG9ubHkgb3BlcmF0aW9ucyBvbiBNTUkgcGVuZGluZyBtZXNzYWdlc1wiLFxuICBcIm1hbmFnZTptbWk6Z2V0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIHJldHJpZXZpbmcgTU1JIHBlbmRpbmcgbWVzc2FnZXNcIixcbiAgXCJtYW5hZ2U6bW1pOmxpc3RcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBsaXN0aW5nIE1NSSBwZW5kaW5nIG1lc3NhZ2VzXCIsXG4gIFwibWFuYWdlOm1taTpyZWplY3RcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgcmVqZWN0aW5nIE1NSSBwZW5kaW5nIG1lc3NhZ2VzXCIsXG4gIFwibWFuYWdlOm1taTpkZWxldGVcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgZGVsZXRpbmcgTU1JIHBlbmRpbmcgbWVzc2FnZXNcIixcbiAgXCJleHBvcnQ6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIGV4cG9ydCBlbmRwb2ludHNcIixcbiAgXCJleHBvcnQ6dXNlcjoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHVzZXItZXhwb3J0IGV4ZWN1dGlvbiBlbmRwb2ludHNcIixcbiAgXCJleHBvcnQ6dXNlcjppbml0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBpbml0aWF0aW5nIGEgbmV3IHVzZXItZXhwb3J0IHJlcXVlc3RcIixcbiAgXCJleHBvcnQ6dXNlcjpjb21wbGV0ZVwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBjb21wbGV0aW5nIGFuIGV4aXN0aW5nIHVzZXItZXhwb3J0IHJlcXVlc3RcIixcbiAgXCJtbWk6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBjYWxscyB0byB0aGUgTU1JIGVuZHBvaW50XCIsXG4gIFwib3JnQWNjZXNzOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGNlcnRhaW4gb3JncyBvdGhlciB0aGFuIHRoZSBjdXJyZW50IHNlc3Npb24nc1wiLFxuICBcIm9yZ0FjY2VzczpjaGlsZDoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGEgc2Vzc2lvbiB0byBiZSB1c2VkIGZvciBhY2Nlc3MgdG8gb3JncyB0cmFuc2l0aXZlbHkgcGFyZW50ZWQgYnkgdGhlIHNlc3Npb24ncyBvcmcuXCIsXG4gIFwicnBjOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBSUEMgQVBJIGVuZHBvaW50XCIsXG4gIFwicnBjOmNhbmNlbFRyYW5zYWN0aW9uXCIgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBSUEMgQVBJIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdjc19jYW5jZWxUcmFuc2FjdGlvbicgZnVuY3Rpb24uXCIsXG4gIFwicnBjOmNyZWF0ZVRyYW5zYWN0aW9uOipcIiAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBSUEMgQVBJIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdjc19jcmVhdGVUcmFuc2FjdGlvbicgZnVuY3Rpb24uXCIsXG4gIFwicnBjOmNyZWF0ZVRyYW5zYWN0aW9uOmV2bVwiICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBSUEMgQVBJIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdjc19jcmVhdGVUcmFuc2FjdGlvbicgZnVuY3Rpb24gd2l0aCBhbiBFVk0gdHJhbnNhY3Rpb24gcmVxdWVzdC5cIixcbiAgXCJycGM6Z2V0VHJhbnNhY3Rpb25cIiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIFJQQyBBUEkgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ2NzX2dldFRyYW5zYWN0aW9uJyBmdW5jdGlvbi5cIixcbiAgXCJycGM6YnRjTGlzdFV0eG9zXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIFJQQyBBUEkgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ2NzX2J0Y0xpc3RVdHhvcycgZnVuY3Rpb24uXCIsXG4gIFwicnBjOmxpc3RUcmFuc2FjdGlvbnNcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBSUEMgQVBJIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdjc19saXN0VHJhbnNhY3Rpb25zJyBmdW5jdGlvbi5cIixcbiAgXCJycGM6cmV0cnlUcmFuc2FjdGlvblwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIFJQQyBBUEkgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ2NzX3JldHJ5VHJhbnNhY3Rpb24nIGZ1bmN0aW9uXCIsXG4gIFwicnBjOmJpbmFuY2VcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBSUEMgQVBJIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdjc19iaW5hbmNlKicgZnVuY3Rpb25zXCIsXG4gIFwicnBjOmJ5Yml0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBSUEMgQVBJIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlIEJ5Yml0IG1ldGhvZHNcIixcbiAgXCJycGM6Y29pbmJhc2VcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIFJQQyBBUEkgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ2NzX2NvaW5iYXNlKicgZnVuY3Rpb25zXCIsXG59O1xuXG4vLyBDb25zdCBmb3Igc2NvcGUgY2F0ZWdvcnkgbGFiZWxzXG5jb25zdCBDQVRFR09SWV9MQUJFTFM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIHNpZ246IFwiU2lnblwiLFxuICBtYW5hZ2U6IFwiTWFuYWdlXCIsXG4gIGV4cG9ydDogXCJFeHBvcnRcIixcbiAgbW1pOiBcIk1NSVwiLFxuICBvcmdBY2Nlc3M6IFwiT3JnIEFjY2Vzc1wiLFxuICBycGM6IFwiUlBDXCIsXG59O1xuXG4vKipcbiAqIEZpbmRzIHRoZSBwYXJlbnQgc2NvcGUgZm9yIGEgZ2l2ZW4gc2NvcGUuXG4gKiBBIHBhcmVudCBpcyBhIHNjb3BlIGVuZGluZyB3aXRoICcqJyB0aGF0IGlzIGEgcHJlZml4IG9mIHRoZSBjdXJyZW50IHNjb3BlLlxuICogUmV0dXJucyB0aGUgbG9uZ2VzdCBtYXRjaGluZyBwYXJlbnQgKGNsb3Nlc3QgYW5jZXN0b3IpLCBleGNsdWRpbmcgdGhlIHNjb3BlIGl0c2VsZi5cbiAqXG4gKiBAcGFyYW0gc2NvcGUgVGhlIHNjb3BlIHRvIGZpbmQgdGhlIHBhcmVudCBmb3IuXG4gKiBAcGFyYW0gYWxsU2NvcGVzIFRoZSBsaXN0IG9mIGFsbCBzY29wZXMuXG4gKiBAcmV0dXJucyBUaGUgcGFyZW50IHNjb3BlIG9yIG51bGwgaWYgbm8gcGFyZW50IGlzIGZvdW5kLlxuICovXG5mdW5jdGlvbiBmaW5kUGFyZW50KHNjb3BlOiBFeHBsaWNpdFNjb3BlLCBhbGxTY29wZXM6IEV4cGxpY2l0U2NvcGVbXSk6IEV4cGxpY2l0U2NvcGUgfCBudWxsIHtcbiAgbGV0IHBhcmVudDogRXhwbGljaXRTY29wZSB8IG51bGwgPSBudWxsO1xuICBsZXQgbWF4TGVuZ3RoID0gMDtcblxuICBmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBhbGxTY29wZXMpIHtcbiAgICAvLyBTa2lwIHRoZSBzY29wZSBpdHNlbGZcbiAgICBpZiAoY2FuZGlkYXRlID09PSBzY29wZSkgY29udGludWU7XG5cbiAgICBpZiAoY2FuZGlkYXRlLmVuZHNXaXRoKFwiKlwiKSAmJiBzY29wZS5zdGFydHNXaXRoKGNhbmRpZGF0ZS5zbGljZSgwLCAtMSkpKSB7XG4gICAgICAvLyBQcmVmZXIgdGhlIGxvbmdlc3QgbWF0Y2hpbmcgcGFyZW50IChjbG9zZXN0IGFuY2VzdG9yKVxuICAgICAgaWYgKGNhbmRpZGF0ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICAgICAgcGFyZW50ID0gY2FuZGlkYXRlO1xuICAgICAgICBtYXhMZW5ndGggPSBjYW5kaWRhdGUubGVuZ3RoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwYXJlbnQ7XG59XG5cbi8qKlxuICogQ29tcHV0ZXMgdGhlIHNjb3BlcyBkaWN0aW9uYXJ5IGZyb20gQWxsU2NvcGVzLlxuICpcbiAqIEByZXR1cm5zIFRoZSBjb21wbGV0ZSBkaWN0aW9uYXJ5IG9mIGFsbCBhdmFpbGFibGUgc2NvcGVzIG9yZ2FuaXplZCBieSBjYXRlZ29yeS5cbiAqL1xuZnVuY3Rpb24gY29tcHV0ZVNjb3Blc0RpY3Rpb25hcnkoKTogU2NvcGVzRGljdGlvbmFyeSB7XG4gIGNvbnN0IGFsbFNjb3BlcyA9IE9iamVjdC5rZXlzKEFsbFNjb3BlcykgYXMgRXhwbGljaXRTY29wZVtdO1xuICBjb25zdCBpdGVtcyA9IG5ldyBNYXA8RXhwbGljaXRTY29wZSwgU2NvcGVJdGVtPigpO1xuICBjb25zdCByZXN1bHQ6IFNjb3Blc0RpY3Rpb25hcnkgPSB7fTtcblxuICAvLyBGaXJzdCBwYXNzOiBjcmVhdGUgYWxsIGl0ZW1zXG4gIGZvciAoY29uc3Qgc2NvcGUgb2YgYWxsU2NvcGVzKSB7XG4gICAgY29uc3QgY2F0ZWdvcnkgPSBzY29wZS5zcGxpdChcIjpcIilbMF07XG4gICAgaWYgKCFyZXN1bHRbY2F0ZWdvcnldKSB7XG4gICAgICByZXN1bHRbY2F0ZWdvcnldID0geyBsYWJlbDogQ0FURUdPUllfTEFCRUxTW2NhdGVnb3J5XSB8fCBjYXRlZ29yeSwgc2NvcGVzOiBbXSB9O1xuICAgIH1cblxuICAgIGl0ZW1zLnNldChzY29wZSwge1xuICAgICAgdmFsdWU6IHNjb3BlLFxuICAgICAgZGVzY3JpcHRpb246IEFsbFNjb3Blc1tzY29wZV0sXG4gICAgICBjaGlsZHJlbjogW10sXG4gICAgfSk7XG4gIH1cblxuICAvLyBTZWNvbmQgcGFzczogYnVpbGQgcGFyZW50LWNoaWxkIHJlbGF0aW9uc2hpcHNcbiAgZm9yIChjb25zdCBzY29wZSBvZiBhbGxTY29wZXMpIHtcbiAgICBjb25zdCBjYXRlZ29yeSA9IHNjb3BlLnNwbGl0KFwiOlwiKVswXTtcbiAgICBjb25zdCBpdGVtID0gaXRlbXMuZ2V0KHNjb3BlKSE7XG4gICAgY29uc3QgcGFyZW50U2NvcGUgPSBmaW5kUGFyZW50KHNjb3BlLCBhbGxTY29wZXMpO1xuXG4gICAgaWYgKHBhcmVudFNjb3BlICYmIHBhcmVudFNjb3BlICE9PSBzY29wZSkge1xuICAgICAgaXRlbXMuZ2V0KHBhcmVudFNjb3BlKSEuY2hpbGRyZW4hLnB1c2goaXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdFtjYXRlZ29yeV0uc2NvcGVzLnB1c2goaXRlbSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU29ydCByb290czogd2lsZGNhcmRzIGZpcnN0XG4gIGZvciAoY29uc3QgY2F0ZWdvcnkgb2YgT2JqZWN0LnZhbHVlcyhyZXN1bHQpKSB7XG4gICAgY2F0ZWdvcnkuc2NvcGVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGlmIChhLnZhbHVlLmVuZHNXaXRoKFwiKlwiKSAmJiAhYi52YWx1ZS5lbmRzV2l0aChcIipcIikpIHJldHVybiAtMTtcbiAgICAgIGlmICghYS52YWx1ZS5lbmRzV2l0aChcIipcIikgJiYgYi52YWx1ZS5lbmRzV2l0aChcIipcIikpIHJldHVybiAxO1xuICAgICAgcmV0dXJuIGEudmFsdWUubG9jYWxlQ29tcGFyZShiLnZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogQ29tcGxldGUgZGljdGlvbmFyeSBvZiBhbGwgYXZhaWxhYmxlIHNjb3BlcyBvcmdhbml6ZWQgYnkgY2F0ZWdvcnkuXG4gKlxuICogVGhpcyBkaWN0aW9uYXJ5IGlzIGF1dG9tYXRpY2FsbHkgY29tcHV0ZWQgZnJvbSB7QGxpbmsgQWxsU2NvcGVzfSBieSBpbmZlcnJpbmdcbiAqIHRoZSBoaWVyYXJjaHkgZnJvbSBzY29wZSBuYW1lcy4gQSBzY29wZSdzIHBhcmVudCBpcyBkZXRlcm1pbmVkIGJ5IGZpbmRpbmcgYVxuICogc2NvcGUgZW5kaW5nIHdpdGggJyonIHRoYXQgaXMgYSBwcmVmaXggb2YgdGhlIGN1cnJlbnQgc2NvcGUuXG4gKlxuICogVGhlIGRpY3Rpb25hcnkgaXMgb3JnYW5pemVkIGludG8gdGhlIGZvbGxvd2luZyBjYXRlZ29yaWVzOlxuICogLSBgc2lnbmA6IFNjb3BlcyBmb3Igc2lnbmluZyBvcGVyYXRpb25zIChibG9iLCB0cmFuc2FjdGlvbnMsIGV0Yy4pXG4gKiAtIGBtYW5hZ2VgOiBTY29wZXMgZm9yIG1hbmFnZW1lbnQgb3BlcmF0aW9ucyAoa2V5cywgcm9sZXMsIHBvbGljaWVzLCBldGMuKVxuICogLSBgZXhwb3J0YDogU2NvcGVzIGZvciBleHBvcnQgb3BlcmF0aW9uc1xuICogLSBgbW1pYDogU2NvcGVzIGZvciBNZXRhTWFzayBJbnRlZ3JhdGlvblxuICogLSBgb3JnQWNjZXNzYDogU2NvcGVzIGZvciBjcm9zcy1vcmdhbml6YXRpb24gYWNjZXNzXG4gKlxuICogVGhpcyBkaWN0aW9uYXJ5IHNlcnZlcyBhcyB0aGUgc291cmNlIG9mIHRydXRoIGZvciBzY29wZSBkZWZpbml0aW9ucyBhbmQgaXMgdXNlZFxuICogdG8gZ2VuZXJhdGUgc2NvcGVzIGZvciByb2xlIGFuZCB1c2VyIHNlc3Npb25zLiBJdCBpcyBhbHNvIHJlZmVyZW5jZWQgYnlcbiAqIHtAbGluayByb2xlU2NvcGVzRGljdGlvbmFyeX0gYW5kIHtAbGluayB1c2VyU2NvcGVzRGljdGlvbmFyeX0gd2hpY2ggcHJvdmlkZVxuICogZmlsdGVyZWQgc3Vic2V0cyBvZiB0aGVzZSBzY29wZXMuXG4gKlxuICogQHNlZSB7QGxpbmsgQWxsU2NvcGVzfSAtIFRoZSBzb3VyY2UgcmVjb3JkIGNvbnRhaW5pbmcgc2NvcGUgZGVzY3JpcHRpb25zXG4gKiBAc2VlIHtAbGluayByb2xlU2NvcGVzRGljdGlvbmFyeX0gLSBSZXN0cmljdGVkIHNjb3BlcyBmb3Igcm9sZSBzZXNzaW9uc1xuICogQHNlZSB7QGxpbmsgdXNlclNjb3Blc0RpY3Rpb25hcnl9IC0gUmVzdHJpY3RlZCBzY29wZXMgZm9yIHVzZXIgc2Vzc2lvbnNcbiAqL1xuZXhwb3J0IGNvbnN0IGFsbFNjb3Blc0RpY3Rpb25hcnk6IFNjb3Blc0RpY3Rpb25hcnkgPSBjb21wdXRlU2NvcGVzRGljdGlvbmFyeSgpO1xuXG4vKipcbiAqIFJlc3RyaWN0ZWQgc2NvcGVzIGRpY3Rpb25hcnkgZm9yIHJvbGUtYmFzZWQgc2Vzc2lvbiBnZW5lcmF0aW9uLlxuICogQ29udGFpbnMgb25seSB0aGUgc2NvcGVzIHRoYXQgYXJlIGFsbG93ZWQgZm9yIHJvbGUgc2Vzc2lvbnMuXG4gKi9cbmV4cG9ydCBjb25zdCByb2xlU2NvcGVzRGljdGlvbmFyeSA9IHtcbiAgc2lnbjogYWxsU2NvcGVzRGljdGlvbmFyeS5zaWduLFxuICBtbWk6IGFsbFNjb3Blc0RpY3Rpb25hcnkubW1pLFxuICBycGM6IGFsbFNjb3Blc0RpY3Rpb25hcnkucnBjLFxuICBtYW5hZ2U6IHtcbiAgICBsYWJlbDogXCJNYW5hZ2VcIixcbiAgICBzY29wZXM6IFtcbiAgICAgIC8vIEZpbmQgYW5kIGluY2x1ZGUgbWFuYWdlOm1taToqXG4gICAgICAoYWxsU2NvcGVzRGljdGlvbmFyeS5tYW5hZ2Uuc2NvcGVzIGFzIFNjb3BlSXRlbVtdKVxuICAgICAgICAuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6KlwiKSFcbiAgICAgICAgLmNoaWxkcmVuIS5maW5kKChzKSA9PiBzLnZhbHVlID09PSBcIm1hbmFnZTptbWk6KlwiKSEsXG4gICAgICAvLyBGaW5kIGFuZCBpbmNsdWRlIG1hbmFnZTptZmE6bGlzdFxuICAgICAgKGFsbFNjb3Blc0RpY3Rpb25hcnkubWFuYWdlLnNjb3BlcyBhcyBTY29wZUl0ZW1bXSlcbiAgICAgICAgLmZpbmQoKHMpID0+IHMudmFsdWUgPT09IFwibWFuYWdlOipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6bWZhOipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6bWZhOmxpc3RcIikhLFxuICAgICAgLy8gRmluZCBhbmQgaW5jbHVkZSBtYW5hZ2U6a2V5OmdldFxuICAgICAgKGFsbFNjb3Blc0RpY3Rpb25hcnkubWFuYWdlLnNjb3BlcyBhcyBTY29wZUl0ZW1bXSlcbiAgICAgICAgLmZpbmQoKHMpID0+IHMudmFsdWUgPT09IFwibWFuYWdlOipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6a2V5OipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6a2V5OmdldFwiKSEsXG4gICAgICAvLyBGaW5kIGFuZCBpbmNsdWRlIG1hbmFnZTprZXk6bGlzdFxuICAgICAgKGFsbFNjb3Blc0RpY3Rpb25hcnkubWFuYWdlLnNjb3BlcyBhcyBTY29wZUl0ZW1bXSlcbiAgICAgICAgLmZpbmQoKHMpID0+IHMudmFsdWUgPT09IFwibWFuYWdlOipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6a2V5OipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6a2V5Omxpc3RcIikhLFxuICAgIF0sXG4gIH0sXG59IHNhdGlzZmllcyBTY29wZXNEaWN0aW9uYXJ5O1xuXG4vKipcbiAqIFJlc3RyaWN0ZWQgc2NvcGVzIGRpY3Rpb25hcnkgZm9yIHVzZXIgc2Vzc2lvbiBnZW5lcmF0aW9uLlxuICogRXhjbHVkZXMgc2NvcGVzIHRoYXQgcmVxdWlyZSBlbGV2YXRlZCBwZXJtaXNzaW9ucyAob3JnQWNjZXNzLCBleHBvcnQpLlxuICovXG5leHBvcnQgY29uc3QgdXNlclNjb3Blc0RpY3Rpb25hcnkgPSB7XG4gIG1hbmFnZTogYWxsU2NvcGVzRGljdGlvbmFyeS5tYW5hZ2UsXG4gIHNpZ246IGFsbFNjb3Blc0RpY3Rpb25hcnkuc2lnbixcbiAgbW1pOiBhbGxTY29wZXNEaWN0aW9uYXJ5Lm1taSxcbiAgcnBjOiBhbGxTY29wZXNEaWN0aW9uYXJ5LnJwYyxcbn07XG4iXX0=
|
|
428
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Njb3Blcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQ0FBZ0M7QUFZaEMsbURBQW1EO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLFNBQVM7QUFDcEIsa0JBQWtCO0FBQ2xCO0lBQ0EsUUFBUSxFQUF3Qyx1R0FBdUc7SUFDdkosVUFBVSxFQUFzQywwQ0FBMEM7SUFDMUYsV0FBVyxFQUFxQywyQ0FBMkM7SUFDM0Ysb0JBQW9CLEVBQTRCLHdKQUF3SjtJQUN4TSxZQUFZLEVBQW9DLG9DQUFvQztJQUNwRixpQkFBaUIsRUFBK0IsK0RBQStEO0lBQy9HLGtCQUFrQixFQUE4QixnRUFBZ0U7SUFDaEgsaUJBQWlCLEVBQStCLDZEQUE2RDtJQUM3RyxvQkFBb0IsRUFBNEIsMERBQTBEO0lBQzFHLHNCQUFzQixFQUEwQiw0REFBNEQ7SUFDNUcsc0JBQXNCLEVBQTBCLDREQUE0RDtJQUM1Ryx1QkFBdUIsRUFBeUIsNkRBQTZEO0lBQzdHLHlCQUF5QixFQUF1QixxRUFBcUU7SUFDckgsb0JBQW9CLEVBQTRCLG9FQUFvRTtJQUNwSCx5QkFBeUIsRUFBdUIsbUVBQW1FO0lBQ25ILHlCQUF5QixFQUF1QixtRUFBbUU7SUFDbkgsZ0JBQWdCLEVBQWdDLGtFQUFrRTtJQUNsSCwwQkFBMEIsRUFBc0IsdUZBQXVGO0lBQ3ZJLHNCQUFzQixFQUEwQixnRkFBZ0Y7SUFDaEksNkJBQTZCLEVBQW1CLHVGQUF1RjtJQUN2SSwrQkFBK0IsRUFBaUIsNEZBQTRGO0lBQzVJLHdDQUF3QyxFQUFRLHFHQUFxRztJQUNySiwwQkFBMEIsRUFBc0IsdUZBQXVGO0lBQ3ZJLHVCQUF1QixFQUF5QixvRkFBb0Y7SUFDcEksZ0NBQWdDLEVBQWdCLDZGQUE2RjtJQUM3SSx1Q0FBdUMsRUFBUyxvR0FBb0c7SUFDcEosdUJBQXVCLEVBQXlCLG9GQUFvRjtJQUNwSSw4QkFBOEIsRUFBa0IsMkZBQTJGO0lBQzNJLDhC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QyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxjQUFjLENBQUU7WUFDckQsbUNBQW1DO1lBQ2xDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxNQUFzQjtpQkFDL0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBRTtpQkFDcEMsUUFBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxjQUFjLENBQUU7aUJBQ2xELFFBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssaUJBQWlCLENBQUU7WUFDeEQsa0NBQWtDO1lBQ2pDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxNQUFzQjtpQkFDL0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBRTtpQkFDcEMsUUFBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxjQUFjLENBQUU7aUJBQ2xELFFBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssZ0JBQWdCLENBQUU7WUFDdkQsbUNBQW1DO1lBQ2xDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxNQUFzQjtpQkFDL0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBRTtpQkFDcEMsUUFBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxjQUFjLENBQUU7aUJBQ2xELFFBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssaUJBQWlCLENBQUU7U0FDekQ7S0FDRjtDQUN5QixDQUFDO0FBRTdCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2xDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxNQUFNO0lBQ2xDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxJQUFJO0lBQzlCLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQyxHQUFHO0lBQzVCLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQyxHQUFHO0NBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBlc2xpbnQtZGlzYWJsZSBzcGFjZWQtY29tbWVudFxuXG5pbXBvcnQgeyB0eXBlIEV4cGxpY2l0U2NvcGUgfSBmcm9tIFwiLi9pbmRleC50c1wiO1xuXG5leHBvcnQgdHlwZSBTY29wZXNEaWN0aW9uYXJ5ID0gUmVjb3JkPHN0cmluZywgeyBsYWJlbDogc3RyaW5nOyBzY29wZXM6IFNjb3BlSXRlbVtdIH0+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNjb3BlSXRlbSB7XG4gIHZhbHVlOiBFeHBsaWNpdFNjb3BlO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBjaGlsZHJlbj86IFNjb3BlSXRlbVtdO1xufVxuXG4vKiogTWFwcGluZyBmcm9tIHNjb3BlIG5hbWUgdG8gc2NvcGUgZGVzY3JpcHRpb24gKi9cbmV4cG9ydCBjb25zdCBBbGxTY29wZXM6IFJlY29yZDxFeHBsaWNpdFNjb3BlLCBzdHJpbmc+ID1cbiAgLy8gcHJldHRpZXItaWdub3JlXG4gIHtcbiAgXCJzaWduOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHNpZ25lciBlbmRwb2ludHMgKGUuZy4sIHNpZ24gYmxvYiwgc2lnbiBiaXRjb2luL2F2YWxhbmNoZS9ldm0gdHJhbnNhY3Rpb24sIGV0Yy4pXCIsXG4gIFwic2lnbjphdmFcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduICdhdmEnIGVuZHBvaW50XCIsXG4gIFwic2lnbjpibG9iXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduICdibG9iJyBlbmRwb2ludFwiLFxuICBcInNpZ246ZGlmZmllSGVsbG1hblwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgRGlmZmllLUhlbGxtYW4gZW5kcG9pbnQuIFRoaXMgaXMgbm90IHJlYWxseSBzaWduaW5nLCBidXQgd2UgcHV0IGl0IHVuZGVyIHRoZSBgc2lnbmAgaGllcmFyY2h5IGJlY2F1c2UgaXQgaXMgY29uY2VwdHVhbGx5IHNpbWlsYXIuXCIsXG4gIFwic2lnbjpidGM6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBCVEMgZW5kcG9pbnRzXCIsXG4gIFwic2lnbjpidGM6c2Vnd2l0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGVuZHBvaW50IGZvciBzZWd3aXQgdHJhbnNhY3Rpb25zXCIsXG4gIFwic2lnbjpidGM6dGFwcm9vdFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGVuZHBvaW50IGZvciB0YXByb290IHRyYW5zYWN0aW9uc1wiLFxuICBcInNpZ246YnRjOnBzYnQ6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgUFNCVCBzaWduaW5nIGVuZHBvaW50IGZvciBhbnkga2V5IHR5cGVcIixcbiAgXCJzaWduOmJ0Yzpwc2J0OmRvZ2VcIiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIFBTQlQgc2lnbmluZyBlbmRwb2ludCBmb3IgRG9nZSBrZXlzXCIsXG4gIFwic2lnbjpidGM6cHNidDpsZWdhY3lcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBQU0JUIHNpZ25pbmcgZW5kcG9pbnQgZm9yIGxlZ2FjeSBrZXlzXCIsXG4gIFwic2lnbjpidGM6cHNidDpzZWd3aXRcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBQU0JUIHNpZ25pbmcgZW5kcG9pbnQgZm9yIHNlZ3dpdCBrZXlzXCIsXG4gIFwic2lnbjpidGM6cHNidDp0YXByb290XCIgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBQU0JUIHNpZ25pbmcgZW5kcG9pbnQgZm9yIHRhcHJvb3Qga2V5c1wiLFxuICBcInNpZ246YnRjOnBzYnQ6bHRjU2Vnd2l0XCIgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgUFNCVCBzaWduaW5nIGVuZHBvaW50IGZvciBMaXRlY29pbiBzZWd3aXQga2V5c1wiLFxuICBcInNpZ246YnRjOm1lc3NhZ2U6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgQlRDIG1lc3NhZ2Ugc2lnbmluZyBlbmRwb2ludCBmb3IgYW55IGtleSB0eXBlXCIsXG4gIFwic2lnbjpidGM6bWVzc2FnZTpzZWd3aXRcIiAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBCVEMgbWVzc2FnZSBzaWduaW5nIGVuZHBvaW50IGZvciBzZWd3aXQga2V5c1wiLFxuICBcInNpZ246YnRjOm1lc3NhZ2U6bGVnYWN5XCIgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgQlRDIG1lc3NhZ2Ugc2lnbmluZyBlbmRwb2ludCBmb3IgbGVnYWN5IGtleXNcIixcbiAgXCJzaWduOmJpbmFuY2U6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIEJpbmFuY2Ugc2lnbiBlbmRwb2ludCwgd2l0aG91dCByZXN0cmljdGlvbnNcIixcbiAgXCJzaWduOmJpbmFuY2U6YWNjb3VudEluZm9cIiAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIEJpbmFuY2Ugc2lnbiBlbmRwb2ludCwgcmVzdHJpY3RlZCB0byB0aGUgJ0FjY291bnRJbmZvJyBvcGVyYXRpb25cIixcbiAgXCJzaWduOmJpbmFuY2U6ZGVwb3NpdFwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIEJpbmFuY2Ugc2lnbiBlbmRwb2ludCwgcmVzdHJpY3RlZCB0byB0aGUgJ0RlcG9zaXQnIG1ldGhvZFwiLFxuICBcInNpZ246YmluYW5jZTpkZXBvc2l0SGlzdG9yeVwiICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgQmluYW5jZSBzaWduIGVuZHBvaW50LCByZXN0cmljdGVkIHRvIHRoZSAnRGVwb3NpdEhpc3RvcnknIG1ldGhvZFwiLFxuICBcInNpZ246YmluYW5jZTpzdWJBY2NvdW50QXNzZXRzXCIgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgQmluYW5jZSBzaWduIGVuZHBvaW50LCByZXN0cmljdGVkIHRvIHRoZSAnU3ViQWNjb3VudEFzc2V0cycgb3BlcmF0aW9uXCIsXG4gIFwic2lnbjpiaW5hbmNlOnN1YkFjY291bnRUcmFuc2Zlckhpc3RvcnlcIiAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBCaW5hbmNlIHNpZ24gZW5kcG9pbnQsIHJlc3RyaWN0ZWQgdG8gdGhlICdTdWJBY2NvdW50VHJhbnNmZXJIaXN0b3J5JyBvcGVyYXRpb25cIixcbiAgXCJzaWduOmJpbmFuY2U6c3ViVG9NYXN0ZXJcIiAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIEJpbmFuY2Ugc2lnbiBlbmRwb2ludCwgcmVzdHJpY3RlZCB0byB0aGUgJ1N1YlRvTWFzdGVyJyBvcGVyYXRpb25cIixcbiAgXCJzaWduOmJpbmFuY2U6c3ViVG9TdWJcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIEJpbmFuY2Ugc2lnbiBlbmRwb2ludCwgcmVzdHJpY3RlZCB0byB0aGUgJ1N1YlRvU3ViJyBvcGVyYXRpb25cIixcbiAgXCJzaWduOmJpbmFuY2U6dW5pdmVyc2FsVHJhbnNmZXJcIiAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIEJpbmFuY2Ugc2lnbiBlbmRwb2ludCwgcmVzdHJpY3RlZCB0byB0aGUgJ1VuaXZlcnNhbFRyYW5zZmVyJyBvcGVyYXRpb25cIixcbiAgXCJzaWduOmJpbmFuY2U6dW5pdmVyc2FsVHJhbnNmZXJIaXN0b3J5XCIgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIEJpbmFuY2Ugc2lnbiBlbmRwb2ludCwgcmVzdHJpY3RlZCB0byB0aGUgJ1VuaXZlcnNhbFRyYW5zZmVySGlzdG9yeScgb3BlcmF0aW9uXCIsXG4gIFwic2lnbjpiaW5hbmNlOndpdGhkcmF3XCIgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBCaW5hbmNlIHNpZ24gZW5kcG9pbnQsIHJlc3RyaWN0ZWQgdG8gdGhlICdXaXRoZHJhdycgb3BlcmF0aW9uXCIsXG4gIFwic2lnbjpiaW5hbmNlOndpdGhkcmF3SGlzdG9yeVwiICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBCaW5hbmNlIHNpZ24gZW5kcG9pbnQsIHJlc3RyaWN0ZWQgdG8gdGhlICdXaXRoZHJhd0hpc3RvcnknIG9wZXJhdGlvblwiLFxuICBcInNpZ246YmluYW5jZTpsaXN0U3ViQWNjb3VudHNcIiAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgdHlwZWQgc2lnbiAnYmluYW5jZScgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ0xpc3RTdWJBY2NvdW50cycgb3BlcmF0aW9uLlwiLFxuICBcInNpZ246YmluYW5jZTpjb2luSW5mb1wiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgdHlwZWQgc2lnbiAnYmluYW5jZScgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ0NvaW5JbmZvJyBvcGVyYXRpb24uXCIsXG4gIFwic2lnbjpiaW5hbmNlOnN1YkFjY291bnREZXBvc2l0QWRkcmVzc1wiICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSB0eXBlZCBzaWduICdiaW5hbmNlJyBlbmRwb2ludCwgYnV0IG9ubHkgZm9yIHRoZSAnU3ViQWNjb3VudERlcG9zaXRBZGRyZXNzJyBvcGVyYXRpb24uXCIsXG4gIFwic2lnbjpiYWJ5bG9uOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBCYWJ5bG9uIGVuZHBvaW50c1wiLFxuICBcInNpZ246YmFieWxvbjplb3RzOipcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgQmFieWxvbiBFT1RTIGVuZHBvaW50c1wiLFxuICBcInNpZ246YmFieWxvbjplb3RzOm5vbmNlc1wiICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgRU9UUyBub25jZSBnZW5lcmF0aW9uIGVuZHBvaW50XCIsXG4gIFwic2lnbjpiYWJ5bG9uOmVvdHM6c2lnblwiICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBFT1RTIHNpZ25pbmcgZW5kcG9pbnRcIixcbiAgXCJzaWduOmJhYnlsb246c3Rha2luZzoqXCIgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIGFsbCBCYWJ5bG9uIHN0YWtpbmcgb3BlcmF0aW9uc1wiLFxuICBcInNpZ246YmFieWxvbjpzdGFraW5nOmRlcG9zaXRcIiAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbmluZyBlbmRwb2ludCBmb3IgQmFieWxvbiBkZXBvc2l0c1wiLFxuICBcInNpZ246YmFieWxvbjpzdGFraW5nOnVuYm9uZFwiICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbmluZyBlbmRwb2ludCBmb3IgQmFieWxvbiB1bmJvbmRpbmdcIixcbiAgXCJzaWduOmJhYnlsb246c3Rha2luZzp3aXRoZHJhd1wiICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIEJhYnlsb24gd2l0aGRyYXdhbHNcIixcbiAgXCJzaWduOmJhYnlsb246c3Rha2luZzpzbGFzaFwiICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIEJhYnlsb24gc2xhc2hpbmcgcHJlLXNpZ25hdHVyZXNcIixcbiAgXCJzaWduOmJhYnlsb246cmVnaXN0cmF0aW9uXCIgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIEJhYnlsb24gcmVnaXN0cmF0aW9uXCIsXG4gIFwic2lnbjpiYWJ5bG9uOmNvdmVuYW50XCIgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGVuZHBvaW50IGZvciBCYWJ5bG9uIGNvdmVuYW50IHNpZ25pbmdcIixcbiAgXCJzaWduOmJ5Yml0OipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHR5cGVkIHNpZ24gJ2J5Yml0JyBlbmRwb2ludCAoc2lnbnMgQnliaXQgUlBDIHJlcXVlc3RzKS5cIixcbiAgXCJzaWduOmJ5Yml0OnF1ZXJ5VXNlclwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHR5cGVkIHNpZ24gJ2J5Yml0JyBlbmRwb2ludCwgYnV0IG9ubHkgZm9yIHRoZSAnUXVlcnlVc2VyJyBvcGVyYXRpb24uXCIsXG4gIFwic2lnbjpieWJpdDpxdWVyeVN1Yk1lbWJlcnNcIiAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSB0eXBlZCBzaWduICdieWJpdCcgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ1F1ZXJ5U3ViTWVtYmVycycgb3BlcmF0aW9uLlwiLFxuICBcInNpZ246YnliaXQ6cXVlcnlDb2luc0JhbGFuY2VcIiAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgdHlwZWQgc2lnbiAnYnliaXQnIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdRdWVyeUNvaW5zQmFsYW5jZScgb3BlcmF0aW9uLlwiLFxuICBcInNpZ246YnliaXQ6cXVlcnlDb2luSW5mb1wiICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgdHlwZWQgc2lnbiAnYnliaXQnIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdRdWVyeUNvaW5JbmZvJyBvcGVyYXRpb24uXCIsXG4gIFwic2lnbjpieWJpdDpxdWVyeURlcG9zaXRBZGRyZXNzXCIgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSB0eXBlZCBzaWduICdieWJpdCcgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ1F1ZXJ5RGVwb3NpdEFkZHJlc3MnIG9wZXJhdGlvbi5cIixcbiAgXCJzaWduOmJ5Yml0OmRlcG9zaXRIaXN0b3J5XCIgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHR5cGVkIHNpZ24gJ2J5Yml0JyBlbmRwb2ludCwgYnV0IG9ubHkgZm9yIHRoZSAnRGVwb3NpdEhpc3RvcnknIG9wZXJhdGlvbi5cIixcbiAgXCJzaWduOmJ5Yml0OnVuaXZlcnNhbFRyYW5zZmVyXCIgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHR5cGVkIHNpZ24gJ2J5Yml0JyBlbmRwb2ludCwgYnV0IG9ubHkgZm9yIHRoZSAnVW5pdmVyc2FsVHJhbnNmZXInIG9wZXJhdGlvbi5cIixcbiAgXCJzaWduOmJ5Yml0OnVuaXZlcnNhbFRyYW5zZmVySGlzdG9yeVwiICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHR5cGVkIHNpZ24gJ2J5Yml0JyBlbmRwb2ludCwgYnV0IG9ubHkgZm9yIHRoZSAnVW5pdmVyc2FsVHJhbnNmZXJIaXN0b3J5JyBvcGVyYXRpb24uXCIsXG4gIFwic2lnbjpieWJpdDp3aXRoZHJhd1wiICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSB0eXBlZCBzaWduICdieWJpdCcgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ1dpdGhkcmF3JyBvcGVyYXRpb24uXCIsXG4gIFwic2lnbjpieWJpdDp3aXRoZHJhd2Fsc1wiICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSB0eXBlZCBzaWduICdieWJpdCcgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ1dpdGhkcmF3YWxzJyBvcGVyYXRpb24uXCIsXG4gIFwic2lnbjpieWJpdDpxdWVyeVdpdGhkcmF3QWRkcmVzc1wiICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSB0eXBlZCBzaWduICdieWJpdCcgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ1F1ZXJ5V2l0aGRyYXdBZGRyZXNzJyBvcGVyYXRpb24uXCIsXG4gIFwic2lnbjpieWJpdDpxdWVyeVN1YkRlcG9zaXRBZGRyZXNzXCIgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSB0eXBlZCBzaWduICdieWJpdCcgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ1F1ZXJ5U3ViRGVwb3NpdEFkZHJlc3MnIG9wZXJhdGlvbi5cIixcbiAgXCJzaWduOmNvaW5iYXNlOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHR5cGVkIHNpZ24gJ2NvaW5iYXNlJyBlbmRwb2ludCAoc2lnbnMgQ29pbmJhc2UgUlBDIHJlcXVlc3RzKS5cIixcbiAgXCJzaWduOmNvaW5iYXNlOmFjY291bnRzOmxpc3RcIiAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHR5cGVkIHNpZ24gJ2NvaW5iYXNlJyBlbmRwb2ludCwgYnV0IG9ubHkgZm9yIHRoZSAnTGlzdEFjY291bnRzJyBvcGVyYXRpb24uXCIsXG4gIFwic2lnbjpjb2luYmFzZTpwb3J0Zm9saW9zOmxpc3RcIiAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSB0eXBlZCBzaWduICdjb2luYmFzZScgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ0xpc3RQb3J0Zm9saW9zJyBvcGVyYXRpb24uXCIsXG4gIFwic2lnbjpjb2luYmFzZTpmdW5kczptb3ZlXCIgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSB0eXBlZCBzaWduICdjb2luYmFzZScgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ01vdmVGdW5kcycgb3BlcmF0aW9uLlwiLFxuICBcInNpZ246ZXZtOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgc2lnbiAnZXZtJyBlbmRwb2ludHNcIixcbiAgXCJzaWduOmV2bTp0eFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIGV2bSB0cmFuc2FjdGlvbnNcIixcbiAgXCJzaWduOmV2bTplaXAxOTFcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIEVJUC0xOTEgcGVyc29uYWxfbWVzc2FnZSBkYXRhXCIsXG4gIFwic2lnbjpldm06ZWlwNzEyXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGVuZHBvaW50IGZvciBFSVAtNzEyIHR5cGVkIGRhdGFcIixcbiAgXCJzaWduOmV2bTplaXA3NzAyXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIEVJUC03NzAyIGF1dGhvcml6YXRpb24gcmVxdWVzdHNcIixcbiAgXCJzaWduOmV0aDI6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHNpZ24gJ2V0aDInIGVuZHBvaW50c1wiLFxuICBcInNpZ246ZXRoMjp2YWxpZGF0ZVwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbiBldGgyICd2YWxpZGF0ZScgZW5kcG9pbnRcIixcbiAgXCJzaWduOmV0aDI6c3Rha2VcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ24gZXRoMiAnc3Rha2UnIGVuZHBvaW50XCIsXG4gIFwic2lnbjpldGgyOnVuc3Rha2VcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduIGV0aDIgJ3Vuc3Rha2UnIGVuZHBvaW50XCIsXG4gIFwic2lnbjpzb2xhbmFcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduICdzb2xhbmEnIGVuZHBvaW50XCIsXG4gIFwic2lnbjpzdWlcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduICdzdWknIGVuZHBvaW50XCIsXG4gIFwic2lnbjp0ZW5kZXJtaW50XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduICd0ZW5kZXJtaW50JyBlbmRwb2ludFwiLFxuICBcInNpZ246bW1pXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbiAnbW1pJyBlbmRwb2ludFwiLFxuICBcInNpZ246YXV0b1wiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIE1NSSByZXF1ZXN0cyBmb3Iga2V5cyB3aXRoIHRoZSAnQWxsb3dBdXRvU2lnbicgcG9saWN5IHRvIGJlIHNpZ25lZCBhdXRvbWF0aWNhbGx5LlwiLFxuICBcIm1hbmFnZToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgbWFuYWdlbWVudCBlbmRwb2ludHMgKGUuZy4sIGNyZWF0ZSByb2xlLCBjcmVhdGUga2V5LCBhZGQga2V5IHRvIHJvbGUsIGV0Yy4pXCIsXG4gIFwibWFuYWdlOnJlYWRvbmx5XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBtYW5hZ2VtZW50IHJlYWRvbmx5IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTplbWFpbDoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBlbWFpbCBtYW5hZ2VtZW50IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTplbWFpbDpnZXRcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBlbWFpbCBjb25maWd1cmF0aW9uICdnZXQnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmVtYWlsOnVwZGF0ZVwiICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGVtYWlsIGNvbmZpZ3VyYXRpb24gJ3VwZGF0ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6ZW1haWw6ZGVsZXRlXCIgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgZW1haWwgY29uZmlndXJhdGlvbiAnZGVsZXRlJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTptZmE6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIE1GQSBlbmRwb2ludHMgKGUuZy4sIGdldC9hcHByb3ZlIGV4aXN0aW5nIE1GQSByZXF1ZXN0KVwiLFxuICBcIm1hbmFnZTptZmE6cmVhZG9ubHlcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIE1GQSByZWFkb25seSBlbmRwb2ludHMgKGUuZy4sIGdldC9saXN0IGV4aXN0aW5nIE1GQSByZXF1ZXN0KHMpKVwiLFxuICBcIm1hbmFnZTptZmE6bGlzdFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBNRkEgbGlzdCBlbmRwb2ludCAobGlzdCBleGlzdGluZyBNRkEgcmVxdWVzdHMpXCIsXG4gIFwibWFuYWdlOm1mYTp2b3RlOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBNRkEgdm90ZSBlbmRwb2ludHMgKHZvdGUgdXNpbmcgY3VycmVudCBDdWJlU2lnbmVyIHNlc3Npb24sIFRPVFAsIG9yIEZJRE8pXCIsXG4gIFwibWFuYWdlOm1mYTp2b3RlOmNzXCIgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIE1GQSAndm90ZSB3aXRoIEN1YmVTaWduZXInIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOm1mYTp2b3RlOmVtYWlsXCIgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIE1GQSAndm90ZSB3aXRoIGVtYWlsJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTptZmE6dm90ZTpmaWRvXCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBNRkEgJ3ZvdGUgd2l0aCBUT1RQJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTptZmE6dm90ZTp0b3RwXCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBNRkEgJ3ZvdGUgd2l0aCBGSURPJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTptZmE6cmVnaXN0ZXI6KlwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgTUZBIHJlZ2lzdGVyIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTptZmE6cmVnaXN0ZXI6Zmlkb1wiICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBNRkEgJ3JlZ2lzdGVyIFRPVFAnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOm1mYTpyZWdpc3Rlcjp0b3RwXCIgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIE1GQSAncmVnaXN0ZXIgRklETycgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6bWZhOnJlZ2lzdGVyOmVtYWlsXCIgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgTUZBICdyZWdpc3RlciB2ZXJpZmllZCBlbWFpbCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6bWZhOnVucmVnaXN0ZXI6KlwiICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIE1GQSB1bnJlZ2lzdGVyIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTptZmE6dW5yZWdpc3RlcjpmaWRvXCIgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBNRkEgJ2RlbGV0ZSBUT1RQJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTptZmE6dW5yZWdpc3Rlcjp0b3RwXCIgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBNRkEgJ2RlbGV0ZSBGSURPJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTptZmE6dmVyaWZ5OipcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgTUZBIHZlcmlmeSBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6bWZhOnZlcmlmeTp0b3RwXCIgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgTUZBICd2ZXJpZnkgVE9UUCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6a2V5OipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIGtleSBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6a2V5OnJlYWRvbmx5XCIgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIGtleSByZWFkb25seSBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6a2V5OmF0dGVzdFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUga2V5ICdhdHRlc3QnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmtleTpnZXRcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAnZ2V0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTprZXk6bGlzdFJvbGVzXCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBrZXkgJ2xpc3RSb2xlcycgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6a2V5Omxpc3RcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUga2V5ICdsaXN0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTprZXk6aGlzdG9yeTp0eDpsaXN0XCIgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBrZXkgJ2xpc3RfaGlzdG9yaWNhbF90eCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6a2V5OmNyZWF0ZVwiICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byBrZXkgY3JlYXRpb24gZW5kcG9pbnRzIChlLmcuLCAnY3JlYXRlJyBhbmQgJ2Rlcml2ZScpXCIsXG4gIFwibWFuYWdlOmtleTppbXBvcnRcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAnaW1wb3J0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTprZXk6dXBkYXRlOipcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBrZXkgJ3VwZGF0ZScgZW5kcG9pbnQsIHdpdGhpbiB3aGljaCBhbGxvd2luZyBhbGwgcG9zc2libGUgdXBkYXRlc1wiLFxuICBcIm1hbmFnZTprZXk6dXBkYXRlOm93bmVyXCIgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBrZXkgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSBrZXkgJ293bmVyJyBwcm9wZXJ0eVwiLFxuICBcIm1hbmFnZTprZXk6dXBkYXRlOnJlZ2lvblwiICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBrZXkgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSBrZXkgJ3JlZ2lvbicgcHJvcGVydHlcIixcbiAgXCJtYW5hZ2U6a2V5OnVwZGF0ZTpwb2xpY3lcIiAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUga2V5ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUga2V5ICdwb2xpY3knIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOmtleTp1cGRhdGU6YWNsXCIgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIGtleSAnYWNsJyBwcm9wZXJ0eVwiLFxuICBcIm1hbmFnZTprZXk6dXBkYXRlOmVuYWJsZWRcIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBrZXkgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSBrZXkgJ2VuYWJsZWQnIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOmtleTp1cGRhdGU6bWV0YWRhdGFcIiAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAndXBkYXRlJyBlbmRwb2ludCBhbmQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGtleSAnbWV0YWRhdGEnIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOmtleTp1cGRhdGU6cHJvcGVydGllc1wiICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAndXBkYXRlJyBlbmRwb2ludCBhbmQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGtleSAncHJvcGVydGllcycgcHJvcGVydHlcIixcbiAgXCJtYW5hZ2U6a2V5OnVwZGF0ZTplZGl0UG9saWN5XCIgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUga2V5ICd1cGRhdGUnIGVuZHBvaW50IGFuZCByZXN0cmljdHMgdXBkYXRlcyB0byB0aGUgJ2VkaXRfcG9saWN5JyBwcm9wZXJ0eVwiLFxuICBcIm1hbmFnZTprZXk6ZGVsZXRlXCIgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBrZXkgJ2RlbGV0ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cG9saWN5OipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHBvbGljeSBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6cG9saWN5OnJlYWRvbmx5XCIgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHBvbGljeSByZWFkb25seSBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6cG9saWN5OmNyZWF0ZVwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5IGNyZWF0aW9uIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnBvbGljeTpnZXRcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSAnZ2V0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpwb2xpY3k6bGlzdFwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgJ2xpc3QnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnBvbGljeTpkZWxldGVcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSBgZGVsZXRlYCBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpwb2xpY3k6dXBkYXRlOipcIiAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgJ3VwZGF0ZScgZW5kcG9pbnQsIHdpdGhpbiB3aGljaCBhbGxvd2luZyBhbGwgcG9zc2libGUgdXBkYXRlc1wiLFxuICBcIm1hbmFnZTpwb2xpY3k6dXBkYXRlOmFjbFwiICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSBwb2xpY3kgQUNMXCIsXG4gIFwibWFuYWdlOnBvbGljeTp1cGRhdGU6b3duZXJcIiAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIHBvbGljeSBvd25lciBwcm9wZXJ0eVwiLFxuICBcIm1hbmFnZTpwb2xpY3k6dXBkYXRlOm5hbWVcIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSBwb2xpY3kgbmFtZVwiLFxuICBcIm1hbmFnZTpwb2xpY3k6dXBkYXRlOmVkaXRQb2xpY3lcIiAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSAnZWRpdF9wb2xpY3knIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOnBvbGljeTp1cGRhdGU6bWV0YWRhdGFcIiAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlICdtZXRhZGF0YScgcHJvcGVydHlcIixcbiAgXCJtYW5hZ2U6cG9saWN5OnVwZGF0ZTpydWxlXCIgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUgcG9saWN5IHJ1bGUgaXRzZWxmXCIsXG4gIFwibWFuYWdlOnBvbGljeTppbnZva2VcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSAnaW52b2tlJyBlbmRwb2ludC5cIixcbiAgXCJtYW5hZ2U6cG9saWN5Ondhc206KlwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHdhc20gcG9saWN5IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpwb2xpY3k6d2FzbTp1cGxvYWRcIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSB3YXNtIHBvbGljeSAndXBsb2FkJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpwb2xpY3k6c2VjcmV0czoqXCIgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgcG9saWN5IHNlY3JldHMgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOnBvbGljeTpzZWNyZXRzOmdldFwiICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSBzZWNyZXRzICdnZXQnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnBvbGljeTpzZWNyZXRzOnVwZGF0ZToqXCIgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBwb2xpY3kgc2VjcmV0cyAndXBkYXRlJyBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6cG9saWN5OnNlY3JldHM6dXBkYXRlOnZhbHVlc1wiICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5IHNlY3JldHMgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSBzZWNyZXRzIGtleXMgYW5kIHZhbHVlc1wiLFxuICBcIm1hbmFnZTpwb2xpY3k6c2VjcmV0czp1cGRhdGU6YWNsXCIgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgc2VjcmV0cyAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIHNlY3JldHMgYWNsXCIsXG4gIFwibWFuYWdlOnBvbGljeTpzZWNyZXRzOnVwZGF0ZTplZGl0UG9saWN5XCIgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSBzZWNyZXRzICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUgYGVkaXRfcG9saWN5YCBwcm9wZXJ0eVwiLFxuICBcIm1hbmFnZTpwb2xpY3k6YnVja2V0czoqXCIgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgcG9saWN5IGJ1Y2tldHMgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOnBvbGljeTpidWNrZXRzOmdldFwiICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSBidWNrZXRzICdnZXQnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnBvbGljeTpidWNrZXRzOmxpc3RcIiAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSBidWNrZXRzICdsaXN0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpwb2xpY3k6YnVja2V0czp1cGRhdGU6KlwiICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgYnVja2V0cyAndXBkYXRlJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpwb2xpY3k6YnVja2V0czp1cGRhdGU6b3duZXJcIiAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgYnVja2V0cyAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIGBvd25lcmAgcHJvcGVydHlcIixcbiAgXCJtYW5hZ2U6cG9saWN5OmJ1Y2tldHM6dXBkYXRlOmFjbFwiICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5IGJ1Y2tldHMgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSBgYWNsYCBwcm9wZXJ0eVwiLFxuICBcIm1hbmFnZTpwb2xpY3k6YnVja2V0czp1cGRhdGU6bWV0YWRhdGFcIiAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgYnVja2V0cyAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIGBtZXRhZGF0YWAgcHJvcGVydHlcIixcbiAgXCJtYW5hZ2U6Y29udGFjdDoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIGNvbnRhY3QgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOmNvbnRhY3Q6cmVhZG9ubHlcIiAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBjb250YWN0IHJlYWRvbmx5IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpjb250YWN0OmNyZWF0ZVwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgY29udGFjdCAnY3JlYXRlJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpjb250YWN0OmdldFwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgY29udGFjdCBgZ2V0YCBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpjb250YWN0Omxpc3RcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgY29udGFjdCBgbGlzdGAgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6Y29udGFjdDpkZWxldGVcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIGNvbnRhY3QgYGRlbGV0ZWAgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6Y29udGFjdDp1cGRhdGU6KlwiICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgY29udGFjdCAndXBkYXRlJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpjb250YWN0OnVwZGF0ZTpuYW1lXCIgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBjb250YWN0ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGNvbnRhY3QncyAnbmFtZScgZmllbGQuXCIsXG4gIFwibWFuYWdlOmNvbnRhY3Q6dXBkYXRlOmFkZHJlc3Nlc1wiICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGNvbnRhY3QgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdHMgdXBkYXRlcyB0byB0aGUgY29udGFjdCdzICdhZGRyZXNzZXMnIGZpZWxkLlwiLFxuICBcIm1hbmFnZTpjb250YWN0OnVwZGF0ZTpvd25lclwiICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBjb250YWN0ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGNvbnRhY3QncyAnb3duZXInIGZpZWxkLlwiLFxuICBcIm1hbmFnZTpjb250YWN0OnVwZGF0ZTptZXRhZGF0YVwiICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBjb250YWN0ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGNvbnRhY3QncyAnbWV0YWRhdGEnIGZpZWxkLlwiLFxuICBcIm1hbmFnZTpjb250YWN0OnVwZGF0ZTpsYWJlbHNcIiAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBjb250YWN0ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGNvbnRhY3QncyAnbGFiZWxzJyBmaWVsZC5cIixcbiAgXCJtYW5hZ2U6Y29udGFjdDp1cGRhdGU6ZWRpdFBvbGljeVwiICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgY29udGFjdCAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0cyB1cGRhdGVzIHRvIHRoZSBjb250YWN0J3MgJ2VkaXRfcG9saWN5JyBmaWVsZC5cIixcbiAgXCJtYW5hZ2U6Y29udGFjdDpsb29rdXA6KlwiICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIGNvbnRhY3QgYGxvb2t1cGAgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOmNvbnRhY3Q6bG9va3VwOmFkZHJlc3NcIiAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGNvbnRhY3QgJ2xvb2t1cCBieSBhZGRyZXNzJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpwb2xpY3k6Y3JlYXRlSW1wb3J0S2V5XCIgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kga2V5IGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnJvbGU6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCByb2xlIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpyb2xlOnJlYWRvbmx5XCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgcm9sZSByZWFkb25seSBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6cm9sZTphdHRlc3RcIiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcm9sZSAnYXR0ZXN0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpyb2xlOmNyZWF0ZVwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSByb2xlICdjcmVhdGUnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnJvbGU6ZGVsZXRlXCIgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHJvbGUgJ2RlbGV0ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTpnZXQ6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcm9sZSAnZ2V0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpyb2xlOmdldDprZXlzXCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAnbGlzdCBrZXlzJyBhbmQgJ2dldCBrZXknIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpyb2xlOmdldDprZXlzOmxpc3RcIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAnbGlzdCBrZXlzJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpyb2xlOmdldDprZXlzOmdldFwiICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAnZ2V0IGtleScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTpnZXQ6dXNlcnNcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHJvbGUgJ2xpc3QgdXNlcnMnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnJvbGU6bGlzdFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHJvbGUgJ2xpc3QnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnJvbGU6dXBkYXRlOipcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHJvbGUgJ3VwZGF0ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTp1cGRhdGU6YWN0aW9uc1wiICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcm9sZSAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIHJvbGUgJ2FjdGlvbnMnIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOnJvbGU6dXBkYXRlOmVuYWJsZWRcIiAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHJvbGUgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSByb2xlICdlbmFibGVkJyBwcm9wZXJ0eVwiLFxuICBcIm1hbmFnZTpyb2xlOnVwZGF0ZTpwb2xpY3lcIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSByb2xlICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUgcm9sZSAncG9saWN5JyBwcm9wZXJ0eVwiLFxuICBcIm1hbmFnZTpyb2xlOnVwZGF0ZTplZGl0UG9saWN5XCIgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSByb2xlICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUgcm9sZSAnZWRpdF9wb2xpY3knIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOnJvbGU6dXBkYXRlOmtleToqXCIgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCByb2xlICd1cGRhdGU6a2V5JyBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6cm9sZTp1cGRhdGU6a2V5OmFkZFwiICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHJvbGUgJ3VwZGF0ZTprZXlzOmFkZCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTp1cGRhdGU6a2V5OnJlbW92ZVwiICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHJvbGUgJ3VwZGF0ZTprZXlzOnJlbW92ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTp1cGRhdGU6dXNlcjoqXCIgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHJvbGUgJ3VwZGF0ZTp1c2VyJyBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6cm9sZTp1cGRhdGU6dXNlcjphZGRcIiAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHJvbGUgJ3VwZGF0ZTp1c2VyOmFkZCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTp1cGRhdGU6dXNlcjpyZW1vdmVcIiAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHJvbGUgJ3VwZGF0ZTp1c2VyOnJlbW92ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTpoaXN0b3J5OnR4Omxpc3RcIiAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcm9sZSAnbGlzdF9oaXN0b3JpY2FsX3R4JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTppZGVudGl0eToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgaWRlbnRpdHkgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOmlkZW50aXR5OnJlYWRvbmx5XCIgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBpZGVudGl0eSByZWFkb25seSBlbmRwb2ludHMuXCIsXG4gIFwibWFuYWdlOmlkZW50aXR5OnZlcmlmeVwiICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGlkZW50aXR5ICd2ZXJpZnknIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmlkZW50aXR5OmFkZFwiICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGlkZW50aXR5ICdhZGQnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmlkZW50aXR5OnJlbW92ZVwiICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGlkZW50aXR5ICdyZW1vdmUnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmlkZW50aXR5Omxpc3RcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGlkZW50aXR5ICdsaXN0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpvcmc6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgb3JnIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpvcmc6Y3JlYXRlXCIgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgb3JnICdjcmVhdGUnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOm9yZzptZXRyaWNzOnF1ZXJ5XCIgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHJldHJpZXZpbmcgb3JnIG1ldHJpY3NcIixcbiAgXCJtYW5hZ2U6b3JnOmF1ZGl0OnF1ZXJ5XCIgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gcmV0cmlldmluZyBvcmcgYXVkaXQgbG9nXCIsXG4gIFwibWFuYWdlOm9yZzpyZWFkb25seVwiICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBvcmcgcmVhZG9ubHkgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOm9yZzphZGRVc2VyXCIgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIG9yZyBlbmRwb2ludCBmb3IgYWRkaW5nIGFuIE9JREMgdXNlciB0byB0aGUgb3JnXCIsXG4gIFwibWFuYWdlOm9yZzppbnZpdGF0aW9uOmxpc3RcIiAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIG9yZyBlbmRwb2ludCBmb3IgbGlzdGluZyBwZW5kaW5nIGludml0YXRpb25zXCIsXG4gIFwibWFuYWdlOm9yZzppbnZpdGF0aW9uOmNhbmNlbFwiICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIG9yZyBlbmRwb2ludCBmb3IgY2FuY2VsaW5nIHBlbmRpbmcgaW52aXRhdGlvbnNcIixcbiAgXCJtYW5hZ2U6b3JnOmludml0ZVVzZXJcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgb3JnIGVuZHBvaW50IGZvciBpbnZpdGluZyBhIG5ldyBtZW1iZXIgb3Igb3JnIG93bmVyIHRvIHRoZSBvcmdcIixcbiAgXCJtYW5hZ2U6b3JnOmludml0ZUFsaWVuXCIgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgb3JnIGVuZHBvaW50IGZvciBpbnZpdGluZyBhIG5ldyBhbGllbiB1c2VyIHRvIHRoZSBvcmdcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZU1lbWJlcnNoaXA6KlwiICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgb3JnIGVuZHBvaW50IGZvciB1cGRhdGluZyBleGlzdGluZyB1c2VyJ3Mgb3JnIG1lbWJlcnNoaXBcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZU1lbWJlcnNoaXA6b3duZXJcIiAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgb3JnIGVuZHBvaW50IGZvciB1cGRhdGluZyBleGlzdGluZyBvcmcgT3duZXIncyBtZW1iZXJzaGlwXCIsXG4gIFwibWFuYWdlOm9yZzp1cGRhdGVNZW1iZXJzaGlwOm1lbWJlclwiICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIG9yZyBlbmRwb2ludCBmb3IgdXBkYXRpbmcgZXhpc3Rpbmcgb3JnIE1lbWJlcidzIG1lbWJlcnNoaXBcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZU1lbWJlcnNoaXA6YWxpZW5cIiAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgb3JnIGVuZHBvaW50IGZvciB1cGRhdGluZyBleGlzdGluZyBvcmcgQWxpZW4ncyBtZW1iZXJzaGlwXCIsXG4gIFwibWFuYWdlOm9yZzpsaXN0VXNlcnNcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIG9yZyBlbmRwb2ludCBmb3IgbGlzdGluZyBhbGwgb3JnIHVzZXJzIChtZW1iZXJzKVwiLFxuICBcIm1hbmFnZTpvcmc6dXNlcjpnZXRcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBvcmcgZW5kcG9pbnRzIGZvciBnZXR0aW5nIHVzZXJzIGJ5IGlkIG9yIGVtYWlsXCIsXG4gIFwibWFuYWdlOm9yZzpkZWxldGVVc2VyOipcIiAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIG9yZyBlbmRwb2ludCBmb3IgZGVsZXRpbmcgYW4gT0lEQyB1c2VyXCIsXG4gIFwibWFuYWdlOm9yZzpkZWxldGVVc2VyOm93bmVyXCIgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIG9yZyBlbmRwb2ludCBmb3IgZGVsZXRpbmcgYSB1c2VyLCBvbmx5IHdoZW4gZGVsZXRpbmcgYW4gZXhpc3Rpbmcgb3JnIE93bmVyXCIsXG4gIFwibWFuYWdlOm9yZzpkZWxldGVVc2VyOm1lbWJlclwiICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIG9yZyBlbmRwb2ludCBmb3IgZGVsZXRpbmcgYSB1c2VyLCBvbmx5IHdoZW4gZGVsZXRpbmcgYW4gZXhpc3Rpbmcgb3JnIE1lbWJlclwiLFxuICBcIm1hbmFnZTpvcmc6ZGVsZXRlVXNlcjphbGllblwiICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBvcmcgZW5kcG9pbnQgZm9yIGRlbGV0aW5nIGEgdXNlciwgb25seSB3aGVuIGRlbGV0aW5nIGFuIGV4aXN0aW5nIG9yZyBBbGllblwiLFxuICBcIm1hbmFnZTpvcmc6Z2V0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byByZXRyaWV2aW5nIG9yZ2FuaXphdGlvbiBpbmZvcm1hdGlvblwiLFxuICBcIm1hbmFnZTpvcmc6dXNlcjpyZXNldE1mYVwiICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFuIG93bmVyIHRvIGluaXRpYXRlIGFuIE1GQSByZXNldCBmb3IgYSB1c2VyXCIsXG4gIFwibWFuYWdlOm9yZzp1cGRhdGU6KlwiICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBvcmcgJ3VwZGF0ZScgYWN0aW9uc1wiLFxuICBcIm1hbmFnZTpvcmc6dXBkYXRlOmVuYWJsZWRcIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIHVwZGF0aW5nIHRoZSBvcmcgJ2VuYWJsZWQnIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOm9yZzp1cGRhdGU6cG9saWN5XCIgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgdXBkYXRpbmcgb3JnLXdpZGUgcG9saWNpZXNcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZTpzaWduUG9saWN5XCIgICAgICAgICAgICAgICAgOiBcIkFsbG93cyB1cGRhdGluZyBvcmctd2lkZSBzaWduIHBvbGljaWVzXCIsXG4gIFwibWFuYWdlOm9yZzp1cGRhdGU6ZXhwb3J0XCIgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgdXBkYXRpbmcgdXNlci1leHBvcnQgc2V0dGluZ3MgKGRlbGF5LCB3aW5kb3csIGRpc2FibGVkKVwiLFxuICBcIm1hbmFnZTpvcmc6dXBkYXRlOnRvdHBGYWlsdXJlTGltaXRcIiAgICAgICAgICA6IFwiQWxsb3dzIHVwZGF0aW5nIHRoZSBUT1RQIGZhaWx1cmUgbGltaXRcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZTpub3RpZmljYXRpb25FbmRwb2ludHNcIiAgICAgOiBcIkFsbG93cyB1cGRhdGluZyBub3RpZmljYXRpb24gZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOm9yZzp1cGRhdGU6ZGVmYXVsdEludml0ZUtpbmRcIiAgICAgICAgIDogXCJBbGxvd3MgdXBkYXRpbmcgdGhlIGRlZmF1bHQgaW52aXRlIGtpbmRcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZTppZHBDb25maWd1cmF0aW9uXCIgICAgICAgICAgOiBcIkFsbG93cyB1cGRhdGluZyBJRFAgY29uZmlndXJhdGlvblwiLFxuICBcIm1hbmFnZTpvcmc6dXBkYXRlOnBhc3NrZXlDb25maWd1cmF0aW9uXCIgICAgICA6IFwiQWxsb3dzIHVwZGF0aW5nIHBhc3NrZXkgY29uZmlndXJhdGlvblwiLFxuICBcIm1hbmFnZTpvcmc6dXBkYXRlOmVtYWlsUHJlZmVyZW5jZXNcIiAgICAgICAgICA6IFwiQWxsb3dzIHVwZGF0aW5nIGVtYWlsIHByZWZlcmVuY2VzXCIsXG4gIFwibWFuYWdlOm9yZzp1cGRhdGU6aGlzdG9yaWNhbERhdGFcIiAgICAgICAgICAgIDogXCJBbGxvd3MgdXBkYXRpbmcgaGlzdG9yaWNhbCBkYXRhIGNvbmZpZ3VyYXRpb25cIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZTpyZXF1aXJlU2NvcGVDZWlsaW5nXCIgICAgICAgOiBcIkFsbG93cyB1cGRhdGluZyB0aGUgcmVxdWlyZV9zY29wZV9jZWlsaW5nIHNldHRpbmdcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZTphbGllbkxvZ2luUmVxdWlyZW1lbnRcIiAgICAgOiBcIkFsbG93cyB1cGRhdGluZyB0aGUgYWxpZW4gbG9naW4gcmVxdWlyZW1lbnRcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZTptZW1iZXJMb2dpblJlcXVpcmVtZW50XCIgICAgOiBcIkFsbG93cyB1cGRhdGluZyB0aGUgbWVtYmVyIGxvZ2luIHJlcXVpcmVtZW50XCIsXG4gIFwibWFuYWdlOm9yZzp1cGRhdGU6a2V5RXhwb3J0UmVxdWlyZW1lbnRcIiAgICAgIDogXCJBbGxvd3MgdXBkYXRpbmcgdGhlIGtleSBleHBvcnQgcmVxdWlyZW1lbnRcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZTphbGxvd2VkTWZhVHlwZXNcIiAgICAgICAgICAgOiBcIkFsbG93cyB1cGRhdGluZyBhbGxvd2VkIE1GQSB0eXBlc1wiLFxuICBcIm1hbmFnZTpvcmc6dXBkYXRlOnBvbGljeUVuZ2luZUNvbmZcIiAgICAgICAgICA6IFwiQWxsb3dzIHVwZGF0aW5nIHRoZSBwb2xpY3kgZW5naW5lIGNvbmZpZ3VyYXRpb25cIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZTpjdXN0b21DaGFpbnNcIiAgICAgICAgICAgICAgOiBcIkFsbG93cyB1cGRhdGluZyBjdXN0b20gY2hhaW5zXCIsXG4gIFwibWFuYWdlOm9yZzp1cGRhdGU6ZXh0UHJvcHNcIiAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgdXBkYXRpbmcgZXh0ZW5kZWQgb3JnIHByb3BlcnRpZXNcIixcbiAgXCJtYW5hZ2U6b3JnOnVwZGF0ZTplZGl0UG9saWN5XCIgICAgICAgICAgICAgICAgOiBcIkFsbG93cyB1cGRhdGluZyB0aGUgb3JnJ3MgZWRpdCBwb2xpY3lcIixcbiAgXCJtYW5hZ2U6c2Vzc2lvbjoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHNlc3Npb24gZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOnNlc3Npb246cmVhZG9ubHlcIiAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBzZXNzaW9uIHJlYWRvbmx5IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpzZXNzaW9uOmdldFwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBzZXNzaW9uICdnZXQnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnNlc3Npb246bGlzdFwiICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHNlc3Npb24gJ2xpc3QnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnNlc3Npb246Y3JlYXRlXCIgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHNlc3Npb24gJ2NyZWF0ZScgZW5kcG9pbnQsIGJ1dCB3aXRob3V0IHRoZSBhYmlsaXR5IHRvIGV4dGVuZCBzZXNzaW9uIGxpZmV0aW1lc1wiLFxuICBcIm1hbmFnZTpzZXNzaW9uOmV4dGVuZFwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBzZXNzaW9uICdjcmVhdGUnIGVuZHBvaW50LCBpbmNsdWRpbmcgdGhlIGFiaWxpdHkgdG8gZXh0ZW5kIHNlc3Npb24gbGlmZXRpbWVzXCIsXG4gIFwibWFuYWdlOnNlc3Npb246cmV2b2tlXCIgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHNlc3Npb24gJ3Jldm9rZScgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOmV4cG9ydDoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBleHBvcnQgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOmV4cG9ydDpyZWFkb25seVwiICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBleHBvcnQgbWFuYWdlbWVudCByZWFkb25seSBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6ZXhwb3J0Om9yZzoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIG9yZy1leHBvcnQgbWFuYWdlbWVudCBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6ZXhwb3J0Om9yZzpnZXRcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIG9yZy1leHBvcnQgZG93bmxvYWQgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6ZXhwb3J0OnVzZXI6KlwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHVzZXItZXhwb3J0IG1hbmFnZW1lbnQgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOmV4cG9ydDp1c2VyOmRlbGV0ZVwiICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgZGVsZXRpbmcgYW4gZXhpc3RpbmcgdXNlci1leHBvcnQgcmVxdWVzdFwiLFxuICBcIm1hbmFnZTpleHBvcnQ6dXNlcjpsaXN0XCIgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGxpc3RpbmcgZXhpc3RpbmcgdXNlci1leHBvcnQgcmVxdWVzdHNcIixcbiAgXCJtYW5hZ2U6YXV0aE1pZ3JhdGlvbjoqXCIgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhbGwgYXV0aCBtaWdyYXRpb24gc2NvcGVzXCIsXG4gIFwibWFuYWdlOmF1dGhNaWdyYXRpb246aWRlbnRpdHk6YWRkXCIgICAgICAgICAgIDogXCJBbGxvd3MgYWRkaW5nIGlkZW50aXRpZXMgdG8gZXhpc3RpbmcgdXNlcnMgZHVyaW5nIGFuIGF1dGggbWlncmF0aW9uXCIsXG4gIFwibWFuYWdlOmF1dGhNaWdyYXRpb246aWRlbnRpdHk6cmVtb3ZlXCIgICAgICAgIDogXCJBbGxvd3MgcmVtb3ZpbmcgaWRlbnRpdGllcyBmcm9tIGV4aXN0aW5nIHVzZXJzIGR1cmluZyBhbiBhdXRoIG1pZ3JhdGlvblwiLFxuICBcIm1hbmFnZTphdXRoTWlncmF0aW9uOnVzZXI6dXBkYXRlXCIgICAgICAgICAgICA6IFwiQWxsb3dzIHVwZGF0aW5nIGV4aXN0aW5nIHVzZXJzJyBwcm9maWxlc1wiLFxuICBcIm1hbmFnZTptbWk6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFsbCBDUlVEIG9wZXJhdGlvbnMgb24gTU1JIHBlbmRpbmcgbWVzc2FnZXNcIixcbiAgXCJtYW5hZ2U6bW1pOnJlYWRvbmx5XCIgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhbGwgcmVhZG9ubHkgb3BlcmF0aW9ucyBvbiBNTUkgcGVuZGluZyBtZXNzYWdlc1wiLFxuICBcIm1hbmFnZTptbWk6Z2V0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIHJldHJpZXZpbmcgTU1JIHBlbmRpbmcgbWVzc2FnZXNcIixcbiAgXCJtYW5hZ2U6bW1pOmxpc3RcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBsaXN0aW5nIE1NSSBwZW5kaW5nIG1lc3NhZ2VzXCIsXG4gIFwibWFuYWdlOm1taTpyZWplY3RcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgcmVqZWN0aW5nIE1NSSBwZW5kaW5nIG1lc3NhZ2VzXCIsXG4gIFwibWFuYWdlOm1taTpkZWxldGVcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgZGVsZXRpbmcgTU1JIHBlbmRpbmcgbWVzc2FnZXNcIixcbiAgXCJleHBvcnQ6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIGV4cG9ydCBlbmRwb2ludHNcIixcbiAgXCJleHBvcnQ6dXNlcjoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHVzZXItZXhwb3J0IGV4ZWN1dGlvbiBlbmRwb2ludHNcIixcbiAgXCJleHBvcnQ6dXNlcjppbml0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBpbml0aWF0aW5nIGEgbmV3IHVzZXItZXhwb3J0IHJlcXVlc3RcIixcbiAgXCJleHBvcnQ6dXNlcjpjb21wbGV0ZVwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBjb21wbGV0aW5nIGFuIGV4aXN0aW5nIHVzZXItZXhwb3J0IHJlcXVlc3RcIixcbiAgXCJtbWk6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBjYWxscyB0byB0aGUgTU1JIGVuZHBvaW50XCIsXG4gIFwib3JnQWNjZXNzOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGNlcnRhaW4gb3JncyBvdGhlciB0aGFuIHRoZSBjdXJyZW50IHNlc3Npb24nc1wiLFxuICBcIm9yZ0FjY2VzczpjaGlsZDoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGEgc2Vzc2lvbiB0byBiZSB1c2VkIGZvciBhY2Nlc3MgdG8gb3JncyB0cmFuc2l0aXZlbHkgcGFyZW50ZWQgYnkgdGhlIHNlc3Npb24ncyBvcmcuXCIsXG4gIFwicnBjOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBSUEMgQVBJIGVuZHBvaW50XCIsXG4gIFwicnBjOmNhbmNlbFRyYW5zYWN0aW9uXCIgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBSUEMgQVBJIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdjc19jYW5jZWxUcmFuc2FjdGlvbicgZnVuY3Rpb24uXCIsXG4gIFwicnBjOmNyZWF0ZVRyYW5zYWN0aW9uOipcIiAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBSUEMgQVBJIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdjc19jcmVhdGVUcmFuc2FjdGlvbicgZnVuY3Rpb24uXCIsXG4gIFwicnBjOmNyZWF0ZVRyYW5zYWN0aW9uOmV2bVwiICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBSUEMgQVBJIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdjc19jcmVhdGVUcmFuc2FjdGlvbicgZnVuY3Rpb24gd2l0aCBhbiBFVk0gdHJhbnNhY3Rpb24gcmVxdWVzdC5cIixcbiAgXCJycGM6Z2V0VHJhbnNhY3Rpb25cIiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIFJQQyBBUEkgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ2NzX2dldFRyYW5zYWN0aW9uJyBmdW5jdGlvbi5cIixcbiAgXCJycGM6YnRjTGlzdFV0eG9zXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIFJQQyBBUEkgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ2NzX2J0Y0xpc3RVdHhvcycgZnVuY3Rpb24uXCIsXG4gIFwicnBjOmxpc3RUcmFuc2FjdGlvbnNcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBSUEMgQVBJIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdjc19saXN0VHJhbnNhY3Rpb25zJyBmdW5jdGlvbi5cIixcbiAgXCJycGM6cmV0cnlUcmFuc2FjdGlvblwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIFJQQyBBUEkgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ2NzX3JldHJ5VHJhbnNhY3Rpb24nIGZ1bmN0aW9uXCIsXG4gIFwicnBjOmJpbmFuY2VcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBSUEMgQVBJIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlICdjc19iaW5hbmNlKicgZnVuY3Rpb25zXCIsXG4gIFwicnBjOmJ5Yml0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBSUEMgQVBJIGVuZHBvaW50LCBidXQgb25seSBmb3IgdGhlIEJ5Yml0IG1ldGhvZHNcIixcbiAgXCJycGM6Y29pbmJhc2VcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIFJQQyBBUEkgZW5kcG9pbnQsIGJ1dCBvbmx5IGZvciB0aGUgJ2NzX2NvaW5iYXNlKicgZnVuY3Rpb25zXCIsXG59O1xuXG4vLyBDb25zdCBmb3Igc2NvcGUgY2F0ZWdvcnkgbGFiZWxzXG5jb25zdCBDQVRFR09SWV9MQUJFTFM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIHNpZ246IFwiU2lnblwiLFxuICBtYW5hZ2U6IFwiTWFuYWdlXCIsXG4gIGV4cG9ydDogXCJFeHBvcnRcIixcbiAgbW1pOiBcIk1NSVwiLFxuICBvcmdBY2Nlc3M6IFwiT3JnIEFjY2Vzc1wiLFxuICBycGM6IFwiUlBDXCIsXG59O1xuXG4vKipcbiAqIEZpbmRzIHRoZSBwYXJlbnQgc2NvcGUgZm9yIGEgZ2l2ZW4gc2NvcGUuXG4gKiBBIHBhcmVudCBpcyBhIHNjb3BlIGVuZGluZyB3aXRoICcqJyB0aGF0IGlzIGEgcHJlZml4IG9mIHRoZSBjdXJyZW50IHNjb3BlLlxuICogUmV0dXJucyB0aGUgbG9uZ2VzdCBtYXRjaGluZyBwYXJlbnQgKGNsb3Nlc3QgYW5jZXN0b3IpLCBleGNsdWRpbmcgdGhlIHNjb3BlIGl0c2VsZi5cbiAqXG4gKiBAcGFyYW0gc2NvcGUgVGhlIHNjb3BlIHRvIGZpbmQgdGhlIHBhcmVudCBmb3IuXG4gKiBAcGFyYW0gYWxsU2NvcGVzIFRoZSBsaXN0IG9mIGFsbCBzY29wZXMuXG4gKiBAcmV0dXJucyBUaGUgcGFyZW50IHNjb3BlIG9yIG51bGwgaWYgbm8gcGFyZW50IGlzIGZvdW5kLlxuICovXG5mdW5jdGlvbiBmaW5kUGFyZW50KHNjb3BlOiBFeHBsaWNpdFNjb3BlLCBhbGxTY29wZXM6IEV4cGxpY2l0U2NvcGVbXSk6IEV4cGxpY2l0U2NvcGUgfCBudWxsIHtcbiAgbGV0IHBhcmVudDogRXhwbGljaXRTY29wZSB8IG51bGwgPSBudWxsO1xuICBsZXQgbWF4TGVuZ3RoID0gMDtcblxuICBmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBhbGxTY29wZXMpIHtcbiAgICAvLyBTa2lwIHRoZSBzY29wZSBpdHNlbGZcbiAgICBpZiAoY2FuZGlkYXRlID09PSBzY29wZSkgY29udGludWU7XG5cbiAgICBpZiAoY2FuZGlkYXRlLmVuZHNXaXRoKFwiKlwiKSAmJiBzY29wZS5zdGFydHNXaXRoKGNhbmRpZGF0ZS5zbGljZSgwLCAtMSkpKSB7XG4gICAgICAvLyBQcmVmZXIgdGhlIGxvbmdlc3QgbWF0Y2hpbmcgcGFyZW50IChjbG9zZXN0IGFuY2VzdG9yKVxuICAgICAgaWYgKGNhbmRpZGF0ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICAgICAgcGFyZW50ID0gY2FuZGlkYXRlO1xuICAgICAgICBtYXhMZW5ndGggPSBjYW5kaWRhdGUubGVuZ3RoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwYXJlbnQ7XG59XG5cbi8qKlxuICogQ29tcHV0ZXMgdGhlIHNjb3BlcyBkaWN0aW9uYXJ5IGZyb20gQWxsU2NvcGVzLlxuICpcbiAqIEByZXR1cm5zIFRoZSBjb21wbGV0ZSBkaWN0aW9uYXJ5IG9mIGFsbCBhdmFpbGFibGUgc2NvcGVzIG9yZ2FuaXplZCBieSBjYXRlZ29yeS5cbiAqL1xuZnVuY3Rpb24gY29tcHV0ZVNjb3Blc0RpY3Rpb25hcnkoKTogU2NvcGVzRGljdGlvbmFyeSB7XG4gIGNvbnN0IGFsbFNjb3BlcyA9IE9iamVjdC5rZXlzKEFsbFNjb3BlcykgYXMgRXhwbGljaXRTY29wZVtdO1xuICBjb25zdCBpdGVtcyA9IG5ldyBNYXA8RXhwbGljaXRTY29wZSwgU2NvcGVJdGVtPigpO1xuICBjb25zdCByZXN1bHQ6IFNjb3Blc0RpY3Rpb25hcnkgPSB7fTtcblxuICAvLyBGaXJzdCBwYXNzOiBjcmVhdGUgYWxsIGl0ZW1zXG4gIGZvciAoY29uc3Qgc2NvcGUgb2YgYWxsU2NvcGVzKSB7XG4gICAgY29uc3QgY2F0ZWdvcnkgPSBzY29wZS5zcGxpdChcIjpcIilbMF07XG4gICAgaWYgKCFyZXN1bHRbY2F0ZWdvcnldKSB7XG4gICAgICByZXN1bHRbY2F0ZWdvcnldID0geyBsYWJlbDogQ0FURUdPUllfTEFCRUxTW2NhdGVnb3J5XSB8fCBjYXRlZ29yeSwgc2NvcGVzOiBbXSB9O1xuICAgIH1cblxuICAgIGl0ZW1zLnNldChzY29wZSwge1xuICAgICAgdmFsdWU6IHNjb3BlLFxuICAgICAgZGVzY3JpcHRpb246IEFsbFNjb3Blc1tzY29wZV0sXG4gICAgICBjaGlsZHJlbjogW10sXG4gICAgfSk7XG4gIH1cblxuICAvLyBTZWNvbmQgcGFzczogYnVpbGQgcGFyZW50LWNoaWxkIHJlbGF0aW9uc2hpcHNcbiAgZm9yIChjb25zdCBzY29wZSBvZiBhbGxTY29wZXMpIHtcbiAgICBjb25zdCBjYXRlZ29yeSA9IHNjb3BlLnNwbGl0KFwiOlwiKVswXTtcbiAgICBjb25zdCBpdGVtID0gaXRlbXMuZ2V0KHNjb3BlKSE7XG4gICAgY29uc3QgcGFyZW50U2NvcGUgPSBmaW5kUGFyZW50KHNjb3BlLCBhbGxTY29wZXMpO1xuXG4gICAgaWYgKHBhcmVudFNjb3BlICYmIHBhcmVudFNjb3BlICE9PSBzY29wZSkge1xuICAgICAgaXRlbXMuZ2V0KHBhcmVudFNjb3BlKSEuY2hpbGRyZW4hLnB1c2goaXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdFtjYXRlZ29yeV0uc2NvcGVzLnB1c2goaXRlbSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU29ydCByb290czogd2lsZGNhcmRzIGZpcnN0XG4gIGZvciAoY29uc3QgY2F0ZWdvcnkgb2YgT2JqZWN0LnZhbHVlcyhyZXN1bHQpKSB7XG4gICAgY2F0ZWdvcnkuc2NvcGVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGlmIChhLnZhbHVlLmVuZHNXaXRoKFwiKlwiKSAmJiAhYi52YWx1ZS5lbmRzV2l0aChcIipcIikpIHJldHVybiAtMTtcbiAgICAgIGlmICghYS52YWx1ZS5lbmRzV2l0aChcIipcIikgJiYgYi52YWx1ZS5lbmRzV2l0aChcIipcIikpIHJldHVybiAxO1xuICAgICAgcmV0dXJuIGEudmFsdWUubG9jYWxlQ29tcGFyZShiLnZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogQ29tcGxldGUgZGljdGlvbmFyeSBvZiBhbGwgYXZhaWxhYmxlIHNjb3BlcyBvcmdhbml6ZWQgYnkgY2F0ZWdvcnkuXG4gKlxuICogVGhpcyBkaWN0aW9uYXJ5IGlzIGF1dG9tYXRpY2FsbHkgY29tcHV0ZWQgZnJvbSB7QGxpbmsgQWxsU2NvcGVzfSBieSBpbmZlcnJpbmdcbiAqIHRoZSBoaWVyYXJjaHkgZnJvbSBzY29wZSBuYW1lcy4gQSBzY29wZSdzIHBhcmVudCBpcyBkZXRlcm1pbmVkIGJ5IGZpbmRpbmcgYVxuICogc2NvcGUgZW5kaW5nIHdpdGggJyonIHRoYXQgaXMgYSBwcmVmaXggb2YgdGhlIGN1cnJlbnQgc2NvcGUuXG4gKlxuICogVGhlIGRpY3Rpb25hcnkgaXMgb3JnYW5pemVkIGludG8gdGhlIGZvbGxvd2luZyBjYXRlZ29yaWVzOlxuICogLSBgc2lnbmA6IFNjb3BlcyBmb3Igc2lnbmluZyBvcGVyYXRpb25zIChibG9iLCB0cmFuc2FjdGlvbnMsIGV0Yy4pXG4gKiAtIGBtYW5hZ2VgOiBTY29wZXMgZm9yIG1hbmFnZW1lbnQgb3BlcmF0aW9ucyAoa2V5cywgcm9sZXMsIHBvbGljaWVzLCBldGMuKVxuICogLSBgZXhwb3J0YDogU2NvcGVzIGZvciBleHBvcnQgb3BlcmF0aW9uc1xuICogLSBgbW1pYDogU2NvcGVzIGZvciBNZXRhTWFzayBJbnRlZ3JhdGlvblxuICogLSBgb3JnQWNjZXNzYDogU2NvcGVzIGZvciBjcm9zcy1vcmdhbml6YXRpb24gYWNjZXNzXG4gKlxuICogVGhpcyBkaWN0aW9uYXJ5IHNlcnZlcyBhcyB0aGUgc291cmNlIG9mIHRydXRoIGZvciBzY29wZSBkZWZpbml0aW9ucyBhbmQgaXMgdXNlZFxuICogdG8gZ2VuZXJhdGUgc2NvcGVzIGZvciByb2xlIGFuZCB1c2VyIHNlc3Npb25zLiBJdCBpcyBhbHNvIHJlZmVyZW5jZWQgYnlcbiAqIHtAbGluayByb2xlU2NvcGVzRGljdGlvbmFyeX0gYW5kIHtAbGluayB1c2VyU2NvcGVzRGljdGlvbmFyeX0gd2hpY2ggcHJvdmlkZVxuICogZmlsdGVyZWQgc3Vic2V0cyBvZiB0aGVzZSBzY29wZXMuXG4gKlxuICogQHNlZSB7QGxpbmsgQWxsU2NvcGVzfSAtIFRoZSBzb3VyY2UgcmVjb3JkIGNvbnRhaW5pbmcgc2NvcGUgZGVzY3JpcHRpb25zXG4gKiBAc2VlIHtAbGluayByb2xlU2NvcGVzRGljdGlvbmFyeX0gLSBSZXN0cmljdGVkIHNjb3BlcyBmb3Igcm9sZSBzZXNzaW9uc1xuICogQHNlZSB7QGxpbmsgdXNlclNjb3Blc0RpY3Rpb25hcnl9IC0gUmVzdHJpY3RlZCBzY29wZXMgZm9yIHVzZXIgc2Vzc2lvbnNcbiAqL1xuZXhwb3J0IGNvbnN0IGFsbFNjb3Blc0RpY3Rpb25hcnk6IFNjb3Blc0RpY3Rpb25hcnkgPSBjb21wdXRlU2NvcGVzRGljdGlvbmFyeSgpO1xuXG4vKipcbiAqIFJlc3RyaWN0ZWQgc2NvcGVzIGRpY3Rpb25hcnkgZm9yIHJvbGUtYmFzZWQgc2Vzc2lvbiBnZW5lcmF0aW9uLlxuICogQ29udGFpbnMgb25seSB0aGUgc2NvcGVzIHRoYXQgYXJlIGFsbG93ZWQgZm9yIHJvbGUgc2Vzc2lvbnMuXG4gKi9cbmV4cG9ydCBjb25zdCByb2xlU2NvcGVzRGljdGlvbmFyeSA9IHtcbiAgc2lnbjogYWxsU2NvcGVzRGljdGlvbmFyeS5zaWduLFxuICBtbWk6IGFsbFNjb3Blc0RpY3Rpb25hcnkubW1pLFxuICBycGM6IGFsbFNjb3Blc0RpY3Rpb25hcnkucnBjLFxuICBtYW5hZ2U6IHtcbiAgICBsYWJlbDogXCJNYW5hZ2VcIixcbiAgICBzY29wZXM6IFtcbiAgICAgIC8vIEZpbmQgYW5kIGluY2x1ZGUgbWFuYWdlOm1taToqXG4gICAgICAoYWxsU2NvcGVzRGljdGlvbmFyeS5tYW5hZ2Uuc2NvcGVzIGFzIFNjb3BlSXRlbVtdKVxuICAgICAgICAuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6KlwiKSFcbiAgICAgICAgLmNoaWxkcmVuIS5maW5kKChzKSA9PiBzLnZhbHVlID09PSBcIm1hbmFnZTptbWk6KlwiKSEsXG4gICAgICAvLyBGaW5kIGFuZCBpbmNsdWRlIG1hbmFnZTptZmE6bGlzdFxuICAgICAgKGFsbFNjb3Blc0RpY3Rpb25hcnkubWFuYWdlLnNjb3BlcyBhcyBTY29wZUl0ZW1bXSlcbiAgICAgICAgLmZpbmQoKHMpID0+IHMudmFsdWUgPT09IFwibWFuYWdlOipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6bWZhOipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6bWZhOmxpc3RcIikhLFxuICAgICAgLy8gRmluZCBhbmQgaW5jbHVkZSBtYW5hZ2U6a2V5OmdldFxuICAgICAgKGFsbFNjb3Blc0RpY3Rpb25hcnkubWFuYWdlLnNjb3BlcyBhcyBTY29wZUl0ZW1bXSlcbiAgICAgICAgLmZpbmQoKHMpID0+IHMudmFsdWUgPT09IFwibWFuYWdlOipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6a2V5OipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6a2V5OmdldFwiKSEsXG4gICAgICAvLyBGaW5kIGFuZCBpbmNsdWRlIG1hbmFnZTprZXk6bGlzdFxuICAgICAgKGFsbFNjb3Blc0RpY3Rpb25hcnkubWFuYWdlLnNjb3BlcyBhcyBTY29wZUl0ZW1bXSlcbiAgICAgICAgLmZpbmQoKHMpID0+IHMudmFsdWUgPT09IFwibWFuYWdlOipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6a2V5OipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6a2V5Omxpc3RcIikhLFxuICAgIF0sXG4gIH0sXG59IHNhdGlzZmllcyBTY29wZXNEaWN0aW9uYXJ5O1xuXG4vKipcbiAqIFJlc3RyaWN0ZWQgc2NvcGVzIGRpY3Rpb25hcnkgZm9yIHVzZXIgc2Vzc2lvbiBnZW5lcmF0aW9uLlxuICogRXhjbHVkZXMgc2NvcGVzIHRoYXQgcmVxdWlyZSBlbGV2YXRlZCBwZXJtaXNzaW9ucyAob3JnQWNjZXNzLCBleHBvcnQpLlxuICovXG5leHBvcnQgY29uc3QgdXNlclNjb3Blc0RpY3Rpb25hcnkgPSB7XG4gIG1hbmFnZTogYWxsU2NvcGVzRGljdGlvbmFyeS5tYW5hZ2UsXG4gIHNpZ246IGFsbFNjb3Blc0RpY3Rpb25hcnkuc2lnbixcbiAgbW1pOiBhbGxTY29wZXNEaWN0aW9uYXJ5Lm1taSxcbiAgcnBjOiBhbGxTY29wZXNEaWN0aW9uYXJ5LnJwYyxcbn07XG4iXX0=
|
package/package.json
CHANGED
package/src/key.ts
CHANGED
|
@@ -32,8 +32,10 @@ import type {
|
|
|
32
32
|
KeyPropertiesPatch,
|
|
33
33
|
Eip7702SignRequest,
|
|
34
34
|
SignResponse,
|
|
35
|
+
Scope,
|
|
35
36
|
} from "./schema_types.ts";
|
|
36
37
|
import type {
|
|
38
|
+
Ace,
|
|
37
39
|
ApiClient,
|
|
38
40
|
AvaChain,
|
|
39
41
|
BabylonRegistrationRequest,
|
|
@@ -59,6 +61,18 @@ import { encodeToHex, encodeToBase64 } from "./util.ts";
|
|
|
59
61
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
60
62
|
import type { KeyAttestationClaims } from "./schema_types.ts";
|
|
61
63
|
|
|
64
|
+
/**
|
|
65
|
+
* Key access-control entry.
|
|
66
|
+
*
|
|
67
|
+
* This type allows specifying any valid {@link Scope} as an action, but CubeSigner
|
|
68
|
+
* denies setting invalid / unsupported actions.
|
|
69
|
+
*/
|
|
70
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
71
|
+
export type KeyAce = Ace<Scope, {}>;
|
|
72
|
+
|
|
73
|
+
/** Key ACL type. */
|
|
74
|
+
export type KeyAcl = KeyAce[];
|
|
75
|
+
|
|
62
76
|
/** Secp256k1 key type */
|
|
63
77
|
export enum Secp256k1 {
|
|
64
78
|
Evm = "SecpEthAddr",
|
|
@@ -252,6 +266,17 @@ export class Key {
|
|
|
252
266
|
await this.update({ policy }, mfaReceipt);
|
|
253
267
|
}
|
|
254
268
|
|
|
269
|
+
/**
|
|
270
|
+
* Set new ACL (overwriting any existing ACL previously set for this key)
|
|
271
|
+
*
|
|
272
|
+
* @param acl The new ACL to set, or `null` to clear the ACL.
|
|
273
|
+
* @param mfaReceipt Optional MFA receipt(s)
|
|
274
|
+
* @throws if MFA is required and no receipts are provided
|
|
275
|
+
*/
|
|
276
|
+
async setAcl(acl: KeyAcl | null, mfaReceipt?: MfaReceipts) {
|
|
277
|
+
await this.update({ acl }, mfaReceipt);
|
|
278
|
+
}
|
|
279
|
+
|
|
255
280
|
/**
|
|
256
281
|
* Set new edit policy (overwriting any edit policies previously set for this key)
|
|
257
282
|
*
|
|
@@ -412,6 +437,31 @@ export class Key {
|
|
|
412
437
|
return (data.policy ?? []) as unknown as KeyPolicy;
|
|
413
438
|
}
|
|
414
439
|
|
|
440
|
+
/**
|
|
441
|
+
* Append to existing key ACL. This append is not atomic -- it uses {@link acl}
|
|
442
|
+
* to fetch the current ACL and then {@link setAcl} to set the ACL -- and
|
|
443
|
+
* should not be used across concurrent sessions.
|
|
444
|
+
*
|
|
445
|
+
* @param acl The ACL to append to the existing one.
|
|
446
|
+
* @param mfaReceipt Optional MFA receipt(s)
|
|
447
|
+
* @throws If MFA is required and no MFA receipts are provided
|
|
448
|
+
*/
|
|
449
|
+
async appendAcl(acl: KeyAcl, mfaReceipt?: MfaReceipts) {
|
|
450
|
+
const existing = await this.acl();
|
|
451
|
+
const newAcl: KeyAcl = [...(existing ?? []), ...acl];
|
|
452
|
+
await this.update({ acl: newAcl, version: this.cached.version }, mfaReceipt);
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
/**
|
|
456
|
+
* Get the key ACL.
|
|
457
|
+
*
|
|
458
|
+
* @returns The key ACL, or `undefined` if it is not set.
|
|
459
|
+
*/
|
|
460
|
+
async acl(): Promise<KeyAcl | undefined> {
|
|
461
|
+
const data = await this.fetch();
|
|
462
|
+
return data.acl as unknown as KeyAcl | undefined;
|
|
463
|
+
}
|
|
464
|
+
|
|
415
465
|
/**
|
|
416
466
|
* Get the edit policy for the key.
|
|
417
467
|
*
|
package/src/schema.ts
CHANGED
|
@@ -5289,6 +5289,11 @@ export interface components {
|
|
|
5289
5289
|
*/
|
|
5290
5290
|
ContactLabel: "cubist:erc20_token" | "cubist:spl_token";
|
|
5291
5291
|
CreateAndUpdateKeyProperties: {
|
|
5292
|
+
/**
|
|
5293
|
+
* @description Set this key's access-control entries.
|
|
5294
|
+
* For an existing key, this overwrites the current acl, if any.
|
|
5295
|
+
*/
|
|
5296
|
+
acl?: unknown;
|
|
5292
5297
|
edit_policy?: components["schemas"]["EditPolicy"] | null;
|
|
5293
5298
|
/**
|
|
5294
5299
|
* @description Set this key's metadata. If this value is `null`, the metadata is erased. If the field is
|
|
@@ -6742,6 +6747,7 @@ export interface components {
|
|
|
6742
6747
|
| "manage:key:update:*"
|
|
6743
6748
|
| "manage:key:update:owner"
|
|
6744
6749
|
| "manage:key:update:policy"
|
|
6750
|
+
| "manage:key:update:acl"
|
|
6745
6751
|
| "manage:key:update:enabled"
|
|
6746
6752
|
| "manage:key:update:region"
|
|
6747
6753
|
| "manage:key:update:metadata"
|
|
@@ -7714,6 +7720,20 @@ export interface components {
|
|
|
7714
7720
|
role_id: string;
|
|
7715
7721
|
};
|
|
7716
7722
|
KeyInfo: components["schemas"]["CommonFields"] & {
|
|
7723
|
+
/**
|
|
7724
|
+
* @description Key access-control entries
|
|
7725
|
+
* @example [
|
|
7726
|
+
* {
|
|
7727
|
+
* "actions": [
|
|
7728
|
+
* "manage:key:properties"
|
|
7729
|
+
* ],
|
|
7730
|
+
* "subjects": [
|
|
7731
|
+
* "User#c3b9379c-4e8c-4216-bd0a-65ace53cf98f"
|
|
7732
|
+
* ]
|
|
7733
|
+
* }
|
|
7734
|
+
* ]
|
|
7735
|
+
*/
|
|
7736
|
+
acl?: unknown[] | null;
|
|
7717
7737
|
derivation_info?: components["schemas"]["KeyDerivationInfo"] | null;
|
|
7718
7738
|
/** @description Whether the key is enabled (only enabled keys may be used for signing) */
|
|
7719
7739
|
enabled: boolean;
|
|
@@ -13066,6 +13086,20 @@ export interface components {
|
|
|
13066
13086
|
KeyInfo: {
|
|
13067
13087
|
content: {
|
|
13068
13088
|
"application/json": components["schemas"]["CommonFields"] & {
|
|
13089
|
+
/**
|
|
13090
|
+
* @description Key access-control entries
|
|
13091
|
+
* @example [
|
|
13092
|
+
* {
|
|
13093
|
+
* "actions": [
|
|
13094
|
+
* "manage:key:properties"
|
|
13095
|
+
* ],
|
|
13096
|
+
* "subjects": [
|
|
13097
|
+
* "User#c3b9379c-4e8c-4216-bd0a-65ace53cf98f"
|
|
13098
|
+
* ]
|
|
13099
|
+
* }
|
|
13100
|
+
* ]
|
|
13101
|
+
*/
|
|
13102
|
+
acl?: unknown[] | null;
|
|
13069
13103
|
derivation_info?: components["schemas"]["KeyDerivationInfo"] | null;
|
|
13070
13104
|
/** @description Whether the key is enabled (only enabled keys may be used for signing) */
|
|
13071
13105
|
enabled: boolean;
|
package/src/scopes.ts
CHANGED
|
@@ -123,6 +123,7 @@ export const AllScopes: Record<ExplicitScope, string> =
|
|
|
123
123
|
"manage:key:update:owner" : "Allows access only to the key 'update' endpoint, but restricting updates to the key 'owner' property",
|
|
124
124
|
"manage:key:update:region" : "Allows access only to the key 'update' endpoint, but restricting updates to the key 'region' property",
|
|
125
125
|
"manage:key:update:policy" : "Allows access only to the key 'update' endpoint, but restricting updates to the key 'policy' property",
|
|
126
|
+
"manage:key:update:acl" : "Allows access only to the key 'update' endpoint, but restricting updates to the key 'acl' property",
|
|
126
127
|
"manage:key:update:enabled" : "Allows access only to the key 'update' endpoint, but restricting updates to the key 'enabled' property",
|
|
127
128
|
"manage:key:update:metadata" : "Allows access only to the key 'update' endpoint and restricts updates to the key 'metadata' property",
|
|
128
129
|
"manage:key:update:properties" : "Allows access only to the key 'update' endpoint and restricts updates to the key 'properties' property",
|