iptdevs-design-system 3.2.129 → 3.2.131
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/esm2020/lib/core/models/budget/budget.model.mjs +1 -1
- package/esm2020/lib/core/services/budget-service/budget-service.mjs +6 -1
- package/esm2020/lib/core/services/user-service/user-service.mjs +5 -1
- package/fesm2015/iptdevs-design-system.mjs +9 -0
- package/fesm2015/iptdevs-design-system.mjs.map +1 -1
- package/fesm2020/iptdevs-design-system.mjs +9 -0
- package/fesm2020/iptdevs-design-system.mjs.map +1 -1
- package/lib/core/models/budget/budget.model.d.ts +2 -0
- package/lib/core/services/budget-service/budget-service.d.ts +1 -0
- package/lib/core/services/user-service/user-service.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVkZ2V0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvcmUvbW9kZWxzL2J1ZGdldC9idWRnZXQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFdmVudENvdXJzZVJxIH0gZnJvbSBcIi4uL2NsYXNzcm9vbS9jbGFzc3Jvb20tcnEubW9kZWxcIjtcbmltcG9ydCB7IENvdXJzZVR5cGVDUnEgfSBmcm9tIFwiLi4vY291cnNlL2NvdXJzZS1ycS5tb2RlbFwiO1xuaW1wb3J0IHsgRW5nbGlzaF9MZXZlbHMgfSBmcm9tIFwiLi4vY291cnNlL2NvdXJzZXMubW9kZWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBnZXRkaXNjb3VudEFsbFJxe1xuICB0b2tlbjpzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ291cG9uIHtcbiAgY29kZT86ICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZGlzY291bnRfcmVmOiAgICAgICAgICAgc3RyaW5nO1xuICBuYW1lOiAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIHR5cGU6ICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZGlzY291bnRfdHlwZTogICAgICAgICAgc3RyaW5nO1xuICBwZXJjZW50YWdlOiAgICAgICAgICAgICBudW1iZXI7XG4gIHN0YXJ0X2RhdGU6ICAgICAgICAgICAgIERhdGU7XG4gIGVuZF9kYXRlOiAgICAgICAgICAgICAgIERhdGU7XG4gIHN0YXRlOiAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZGVzY3JpcHRpb246ICAgICAgICAgICAgc3RyaW5nO1xuICBkaXNjb3VudF9hY2FkZW1pY19wbGFuOiBEaXNjb3VudEFjYWRlbWljUGxhbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvdW50QWNhZGVtaWNQbGFuIHtcbiAgY29kZTogIG51bWJlcjtcbiAgbmFtZTogIHN0cmluZztcblxufVxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3VudFJxe1xuICB0b2tlbjpzdHJpbmc7XG4gIGRpc2NvdW50X3JlZjpzdHJpbmc7XG4gIG5hbWU6c3RyaW5nO1xuICB0eXBlOm51bWJlcjtcbiAgZGlzY291bnRfdHlwZTpudW1iZXI7XG4gIHBlcmNlbnRhZ2U6bnVtYmVyO1xuICBzdGFydF9kYXRlOkRhdGU7XG4gIGVuZF9kYXRlOkRhdGU7XG4gIHN0YXRlOm51bWJlcjtcbiAgZGVzY3JpcHRpb246c3RyaW5nO1xuICBwbGFuOm51bWJlcltdO1xufVxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3VudFVwZGF0ZVJxe1xuICB0b2tlbjpzdHJpbmc7XG4gIGNvZGU/Om51bWJlcjtcbiAgc3RhcnRfZGF0ZTpEYXRlO1xuICBlbmRfZGF0ZTpEYXRlO1xuICBzdGF0ZTpudW1iZXI7XG4gIGRlc2NyaXB0aW9uOnN0cmluZztcbiAgcGxhbjpudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlQ291cG9ue1xuICBjb2RlPzpudW1iZXI7XG4gIG5hbWU/OnN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURpc2NvdW50e1xuICBjb2RlPzpudW1iZXI7XG4gIG5hbWU/OnN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVN0YXRle1xuICBjb2RlPzpudW1iZXI7XG4gIG5hbWU/OnN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3R1ZGVudHtcbiAgbmFtZTogc3RyaW5nO1xuICBkb2N1bWVudDogbnVtYmVyO1xuICBwaG9uZTpudW1iZXI7XG4gIHBsYW46IHN0cmluZztcbiAgc3RhdGU6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGV7XG4gIGNvZGU/Om51bWJlcjtcbiAgbmFtZT86c3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBQbGFue1xuICBjb2RlPzpudW1iZXI7XG4gIG5hbWU/OnN0cmluZztcbn1cblxuLy8vLy8vLy8vLy8vLy9cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpbkFsbENvdXJzZXdhbGxldHtcbiAgdG9rZW46c3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFsbENvdXJzZVdhbGxldEJ5Q29vZGluYXRvclJzIHtcbiAgaXBfYXBwbGljYW50OiBzdHJpbmc7XG4gIHN0YXR1czogICAgICAgbnVtYmVyO1xuICBtZXNzYWdlOiAgICAgIElNZXNzYWdlUnE7XG4gIGRhdGE6ICAgICAgICAgSUNvdXJzZVdhbGxldEJ5Q29vZGluYXRvclJzW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvdXJzZVdhbGxldEJ5Q29vZGluYXRvclJzIHtcbiAgY291cnNlX3dhbGxldF9jb2RlOiAgICAgICAgbnVtYmVyO1xuICB1c2VyX2NvZGU6ICAgICAgICAgICAgICAgICBJVXNlckNvZGVScTtcbiAgY291cnNlX2NvZGU6ICAgICAgICAgICAgICAgSUNvdXJzZUNvZGVScTtcbiAgY291cnNlX3dhbGxldF9zdGF0dXNfY29kZTogSUNvdXJzZVdhbGxldFN0YXR1c0NvZGVScTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlQ29kZVJxIHtcbiAgY29kZTogICAgICAgICAgICBudW1iZXI7XG4gIGNvdXJzZV9zY2hlZHVsZTogc3RyaW5nW107XG4gIHRlYWNoZXI6ICAgICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfdHlwZTogICAgIENvdXJzZVR5cGVDUnE7XG4gIHRvX3N0YXJ0OiAgICAgICAgRGF0ZTtcbiAgc3RhcnRfZGF0ZTogICAgICBEYXRlO1xuICBmaW5pc2hfZGF0ZTogICAgIERhdGU7XG4gIGNhcGFjaXR5OiAgICAgICAgbnVtYmVyO1xuICBtb3JlX2RheXM6ICAgICAgIG51bWJlciB8IG51bGw7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgc3RyaW5nO1xuICBhZ3JlZW1lbnQ6ICAgICAgIHN0cmluZztcbiAgY291cnNlX21vZGFsaXR5OiBJQ291cnNlTW9kYWxpdHlScTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlTW9kYWxpdHlScSB7XG4gIGNvZGU6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb3Vyc2VXYWxsZXRTdGF0dXNDb2RlUnEge1xuICBjb2RlOiAgICAgICAgIG51bWJlcjtcbiAgc3RhdHVzOiAgICAgICBzdHJpbmc7XG4gIGNvbG9yX3N0YXR1czogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyQ29kZVJxIHtcbiAgY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gIGxhc3RfbmFtZTogICAgICAgIHN0cmluZztcbiAgbmlja19uYW1lOiAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICBzdHJpbmc7XG4gIGVtYWlsX2lwdDogICAgICAgIHN0cmluZztcbiAgcm9sZTogICAgICAgICAgICAgbnVtYmVyO1xuICBwaG9uZV9pbmRpY2F0aXZlOiBudW1iZXI7XG4gIHBob25lX251bWJlcjogICAgIHN0cmluZztcbiAgZ2VuZGVyOiAgICAgICAgICAgbnVtYmVyO1xuICBiaXJ0aGRhdGU6ICAgICAgICBEYXRlIHwgbnVsbDtcbiAgY2l0eTogICAgICAgICAgICAgbnVtYmVyO1xuICBpZF9jYXJkX3R5cGU6ICAgICBudW1iZXI7XG4gIGlkX2NhcmQ6ICAgICAgICAgIHN0cmluZztcbiAgdXNlcl9zdGF0dXM6ICAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNZXNzYWdlUnEge1xuICBjb2RlOiAgICBudW1iZXI7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUFzc2lnblJlcXVlc3RScXtcbiAgdG9rZW46IHN0cmluZztcbiAgdXNlckNvZGU6IG51bWJlcjtcbiAgY29kZUNvdXJzZTogbnVtYmVyIHwgbnVsbDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpbkF2YWlsYWJsZUNvdXJzZVJzIHtcbiAgdG9rZW46ICAgICAgc3RyaW5nO1xuICBjb2RfY29kZTogICBudW1iZXI7XG4gIG5hbWVfZXZlbnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbGxDb3Vyc2VBdmFpbGFibGVCeVN0dWRlbnRScyB7XG4gIGlwX2FwcGxpY2FudDogc3RyaW5nO1xuICBzdGF0dXM6ICAgICAgIG51bWJlcjtcbiAgbWVzc2FnZTogICAgICBJTWVzc2FnZVJxO1xuICBkYXRhOiAgICAgICAgIElBdmFpbGFibGVDb3Vyc2VzUnE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUF2YWlsYWJsZUNvdXJzZXNScSB7XG4gIGF2YWlsYWJsZUNvdXJzZXM6IElDb3Vyc2VBdmFpbGFibGVScVtdIHwgYW55W107XG4gIG92ZXJkdWU6ICAgICAgICAgIElPdmVyZHVlUnEgfCBhbnlbXTtcbiAgdW5pdEFkdmFuY2U6ICAgICAgYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlQXZhaWxhYmxlUnEge1xuICBudW1iZXJDbGFzZXM6IG51bWJlcjtcbiAgY3VycmVudEV2ZW50OiBJRXZlbnRDb3Vyc2VScTtcbiAgY291cnNlRGF0YTogICBJQ291cnNlRGF0YU5hbWVzUnE7XG4gIGNsYXNzcm9vbTogICAgSUNsYXNzcm9vbUVsZW1lbnRScVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDbGFzc3Jvb21FbGVtZW50UnEge1xuICBjbGFzc3Jvb206ICBJQ2xhc3Nyb29tQ2xhc3Nyb29tUnE7XG4gIHRpbWVfc3RhcnQ6IHN0cmluZztcbiAgdGltZV9lbmQ6ICAgc3RyaW5nO1xuICBkYXlzOiAgICAgICBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2xhc3Nyb29tQ2xhc3Nyb29tUnEge1xuICBjb2RlOiAgICAgICAgICAgIG51bWJlcjtcbiAgbmFtZTogICAgICAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV9tb2RhbGl0eTogbnVtYmVyO1xuICBjYXBhY2l0eTogICAgICAgIG51bWJlcjtcbiAgaWRfY2FsZW5kYXI6ICAgICBzdHJpbmc7XG4gIGFkcmVzczogICAgICAgICAgc3RyaW5nO1xuICB1cGRhdGVkX2F0OiAgICAgIERhdGU7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlRGF0YU5hbWVzUnEge1xuICBjb2RlOiAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3NjaGVkdWxlOiBudW1iZXI7XG4gIHRlYWNoZXI6ICAgICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfdHlwZTogICAgIHN0cmluZztcbiAgdG9fc3RhcnQ6ICAgICAgICBEYXRlO1xuICBzdGFydF9kYXRlOiAgICAgIERhdGU7XG4gIGZpbmlzaF9kYXRlOiAgICAgRGF0ZTtcbiAgY2FwYWNpdHk6ICAgICAgICBudW1iZXI7XG4gIG1vcmVfZGF5czogICAgICAgbnVsbDtcbiAgZW5nbGlzaF9sZXZlbDogICBzdHJpbmc7XG4gIGFncmVlbWVudDogICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfbW9kYWxpdHk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT3ZlcmR1ZVJxIHtcbiAgY29kZVN0dWRlbnQ6ICAgICBudW1iZXI7XG4gIG51bUR1ZXM6ICAgICAgICAgbnVtYmVyO1xuICBuYW1lU3R1ZGVudDogICAgIHN0cmluZztcbiAgbGFzdG5hbWVTdHVkZW50OiBzdHJpbmc7XG4gIGRvY3VtZW50U3R1ZGVudDogc3RyaW5nO1xuICBkdWVBbW91bnQ6ICAgICAgIG51bWJlcjtcbiAgY29sb3JEYXk6ICAgICAgICBzdHJpbmc7XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0Q29kQnlQYXltZW50UGxhblJxIHtcbiAgdG9rZW46ICAgICAgIHN0cmluZztcbiAgc3R1ZGVudENvZGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVXBkYXRlQW1vdW50Q29kUGF5bWVudHNScSB7XG4gIHRva2VuOiAgICAgICAgICBzdHJpbmc7XG4gIHZhbHVlQW1vdW50OiAgICBudW1iZXI7XG4gIGNvZGVDb2RQYXltZW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNvZFN0dWRlbnRScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2U6ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3R5cGU6ICAgICAgICAgICBudW1iZXI7XG4gIGFncmVlbWVudDogICAgICAgICAgICAgbnVtYmVyO1xuICBlbmdsaXNoX2xldmVsOiAgICAgICAgIG51bWJlcjtcbiAgc3R1ZGVudDogICAgICAgICAgICAgICBJU3R1ZGVudFJzO1xuICBwYXJlbnQ6ICAgICAgICAgICAgICAgIG51bWJlciB8IG51bGw7XG4gIGFkaXRpb25hbF9pbmZvcm1hdGlvbjogbnVtYmVyO1xuICBhZHZpc2VyOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY29kX3N0YXR1czogICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9wcmljZTogICAgICAgICAgICAgbnVtYmVyIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU3R1ZGVudFJzIHtcbiAgY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gIGxhc3RfbmFtZTogICAgICAgIHN0cmluZztcbiAgbmlja19uYW1lOiAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICBzdHJpbmc7XG4gIGVtYWlsX2lwdDogICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIHJvbGU6ICAgICAgICAgICAgIG51bWJlcjtcbiAgcGhvbmVfaW5kaWNhdGl2ZTogbnVtYmVyO1xuICBwaG9uZV9udW1iZXI6ICAgICBzdHJpbmc7XG4gIGdlbmRlcjogICAgICAgICAgIG51bWJlcjtcbiAgYmlydGhkYXRlOiAgICAgICAgRGF0ZTtcbiAgY2l0eTogICAgICAgICAgICAgbnVtYmVyO1xuICBpZF9jYXJkX3R5cGU6ICAgICBudW1iZXI7XG4gIGlkX2NhcmQ6ICAgICAgICAgIHN0cmluZztcbiAgdXNlcl9zdGF0dXM6ICAgICAgbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBJUGFyYW1zVXBkYXRlRGF0ZUNvZFBheW1lbnRzUnEge1xuICB0b2tlbjogICAgICBzdHJpbmc7XG4gIFBheW1lbkRhdGU6IERhdGU7XG4gIGNvZGVDb2Q6ICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2FuY2VsU3R1ZGVudEZlZVBheW1lbnRScSB7XG4gIHRva2VuOiAgICAgICAgICAgc3RyaW5nO1xuICBxdW90YXNfYWZmZWN0ZWQ6IElRdW90YXNBZmZlY3RlZFJxW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVF1b3Rhc0FmZmVjdGVkUnEge1xuICBjb2RfY29kZTogICAgICAgICBudW1iZXI7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgIG51bWJlcjtcbiAgcmVjZWlwdF9jb2RlOiAgICAgbnVtYmVyO1xuICBxdW90YV9jb2RlOiAgICAgICBudW1iZXI7XG4gIGNyZWRpdF9jb2RlOiAgICAgIG51bWJlcjtcbiAgY3JlZGl0X2Ftb3VudDogICAgbnVtYmVyO1xuICBmZWVfbnVtYmVyOiAgICAgICBudW1iZXI7XG4gIHN0dWRlbnRfY29kZTogICAgIG51bWJlcjtcbiAgdHJhbnNhY3Rpb25fdHlwZTogbnVtYmVyO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpblN0dWRlbnRQYXltZW50c0J5R3JvdXBpbmdDb2RScyB7XG4gIGNvZF9jb2RlOiAgICAgICAgICBudW1iZXI7XG4gIHJlY2VpcHRfY29kZTogICAgICBudW1iZXI7XG4gIHN0dWRlbnRfY29kZTogICAgICBudW1iZXI7XG4gIGFtb3VudF9wYXk6ICAgICAgICBudW1iZXI7XG4gIGRpc2NvdW50X3BheTogICAgICBudW1iZXI7XG4gIGNvbmNlcHRfY29kZTogICAgICBudW1iZXI7XG4gIGNvbmNlcHRfbmFtZTogICAgICBzdHJpbmc7XG4gIGludm9pY2VfY2FuY2VsbGVkOiBudW1iZXI7XG4gIGZ1bGxfbmFtZTogICAgICAgICBzdHJpbmc7XG4gIGRhdGVfcGF5OiAgICAgICAgICBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDYW5jZWxTdHVkZW50UmVjZWlwdFJxIHtcbiAgdG9rZW46ICAgICAgICAgICBzdHJpbmc7XG4gIHF1b3Rhc19hZmZlY3RlZDogSVF1b3Rhc0FmZmVjdGVkUnFbXSB8IG51bGw7XG4gIHJlY2VpcHQgICAgICAgIDogbnVtYmVyIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2FuY2VsbGVkUmVjZWlwdEJ5RGF0ZVJxIHtcbiAgdG9rZW46ICAgICAgICAgICAgICBzdHJpbmc7XG4gIGNvZGVfdHlwZV9jb25zdWx0OiAgbnVtYmVyO1xuICBzdGFydF9kYXRlOiAgICAgICAgIERhdGUgfCBudWxsO1xuICBmaW5pc2hfZGF0ZTogICAgICAgIERhdGUgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYXltZW50c1JlY2VpdmVkQnlVc2VyUnEge1xuICB0b2tlbjogICAgICAgICAgICAgc3RyaW5nO1xuICBjb2RlX3R5cGVfY29uc3VsdDogbnVtYmVyO1xuICBzdGFydF9kYXRlOiAgICAgICAgRGF0ZTtcbiAgZmluaXNoX2RhdGU6ICAgICAgIERhdGU7XG4gIHVzZXJfY29kZTogICAgICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpblBheW1lbnRzUmVjZWl2ZWRCeVVzZXJScyB7XG4gIHBheW1lbnRzOiAgICAgICAgICAgICAgIElQYXltZW50c1JlY2VpdmVkQnlVc2VyUnNbXTtcbiAgdG90YWxfYW1vdW50X2J5X21ldGhvZDogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGF5bWVudHNSZWNlaXZlZEJ5VXNlclJzIHtcbiAgcGF5bWVudF9tZXRob2Q6ICAgIG51bWJlcjtcbiAgY29kX2NvZGU6ICAgICAgICAgIG51bWJlciB8IG51bGw7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgICBudW1iZXIgfCBudWxsO1xuICByZWNlaXB0X2NvZGU6ICAgICAgbnVtYmVyO1xuICBzdHVkZW50X2NvZGU6ICAgICAgbnVtYmVyO1xuICBhbW91bnRfcGF5OiAgICAgICAgbnVtYmVyO1xuICBkaXNjb3VudF9wYXk6ICAgICAgbnVtYmVyO1xuICBjb25jZXB0X2NvZGU6ICAgICAgbnVtYmVyO1xuICBjb25jZXB0X25hbWU6ICAgICAgc3RyaW5nO1xuICBpbnZvaWNlX2NhbmNlbGxlZDogbnVtYmVyO1xuICBmdWxsX25hbWU6ICAgICAgICAgc3RyaW5nO1xuICBkYXRlX3BheTogICAgICAgICAgRGF0ZTtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElUb3RhbENhc2hSZWNlaXB0c0J5RGF0ZUFuZFVzZXJScyB7XG4gIHBheW1lbnRzOiAgICAgICAgICAgIElQYXltZW50QmlsbEdyYXBoUnNbXTtcbiAgdG90YWxfYnlfbWV0aG9kOiAgICAgSVRvdGFsQnlNZXRob2RSc1tdO1xuICBudW1iZXJfdHJhbnNhY3Rpb25zOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBheW1lbnRCaWxsR3JhcGhScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X21ldGhvZDogICAgIG51bWJlcjtcbiAgcGF5bWVudF9zZXJ2aWNlczogICBudW1iZXI7XG4gIHBheW1lbnRfd2FsbGV0OiAgICAgbnVtYmVyO1xuICBiYW5rOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZ2VuZXJhdGVkX2ZvcjogICAgICBudW1iZXI7XG4gIGdlbmVyYXRlZF9ieTogICAgICAgbnVtYmVyO1xuICB0eXBlX21vdmVtZW50czogICAgIG51bWJlcjtcbiAgdG90YWxfYW1vdW50OiAgICAgICBudW1iZXI7XG4gIHBheW1lbnRfYW1vdW50OiAgICAgbnVtYmVyO1xuICBvdXRzdGFuZGluZ19hbW91bnQ6IG51bWJlcjtcbiAgcG9zaXRpdmVfYW1vdW50OiAgICBudW1iZXI7XG4gIGRpc2NvdW50OiAgICAgICAgICAgbnVtYmVyO1xuICBwYXllcl9uYW1lOiAgICAgICAgIHN0cmluZztcbiAgcGF5ZXJfZG9jdW1lbnQ6ICAgICBzdHJpbmc7XG4gIGFjYWRlbWljX3BsYW46ICAgICAgbnVtYmVyO1xuICBwYXltZW50X3JlZmVyZW5jZTogIG51bGwgfCBzdHJpbmc7XG4gIHBheW1lbnRfZGF0ZTogICAgICAgRGF0ZSB8IG51bGw7XG4gIG9ic2VydmF0aW9uOiAgICAgICAgbnVsbCB8IHN0cmluZztcbiAgaW52b2ljZV9jYW5jZWxsZWQ6ICBudW1iZXI7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVG90YWxCeU1ldGhvZFJzIHtcbiAgY29kZTogICBudW1iZXI7XG4gIG5hbWU6ICAgc3RyaW5nO1xuICBhbW91bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluQ291cnNlQnlDb29kRGlmZlBhcmFtUnEge1xuICB0b2tlbjogICAgICAgICBzdHJpbmc7XG4gIG1vZGFsaXR5OiAgICAgIG51bWJlcjtcbiAgY291cnNlX3N0YXR1czogbnVtYmVyO1xuICBjb29yZGluYXRvcjogICBudW1iZXI7XG4gIGVuZ2xpc2hfbGV2ZWw6IElFbmdsaXNoTGV2ZWxScVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElFbmdsaXNoTGV2ZWxScSB7XG4gIGNvZGU6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hbWVDb21tb25FeHBlbnNlcyAge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpblBheW1lbnRUcmFuSGlzdG9yeVJxICB7XG4gIHRva2VuOiAgICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfY29kZTogIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluUGF5bWVudFRyYW5IaXN0b3J5UnMge1xuICBjb2RlOiAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBkb2N1bWVudDogICAgICAgICAgICAgbnVtYmVyO1xuICBmdWxsX25hbWU6ICAgICAgICAgICAgc3RyaW5nO1xuICBwaG9uZTogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBvdmVyZHVlX3BheW1lbnRzOiAgICAgSU92ZXJkdWVQYXltZW50c1JzO1xuICBvdXRzdGFuZGluZ19wYXltZW50czogSU91dHN0YW5kaW5nUGF5bWVudHNScztcbiAgcGF5bWVudHNfbWFkZTogICAgICAgIG51bWJlcjtcbiAgcHJldmlvc19jb3Vyc2U6ICAgICAgIG51bGwgfCBudW1iZXI7XG4gIGNvbG9yX2R1ZTogICAgICAgICAgICBzdHJpbmc7XG4gIGZ1bGRhdGFDb3Vyc2U6ICAgICAgICBJRnVsZGF0YUNvdXJzZVJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPdXRzdGFuZGluZ1BheW1lbnRzUnMge1xuICBvdXRzdGFuZGluZ19wYXltZW50czogbnVtYmVyO1xuICBudW1iZXJfaW5zdGFsbG1lbnRzOiAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPdmVyZHVlUGF5bWVudHNScyB7XG4gIE92ZXJkdWVfcGF5bWVudHM6ICAgIG51bWJlcjtcbiAgbnVtYmVyX2luc3RhbGxtZW50czogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElGdWxkYXRhQ291cnNlUnMge1xuICBjb2RlOiAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3NjaGVkdWxlOiBzdHJpbmdbXTtcbiAgdGVhY2hlcjogICAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV90eXBlOiAgICAgSUNvdXJzZVR5cGVDbHVBbmRUaGVScztcbiAgdG9fc3RhcnQ6ICAgICAgICBEYXRlO1xuICBzdGFydF9kYXRlOiAgICAgIERhdGU7XG4gIGZpbmlzaF9kYXRlOiAgICAgRGF0ZTtcbiAgY2FwYWNpdHk6ICAgICAgICBudW1iZXI7XG4gIG1vcmVfZGF5czogICAgICAgbnVsbDtcbiAgZW5nbGlzaF9sZXZlbDogICBzdHJpbmc7XG4gIGFncmVlbWVudDogICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfbW9kYWxpdHk6IElDb3Vyc2VNb2RhbGl0eVJxO1xuICBpc19yZW5vdmF0aW9uOiAgIG51bWJlcjtcbiAgaXNfZnJvbTogICAgICAgICBudWxsO1xuICBpc19jbHViOiAgICAgICAgIG51bWJlcjtcbiAgaXNfdmlzaWJsZTogICAgICBudW1iZXI7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlVHlwZUNsdUFuZFRoZVJzIHtcbiAgY29kZTogICAgICAgICAgICAgIG51bWJlcjtcbiAgbmFtZTogICAgICAgICAgICAgIHN0cmluZztcbiAgbGFiZWw6ICAgICAgICAgICAgIHN0cmluZztcbiAgbnVtYmVyX2NsYXNzOiAgICAgIG51bWJlcjtcbiAgbnVtYmVyX2NsYXNzX2NsdWI6IG51bWJlcjtcbiAgYWNhZGVtaWNfcGxhbjogICAgIHN0cmluZztcbiAgdGhlb3J5X2NsYXNzZXM6ICAgIG51bWJlcjtcbiAgY2x1Yl9jbGFzc2VzOiAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluUGF5bWVudFRyYW5IaXN0b3J5QnlDb2RScSAge1xuICB0b2tlbjogICAgICAgIHN0cmluZztcbiAgY291cnNlX2NvZGU6ICBudW1iZXI7XG4gIGNvZF9jb2RlOiAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPYnRhaW5TdHVkZW50UGF5bWVudEJ5RGlmZlBhcmFtUnEgIHtcbiAgdG9rZW46ICAgICAgICBzdHJpbmc7XG4gIHVzZXI6ICAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPYnRhaW5TdHVkZW50UGF5bWVudEJ5RGlmZlBhcmFtUnMge1xuICBjb2RlOiAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBkb2N1bWVudDogICAgICAgICAgICAgc3RyaW5nO1xuICBmdWxsX25hbWU6ICAgICAgICAgICAgc3RyaW5nO1xuICBwaG9uZTogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBvdmVyZHVlX3BheW1lbnRzOiAgICAgSU92ZXJkdWVQYXltZW50c1JzO1xuICBvdXRzdGFuZGluZ19wYXltZW50czogSU91dHN0YW5kaW5nUGF5bWVudHNScztcbiAgcGF5bWVudHNfbWFkZTogICAgICAgIG51bWJlcjtcbiAgcHJldmlvdXNfY291cnNlOiAgICAgIG51bGw7XG4gIGNvbG9yX2R1ZTogICAgICAgICAgICBzdHJpbmc7XG4gIGZ1bGxkYXRhQ291cnNlOiAgICAgICBJQWxsQ291cnNlc1ZpZXdlZFJzO1xuICBjdXJyZW50X2NvZDogICAgICAgICAgSUN1cnJlbnRDb2RScztcbiAgYWxsX2NvdXJzZXNfdmlld2VkOiAgIElBbGxDb3Vyc2VzVmlld2VkUnNbXTtcbiAgdXNlcl93YWxsZXQ6ICAgICAgICAgIElVc2VyV2FsbGV0UnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFsbENvdXJzZXNWaWV3ZWRScyB7XG4gIGNvZGU6ICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2Vfc2NoZWR1bGU6IHN0cmluZ1tdO1xuICB0ZWFjaGVyOiAgICAgICAgIHN0cmluZztcbiAgY291cnNlX3R5cGU6ICAgICBJQ291cnNlVHlwZUNsdUFuZFRoZVJzO1xuICB0b19zdGFydDogICAgICAgIERhdGU7XG4gIHN0YXJ0X2RhdGU6ICAgICAgRGF0ZTtcbiAgZmluaXNoX2RhdGU6ICAgICBEYXRlO1xuICBjYXBhY2l0eTogICAgICAgIG51bWJlcjtcbiAgbW9yZV9kYXlzOiAgICAgICBudWxsO1xuICBlbmdsaXNoX2xldmVsOiAgIHN0cmluZztcbiAgYWdyZWVtZW50OiAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV9tb2RhbGl0eTogSUNvdXJzZU1vZGFsaXR5UnE7XG4gIGlzX3Jlbm92YXRpb246ICAgbnVtYmVyO1xuICBpc19mcm9tOiAgICAgICAgIG51bGw7XG4gIGlzX2NsdWI6ICAgICAgICAgbnVtYmVyO1xuICBpc192aXNpYmxlOiAgICAgIG51bWJlcjtcbiAgdXBkYXRlZF9hdD86ICAgICBEYXRlO1xuICBjcmVhdGVkX2F0OiAgICAgIERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUN1cnJlbnRDb2RScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2U6ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3R5cGU6ICAgICAgICAgICBudW1iZXI7XG4gIGFncmVlbWVudDogICAgICAgICAgICAgbnVtYmVyO1xuICBlbmdsaXNoX2xldmVsOiAgICAgICAgIG51bWJlcjtcbiAgc3R1ZGVudDogICAgICAgICAgICAgICBudW1iZXI7XG4gIHBhcmVudDogICAgICAgICAgICAgICAgbnVtYmVyO1xuICBhZGl0aW9uYWxfaW5mb3JtYXRpb246IG51bWJlcjtcbiAgYWR2aXNlcjogICAgICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9zdGF0dXM6ICAgICAgICAgICAgbnVtYmVyO1xuICBjb2RfcHJpY2U6ICAgICAgICAgICAgIG51bWJlcjtcbiAgY29kX3BhaWQ6ICAgICAgICAgICAgICBudW1iZXI7XG4gIHVwZGF0ZWRfYXQ6ICAgICAgICAgICAgRGF0ZTtcbiAgY3JlYXRlZF9hdDogICAgICAgICAgICBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPdXRzdGFuZGluZ1BheW1lbnRzUnMge1xuICBvdXRzdGFuZGluZ19wYXltZW50czogbnVtYmVyO1xuICBudW1iZXJfaW5zdGFsbG1lbnRzOiAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPdmVyZHVlUGF5bWVudHNScyB7XG4gIE92ZXJkdWVfcGF5bWVudHM6ICAgIG51bWJlcjtcbiAgbnVtYmVyX2luc3RhbGxtZW50czogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyV2FsbGV0UnMge1xuICB1c2VyX2NvZGU6ICAgIG51bWJlcjtcbiAgZnVsbF9uYW1lOiAgICBzdHJpbmc7XG4gIGVtYWlsX2lwdDogICAgc3RyaW5nO1xuICBwaG9uZV9udW1iZXI6IHN0cmluZztcbiAgaXNfdmlzaWJsZTogICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSXBheW1lbnRCaWxsRWdyZXNzUnEge1xuICBwYXltZW50X21ldGhvZDogbnVtYmVyO1xuICBwYXltZW50X3NlcnZpY2VzOiBudW1iZXI7XG4gIHBheW1lbnRfd2FsbGV0OiBudW1iZXI7XG4gIGJhbms6IG51bWJlcjtcbiAgZ2VuZXJhdGVkX2ZvcjogbnVtYmVyO1xuICBnZW5lcmF0ZWRfYnk6IHN0cmluZztcbiAgdG90YWxfYW1vdW50OiBudW1iZXI7XG4gIHBheW1lbnRfYW1vdW50OiBudW1iZXI7XG4gIG91dHN0YW5kaW5nX2Ftb3VudDogbnVtYmVyO1xuICBwb3NpdGl2ZV9hbW91bnQ6IG51bWJlcjtcbiAgZGlzY291bnQ6IG51bWJlcjtcbiAgcGF5ZXJfbmFtZT86IHN0cmluZztcbiAgcGF5ZXJfZG9jdW1lbnQ/OiBudW1iZXI7XG4gIGNvZGVBY2FkZW1pY19wbGFuOiBudW1iZXI7XG4gIG9ic2VydmF0aW9uOiBzdHJpbmc7XG4gIHJlZl9wYXltZW50PzpzdHJpbmc7XG4gIGRhdGVfcGF5bWVudDpEYXRlO1xuICBjb21tb25fZXhwZW5zZXM6IG51bWJlcjtcbiAgdHlwZV9tb3ZlbWVudHM6bnVtYmVyO1xuICBtYW51YWxfcmVjZWlwdDpudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNhc2hDbG9zaW5nUnEge1xuICB0b2tlbjpzdHJpbmdcbiAgfVxuZXhwb3J0IGludGVyZmFjZSBJbmZvQ2FzaENsb3NpbmdScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGNvZGU6IG51bWJlcjtcbiAgY29kZV91c2VyOm51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSWNhc2hDbG9zaW5nRGF0ZVJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgc3RhcnRfZGF0ZTogc3RyaW5nO1xuICBmaW5pc2hfZGF0ZTogc3RyaW5nO1xuICBjb2RlX3VzZXI6bnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgSVBheW1lbnRXYWxsZXRScyB7XG4gIG5hbWU6IHN0cmluZztcbiAgY2FudGlkYWQ6IG51bWJlcjtcbiAgdG90YWw6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY2FzaENsb3NpbmdEYXRhUnMge1xuICB0b3RhbEluY29tZTogbnVtYmVyO1xuICB0b3RhbEVncmVzczogbnVtYmVyO1xuICBwYXltZW50TWV0aG9kSW5jb21lSW5mbzogSVBheW1lbnRXYWxsZXRSc1tdO1xuICBwYXltZW50TWV0aG9kRWdyZXNzSW5mbzogSVBheW1lbnRXYWxsZXRSc1tdO1xuICBwYXltZW50V2FsbGV0RWdyZXNzSW5mbzogSVBheW1lbnRXYWxsZXRSc1tdO1xuICBwYXltZW50V2FsbGV0SW5jb21lSW5mbzogSVBheW1lbnRXYWxsZXRSc1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBJbmNvbWVzQW5kRWdyZXNzUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICBjb2RlX3R5cGVfY29uc3VsdDpudW1iZXI7XG4gIGNvZGVfdHlwZV9tb3ZlbWVudDpudW1iZXI7XG4gIHN0YXJ0X2RhdGU/OnN0cmluZztcbiAgZmluaXNoX2RhdGU/OnN0cmluZztcbiAgdXNlcl9jb2RlOm51bWJlcjtcbiAgfVxuXG5cblxuZXhwb3J0IGludGVyZmFjZSBJT2JhdGluQmFsYWNlc0J5Q29vZGluYXRvclJxe1xuICB0b2tlbjogICAgICAgICAgIHN0cmluZztcbiAgY291cnNlX21vZGFsaXR5OiBudW1iZXI7XG4gIGNvdXJzZV9zdGF0dXM6ICAgbnVtYmVyO1xuICB1c2VyX2NvZGU6ICAgICAgIG51bWJlcjtcbiAgZW5nbGlzaF9sZXZlbDogICBFbmdsaXNoX0xldmVsc1tdO1xuICBzdGFydF9kYXRlOiAgICAgIERhdGU7XG4gIGVuZF9kYXRlOiAgICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2JhdGluRGV0YWlsZWRJbmNvbWVCeVVzZXJBbmREYXRlUnF7XG4gIHRva2VuOiAgICAgICAgICAgc3RyaW5nO1xuICB1c2VyX2NvZGU6ICAgICAgIG51bWJlcjtcbiAgc3RhcnRfZGF0ZTogICAgICBEYXRlO1xuICBlbmRfZGF0ZTogICAgICAgIERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9iYXRpbkRldGFpbGVkSW5jb21lQnlVc2VyQW5kRGF0ZVJzIHtcbiAgaW5jb21lOiAgIFJlc3BvbnNlUGF5O1xuICBleHBlbnNlczogUmVzcG9uc2VQYXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2VQYXkge1xuICBsaXN0UGF5bWVudDogICBJTGlzdFBheW1lbnRSc1tdO1xuICBzdW1CeU1ldGhvZDogICBJU3VtQnlNZXRob2RQYXlSc1tdO1xuICB0b3RhbEFtb3VudDogICBudW1iZXI7XG4gIGRhdGVDb25zdWx0OiAgIElEYXRlQ29uc3VsdFJzO1xuICB1c2VyQ29uc3VsdGVkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGVDb25zdWx0UnMge1xuICBzdGFydERhdGU6IERhdGU7XG4gIGVuZERhdGU6ICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTGlzdFBheW1lbnRScyB7XG4gIHBheW1lbnRfY29kZTogICAgICAgbnVtYmVyO1xuICBtZXRob2RfbmFtZTogICAgICAgIHN0cmluZztcbiAgbWV0aG9kX2NvZGU6ICAgICAgICBudW1iZXI7XG4gIHNlcnZpY2U6ICAgICAgICAgICAgc3RyaW5nO1xuICB3YWxsZXQ6ICAgICAgICAgICAgIHN0cmluZztcbiAgYmFuazogICAgICAgICAgICAgICBzdHJpbmc7XG4gIGZ1bGxuYW1lX3N0dWRlbnQ6ICAgc3RyaW5nO1xuICBmdWxsbmFtZV91c2VyOiAgICAgIHN0cmluZztcbiAgdG90YWxfYW1vdW50OiAgICAgICBudW1iZXI7XG4gIHBheW1lbnRfYW1vdW50OiAgICAgbnVtYmVyO1xuICBvdXRzdGFuZGluZ19hbW91bnQ6IG51bWJlcjtcbiAgcG9zaXRpdmVfYW1vdW50OiAgICBudW1iZXI7XG4gIGRpc2NvdW50OiAgICAgICAgICAgbnVtYmVyO1xuICBmYXRoZXJfbmFtZTogICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIHBhdGhlcl9kb2N1bWVudDogICAgbnVsbCB8IHN0cmluZztcbiAgYWNhZGVtaWNfcGxhbjogICAgICBudW1iZXI7XG4gIHJlZmVyZW5lY19wYXltZW50OiAgbnVsbCB8IHN0cmluZztcbiAgY3JlYXRlX2RhdGU6ICAgICAgICBEYXRlO1xuICBvYnNlcnZhdGlvbjogICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIGludm9pY2VfY2FuY2VsbGVkOiAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTdW1CeU1ldGhvZFBheVJzIHtcbiAgTWV0b2RvX3BhZ29fY29kZTogbnVtYmVyO1xuICBNZXRvZG9fcGFnbzogICAgICBzdHJpbmc7XG4gIFRvdGFsX3Bvcl9tZXRvZG86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluUGF5bWVudHNNYWRlQnlEYXRlc1JzIHtcbiAgYW1vdW50Q2FuY2VsOiAgICAgICAgICBudW1iZXI7XG4gIGNvZENvZGU6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjcmVhdGlvbl9kYXRlOiAgICAgICAgIERhdGU7XG4gIGNvZGU6ICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X21ldGhvZDogICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9zZXJ2aWNlczogICAgICBudW1iZXI7XG4gIHBheW1lbnRfd2FsbGV0OiAgICAgICAgbnVtYmVyO1xuICBiYW5rOiAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZ2VuZXJhdGVkX2ZvcjogICAgICAgICBudW1iZXI7XG4gIGdlbmVyYXRlZF9ieTogICAgICAgICAgbnVtYmVyO1xuICB0eXBlX21vdmVtZW50czogICAgICAgIG51bWJlcjtcbiAgY29tbW9uX2V4cGVuc2VzOiAgICAgICBudW1iZXI7XG4gIHRvdGFsX2Ftb3VudDogICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X2Ftb3VudDogICAgICAgIG51bWJlcjtcbiAgb3V0c3RhbmRpbmdfYW1vdW50OiAgICBudW1iZXI7XG4gIHBvc2l0aXZlX2Ftb3VudDogICAgICAgbnVtYmVyO1xuICBkaXNjb3VudDogICAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5ZXJfbmFtZTogICAgICAgICAgICBzdHJpbmc7XG4gIHBheWVyX2RvY3VtZW50OiAgICAgICAgc3RyaW5nO1xuICBhY2FkZW1pY19wbGFuOiAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9yZWZlcmVuY2U6ICAgICBudWxsIHwgc3RyaW5nO1xuICBwYXltZW50X2RhdGU6ICAgICAgICAgIERhdGUgfCBudWxsO1xuICBvYnNlcnZhdGlvbjogICAgICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIGludm9pY2VfY2FuY2VsbGVkOiAgICAgbnVtYmVyO1xuICBtYW51YWxfcmVjZWlwdDogICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIGNvZF9jb3Vyc2U6ICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X21ldGhvZF9uYW1lOiAgIHN0cmluZztcbiAgcGF5bWVudF9zZXJ2aWNlc19uYW1lOiBzdHJpbmc7XG4gIHBheW1lbnRfd2FsbGV0X25hbWU6ICAgc3RyaW5nO1xuICBiYW5rX25hbWU6ICAgICAgICAgICAgIHN0cmluZztcbiAgZnVsbG5hbWVfZmF0aGVyczogICAgICBudWxsIHwgc3RyaW5nO1xuICBnZW5lcmF0ZWRfZm9yX25hbWU6ICAgIHN0cmluZztcbiAgZ2VuZXJhdGVkX2J5X25hbWU6ICAgICBzdHJpbmc7XG4gIHR5cGVfbW92ZW1lbnRzX25hbWU6ICAgc3RyaW5nO1xuICBhY2FkZW1pY19wbGFuX25hbWU6ICAgIHN0cmluZztcbiAgdXNlcl93YWxsZXQ6ICAgICAgICAgICBJVXNlcldhbGxldFJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyV2FsbGV0UnMge1xuICB1c2VyX2NvZGU6ICAgIG51bWJlcjtcbiAgZnVsbF9uYW1lOiAgICBzdHJpbmc7XG4gIGVtYWlsX2lwdDogICAgc3RyaW5nO1xuICBwaG9uZV9udW1iZXI6IHN0cmluZztcbiAgaXNfdmlzaWJsZTogICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZEVtYWlsUGF5bWVudCB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIG5hbWVTdHVkZW50OiBzdHJpbmc7XG4gIHBob25lU3R1ZGVudDogc3RyaW5nO1xuICBwYXltZW50RGF0ZTogc3RyaW5nO1xuICBhY2FkZW1pY1BsYW46IHN0cmluZztcbiAgcGF5ZXJEb2N1bWVudDogc3RyaW5nO1xuICB0b3RhbEFtb3VudDogbnVtYmVyO1xuICBwYXltZW50QW1vdW50OiBudW1iZXI7XG4gIG91dHN0YW5kaW5nQW1vdW50OiBudW1iZXI7XG4gIGRpc2NvdW50PzogbnVtYmVyO1xuICBwYXltZW50TWV0aG9kOiBzdHJpbmc7XG4gIGJhbms/OiBudW1iZXI7XG4gIG9ic2VydmF0aW9uPzogc3RyaW5nO1xuICBjb2Rlc1JlZmVyczogbnVtYmVyW107XG4gIGNvZGVEaXNjb3VudDogbnVtYmVyO1xuICBjb2RlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZEVtYWlsUGF5bWVudENhbmNlbGxhdGlvblJTIHtcbiAgZW1haWw6IHN0cmluZztcbiAgc3R1ZGVudE5hbWU6IHN0cmluZztcbiAgcmVjZWlwdENvZGU6IG51bWJlcjtcbiAgY2FuY2VsbGF0aW9uRGF0ZTogc3RyaW5nO1xuICBhbW91bnQ6IG51bWJlcjtcbiAgY29uY2VwdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYXltZW50Q29ycmVsYXRpdmVScSB7XG4gIHRva2VuOnN0cmluZztcbiAgdHlwZV9jYXRlZ29yeTogbnVtYmVyO1xuICBzdGFydF9kYXRlOiBEYXRlO1xuICBlbmRfZGF0ZTogRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGF5bWVudENvcnJlbGF0aXZlUnF7XG4gIGNvZGVfdHlwZV9jb25zdWx0OiBudW1iZXIgfCBudWxsO1xuICBmaW5pc2hfZGF0ZTogRGF0ZTtcbiAgc3RhcnRfZGF0ZTogRGF0ZTtcbiAgdG9rZW46IHN0cmluZztcbiAgdHlwZV9jYXRlZ29yeTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPYnRhaW5HYXRld2F5UGF5bWVudFJlY29yZFJxIHtcbiAgY29kOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVVwZGF0ZUVwYXljb1BheW1lbnRScXtcbiAgcmVmX3ZhbGlkYXRpb246IHN0cmluZztcbiAgcGF5bWVudF9yZWY6ICAgIHN0cmluZztcbiAgeF9yZWZfcGF5Y286ICAgIG51bWJlcjtcbiAgdHJhbnNhY3Rpb25faWQ6IHN0cmluZztcbiAgc3RhdHVzX2NvZGU6ICAgIG51bWJlcjtcbiAgc3RhdHVzX25hbWU6ICAgIHN0cmluZztcbiAgYW1vdW50OiAgICAgICAgIG51bWJlcjtcbiAgdHlwZV9wYXltZW50OiAgIHN0cmluZztcbiAgYmFua19uYW1lOiAgICAgIHN0cmluZztcbiAgZXBheWNvX3BpbjogICAgIHN0cmluZztcbiAgY3VycmVuY3lfY29kZTogIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRXBheWNvUGF5bWVudFVwZGF0ZVJzIHtcbiAgZ2F0ZVBheW1lbnQ6IElHYXRlUGF5bWVudFJzO1xuICBzZWxmTWFuYWc6ICAgSVNlbGZNYW5hZ1JzO1xuICBlcGFCaWxsbDogICAgSUVwYUJpbGxsUnM7XG4gIHVwZFVzZXI6ICAgICBJVXBkVXNlclJzIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRXBhQmlsbGxScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9yZWY6ICAgICAgICAgc3RyaW5nO1xuICBhbW91bnQ6ICAgICAgICAgICAgICBudW1iZXI7XG4gIGVwYXljb19iYW5rOiAgICAgICAgIHN0cmluZztcbiAgZXBheWNvX3BheW1lbnRfdHlwZTogc3RyaW5nO1xuICBlcGF5Y29fcGluOiAgICAgICAgICBzdHJpbmc7XG4gIGVwYXljb19zdGF0dXM6ICAgICAgIHN0cmluZztcbiAgZXBheWNvX3JlZjogICAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHYXRlUGF5bWVudFJzIHtcbiAgY29kZTogICAgICAgICAgICBudW1iZXI7XG4gIHBheW1lbnRfc2VydmljZTogbnVtYmVyO1xuICBjb2Q6ICAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9hbW91bnQ6ICBudW1iZXI7XG4gIHBheW1lbnRfcmVmOiAgICAgc3RyaW5nO1xuICBlcGF5Y29fcmVmOiAgICAgIHN0cmluZztcbiAgZXBheWNvX3N0YXR1czogICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlbGZNYW5hZ1JzIHtcbiAgY29kZTogICAgICAgICAgICAgIG51bWJlcjtcbiAgY29kOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlOiAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9zZWxlY3Rpb246IG51bWJlcjtcbiAgcGF5bWVudF9yZWY6ICAgICAgIHN0cmluZztcbiAgZXBheWNvX3JlZjogICAgICAgIHN0cmluZztcbiAgbmVlZF9wYXk6ICAgICAgICAgIG51bWJlcjtcbiAgaXNfcGF5OiAgICAgICAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVXBkVXNlclJzIHtcbiAgY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gIGxhc3RfbmFtZTogICAgICAgIHN0cmluZztcbiAgbmlja19uYW1lOiAgICAgICAgbnVsbDtcbiAgZW1haWw6ICAgICAgICAgICAgc3RyaW5nO1xuICBlbWFpbF9pcHQ6ICAgICAgICBudWxsO1xuICByb2xlOiAgICAgICAgICAgICBudW1iZXI7XG4gIHBob25lX2luZGljYXRpdmU6IG51bWJlcjtcbiAgcGhvbmVfbnVtYmVyOiAgICAgc3RyaW5nO1xuICBnZW5kZXI6ICAgICAgICAgICBudW1iZXI7XG4gIGJpcnRoZGF0ZTogICAgICAgIERhdGU7XG4gIGNpdHk6ICAgICAgICAgICAgIG51bWJlcjtcbiAgaWRfY2FyZF90eXBlOiAgICAgbnVtYmVyO1xuICBpZF9jYXJkOiAgICAgICAgICBzdHJpbmc7XG4gIHRva2VuOiAgICAgICAgICAgIHN0cmluZztcbiAgdXNlcl9zdGF0dXM6ICAgICAgbnVtYmVyO1xuICBwYXNzd29yZF9jaGFuZ2U6ICBudW1iZXI7XG4gIHN0YXR1c19hc2luZzogICAgIG51bWJlcjtcbiAgZm9vdHByaW50OiAgICAgICAgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWNjb3VudHNCYWxhbmNlUnEge1xuICB0b2tlbjogICAgICAgICAgIHN0cmluZztcbiAgdXNlcl9jb2RlOiAgICAgICBudW1iZXI7XG4gIGNvdXJzZV9tb2RhbGl0eTogbnVtYmVyO1xuICBjb3Vyc2Vfc3RhdHVzOiAgIG51bWJlcjtcbiAgZW5nbGlzaF9sZXZlbDogICBJRW5nbGlzaExldmVsUnFbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWNjb3VudHNCYWxhbmNlUnMge1xuICBjb3Vyc2VDb2RlOiAgICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBFbmdsaXNoTGV2ZWw6ICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICBTdGFydERhdGU6ICAgICAgICAgICAgICAgICAgICAgRGF0ZTtcbiAgRmluaXNoRGF0ZTogICAgICAgICAgICAgICAgICAgIERhdGU7XG4gIENvdXJzZVR5cGU6ICAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIENvdXJzZU1vZGFsaXR5OiAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIENvdXJzZVJlbm92YXRpb246ICAgICAgICAgICAgICBzdHJpbmc7XG4gIHRvdGFsX3N0dWRlbnQ6ICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIEFjdGl2ZVN0dWRlbnRzOiAgICAgICAgICAgICAgICBudW1iZXI7XG4gIFN0dWRlbnRzU3VzcGVuZGVkUGF5OiAgICAgICAgICBudW1iZXI7XG4gIEZyb3plblN0dWRlbnRzOiAgICAgICAgICAgICAgICBudW1iZXI7XG4gIFdpdGhkcmF3blN0dWRlbnRzOiAgICAgICAgICAgICBudW1iZXI7XG4gIHNjaG9sYXJzaGlwU3R1ZGVudHM6ICAgICAgICAgICBJU2Nob2xhcnNoaXBTdHVkZW50UnNbXTtcbiAgc3R1ZGVudHNXaXRoQ2FzaFBheW1lbnRzOiAgICAgIG51bWJlcjtcbiAgc3R1ZGVudHNXaXRoQ3JlZGl0UGF5bWVudHM6ICAgIG51bWJlcjtcbiAgc3R1ZGVudHNXaXRoU2Nob2xhcnNoaXBzOiAgICAgIG51bWJlcjtcbiAgbHVtcFN1bVBheW1lbnRzVG9SZWNlaXZlZDogICAgIG51bWJlcjtcbiAgbHVtcFN1bVBhaWQ6ICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgb3ZlcmR1ZUx1bXBTdW06ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgbHVtcFN1bVJlY2VpdmFibGU6ICAgICAgICAgICAgIG51bWJlcjtcbiAgbG9zc0x1bXBTdW1QYXltZW50c1RvUmVjZWl2ZWQ6IG51bWJlcjtcbiAgb3ZlcmFsbFRvdGFsTG9zc09mUGF1c2VkOiAgICAgIG51bWJlcjtcbiAgb3ZlcmFsbFRvdGFsTG9zc09mUmV0aXJlZXM6ICAgIG51bWJlcjtcbiAgbG9zc0x1bXBTdW1QYWlkOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgU3R1ZGVudHNBY3RpdmU6ICAgICAgICAgICAgICAgIElTdHVkZW50c1BheVJzO1xuICBTdHVkZW50c1N1c3BlbmRlZFBheW1lbnQ6ICAgICAgSVN0dWRlbnRzUGF5UnM7XG4gIFN0dWRlbnRzUGF1c2VkUHJvY2VzczogICAgICAgICBJU3R1ZGVudHNQYXlScztcbiAgU3R1ZGVudHNSZXRpcmVkOiAgICAgICAgICAgICAgIElTdHVkZW50c1BheVJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTdHVkZW50c1BheVJzIHtcbiAgY291bnQ6ICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgdG90YWxfb3Zlckluc3RhbGxtZW50czogIG51bWJlcjtcbiAgdG90YWxfYW1vdW50X2V4cGVjdGVkOiAgIG51bWJlcjtcbiAgdG90YWxfYW1vdW50X3BhaWQ6ICAgICAgIG51bWJlcjtcbiAgdG90YWxfYW1vdW50X3JlY2VpdmFibGU6IG51bWJlcjtcbiAgdG90YWxfYW1vdW50X292ZXJkdWU6ICAgIG51bWJlcjtcbiAgZGF0YTogICAgICAgICAgICAgICAgICAgIElTdHVkZW50c0FjdGl2ZVJzW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVN0dWRlbnRzQWN0aXZlUnMge1xuICBjb2RfY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2VfY29kZTogICAgICAgICAgbnVtYmVyO1xuICBjb2RlOiAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBkb2N1bWVudDogICAgICAgICAgICAgc3RyaW5nO1xuICBmdWxsX25hbWU6ICAgICAgICAgICAgc3RyaW5nO1xuICBwaG9uZTogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBvdmVyZHVlX3BheW1lbnRzOiAgICAgSU92ZXJkdWVQYXltZW50c1JzO1xuICBvdXRzdGFuZGluZ19wYXltZW50czogSU91dHN0YW5kaW5nUGF5bWVudHNScztcbiAgcGF5bWVudHNfbWFkZTogICAgICAgIElQYXltZW50c01hZGVScztcbiAgcHJldmlvc19jb3Vyc2U6ICAgICAgIG51bGwgfCBudW1iZXI7XG4gIGNvbG9yX2R1ZTogICAgICAgICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU91dHN0YW5kaW5nUGF5bWVudHNScyB7XG4gIG91dHN0YW5kaW5nX3BheW1lbnRzOiBudW1iZXI7XG4gIG51bWJlcl9pbnN0YWxsbWVudHM6ICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBheW1lbnRzTWFkZVJzIHtcbiAgbWFkZV9wYXltZW50czogICAgICAgbnVtYmVyO1xuICBudW1iZXJfaW5zdGFsbG1lbnRzOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNjaG9sYXJzaGlwU3R1ZGVudFJzIHtcbiAgY29kZTogICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIGNvdXJzZTogICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2VfdHlwZTogICAgICAgICAgIG51bWJlcjtcbiAgYWdyZWVtZW50OiAgICAgICAgICAgICBudW1iZXI7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgICAgICAgbnVtYmVyO1xuICBzdHVkZW50OiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgcGFyZW50OiAgICAgICAgICAgICAgICBudW1iZXI7XG4gIGFkaXRpb25hbF9pbmZvcm1hdGlvbjogbnVtYmVyO1xuICBhZHZpc2VyOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY29kX3N0YXR1czogICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9wcmljZTogICAgICAgICAgICAgbnVtYmVyO1xuICBjb2RfcGFpZDogICAgICAgICAgICAgIG51bWJlcjtcbiAgY3JlYXRlZF9hdDogICAgICAgICAgICBEYXRlO1xuICBjb3Vyc2VfY29kZTogICAgICAgICAgIG51bWJlcjtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElFbGVjdHJvbmljSW52b2ljZVJTIHtcbiAgdG9rZW46IHN0cmluZztcbiAgc3RhcnRfZGF0ZTogRGF0ZSB8IG51bGw7XG4gIGVuZF9kYXRlOiBEYXRlIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0RnVsbFBheW1lbnRJbmZvcm1hdGlvblJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgcGFnZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0RnVsbFBheW1lbnRJbmZvcm1hdGlvblJzIHtcbiAgaXBfYXBwbGljYW50OiBzdHJpbmc7XG4gIHN0YXR1czogbnVtYmVyO1xuICBtZXNzYWdlOiBJTWVzc2FnZVJxO1xuICBkYXRhOiBJUGF5bWVudEJpbGxGdWxsRGF0YVJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYXltZW50QmlsbEZ1bGxEYXRhUnMge1xuICBkYXRhOiBJUGF5bWVudEJpbGxGdWxsUnNbXTtcbiAgcGFnaW5hdGlvbjogSVBhZ2luYXRpb25Scztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGF5bWVudEJpbGxGdWxsUnMge1xuICBwYXltZW50X2JpbGxfY29kZTogbnVtYmVyO1xuICBwYXltZW50X21ldGhvZDogbnVtYmVyO1xuICBwYXltZW50X3NlcnZpY2VzOiBudW1iZXI7XG4gIHBheW1lbnRfd2FsbGV0OiBudW1iZXI7XG4gIGJhbmtfbmFtZTogc3RyaW5nO1xuICBnZW5lcmF0ZWRfZm9yOiBudW1iZXI7XG4gIGdlbmVyYXRlZF9ieTogbnVtYmVyO1xuICB0eXBlX21vdmVtZW50czogbnVtYmVyO1xuICBjb21tb25fZXhwZW5zZXM6IG51bWJlcjtcbiAgdG90YWxfYW1vdW50OiBudW1iZXI7XG4gIHBheW1lbnRfYW1vdW50OiBudW1iZXI7XG4gIG91dHN0YW5kaW5nX2Ftb3VudDogbnVtYmVyO1xuICBwb3NpdGl2ZV9hbW91bnQ6IG51bWJlcjtcbiAgZGlzY291bnQ6IG51bWJlcjtcbiAgcGF5ZXJfbmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgcGF5ZXJfZG9jdW1lbnQ6IHN0cmluZyB8IG51bGw7XG4gIGFjYWRlbWljX3BsYW46IG51bWJlcjtcbiAgcGF5bWVudF9yZWZlcmVuY2U6IHN0cmluZyB8IG51bGw7XG4gIHBheW1lbnRfZGF0ZTogc3RyaW5nIHwgbnVsbDtcbiAgb2JzZXJ2YXRpb246IHN0cmluZyB8IG51bGw7XG4gIGludm9pY2VfY2FuY2VsbGVkOiBudW1iZXI7XG4gIG1hbnVhbF9yZWNlaXB0OiBzdHJpbmcgfCBudWxsO1xuICBjb3JyZWxhdGl2ZTogc3RyaW5nIHwgbnVsbDtcbiAgdHJhbnNmZXJfY29kZTogbnVtYmVyIHwgbnVsbDtcbiAgZWxlY3Ryb25pY19pbnZvaWNlOiBzdHJpbmcgfCBudWxsO1xuICBwYXltZW50X2JpbGxfY3JlYXRlZF9hdDogc3RyaW5nO1xuICBwYXltZW50X2JpbGxfdXBkYXRlZF9hdDogc3RyaW5nO1xuXG4gIC8vIENhbXBvcyBkZSB0cmFuc2ZlcnNcbiAgdHJhbnNmZXJfYW1vdW50OiBudW1iZXIgfCBudWxsO1xuICBpbml0aWFsX2Ftb3VudDogbnVtYmVyIHwgbnVsbDtcbiAgdHJhbnNmZXJfYmFua19uYW1lOiBzdHJpbmcgfCBudWxsO1xuICB0cmFuc2Zlcl9kYXRlOiBzdHJpbmcgfCBudWxsO1xuICByZWZlcmVuY2VfbnVtYmVyOiBzdHJpbmcgfCBudWxsO1xuICB0cmFuc2Zlcl9zdGF0dXM6IHN0cmluZyB8IG51bGw7XG4gIHRyYW5zZmVyX2NyZWF0ZWRfYnk6IG51bWJlciB8IG51bGw7XG4gIHRyYW5zZmVyX3VwZGF0ZWRfYnk6IG51bWJlciB8IG51bGw7XG4gIGltYWdlX3VybDogc3RyaW5nIHwgbnVsbDtcbiAgdHJhbnNmZXJfY3JlYXRlZF9hdDogc3RyaW5nIHwgbnVsbDtcbiAgdHJhbnNmZXJfdXBkYXRlZF9hdDogc3RyaW5nIHwgbnVsbDtcblxuICAvLyBDYW1wb3MgZGUgcGF5ZXIgKHVzZXIpXG4gIHBheWVyX2NvZGU6IG51bWJlcjtcbiAgcGF5ZXJfbmFtZV91c2VyOiBzdHJpbmc7XG4gIHBheWVyX2xhc3RfbmFtZTogc3RyaW5nO1xuICBwYXllcl9lbWFpbDogc3RyaW5nO1xuICBwYXllcl9yb2xlOiBudW1iZXI7XG4gIHBheWVyX3Bob25lOiBzdHJpbmc7XG4gIHBheWVyX2NyZWF0ZWRfYXQ6IHN0cmluZztcblxuICAvLyBDYW1wb3MgZGUgY3JlYXRvciAodXNlcilcbiAgY3JlYXRvcl9jb2RlOiBudW1iZXI7XG4gIGNyZWF0b3JfbmFtZTogc3RyaW5nO1xuICBjcmVhdG9yX2xhc3RfbmFtZTogc3RyaW5nO1xuICBjcmVhdG9yX2VtYWlsOiBzdHJpbmc7XG4gIGNyZWF0b3Jfcm9sZTogbnVtYmVyO1xuICBjcmVhdG9yX3Bob25lOiBzdHJpbmc7XG4gIGNyZWF0b3JfY3JlYXRlZF9hdDogc3RyaW5nO1xuXG4gIC8vIENhbXBvcyBkZSBjb2RcbiAgY29kX2NvZGU6IG51bWJlcjtcbiAgY291cnNlOiBudW1iZXI7XG4gIGNvdXJzZV90eXBlOiBudW1iZXI7XG4gIGFncmVlbWVudDogbnVtYmVyO1xuICBlbmdsaXNoX2xldmVsOiBudW1iZXI7XG4gIHN0dWRlbnQ6IG51bWJlcjtcbiAgY29kX3BhcmVudDogbnVtYmVyIHwgbnVsbDtcbiAgYWRpdGlvbmFsX2luZm9ybWF0aW9uOiBudW1iZXI7XG4gIGFkdmlzZXI6IG51bWJlcjtcbiAgY29kX3N0YXR1czogbnVtYmVyO1xuICBjb2RfcHJpY2U6IG51bWJlciB8IG51bGw7XG4gIGNvZF9wYWlkOiBudW1iZXI7XG4gIGNvZF9jcmVhdGVkX2F0OiBzdHJpbmc7XG4gIGNvZF91cGRhdGVkX2F0OiBzdHJpbmc7XG5cbiAgLy8gQ2FtcG9zIGRlIHBhcmVudFxuICBwYXJlbnRfY29kZTogbnVtYmVyIHwgbnVsbDtcbiAgcGFyZW50X25hbWU6IHN0cmluZyB8IG51bGw7XG4gIHBhcmVudF9sYXN0X25hbWU6IHN0cmluZyB8IG51bGw7XG4gIHBhcmVudF9pZF9jYXJkOiBzdHJpbmcgfCBudWxsO1xuICBwYXJlbnRfcGhvbmU6IHN0cmluZyB8IG51bGw7XG4gIG9jY3VwYXRpb246IHN0cmluZyB8IG51bGw7XG4gIG9mZmljZV9hZHJyZXNzOiBzdHJpbmcgfCBudWxsO1xuICBwYXJlbnRfY3JlYXRlZF9hdDogc3RyaW5nIHwgbnVsbDtcbiAgcGFyZW50X3VwZGF0ZWRfYXQ6IHN0cmluZyB8IG51bGw7XG59XG5cbi8vIFBhZ2luYWNpw7NuXG5leHBvcnQgaW50ZXJmYWNlIElQYWdpbmF0aW9uUnMge1xuICB0b3RhbDogbnVtYmVyO1xuICBwZXJfcGFnZTogbnVtYmVyO1xuICBjdXJyZW50X3BhZ2U6IG51bWJlcjtcbiAgbGFzdF9wYWdlOiBudW1iZXI7XG4gIGZyb206IG51bWJlcjtcbiAgdG86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2VhcmNoUGF5bWVudEJpbGxScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHBhZ2U/OiBudW1iZXI7XG4gIHJlZmVyZW5jZV9udW1iZXI/OiBzdHJpbmc7XG4gIHBheWVyX25hbWU/OiBzdHJpbmc7XG4gIGVsZWN0cm9uaWNfaW52b2ljZT86IHN0cmluZztcbiAgLy9wYXltZW50X2JpbGxfY29kZT86IG51bWJlcjtcbiAgcGF5bWVudF9iaWxsX2NvZGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlYXJjaFBheW1lbnRCaWxsUnMge1xuICBpcF9hcHBsaWNhbnQ6IHN0cmluZztcbiAgc3RhdHVzOiBudW1iZXI7XG4gIG1lc3NhZ2U6IHtcbiAgICBjb2RlOiBudW1iZXI7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICB9O1xuICBkYXRhOiBJUGF5bWVudEJpbGxGdWxsRGF0YVJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXRTdW1tYXJ5QnlDb29yZGluYXRvclJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgc3RhcnRfZGF0ZT86IHN0cmluZztcbiAgZW5kX2RhdGU/OiBzdHJpbmc7XG4gIGdyYWNlX3BlcmlvZF9kYXlzPzogbnVtYmVyO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFkZE5ld1F1b3RhV2l0aENvbW1lbnRzUnEge1xuICB0b2tlbjogICAgICAgICAgc3RyaW5nO1xuICBjb2Q6ICAgICAgICAgICAgbnVtYmVyO1xuICBmZWVfbnVtYmVyOiAgICAgbnVtYmVyO1xuICB2YWx1ZUFtb3VudDogICAgbnVtYmVyO1xuICB0aW1lbHlfZGF0ZTogICAgc3RyaW5nO1xuICBvYnNlcnZhdGlvbjogICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEZWxldGVRdW90YVJlY29yZFdpdGhDb21tZW50c1JxIHtcbiAgdG9rZW46ICAgICAgICAgIHN0cmluZztcbiAgY29kX3BheW1lbnQ6ICAgIG51bWJlcjtcbiAgb2JzZXJ2YXRpb246ICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTW9kaWZ5UXVvdGFEYXRhV2l0aENvbW1lbnRzUnEge1xuICB0b2tlbjogICAgICAgICAgICAgIHN0cmluZztcbiAgY29kOiAgICAgICAgICAgICAgICBudW1iZXI7XG4gIHRpbWVseV9kYXRlOiAgICAgICAgc3RyaW5nO1xuICBvYnNlcnZhdGlvbjogICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRWRpdEluc3RhbGxtZW50QW1vdW5XaXRoQ29tbWVudHNScSB7XG4gIHRva2VuOiAgICAgICAgICAgICAgc3RyaW5nO1xuICBjb2RfcGF5bWVudDogICAgICAgIG51bWJlcjtcbiAgdmFsdWVfYW1vdW50OiAgICAgICBudW1iZXI7XG4gIG9ic2VydmF0aW9uOiAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQcm9jZXNzUGF5bWVudENvZFdpdGhDb21tZW50c1JzIHtcbiAgICBjb2RwYXltZW50OiBJQ29kcGF5bWVudFByb2Nlc3NQYXltZW50UnM7XG4gICAgaGlzdG9yeTogICAgSUhpc3RvcnlQcm9jZXNzUGF5bWVudFJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb2RwYXltZW50UHJvY2Vzc1BheW1lbnRScyB7XG4gICAgY29kZTogICAgICAgICAgICAgIG51bWJlcjtcbiAgICBjb2Q6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIHRpbWVseV9kYXRlOiAgICAgICBEYXRlO1xuICAgIGFtb3VudDogICAgICAgICAgICBudW1iZXI7XG4gICAgZmVlX251bWJlcjogICAgICAgIG51bWJlcjtcbiAgICBzdGF0dXM6ICAgICAgICAgICAgbnVtYmVyO1xuICAgIHVwZGF0ZWRfYW1vdW50X2J5OiBudW1iZXI7XG4gICAgdXBkYXRlZF9ieTogICAgICAgIG51bWJlcjtcbiAgICBkZWxldGVkX2F0OiAgICAgICAgbnVsbCB8IERhdGU7XG4gICAgdXBkYXRlZF9hdDogICAgICAgIERhdGU7XG4gICAgY3JlYXRlZF9hdDogICAgICAgIERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUhpc3RvcnlQcm9jZXNzUGF5bWVudFJzIHtcbiAgICBjb2RfcGF5bWVudDogbnVtYmVyO1xuICAgIG9ic2VydmF0aW9uOiBzdHJpbmc7XG4gICAgc3RhdHVzOiAgICAgIG51bWJlcjtcbiAgICBwcm9jZXNzOiAgICAgbnVtYmVyO1xuICAgIHByb2R1Y2VkX2J5OiBudW1iZXI7XG4gICAgY29kZTogICAgICAgIG51bWJlcjtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnRScSB7XG4gICAgdG9rZW46ICAgICAgIHN0cmluZztcbiAgICB1c2VyX2NvZGU6ICAgbnVtYmVyO1xuICAgIHN0YXJ0X2RhdGU6ICBzdHJpbmc7XG4gICAgZW5kX2RhdGU6ICAgIHN0cmluZztcbiAgICBjb3Vyc2VfY29kZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnRScyB7XG4gICAgaXBfYXBwbGljYW50OiBzdHJpbmc7XG4gICAgc3RhdHVzOiAgICAgICBudW1iZXI7XG4gICAgbWVzc2FnZTogICAgICBJQ291cnNlUGF5bWVudFJhbmdlUmVwb3J0TWVzc2FnZTtcbiAgICBkYXRhOiAgICAgICAgIElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnREYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnRNZXNzYWdlIHtcbiAgICBjb2RlOiAgICBudW1iZXI7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnREYXRhIHtcbiAgICBmaWx0ZXJzOiAgICAgICAgICAgICAgSUNvdXJzZVBheW1lbnRSYW5nZVJlcG9ydEZpbHRlcnM7XG4gICAgc3VtbWFyeV9ieV9jb3Vyc2U6ICAgIElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnRTdW1tYXJ5W107XG4gICAgY29kX2RldGFpbF9ieV9jb3Vyc2U6IElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnRDb2REZXRhaWxbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlUGF5bWVudFJhbmdlUmVwb3J0RmlsdGVycyB7XG4gICAgdXNlcl9jb2RlOiAgIG51bWJlcjtcbiAgICBjb3Vyc2VfY29kZTogbnVtYmVyO1xuICAgIHN0YXJ0X2RhdGU6ICBzdHJpbmc7XG4gICAgZW5kX2RhdGU6ICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlUGF5bWVudFJhbmdlUmVwb3J0U3VtbWFyeSB7XG4gICAgY291cnNlX2NvZGU6ICAgICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgICBjb2RfY291bnRfc3RhdHVzX2xlXzM6ICAgICAgICAgICAgbnVtYmVyO1xuICAgIHRvdGFsX2Ftb3VudF90b19jb2xsZWN0X2luX3JhbmdlOiBudW1iZXI7XG4gICAgdG90YWxfaW5zdGFsbG1lbnRzX2luX3JhbmdlOiAgICAgIG51bWJlcjtcbiAgICBwYWlkX2luc3RhbGxtZW50c19pbl9yYW5nZTogICAgICAgc3RyaW5nO1xuICAgIHVucGFpZF9pbnN0YWxsbWVudHNfaW5fcmFuZ2U6ICAgICBzdHJpbmc7XG4gICAgcGFpZF9pbnN0YWxsbWVudHNfYW1vdW50X2luX3JhbmdlOiAgIG51bWJlcjtcbiAgICB1bnBhaWRfaW5zdGFsbG1lbnRzX2Ftb3VudF9pbl9yYW5nZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnRDb2REZXRhaWwge1xuICAgIGNvZF9jb2RlOiAgICAgICAgICAgICBudW1iZXI7XG4gICAgY29kX3N0YXR1czogICAgICAgICAgIG51bWJlcjtcbiAgICBjb2RfcHJpY2U6ICAgICAgICAgICAgbnVtYmVyO1xuICAgIHN0dWRlbnRfY29kZTogICAgICAgICBudW1iZXI7XG4gICAgZG9jdW1lbnQ6ICAgICAgICAgICAgIHN0cmluZztcbiAgICBmaXJzdF9uYW1lOiAgICAgICAgICAgc3RyaW5nO1xuICAgIGxhc3RfbmFtZTogICAgICAgICAgICBzdHJpbmc7XG4gICAgaW5zdGFsbG1lbnRzX2luX3JhbmdlOiBudW1iZXI7XG4gICAgdG90YWxfYW1vdW50X2luX3JhbmdlOiBudW1iZXI7XG4gICAgcGF5bWVudF9kYXRlczogICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJb2J0YWluUGVuZGluZ0dhdGV3YXlQYXltZW50c0ZvclByb2Nlc3NpbmdScyB7XG4gICAgaXBfYXBwbGljYW50Pzogc3RyaW5nO1xuICAgIHN0YXR1cz86ICAgICAgIG51bWJlcjtcbiAgICBtZXNzYWdlPzogICAgICBJTWVzc2FnZVJxO1xuICAgIGRhdGE/OiAgICAgICAgIG9idGFpblBlbmRpbmdHYXRld2F5UGF5bWVudHNGb3JQcm9jZXNzaW5nUnNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBvYnRhaW5QZW5kaW5nR2F0ZXdheVBheW1lbnRzRm9yUHJvY2Vzc2luZ1JzIHtcbiAgICBjb2RlPzogICAgICAgICAgICAgIG51bWJlcjtcbiAgICBjb2Q/OiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgICB0aW1lbHlfZGF0ZT86ICAgICAgIERhdGU7XG4gICAgYW1vdW50PzogICAgICAgICAgICBudW1iZXI7XG4gICAgZmVlX251bWJlcj86ICAgICAgICBudW1iZXI7XG4gICAgc3RhdHVzPzogICAgICAgICAgICBudW1iZXI7XG4gICAgdXBkYXRlZF9hbW91bnRfYnk/OiBudW1iZXI7XG4gICAgdXBkYXRlZF9ieT86ICAgICAgICBudW1iZXIgfCBudWxsO1xuICAgIGRlbGV0ZWRfYXQ/OiAgICAgICAgbnVsbDtcbiAgICB1cGRhdGVkX2F0PzogICAgICAgIERhdGU7XG4gICAgY3JlYXRlZF9hdD86ICAgICAgICBEYXRlO1xuICAgIGRheVZlbmM/OiAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvbG9yRGF5PzogICAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQcmV2aWV3TW9kaWZ5UGF5bWVudFBsYW5ScSB7XG4gIHRva2VuOiAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIGNvZDogICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIG9sZF9jb3Vyc2U6ICAgICAgICAgICBudW1iZXI7XG4gIG5ld19jb3Vyc2U6ICAgICAgICAgICBudW1iZXI7XG4gIGtlZXBfb2xkX3ZhbHVlczogICAgICBib29sZWFuO1xuICBudW1iZXJfb2xkX2ZlZXNfa2VlcDogbnVtYmVyO1xuICBudW1iZXJfZmVlc19jcmVhdGU6ICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQcmV2aWV3TW9kaWZ5UGF5bWVudFBsYW5ScyB7XG4gIGNvZDogICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBlbnJyb2xsbWV0X3ZhbHVlOiAgICAgIG51bWJlcjtcbiAgZmVlX3ZhbHVlOiAgICAgICAgICAgICBudW1iZXI7XG4gIGFtb3VudF9mZWVzX2dlbmVyYXRlOiAgbnVtYmVyO1xuICBmZWVzX2F0dGVuZGVkOiAgICAgICAgIG51bWJlcjtcbiAgb2xkX2NvcnNlOiAgICAgICAgICAgICBudW1iZXI7XG4gIG5ld19jb3JzZTogICAgICAgICAgICAgbnVtYmVyO1xuICBkYXRhcGF5OiAgICAgICAgICAgICAgIElQcmV2aWV3TmV3UGF5bWVudFBsYW5Sc1tdO1xuICBuZXdfY29kX3ByaWNlOiAgICAgICAgIElQcmV2aWV3TmV3Q29kUHJpY2VSc1tdO1xuICBuZXdfY29kX3BheW1lbnRfbGV2ZWw6IElQcmV2aWV3TmV3Q29kUGF5bWVudExldmVsUnM7XG4gIGNvbnRhZG86ICAgICAgICAgICAgICAgYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUHJldmlld05ld1BheW1lbnRQbGFuUnMge1xuICBzdGF0dXM6ICAgICAgbnVtYmVyO1xuICBmZWVfbnVtYmVyOiAgbnVtYmVyO1xuICBhbW91bnQ6ICAgICAgbnVtYmVyO1xuICB0aW1lbHlfZGF0ZTogRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUHJldmlld05ld0NvZFBheW1lbnRMZXZlbFJzIHtcbiAgY29kZTogICAgICAgICAgIG51bWJlcjtcbiAgdHlwZV9jb3Vyc2U6ICAgIG51bWJlcjtcbiAgZW5nbGlzaF9sZXZlbDogIG51bWJlcjtcbiAgbGV2ZWxfb3JkZXI6ICAgIG51bWJlcjtcbiAgZmVlc19mb3JfbGV2ZWw6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUHJldmlld05ld0NvZFByaWNlUnMge1xuICBjb2RlOiAgICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICAgc3RyaW5nO1xuICBhZ3JlZW1lbnQ6ICAgICAgICAgbnVtYmVyO1xuICB0eXBlX2NvdXJzZTogICAgICAgbnVtYmVyO1xuICBjb3Vyc2VfbW9kYWxpdHk6ICAgbnVtYmVyO1xuICBlbnJvbGxtZW50OiAgICAgICAgbnVtYmVyO1xuICBub3JtYWxfcHJpY2U6ICAgICAgbnVtYmVyO1xuICBmaW5hbmNlZF9wcmljZTogICAgbnVtYmVyO1xuICBmZWVfbnVtYmVyOiAgICAgICAgbnVtYmVyO1xuICBxdW90YV9wcmljZTogICAgICAgbnVtYmVyO1xuICBwYWlkX2xldmVsOiAgICAgICAgbnVtYmVyO1xuICBjYW1wdXNfZW50ZXJwcmlzZTogbnVtYmVyO1xuICBpc19hY3RpdmU6ICAgICAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTYXZlTW9kaWZpZWRQYXltZW50UGxhblJxIHtcbiAgdG9rZW46ICAgICAgICAgICAgICAgIHN0cmluZztcbiAgY29kOiAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgb2xkX2NvdXJzZTogICAgICAgICAgIG51bWJlcjtcbiAgbmV3X2NvdXJzZTogICAgICAgICAgIG51bWJlcjtcbiAgZW5yb2xsbWVudF92YWx1ZTogICAgIG51bWJlcjtcbiAgZmVlX3ZhbHVlOiAgICAgICAgICAgIG51bWJlcjtcbiAgYW1vdW50X2ZlZXNfZ2VuZXJhdGU6IG51bWJlcjtcbiAgZmVlc19hdHRlbmRlZDogICAgICAgIG51bWJlcjtcbiAgY29udGFkbzogICAgICAgICAgICAgYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2F2ZU1vZGlmaWVkUGF5bWVudFBsYW5ScyB7XG4gIGNvZDogICAgICAgICBudW1iZXI7XG4gIG5ld19taW5fZmVlOiBudW1iZXI7XG4gIG5ld19tYXhfZmVlOiBudW1iZXI7XG4gIHVwZGF0ZWQ6ICAgICBudW1iZXI7XG4gIGNyZWF0ZWQ6ICAgICBudW1iZXI7XG4gIGRlbGV0ZWQ6ICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWdldFN0dWRlbnRIYXNDb3Vyc2VDaGFuZ2VzUnMge1xuICBjb2RlOiAgICAgIG51bWJlcjtcbiAgaGFzX2F1ZGl0OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWdldFN0dWRlbnRIYXNDb3Vyc2VDaGFuZ2VzUnF7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGNvZDogICBudW1iZXI7XG59XG5cbiJdfQ==
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVkZ2V0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvcmUvbW9kZWxzL2J1ZGdldC9idWRnZXQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFdmVudENvdXJzZVJxIH0gZnJvbSBcIi4uL2NsYXNzcm9vbS9jbGFzc3Jvb20tcnEubW9kZWxcIjtcbmltcG9ydCB7IENvdXJzZVR5cGVDUnEgfSBmcm9tIFwiLi4vY291cnNlL2NvdXJzZS1ycS5tb2RlbFwiO1xuaW1wb3J0IHsgRW5nbGlzaF9MZXZlbHMgfSBmcm9tIFwiLi4vY291cnNlL2NvdXJzZXMubW9kZWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBnZXRkaXNjb3VudEFsbFJxe1xuICB0b2tlbjpzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ291cG9uIHtcbiAgY29kZT86ICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZGlzY291bnRfcmVmOiAgICAgICAgICAgc3RyaW5nO1xuICBuYW1lOiAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIHR5cGU6ICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZGlzY291bnRfdHlwZTogICAgICAgICAgc3RyaW5nO1xuICBwZXJjZW50YWdlOiAgICAgICAgICAgICBudW1iZXI7XG4gIHN0YXJ0X2RhdGU6ICAgICAgICAgICAgIERhdGU7XG4gIGVuZF9kYXRlOiAgICAgICAgICAgICAgIERhdGU7XG4gIHN0YXRlOiAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZGVzY3JpcHRpb246ICAgICAgICAgICAgc3RyaW5nO1xuICBkaXNjb3VudF9hY2FkZW1pY19wbGFuOiBEaXNjb3VudEFjYWRlbWljUGxhbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvdW50QWNhZGVtaWNQbGFuIHtcbiAgY29kZTogIG51bWJlcjtcbiAgbmFtZTogIHN0cmluZztcblxufVxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3VudFJxe1xuICB0b2tlbjpzdHJpbmc7XG4gIGRpc2NvdW50X3JlZjpzdHJpbmc7XG4gIG5hbWU6c3RyaW5nO1xuICB0eXBlOm51bWJlcjtcbiAgZGlzY291bnRfdHlwZTpudW1iZXI7XG4gIHBlcmNlbnRhZ2U6bnVtYmVyO1xuICBzdGFydF9kYXRlOkRhdGU7XG4gIGVuZF9kYXRlOkRhdGU7XG4gIHN0YXRlOm51bWJlcjtcbiAgZGVzY3JpcHRpb246c3RyaW5nO1xuICBwbGFuOm51bWJlcltdO1xufVxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3VudFVwZGF0ZVJxe1xuICB0b2tlbjpzdHJpbmc7XG4gIGNvZGU/Om51bWJlcjtcbiAgc3RhcnRfZGF0ZTpEYXRlO1xuICBlbmRfZGF0ZTpEYXRlO1xuICBzdGF0ZTpudW1iZXI7XG4gIGRlc2NyaXB0aW9uOnN0cmluZztcbiAgcGxhbjpudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlQ291cG9ue1xuICBjb2RlPzpudW1iZXI7XG4gIG5hbWU/OnN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURpc2NvdW50e1xuICBjb2RlPzpudW1iZXI7XG4gIG5hbWU/OnN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVN0YXRle1xuICBjb2RlPzpudW1iZXI7XG4gIG5hbWU/OnN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3R1ZGVudHtcbiAgbmFtZTogc3RyaW5nO1xuICBkb2N1bWVudDogbnVtYmVyO1xuICBwaG9uZTpudW1iZXI7XG4gIHBsYW46IHN0cmluZztcbiAgc3RhdGU6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGV7XG4gIGNvZGU/Om51bWJlcjtcbiAgbmFtZT86c3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBQbGFue1xuICBjb2RlPzpudW1iZXI7XG4gIG5hbWU/OnN0cmluZztcbn1cblxuLy8vLy8vLy8vLy8vLy9cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpbkFsbENvdXJzZXdhbGxldHtcbiAgdG9rZW46c3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFsbENvdXJzZVdhbGxldEJ5Q29vZGluYXRvclJzIHtcbiAgaXBfYXBwbGljYW50OiBzdHJpbmc7XG4gIHN0YXR1czogICAgICAgbnVtYmVyO1xuICBtZXNzYWdlOiAgICAgIElNZXNzYWdlUnE7XG4gIGRhdGE6ICAgICAgICAgSUNvdXJzZVdhbGxldEJ5Q29vZGluYXRvclJzW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvdXJzZVdhbGxldEJ5Q29vZGluYXRvclJzIHtcbiAgY291cnNlX3dhbGxldF9jb2RlOiAgICAgICAgbnVtYmVyO1xuICB1c2VyX2NvZGU6ICAgICAgICAgICAgICAgICBJVXNlckNvZGVScTtcbiAgY291cnNlX2NvZGU6ICAgICAgICAgICAgICAgSUNvdXJzZUNvZGVScTtcbiAgY291cnNlX3dhbGxldF9zdGF0dXNfY29kZTogSUNvdXJzZVdhbGxldFN0YXR1c0NvZGVScTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlQ29kZVJxIHtcbiAgY29kZTogICAgICAgICAgICBudW1iZXI7XG4gIGNvdXJzZV9zY2hlZHVsZTogc3RyaW5nW107XG4gIHRlYWNoZXI6ICAgICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfdHlwZTogICAgIENvdXJzZVR5cGVDUnE7XG4gIHRvX3N0YXJ0OiAgICAgICAgRGF0ZTtcbiAgc3RhcnRfZGF0ZTogICAgICBEYXRlO1xuICBmaW5pc2hfZGF0ZTogICAgIERhdGU7XG4gIGNhcGFjaXR5OiAgICAgICAgbnVtYmVyO1xuICBtb3JlX2RheXM6ICAgICAgIG51bWJlciB8IG51bGw7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgc3RyaW5nO1xuICBhZ3JlZW1lbnQ6ICAgICAgIHN0cmluZztcbiAgY291cnNlX21vZGFsaXR5OiBJQ291cnNlTW9kYWxpdHlScTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlTW9kYWxpdHlScSB7XG4gIGNvZGU6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb3Vyc2VXYWxsZXRTdGF0dXNDb2RlUnEge1xuICBjb2RlOiAgICAgICAgIG51bWJlcjtcbiAgc3RhdHVzOiAgICAgICBzdHJpbmc7XG4gIGNvbG9yX3N0YXR1czogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyQ29kZVJxIHtcbiAgY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gIGxhc3RfbmFtZTogICAgICAgIHN0cmluZztcbiAgbmlja19uYW1lOiAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICBzdHJpbmc7XG4gIGVtYWlsX2lwdDogICAgICAgIHN0cmluZztcbiAgcm9sZTogICAgICAgICAgICAgbnVtYmVyO1xuICBwaG9uZV9pbmRpY2F0aXZlOiBudW1iZXI7XG4gIHBob25lX251bWJlcjogICAgIHN0cmluZztcbiAgZ2VuZGVyOiAgICAgICAgICAgbnVtYmVyO1xuICBiaXJ0aGRhdGU6ICAgICAgICBEYXRlIHwgbnVsbDtcbiAgY2l0eTogICAgICAgICAgICAgbnVtYmVyO1xuICBpZF9jYXJkX3R5cGU6ICAgICBudW1iZXI7XG4gIGlkX2NhcmQ6ICAgICAgICAgIHN0cmluZztcbiAgdXNlcl9zdGF0dXM6ICAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNZXNzYWdlUnEge1xuICBjb2RlOiAgICBudW1iZXI7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUFzc2lnblJlcXVlc3RScXtcbiAgdG9rZW46IHN0cmluZztcbiAgdXNlckNvZGU6IG51bWJlcjtcbiAgY29kZUNvdXJzZTogbnVtYmVyIHwgbnVsbDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpbkF2YWlsYWJsZUNvdXJzZVJzIHtcbiAgdG9rZW46ICAgICAgc3RyaW5nO1xuICBjb2RfY29kZTogICBudW1iZXI7XG4gIG5hbWVfZXZlbnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbGxDb3Vyc2VBdmFpbGFibGVCeVN0dWRlbnRScyB7XG4gIGlwX2FwcGxpY2FudDogc3RyaW5nO1xuICBzdGF0dXM6ICAgICAgIG51bWJlcjtcbiAgbWVzc2FnZTogICAgICBJTWVzc2FnZVJxO1xuICBkYXRhOiAgICAgICAgIElBdmFpbGFibGVDb3Vyc2VzUnE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUF2YWlsYWJsZUNvdXJzZXNScSB7XG4gIGF2YWlsYWJsZUNvdXJzZXM6IElDb3Vyc2VBdmFpbGFibGVScVtdIHwgYW55W107XG4gIG92ZXJkdWU6ICAgICAgICAgIElPdmVyZHVlUnEgfCBhbnlbXTtcbiAgdW5pdEFkdmFuY2U6ICAgICAgYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlQXZhaWxhYmxlUnEge1xuICBudW1iZXJDbGFzZXM6IG51bWJlcjtcbiAgY3VycmVudEV2ZW50OiBJRXZlbnRDb3Vyc2VScTtcbiAgY291cnNlRGF0YTogICBJQ291cnNlRGF0YU5hbWVzUnE7XG4gIGNsYXNzcm9vbTogICAgSUNsYXNzcm9vbUVsZW1lbnRScVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDbGFzc3Jvb21FbGVtZW50UnEge1xuICBjbGFzc3Jvb206ICBJQ2xhc3Nyb29tQ2xhc3Nyb29tUnE7XG4gIHRpbWVfc3RhcnQ6IHN0cmluZztcbiAgdGltZV9lbmQ6ICAgc3RyaW5nO1xuICBkYXlzOiAgICAgICBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2xhc3Nyb29tQ2xhc3Nyb29tUnEge1xuICBjb2RlOiAgICAgICAgICAgIG51bWJlcjtcbiAgbmFtZTogICAgICAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV9tb2RhbGl0eTogbnVtYmVyO1xuICBjYXBhY2l0eTogICAgICAgIG51bWJlcjtcbiAgaWRfY2FsZW5kYXI6ICAgICBzdHJpbmc7XG4gIGFkcmVzczogICAgICAgICAgc3RyaW5nO1xuICB1cGRhdGVkX2F0OiAgICAgIERhdGU7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlRGF0YU5hbWVzUnEge1xuICBjb2RlOiAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3NjaGVkdWxlOiBudW1iZXI7XG4gIHRlYWNoZXI6ICAgICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfdHlwZTogICAgIHN0cmluZztcbiAgdG9fc3RhcnQ6ICAgICAgICBEYXRlO1xuICBzdGFydF9kYXRlOiAgICAgIERhdGU7XG4gIGZpbmlzaF9kYXRlOiAgICAgRGF0ZTtcbiAgY2FwYWNpdHk6ICAgICAgICBudW1iZXI7XG4gIG1vcmVfZGF5czogICAgICAgbnVsbDtcbiAgZW5nbGlzaF9sZXZlbDogICBzdHJpbmc7XG4gIGFncmVlbWVudDogICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfbW9kYWxpdHk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT3ZlcmR1ZVJxIHtcbiAgY29kZVN0dWRlbnQ6ICAgICBudW1iZXI7XG4gIG51bUR1ZXM6ICAgICAgICAgbnVtYmVyO1xuICBuYW1lU3R1ZGVudDogICAgIHN0cmluZztcbiAgbGFzdG5hbWVTdHVkZW50OiBzdHJpbmc7XG4gIGRvY3VtZW50U3R1ZGVudDogc3RyaW5nO1xuICBkdWVBbW91bnQ6ICAgICAgIG51bWJlcjtcbiAgY29sb3JEYXk6ICAgICAgICBzdHJpbmc7XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0Q29kQnlQYXltZW50UGxhblJxIHtcbiAgdG9rZW46ICAgICAgIHN0cmluZztcbiAgc3R1ZGVudENvZGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVXBkYXRlQW1vdW50Q29kUGF5bWVudHNScSB7XG4gIHRva2VuOiAgICAgICAgICBzdHJpbmc7XG4gIHZhbHVlQW1vdW50OiAgICBudW1iZXI7XG4gIGNvZGVDb2RQYXltZW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNvZFN0dWRlbnRScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2U6ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3R5cGU6ICAgICAgICAgICBudW1iZXI7XG4gIGFncmVlbWVudDogICAgICAgICAgICAgbnVtYmVyO1xuICBlbmdsaXNoX2xldmVsOiAgICAgICAgIG51bWJlcjtcbiAgc3R1ZGVudDogICAgICAgICAgICAgICBJU3R1ZGVudFJzO1xuICBwYXJlbnQ6ICAgICAgICAgICAgICAgIG51bWJlciB8IG51bGw7XG4gIGFkaXRpb25hbF9pbmZvcm1hdGlvbjogbnVtYmVyO1xuICBhZHZpc2VyOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY29kX3N0YXR1czogICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9wcmljZTogICAgICAgICAgICAgbnVtYmVyIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU3R1ZGVudFJzIHtcbiAgY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gIGxhc3RfbmFtZTogICAgICAgIHN0cmluZztcbiAgbmlja19uYW1lOiAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICBzdHJpbmc7XG4gIGVtYWlsX2lwdDogICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIHJvbGU6ICAgICAgICAgICAgIG51bWJlcjtcbiAgcGhvbmVfaW5kaWNhdGl2ZTogbnVtYmVyO1xuICBwaG9uZV9udW1iZXI6ICAgICBzdHJpbmc7XG4gIGdlbmRlcjogICAgICAgICAgIG51bWJlcjtcbiAgYmlydGhkYXRlOiAgICAgICAgRGF0ZTtcbiAgY2l0eTogICAgICAgICAgICAgbnVtYmVyO1xuICBpZF9jYXJkX3R5cGU6ICAgICBudW1iZXI7XG4gIGlkX2NhcmQ6ICAgICAgICAgIHN0cmluZztcbiAgdXNlcl9zdGF0dXM6ICAgICAgbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBJUGFyYW1zVXBkYXRlRGF0ZUNvZFBheW1lbnRzUnEge1xuICB0b2tlbjogICAgICBzdHJpbmc7XG4gIFBheW1lbkRhdGU6IERhdGU7XG4gIGNvZGVDb2Q6ICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2FuY2VsU3R1ZGVudEZlZVBheW1lbnRScSB7XG4gIHRva2VuOiAgICAgICAgICAgc3RyaW5nO1xuICBxdW90YXNfYWZmZWN0ZWQ6IElRdW90YXNBZmZlY3RlZFJxW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVF1b3Rhc0FmZmVjdGVkUnEge1xuICBjb2RfY29kZTogICAgICAgICBudW1iZXI7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgIG51bWJlcjtcbiAgcmVjZWlwdF9jb2RlOiAgICAgbnVtYmVyO1xuICBxdW90YV9jb2RlOiAgICAgICBudW1iZXI7XG4gIGNyZWRpdF9jb2RlOiAgICAgIG51bWJlcjtcbiAgY3JlZGl0X2Ftb3VudDogICAgbnVtYmVyO1xuICBmZWVfbnVtYmVyOiAgICAgICBudW1iZXI7XG4gIHN0dWRlbnRfY29kZTogICAgIG51bWJlcjtcbiAgdHJhbnNhY3Rpb25fdHlwZTogbnVtYmVyO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpblN0dWRlbnRQYXltZW50c0J5R3JvdXBpbmdDb2RScyB7XG4gIGNvZF9jb2RlOiAgICAgICAgICBudW1iZXI7XG4gIHJlY2VpcHRfY29kZTogICAgICBudW1iZXI7XG4gIHN0dWRlbnRfY29kZTogICAgICBudW1iZXI7XG4gIGFtb3VudF9wYXk6ICAgICAgICBudW1iZXI7XG4gIGRpc2NvdW50X3BheTogICAgICBudW1iZXI7XG4gIGNvbmNlcHRfY29kZTogICAgICBudW1iZXI7XG4gIGNvbmNlcHRfbmFtZTogICAgICBzdHJpbmc7XG4gIGludm9pY2VfY2FuY2VsbGVkOiBudW1iZXI7XG4gIGZ1bGxfbmFtZTogICAgICAgICBzdHJpbmc7XG4gIGRhdGVfcGF5OiAgICAgICAgICBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDYW5jZWxTdHVkZW50UmVjZWlwdFJxIHtcbiAgdG9rZW46ICAgICAgICAgICBzdHJpbmc7XG4gIHF1b3Rhc19hZmZlY3RlZDogSVF1b3Rhc0FmZmVjdGVkUnFbXSB8IG51bGw7XG4gIHJlY2VpcHQgICAgICAgIDogbnVtYmVyIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2FuY2VsbGVkUmVjZWlwdEJ5RGF0ZVJxIHtcbiAgdG9rZW46ICAgICAgICAgICAgICBzdHJpbmc7XG4gIGNvZGVfdHlwZV9jb25zdWx0OiAgbnVtYmVyO1xuICBzdGFydF9kYXRlOiAgICAgICAgIERhdGUgfCBudWxsO1xuICBmaW5pc2hfZGF0ZTogICAgICAgIERhdGUgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYXltZW50c1JlY2VpdmVkQnlVc2VyUnEge1xuICB0b2tlbjogICAgICAgICAgICAgc3RyaW5nO1xuICBjb2RlX3R5cGVfY29uc3VsdDogbnVtYmVyO1xuICBzdGFydF9kYXRlOiAgICAgICAgRGF0ZTtcbiAgZmluaXNoX2RhdGU6ICAgICAgIERhdGU7XG4gIHVzZXJfY29kZTogICAgICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpblBheW1lbnRzUmVjZWl2ZWRCeVVzZXJScyB7XG4gIHBheW1lbnRzOiAgICAgICAgICAgICAgIElQYXltZW50c1JlY2VpdmVkQnlVc2VyUnNbXTtcbiAgdG90YWxfYW1vdW50X2J5X21ldGhvZDogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGF5bWVudHNSZWNlaXZlZEJ5VXNlclJzIHtcbiAgcGF5bWVudF9tZXRob2Q6ICAgIG51bWJlcjtcbiAgY29kX2NvZGU6ICAgICAgICAgIG51bWJlciB8IG51bGw7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgICBudW1iZXIgfCBudWxsO1xuICByZWNlaXB0X2NvZGU6ICAgICAgbnVtYmVyO1xuICBzdHVkZW50X2NvZGU6ICAgICAgbnVtYmVyO1xuICBhbW91bnRfcGF5OiAgICAgICAgbnVtYmVyO1xuICBkaXNjb3VudF9wYXk6ICAgICAgbnVtYmVyO1xuICBjb25jZXB0X2NvZGU6ICAgICAgbnVtYmVyO1xuICBjb25jZXB0X25hbWU6ICAgICAgc3RyaW5nO1xuICBpbnZvaWNlX2NhbmNlbGxlZDogbnVtYmVyO1xuICBmdWxsX25hbWU6ICAgICAgICAgc3RyaW5nO1xuICBkYXRlX3BheTogICAgICAgICAgRGF0ZTtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElUb3RhbENhc2hSZWNlaXB0c0J5RGF0ZUFuZFVzZXJScyB7XG4gIHBheW1lbnRzOiAgICAgICAgICAgIElQYXltZW50QmlsbEdyYXBoUnNbXTtcbiAgdG90YWxfYnlfbWV0aG9kOiAgICAgSVRvdGFsQnlNZXRob2RSc1tdO1xuICBudW1iZXJfdHJhbnNhY3Rpb25zOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBheW1lbnRCaWxsR3JhcGhScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X21ldGhvZDogICAgIG51bWJlcjtcbiAgcGF5bWVudF9zZXJ2aWNlczogICBudW1iZXI7XG4gIHBheW1lbnRfd2FsbGV0OiAgICAgbnVtYmVyO1xuICBiYW5rOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZ2VuZXJhdGVkX2ZvcjogICAgICBudW1iZXI7XG4gIGdlbmVyYXRlZF9ieTogICAgICAgbnVtYmVyO1xuICB0eXBlX21vdmVtZW50czogICAgIG51bWJlcjtcbiAgdG90YWxfYW1vdW50OiAgICAgICBudW1iZXI7XG4gIHBheW1lbnRfYW1vdW50OiAgICAgbnVtYmVyO1xuICBvdXRzdGFuZGluZ19hbW91bnQ6IG51bWJlcjtcbiAgcG9zaXRpdmVfYW1vdW50OiAgICBudW1iZXI7XG4gIGRpc2NvdW50OiAgICAgICAgICAgbnVtYmVyO1xuICBwYXllcl9uYW1lOiAgICAgICAgIHN0cmluZztcbiAgcGF5ZXJfZG9jdW1lbnQ6ICAgICBzdHJpbmc7XG4gIGFjYWRlbWljX3BsYW46ICAgICAgbnVtYmVyO1xuICBwYXltZW50X3JlZmVyZW5jZTogIG51bGwgfCBzdHJpbmc7XG4gIHBheW1lbnRfZGF0ZTogICAgICAgRGF0ZSB8IG51bGw7XG4gIG9ic2VydmF0aW9uOiAgICAgICAgbnVsbCB8IHN0cmluZztcbiAgaW52b2ljZV9jYW5jZWxsZWQ6ICBudW1iZXI7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVG90YWxCeU1ldGhvZFJzIHtcbiAgY29kZTogICBudW1iZXI7XG4gIG5hbWU6ICAgc3RyaW5nO1xuICBhbW91bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluQ291cnNlQnlDb29kRGlmZlBhcmFtUnEge1xuICB0b2tlbjogICAgICAgICBzdHJpbmc7XG4gIG1vZGFsaXR5OiAgICAgIG51bWJlcjtcbiAgY291cnNlX3N0YXR1czogbnVtYmVyO1xuICBjb29yZGluYXRvcjogICBudW1iZXI7XG4gIGVuZ2xpc2hfbGV2ZWw6IElFbmdsaXNoTGV2ZWxScVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElFbmdsaXNoTGV2ZWxScSB7XG4gIGNvZGU6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hbWVDb21tb25FeHBlbnNlcyAge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpblBheW1lbnRUcmFuSGlzdG9yeVJxICB7XG4gIHRva2VuOiAgICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfY29kZTogIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluUGF5bWVudFRyYW5IaXN0b3J5UnMge1xuICBjb2RlOiAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBkb2N1bWVudDogICAgICAgICAgICAgbnVtYmVyO1xuICBmdWxsX25hbWU6ICAgICAgICAgICAgc3RyaW5nO1xuICBwaG9uZTogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBvdmVyZHVlX3BheW1lbnRzOiAgICAgSU92ZXJkdWVQYXltZW50c1JzO1xuICBvdXRzdGFuZGluZ19wYXltZW50czogSU91dHN0YW5kaW5nUGF5bWVudHNScztcbiAgcGF5bWVudHNfbWFkZTogICAgICAgIG51bWJlcjtcbiAgcHJldmlvc19jb3Vyc2U6ICAgICAgIG51bGwgfCBudW1iZXI7XG4gIGNvbG9yX2R1ZTogICAgICAgICAgICBzdHJpbmc7XG4gIGZ1bGRhdGFDb3Vyc2U6ICAgICAgICBJRnVsZGF0YUNvdXJzZVJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPdXRzdGFuZGluZ1BheW1lbnRzUnMge1xuICBvdXRzdGFuZGluZ19wYXltZW50czogbnVtYmVyO1xuICBudW1iZXJfaW5zdGFsbG1lbnRzOiAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPdmVyZHVlUGF5bWVudHNScyB7XG4gIE92ZXJkdWVfcGF5bWVudHM6ICAgIG51bWJlcjtcbiAgbnVtYmVyX2luc3RhbGxtZW50czogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElGdWxkYXRhQ291cnNlUnMge1xuICBjb2RlOiAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3NjaGVkdWxlOiBzdHJpbmdbXTtcbiAgdGVhY2hlcjogICAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV90eXBlOiAgICAgSUNvdXJzZVR5cGVDbHVBbmRUaGVScztcbiAgdG9fc3RhcnQ6ICAgICAgICBEYXRlO1xuICBzdGFydF9kYXRlOiAgICAgIERhdGU7XG4gIGZpbmlzaF9kYXRlOiAgICAgRGF0ZTtcbiAgY2FwYWNpdHk6ICAgICAgICBudW1iZXI7XG4gIG1vcmVfZGF5czogICAgICAgbnVsbDtcbiAgZW5nbGlzaF9sZXZlbDogICBzdHJpbmc7XG4gIGFncmVlbWVudDogICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfbW9kYWxpdHk6IElDb3Vyc2VNb2RhbGl0eVJxO1xuICBpc19yZW5vdmF0aW9uOiAgIG51bWJlcjtcbiAgaXNfZnJvbTogICAgICAgICBudWxsO1xuICBpc19jbHViOiAgICAgICAgIG51bWJlcjtcbiAgaXNfdmlzaWJsZTogICAgICBudW1iZXI7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlVHlwZUNsdUFuZFRoZVJzIHtcbiAgY29kZTogICAgICAgICAgICAgIG51bWJlcjtcbiAgbmFtZTogICAgICAgICAgICAgIHN0cmluZztcbiAgbGFiZWw6ICAgICAgICAgICAgIHN0cmluZztcbiAgbnVtYmVyX2NsYXNzOiAgICAgIG51bWJlcjtcbiAgbnVtYmVyX2NsYXNzX2NsdWI6IG51bWJlcjtcbiAgYWNhZGVtaWNfcGxhbjogICAgIHN0cmluZztcbiAgdGhlb3J5X2NsYXNzZXM6ICAgIG51bWJlcjtcbiAgY2x1Yl9jbGFzc2VzOiAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluUGF5bWVudFRyYW5IaXN0b3J5QnlDb2RScSAge1xuICB0b2tlbjogICAgICAgIHN0cmluZztcbiAgY291cnNlX2NvZGU6ICBudW1iZXI7XG4gIGNvZF9jb2RlOiAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPYnRhaW5TdHVkZW50UGF5bWVudEJ5RGlmZlBhcmFtUnEgIHtcbiAgdG9rZW46ICAgICAgICBzdHJpbmc7XG4gIHVzZXI6ICAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPYnRhaW5TdHVkZW50UGF5bWVudEJ5RGlmZlBhcmFtUnMge1xuICBjb2RlOiAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBkb2N1bWVudDogICAgICAgICAgICAgc3RyaW5nO1xuICBmdWxsX25hbWU6ICAgICAgICAgICAgc3RyaW5nO1xuICBwaG9uZTogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBvdmVyZHVlX3BheW1lbnRzOiAgICAgSU92ZXJkdWVQYXltZW50c1JzO1xuICBvdXRzdGFuZGluZ19wYXltZW50czogSU91dHN0YW5kaW5nUGF5bWVudHNScztcbiAgcGF5bWVudHNfbWFkZTogICAgICAgIG51bWJlcjtcbiAgcHJldmlvdXNfY291cnNlOiAgICAgIG51bGw7XG4gIGNvbG9yX2R1ZTogICAgICAgICAgICBzdHJpbmc7XG4gIGZ1bGxkYXRhQ291cnNlOiAgICAgICBJQWxsQ291cnNlc1ZpZXdlZFJzO1xuICBjdXJyZW50X2NvZDogICAgICAgICAgSUN1cnJlbnRDb2RScztcbiAgYWxsX2NvdXJzZXNfdmlld2VkOiAgIElBbGxDb3Vyc2VzVmlld2VkUnNbXTtcbiAgdXNlcl93YWxsZXQ6ICAgICAgICAgIElVc2VyV2FsbGV0UnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFsbENvdXJzZXNWaWV3ZWRScyB7XG4gIGNvZGU6ICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2Vfc2NoZWR1bGU6IHN0cmluZ1tdO1xuICB0ZWFjaGVyOiAgICAgICAgIHN0cmluZztcbiAgY291cnNlX3R5cGU6ICAgICBJQ291cnNlVHlwZUNsdUFuZFRoZVJzO1xuICB0b19zdGFydDogICAgICAgIERhdGU7XG4gIHN0YXJ0X2RhdGU6ICAgICAgRGF0ZTtcbiAgZmluaXNoX2RhdGU6ICAgICBEYXRlO1xuICBjYXBhY2l0eTogICAgICAgIG51bWJlcjtcbiAgbW9yZV9kYXlzOiAgICAgICBudWxsO1xuICBlbmdsaXNoX2xldmVsOiAgIHN0cmluZztcbiAgYWdyZWVtZW50OiAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV9tb2RhbGl0eTogSUNvdXJzZU1vZGFsaXR5UnE7XG4gIGlzX3Jlbm92YXRpb246ICAgbnVtYmVyO1xuICBpc19mcm9tOiAgICAgICAgIG51bGw7XG4gIGlzX2NsdWI6ICAgICAgICAgbnVtYmVyO1xuICBpc192aXNpYmxlOiAgICAgIG51bWJlcjtcbiAgdXBkYXRlZF9hdD86ICAgICBEYXRlO1xuICBjcmVhdGVkX2F0OiAgICAgIERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUN1cnJlbnRDb2RScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2U6ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3R5cGU6ICAgICAgICAgICBudW1iZXI7XG4gIGFncmVlbWVudDogICAgICAgICAgICAgbnVtYmVyO1xuICBlbmdsaXNoX2xldmVsOiAgICAgICAgIG51bWJlcjtcbiAgc3R1ZGVudDogICAgICAgICAgICAgICBudW1iZXI7XG4gIHBhcmVudDogICAgICAgICAgICAgICAgbnVtYmVyO1xuICBhZGl0aW9uYWxfaW5mb3JtYXRpb246IG51bWJlcjtcbiAgYWR2aXNlcjogICAgICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9zdGF0dXM6ICAgICAgICAgICAgbnVtYmVyO1xuICBjb2RfcHJpY2U6ICAgICAgICAgICAgIG51bWJlcjtcbiAgY29kX3BhaWQ6ICAgICAgICAgICAgICBudW1iZXI7XG4gIHVwZGF0ZWRfYXQ6ICAgICAgICAgICAgRGF0ZTtcbiAgY3JlYXRlZF9hdDogICAgICAgICAgICBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPdXRzdGFuZGluZ1BheW1lbnRzUnMge1xuICBvdXRzdGFuZGluZ19wYXltZW50czogbnVtYmVyO1xuICBudW1iZXJfaW5zdGFsbG1lbnRzOiAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPdmVyZHVlUGF5bWVudHNScyB7XG4gIE92ZXJkdWVfcGF5bWVudHM6ICAgIG51bWJlcjtcbiAgbnVtYmVyX2luc3RhbGxtZW50czogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyV2FsbGV0UnMge1xuICB1c2VyX2NvZGU6ICAgIG51bWJlcjtcbiAgZnVsbF9uYW1lOiAgICBzdHJpbmc7XG4gIGVtYWlsX2lwdDogICAgc3RyaW5nO1xuICBwaG9uZV9udW1iZXI6IHN0cmluZztcbiAgaXNfdmlzaWJsZTogICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSXBheW1lbnRCaWxsRWdyZXNzUnEge1xuICBwYXltZW50X21ldGhvZDogbnVtYmVyO1xuICBwYXltZW50X3NlcnZpY2VzOiBudW1iZXI7XG4gIHBheW1lbnRfd2FsbGV0OiBudW1iZXI7XG4gIGJhbms6IG51bWJlcjtcbiAgZ2VuZXJhdGVkX2ZvcjogbnVtYmVyO1xuICBnZW5lcmF0ZWRfYnk6IHN0cmluZztcbiAgdG90YWxfYW1vdW50OiBudW1iZXI7XG4gIHBheW1lbnRfYW1vdW50OiBudW1iZXI7XG4gIG91dHN0YW5kaW5nX2Ftb3VudDogbnVtYmVyO1xuICBwb3NpdGl2ZV9hbW91bnQ6IG51bWJlcjtcbiAgZGlzY291bnQ6IG51bWJlcjtcbiAgcGF5ZXJfbmFtZT86IHN0cmluZztcbiAgcGF5ZXJfZG9jdW1lbnQ/OiBudW1iZXI7XG4gIGNvZGVBY2FkZW1pY19wbGFuOiBudW1iZXI7XG4gIG9ic2VydmF0aW9uOiBzdHJpbmc7XG4gIHJlZl9wYXltZW50PzpzdHJpbmc7XG4gIGRhdGVfcGF5bWVudDpEYXRlO1xuICBjb21tb25fZXhwZW5zZXM6IG51bWJlcjtcbiAgdHlwZV9tb3ZlbWVudHM6bnVtYmVyO1xuICBtYW51YWxfcmVjZWlwdDpudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNhc2hDbG9zaW5nUnEge1xuICB0b2tlbjpzdHJpbmdcbiAgfVxuZXhwb3J0IGludGVyZmFjZSBJbmZvQ2FzaENsb3NpbmdScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGNvZGU6IG51bWJlcjtcbiAgY29kZV91c2VyOm51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSWNhc2hDbG9zaW5nRGF0ZVJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgc3RhcnRfZGF0ZTogc3RyaW5nO1xuICBmaW5pc2hfZGF0ZTogc3RyaW5nO1xuICBjb2RlX3VzZXI6bnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgSVBheW1lbnRXYWxsZXRScyB7XG4gIG5hbWU6IHN0cmluZztcbiAgY2FudGlkYWQ6IG51bWJlcjtcbiAgdG90YWw6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY2FzaENsb3NpbmdEYXRhUnMge1xuICB0b3RhbEluY29tZTogbnVtYmVyO1xuICB0b3RhbEVncmVzczogbnVtYmVyO1xuICBwYXltZW50TWV0aG9kSW5jb21lSW5mbzogSVBheW1lbnRXYWxsZXRSc1tdO1xuICBwYXltZW50TWV0aG9kRWdyZXNzSW5mbzogSVBheW1lbnRXYWxsZXRSc1tdO1xuICBwYXltZW50V2FsbGV0RWdyZXNzSW5mbzogSVBheW1lbnRXYWxsZXRSc1tdO1xuICBwYXltZW50V2FsbGV0SW5jb21lSW5mbzogSVBheW1lbnRXYWxsZXRSc1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBJbmNvbWVzQW5kRWdyZXNzUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICBjb2RlX3R5cGVfY29uc3VsdDpudW1iZXI7XG4gIGNvZGVfdHlwZV9tb3ZlbWVudDpudW1iZXI7XG4gIHN0YXJ0X2RhdGU/OnN0cmluZztcbiAgZmluaXNoX2RhdGU/OnN0cmluZztcbiAgdXNlcl9jb2RlOm51bWJlcjtcbiAgfVxuXG5cblxuZXhwb3J0IGludGVyZmFjZSBJT2JhdGluQmFsYWNlc0J5Q29vZGluYXRvclJxe1xuICB0b2tlbjogICAgICAgICAgIHN0cmluZztcbiAgY291cnNlX21vZGFsaXR5OiBudW1iZXI7XG4gIGNvdXJzZV9zdGF0dXM6ICAgbnVtYmVyO1xuICB1c2VyX2NvZGU6ICAgICAgIG51bWJlcjtcbiAgZW5nbGlzaF9sZXZlbDogICBFbmdsaXNoX0xldmVsc1tdO1xuICBzdGFydF9kYXRlOiAgICAgIERhdGU7XG4gIGVuZF9kYXRlOiAgICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2JhdGluRGV0YWlsZWRJbmNvbWVCeVVzZXJBbmREYXRlUnF7XG4gIHRva2VuOiAgICAgICAgICAgc3RyaW5nO1xuICB1c2VyX2NvZGU6ICAgICAgIG51bWJlcjtcbiAgc3RhcnRfZGF0ZTogICAgICBEYXRlO1xuICBlbmRfZGF0ZTogICAgICAgIERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9iYXRpbkRldGFpbGVkSW5jb21lQnlVc2VyQW5kRGF0ZVJzIHtcbiAgaW5jb21lOiAgIFJlc3BvbnNlUGF5O1xuICBleHBlbnNlczogUmVzcG9uc2VQYXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2VQYXkge1xuICBsaXN0UGF5bWVudDogICBJTGlzdFBheW1lbnRSc1tdO1xuICBzdW1CeU1ldGhvZDogICBJU3VtQnlNZXRob2RQYXlSc1tdO1xuICB0b3RhbEFtb3VudDogICBudW1iZXI7XG4gIGRhdGVDb25zdWx0OiAgIElEYXRlQ29uc3VsdFJzO1xuICB1c2VyQ29uc3VsdGVkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGVDb25zdWx0UnMge1xuICBzdGFydERhdGU6IERhdGU7XG4gIGVuZERhdGU6ICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTGlzdFBheW1lbnRScyB7XG4gIHBheW1lbnRfY29kZTogICAgICAgbnVtYmVyO1xuICBtZXRob2RfbmFtZTogICAgICAgIHN0cmluZztcbiAgbWV0aG9kX2NvZGU6ICAgICAgICBudW1iZXI7XG4gIHNlcnZpY2U6ICAgICAgICAgICAgc3RyaW5nO1xuICB3YWxsZXQ6ICAgICAgICAgICAgIHN0cmluZztcbiAgYmFuazogICAgICAgICAgICAgICBzdHJpbmc7XG4gIGZ1bGxuYW1lX3N0dWRlbnQ6ICAgc3RyaW5nO1xuICBmdWxsbmFtZV91c2VyOiAgICAgIHN0cmluZztcbiAgdG90YWxfYW1vdW50OiAgICAgICBudW1iZXI7XG4gIHBheW1lbnRfYW1vdW50OiAgICAgbnVtYmVyO1xuICBvdXRzdGFuZGluZ19hbW91bnQ6IG51bWJlcjtcbiAgcG9zaXRpdmVfYW1vdW50OiAgICBudW1iZXI7XG4gIGRpc2NvdW50OiAgICAgICAgICAgbnVtYmVyO1xuICBmYXRoZXJfbmFtZTogICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIHBhdGhlcl9kb2N1bWVudDogICAgbnVsbCB8IHN0cmluZztcbiAgYWNhZGVtaWNfcGxhbjogICAgICBudW1iZXI7XG4gIHJlZmVyZW5lY19wYXltZW50OiAgbnVsbCB8IHN0cmluZztcbiAgY3JlYXRlX2RhdGU6ICAgICAgICBEYXRlO1xuICBvYnNlcnZhdGlvbjogICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIGludm9pY2VfY2FuY2VsbGVkOiAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTdW1CeU1ldGhvZFBheVJzIHtcbiAgTWV0b2RvX3BhZ29fY29kZTogbnVtYmVyO1xuICBNZXRvZG9fcGFnbzogICAgICBzdHJpbmc7XG4gIFRvdGFsX3Bvcl9tZXRvZG86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluUGF5bWVudHNNYWRlQnlEYXRlc1JzIHtcbiAgYW1vdW50Q2FuY2VsOiAgICAgICAgICBudW1iZXI7XG4gIGNvZENvZGU6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjcmVhdGlvbl9kYXRlOiAgICAgICAgIERhdGU7XG4gIGNvZGU6ICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X21ldGhvZDogICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9zZXJ2aWNlczogICAgICBudW1iZXI7XG4gIHBheW1lbnRfd2FsbGV0OiAgICAgICAgbnVtYmVyO1xuICBiYW5rOiAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZ2VuZXJhdGVkX2ZvcjogICAgICAgICBudW1iZXI7XG4gIGdlbmVyYXRlZF9ieTogICAgICAgICAgbnVtYmVyO1xuICB0eXBlX21vdmVtZW50czogICAgICAgIG51bWJlcjtcbiAgY29tbW9uX2V4cGVuc2VzOiAgICAgICBudW1iZXI7XG4gIHRvdGFsX2Ftb3VudDogICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X2Ftb3VudDogICAgICAgIG51bWJlcjtcbiAgb3V0c3RhbmRpbmdfYW1vdW50OiAgICBudW1iZXI7XG4gIHBvc2l0aXZlX2Ftb3VudDogICAgICAgbnVtYmVyO1xuICBkaXNjb3VudDogICAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5ZXJfbmFtZTogICAgICAgICAgICBzdHJpbmc7XG4gIHBheWVyX2RvY3VtZW50OiAgICAgICAgc3RyaW5nO1xuICBhY2FkZW1pY19wbGFuOiAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9yZWZlcmVuY2U6ICAgICBudWxsIHwgc3RyaW5nO1xuICBwYXltZW50X2RhdGU6ICAgICAgICAgIERhdGUgfCBudWxsO1xuICBvYnNlcnZhdGlvbjogICAgICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIGludm9pY2VfY2FuY2VsbGVkOiAgICAgbnVtYmVyO1xuICBtYW51YWxfcmVjZWlwdDogICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIGNvZF9jb3Vyc2U6ICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X21ldGhvZF9uYW1lOiAgIHN0cmluZztcbiAgcGF5bWVudF9zZXJ2aWNlc19uYW1lOiBzdHJpbmc7XG4gIHBheW1lbnRfd2FsbGV0X25hbWU6ICAgc3RyaW5nO1xuICBiYW5rX25hbWU6ICAgICAgICAgICAgIHN0cmluZztcbiAgZnVsbG5hbWVfZmF0aGVyczogICAgICBudWxsIHwgc3RyaW5nO1xuICBnZW5lcmF0ZWRfZm9yX25hbWU6ICAgIHN0cmluZztcbiAgZ2VuZXJhdGVkX2J5X25hbWU6ICAgICBzdHJpbmc7XG4gIHR5cGVfbW92ZW1lbnRzX25hbWU6ICAgc3RyaW5nO1xuICBhY2FkZW1pY19wbGFuX25hbWU6ICAgIHN0cmluZztcbiAgdXNlcl93YWxsZXQ6ICAgICAgICAgICBJVXNlcldhbGxldFJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyV2FsbGV0UnMge1xuICB1c2VyX2NvZGU6ICAgIG51bWJlcjtcbiAgZnVsbF9uYW1lOiAgICBzdHJpbmc7XG4gIGVtYWlsX2lwdDogICAgc3RyaW5nO1xuICBwaG9uZV9udW1iZXI6IHN0cmluZztcbiAgaXNfdmlzaWJsZTogICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZEVtYWlsUGF5bWVudCB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIG5hbWVTdHVkZW50OiBzdHJpbmc7XG4gIHBob25lU3R1ZGVudDogc3RyaW5nO1xuICBwYXltZW50RGF0ZTogc3RyaW5nO1xuICBhY2FkZW1pY1BsYW46IHN0cmluZztcbiAgcGF5ZXJEb2N1bWVudDogc3RyaW5nO1xuICB0b3RhbEFtb3VudDogbnVtYmVyO1xuICBwYXltZW50QW1vdW50OiBudW1iZXI7XG4gIG91dHN0YW5kaW5nQW1vdW50OiBudW1iZXI7XG4gIGRpc2NvdW50PzogbnVtYmVyO1xuICBwYXltZW50TWV0aG9kOiBzdHJpbmc7XG4gIGJhbms/OiBudW1iZXI7XG4gIG9ic2VydmF0aW9uPzogc3RyaW5nO1xuICBjb2Rlc1JlZmVyczogbnVtYmVyW107XG4gIGNvZGVEaXNjb3VudDogbnVtYmVyO1xuICBjb2RlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZEVtYWlsUGF5bWVudENhbmNlbGxhdGlvblJTIHtcbiAgZW1haWw6IHN0cmluZztcbiAgc3R1ZGVudE5hbWU6IHN0cmluZztcbiAgcmVjZWlwdENvZGU6IG51bWJlcjtcbiAgY2FuY2VsbGF0aW9uRGF0ZTogc3RyaW5nO1xuICBhbW91bnQ6IG51bWJlcjtcbiAgY29uY2VwdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYXltZW50Q29ycmVsYXRpdmVScSB7XG4gIHRva2VuOnN0cmluZztcbiAgdHlwZV9jYXRlZ29yeTogbnVtYmVyO1xuICBzdGFydF9kYXRlOiBEYXRlO1xuICBlbmRfZGF0ZTogRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGF5bWVudENvcnJlbGF0aXZlUnF7XG4gIGNvZGVfdHlwZV9jb25zdWx0OiBudW1iZXIgfCBudWxsO1xuICBmaW5pc2hfZGF0ZTogRGF0ZTtcbiAgc3RhcnRfZGF0ZTogRGF0ZTtcbiAgdG9rZW46IHN0cmluZztcbiAgdHlwZV9jYXRlZ29yeTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPYnRhaW5HYXRld2F5UGF5bWVudFJlY29yZFJxIHtcbiAgY29kOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVVwZGF0ZUVwYXljb1BheW1lbnRScXtcbiAgcmVmX3ZhbGlkYXRpb246IHN0cmluZztcbiAgcGF5bWVudF9yZWY6ICAgIHN0cmluZztcbiAgeF9yZWZfcGF5Y286ICAgIG51bWJlcjtcbiAgdHJhbnNhY3Rpb25faWQ6IHN0cmluZztcbiAgc3RhdHVzX2NvZGU6ICAgIG51bWJlcjtcbiAgc3RhdHVzX25hbWU6ICAgIHN0cmluZztcbiAgYW1vdW50OiAgICAgICAgIG51bWJlcjtcbiAgdHlwZV9wYXltZW50OiAgIHN0cmluZztcbiAgYmFua19uYW1lOiAgICAgIHN0cmluZztcbiAgZXBheWNvX3BpbjogICAgIHN0cmluZztcbiAgY3VycmVuY3lfY29kZTogIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRXBheWNvUGF5bWVudFVwZGF0ZVJzIHtcbiAgZ2F0ZVBheW1lbnQ6IElHYXRlUGF5bWVudFJzO1xuICBzZWxmTWFuYWc6ICAgSVNlbGZNYW5hZ1JzO1xuICBlcGFCaWxsbDogICAgSUVwYUJpbGxsUnM7XG4gIHVwZFVzZXI6ICAgICBJVXBkVXNlclJzIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRXBhQmlsbGxScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9yZWY6ICAgICAgICAgc3RyaW5nO1xuICBhbW91bnQ6ICAgICAgICAgICAgICBudW1iZXI7XG4gIGVwYXljb19iYW5rOiAgICAgICAgIHN0cmluZztcbiAgZXBheWNvX3BheW1lbnRfdHlwZTogc3RyaW5nO1xuICBlcGF5Y29fcGluOiAgICAgICAgICBzdHJpbmc7XG4gIGVwYXljb19zdGF0dXM6ICAgICAgIHN0cmluZztcbiAgZXBheWNvX3JlZjogICAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHYXRlUGF5bWVudFJzIHtcbiAgY29kZTogICAgICAgICAgICBudW1iZXI7XG4gIHBheW1lbnRfc2VydmljZTogbnVtYmVyO1xuICBjb2Q6ICAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9hbW91bnQ6ICBudW1iZXI7XG4gIHBheW1lbnRfcmVmOiAgICAgc3RyaW5nO1xuICBlcGF5Y29fcmVmOiAgICAgIHN0cmluZztcbiAgZXBheWNvX3N0YXR1czogICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlbGZNYW5hZ1JzIHtcbiAgY29kZTogICAgICAgICAgICAgIG51bWJlcjtcbiAgY29kOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlOiAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9zZWxlY3Rpb246IG51bWJlcjtcbiAgcGF5bWVudF9yZWY6ICAgICAgIHN0cmluZztcbiAgZXBheWNvX3JlZjogICAgICAgIHN0cmluZztcbiAgbmVlZF9wYXk6ICAgICAgICAgIG51bWJlcjtcbiAgaXNfcGF5OiAgICAgICAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVXBkVXNlclJzIHtcbiAgY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gIGxhc3RfbmFtZTogICAgICAgIHN0cmluZztcbiAgbmlja19uYW1lOiAgICAgICAgbnVsbDtcbiAgZW1haWw6ICAgICAgICAgICAgc3RyaW5nO1xuICBlbWFpbF9pcHQ6ICAgICAgICBudWxsO1xuICByb2xlOiAgICAgICAgICAgICBudW1iZXI7XG4gIHBob25lX2luZGljYXRpdmU6IG51bWJlcjtcbiAgcGhvbmVfbnVtYmVyOiAgICAgc3RyaW5nO1xuICBnZW5kZXI6ICAgICAgICAgICBudW1iZXI7XG4gIGJpcnRoZGF0ZTogICAgICAgIERhdGU7XG4gIGNpdHk6ICAgICAgICAgICAgIG51bWJlcjtcbiAgaWRfY2FyZF90eXBlOiAgICAgbnVtYmVyO1xuICBpZF9jYXJkOiAgICAgICAgICBzdHJpbmc7XG4gIHRva2VuOiAgICAgICAgICAgIHN0cmluZztcbiAgdXNlcl9zdGF0dXM6ICAgICAgbnVtYmVyO1xuICBwYXNzd29yZF9jaGFuZ2U6ICBudW1iZXI7XG4gIHN0YXR1c19hc2luZzogICAgIG51bWJlcjtcbiAgZm9vdHByaW50OiAgICAgICAgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWNjb3VudHNCYWxhbmNlUnEge1xuICB0b2tlbjogICAgICAgICAgIHN0cmluZztcbiAgdXNlcl9jb2RlOiAgICAgICBudW1iZXI7XG4gIGNvdXJzZV9tb2RhbGl0eTogbnVtYmVyO1xuICBjb3Vyc2Vfc3RhdHVzOiAgIG51bWJlcjtcbiAgZW5nbGlzaF9sZXZlbDogICBJRW5nbGlzaExldmVsUnFbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWNjb3VudHNCYWxhbmNlUnMge1xuICBjb3Vyc2VDb2RlOiAgICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBFbmdsaXNoTGV2ZWw6ICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICBTdGFydERhdGU6ICAgICAgICAgICAgICAgICAgICAgRGF0ZTtcbiAgRmluaXNoRGF0ZTogICAgICAgICAgICAgICAgICAgIERhdGU7XG4gIENvdXJzZVR5cGU6ICAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIENvdXJzZU1vZGFsaXR5OiAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIENvdXJzZVJlbm92YXRpb246ICAgICAgICAgICAgICBzdHJpbmc7XG4gIHRvdGFsX3N0dWRlbnQ6ICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIEFjdGl2ZVN0dWRlbnRzOiAgICAgICAgICAgICAgICBudW1iZXI7XG4gIFN0dWRlbnRzU3VzcGVuZGVkUGF5OiAgICAgICAgICBudW1iZXI7XG4gIEZyb3plblN0dWRlbnRzOiAgICAgICAgICAgICAgICBudW1iZXI7XG4gIFdpdGhkcmF3blN0dWRlbnRzOiAgICAgICAgICAgICBudW1iZXI7XG4gIHNjaG9sYXJzaGlwU3R1ZGVudHM6ICAgICAgICAgICBJU2Nob2xhcnNoaXBTdHVkZW50UnNbXTtcbiAgc3R1ZGVudHNXaXRoQ2FzaFBheW1lbnRzOiAgICAgIG51bWJlcjtcbiAgc3R1ZGVudHNXaXRoQ3JlZGl0UGF5bWVudHM6ICAgIG51bWJlcjtcbiAgc3R1ZGVudHNXaXRoU2Nob2xhcnNoaXBzOiAgICAgIG51bWJlcjtcbiAgbHVtcFN1bVBheW1lbnRzVG9SZWNlaXZlZDogICAgIG51bWJlcjtcbiAgbHVtcFN1bVBhaWQ6ICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgb3ZlcmR1ZUx1bXBTdW06ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgbHVtcFN1bVJlY2VpdmFibGU6ICAgICAgICAgICAgIG51bWJlcjtcbiAgbG9zc0x1bXBTdW1QYXltZW50c1RvUmVjZWl2ZWQ6IG51bWJlcjtcbiAgb3ZlcmFsbFRvdGFsTG9zc09mUGF1c2VkOiAgICAgIG51bWJlcjtcbiAgb3ZlcmFsbFRvdGFsTG9zc09mUmV0aXJlZXM6ICAgIG51bWJlcjtcbiAgbG9zc0x1bXBTdW1QYWlkOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgU3R1ZGVudHNBY3RpdmU6ICAgICAgICAgICAgICAgIElTdHVkZW50c1BheVJzO1xuICBTdHVkZW50c1N1c3BlbmRlZFBheW1lbnQ6ICAgICAgSVN0dWRlbnRzUGF5UnM7XG4gIFN0dWRlbnRzUGF1c2VkUHJvY2VzczogICAgICAgICBJU3R1ZGVudHNQYXlScztcbiAgU3R1ZGVudHNSZXRpcmVkOiAgICAgICAgICAgICAgIElTdHVkZW50c1BheVJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTdHVkZW50c1BheVJzIHtcbiAgY291bnQ6ICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgdG90YWxfb3Zlckluc3RhbGxtZW50czogIG51bWJlcjtcbiAgdG90YWxfYW1vdW50X2V4cGVjdGVkOiAgIG51bWJlcjtcbiAgdG90YWxfYW1vdW50X3BhaWQ6ICAgICAgIG51bWJlcjtcbiAgdG90YWxfYW1vdW50X3JlY2VpdmFibGU6IG51bWJlcjtcbiAgdG90YWxfYW1vdW50X292ZXJkdWU6ICAgIG51bWJlcjtcbiAgZGF0YTogICAgICAgICAgICAgICAgICAgIElTdHVkZW50c0FjdGl2ZVJzW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVN0dWRlbnRzQWN0aXZlUnMge1xuICBjb2RfY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2VfY29kZTogICAgICAgICAgbnVtYmVyO1xuICBjb2RlOiAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBkb2N1bWVudDogICAgICAgICAgICAgc3RyaW5nO1xuICBmdWxsX25hbWU6ICAgICAgICAgICAgc3RyaW5nO1xuICBwaG9uZTogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBvdmVyZHVlX3BheW1lbnRzOiAgICAgSU92ZXJkdWVQYXltZW50c1JzO1xuICBvdXRzdGFuZGluZ19wYXltZW50czogSU91dHN0YW5kaW5nUGF5bWVudHNScztcbiAgcGF5bWVudHNfbWFkZTogICAgICAgIElQYXltZW50c01hZGVScztcbiAgcHJldmlvc19jb3Vyc2U6ICAgICAgIG51bGwgfCBudW1iZXI7XG4gIGNvbG9yX2R1ZTogICAgICAgICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU91dHN0YW5kaW5nUGF5bWVudHNScyB7XG4gIG91dHN0YW5kaW5nX3BheW1lbnRzOiBudW1iZXI7XG4gIG51bWJlcl9pbnN0YWxsbWVudHM6ICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBheW1lbnRzTWFkZVJzIHtcbiAgbWFkZV9wYXltZW50czogICAgICAgbnVtYmVyO1xuICBudW1iZXJfaW5zdGFsbG1lbnRzOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNjaG9sYXJzaGlwU3R1ZGVudFJzIHtcbiAgY29kZTogICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIGNvdXJzZTogICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2VfdHlwZTogICAgICAgICAgIG51bWJlcjtcbiAgYWdyZWVtZW50OiAgICAgICAgICAgICBudW1iZXI7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgICAgICAgbnVtYmVyO1xuICBzdHVkZW50OiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgcGFyZW50OiAgICAgICAgICAgICAgICBudW1iZXI7XG4gIGFkaXRpb25hbF9pbmZvcm1hdGlvbjogbnVtYmVyO1xuICBhZHZpc2VyOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY29kX3N0YXR1czogICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9wcmljZTogICAgICAgICAgICAgbnVtYmVyO1xuICBjb2RfcGFpZDogICAgICAgICAgICAgIG51bWJlcjtcbiAgY3JlYXRlZF9hdDogICAgICAgICAgICBEYXRlO1xuICBjb3Vyc2VfY29kZTogICAgICAgICAgIG51bWJlcjtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElFbGVjdHJvbmljSW52b2ljZVJTIHtcbiAgdG9rZW46IHN0cmluZztcbiAgc3RhcnRfZGF0ZTogRGF0ZSB8IG51bGw7XG4gIGVuZF9kYXRlOiBEYXRlIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0RnVsbFBheW1lbnRJbmZvcm1hdGlvblJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgcGFnZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0RnVsbFBheW1lbnRJbmZvcm1hdGlvblJzIHtcbiAgaXBfYXBwbGljYW50OiBzdHJpbmc7XG4gIHN0YXR1czogbnVtYmVyO1xuICBtZXNzYWdlOiBJTWVzc2FnZVJxO1xuICBkYXRhOiBJUGF5bWVudEJpbGxGdWxsRGF0YVJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYXltZW50QmlsbEZ1bGxEYXRhUnMge1xuICBkYXRhOiBJUGF5bWVudEJpbGxGdWxsUnNbXTtcbiAgcGFnaW5hdGlvbjogSVBhZ2luYXRpb25Scztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGF5bWVudEJpbGxGdWxsUnMge1xuICBwYXltZW50X2JpbGxfY29kZTogbnVtYmVyO1xuICBwYXltZW50X21ldGhvZDogbnVtYmVyO1xuICBwYXltZW50X3NlcnZpY2VzOiBudW1iZXI7XG4gIHBheW1lbnRfd2FsbGV0OiBudW1iZXI7XG4gIGJhbmtfbmFtZTogc3RyaW5nO1xuICBnZW5lcmF0ZWRfZm9yOiBudW1iZXI7XG4gIGdlbmVyYXRlZF9ieTogbnVtYmVyO1xuICB0eXBlX21vdmVtZW50czogbnVtYmVyO1xuICBjb21tb25fZXhwZW5zZXM6IG51bWJlcjtcbiAgdG90YWxfYW1vdW50OiBudW1iZXI7XG4gIHBheW1lbnRfYW1vdW50OiBudW1iZXI7XG4gIG91dHN0YW5kaW5nX2Ftb3VudDogbnVtYmVyO1xuICBwb3NpdGl2ZV9hbW91bnQ6IG51bWJlcjtcbiAgZGlzY291bnQ6IG51bWJlcjtcbiAgcGF5ZXJfbmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgcGF5ZXJfZG9jdW1lbnQ6IHN0cmluZyB8IG51bGw7XG4gIGFjYWRlbWljX3BsYW46IG51bWJlcjtcbiAgcGF5bWVudF9yZWZlcmVuY2U6IHN0cmluZyB8IG51bGw7XG4gIHBheW1lbnRfZGF0ZTogc3RyaW5nIHwgbnVsbDtcbiAgb2JzZXJ2YXRpb246IHN0cmluZyB8IG51bGw7XG4gIGludm9pY2VfY2FuY2VsbGVkOiBudW1iZXI7XG4gIG1hbnVhbF9yZWNlaXB0OiBzdHJpbmcgfCBudWxsO1xuICBjb3JyZWxhdGl2ZTogc3RyaW5nIHwgbnVsbDtcbiAgdHJhbnNmZXJfY29kZTogbnVtYmVyIHwgbnVsbDtcbiAgZWxlY3Ryb25pY19pbnZvaWNlOiBzdHJpbmcgfCBudWxsO1xuICBwYXltZW50X2JpbGxfY3JlYXRlZF9hdDogc3RyaW5nO1xuICBwYXltZW50X2JpbGxfdXBkYXRlZF9hdDogc3RyaW5nO1xuXG4gIC8vIENhbXBvcyBkZSB0cmFuc2ZlcnNcbiAgdHJhbnNmZXJfYW1vdW50OiBudW1iZXIgfCBudWxsO1xuICBpbml0aWFsX2Ftb3VudDogbnVtYmVyIHwgbnVsbDtcbiAgdHJhbnNmZXJfYmFua19uYW1lOiBzdHJpbmcgfCBudWxsO1xuICB0cmFuc2Zlcl9kYXRlOiBzdHJpbmcgfCBudWxsO1xuICByZWZlcmVuY2VfbnVtYmVyOiBzdHJpbmcgfCBudWxsO1xuICB0cmFuc2Zlcl9zdGF0dXM6IHN0cmluZyB8IG51bGw7XG4gIHRyYW5zZmVyX2NyZWF0ZWRfYnk6IG51bWJlciB8IG51bGw7XG4gIHRyYW5zZmVyX3VwZGF0ZWRfYnk6IG51bWJlciB8IG51bGw7XG4gIGltYWdlX3VybDogc3RyaW5nIHwgbnVsbDtcbiAgdHJhbnNmZXJfY3JlYXRlZF9hdDogc3RyaW5nIHwgbnVsbDtcbiAgdHJhbnNmZXJfdXBkYXRlZF9hdDogc3RyaW5nIHwgbnVsbDtcblxuICAvLyBDYW1wb3MgZGUgcGF5ZXIgKHVzZXIpXG4gIHBheWVyX2NvZGU6IG51bWJlcjtcbiAgcGF5ZXJfbmFtZV91c2VyOiBzdHJpbmc7XG4gIHBheWVyX2xhc3RfbmFtZTogc3RyaW5nO1xuICBwYXllcl9lbWFpbDogc3RyaW5nO1xuICBwYXllcl9yb2xlOiBudW1iZXI7XG4gIHBheWVyX3Bob25lOiBzdHJpbmc7XG4gIHBheWVyX2NyZWF0ZWRfYXQ6IHN0cmluZztcblxuICAvLyBDYW1wb3MgZGUgY3JlYXRvciAodXNlcilcbiAgY3JlYXRvcl9jb2RlOiBudW1iZXI7XG4gIGNyZWF0b3JfbmFtZTogc3RyaW5nO1xuICBjcmVhdG9yX2xhc3RfbmFtZTogc3RyaW5nO1xuICBjcmVhdG9yX2VtYWlsOiBzdHJpbmc7XG4gIGNyZWF0b3Jfcm9sZTogbnVtYmVyO1xuICBjcmVhdG9yX3Bob25lOiBzdHJpbmc7XG4gIGNyZWF0b3JfY3JlYXRlZF9hdDogc3RyaW5nO1xuXG4gIC8vIENhbXBvcyBkZSBjb2RcbiAgY29kX2NvZGU6IG51bWJlcjtcbiAgY291cnNlOiBudW1iZXI7XG4gIGNvdXJzZV90eXBlOiBudW1iZXI7XG4gIGFncmVlbWVudDogbnVtYmVyO1xuICBlbmdsaXNoX2xldmVsOiBudW1iZXI7XG4gIHN0dWRlbnQ6IG51bWJlcjtcbiAgY29kX3BhcmVudDogbnVtYmVyIHwgbnVsbDtcbiAgYWRpdGlvbmFsX2luZm9ybWF0aW9uOiBudW1iZXI7XG4gIGFkdmlzZXI6IG51bWJlcjtcbiAgY29kX3N0YXR1czogbnVtYmVyO1xuICBjb2RfcHJpY2U6IG51bWJlciB8IG51bGw7XG4gIGNvZF9wYWlkOiBudW1iZXI7XG4gIGNvZF9jcmVhdGVkX2F0OiBzdHJpbmc7XG4gIGNvZF91cGRhdGVkX2F0OiBzdHJpbmc7XG5cbiAgLy8gQ2FtcG9zIGRlIHBhcmVudFxuICBwYXJlbnRfY29kZTogbnVtYmVyIHwgbnVsbDtcbiAgcGFyZW50X25hbWU6IHN0cmluZyB8IG51bGw7XG4gIHBhcmVudF9sYXN0X25hbWU6IHN0cmluZyB8IG51bGw7XG4gIHBhcmVudF9pZF9jYXJkOiBzdHJpbmcgfCBudWxsO1xuICBwYXJlbnRfcGhvbmU6IHN0cmluZyB8IG51bGw7XG4gIG9jY3VwYXRpb246IHN0cmluZyB8IG51bGw7XG4gIG9mZmljZV9hZHJyZXNzOiBzdHJpbmcgfCBudWxsO1xuICBwYXJlbnRfY3JlYXRlZF9hdDogc3RyaW5nIHwgbnVsbDtcbiAgcGFyZW50X3VwZGF0ZWRfYXQ6IHN0cmluZyB8IG51bGw7XG59XG5cbi8vIFBhZ2luYWNpw7NuXG5leHBvcnQgaW50ZXJmYWNlIElQYWdpbmF0aW9uUnMge1xuICB0b3RhbDogbnVtYmVyO1xuICBwZXJfcGFnZTogbnVtYmVyO1xuICBjdXJyZW50X3BhZ2U6IG51bWJlcjtcbiAgbGFzdF9wYWdlOiBudW1iZXI7XG4gIGZyb206IG51bWJlcjtcbiAgdG86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2VhcmNoUGF5bWVudEJpbGxScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHBhZ2U/OiBudW1iZXI7XG4gIHJlZmVyZW5jZV9udW1iZXI/OiBzdHJpbmc7XG4gIHBheWVyX25hbWU/OiBzdHJpbmc7XG4gIGVsZWN0cm9uaWNfaW52b2ljZT86IHN0cmluZztcbiAgLy9wYXltZW50X2JpbGxfY29kZT86IG51bWJlcjtcbiAgcGF5bWVudF9iaWxsX2NvZGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlYXJjaFBheW1lbnRCaWxsUnMge1xuICBpcF9hcHBsaWNhbnQ6IHN0cmluZztcbiAgc3RhdHVzOiBudW1iZXI7XG4gIG1lc3NhZ2U6IHtcbiAgICBjb2RlOiBudW1iZXI7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICB9O1xuICBkYXRhOiBJUGF5bWVudEJpbGxGdWxsRGF0YVJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXRTdW1tYXJ5QnlDb29yZGluYXRvclJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgc3RhcnRfZGF0ZT86IHN0cmluZztcbiAgZW5kX2RhdGU/OiBzdHJpbmc7XG4gIGdyYWNlX3BlcmlvZF9kYXlzPzogbnVtYmVyO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFkZE5ld1F1b3RhV2l0aENvbW1lbnRzUnEge1xuICB0b2tlbjogICAgICAgICAgc3RyaW5nO1xuICBjb2Q6ICAgICAgICAgICAgbnVtYmVyO1xuICBmZWVfbnVtYmVyOiAgICAgbnVtYmVyO1xuICB2YWx1ZUFtb3VudDogICAgbnVtYmVyO1xuICB0aW1lbHlfZGF0ZTogICAgc3RyaW5nO1xuICBvYnNlcnZhdGlvbjogICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEZWxldGVRdW90YVJlY29yZFdpdGhDb21tZW50c1JxIHtcbiAgdG9rZW46ICAgICAgICAgIHN0cmluZztcbiAgY29kX3BheW1lbnQ6ICAgIG51bWJlcjtcbiAgb2JzZXJ2YXRpb246ICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTW9kaWZ5UXVvdGFEYXRhV2l0aENvbW1lbnRzUnEge1xuICB0b2tlbjogICAgICAgICAgICAgIHN0cmluZztcbiAgY29kOiAgICAgICAgICAgICAgICBudW1iZXI7XG4gIHRpbWVseV9kYXRlOiAgICAgICAgc3RyaW5nO1xuICBvYnNlcnZhdGlvbjogICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRWRpdEluc3RhbGxtZW50QW1vdW5XaXRoQ29tbWVudHNScSB7XG4gIHRva2VuOiAgICAgICAgICAgICAgc3RyaW5nO1xuICBjb2RfcGF5bWVudDogICAgICAgIG51bWJlcjtcbiAgdmFsdWVfYW1vdW50OiAgICAgICBudW1iZXI7XG4gIG9ic2VydmF0aW9uOiAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQcm9jZXNzUGF5bWVudENvZFdpdGhDb21tZW50c1JzIHtcbiAgICBjb2RwYXltZW50OiBJQ29kcGF5bWVudFByb2Nlc3NQYXltZW50UnM7XG4gICAgaGlzdG9yeTogICAgSUhpc3RvcnlQcm9jZXNzUGF5bWVudFJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb2RwYXltZW50UHJvY2Vzc1BheW1lbnRScyB7XG4gICAgY29kZTogICAgICAgICAgICAgIG51bWJlcjtcbiAgICBjb2Q6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIHRpbWVseV9kYXRlOiAgICAgICBEYXRlO1xuICAgIGFtb3VudDogICAgICAgICAgICBudW1iZXI7XG4gICAgZmVlX251bWJlcjogICAgICAgIG51bWJlcjtcbiAgICBzdGF0dXM6ICAgICAgICAgICAgbnVtYmVyO1xuICAgIHVwZGF0ZWRfYW1vdW50X2J5OiBudW1iZXI7XG4gICAgdXBkYXRlZF9ieTogICAgICAgIG51bWJlcjtcbiAgICBkZWxldGVkX2F0OiAgICAgICAgbnVsbCB8IERhdGU7XG4gICAgdXBkYXRlZF9hdDogICAgICAgIERhdGU7XG4gICAgY3JlYXRlZF9hdDogICAgICAgIERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUhpc3RvcnlQcm9jZXNzUGF5bWVudFJzIHtcbiAgICBjb2RfcGF5bWVudDogbnVtYmVyO1xuICAgIG9ic2VydmF0aW9uOiBzdHJpbmc7XG4gICAgc3RhdHVzOiAgICAgIG51bWJlcjtcbiAgICBwcm9jZXNzOiAgICAgbnVtYmVyO1xuICAgIHByb2R1Y2VkX2J5OiBudW1iZXI7XG4gICAgY29kZTogICAgICAgIG51bWJlcjtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnRScSB7XG4gICAgdG9rZW46ICAgICAgIHN0cmluZztcbiAgICB1c2VyX2NvZGU6ICAgbnVtYmVyO1xuICAgIHN0YXJ0X2RhdGU6ICBzdHJpbmc7XG4gICAgZW5kX2RhdGU6ICAgIHN0cmluZztcbiAgICBjb3Vyc2VfY29kZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnRScyB7XG4gICAgaXBfYXBwbGljYW50OiBzdHJpbmc7XG4gICAgc3RhdHVzOiAgICAgICBudW1iZXI7XG4gICAgbWVzc2FnZTogICAgICBJQ291cnNlUGF5bWVudFJhbmdlUmVwb3J0TWVzc2FnZTtcbiAgICBkYXRhOiAgICAgICAgIElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnREYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnRNZXNzYWdlIHtcbiAgICBjb2RlOiAgICBudW1iZXI7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnREYXRhIHtcbiAgICBmaWx0ZXJzOiAgICAgICAgICAgICAgSUNvdXJzZVBheW1lbnRSYW5nZVJlcG9ydEZpbHRlcnM7XG4gICAgc3VtbWFyeV9ieV9jb3Vyc2U6ICAgIElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnRTdW1tYXJ5W107XG4gICAgY29kX2RldGFpbF9ieV9jb3Vyc2U6IElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnRDb2REZXRhaWxbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlUGF5bWVudFJhbmdlUmVwb3J0RmlsdGVycyB7XG4gICAgdXNlcl9jb2RlOiAgIG51bWJlcjtcbiAgICBjb3Vyc2VfY29kZTogbnVtYmVyO1xuICAgIHN0YXJ0X2RhdGU6ICBzdHJpbmc7XG4gICAgZW5kX2RhdGU6ICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlUGF5bWVudFJhbmdlUmVwb3J0U3VtbWFyeSB7XG4gICAgY291cnNlX2NvZGU6ICAgICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgICBjb2RfY291bnRfc3RhdHVzX2xlXzM6ICAgICAgICAgICAgbnVtYmVyO1xuICAgIHRvdGFsX2Ftb3VudF90b19jb2xsZWN0X2luX3JhbmdlOiBudW1iZXI7XG4gICAgdG90YWxfaW5zdGFsbG1lbnRzX2luX3JhbmdlOiAgICAgIG51bWJlcjtcbiAgICBwYWlkX2luc3RhbGxtZW50c19pbl9yYW5nZTogICAgICAgc3RyaW5nO1xuICAgIHVucGFpZF9pbnN0YWxsbWVudHNfaW5fcmFuZ2U6ICAgICBzdHJpbmc7XG4gICAgcGFpZF9pbnN0YWxsbWVudHNfYW1vdW50X2luX3JhbmdlOiAgIG51bWJlcjtcbiAgICB1bnBhaWRfaW5zdGFsbG1lbnRzX2Ftb3VudF9pbl9yYW5nZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnRDb2REZXRhaWwge1xuICAgIGNvZF9jb2RlOiAgICAgICAgICAgICBudW1iZXI7XG4gICAgY29kX3N0YXR1czogICAgICAgICAgIG51bWJlcjtcbiAgICBjb2RfcHJpY2U6ICAgICAgICAgICAgbnVtYmVyO1xuICAgIHN0dWRlbnRfY29kZTogICAgICAgICBudW1iZXI7XG4gICAgZG9jdW1lbnQ6ICAgICAgICAgICAgIHN0cmluZztcbiAgICBmaXJzdF9uYW1lOiAgICAgICAgICAgc3RyaW5nO1xuICAgIGxhc3RfbmFtZTogICAgICAgICAgICBzdHJpbmc7XG4gICAgaW5zdGFsbG1lbnRzX2luX3JhbmdlOiBudW1iZXI7XG4gICAgdG90YWxfYW1vdW50X2luX3JhbmdlOiBudW1iZXI7XG4gICAgcGF5bWVudF9kYXRlczogICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJb2J0YWluUGVuZGluZ0dhdGV3YXlQYXltZW50c0ZvclByb2Nlc3NpbmdScyB7XG4gICAgaXBfYXBwbGljYW50Pzogc3RyaW5nO1xuICAgIHN0YXR1cz86ICAgICAgIG51bWJlcjtcbiAgICBtZXNzYWdlPzogICAgICBJTWVzc2FnZVJxO1xuICAgIGRhdGE/OiAgICAgICAgIG9idGFpblBlbmRpbmdHYXRld2F5UGF5bWVudHNGb3JQcm9jZXNzaW5nUnNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBvYnRhaW5QZW5kaW5nR2F0ZXdheVBheW1lbnRzRm9yUHJvY2Vzc2luZ1JzIHtcbiAgICBjb2RlPzogICAgICAgICAgICAgIG51bWJlcjtcbiAgICBjb2Q/OiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgICB0aW1lbHlfZGF0ZT86ICAgICAgIERhdGU7XG4gICAgYW1vdW50PzogICAgICAgICAgICBudW1iZXI7XG4gICAgZmVlX251bWJlcj86ICAgICAgICBudW1iZXI7XG4gICAgc3RhdHVzPzogICAgICAgICAgICBudW1iZXI7XG4gICAgdXBkYXRlZF9hbW91bnRfYnk/OiBudW1iZXI7XG4gICAgdXBkYXRlZF9ieT86ICAgICAgICBudW1iZXIgfCBudWxsO1xuICAgIGRlbGV0ZWRfYXQ/OiAgICAgICAgbnVsbDtcbiAgICB1cGRhdGVkX2F0PzogICAgICAgIERhdGU7XG4gICAgY3JlYXRlZF9hdD86ICAgICAgICBEYXRlO1xuICAgIGRheVZlbmM/OiAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvbG9yRGF5PzogICAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQcmV2aWV3TW9kaWZ5UGF5bWVudFBsYW5ScSB7XG4gIHRva2VuOiAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIGNvZDogICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIG9sZF9jb3Vyc2U6ICAgICAgICAgICBudW1iZXI7XG4gIG5ld19jb3Vyc2U6ICAgICAgICAgICBudW1iZXI7XG4gIGtlZXBfb2xkX3ZhbHVlczogICAgICBib29sZWFuO1xuICBudW1iZXJfb2xkX2ZlZXNfa2VlcDogbnVtYmVyO1xuICBudW1iZXJfZmVlc19jcmVhdGU6ICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQcmV2aWV3TW9kaWZ5UGF5bWVudFBsYW5ScyB7XG4gIGNvZDogICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBlbnJyb2xsbWV0X3ZhbHVlOiAgICAgIG51bWJlcjtcbiAgZmVlX3ZhbHVlOiAgICAgICAgICAgICBudW1iZXI7XG4gIGFtb3VudF9mZWVzX2dlbmVyYXRlOiAgbnVtYmVyO1xuICBmZWVzX2F0dGVuZGVkOiAgICAgICAgIG51bWJlcjtcbiAgb2xkX2NvcnNlOiAgICAgICAgICAgICBudW1iZXI7XG4gIG5ld19jb3JzZTogICAgICAgICAgICAgbnVtYmVyO1xuICBkYXRhcGF5OiAgICAgICAgICAgICAgIElQcmV2aWV3TmV3UGF5bWVudFBsYW5Sc1tdO1xuICBuZXdfY29kX3ByaWNlOiAgICAgICAgIElQcmV2aWV3TmV3Q29kUHJpY2VSc1tdO1xuICBuZXdfY29kX3BheW1lbnRfbGV2ZWw6IElQcmV2aWV3TmV3Q29kUGF5bWVudExldmVsUnM7XG4gIGNvbnRhZG86ICAgICAgICAgICAgICAgYm9vbGVhbjtcbiAgbmV3X3N0YXJ0X2RhdGU6ICAgICAgICBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQcmV2aWV3TmV3UGF5bWVudFBsYW5ScyB7XG4gIHN0YXR1czogICAgICBudW1iZXI7XG4gIGZlZV9udW1iZXI6ICBudW1iZXI7XG4gIGFtb3VudDogICAgICBudW1iZXI7XG4gIHRpbWVseV9kYXRlOiBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQcmV2aWV3TmV3Q29kUGF5bWVudExldmVsUnMge1xuICBjb2RlOiAgICAgICAgICAgbnVtYmVyO1xuICB0eXBlX2NvdXJzZTogICAgbnVtYmVyO1xuICBlbmdsaXNoX2xldmVsOiAgbnVtYmVyO1xuICBsZXZlbF9vcmRlcjogICAgbnVtYmVyO1xuICBmZWVzX2Zvcl9sZXZlbDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQcmV2aWV3TmV3Q29kUHJpY2VScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICBudW1iZXI7XG4gIG5hbWU6ICAgICAgICAgICAgICBzdHJpbmc7XG4gIGFncmVlbWVudDogICAgICAgICBudW1iZXI7XG4gIHR5cGVfY291cnNlOiAgICAgICBudW1iZXI7XG4gIGNvdXJzZV9tb2RhbGl0eTogICBudW1iZXI7XG4gIGVucm9sbG1lbnQ6ICAgICAgICBudW1iZXI7XG4gIG5vcm1hbF9wcmljZTogICAgICBudW1iZXI7XG4gIGZpbmFuY2VkX3ByaWNlOiAgICBudW1iZXI7XG4gIGZlZV9udW1iZXI6ICAgICAgICBudW1iZXI7XG4gIHF1b3RhX3ByaWNlOiAgICAgICBudW1iZXI7XG4gIHBhaWRfbGV2ZWw6ICAgICAgICBudW1iZXI7XG4gIGNhbXB1c19lbnRlcnByaXNlOiBudW1iZXI7XG4gIGlzX2FjdGl2ZTogICAgICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNhdmVNb2RpZmllZFBheW1lbnRQbGFuUnEge1xuICB0b2tlbjogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBjb2Q6ICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBvbGRfY291cnNlOiAgICAgICAgICAgbnVtYmVyO1xuICBuZXdfY291cnNlOiAgICAgICAgICAgbnVtYmVyO1xuICBlbnJvbGxtZW50X3ZhbHVlOiAgICAgbnVtYmVyO1xuICBmZWVfdmFsdWU6ICAgICAgICAgICAgbnVtYmVyO1xuICBhbW91bnRfZmVlc19nZW5lcmF0ZTogbnVtYmVyO1xuICBmZWVzX2F0dGVuZGVkOiAgICAgICAgbnVtYmVyO1xuICBjb250YWRvOiAgICAgICAgICAgICBib29sZWFuO1xuICBuZXdfc3RhcnRfZGF0ZTogICAgICAgICBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTYXZlTW9kaWZpZWRQYXltZW50UGxhblJzIHtcbiAgY29kOiAgICAgICAgIG51bWJlcjtcbiAgbmV3X21pbl9mZWU6IG51bWJlcjtcbiAgbmV3X21heF9mZWU6IG51bWJlcjtcbiAgdXBkYXRlZDogICAgIG51bWJlcjtcbiAgY3JlYXRlZDogICAgIG51bWJlcjtcbiAgZGVsZXRlZDogICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ2V0U3R1ZGVudEhhc0NvdXJzZUNoYW5nZXNScyB7XG4gIGNvZGU6ICAgICAgbnVtYmVyO1xuICBoYXNfYXVkaXQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ2V0U3R1ZGVudEhhc0NvdXJzZUNoYW5nZXNScXtcbiAgdG9rZW46IHN0cmluZztcbiAgY29kOiAgIG51bWJlcjtcbn1cblxuIl19
|
|
@@ -624,6 +624,11 @@ export class BudgetService extends IPTGeneralService {
|
|
|
624
624
|
this.generateRequestParams(param);
|
|
625
625
|
return this.http.post(serviceUrl, this.httpOptions);
|
|
626
626
|
}
|
|
627
|
+
revertPendingTransactionsWithoutWompiCode(param) {
|
|
628
|
+
let serviceUrl = this.SERVICE_URL + 'revert/pending/transactions/without/wompi/code';
|
|
629
|
+
this.generateRequestParams(param);
|
|
630
|
+
return this.http.post(serviceUrl, this.httpOptions);
|
|
631
|
+
}
|
|
627
632
|
}
|
|
628
633
|
BudgetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BudgetService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
629
634
|
BudgetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BudgetService, providedIn: 'root' });
|
|
@@ -633,4 +638,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
633
638
|
providedIn: 'root'
|
|
634
639
|
}]
|
|
635
640
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
636
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVkZ2V0LXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9idWRnZXQtc2VydmljZS9idWRnZXQtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFRM0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBaUI7SUFJbEQsWUFBb0IsSUFBZ0I7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLGdCQUFXLEdBQUcsYUFBYSxDQUFDO1FBSWxDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDdkQsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFzQjtRQUNuQyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDJCQUEyQixDQUFDO1FBQ2hFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELGNBQWMsQ0FBQyxNQUFrQjtRQUMvQixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDZCQUE2QixDQUFDO1FBQ2xFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELGNBQWMsQ0FBQyxN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Ryw2QkFBNkIsQ0FBQztRQUNsRSxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7OzBHQTl0QlUsYUFBYTs4R0FBYixhQUFhLGNBRlosTUFBTTsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBnZXRkaXNjb3VudEFsbFJxLCBEaXNjb3VudFJxLCBEaXNjb3VudFVwZGF0ZVJxLCBJT2J0YWluQWxsQ291cnNld2FsbGV0LCBJQXNzaWduUmVxdWVzdFJxLCBJT2J0YWluQXZhaWxhYmxlQ291cnNlUnMsIElHZXRDb2RCeVBheW1lbnRQbGFuUnEsIElVcGRhdGVBbW91bnRDb2RQYXltZW50c1JxLCBJUGFyYW1zVXBkYXRlRGF0ZUNvZFBheW1lbnRzUnEsIElDYW5jZWxTdHVkZW50UmVjZWlwdFJxLCBJQ2FuY2VsbGVkUmVjZWlwdEJ5RGF0ZVJxLCBJUGF5bWVudHNSZWNlaXZlZEJ5VXNlclJxLCBJT2J0YWluQ291cnNlQnlDb29kRGlmZlBhcmFtUnEsIE5hbWVDb21tb25FeHBlbnNlcywgSU9idGFpblBheW1lbnRUcmFuSGlzdG9yeVJxLCBJT2J0YWluU3R1ZGVudFBheW1lbnRCeURpZmZQYXJhbVJxLCBJbmZvQ2FzaENsb3NpbmdScSwgSWNhc2hDbG9zaW5nRGF0ZVJxLCBJY2FzaENsb3NpbmdScSwgSXBheW1lbnRCaWxsRWdyZXNzUnEsIEluY29tZXNBbmRFZ3Jlc3NScSwgSU9iYXRpbkRldGFpbGVkSW5jb21lQnlVc2VyQW5kRGF0ZVJxLCBJT2JhdGluQmFsYWNlc0J5Q29vZGluYXRvclJxLCBTZW5kRW1haWxQYXltZW50LFNlbmRFbWFpbFBheW1lbnRDYW5jZWxsYXRpb25SUywgSVBheW1lbnRDb3JyZWxhdGl2ZVJxLCBJT2J0YWluR2F0ZXdheVBheW1lbnRSZWNvcmRScSwgSVVwZGF0ZUVwYXljb1BheW1lbnRScSwgSUVsZWN0cm9uaWNJbnZvaWNlUlMsIElBY2NvdW50c0JhbGFuY2VScSwgSUdldEZ1bGxQYXltZW50SW5mb3JtYXRpb25ScSwgSUdldEZ1bGxQYXltZW50SW5mb3JtYXRpb25ScywgSVNlYXJjaFBheW1lbnRCaWxsUnEsIElTZWFyY2hQYXltZW50QmlsbFJzLCBJR2V0U3VtbWFyeUJ5Q29vcmRpbmF0b3JScSwgSUFkZE5ld1F1b3RhV2l0aENvbW1lbnRzUnEsIElEZWxldGVRdW90YVJlY29yZFdpdGhDb21tZW50c1JxLCBJTW9kaWZ5UXVvdGFEYXRhV2l0aENvbW1lbnRzUnEsIElFZGl0SW5zdGFsbG1lbnRBbW91bldpdGhDb21tZW50c1JxLCBJQ291cnNlUGF5bWVudFJhbmdlUmVwb3J0UnEsIElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnRScywgSVByZXZpZXdNb2RpZnlQYXltZW50UGxhblJxLCBJU2F2ZU1vZGlmaWVkUGF5bWVudFBsYW5ScSAgfSBmcm9tICcuLi8uLi9tb2RlbHMvYnVkZ2V0L2J1ZGdldC5tb2RlbCc7XG5pbXBvcnQgeyBJRnVsbENvZFN0dWRlbnRPdmVyZHVlQnlDb29yZGluYXRvclJxLCBJUGF5bWVudE92ZXJkdWVCeUNvb3JkaW5hdG9yQ291cnNlUnEsIElQYXltZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JScSwgSVBheW1lbnRSZWZlcmVuY2VScSwgSVRyYW5zZmVyLCBJVHJhbnNmZXJBc3NpZ25JbWFnZSwgSVRyYW5zZmVyQ3JlYXRlUnEsIElUcmFuc2ZlckRlbGV0ZVJxLCBJVHJhbnNmZXJHZXRBbGxScSwgSVRyYW5zZmVyR2V0UnEsIElUcmFuc2ZlclNlYXJjaFJxLCBJVHJhbnNmZXJTaG93SW1hZ2VScSwgSVRyYW5zZmVyU3RhdHVzVXBkYXRlUnEsIElUcmFuc2ZlclVwZGF0ZVJxLCBQYXltZW50QmlsbFJxLCBQYXltZW50QmlsbFJxMiwgUHJpY2VCeVR5cGVTZXJ2aWNlUnEsSURlbGV0ZUNvZFBheW1lbnRzUnEsSUNyZWF0ZUNvZFBheW1lbnRzUnEsIElUcmFuc2ZlclN0YXR1c1VwZGF0ZVJlcXVlc3RScSwgSVVwZGF0ZUVsZWN0cm9uaWNJbnZvaWNlUnEsIElWYWxpZGF0aW9uT2ZUcmFuc2ZlcnNCeU51bWJlclJxLCBJR2V0RGlzY291bnRDb3Vwb25JbmZvcm1hdGlvblJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3BheW1lbnQvcGF5bWVudC1ycS5tb2RlbCc7XG5pbXBvcnQgeyBJZ2V0Q291cnNlc0ZpbmlzaEFuZHVuYXNzaWduZWRScSB9IGZyb20gJy4uLy4uL21vZGVscy9yZXBvcnRzL3JlcG9ydHMubW9kZWwnO1xuaW1wb3J0IHsgSVBUR2VuZXJhbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlLWVudmlyb21lbnRzJztcbmltcG9ydCB7IElDb2RQYXltZW50UnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29kL2NvZC1ycS5tb2RlbCc7XG5pbXBvcnQgeyBJQ3JlYXRlVHJhbnNmZXJScSwgSVNlYXJjaFRyYW5zZmVyUnEsIElVcGRhdGVUcmFuc2ZlclJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyYW5zZmVyL3RyYW5zZmVyLm1vZGVsJztcbmltcG9ydCB7IElHZXRUcmFuc2FjdGlvbnNCeVVzZXJDb2RlUnEsIElVcGRhdGVUcmFuc2FjdGlvblN0YXR1c1JxLCBJV29tcGlQYXltZW50UnEsIElXb21waVRyYW5zYWN0aW9uUGF5bG9hZFJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1BheW1lbnRHYXRld2F5L1BheW1lbnRHYXRld2F5Lm1vZGVscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJ1ZGdldFNlcnZpY2UgZXh0ZW5kcyBJUFRHZW5lcmFsU2VydmljZXtcblxuICBwcml2YXRlIFNFUlZJQ0VfVVJMID0gJ2J1ZGdldC9hcGkvJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuU0VSVklDRV9VUkwgPSB0aGlzLmJhc2VVcmwoKSArIHRoaXMuU0VSVklDRV9VUkw7XG4gIH1cblxuICBnZXRBbGxEaXNjb3VudCh1c2VyOiBnZXRkaXNjb3VudEFsbFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9kaXNjb3VudHMvY291cG9uL2FsbCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXModXNlcik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgY3JlYXRlRGlzY291bnQocGFyYW1zOiBEaXNjb3VudFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9kaXNjb3VudC9jb3Vwb24vY3JlYXRlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICB1cGRhdGVEaXNjb3VudChwYXJhbXM6IERpc2NvdW50VXBkYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2Rpc2NvdW50L2NvdXBvbi91cGRhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RGlzY291bnRDb3Vwb25JbmZvcm1hdGlvbihwYXJhbXM6IElHZXREaXNjb3VudENvdXBvbkluZm9ybWF0aW9uUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvZGlzY291bnQvY291cG9uL2luZm9ybWF0aW9uJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFBheW1lbnRTdHVkZW50c0J5Q29kZShjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3BheW1lbnQvY29kL3N0dWRlbnQvYnkvY29kZS8nICsgY29kZVN0dWRlbnQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXRQYXltZW50V2FsbGV0QnlDYW1wdXMoY29kZUNhbXB1czogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3BheW1lbnQvd2FsbGV0L2J5L2NhbXB1cy8nICsgY29kZUNhbXB1cztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIHBheW1lbnRCaWxsRHVlcyhwYXJhbXM6IFBheW1lbnRCaWxsUnEyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L2JpbGwvcmVnaXN0ZXIvZHVlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwYXltZW50QmlsbFNlcnZpY2VzKHBhcmFtczogUGF5bWVudEJpbGxScTIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC9yZWdpc3Rlci9zZXJ2aWNlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRQYXltZW50QmlsbEFsbCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcGF5bWVudC9iaWxsL2NhbmNlbGVkL2FsbCc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXRQYXltZW50QmlsbEJ5Q29kZShjb2RlUGF5bWVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAgJ2dldC9wYXltZW50L2JpbGwvY2FuY2VsZWQvYnkvY29kZS8nICsgY29kZVBheW1lbnQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXRQYXltZW50QmlsbEJ5U3R1ZGVudChjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAgJ2dldC9wYXltZW50L2JpbGwvY2FuY2VsZWQvYnkvc3R1ZGVudC8nICsgY29kZVN0dWRlbnQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXRQYXltZW50QmlsbEJ5UmVmZXJlbmNlKHJlZmVyZW5jZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3BheW1lbnQvYmlsbC9jYW5jZWxlZC9ieS9yZWZlcmVuY2UvJyArIHJlZmVyZW5jZTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG5cbiAgZ2V0UHJpY2VCeVR5cGVTZXJ2aWNlKHBhcmFtczogUHJpY2VCeVR5cGVTZXJ2aWNlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9wcmljZS9ieS90eXBlL3NlcnZpY2UnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ291cnNlc0J5Q29vcmRpbmF0b3IocGFyYW1zOiBJT2J0YWluQWxsQ291cnNld2FsbGV0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb3Vyc2Uvd2FsbGV0L3VzZXIvYnkvY29vcmRpbmF0b3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0V2FsbGV0QnlDb2RlVXNlciAoY29kZVVzZXI6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC93YWxsZXQvYnkvY29kZS91c2VyLycgKyBjb2RlVXNlcjtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBnZXRwYXltZW50QmlsbEJ5V2FsbGV0Q29kZSAoY29kZVdhbGxldDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L29idGFpbi9wYXltZW50L2JpbGwvYnkvd2FsbGV0cy9ieS8nICsgY29kZVdhbGxldDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBnZXRwYXltZW50QmlsbEluY29tZSAoY29kZVdhbGxldDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3BheW1lbnQvYmlsbC93YWxsZXRzL2NvZGUvZmlsdGVyL2luY29tZS8nICsgY29kZVdhbGxldDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBnZXRwYXltZW50QmlsbEVncmVzcyAoY29kZVdhbGxldDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3BheW1lbnQvYmlsbC93YWxsZXRzL2NvZGUvZmlsdGVyL2VncmVzcy8nICsgY29kZVdhbGxldDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFBheW1lbnRPdmVyZHVlU3R1ZGVudCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICAnZ2V0L3BheW1lbnQvb3ZlcmR1ZS9hbGwvc3R1ZGVudCc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXREYXlQYXltZW50T3ZlcmR1ZVN0dWRlbnQoY29kZVN0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9kYXkvcGF5bWVudC9vdmVyZHVlL3N0dWRlbnQvYnkvY29kZS8nICsgY29kZVN0dWRlbnQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXRQYXltZW50T3ZlcmR1ZUNvdXJzZUJ5Q29vcmRpbmF0b3IocGFyYW1zOiBJUGF5bWVudE92ZXJkdWVCeUNvb3JkaW5hdG9yUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvb3ZlcmR1ZS9jb3Vyc2UvYnkvY29vcmRpbmF0b3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0UGF5bWVudE92ZXJkdWVTdHVkZW50QnlDb29yZGluYXRvcihwYXJhbXM6IElQYXltZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9vdmVyZHVlL3N0dWRlbnQvYnkvY29vZGluYXRvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRQYXltZW50T3ZlcmR1ZVN0dWRlbnRCeUNvb3JkaW5hdG9yQW5kQ291cnNlQ29kZShwYXJhbXM6IElQYXltZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JDb3Vyc2VScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9vdmVyZHVlL3N0dWRlbnQvYnkvY29vZGluYXRvcmNvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRPYnRhaW5Db2RTdHVkZW50QnlDb29yZGluYXRvcihwYXJhbXM6IElGdWxsQ29kU3R1ZGVudE92ZXJkdWVCeUNvb3JkaW5hdG9yUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2Qvc3R1bmRlbnQvYnkvY29vcmRpbmF0b3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q291cnNlc0ZpbmlzaEFuZHVuYXNzaWduZWQocGFyYW1zOiBJZ2V0Q291cnNlc0ZpbmlzaEFuZHVuYXNzaWduZWRScSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2NvdXJzZS9ieS91c2VyL2J1ZGdldCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICAvLyBBc3NpbmdDb3Vyc2UocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAvLyAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvdXJzZS9ieS9jb2RlL3VzZXIvYnVkZ2V0L2Fzc2lnbic7XG4gIC8vICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgLy8gICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIC8vIH1cbiAgQXNzaW5nQ291cnNlKHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2NvdXJzZS9hc3NpZ24vZGV0YWlsL2J5L2FkdmlzZXIvYnVkZ2V0JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIEFzc2luZ0NvdXJzZXMocGFyYW1zOiBJQXNzaWduUmVxdWVzdFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb3Vyc2UvYnkvdXNlci9idWRnZXQvYXNzaWduJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkFsbEF2YWlsYWJsZUNvdXJzZXNCeVN0dWRlbnQocGFyYW1zOiBJT2J0YWluQXZhaWxhYmxlQ291cnNlUnMpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9hbGwvYXZhaWxhYmxlL2NvdXJzZXMvYnkvc3R1ZGVudCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5PYnNlcnZhdGlvbkJ5Q29kU3R1ZGVudChwYXJhbXM6IElGdWxsQ29kU3R1ZGVudE92ZXJkdWVCeUNvb3JkaW5hdG9yUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9vYnNlcnZhcmlvbi9ieS9jb2Qvc3R1ZGV0JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGFkbWluU3R1ZGVudEJ5Q29vcmRpbmF0b3IocGFyYW1zOiBJRnVsbENvZFN0dWRlbnRPdmVyZHVlQnlDb29yZGluYXRvclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9hZG1pbi9zdHVkZW50L2J5L2Nvb3JkaW5hdG9yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZGJ5UGF5bWVudFBsYW5ScShwYXJhbXM6IElHZXRDb2RCeVBheW1lbnRQbGFuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2Qvc3R1bmRlbnQvcGF5bWVudHMvYnkvY29kZS91c2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIFVwZGF0ZUFtb3VudENvZFBheW1lbnRzKHBhcmFtczogSVVwZGF0ZUFtb3VudENvZFBheW1lbnRzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NoYW5nZS9hbW91bnQvY29kL3BheW1lbnRzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIFVwZGF0ZURhdGVDb2RQYXltZW50cyhwYXJhbXM6IElQYXJhbXNVcGRhdGVEYXRlQ29kUGF5bWVudHNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3B1dC9jaGFuZ2UvZGF0ZS9wYXltZW50L2NvZC9ieS9jb2QnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIFVwZGF0ZURhdGVDb2RQYXltZW50c0ZvclBheW1lbnRQbGFuKHBhcmFtczogSVBhcmFtc1VwZGF0ZURhdGVDb2RQYXltZW50c1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jaGFuZ2UvZGF0ZS9wYXltZW50L2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5QYXltZW50UmVjZWlwdEJ5Q29kZSAoY29kZVJlY2VpcHQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9vYnRhaW4vcGF5bWVudC9yZWNlaXB0L2J5L2NvZGUvJyArIGNvZGVSZWNlaXB0O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluUGF5bWVudHNGb3JTdHVkZW50Q29kZSAoY29kZVN0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9vYnRhaW4vcGF5bWVudHMvZm9yL3N0dWRlbnQvY29kZS8nICsgY29kZVN0dWRlbnQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5TdHVkZW50UGF5bWVudHNCeUdyb3VwaW5nQ29kIChjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3N0dWRlbnQvcGF5bWVudHMvYnkvZ3JvdXBpbmcvY29kLycgKyBjb2RlU3R1ZGVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblJlY2VpcHRCeUNvZGUgKGNvZGVSZWNlaXB0OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcmVjZWlwdC9ieS9jb2RlLycgKyBjb2RlUmVjZWlwdDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblBheW1lbnRzRm9yUmVjZWlwdENvZGUgKGNvZGVTdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvb2J0YWluL3BheW1lbnRzL2Zvci9yZWNlaXB0L2NvZGUvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgY2FuZWxTdHVkZW50UmVjZWlwdChwYXJhbXM6IElDYW5jZWxTdHVkZW50UmVjZWlwdFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jYW5jZWwvc3R1ZGVudC9yZWNlaXB0JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENhbmNlbGxlZFJlY2VpcHRzQnlEYXRlKHBhcmFtczogSUNhbmNlbGxlZFJlY2VpcHRCeURhdGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY2FuY2VsbGVkL3JlY2VpcHRzL2J5L2RhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluUGF5bWVudHJlY2VpdmVkQnlVc2VyKHBhcmFtczogSVBheW1lbnRzUmVjZWl2ZWRCeVVzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL3BheW1lbnRzL3JlY2VpdmVkL2J5L3VzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0VG90YWxDYXNoUmVjZWlwdHNCeURhdGVBbmRVc2VyKHBhcmFtczogSVBheW1lbnRzUmVjZWl2ZWRCeVVzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdG90YWwvY2FzaC9yZWNlaXB0cy9ieS9kYXRlL2FuZC91c2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvdXJzZXNCeUNvb3JkQW5kRGlmZlBhcmFtKHBhcmFtczogSU9idGFpbkNvdXJzZUJ5Q29vZERpZmZQYXJhbVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2NvdXJzZS93YWxsZXQvYnkvY29vcmRpbmF0b3IvZGlmZmV0ZW50L3BhcmFtJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbENvbW1vbkV4cGVuc2VzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9jb21tb24vZXhwZW5zZXMvYWxsJztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuICBjcmVhdGVDb21tbW9uRXhwZW5zZXMocGFyYW06IE5hbWVDb21tb25FeHBlbnNlcyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY29tbW9uL2V4cGVuc2VzL2NyZWF0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBvYnRhaW5Db2RBbmRTdGF0dXNBcHByb3ZlZExldmVsQnlHcm91cChwYXJhbTogTmFtZUNvbW1vbkV4cGVuc2VzKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3N0dWRlbnQvc3RhdHVzL2FwcHJvdmVkL2J5L2dyb3VwJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluU3R1ZGVudFBheW1lbnRUcmFuc2FjdGlvbkhpc3RvcnlCeUNvdXJzZShwYXJhbTogSU9idGFpblBheW1lbnRUcmFuSGlzdG9yeVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3N0dWRlbnQvcGF5bWVudC90cmFuc2FjdGlvbi9oaXN0b3J5L2J5L2NvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblBheW1lbnRUcmFuc2FjdGlvbkhpc3RvcnlCeUNvZChwYXJhbTogSU9idGFpblBheW1lbnRUcmFuSGlzdG9yeVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3BheW1lbnQvdHJhbnNhY3Rpb24vaGlzdG9yeS9ieS9jb2QnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5TdHVkZW50UGF5bWVudEJ5RGlmZmVyZW50UGFyYW1ldGVyKHBhcmFtOiBJT2J0YWluU3R1ZGVudFBheW1lbnRCeURpZmZQYXJhbVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3N0dWRlbnQvcGF5bWVudC9ieS9kaWZmZXJlbnQvcGFyYW1ldGVycyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGNyZWF0ZUVncmVzcyhwYXJhbTogSXBheW1lbnRCaWxsRWdyZXNzUnEpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9iaWxsL3JlZ2lzdGVyL2VncmVzcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBnZXRDYXRlZ29yeSgpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC90eXBlL3N1cHBsaWVyL2FsbCc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cbiAgY3JlYXRlQ2FzaENsb3NpbmcocGFyYW06IEljYXNoQ2xvc2luZ1JxKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC9jbG9zZS9jYXNoJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgc2VhcmNoQ29tbW9uRXhwZW5zZXMobmFtZTpzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsnZ2V0L3NlYXJjaC9jb21tb24vZXhwZW5zZXMvJyArIG5hbWU7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cbiAgZ2V0VXNlcnNDYXNoQ2xvc2luZygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC9jbG9zZS9jYXNoL2J5L3VzZXInO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0Q2FzaENsb3NpbmdEYXkoY29kZTpudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArJ3Bvc3QvcGF5bWVudC9iaWxsL2Nsb3NlL2Nhc2gvYnkvZGF5L2NvZGV1c2VyLycgKyBjb2RlO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG4gIGdldENhc2hDbG9zaW5nTW9udGgoY29kZTpudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCsgJ3Bvc3QvcGF5bWVudC9iaWxsL2Nsb3NlL2Nhc2gvYnkvbW9udGgvY29kZXVzZXIvJyArIGNvZGU7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cbiAgZ2V0Q2FzaENsb3NpbmdZZWFyKGNvZGU6bnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L2JpbGwvY2xvc2UvY2FzaC9ieS95ZWFyL2NvZGV1c2VyLycgKyBjb2RlO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG4gIGdldEluZm9DYXNoQ2xvc2luZ0J5Q29kZShwYXJhbTpJbmZvQ2FzaENsb3NpbmdScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9iaWxsL2Nsb3NlL2Nhc2gvYnkvY29kZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENhc2hDbG9zaW5nRGF0ZShwYXJhbTpJY2FzaENsb3NpbmdEYXRlUnEpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9iaWxsL2Nsb3NlL2Nhc2gvYnkvZGF0ZS9yYW5nZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBleHBvcnRPYnRhaW5TdHVkZW50UGF5bWVudFRyYW5zYWN0aW9uSGlzdG9yeUJ5Q291cnNlKHBhcmFtOiBJT2J0YWluUGF5bWVudFRyYW5IaXN0b3J5UnEpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2V4cG9ydC9leGNlbC9kYXRhL3BheW1lbnQvdHJhbnNhY3Rpb24vaGlzdG9yeS9ieS9jb3Vyc2UnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgZ2V0VG90YWxDYXNoSW5jb21lRWdyZXNzKHBhcmFtOiBJbmNvbWVzQW5kRWdyZXNzUnEpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdG90YWwvY2FzaC9yZWNlaXB0cy9pbmNvbWVzL2VncmVzcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9iYXRpbkJhbGFjZXNCeUNvb2RpbmF0b3IocGFyYW1zOiBJQWNjb3VudHNCYWxhbmNlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vYWNjb3VudHMvYW5kL2JhbGFuY2VzL2J5L2Nvb2RpbmF0b3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2JhdGluRGV0YWlsZWRJbmNvbWVCeVVzZXJBbmREYXRlKHBhcmFtczogSU9iYXRpbkRldGFpbGVkSW5jb21lQnlVc2VyQW5kRGF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2RldGFpbGVkL2luY29tZS9yZXBvcnQvYnkvYWR2aXNvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBleHBvcnRJbmNvbWVFeHBlbnNlSGlzdG9yeURhdGEocGFyYW1zOiBJT2JhdGluRGV0YWlsZWRJbmNvbWVCeVVzZXJBbmREYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdleHBvcnQvaW5jb21lL2V4cGVuc2UvaGlzdG9yeS9kYXRhJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkFsbFBheW1lbnRCaWxsQ2FuY2VsZWRCeVN0dWRlbnQoY29kZVN0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9hbGwvcGF5bWVudC9iaWxsL2NhbmNlbGxlZC9ieS9zdHVkZW50LycgKyBjb2RlU3R1ZGVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldFBheW1lbnRJbmZvQnlSZWZlcmVuY2UocGFyYW1zOiBJUGF5bWVudFJlZmVyZW5jZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L2JpbGwvYnkvcmVmZXJlbmNlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblBheW1lbnRzQnlDb2QocGFyYW06SUNvZFBheW1lbnRScSk6T2JzZXJ2YWJsZTxhbnk+e1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL3BheW1lbnRzL2J5L2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblBheW1lbnRzTWFkZUJ5RGF0ZXMocGFyYW1zOiBJQ2FuY2VsbGVkUmVjZWlwdEJ5RGF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3BheW1lbnRzL21hZGUvYnkvZGF0ZXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgc2VuZEVtYWlsUGF5bWVudChwYXJhbXM6IFNlbmRFbWFpbFBheW1lbnQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3NlbmQvZW1haWwvcGF5bWVudCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBzZW5kRW1haWxQYXltZW50Q2FuY2VsbGF0aW9uKHBhcmFtczogU2VuZEVtYWlsUGF5bWVudENhbmNlbGxhdGlvblJTKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9zZW5kL2VtYWlsL3BheW1lbnQvY2FuY2VsbGF0aW9uJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbn1cblxuICBnZXRBbGxUcmFuc2ZlcnMocGFyYW1zOiBJVHJhbnNmZXJHZXRBbGxScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90cmFuc2ZlcnMvYWxsJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG5cbiAgZ2V0VHJhbnNmZXJCeUNvZGUocGFyYW1zOiBJVHJhbnNmZXJHZXRScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90cmFuc2ZlcnMvc3BlY2lmaWMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgLy8gY3JlYXRlVHJhbnNmZXIocGFyYW1zOiBJVHJhbnNmZXJDcmVhdGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gIC8vICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90cmFuc2ZlcnMvY3JlYXRlJztcbiAgLy8gICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAvLyAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgLy8gfVxuXG4gIGNyZWF0ZVRyYW5zZmVyKHBhcmFtczogSVRyYW5zZmVyQ3JlYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdHJhbnNmZXJzL2NyZWF0ZSc7XG5cbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgncGFyYW1zW3Rva2VuXScsIHBhcmFtcy50b2tlbik7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdwYXJhbXNbdHJhbnNmZXJfYW1vdW50XScsIHBhcmFtcy50cmFuc2Zlcl9hbW91bnQudG9TdHJpbmcoKSk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdwYXJhbXNbYmFua19jb2RlXScsIHBhcmFtcy5iYW5rX2NvZGUudG9TdHJpbmcoKSk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdwYXJhbXNbdHJhbnNmZXJfZGF0ZV0nLCBwYXJhbXMudHJhbnNmZXJfZGF0ZSk7IC8vIGFob3JhIHN0cmluZ1xuICAgIGZvcm1EYXRhLmFwcGVuZCgncGFyYW1zW3JlZmVyZW5jZV9udW1iZXJdJywgcGFyYW1zLnJlZmVyZW5jZV9udW1iZXIpO1xuXG5cbiAgICBpZiAocGFyYW1zLmltYWdlKSB7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ3BhcmFtc1tpbWFnZV0nLCBwYXJhbXMuaW1hZ2UsIHBhcmFtcy5pbWFnZS5uYW1lKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIGZvcm1EYXRhKTtcbiAgfVxuLypcbiAgc2hvd1RyYW5zZmVySW1hZ2UocGFyYW1zOiBJVHJhbnNmZXJTaG93SW1hZ2VScSk6IE9ic2VydmFibGU8QmxvYj4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdHJhbnNmZXIvc2hvdy1pbWFnZSc7XG4gICAgY29uc3QgYm9keSA9IHsgY29kZTogcGFyYW1zLmNvZGUgfTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxCbG9iPihzZXJ2aWNlVXJsLCBib2R5LCB7XG4gICAgICByZXNwb25zZVR5cGU6ICdibG9iJyBhcyAnanNvbicsXG4gICAgfSk7XG4gIH1cblxuICBhc3NpZ25JbWFnZVRvVHJhbnNmZXIocGFyYW1zOiBJVHJhbnNmZXJBc3NpZ25JbWFnZSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90cmFuc2Zlci9hc3NpZ24taW1hZ2UnO1xuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCd0b2tlbicsIHBhcmFtcy50b2tlbik7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdjb2RlJywgcGFyYW1zLmNvZGUudG9TdHJpbmcoKSk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdpbWFnZScsIHBhcmFtcy5pbWFnZSwgcGFyYW1zLmltYWdlLm5hbWUpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIGZvcm1EYXRhKTtcbiAgfSAgICovXG5cbiAgICBhc3NpZ25JbWFnZVRvVHJhbnNmZXIocGFyYW1zOiBJVHJhbnNmZXJBc3NpZ25JbWFnZSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RyYW5zZmVyL2Fzc2lnbi1pbWFnZSc7XG4gICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdwYXJhbXNbdG9rZW5dJywgcGFyYW1zLnRva2VuKTtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgncGFyYW1zW2NvZGVdJywgcGFyYW1zLmNvZGUudG9TdHJpbmcoKSk7XG4gICAgICBpZiAocGFyYW1zLmltYWdlKSB7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnaW1hZ2UnLCBwYXJhbXMuaW1hZ2UsIHBhcmFtcy5pbWFnZS5uYW1lKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCBmb3JtRGF0YSk7XG4gICAgfVxuXG4gICAgc2hvd1RyYW5zZmVySW1hZ2UocGFyYW1zOiBJVHJhbnNmZXJTaG93SW1hZ2VScSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEJsb2I+PiB7XG4gICAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RyYW5zZmVyL3Nob3ctaW1hZ2UnO1xuICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgY29kZTogcGFyYW1zLmNvZGVcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCBib2R5LCB7XG4gICAgICAgIG9ic2VydmU6ICdyZXNwb25zZScsXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InXG4gICAgICB9KTtcbiAgICB9XG5cblxuXG4gIHVwZGF0ZVRyYW5zZmVyKHBhcmFtczogSVRyYW5zZmVyVXBkYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdHJhbnNmZXJzL3VwZGF0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICB1cGRhdGVUcmFuc2ZlclN0YXR1cyhwYXJhbXM6IElUcmFuc2ZlclN0YXR1c1VwZGF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RyYW5zZmVycy91cGRhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZGVsZXRlVHJhbnNmZXIocGFyYW1zOiBJVHJhbnNmZXJEZWxldGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90cmFuc2ZlcnMvZGVsZXRlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHNlYXJjaFRyYW5zZmVyKHBhcmFtczogSVRyYW5zZmVyU2VhcmNoUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdHJhbnNmZXIvc2VhcmNoJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGV4cG9ydFBheW1lbnRDb3JyZWxhdGl2ZWVIaXN0b3J5RGF0YShwYXJhbTpJUGF5bWVudENvcnJlbGF0aXZlUnEpOk9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZXhwb3J0L3BheW1lbnRzL2NvcnJlbGF0aXZlL2hpc3RvcnkvZGF0YSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblBheW1lbnRzTWFkZUJ5RmlsdGVyKHBhcmFtOiBJUGF5bWVudENvcnJlbGF0aXZlUnEpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9wYXltZW50L2NvcnJlbGF0aXZlcy9ieS9maWx0ZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5HYXRld2F5UGF5bWVudFJlY29yZChwYXJhbTogSU9idGFpbkdhdGV3YXlQYXltZW50UmVjb3JkUnEpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9nYXRld2F5L3BheW1lbnQvcmVjb3JkJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZXBheWNvUGF5bWVudFVwZGF0ZShwYXJhbTogSVVwZGF0ZUVwYXljb1BheW1lbnRScSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZXBheWNvL3BheW1lbnQvdXBkYXRlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZXhwb3J0RWxlY3Ryb25pY0ludm9pY2VIaXN0b3J5RGF0YShwYXJhbTpJRWxlY3Ryb25pY0ludm9pY2VSUyk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZXhwb3J0L2VsZWN0cm9uaWMvaW52b2ljZS9oaXN0b3J5L2RhdGEnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBleHBvcnRBY2NvdW50c0FuZEJhbGFuY2VzQnlDb29kaW5hdG9yKHBhcmFtOklBY2NvdW50c0JhbGFuY2VScSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZXhwb3J0L2FjY291bnRzL2FuZC9iYWxhbmNlcy9ieS9jb29kaW5hdG9yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgY3JlYXRlQ29kUGF5bWVudHMocGFyYW1zOiBJQ3JlYXRlQ29kUGF5bWVudHNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY3JlYXRlL2NvZC9wYXltZW50cyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBkZWxldGVDb2RQYXltZW50cyhwYXJhbXM6IElEZWxldGVDb2RQYXltZW50c1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9kZWxldGUvY29kL3BheW1lbnRzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG5cbiAgZ2V0RnVsbFBheW1lbnRJbmZvcm1hdGlvbihwYXJhbXM6IElHZXRGdWxsUGF5bWVudEluZm9ybWF0aW9uUnEpOiBPYnNlcnZhYmxlPElHZXRGdWxsUGF5bWVudEluZm9ybWF0aW9uUnM+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC9mdWxsLWluZm9ybWF0aW9uJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxJR2V0RnVsbFBheW1lbnRJbmZvcm1hdGlvblJzPihzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHVwZGF0ZVRyYW5zZmVyU3RhdHVzQnlDb2RlKHBhcmFtczogSVRyYW5zZmVyU3RhdHVzVXBkYXRlUmVxdWVzdFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RyYW5zZmVyL3VwZGF0ZS1zdGF0dXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgdXBkYXRlRWxlY3Ryb25pY0ludm9pY2UocGFyYW1zOiBJVXBkYXRlRWxlY3Ryb25pY0ludm9pY2VScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L2JpbGwvdXBkYXRlLWVsZWN0cm9uaWMtaW52b2ljZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBzZWFyY2hQYXltZW50QmlsbChwYXJhbXM6IElTZWFyY2hQYXltZW50QmlsbFJxKTogT2JzZXJ2YWJsZTxJU2VhcmNoUGF5bWVudEJpbGxScz4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9iaWxsL3NlYXJjaC1pbmZvcm1hdGlvbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SVNlYXJjaFBheW1lbnRCaWxsUnM+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0VmFsaWRhdGlvbk9mVHJhbnNmZXJzQnlOdW1iZXIocGFyYW1zOiBJVmFsaWRhdGlvbk9mVHJhbnNmZXJzQnlOdW1iZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3ZhbGlkYXRpb24vb2YvdHJhbnNmZXJzL2J5L251bWJlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SVNlYXJjaFBheW1lbnRCaWxsUnM+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0U3VtbWFyeUJ5Q29vcmRpbmF0b3IocGFyYW1zOiBJR2V0U3VtbWFyeUJ5Q29vcmRpbmF0b3JScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3N1bW1hcnkvYnkvY29vcmRpbmF0b3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cblxuICBjcmVhdGVUcmFuc2ZlclZhbGlkYXRlKHBhcmFtczogSUNyZWF0ZVRyYW5zZmVyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2NyZWF0ZS90cmFuc2Zlci92YWxpZGF0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBzZWFyY2hUcmFuc2ZlckJ5UmVmZXJlbmNlKHBhcmFtczogSVNlYXJjaFRyYW5zZmVyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3NlYXJjaC90cmFuc2Zlci9ieS9yZWZlcmVuY2UnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgdXBkYXRlVHJhbnNmZXJEYXRhKHBhcmFtczogSVVwZGF0ZVRyYW5zZmVyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3VwZGF0ZS90cmFuc2Zlci9kYXRhJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkxpc3RTdHVkZW50UGF5bWVudFN0YXR1cyhwYXJhbXM6IElPYnRhaW5Db3Vyc2VCeUNvb2REaWZmUGFyYW1ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2xpc3Qvc3R1ZGVudC9wYXltZW50L3N0YXR1cyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBleHBvcnRMaXN0U3R1ZGVudFBheW1lbnRTdGF0dXMocGFyYW1zOiBJT2J0YWluQ291cnNlQnlDb29kRGlmZlBhcmFtUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2V4cG9ydC9zdHVkZW50L3BheW1lbnQvc3RhdHVzL2xpc3QvYnkvY29vcmRpbmF0b3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluUGF5bWVudFBsYW5CeUNvZGVDb2QgKGNvZGVDb2Q6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3BheW1lbnQvcGxhbi9ieS9jb2RlL2NvZC8nICsgY29kZUNvZDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIHJlY2VpdmVQYXltZW50c01hZGVUb0NvZCAoY29kZUNvZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdyZWNlaXZlL3BheW1lbnRzL21hZGUvdG8vY29kLycgKyBjb2RlQ29kO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgbmV3UmVnaXN0ZVBheW1lbnRCaWxsUHJlYXNzaWduZWRDb2QocGFyYW1zOiBQYXltZW50QmlsbFJxMik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ25ldy9yZWdpc3RlL3BheW1lbnQvYmlsbC9wcmVhc3NpZ25lZC9jb2QnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgYWRkTmV3UXVvdGFXaXRoQ29tbWVudHMocGFyYW1zOiBJQWRkTmV3UXVvdGFXaXRoQ29tbWVudHNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2FkZC9uZXcvcXVvdGEvd2l0aC9jb21tZW50cyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBkZWxldGVRdW90YVJlY29yZFdpdGhDb21tZW50cyhwYXJhbXM6IElEZWxldGVRdW90YVJlY29yZFdpdGhDb21tZW50c1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZGVsZXRlL3F1b3RhL3JlY29yZC93aXRoL2NvbW1lbnRzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHNhdmVNb2RpZmllZFBheW1lbnRQbGFuKHBhcmFtczogSVNhdmVNb2RpZmllZFBheW1lbnRQbGFuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdzYXZlL21vZGlmaWVkL3BheW1lbnQvcGxhbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwcmV2aWV3TW9kaWZ5UGF5bWVudFBsYW4ocGFyYW1zOiBJUHJldmlld01vZGlmeVBheW1lbnRQbGFuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwcmV2aWV3L21vZGlmeS9wYXltZW50L3BsYW4nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgbW9kaWZ5UXVvdGFEYXRhV2l0aENvbW1lbnRzKHBhcmFtczogSU1vZGlmeVF1b3RhRGF0YVdpdGhDb21tZW50c1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnbW9kaWZ5L3F1b3RhL2RhdGEvd2l0aC9jb21tZW50cyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBlZGl0SW5zdGFsbG1lbnRBbW91bnRXaXRoQ29tbWVudHMocGFyYW1zOiBJRWRpdEluc3RhbGxtZW50QW1vdW5XaXRoQ29tbWVudHNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2VkaXQvaW5zdGFsbG1lbnQvYW1vdW50L3dpdGgvY29tbWVudHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgc3R1ZGVudFBheW1lbnRQbGFuQnlDb2QgKGNvZGVDb2Q6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnc3R1ZGVudC9wYXltZW50L3BsYW4vYnkvY29kLycgKyBjb2RlQ29kO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0UGF5bWVudHNCeU1hZGVFeHBvcnQocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdleHBvcnQvZmlsZS9leGNlbC9wYXltZW50cy9tYWRlL2J5L2RhdGVzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHNlYXJjaEZvclN0dWRlbnRzQnlEaWZmZXJlbnRQYXJhbWV0ZXJzKHBhcmFtOiBJT2J0YWluU3R1ZGVudFBheW1lbnRCeURpZmZQYXJhbVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnc2VhcmNoL2Zvci9zdHVkZW50cy9ieS9kaWZmZXJlbnQvcGFyYW1ldGVycyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvdXJzZVBheW1lbnRSYW5nZVJlcG9ydChwYXJhbTogSUNvdXJzZVBheW1lbnRSYW5nZVJlcG9ydFJxKTogT2JzZXJ2YWJsZTxJQ291cnNlUGF5bWVudFJhbmdlUmVwb3J0UnM+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY291cnNlL3BheW1lbnQvcmFuZ2UvcmVwb3J0JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnRScz4oc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5QZW5kaW5nR2F0ZXdheVBheW1lbnRzRm9yUHJvY2Vzc2luZyhjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3BlbmRpbmcvZ2F0ZXdheS9wYXltZW50cy9mb3IvcHJvY2Vzc2luZy8nICsgY29kZVN0dWRlbnQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBuZXdUcmFuc2FjdGlvbk9uV29tcGlQYXltZW50R2F0ZXdheShwYXJhbTogSVdvbXBpUGF5bWVudFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnbmV3L3RyYW5zYWN0aW9uL29uL3dvbXBpL3BheW1lbnQvZ2F0ZXdheSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGhhbmRsZShwYXJhbTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnd29tcGkvd2ViaG9vayc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFRyYW5zYWN0aW9uc0J5VXNlckNvZGUocGFyYW06IElHZXRUcmFuc2FjdGlvbnNCeVVzZXJDb2RlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvdHJhbnNhY3Rpb25zL2J5L3VzZXIvY29kZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHJldmVydFBlbmRpbmdQYXltZW50c0J5VXNlckNvZGUocGFyYW06IElHZXRUcmFuc2FjdGlvbnNCeVVzZXJDb2RlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdyZXZlcnQvcGVuZGluZy9wYXltZW50cy9ieS91c2VyL2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICB1cGRhdGVUcmFuc2FjdGlvblN0YXR1cyhwYXJhbTogSVVwZGF0ZVRyYW5zYWN0aW9uU3RhdHVzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICd1cGRhdGUvdHJhbnNhY3Rpb24vc3RhdHVzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0V29tcGlUcmFuc2FjdGlvbkJ5SWQocGFyYW06IElXb21waVRyYW5zYWN0aW9uUGF5bG9hZFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3dvbXBpL3RyYW5zYWN0aW9uL2J5L2lkJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbn1cblxuIl19
|
|
641
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVkZ2V0LXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9idWRnZXQtc2VydmljZS9idWRnZXQtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFRM0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBaUI7SUFJbEQsWUFBb0IsSUFBZ0I7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLGdCQUFXLEdBQUcsYUFBYSxDQUFDO1FBSWxDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDdkQsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFzQjtRQUNuQyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDJCQUEyQixDQUFDO1FBQ2hFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELGNBQWMsQ0FBQyxNQUFrQjtRQUMvQixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDZCQUE2QixDQUFDO1FBQ2xFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELGNBQWMsQ0FBQyxN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Ryw2QkFBNkIsQ0FBQztRQUNsRSxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCx5Q0FBeUMsQ0FBQyxLQUFtQztRQUMzRSxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLGdEQUFnRCxDQUFDO1FBQ3JGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7MEdBcHVCVSxhQUFhOzhHQUFiLGFBQWEsY0FGWixNQUFNOzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGdldGRpc2NvdW50QWxsUnEsIERpc2NvdW50UnEsIERpc2NvdW50VXBkYXRlUnEsIElPYnRhaW5BbGxDb3Vyc2V3YWxsZXQsIElBc3NpZ25SZXF1ZXN0UnEsIElPYnRhaW5BdmFpbGFibGVDb3Vyc2VScywgSUdldENvZEJ5UGF5bWVudFBsYW5ScSwgSVVwZGF0ZUFtb3VudENvZFBheW1lbnRzUnEsIElQYXJhbXNVcGRhdGVEYXRlQ29kUGF5bWVudHNScSwgSUNhbmNlbFN0dWRlbnRSZWNlaXB0UnEsIElDYW5jZWxsZWRSZWNlaXB0QnlEYXRlUnEsIElQYXltZW50c1JlY2VpdmVkQnlVc2VyUnEsIElPYnRhaW5Db3Vyc2VCeUNvb2REaWZmUGFyYW1ScSwgTmFtZUNvbW1vbkV4cGVuc2VzLCBJT2J0YWluUGF5bWVudFRyYW5IaXN0b3J5UnEsIElPYnRhaW5TdHVkZW50UGF5bWVudEJ5RGlmZlBhcmFtUnEsIEluZm9DYXNoQ2xvc2luZ1JxLCBJY2FzaENsb3NpbmdEYXRlUnEsIEljYXNoQ2xvc2luZ1JxLCBJcGF5bWVudEJpbGxFZ3Jlc3NScSwgSW5jb21lc0FuZEVncmVzc1JxLCBJT2JhdGluRGV0YWlsZWRJbmNvbWVCeVVzZXJBbmREYXRlUnEsIElPYmF0aW5CYWxhY2VzQnlDb29kaW5hdG9yUnEsIFNlbmRFbWFpbFBheW1lbnQsU2VuZEVtYWlsUGF5bWVudENhbmNlbGxhdGlvblJTLCBJUGF5bWVudENvcnJlbGF0aXZlUnEsIElPYnRhaW5HYXRld2F5UGF5bWVudFJlY29yZFJxLCBJVXBkYXRlRXBheWNvUGF5bWVudFJxLCBJRWxlY3Ryb25pY0ludm9pY2VSUywgSUFjY291bnRzQmFsYW5jZVJxLCBJR2V0RnVsbFBheW1lbnRJbmZvcm1hdGlvblJxLCBJR2V0RnVsbFBheW1lbnRJbmZvcm1hdGlvblJzLCBJU2VhcmNoUGF5bWVudEJpbGxScSwgSVNlYXJjaFBheW1lbnRCaWxsUnMsIElHZXRTdW1tYXJ5QnlDb29yZGluYXRvclJxLCBJQWRkTmV3UXVvdGFXaXRoQ29tbWVudHNScSwgSURlbGV0ZVF1b3RhUmVjb3JkV2l0aENvbW1lbnRzUnEsIElNb2RpZnlRdW90YURhdGFXaXRoQ29tbWVudHNScSwgSUVkaXRJbnN0YWxsbWVudEFtb3VuV2l0aENvbW1lbnRzUnEsIElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnRScSwgSUNvdXJzZVBheW1lbnRSYW5nZVJlcG9ydFJzLCBJUHJldmlld01vZGlmeVBheW1lbnRQbGFuUnEsIElTYXZlTW9kaWZpZWRQYXltZW50UGxhblJxICB9IGZyb20gJy4uLy4uL21vZGVscy9idWRnZXQvYnVkZ2V0Lm1vZGVsJztcbmltcG9ydCB7IElGdWxsQ29kU3R1ZGVudE92ZXJkdWVCeUNvb3JkaW5hdG9yUnEsIElQYXltZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JDb3Vyc2VScSwgSVBheW1lbnRPdmVyZHVlQnlDb29yZGluYXRvclJxLCBJUGF5bWVudFJlZmVyZW5jZVJxLCBJVHJhbnNmZXIsIElUcmFuc2ZlckFzc2lnbkltYWdlLCBJVHJhbnNmZXJDcmVhdGVScSwgSVRyYW5zZmVyRGVsZXRlUnEsIElUcmFuc2ZlckdldEFsbFJxLCBJVHJhbnNmZXJHZXRScSwgSVRyYW5zZmVyU2VhcmNoUnEsIElUcmFuc2ZlclNob3dJbWFnZVJxLCBJVHJhbnNmZXJTdGF0dXNVcGRhdGVScSwgSVRyYW5zZmVyVXBkYXRlUnEsIFBheW1lbnRCaWxsUnEsIFBheW1lbnRCaWxsUnEyLCBQcmljZUJ5VHlwZVNlcnZpY2VScSxJRGVsZXRlQ29kUGF5bWVudHNScSxJQ3JlYXRlQ29kUGF5bWVudHNScSwgSVRyYW5zZmVyU3RhdHVzVXBkYXRlUmVxdWVzdFJxLCBJVXBkYXRlRWxlY3Ryb25pY0ludm9pY2VScSwgSVZhbGlkYXRpb25PZlRyYW5zZmVyc0J5TnVtYmVyUnEsIElHZXREaXNjb3VudENvdXBvbkluZm9ybWF0aW9uUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvcGF5bWVudC9wYXltZW50LXJxLm1vZGVsJztcbmltcG9ydCB7IElnZXRDb3Vyc2VzRmluaXNoQW5kdW5hc3NpZ25lZFJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3JlcG9ydHMvcmVwb3J0cy5tb2RlbCc7XG5pbXBvcnQgeyBJUFRHZW5lcmFsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UtZW52aXJvbWVudHMnO1xuaW1wb3J0IHsgSUNvZFBheW1lbnRScSB9IGZyb20gJy4uLy4uL21vZGVscy9jb2QvY29kLXJxLm1vZGVsJztcbmltcG9ydCB7IElDcmVhdGVUcmFuc2ZlclJxLCBJU2VhcmNoVHJhbnNmZXJScSwgSVVwZGF0ZVRyYW5zZmVyUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNmZXIvdHJhbnNmZXIubW9kZWwnO1xuaW1wb3J0IHsgSUdldFRyYW5zYWN0aW9uc0J5VXNlckNvZGVScSwgSVVwZGF0ZVRyYW5zYWN0aW9uU3RhdHVzUnEsIElXb21waVBheW1lbnRScSwgSVdvbXBpVHJhbnNhY3Rpb25QYXlsb2FkUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvUGF5bWVudEdhdGV3YXkvUGF5bWVudEdhdGV3YXkubW9kZWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQnVkZ2V0U2VydmljZSBleHRlbmRzIElQVEdlbmVyYWxTZXJ2aWNle1xuXG4gIHByaXZhdGUgU0VSVklDRV9VUkwgPSAnYnVkZ2V0L2FwaS8nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5TRVJWSUNFX1VSTCA9IHRoaXMuYmFzZVVybCgpICsgdGhpcy5TRVJWSUNFX1VSTDtcbiAgfVxuXG4gIGdldEFsbERpc2NvdW50KHVzZXI6IGdldGRpc2NvdW50QWxsUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2Rpc2NvdW50cy9jb3Vwb24vYWxsJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh1c2VyKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCx0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBjcmVhdGVEaXNjb3VudChwYXJhbXM6IERpc2NvdW50UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2Rpc2NvdW50L2NvdXBvbi9jcmVhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIHVwZGF0ZURpc2NvdW50KHBhcmFtczogRGlzY291bnRVcGRhdGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvZGlzY291bnQvY291cG9uL3VwZGF0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXREaXNjb3VudENvdXBvbkluZm9ybWF0aW9uKHBhcmFtczogSUdldERpc2NvdW50Q291cG9uSW5mb3JtYXRpb25ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9kaXNjb3VudC9jb3Vwb24vaW5mb3JtYXRpb24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0UGF5bWVudFN0dWRlbnRzQnlDb2RlKGNvZGVTdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcGF5bWVudC9jb2Qvc3R1ZGVudC9ieS9jb2RlLycgKyBjb2RlU3R1ZGVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldFBheW1lbnRXYWxsZXRCeUNhbXB1cyhjb2RlQ2FtcHVzOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcGF5bWVudC93YWxsZXQvYnkvY2FtcHVzLycgKyBjb2RlQ2FtcHVzO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgcGF5bWVudEJpbGxEdWVzKHBhcmFtczogUGF5bWVudEJpbGxScTIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC9yZWdpc3Rlci9kdWVzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHBheW1lbnRCaWxsU2VydmljZXMocGFyYW1zOiBQYXltZW50QmlsbFJxMik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9iaWxsL3JlZ2lzdGVyL3NlcnZpY2VzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFBheW1lbnRCaWxsQWxsKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9wYXltZW50L2JpbGwvY2FuY2VsZWQvYWxsJztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldFBheW1lbnRCaWxsQnlDb2RlKGNvZGVQYXltZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICAnZ2V0L3BheW1lbnQvYmlsbC9jYW5jZWxlZC9ieS9jb2RlLycgKyBjb2RlUGF5bWVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldFBheW1lbnRCaWxsQnlTdHVkZW50KGNvZGVTdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICAnZ2V0L3BheW1lbnQvYmlsbC9jYW5jZWxlZC9ieS9zdHVkZW50LycgKyBjb2RlU3R1ZGVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldFBheW1lbnRCaWxsQnlSZWZlcmVuY2UocmVmZXJlbmNlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcGF5bWVudC9iaWxsL2NhbmNlbGVkL2J5L3JlZmVyZW5jZS8nICsgcmVmZXJlbmNlO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cblxuICBnZXRQcmljZUJ5VHlwZVNlcnZpY2UocGFyYW1zOiBQcmljZUJ5VHlwZVNlcnZpY2VScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL3ByaWNlL2J5L3R5cGUvc2VydmljZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db3Vyc2VzQnlDb29yZGluYXRvcihwYXJhbXM6IElPYnRhaW5BbGxDb3Vyc2V3YWxsZXQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvdXJzZS93YWxsZXQvdXNlci9ieS9jb29yZGluYXRvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRXYWxsZXRCeUNvZGVVc2VyIChjb2RlVXNlcjogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3dhbGxldC9ieS9jb2RlL3VzZXIvJyArIGNvZGVVc2VyO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldHBheW1lbnRCaWxsQnlXYWxsZXRDb2RlIChjb2RlV2FsbGV0OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvb2J0YWluL3BheW1lbnQvYmlsbC9ieS93YWxsZXRzL2J5LycgKyBjb2RlV2FsbGV0O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldHBheW1lbnRCaWxsSW5jb21lIChjb2RlV2FsbGV0OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcGF5bWVudC9iaWxsL3dhbGxldHMvY29kZS9maWx0ZXIvaW5jb21lLycgKyBjb2RlV2FsbGV0O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldHBheW1lbnRCaWxsRWdyZXNzIChjb2RlV2FsbGV0OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcGF5bWVudC9iaWxsL3dhbGxldHMvY29kZS9maWx0ZXIvZWdyZXNzLycgKyBjb2RlV2FsbGV0O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0UGF5bWVudE92ZXJkdWVTdHVkZW50KCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgICdnZXQvcGF5bWVudC9vdmVyZHVlL2FsbC9zdHVkZW50JztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldERheVBheW1lbnRPdmVyZHVlU3R1ZGVudChjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2RheS9wYXltZW50L292ZXJkdWUvc3R1ZGVudC9ieS9jb2RlLycgKyBjb2RlU3R1ZGVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldFBheW1lbnRPdmVyZHVlQ291cnNlQnlDb29yZGluYXRvcihwYXJhbXM6IElQYXltZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9vdmVyZHVlL2NvdXJzZS9ieS9jb29yZGluYXRvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRQYXltZW50T3ZlcmR1ZVN0dWRlbnRCeUNvb3JkaW5hdG9yKHBhcmFtczogSVBheW1lbnRPdmVyZHVlQnlDb29yZGluYXRvclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L292ZXJkdWUvc3R1ZGVudC9ieS9jb29kaW5hdG9yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFBheW1lbnRPdmVyZHVlU3R1ZGVudEJ5Q29vcmRpbmF0b3JBbmRDb3Vyc2VDb2RlKHBhcmFtczogSVBheW1lbnRPdmVyZHVlQnlDb29yZGluYXRvckNvdXJzZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L292ZXJkdWUvc3R1ZGVudC9ieS9jb29kaW5hdG9yY291cnNlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldE9idGFpbkNvZFN0dWRlbnRCeUNvb3JkaW5hdG9yKHBhcmFtczogSUZ1bGxDb2RTdHVkZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9zdHVuZGVudC9ieS9jb29yZGluYXRvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb3Vyc2VzRmluaXNoQW5kdW5hc3NpZ25lZChwYXJhbXM6IElnZXRDb3Vyc2VzRmluaXNoQW5kdW5hc3NpZ25lZFJxKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvY291cnNlL2J5L3VzZXIvYnVkZ2V0JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIC8vIEFzc2luZ0NvdXJzZShwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gIC8vICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY291cnNlL2J5L2NvZGUvdXNlci9idWRnZXQvYXNzaWduJztcbiAgLy8gICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAvLyAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgLy8gfVxuICBBc3NpbmdDb3Vyc2UocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vY291cnNlL2Fzc2lnbi9kZXRhaWwvYnkvYWR2aXNlci9idWRnZXQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgQXNzaW5nQ291cnNlcyhwYXJhbXM6IElBc3NpZ25SZXF1ZXN0UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvdXJzZS9ieS91c2VyL2J1ZGdldC9hc3NpZ24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQWxsQXZhaWxhYmxlQ291cnNlc0J5U3R1ZGVudChwYXJhbXM6IElPYnRhaW5BdmFpbGFibGVDb3Vyc2VScyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2FsbC9hdmFpbGFibGUvY291cnNlcy9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbk9ic2VydmF0aW9uQnlDb2RTdHVkZW50KHBhcmFtczogSUZ1bGxDb2RTdHVkZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL29ic2VydmFyaW9uL2J5L2NvZC9zdHVkZXQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgYWRtaW5TdHVkZW50QnlDb29yZGluYXRvcihwYXJhbXM6IElGdWxsQ29kU3R1ZGVudE92ZXJkdWVCeUNvb3JkaW5hdG9yUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2FkbWluL3N0dWRlbnQvYnkvY29vcmRpbmF0b3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kYnlQYXltZW50UGxhblJxKHBhcmFtczogSUdldENvZEJ5UGF5bWVudFBsYW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9zdHVuZGVudC9wYXltZW50cy9ieS9jb2RlL3VzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgVXBkYXRlQW1vdW50Q29kUGF5bWVudHMocGFyYW1zOiBJVXBkYXRlQW1vdW50Q29kUGF5bWVudHNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY2hhbmdlL2Ftb3VudC9jb2QvcGF5bWVudHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgVXBkYXRlRGF0ZUNvZFBheW1lbnRzKHBhcmFtczogSVBhcmFtc1VwZGF0ZURhdGVDb2RQYXltZW50c1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncHV0L2NoYW5nZS9kYXRlL3BheW1lbnQvY29kL2J5L2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgVXBkYXRlRGF0ZUNvZFBheW1lbnRzRm9yUGF5bWVudFBsYW4ocGFyYW1zOiBJUGFyYW1zVXBkYXRlRGF0ZUNvZFBheW1lbnRzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NoYW5nZS9kYXRlL3BheW1lbnQvY29kJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblBheW1lbnRSZWNlaXB0QnlDb2RlIChjb2RlUmVjZWlwdDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L29idGFpbi9wYXltZW50L3JlY2VpcHQvYnkvY29kZS8nICsgY29kZVJlY2VpcHQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5QYXltZW50c0ZvclN0dWRlbnRDb2RlIChjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L29idGFpbi9wYXltZW50cy9mb3Ivc3R1ZGVudC9jb2RlLycgKyBjb2RlU3R1ZGVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblN0dWRlbnRQYXltZW50c0J5R3JvdXBpbmdDb2QgKGNvZGVTdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvc3R1ZGVudC9wYXltZW50cy9ieS9ncm91cGluZy9jb2QvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluUmVjZWlwdEJ5Q29kZSAoY29kZVJlY2VpcHQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9yZWNlaXB0L2J5L2NvZGUvJyArIGNvZGVSZWNlaXB0O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluUGF5bWVudHNGb3JSZWNlaXB0Q29kZSAoY29kZVN0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9vYnRhaW4vcGF5bWVudHMvZm9yL3JlY2VpcHQvY29kZS8nICsgY29kZVN0dWRlbnQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBjYW5lbFN0dWRlbnRSZWNlaXB0KHBhcmFtczogSUNhbmNlbFN0dWRlbnRSZWNlaXB0UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NhbmNlbC9zdHVkZW50L3JlY2VpcHQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q2FuY2VsbGVkUmVjZWlwdHNCeURhdGUocGFyYW1zOiBJQ2FuY2VsbGVkUmVjZWlwdEJ5RGF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jYW5jZWxsZWQvcmVjZWlwdHMvYnkvZGF0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5QYXltZW50cmVjZWl2ZWRCeVVzZXIocGFyYW1zOiBJUGF5bWVudHNSZWNlaXZlZEJ5VXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vcGF5bWVudHMvcmVjZWl2ZWQvYnkvdXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRUb3RhbENhc2hSZWNlaXB0c0J5RGF0ZUFuZFVzZXIocGFyYW1zOiBJUGF5bWVudHNSZWNlaXZlZEJ5VXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90b3RhbC9jYXNoL3JlY2VpcHRzL2J5L2RhdGUvYW5kL3VzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ291cnNlc0J5Q29vcmRBbmREaWZmUGFyYW0ocGFyYW1zOiBJT2J0YWluQ291cnNlQnlDb29kRGlmZlBhcmFtUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vY291cnNlL3dhbGxldC9ieS9jb29yZGluYXRvci9kaWZmZXRlbnQvcGFyYW0nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsQ29tbW9uRXhwZW5zZXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2NvbW1vbi9leHBlbnNlcy9hbGwnO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG4gIGNyZWF0ZUNvbW1tb25FeHBlbnNlcyhwYXJhbTogTmFtZUNvbW1vbkV4cGVuc2VzKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb21tb24vZXhwZW5zZXMvY3JlYXRlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIG9idGFpbkNvZEFuZFN0YXR1c0FwcHJvdmVkTGV2ZWxCeUdyb3VwKHBhcmFtOiBOYW1lQ29tbW9uRXhwZW5zZXMpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vc3R1ZGVudC9zdGF0dXMvYXBwcm92ZWQvYnkvZ3JvdXAnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5TdHVkZW50UGF5bWVudFRyYW5zYWN0aW9uSGlzdG9yeUJ5Q291cnNlKHBhcmFtOiBJT2J0YWluUGF5bWVudFRyYW5IaXN0b3J5UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vc3R1ZGVudC9wYXltZW50L3RyYW5zYWN0aW9uL2hpc3RvcnkvYnkvY291cnNlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluUGF5bWVudFRyYW5zYWN0aW9uSGlzdG9yeUJ5Q29kKHBhcmFtOiBJT2J0YWluUGF5bWVudFRyYW5IaXN0b3J5UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vcGF5bWVudC90cmFuc2FjdGlvbi9oaXN0b3J5L2J5L2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblN0dWRlbnRQYXltZW50QnlEaWZmZXJlbnRQYXJhbWV0ZXIocGFyYW06IElPYnRhaW5TdHVkZW50UGF5bWVudEJ5RGlmZlBhcmFtUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vc3R1ZGVudC9wYXltZW50L2J5L2RpZmZlcmVudC9wYXJhbWV0ZXJzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgY3JlYXRlRWdyZXNzKHBhcmFtOiBJcGF5bWVudEJpbGxFZ3Jlc3NScSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L2JpbGwvcmVnaXN0ZXIvZWdyZXNzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldENhdGVnb3J5KCk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3R5cGUvc3VwcGxpZXIvYWxsJztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuICBjcmVhdGVDYXNoQ2xvc2luZyhwYXJhbTogSWNhc2hDbG9zaW5nUnEpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9iaWxsL2Nsb3NlL2Nhc2gnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCx0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBzZWFyY2hDb21tb25FeHBlbnNlcyhuYW1lOnN0cmluZyk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKydnZXQvc2VhcmNoL2NvbW1vbi9leHBlbnNlcy8nICsgbmFtZTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuICBnZXRVc2Vyc0Nhc2hDbG9zaW5nKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9iaWxsL2Nsb3NlL2Nhc2gvYnkvdXNlcic7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXRDYXNoQ2xvc2luZ0RheShjb2RlOm51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsncG9zdC9wYXltZW50L2JpbGwvY2xvc2UvY2FzaC9ieS9kYXkvY29kZXVzZXIvJyArIGNvZGU7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cbiAgZ2V0Q2FzaENsb3NpbmdNb250aChjb2RlOm51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMKyAncG9zdC9wYXltZW50L2JpbGwvY2xvc2UvY2FzaC9ieS9tb250aC9jb2RldXNlci8nICsgY29kZTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuICBnZXRDYXNoQ2xvc2luZ1llYXIoY29kZTpudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC9jbG9zZS9jYXNoL2J5L3llYXIvY29kZXVzZXIvJyArIGNvZGU7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cbiAgZ2V0SW5mb0Nhc2hDbG9zaW5nQnlDb2RlKHBhcmFtOkluZm9DYXNoQ2xvc2luZ1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L2JpbGwvY2xvc2UvY2FzaC9ieS9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q2FzaENsb3NpbmdEYXRlKHBhcmFtOkljYXNoQ2xvc2luZ0RhdGVScSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L2JpbGwvY2xvc2UvY2FzaC9ieS9kYXRlL3JhbmdlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGV4cG9ydE9idGFpblN0dWRlbnRQYXltZW50VHJhbnNhY3Rpb25IaXN0b3J5QnlDb3Vyc2UocGFyYW06IElPYnRhaW5QYXltZW50VHJhbkhpc3RvcnlScSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZXhwb3J0L2V4Y2VsL2RhdGEvcGF5bWVudC90cmFuc2FjdGlvbi9oaXN0b3J5L2J5L2NvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBnZXRUb3RhbENhc2hJbmNvbWVFZ3Jlc3MocGFyYW06IEluY29tZXNBbmRFZ3Jlc3NScSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90b3RhbC9jYXNoL3JlY2VpcHRzL2luY29tZXMvZWdyZXNzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2JhdGluQmFsYWNlc0J5Q29vZGluYXRvcihwYXJhbXM6IElBY2NvdW50c0JhbGFuY2VScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9hY2NvdW50cy9hbmQvYmFsYW5jZXMvYnkvY29vZGluYXRvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYmF0aW5EZXRhaWxlZEluY29tZUJ5VXNlckFuZERhdGUocGFyYW1zOiBJT2JhdGluRGV0YWlsZWRJbmNvbWVCeVVzZXJBbmREYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vZGV0YWlsZWQvaW5jb21lL3JlcG9ydC9ieS9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGV4cG9ydEluY29tZUV4cGVuc2VIaXN0b3J5RGF0YShwYXJhbXM6IElPYmF0aW5EZXRhaWxlZEluY29tZUJ5VXNlckFuZERhdGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2V4cG9ydC9pbmNvbWUvZXhwZW5zZS9oaXN0b3J5L2RhdGEnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQWxsUGF5bWVudEJpbGxDYW5jZWxlZEJ5U3R1ZGVudChjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2FsbC9wYXltZW50L2JpbGwvY2FuY2VsbGVkL2J5L3N0dWRlbnQvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0UGF5bWVudEluZm9CeVJlZmVyZW5jZShwYXJhbXM6IElQYXltZW50UmVmZXJlbmNlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC9ieS9yZWZlcmVuY2UnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluUGF5bWVudHNCeUNvZChwYXJhbTpJQ29kUGF5bWVudFJxKTpPYnNlcnZhYmxlPGFueT57XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vcGF5bWVudHMvYnkvY29kJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluUGF5bWVudHNNYWRlQnlEYXRlcyhwYXJhbXM6IElDYW5jZWxsZWRSZWNlaXB0QnlEYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vcGF5bWVudHMvbWFkZS9ieS9kYXRlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBzZW5kRW1haWxQYXltZW50KHBhcmFtczogU2VuZEVtYWlsUGF5bWVudCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvc2VuZC9lbWFpbC9wYXltZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHNlbmRFbWFpbFBheW1lbnRDYW5jZWxsYXRpb24ocGFyYW1zOiBTZW5kRW1haWxQYXltZW50Q2FuY2VsbGF0aW9uUlMpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3NlbmQvZW1haWwvcGF5bWVudC9jYW5jZWxsYXRpb24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG4gIGdldEFsbFRyYW5zZmVycyhwYXJhbXM6IElUcmFuc2ZlckdldEFsbFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RyYW5zZmVycy9hbGwnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cblxuICBnZXRUcmFuc2ZlckJ5Q29kZShwYXJhbXM6IElUcmFuc2ZlckdldFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RyYW5zZmVycy9zcGVjaWZpYyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICAvLyBjcmVhdGVUcmFuc2ZlcihwYXJhbXM6IElUcmFuc2ZlckNyZWF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgLy8gICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RyYW5zZmVycy9jcmVhdGUnO1xuICAvLyAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gIC8vICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICAvLyB9XG5cbiAgY3JlYXRlVHJhbnNmZXIocGFyYW1zOiBJVHJhbnNmZXJDcmVhdGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90cmFuc2ZlcnMvY3JlYXRlJztcblxuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdwYXJhbXNbdG9rZW5dJywgcGFyYW1zLnRva2VuKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3BhcmFtc1t0cmFuc2Zlcl9hbW91bnRdJywgcGFyYW1zLnRyYW5zZmVyX2Ftb3VudC50b1N0cmluZygpKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3BhcmFtc1tiYW5rX2NvZGVdJywgcGFyYW1zLmJhbmtfY29kZS50b1N0cmluZygpKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3BhcmFtc1t0cmFuc2Zlcl9kYXRlXScsIHBhcmFtcy50cmFuc2Zlcl9kYXRlKTsgLy8gYWhvcmEgc3RyaW5nXG4gICAgZm9ybURhdGEuYXBwZW5kKCdwYXJhbXNbcmVmZXJlbmNlX251bWJlcl0nLCBwYXJhbXMucmVmZXJlbmNlX251bWJlcik7XG5cblxuICAgIGlmIChwYXJhbXMuaW1hZ2UpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgncGFyYW1zW2ltYWdlXScsIHBhcmFtcy5pbWFnZSwgcGFyYW1zLmltYWdlLm5hbWUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgZm9ybURhdGEpO1xuICB9XG4vKlxuICBzaG93VHJhbnNmZXJJbWFnZShwYXJhbXM6IElUcmFuc2ZlclNob3dJbWFnZVJxKTogT2JzZXJ2YWJsZTxCbG9iPiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90cmFuc2Zlci9zaG93LWltYWdlJztcbiAgICBjb25zdCBib2R5ID0geyBjb2RlOiBwYXJhbXMuY29kZSB9O1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEJsb2I+KHNlcnZpY2VVcmwsIGJvZHksIHtcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InIGFzICdqc29uJyxcbiAgICB9KTtcbiAgfVxuXG4gIGFzc2lnbkltYWdlVG9UcmFuc2ZlcihwYXJhbXM6IElUcmFuc2ZlckFzc2lnbkltYWdlKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RyYW5zZmVyL2Fzc2lnbi1pbWFnZSc7XG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3Rva2VuJywgcGFyYW1zLnRva2VuKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2NvZGUnLCBwYXJhbXMuY29kZS50b1N0cmluZygpKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ltYWdlJywgcGFyYW1zLmltYWdlLCBwYXJhbXMuaW1hZ2UubmFtZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgZm9ybURhdGEpO1xuICB9ICAgKi9cblxuICAgIGFzc2lnbkltYWdlVG9UcmFuc2ZlcihwYXJhbXM6IElUcmFuc2ZlckFzc2lnbkltYWdlKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdHJhbnNmZXIvYXNzaWduLWltYWdlJztcbiAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ3BhcmFtc1t0b2tlbl0nLCBwYXJhbXMudG9rZW4pO1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdwYXJhbXNbY29kZV0nLCBwYXJhbXMuY29kZS50b1N0cmluZygpKTtcbiAgICAgIGlmIChwYXJhbXMuaW1hZ2UpIHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdpbWFnZScsIHBhcmFtcy5pbWFnZSwgcGFyYW1zLmltYWdlLm5hbWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIGZvcm1EYXRhKTtcbiAgICB9XG5cbiAgICBzaG93VHJhbnNmZXJJbWFnZShwYXJhbXM6IElUcmFuc2ZlclNob3dJbWFnZVJxKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QmxvYj4+IHtcbiAgICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdHJhbnNmZXIvc2hvdy1pbWFnZSc7XG4gICAgICBjb25zdCBib2R5ID0ge1xuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBjb2RlOiBwYXJhbXMuY29kZVxuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIGJvZHksIHtcbiAgICAgICAgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYidcbiAgICAgIH0pO1xuICAgIH1cblxuXG5cbiAgdXBkYXRlVHJhbnNmZXIocGFyYW1zOiBJVHJhbnNmZXJVcGRhdGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90cmFuc2ZlcnMvdXBkYXRlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHVwZGF0ZVRyYW5zZmVyU3RhdHVzKHBhcmFtczogSVRyYW5zZmVyU3RhdHVzVXBkYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdHJhbnNmZXJzL3VwZGF0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBkZWxldGVUcmFuc2ZlcihwYXJhbXM6IElUcmFuc2ZlckRlbGV0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RyYW5zZmVycy9kZWxldGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgc2VhcmNoVHJhbnNmZXIocGFyYW1zOiBJVHJhbnNmZXJTZWFyY2hScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90cmFuc2Zlci9zZWFyY2gnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZXhwb3J0UGF5bWVudENvcnJlbGF0aXZlZUhpc3RvcnlEYXRhKHBhcmFtOklQYXltZW50Q29ycmVsYXRpdmVScSk6T2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdleHBvcnQvcGF5bWVudHMvY29ycmVsYXRpdmUvaGlzdG9yeS9kYXRhJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluUGF5bWVudHNNYWRlQnlGaWx0ZXIocGFyYW06IElQYXltZW50Q29ycmVsYXRpdmVScSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3BheW1lbnQvY29ycmVsYXRpdmVzL2J5L2ZpbHRlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkdhdGV3YXlQYXltZW50UmVjb3JkKHBhcmFtOiBJT2J0YWluR2F0ZXdheVBheW1lbnRSZWNvcmRScSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2dhdGV3YXkvcGF5bWVudC9yZWNvcmQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBlcGF5Y29QYXltZW50VXBkYXRlKHBhcmFtOiBJVXBkYXRlRXBheWNvUGF5bWVudFJxKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdlcGF5Y28vcGF5bWVudC91cGRhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBleHBvcnRFbGVjdHJvbmljSW52b2ljZUhpc3RvcnlEYXRhKHBhcmFtOklFbGVjdHJvbmljSW52b2ljZVJTKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdleHBvcnQvZWxlY3Ryb25pYy9pbnZvaWNlL2hpc3RvcnkvZGF0YSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGV4cG9ydEFjY291bnRzQW5kQmFsYW5jZXNCeUNvb2RpbmF0b3IocGFyYW06SUFjY291bnRzQmFsYW5jZVJxKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdleHBvcnQvYWNjb3VudHMvYW5kL2JhbGFuY2VzL2J5L2Nvb2RpbmF0b3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBjcmVhdGVDb2RQYXltZW50cyhwYXJhbXM6IElDcmVhdGVDb2RQYXltZW50c1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jcmVhdGUvY29kL3BheW1lbnRzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGRlbGV0ZUNvZFBheW1lbnRzKHBhcmFtczogSURlbGV0ZUNvZFBheW1lbnRzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2RlbGV0ZS9jb2QvcGF5bWVudHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cblxuICBnZXRGdWxsUGF5bWVudEluZm9ybWF0aW9uKHBhcmFtczogSUdldEZ1bGxQYXltZW50SW5mb3JtYXRpb25ScSk6IE9ic2VydmFibGU8SUdldEZ1bGxQYXltZW50SW5mb3JtYXRpb25Scz4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9iaWxsL2Z1bGwtaW5mb3JtYXRpb24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PElHZXRGdWxsUGF5bWVudEluZm9ybWF0aW9uUnM+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgdXBkYXRlVHJhbnNmZXJTdGF0dXNCeUNvZGUocGFyYW1zOiBJVHJhbnNmZXJTdGF0dXNVcGRhdGVSZXF1ZXN0UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdHJhbnNmZXIvdXBkYXRlLXN0YXR1cyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICB1cGRhdGVFbGVjdHJvbmljSW52b2ljZShwYXJhbXM6IElVcGRhdGVFbGVjdHJvbmljSW52b2ljZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC91cGRhdGUtZWxlY3Ryb25pYy1pbnZvaWNlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHNlYXJjaFBheW1lbnRCaWxsKHBhcmFtczogSVNlYXJjaFBheW1lbnRCaWxsUnEpOiBPYnNlcnZhYmxlPElTZWFyY2hQYXltZW50QmlsbFJzPiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L2JpbGwvc2VhcmNoLWluZm9ybWF0aW9uJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxJU2VhcmNoUGF5bWVudEJpbGxScz4oc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRWYWxpZGF0aW9uT2ZUcmFuc2ZlcnNCeU51bWJlcihwYXJhbXM6IElWYWxpZGF0aW9uT2ZUcmFuc2ZlcnNCeU51bWJlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvdmFsaWRhdGlvbi9vZi90cmFuc2ZlcnMvYnkvbnVtYmVyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxJU2VhcmNoUGF5bWVudEJpbGxScz4oc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRTdW1tYXJ5QnlDb29yZGluYXRvcihwYXJhbXM6IElHZXRTdW1tYXJ5QnlDb29yZGluYXRvclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvc3VtbWFyeS9ieS9jb29yZGluYXRvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuXG4gIGNyZWF0ZVRyYW5zZmVyVmFsaWRhdGUocGFyYW1zOiBJQ3JlYXRlVHJhbnNmZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnY3JlYXRlL3RyYW5zZmVyL3ZhbGlkYXRlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHNlYXJjaFRyYW5zZmVyQnlSZWZlcmVuY2UocGFyYW1zOiBJU2VhcmNoVHJhbnNmZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnc2VhcmNoL3RyYW5zZmVyL2J5L3JlZmVyZW5jZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICB1cGRhdGVUcmFuc2ZlckRhdGEocGFyYW1zOiBJVXBkYXRlVHJhbnNmZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAndXBkYXRlL3RyYW5zZmVyL2RhdGEnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluTGlzdFN0dWRlbnRQYXltZW50U3RhdHVzKHBhcmFtczogSU9idGFpbkNvdXJzZUJ5Q29vZERpZmZQYXJhbVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vbGlzdC9zdHVkZW50L3BheW1lbnQvc3RhdHVzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGV4cG9ydExpc3RTdHVkZW50UGF5bWVudFN0YXR1cyhwYXJhbXM6IElPYnRhaW5Db3Vyc2VCeUNvb2REaWZmUGFyYW1ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZXhwb3J0L3N0dWRlbnQvcGF5bWVudC9zdGF0dXMvbGlzdC9ieS9jb29yZGluYXRvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5QYXltZW50UGxhbkJ5Q29kZUNvZCAoY29kZUNvZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vcGF5bWVudC9wbGFuL2J5L2NvZGUvY29kLycgKyBjb2RlQ29kO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgcmVjZWl2ZVBheW1lbnRzTWFkZVRvQ29kIChjb2RlQ29kOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3JlY2VpdmUvcGF5bWVudHMvbWFkZS90by9jb2QvJyArIGNvZGVDb2Q7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBuZXdSZWdpc3RlUGF5bWVudEJpbGxQcmVhc3NpZ25lZENvZChwYXJhbXM6IFBheW1lbnRCaWxsUnEyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnbmV3L3JlZ2lzdGUvcGF5bWVudC9iaWxsL3ByZWFzc2lnbmVkL2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBhZGROZXdRdW90YVdpdGhDb21tZW50cyhwYXJhbXM6IElBZGROZXdRdW90YVdpdGhDb21tZW50c1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnYWRkL25ldy9xdW90YS93aXRoL2NvbW1lbnRzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGRlbGV0ZVF1b3RhUmVjb3JkV2l0aENvbW1lbnRzKHBhcmFtczogSURlbGV0ZVF1b3RhUmVjb3JkV2l0aENvbW1lbnRzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdkZWxldGUvcXVvdGEvcmVjb3JkL3dpdGgvY29tbWVudHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgc2F2ZU1vZGlmaWVkUGF5bWVudFBsYW4ocGFyYW1zOiBJU2F2ZU1vZGlmaWVkUGF5bWVudFBsYW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3NhdmUvbW9kaWZpZWQvcGF5bWVudC9wbGFuJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHByZXZpZXdNb2RpZnlQYXltZW50UGxhbihwYXJhbXM6IElQcmV2aWV3TW9kaWZ5UGF5bWVudFBsYW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3ByZXZpZXcvbW9kaWZ5L3BheW1lbnQvcGxhbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBtb2RpZnlRdW90YURhdGFXaXRoQ29tbWVudHMocGFyYW1zOiBJTW9kaWZ5UXVvdGFEYXRhV2l0aENvbW1lbnRzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdtb2RpZnkvcXVvdGEvZGF0YS93aXRoL2NvbW1lbnRzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGVkaXRJbnN0YWxsbWVudEFtb3VudFdpdGhDb21tZW50cyhwYXJhbXM6IElFZGl0SW5zdGFsbG1lbnRBbW91bldpdGhDb21tZW50c1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZWRpdC9pbnN0YWxsbWVudC9hbW91bnQvd2l0aC9jb21tZW50cyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBzdHVkZW50UGF5bWVudFBsYW5CeUNvZCAoY29kZUNvZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdzdHVkZW50L3BheW1lbnQvcGxhbi9ieS9jb2QvJyArIGNvZGVDb2Q7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXRQYXltZW50c0J5TWFkZUV4cG9ydChwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2V4cG9ydC9maWxlL2V4Y2VsL3BheW1lbnRzL21hZGUvYnkvZGF0ZXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgc2VhcmNoRm9yU3R1ZGVudHNCeURpZmZlcmVudFBhcmFtZXRlcnMocGFyYW06IElPYnRhaW5TdHVkZW50UGF5bWVudEJ5RGlmZlBhcmFtUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdzZWFyY2gvZm9yL3N0dWRlbnRzL2J5L2RpZmZlcmVudC9wYXJhbWV0ZXJzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ291cnNlUGF5bWVudFJhbmdlUmVwb3J0KHBhcmFtOiBJQ291cnNlUGF5bWVudFJhbmdlUmVwb3J0UnEpOiBPYnNlcnZhYmxlPElDb3Vyc2VQYXltZW50UmFuZ2VSZXBvcnRScz4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb3Vyc2UvcGF5bWVudC9yYW5nZS9yZXBvcnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SUNvdXJzZVBheW1lbnRSYW5nZVJlcG9ydFJzPihzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblBlbmRpbmdHYXRld2F5UGF5bWVudHNGb3JQcm9jZXNzaW5nKGNvZGVTdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vcGVuZGluZy9nYXRld2F5L3BheW1lbnRzL2Zvci9wcm9jZXNzaW5nLycgKyBjb2RlU3R1ZGVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIG5ld1RyYW5zYWN0aW9uT25Xb21waVBheW1lbnRHYXRld2F5KHBhcmFtOiBJV29tcGlQYXltZW50UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICduZXcvdHJhbnNhY3Rpb24vb24vd29tcGkvcGF5bWVudC9nYXRld2F5JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgaGFuZGxlKHBhcmFtOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICd3b21waS93ZWJob29rJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0VHJhbnNhY3Rpb25zQnlVc2VyQ29kZShwYXJhbTogSUdldFRyYW5zYWN0aW9uc0J5VXNlckNvZGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC90cmFuc2FjdGlvbnMvYnkvdXNlci9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcmV2ZXJ0UGVuZGluZ1BheW1lbnRzQnlVc2VyQ29kZShwYXJhbTogSUdldFRyYW5zYWN0aW9uc0J5VXNlckNvZGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3JldmVydC9wZW5kaW5nL3BheW1lbnRzL2J5L3VzZXIvY29kZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHVwZGF0ZVRyYW5zYWN0aW9uU3RhdHVzKHBhcmFtOiBJVXBkYXRlVHJhbnNhY3Rpb25TdGF0dXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3VwZGF0ZS90cmFuc2FjdGlvbi9zdGF0dXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRXb21waVRyYW5zYWN0aW9uQnlJZChwYXJhbTogSVdvbXBpVHJhbnNhY3Rpb25QYXlsb2FkUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvd29tcGkvdHJhbnNhY3Rpb24vYnkvaWQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICByZXZlcnRQZW5kaW5nVHJhbnNhY3Rpb25zV2l0aG91dFdvbXBpQ29kZShwYXJhbTogSUdldFRyYW5zYWN0aW9uc0J5VXNlckNvZGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3JldmVydC9wZW5kaW5nL3RyYW5zYWN0aW9ucy93aXRob3V0L3dvbXBpL2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxufVxuXG4iXX0=
|